Skip to content

Commit 8a77dd3

Browse files
yulian-gaponenkoiText-CI
authored andcommitted
Improve javadocs for new code in Type3Font handling
DEVSIX-5199
1 parent c72ff11 commit 8a77dd3

File tree

4 files changed

+33
-9
lines changed

4 files changed

+33
-9
lines changed

kernel/src/main/java/com/itextpdf/kernel/font/PdfFont.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,18 @@ public boolean appendDecodedCodesToGlyphsList(List<Glyph> list, PdfString charac
210210

211211
public abstract void writeText(String text, PdfOutputStream stream);
212212

213+
/**
214+
* Gets the transformation matrix that defines relation between text and glyph spaces.
215+
*
216+
* @return the font matrix
217+
*
218+
* @deprecated Use {@link FontProgram#UNITS_NORMALIZATION} constant for conversion between text and glyph space.
219+
* For now we opted to always expect that all {@link PdfFont} metrics in glyph-space
220+
* are related to text space as 1 to 1000, as it is defined for the majority of fonts. For fonts
221+
* which don't necessary follow this rule (see {@link PdfType3Font}), we perform internal normalization
222+
* of font metrics in order to adhere to this common expectation.
223+
* This method will be removed in next major release.
224+
*/
213225
@Deprecated
214226
public double[] getFontMatrix() {
215227
return DEFAULT_FONT_MATRIX;

kernel/src/main/java/com/itextpdf/kernel/font/PdfSimpleFont.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -524,6 +524,18 @@ protected void setFontProgram(T fontProgram) {
524524
this.fontProgram = fontProgram;
525525
}
526526

527+
/**
528+
* Gets glyph width which us ready to be written to the output file.
529+
*
530+
* @param glyph the glyph which widths is required to be written to the output file
531+
*
532+
* @return glyph width in glyph-space
533+
*
534+
* @deprecated This method was introduced to allow overriding of widths array entry writing to
535+
* output file. It's now replaced by more specific {@link #buildWidthsArray(int, int)} in order to
536+
* avoid confusion between this method and {@link Glyph#getWidth()}.
537+
* This method will be removed in the next major release.
538+
*/
527539
@Deprecated
528540
protected double getGlyphWidth(Glyph glyph) {
529541
return glyph != null ? glyph.getWidth() : 0;

kernel/src/main/java/com/itextpdf/kernel/font/Type3Font.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ public int getNumberOfGlyphs() {
147147
*/
148148
@Override
149149
protected void setFontName(String fontName) {
150-
// This dummy override allows PdfType3Font to set font name from different module.
150+
// This dummy override allows PdfType3Font to use setter from different module.
151151
super.setFontName(fontName);
152152
}
153153

@@ -158,7 +158,7 @@ protected void setFontName(String fontName) {
158158
*/
159159
@Override
160160
protected void setFontFamily(String fontFamily) {
161-
// This dummy override allows PdfType3Font to set font name from different module.
161+
// This dummy override allows PdfType3Font to use setter from different module.
162162
super.setFontFamily(fontFamily);
163163
}
164164

@@ -169,7 +169,7 @@ protected void setFontFamily(String fontFamily) {
169169
*/
170170
@Override
171171
protected void setFontWeight(int fontWeight) {
172-
// This dummy override allows PdfType3Font to set font name from different module.
172+
// This dummy override allows PdfType3Font to use setter from different module.
173173
super.setFontWeight(fontWeight);
174174
}
175175

@@ -180,7 +180,7 @@ protected void setFontWeight(int fontWeight) {
180180
*/
181181
@Override
182182
protected void setFontStretch(String fontWidth) {
183-
// This dummy override allows PdfType3Font to set font name from different module.
183+
// This dummy override allows PdfType3Font to use setter from different module.
184184
super.setFontStretch(fontWidth);
185185
}
186186

@@ -189,7 +189,7 @@ protected void setFontStretch(String fontWidth) {
189189
*/
190190
@Override
191191
protected void setCapHeight(int capHeight) {
192-
// This dummy override allows PdfType3Font to set the PostScript italicAngle from different module.
192+
// This dummy override allows PdfType3Font to use setter from different module.
193193
super.setCapHeight(capHeight);
194194
}
195195

@@ -198,7 +198,7 @@ protected void setCapHeight(int capHeight) {
198198
*/
199199
@Override
200200
protected void setItalicAngle(int italicAngle) {
201-
// This dummy override allows PdfType3Font to set the PostScript italicAngle from different module.
201+
// This dummy override allows PdfType3Font to use setter from different module.
202202
super.setItalicAngle(italicAngle);
203203
}
204204

@@ -207,7 +207,7 @@ protected void setItalicAngle(int italicAngle) {
207207
*/
208208
@Override
209209
protected void setTypoAscender(int ascender) {
210-
// This dummy override allows PdfType3Font to set typoAscender from different module.
210+
// This dummy override allows PdfType3Font to use setter from different module.
211211
super.setTypoAscender(ascender);
212212
}
213213

@@ -216,7 +216,7 @@ protected void setTypoAscender(int ascender) {
216216
*/
217217
@Override
218218
protected void setTypoDescender(int descender) {
219-
// This dummy override allows PdfType3Font to set typoDescender from different module.
219+
// This dummy override allows PdfType3Font to use setter from different module.
220220
super.setTypoDescender(descender);
221221
}
222222

kernel/src/main/java/com/itextpdf/kernel/pdf/canvas/parser/data/TextRenderInfo.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -501,7 +501,7 @@ private float[] getWidthAndWordSpacing(PdfString string) {
501501
checkGraphicsState();
502502
float[] result = new float[2];
503503

504-
result[0] = (float) ((double)gs.getFont().getContentWidth(string) / FontProgram.UNITS_NORMALIZATION);
504+
result[0] = (float) ((double) gs.getFont().getContentWidth(string) / FontProgram.UNITS_NORMALIZATION);
505505
result[1] = " ".equals(string.getValue()) ? gs.getWordSpacing() : 0;
506506
return result;
507507
}

0 commit comments

Comments
 (0)