Browse Source

MagnumFont[Converter]: support for line height.

pull/34/head
Vladimír Vondruš 13 years ago
parent
commit
8392990794
  1. 2
      src/Plugins/MagnumFont/MagnumFont.cpp
  2. 1
      src/Plugins/MagnumFont/Test/MagnumFontTest.cpp
  3. 1
      src/Plugins/MagnumFont/Test/font.conf
  4. 1
      src/Plugins/MagnumFontConverter/MagnumFontConverter.cpp
  5. 2
      src/Plugins/MagnumFontConverter/Test/MagnumFontConverterTest.cpp

2
src/Plugins/MagnumFont/MagnumFont.cpp

@ -160,7 +160,7 @@ std::pair<Float, Float> MagnumFont::openInternal(Utility::Configuration&& conf,
_opened->glyphId.emplace(c->value<char32_t>("unicode"), glyphId);
}
return {_opened->conf.value<Float>("fontSize"), 0};
return {_opened->conf.value<Float>("fontSize"), _opened->conf.value<Float>("lineHeight")};
}
void MagnumFont::doClose() {

1
src/Plugins/MagnumFont/Test/MagnumFontTest.cpp

@ -51,6 +51,7 @@ void MagnumFontTest::properties() {
MagnumFont font;
CORRADE_VERIFY(font.openFile(Utility::Directory::join(MAGNUMFONT_TEST_DIR, "font.conf"), 0.0f));
CORRADE_COMPARE(font.size(), 16.0f);
CORRADE_COMPARE(font.lineHeight(), 39.7333f);
CORRADE_COMPARE(font.glyphAdvance(font.glyphId(U'W')), Vector2(23.0f, 0.0f));
}

1
src/Plugins/MagnumFont/Test/font.conf

@ -3,6 +3,7 @@ image=font.tga
originalImageSize=1536 1536
padding=24 24
fontSize=16
lineHeight=39.7333
[char]
unicode=57
glyph=2

1
src/Plugins/MagnumFontConverter/MagnumFontConverter.cpp

@ -57,6 +57,7 @@ std::vector<std::pair<std::string, Containers::Array<unsigned char>>> MagnumFont
configuration.setValue("originalImageSize", cache.textureSize());
configuration.setValue("padding", cache.padding());
configuration.setValue("fontSize", font.size());
configuration.setValue("lineHeight", font.lineHeight());
/* Compress glyph IDs so the glyphs are in consecutive array, glyph 0
should stay at position 0 */

2
src/Plugins/MagnumFontConverter/Test/MagnumFontConverterTest.cpp

@ -67,7 +67,7 @@ void MagnumFontConverterTest::exportFont() {
bool doIsOpened() const { return _opened; }
std::pair<Float, Float> doOpenFile(const std::string&, Float) {
_opened = true;
return {16.0f, 0};
return {16.0f, 39.7333f};
}
Features doFeatures() const { return {}; }
std::unique_ptr<AbstractLayouter> doLayout(const GlyphCache&, Float, const std::string&) { return nullptr; }

Loading…
Cancel
Save