@@ -30,15 +30,13 @@ This file is part of the iText (R) project.
30
30
import com .itextpdf .kernel .pdf .PdfWriter ;
31
31
import com .itextpdf .layout .Document ;
32
32
import com .itextpdf .layout .element .Text ;
33
- import com .itextpdf .layout .font .FontProvider ;
34
33
import com .itextpdf .layout .property .LineHeight ;
35
34
import com .itextpdf .layout .property .Property ;
36
35
import com .itextpdf .layout .property .RenderingMode ;
37
36
import com .itextpdf .test .ExtendedITextTest ;
38
37
import com .itextpdf .test .annotations .type .UnitTest ;
39
38
40
39
import java .io .IOException ;
41
-
42
40
import org .junit .Assert ;
43
41
import org .junit .Test ;
44
42
import org .junit .experimental .categories .Category ;
@@ -52,26 +50,26 @@ public class LineHeightHelperUnitTest extends ExtendedITextTest {
52
50
53
51
@ Test
54
52
public void calculateFontAscenderDescenderFromFontMetricsCourierTest () throws IOException {
55
- float [] fontAscenderDescender = LineHeightHelper
56
- . calculateFontAscenderDescenderFromFontMetrics ( PdfFontFactory . createFont ( StandardFonts . COURIER ) );
57
- Assert .assertEquals (629.0f , fontAscenderDescender [0 ], EPS );
58
- Assert .assertEquals (-157.0f , fontAscenderDescender [1 ], EPS );
53
+ PdfFont font = PdfFontFactory . createFont ( StandardFonts . COURIER );
54
+ float [] fontAscenderDescender = TextRenderer . calculateAscenderDescender ( font , RenderingMode . HTML_MODE );
55
+ Assert .assertEquals (629.0f * TextRenderer . TYPO_ASCENDER_SCALE_COEFF , fontAscenderDescender [0 ], EPS );
56
+ Assert .assertEquals (-157.0f * TextRenderer . TYPO_ASCENDER_SCALE_COEFF , fontAscenderDescender [1 ], EPS );
59
57
}
60
58
61
59
@ Test
62
60
public void calculateFontAscenderDescenderFromFontMetricsTimesTest () throws IOException {
63
- float [] fontAscenderDescender = LineHeightHelper
64
- . calculateFontAscenderDescenderFromFontMetrics ( PdfFontFactory . createFont ( StandardFonts . TIMES_ROMAN ) );
65
- Assert .assertEquals (683.0f , fontAscenderDescender [0 ], EPS );
66
- Assert .assertEquals (-217.0f , fontAscenderDescender [1 ], EPS );
61
+ PdfFont font = PdfFontFactory . createFont ( StandardFonts . TIMES_ROMAN );
62
+ float [] fontAscenderDescender = TextRenderer . calculateAscenderDescender ( font , RenderingMode . HTML_MODE );
63
+ Assert .assertEquals (683.0f * TextRenderer . TYPO_ASCENDER_SCALE_COEFF , fontAscenderDescender [0 ], EPS );
64
+ Assert .assertEquals (-217.0f * TextRenderer . TYPO_ASCENDER_SCALE_COEFF , fontAscenderDescender [1 ], EPS );
67
65
}
68
66
69
67
@ Test
70
68
public void calculateFontAscenderDescenderFromFontMetricsHelveticaTest () throws IOException {
71
- float [] fontAscenderDescender = LineHeightHelper
72
- . calculateFontAscenderDescenderFromFontMetrics ( PdfFontFactory . createFont ( StandardFonts . HELVETICA ) );
73
- Assert .assertEquals (718.0f , fontAscenderDescender [0 ], EPS );
74
- Assert .assertEquals (-207.0f , fontAscenderDescender [1 ], EPS );
69
+ PdfFont font = PdfFontFactory . createFont ( StandardFonts . HELVETICA );
70
+ float [] fontAscenderDescender = TextRenderer . calculateAscenderDescender ( font , RenderingMode . HTML_MODE );
71
+ Assert .assertEquals (718.0f * TextRenderer . TYPO_ASCENDER_SCALE_COEFF , fontAscenderDescender [0 ], EPS );
72
+ Assert .assertEquals (-207.0f * TextRenderer . TYPO_ASCENDER_SCALE_COEFF , fontAscenderDescender [1 ], EPS );
75
73
}
76
74
77
75
@ Test
@@ -80,8 +78,8 @@ public void getFontAscenderDescenderNormalizedTextRendererTest() {
80
78
TextRenderer textRenderer = new TextRenderer (new Text ("Hello" ));
81
79
textRenderer .setParent (document .getRenderer ());
82
80
float [] ascenderDescender = LineHeightHelper .getFontAscenderDescenderNormalized (textRenderer );
83
- Assert .assertEquals (8.61600f , ascenderDescender [0 ], EPS );
84
- Assert .assertEquals (-2.483999f , ascenderDescender [1 ], EPS );
81
+ Assert .assertEquals (10.33920f , ascenderDescender [0 ], EPS );
82
+ Assert .assertEquals (-2.9808f , ascenderDescender [1 ], EPS );
85
83
}
86
84
87
85
@ Test
@@ -172,70 +170,70 @@ public void getActualAscenderDescenderTextRenderer() {
172
170
TextRenderer textRenderer = new TextRenderer (new Text ("Hello" ));
173
171
textRenderer .setParent (document .getRenderer ());
174
172
float [] ascenderDescender = LineHeightHelper .getActualAscenderDescender (textRenderer );
175
- Assert .assertEquals (9.96599f , ascenderDescender [0 ], EPS );
176
- Assert .assertEquals (-3.83399f , ascenderDescender [1 ], EPS );
173
+ Assert .assertEquals (10.57919f , ascenderDescender [0 ], EPS );
174
+ Assert .assertEquals (-3.22079f , ascenderDescender [1 ], EPS );
177
175
}
178
176
179
177
@ Test
180
178
public void calculateFontAscenderDescenderFromFontMetricsNotoEmojiFontTest () throws IOException {
181
179
PdfFont font = PdfFontFactory .createFont (FONTS + "NotoEmoji-Regular.ttf" );
182
- float [] ascenderDescenderFromFontMetrics = LineHeightHelper . calculateFontAscenderDescenderFromFontMetrics (font );
180
+ float [] ascenderDescenderFromFontMetrics = TextRenderer . calculateAscenderDescender (font , RenderingMode . HTML_MODE );
183
181
Assert .assertEquals (1068.0f , ascenderDescenderFromFontMetrics [0 ], EPS );
184
182
Assert .assertEquals (-292.0f , ascenderDescenderFromFontMetrics [1 ], EPS );
185
183
}
186
184
187
185
@ Test
188
186
public void calculateFontAscenderDescenderFromFontMetricsNotoSansFontTest () throws IOException {
189
187
PdfFont font = PdfFontFactory .createFont (FONTS + "NotoSans-Regular.ttf" );
190
- float [] ascenderDescenderFromFontMetrics = LineHeightHelper . calculateFontAscenderDescenderFromFontMetrics (font );
188
+ float [] ascenderDescenderFromFontMetrics = TextRenderer . calculateAscenderDescender (font , RenderingMode . HTML_MODE );
191
189
Assert .assertEquals (1068.0f , ascenderDescenderFromFontMetrics [0 ], EPS );
192
190
Assert .assertEquals (-292.0f , ascenderDescenderFromFontMetrics [1 ], EPS );
193
191
}
194
192
195
193
@ Test
196
194
public void calculateFontAscenderDescenderFromFontMetricsNotoColorEmojiFontTest () throws IOException {
197
195
PdfFont font = PdfFontFactory .createFont (FONTS + "NotoColorEmoji.ttf" );
198
- float [] ascenderDescenderFromFontMetrics = LineHeightHelper . calculateFontAscenderDescenderFromFontMetrics (font );
196
+ float [] ascenderDescenderFromFontMetrics = TextRenderer . calculateAscenderDescender (font , RenderingMode . HTML_MODE );
199
197
System .out .println (ascenderDescenderFromFontMetrics [0 ]);
200
198
System .out .println (ascenderDescenderFromFontMetrics [1 ]);
201
199
}
202
200
203
201
@ Test
204
202
public void calculateFontAscenderDescenderFromFontMetricsNotoSansCJKscRegularFontTest () throws IOException {
205
203
PdfFont font = PdfFontFactory .createFont (FONTS + "NotoSansCJKsc-Regular.otf" );
206
- float [] ascenderDescenderFromFontMetrics = LineHeightHelper . calculateFontAscenderDescenderFromFontMetrics (font );
204
+ float [] ascenderDescenderFromFontMetrics = TextRenderer . calculateAscenderDescender (font , RenderingMode . HTML_MODE );
207
205
Assert .assertEquals (1160.0f , ascenderDescenderFromFontMetrics [0 ], EPS );
208
206
Assert .assertEquals (-320.0f , ascenderDescenderFromFontMetrics [1 ], EPS );
209
207
}
210
208
211
209
@ Test
212
210
public void calculateFontAscenderDescenderFromFontMetricsPuritan2FontTest () throws IOException {
213
211
PdfFont font = PdfFontFactory .createFont (FONTS + "Puritan2.otf" );
214
- float [] ascenderDescenderFromFontMetrics = LineHeightHelper . calculateFontAscenderDescenderFromFontMetrics (font );
212
+ float [] ascenderDescenderFromFontMetrics = TextRenderer . calculateAscenderDescender (font , RenderingMode . HTML_MODE );
215
213
Assert .assertEquals (860.0f , ascenderDescenderFromFontMetrics [0 ], EPS );
216
214
Assert .assertEquals (-232.0f , ascenderDescenderFromFontMetrics [1 ], EPS );
217
215
}
218
216
219
217
@ Test
220
218
public void calculateFontAscenderDescenderFromFontMetricsNotoSansCJKjpBoldFontTest () throws IOException {
221
219
PdfFont font = PdfFontFactory .createFont (FONTS + "NotoSansCJKjp-Bold.otf" );
222
- float [] ascenderDescenderFromFontMetrics = LineHeightHelper . calculateFontAscenderDescenderFromFontMetrics (font );
220
+ float [] ascenderDescenderFromFontMetrics = TextRenderer . calculateAscenderDescender (font , RenderingMode . HTML_MODE );
223
221
Assert .assertEquals (1160.0f , ascenderDescenderFromFontMetrics [0 ], EPS );
224
222
Assert .assertEquals (-320.0f , ascenderDescenderFromFontMetrics [1 ], EPS );
225
223
}
226
224
227
225
@ Test
228
226
public void calculateFontAscenderDescenderFromFontMetricsFreeSansFontTest () throws IOException {
229
227
PdfFont font = PdfFontFactory .createFont (FONTS + "FreeSans.ttf" );
230
- float [] ascenderDescenderFromFontMetrics = LineHeightHelper . calculateFontAscenderDescenderFromFontMetrics (font );
228
+ float [] ascenderDescenderFromFontMetrics = TextRenderer . calculateAscenderDescender (font , RenderingMode . HTML_MODE );
231
229
Assert .assertEquals (800.0f , ascenderDescenderFromFontMetrics [0 ], EPS );
232
230
Assert .assertEquals (-200.0f , ascenderDescenderFromFontMetrics [1 ], EPS );
233
231
}
234
232
235
233
@ Test
236
234
public void calculateFontAscenderDescenderFromFontMetricsOpenSansRegularFontTest () throws IOException {
237
235
PdfFont font = PdfFontFactory .createFont (OPEN_SANS_FONTS + "OpenSans-Regular.ttf" );
238
- float [] ascenderDescenderFromFontMetrics = LineHeightHelper . calculateFontAscenderDescenderFromFontMetrics (font );
236
+ float [] ascenderDescenderFromFontMetrics = TextRenderer . calculateAscenderDescender (font , RenderingMode . HTML_MODE );
239
237
Assert .assertEquals (1068.0f , ascenderDescenderFromFontMetrics [0 ], EPS );
240
238
Assert .assertEquals (-292.0f , ascenderDescenderFromFontMetrics [1 ], EPS );
241
239
}
0 commit comments