|
3 | 3 | from pypdf.generic._appearance_stream import TextStreamAppearance |
4 | 4 |
|
5 | 5 |
|
| 6 | +def test_comb(): |
| 7 | + rectangle = (0.0, 0.0, 197.285, 18.455) |
| 8 | + font_size = 10.0 |
| 9 | + text = "01234567" |
| 10 | + max_length = 10 |
| 11 | + is_comb = True |
| 12 | + appearance_stream = TextStreamAppearance( |
| 13 | + text, rectangle=rectangle, font_size=font_size, is_comb=is_comb, max_length=max_length |
| 14 | + ) |
| 15 | + assert appearance_stream.get_data() == ( |
| 16 | + b"q\n/Tx BMC \nq\n1 1 196.285 17.455 re\nW\nBT\n/Helv 10.0 Tf 0 g\n" |
| 17 | + b"7.084250000000001 7.454999999999998 Td\n(0) Tj\n" |
| 18 | + b"19.7285 0.0 Td\n(1) Tj\n" |
| 19 | + b"19.728500000000004 0.0 Td\n(2) Tj\n" |
| 20 | + b"19.728499999999997 0.0 Td\n(3) Tj\n" |
| 21 | + b"19.728499999999997 0.0 Td\n(4) Tj\n" |
| 22 | + b"19.728499999999997 0.0 Td\n(5) Tj\n" |
| 23 | + b"19.72850000000001 0.0 Td\n(6) Tj\n" |
| 24 | + b"19.728499999999997 0.0 Td\n(7) Tj\nET\nQ\nEMC\nQ\n" |
| 25 | + ) |
| 26 | + |
| 27 | + rectangle = (0.0, 0.0, 20.852, 20.84) |
| 28 | + text = "AA" |
| 29 | + max_length = 1 |
| 30 | + appearance_stream = TextStreamAppearance( |
| 31 | + text, rectangle=rectangle, font_size=font_size, is_comb=is_comb, max_length=max_length |
| 32 | + ) |
| 33 | + assert appearance_stream.get_data() == ( |
| 34 | + b"q\n/Tx BMC \nq\n1 1 19.852 19.84 re\nW\nBT\n/Helv 10.0 Tf 0 g\n7.091 9.84 Td\n(A) Tj\nET\nQ\nEMC\nQ\n" |
| 35 | + ) |
| 36 | + |
| 37 | + |
6 | 38 | def test_scale_text(): |
7 | 39 | rectangle = (0, 0, 9.1, 55.4) |
8 | 40 | font_size = 10.1 |
|
0 commit comments