#1281 DefineFont2/3 getting character advance when replacing fix

This commit is contained in:
Jindra Petřík
2016-09-17 17:16:25 +02:00
parent 3bbfb018d2
commit b9abe1a5fa
2 changed files with 6 additions and 6 deletions

View File

@@ -475,13 +475,13 @@ public class DefineFont2Tag extends FontTag {
}
if (fontFlagsHasLayout) {
Font fnt = new Font(fontName, fontStyle, 1024);
Font advanceFont = font.deriveFont(fontStyle, 1024); // Not multiplied with divider as it causes problems to create font with height around 20k
if (!exists) {
fontBoundsTable.add(pos, shp.getBounds());
fontAdvanceTable.add(pos, (int) getDivider() * Math.round(FontHelper.getFontAdvance(fnt, character)));
fontAdvanceTable.add(pos, (int) getDivider() * Math.round(FontHelper.getFontAdvance(advanceFont, character)));
} else {
fontBoundsTable.set(pos, shp.getBounds());
fontAdvanceTable.set(pos, (int) getDivider() * Math.round(FontHelper.getFontAdvance(fnt, character)));
fontAdvanceTable.set(pos, (int) getDivider() * Math.round(FontHelper.getFontAdvance(advanceFont, character)));
}
}

View File

@@ -468,13 +468,13 @@ public class DefineFont3Tag extends FontTag {
}
if (fontFlagsHasLayout) {
Font fnt = new Font(fontName, fontStyle, 1024); // Not multiplied with divider as it causes problems to create font with height around 20k
Font advanceFont = font.deriveFont(fontStyle, 1024); // Not multiplied with divider as it causes problems to create font with height around 20k
if (!exists) {
fontBoundsTable.add(pos, shp.getBounds());
fontAdvanceTable.add(pos, (int) getDivider() * Math.round(FontHelper.getFontAdvance(fnt, character)));
fontAdvanceTable.add(pos, (int) getDivider() * Math.round(FontHelper.getFontAdvance(advanceFont, character)));
} else {
fontBoundsTable.set(pos, shp.getBounds());
fontAdvanceTable.set(pos, (int) getDivider() * Math.round(FontHelper.getFontAdvance(fnt, character)));
fontAdvanceTable.set(pos, (int) getDivider() * Math.round(FontHelper.getFontAdvance(advanceFont, character)));
}
}