1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
|
Overview of changes between 1.31.0 and 1.31.1
=============================================
- The module cache file can now be located in libdir
- Initial work towards making pango thread-safe
- Update to Unicode 6.1.
- 682421 - Fix vertical text, gravity, etc, with HarfBuzz
- 678721 - Don't need to get item properties...
- 678997 - Colors aqua, silver and indigo missing...
- 653347 - rise units documented incorrectly
- 682952 - remove old glib check
- Deprecate pango-ot.h.
- Deprecate pango_fc_font_kern_glyphs
- Deprecate pango_lookup_aliases
Overview of changes between 1.30.1 and 1.31.0
=============================================
- Port to harfbuzz 0.9.x, use external harfbuzz
- Remove Arabic, Syriac, Hangul Hebrew, Khmer,
Tibetan and Thai shapers (replaced by harfbuzz)
- Remove Indic module (replaced by harfbuzz)
- Remove Atsui support (superseded by CoreText)
- Remove PangoX
- 679654 - Crash for PangoContext.list_families
- 680965 - missing language strings for ...
- 681423 - introspection: assorted fixes...
Overview of changes between 1.30.0 and 1.30.1
=============================================
- Update Arabic joining classes to 6.1.0
- Build fixes
- Annotation fixes
- 667960 - add --system option to querymodules
- 675400 - respect XDG_CONFIG_HOME for rc files
- 673497 - Fix corefont fallback
Overview of changes between 1.29.5 and 1.30.0
=============================================
- 667799 - Fix cross-compiling bug in configure.in
- 664125 - Zero-width spaces cause missing characters
- CoreText backend: implement font fallbacks
- CoreText backend: make more robust against broken fonts
- CoreText backend: make shaping engine more robust
- CoreText backend: Guard against glyph count of zero
- Win32 build fixes
Overview of changes between 1.29.4 and 1.29.5
=============================================
- Documentation fixes
- Build fixes for ATSUI backend
- Add more Chinese poetry
- Fix ChanContext backtrack matching with GPOS
- Bug 653985 - Pango 1.29.x make GTK3-demo.exe crashed in Windows
- Bug 635399 - Add C include and exported packages information to GIRs
- Bug 658561 - Double free after calling Pango.Context.get_font_des...
- Bug 656014 - Missing GIR annotation/wrapper for pango_layout_get_...
- Bug 654689 - Slightly broken Introspection build
- Bug 403499 - Text Attribute Markup page does not describe charact...
- Bug 650456 - Visual C++ 2010 Project Files to compile Pango
- Bug 653985 - Pango 1.29.x make GTK3-demo.exe crashed in Windows
- Bug 661612 - Add deprecation attributes to deprecated functions
Overview of changes between 1.29.1 and 1.29.3
=============================================
- Minor fix in 1.29.1 tarball
Overview of changes between 1.28.4 and 1.29.1
=============================================
- Lots of introspection markup added
- Misc fixes
Overview of changes between 1.28.3 and 1.28.4
=============================================
- Various introspection annotation fixes
- Build fixes
- Require glib >= 2.24.0
- Bugs fixed:
Bug 636348 - Hex boxes are incorrectly scaled with non identity cairo scale
Bug 639882 - Heap corruption in font parsing with FreeType2 backend
Overview of changes between 1.28.2 and 1.28.3
=============================================
- Bugs fixed:
Bug 630857 - introspection: Use --include-uninstalled
Overview of changes between 1.28.1 and 1.28.2
=============================================
- Reduce DLL hijack risk and simplify code in basic-win32 module
- Improve performance on Windows especially for non-Latin scripts
- Bugs fixed:
Bug 628497 - Crash in pango_layout_line_get_extents at pango-layout.c
Bug 626966 - SIGFPE _hb_sanitize_array
Bug 629632 - configure bug
Bug 625807 - approximate character width is 0 on pangoft2
Overview of changes between 1.28.0 and 1.28.1
=============================================
- pango-view now accepts --margin
- Various HarfBuzz bug fixes
- Build fixes
- Bugs fixed:
Bug 582698 - Support CSS-style margin specification
Bug 621612 - VPATH build fix
Bug 605870 - Incorrect shaping for Syriac
Bug 457990 - font metrics are not converted to user space in cairo backend
Bug 613015 - [HB] Does not sanitize Device tables referenced from ValueRecords
Overview of changes between 1.27.1 and 1.28.0
=============================================
- [HB] Fix leak when duplicating blob
- Misc bug fixes
- Bugs fixed:
Bug 611033 - Layout using ATSUI fontmap treats absolute font sizes a...
Bug 605655 - Pango 1.26.2 introduces kerning bug
Bug 611229 - Pango reads from uninitialized memory
Bug 594101 - [Indic] needed character class data updates to support unicode 5.1
Bug 345066 - backspace changes independent indic characters
Bug 609326 - Complex script shaping failed in the FT2 backend on Windows
Bug 604128 - Applications crash when displaying Hebrew characters
Bug 608923 - Incorrect/broken ligatures on MacOS
Bug 610791 - checks fail for unused documented symbols
Overview of changes between 1.26.2 and 1.27.1
=============================================
- Enable introspection again
- Misc HarfBuzz bug fixes
- Improve PangoLayout line breaking
- Revert usage of CoreText in ATSUI backend
- Fix FT_Face finalizer call
- Bugs fixed:
Bug 593240 - (pangoosx) Crash / infinite loop with Mac OS X
Bug 610183 - Pango doesn't compile with gcc 3.3.3
Bug 582697 - Add pango-view --pixels option
Overview of changes between 1.26.1 and 1.26.2
=============================================
- Fix non-standard C++ usage
- Fix OpenType mark ligation
- Bugs fixed:
Bug 602823 - void function cannot return value
Bug 602660 - [HB] don't use flexible arrays
Bug 602408 - Invalid C++ code breaks compile with Sun C++ Compiler
Overview of changes between 1.26.0 and 1.26.1
=============================================
- Finally fix GPOS positioning and kerning with non-identity cairo matrices
- [HB] Fix lookup_flag ignoring
- Fix leak with non-mmapped fonts
- Allow using uninstalled glib
- Bugs fixed:
Bug 341481 - pangocairo kerning problem with nonidentity scaling
Bug 587768 - [patch] Don't build pango-view twice
Bug 594101 - [Indic] character class data updates to support unicode 5.1
Bug 596837 - Typo in pango_cairo_show_layout documentation
Overview of changes between 1.25.6 and 1.26.0
=============================================
- New stable release series
- Bugs fixed:
Bug 595539 - Regressions in rendering certain Thai sequences
Overview of changes between 1.25.5 and 1.25.6
=============================================
- Fix a couple of array overflow bugs
- Bugs fixed:
Bug 593240 - updating pango to latest git master makes things crash
Bug 593231 - < c99 compiler dislikes ValueRecord
Overview of changes between 1.25.4 and 1.25.5
=============================================
- Minor HarfBuzz code shuffling
- Bugs fixed:
Bug 592484 - invalid write in HB
Bug 592194 - Fix missing _SC_PAGE_SIZE macro
Overview of changes between 1.25.3 and 1.25.4
=============================================
- Fix various possible overflows in HarfBuzz
- Improve HB font sanitizing
- Improved win32 performance
- Really fix ming32 build issues
- Re-enable introspection
- Bugs fixed:
Bug 592131 - Add AM_SILENT_RULES
Bug 592036 - integer overflow bug causes misrendering of Nepali
characters
Bug 591511 – hh-blob.c does not compile using mingw on windows
Overview of changes between 1.25.2 and 1.25.3
=============================================
- Fix couple of crashers
- Enforce -fno-exceptions better, should fix build issues for
distros on x86-64.
- Call mprotect() only when available.
- New public API: pango_glyph_item_get_logical_widths()
- Remove G_GNUC_PURE attr from pango_glyph_string_get_width()
- Fix buffer corruption in HarfBuzz
- Bugs fixed:
Bug 591413 – needs to link with libstdc++
Bug 591511 – hb-blob.c does not compile using mingw on windows
Bug 591557 – [HB] crash scrolling the evolution message list
Bug 591576 – crashed with SIGSEGV at pango
Bug 591465 – Gimp crashes upon opening the font selection dialog
Overview of changes between 1.25.1 and 1.25.2
=============================================
- Tweak C++ compiler options. If you get link errors with gcc on
x86-64 about __gxx_personality_v0(), make sure your CXXFLAGS does
not have -fexceptions. This will be fixed in Pango itself later.
- Fix crasher with gzipped fonts.
Bug 591409 – crash in firefox. Handle non-mmapped FT_Face
Overview of changes between 1.24.5 and 1.25.1
=============================================
- Merge harfbuzz-ng: brand new OpenType Layout engine
Currently is not very portable. Will be fixed as
reports come in.
- Port to ATSUI backend to use CoreText instead of ATS
- New public API:
pango_gravity_get_for_script_and_width()
- Misc bug fixes
Bug 590042 – pango-view.1 manpage should not be gzipped
Bug 410169 – gravity problem with Common chars
Bug 589113 – Some characters rotated incorrectly in vertical text
Bug 582851 -- Little fix for compiling with Cygwin
Bug 588060 -- Fonts missing on Cygwin
Overview of changes between 1.24.4 and 1.24.5
=============================================
- Build introspection again
- Misc bug fixes
Bug 589133 – Firefox 3.5 complains about invalid weak references
Bug 585806 – crash during pango_fc_font_map_shutdown
Bug 588678 – pango crash: install a new theme from
Overview of changes between 1.24.3 and 1.24.4
=============================================
- Misc bug fixes
Bug 586814 – Crashes related to fontmap destruction after upgrade
Overview of changes between 1.24.2 and 1.24.3
=============================================
- Fix build with new automake
- Misc bug fixes
Bug 585337 – Fails to install: install: will not overwrite
just-created
Bug 585164 – 'man preload' shows man page for pango-view
Bug 584328 – Persian sample text is not good
Bug 583250 – pango_font_metrics_get_approximate_char_width is
wrong when LANG=fa_IR
Overview of changes between 1.24.1 and 1.24.2
=============================================
- Misc bug fixes
Bug 580987 – SIGFPE in pango_glyph_string_index_to_x
Bug 580273 – Font metrics functions incorrectly listed as reporting
point sizes
Bug 579694 – Cygwin parallel-build patch
Bug 578944 – pango-1.24.1 fails its testsuite
Bug 578935 – Syntax error (missing semicolon) in
pango/pangowin32-fontmap.c
Overview of changes between 1.24.0 and 1.24.1
=============================================
- Fix a couple of crashers
- Fix minor pangofc API semantics breakage
- Better handle SFNT fonts in dfont containers
- Improved docs
- Improved Indic shaper for new Unicode 5.1 characters
- Misc bug fixes
- Bugs fixed in this release:
Bug 577952 – Error loading {GDEF,GSUB,GPOS} table 0x6EAD
Bug 578336 – ABI breakage from 1.22 to 1.24 in fontmap field
of PangoFcFont
Bug 556132 – gnome-panel crashed with SIGSEGV in
g_cclosure_marshal_VOID__BOXED()
Bug 571291 – Unicode 5.1 support in pango - Indic Lanuages
Bug 576298 – Fails to link pango-view if --without-x is specified
but cairo has X11 support
Overview of changes between 1.23.0 and 1.24.0
=============================================
- pango-view improvements:
* pango-view -q now works without a X server.
* Ability to save to PS, EPS, PDF, and SVG files. Filetype is
detected from output file extension.
* New options --foreground, --background, and --annotate.
* Now installs a manual page, thanks to help2man.
- PangoFc API changes:
* PangoFcFont now has a "fontmap" property that subclasses can use
at construction time to setup the font->fontmap link.
* New backend-public API:
pango_fc_font_map_find_decoder()
- Misc optimizations
- Build fixes
- Misc bug fixes
- Bugs fixed in this release:
Bug 547963 – man page for pango-view
Bug 502804 – pango-view or pangocairo-view option to annotate
Bug 502801 – per-backend pango-view options
Bug 502805 – pango-view option for foreground/background color
Red Hat Bug 490331 - Crash of galeon in libpango
Bug 523166 – pango-view opens display even when invoked with -q
Bug 567160 – Share cmap cache between PangoFcFont's of the same face
Red Hat Bug 487593 - crash changing language in gdm
Bug 572662 – Remove deprecated GTK+ symbols
Bug 572529 – Poor -I ordering can break build
Overview of changes between 1.22.4 and 1.23.0
=============================================
- Change the PangoFc font loading API to allow for lazy loading of fonts.
- Add private PangoFcFontset that loads fallback fonts as needed.
- Call FcFontMatch() and only if fallback fonts are needed call FcFontSort().
- Optimize HarfBuzz number of malloc calls
- Don't malloc megs of unused memory in HarfBuzz
- Print-out, and parse, numeric styles correctly. Things like
"DejaVu Sans weight=100" parse as font description now.
- New public API:
Add two new public macros:
PANGO_ATTRIBUTE_INDEX_FROM_TEXT_BEGINNING
PANGO_ATTRIBUTE_INDEX_TO_TEXT_END
Add new public enum values:
PANGO_WEIGHT_BOOK
PANGO_WEIGHT_ULTRAHEAVY
PANGO_WEIGHT_THIN
PANGO_WEIGHT_MEDIUM
- Misc bug fixes
- Bugs fixed in this release:
Bug 569763 – pango doesn't like font descriptions without family!
Bug 560792 – Make PangoLayoutLine with line->layout==NULL renderable
Bug 567392 – Abiword crashes in pango when opening document with
certain locales
Bug 566727 – PangoFontsetLazy
Bug 567165 – Apply all pattern matrices
Bug 567934 – Add introspection support inside pango
Bug 549532 – Correction to the sample string for Hindi in
pango-language-sample-table.h
Bug 566726 – Minor optimization
Bug 566941 – Add PANGO_ATTRIBUTE_INDEX_FROM_TEXT_BEGINNING and
PANGO_ATTRIBUTE_INDEX_TO_TEXT_END
Bug 551469 – Fold '@' to '-' when parsing PangoLanguages
Bug 328206 – Update/remove some old files
Bug 166709 – Handle font variants more consistently
Bug 166676 – pango_fc_font_map_finalize
Bug 164001 - pango-querymodules doesn't work uninstalled on win32
Bug 384362 – pango can't select some font styles
Bug 168085 – numeric styles in pango_font_description_to_string()
Bug 529591 – Code related to malayalam is misplaced.
Patch from Rahul Bhalerao
Bug 515807 – Don't bind modules lazily
Bug 512662 – Update check.docs for pango-undeclared.txt
Bug 565644 – Maybe pango_font_descriptions_free is deprecated
Bug 469049 – Fix all compiler warnings
Bug 565379 – pango_font_description_better_match some style attributes
of old_match are not checked
Bug 564877 – pango-engine.h: PANGO_MODULE_PREFIX and G_MODULE_EXPORT
Overview of changes between 1.22.3 and 1.22.4
=============================================
- Misc bug fixes
- Improved docs
- Bugs fixed in this release:
Bug 564644 – Not complete description of the
pango_font_description_better_match function
Bug 563898 – Generated output is not deterministic
Bug 563803 – pango_renderer_finalize fails to call parent finalize
Bug 499626 – Space should be optional after comma in
PangoFontDescription input string
Bug 499624 – Spaces around commas in PangoFontDescription family name
should be trimmed
Bug 563557 – set g_get_prgname() in fc pattern
Bug 563356 – The input area of firefox and the blank width after text
in gnome-menu was stretched too wide, under pango-1.22.3
Bug 562574 – Pangocariowin32 is leaking every cairo font it ever
creates
Overview of changes between 1.22.2 and 1.22.3
=============================================
- Minor bug fix with matrix operations
- Fix build with older compilers
- Bugs fixed in this release:
Bug 561779 – incorrect calculations in pango_matrix_concat
implementation
Bug 560730 – pango 1.22.2 build failure on Solaris 10, too many array
initializers in pango-language.c
Bug 561740 – Use stack allocation for thai_engine_break
Overview of changes between 1.22.1 and 1.22.2
=============================================
- Fix crasher when a PangoFcFontMap was freed before its fonts.
- Mark monospace fonts as monospace in the pangoatsui backend.
- Fix font description parsing to better handle "normal".
- Bugs fixed in this release:
Bug 558254 – Internal reference handling messed up
Bug 558107 – is_monospace always returns FALSE in pangoatsui
Bug 557620 – pango_font_description_from_string not correct
Overview of changes between 1.22.0 and 1.22.1
=============================================
- Fix crasher when freeing PangoLayoutIter's
- Fix loading of bogus OpenType anchor tables
- Fix OpenType CursiveChain positioning
- Misc bug fixes
- Bugs fixed in this release:
Bug 528272 – "Error loading GPOS table 5503" when using katakana
characters
Bug 552107 – Small libtool fixes
Patch by Patryk Zawadzki
Bug 539623 – document that pango_color_parse accepts NULL
Bug 555219 – Memory leak when using pango_layout_iter_copy
Patch from Falk Rohsiepe
Bug 553345 – Japanese pangram.
Patch from Takeshi AIHANA
Overview of changes between 1.21.6 and 1.22.0
=============================================
- Require cairo >= 1.7.6.
- Improved Romanian sample text
- Don't use deprecated glib win32 API
- Misc bug fixes
- Bugs fixed in this release:
Bug 552993 – Romanian pangram
Bug 551865 – Can't change justification of a PangoLayout after first
draw
Bug 551416 - pangowin32-fontcache.c: argument is different type
Overview of changes between 1.21.5 and 1.21.6
=============================================
- Win32 cross-compiling build system fix
- Improve language sample strings.
- Bugs fixed in this release:
Bug 550659 – configure.in ignores a win32 backend only scenario
Bug 549758 – Swedish font sample text could use punctuation
Bug 549522 – New pt_BR pangram for pango
Bug 549520 – fr sample string
Overview of changes between 1.21.4 and 1.21.5
=============================================
- Make the reference the font->fontmap reference weak. Previously all
fontmaps had circular references to their fonts and back, making them
leak instead of being freed upon finalization. Now they all clean after
themselves. There's a slight semantic change though, that a PangoFont does
not keep its fontmap alive anymore, so that's up to the user. But then
again, finalizing fontmaps is not a good idea to begin with.
- Improve pango_language_get_sample_string() to add language sample texts that
are actually usable. Compiled from a variety of sources.
See pango-language-sample-table.h.
- In pango_language_get_sample_string() use default language if provided
language is NULL.
- Update OpenType language-system tags to OpenType 1.5 draft intersected with
ISO639-3 of 2008/08/04.
- New API additions:
Add a minor new public API:
pango_language_get_scripts()
This is what pango_language_includes_script() has been using
internally. Previously one had to call that function over all
possible script values to determine which scripts a language
uses. The new API makes that much easier.
- Bugs fixed in this release:
Bug 549003 – pango_layout_set_height(): layout should not be cleared
unless required
Bug 143542 – PangoFT2Fontmap leak
Bug 314094 – Get rid of poutpourri default sample string
Bug 473806 – Improve pango_language_get_sample_string()
Bug 473805 – Add API enumerating scripts for a language
Bug 470895 – Improve OpenType language tag list
Bug 547432 – Deprecation of pango_(backend)_font_map_create_context()
not clean
Overview of changes between 1.21.3 and 1.21.4
=============================================
- Use cairo_show_text_glyphs() if target cairo surface supports that.
This is done by adding a new PangoRenderer method, draw_glyph_item().
Custom PangoRenderer implementations that delegate to pango_cairo
may want to implement this method if they target PDF files.
- Requires cairo >= 1.7.4 now
- Win32 build improvements
- Justify lines broken by U+2028 LINE SEPARATOR
- Various small fixes and improvements
- New API additions:
New public API:
PangoRenderer::draw_glyph_item()
pango_renderer_draw_glyph_item()
Make layout and layout-line default renderers go through
draw_glyph_item(), which then by default falls back to
draw_glyphs(). The advantage in draw_glyph_item() is that it
has access to the text and cluster information.
New public API, for iterating a PangoGlyphItem:
PangoGlyphItemIter
PANGO_TYPE_GLYPH_ITEM_ITER
pango_glyph_item_iter_copy()
pango_glyph_item_iter_free()
pango_glyph_item_iter_init_start()
pango_glyph_item_iter_init_end()
pango_glyph_item_iter_next_cluster()
pango_glyph_item_iter_prev_cluster()
Make the following previously backend-only API public:
pango_context_new()
pango_context_set_font_map()
This also means that bindings are recommended to allow
instantiation of pango.Context. This was discouraged before.
New public API:
pango_font_map_create_context()
This is equivalent to pango_context_new() followed by an
immediate pango_context_set_font_map(). This change also
deprecates various per-fontmap-type context constructors:
Deprecate pango_cairo_font_map_create_context().
Deprecate pango_fc_font_map_create_context().
Deprecate pango_ft2_font_map_create_context().
Deprecate pango_win32_get_context().
Deprecate pango_xft_get_context().
Deprecate pango_x_get_context().
Language bindings are encouraged to bind
pango.Fontmap.create_context() and remove the create_context()
method from subclass implementations.
- Bugs fixed in this release:
Bug 547303 – pango_layout_get_cursor_pos crashes on certain text
buffers
Fedora Bug 457883 - Sindhi Characters are not supported in
pango [U+097B-U+097F]
Patch from Pravin Satpute
Bug 441654 – prefix fails when more than one base characters (as
conjuncts) present after a half form the next prefix renders
incorrectly
Patch from Rahul Bhalerao
Bug 546534 – pango_cairo_font_map_set_default(NULL) errs
Bug 431394 – Use pango_glyph_item_iter in more places
Bug 377948 – Make pango_glyph_item_iter public
Bug 472625 – Add draw_glyph_item() to PangoRenderer
Bug 540592 – Crash in HB_GSUB_Apply_String with Linux-Libertine font
Bug 540036 – Doesn't link to fontconfig
Bug 380094 – Fix split matra rendering bug for Kannada language
Bug 536017 – Remove SF_MPRE_FIXUP from Sinhala script flags
Patch by Harshula
Overview of changes between 1.21.2 and 1.21.3
==============================================
- Various small fixes and improvements
- Bugs fixed in this release:
Bug 538661 – Improve pango_cairo_context_update_context()
Bug 536190 – Make pango_fc_font_map_clear_cache() public?
Bug 537258 – Add a pango_language_to_string() function
Bug 537257 – pango_language_from_string(NULL) not happy
Bug 537186 – Make PangoFcFont pattern property readable
Overview of changes between 1.21.1 and 1.21.2
==============================================
- Various win32 font handling improvements
- Bugs fixed in this release:
Bug 510299 – OpenType font variants are broken with ATSUI/Cairo
Bug 436363 - Bold and Bold Italic style of MS-Mincho font are not
listed in GtkFontSelection
Bug 523193 – Vista Hebrew, CJK fonts to builtin win32 pango aliases
Patch by Daniel Atallah.
Overview of changes between 1.21.0 and 1.21.1
==============================================
- Partial work to make pango_break() exactly follow Unicode TR#14 and TR#29.
The Grapheme Boundaries and Word Boundaries now work. For word boundaries,
a new member was added to PangoLogAttr. Sentence Boundaries and Line Breaks
to follow in the next release.
- Err if no cairo font backends found
- Misc bug fixes
- New public API:
Add new PangoLogAttr member is_word_boundary, that implements UAX#29's
Word Boundaries semantics. The is_word_start and is_word_end members
will change implementation later on to be consitent with the word
boundaries.
- Bugs fixed in this release:
Bug 531242 – Leak when calculating win32 font coverage
Patch from Daniel Atallah
Bug 530757 – Docs build breaks because of hash sign in URL in <ulink...>
Bug 530685 – Pango no longer using cairo as a backend as of pango 1.19.4
Part of Bug 97545 – Make pango_default_break follow Unicode TR #29
Overview of changes between 1.20.2 and 1.21.0
==============================================
- Require cairo >= 1.6.4.
- Write out HarfBuzz errors as hex.
- Add a section in the docs for bidirectional text.
- Improved hex-box rendering in the cairo backend.
- Add some aliases for <span> tag attributes.
- Preserve current-point around pango_cairo_* functions.
- New public API:
pango_attr_type_get_name()
enum PangoBidiType;
pango_bidi_type_get_type()
pango_bidi_type_for_unichar()
pango_layout_get_baseline()
pango_cairo_create_context()
pango_cairo_font_map_set_default()
- Bugs fixed in this release:
Bug 515432 – Add function to get bidirectional character type of a
unicode character
Patch from Jürg Billeter
Bug 517119 – Add pango_cairo_create_context()
Bug 404416 – pango_layout_get_baseline or something
Bug 474706 – cairo hexbox looks ugly
Bug 490669 – add some <span> attribute aliases
Bug 501334 – Make pango_cairo_[show_]*[_path]() functions preserve
current point
Bug 514617 – Add pango_cairo_font_map_set_default()
Bug 511183 – Add pango_attr_type_get_name()
Overview of changes between 1.20.1 and 1.20.2
==============================================
- Really fix build on OS X.
Overview of changes between 1.20.0 and 1.20.1
==============================================
- Update to Unicode Character Databse 5.1.0. This adds new entries to
the PangoScript enum. Requires glib >= 2.16.3 for the update Unicode
data there, but not bumping the requirement in a stable point release.
- Try making our OS X stuff compile with latest cairo 1.5.x snapshots
that renamed cairo-atsui to cairo-quartz-font, as well as older versions.
- Minor bug fixes.
Overview of changes between 1.19.4 and 1.20.0
==============================================
- New stable release!
- Bugs fixed in this release:
Bug 518084 – Thai is not Virama language
Patch from Theppitak Karoonboonyanan
Overview of changes between 1.19.3 and 1.19.4
==============================================
- Make Win32 backend be able to use Type1 fonts
- Fixed blocker bug with pango_layout_set_height() and positive height.
- Fixed small leak in ATSUI backend.
- Improved docs.
- Bugs fixed in this release:
Bug 511172 – pango_layout_set_height() with positive height always
shows at least two lines
Bug 515484 – Uniscribe interface handles surrogate
pairs incorrectly
Bug 515484 – Pango on Windows is missing Type 1
font support
Patch from Adrian Johnson.
Bug 517083 – pango modules: wrong fallback adding code?
Bug 515484 – Variable is initialized twice
Bug 504810 – Samvruthokaram (combination of U+0D41 and U+0D4D) is not
rendered correctly
Patch from Praveen A
Bug 496244 – Don't use freetype-config, use pkg-config
Bug 512566 – dont' use deprecated macro
Patch from Christian Persch
Bug 512473 – [patch] gtk-doc warnings
Overview of changes between 1.19.2 and 1.19.3
==============================================
- pango_layout_get_pixel_extents() and pango_layout_line_get_pixel_extents()
now round extents to pixels inclusively. That is, pass both ink_rect and
logical_rect as first argument to pango_extents_to_pixels().
- Rename pango_extents_to_pixels() function arguments from @ink_rect and
@logical_rect to @inclusive and @nearest. Given that this API is a
fairly new addition and not commonly used, language bindings are
encouraged to update their argument names accordingly. Moreover, they
are encouraged to wrap this function as two different calls:
extents_to_pixels_inclusive() and extents_to_pixels_nearest(), or
similar conventions that best reflect their native language.
- HarfBuzz was relicensed to a more generous and simpler license.
Adapt. See pango/opentype/COPYING for the new license which is
LGPL-compatible.
- New public API:
pango_layout_set_height()
This sets the height to which the #PangoLayout should be ellipsized at.
There are two different behaviors, based on whether @height is positive or
negative.
If @height is positive, it will be the maximum height of the layout. Only
lines would be shown that would fit, and if there is any text ommitted, an
ellipsis added. At least one line is included in each paragraph regardless
of how small the height value is. A value of zero will render exactly one
line for the entire layout.
If @height is negative, it will be the (negative of) maximum number of lines
per paragraph. That is, the total number of lines shown may well be more
than this value if the layout contains multiple paragraphs of text. The
default value of -1 means that first line of each paragraph is ellipsized.
Height setting only has effect if a positive width is set on @layout and
ellipsization mode of @layout is not %PANGO_ELLIPSIZE_NONE.
The behavior is undefined if a height other than -1 is set and ellipsization
mode is set to %PANGO_ELLIPSIZE_NONE, and may change in the future.
There are still bugs remaining to be fixed, notably bug 511172 (which will
be fixed before 1.20), and bug 511171 (which will be fixed in a future
version).
- New command-line arguments to pango-view: --height and --single-par.
- Make the following symbols available to engines:
PANGO_IS_OT_INFO
PANGO_IS_OT_RULESET
PANGO_OT_INFO
PANGO_OT_RULESET
PANGO_TYPE_OT_INFO
PANGO_TYPE_OT_RULESET
pango_ot_info_get_type
pango_ot_ruleset_get_type
- Bugs fixed in this release:
Bug 508002 – change pango_layout_pixel_extents() to round logical rect
to be inclusive
Bug 469313 – Add pango_layout_set_height()
Bug 508179 – PangoGlyphUnit confusion
Bug 508381 – indent and center alignment don't mix
Bug 508007 – Add option for single-paragraph mode to pango-view
Bug 506284 – docs typo for pango_coverage_unref
Patch from Christian Persch
Bug 504802 – build failure: No rule to make target
`pango-querymodules.1', needed by `all-am'. Stop.
Bug 504585 – pango-querymodules.1 syntax error
Red Hat Bug 426178: gtkdoc-scan fails on pango
Overview of changes between 1.19.1 and 1.19.2
==============================================
- Render a crossed box for each invalid input byte to pango_layout_set_text().
Previously we rendered an ASCII question mark instead. The crossed box has
a glyph of value of PANGO_GLYPH_INVALID_INPUT.
- Use pkg-config to detect cairo features [Benjamin Otte]
- Improved docs. Particularly, examples/cairo*.c have inline docs now.
- New public macro:
PANGO_GLYPH_INVALID_INPUT
- Bugs fixed in this release:
Bug 502926 – pango-1.16.4 configure bug: can fail to accept cairo
Bug 399573 – replace strtoul in pango-markup.c with pango_scan_int()
Bug 478914 – Use something invalid instead of '?' when validating
input text
Bug 501938 – Arabic shaping broken with vertical layout with
vertical-hint=line
Bug 501575 – Compile errors
Patch from Jens Granseuer
Overview of changes between 1.19.0 and 1.19.1
==============================================
- Various cleanup in the HarfBuzz code and merging with upstream/Qt changes.
- Built-in pango.aliases file for Win32 default aliases.
- Document cairo examples and misc documentation improvements.
- Bugs fixed in this release:
Bug 485536 – underline_position can be zero
Bug 500549 – pangocairo.h should include pango.h and cairo.h
Bug 492517 – Built-in default aliases file
Bug 495091 – pango-utils.c:variable is declared at middle of block
Overview of changes between 1.18.3 and 1.19.0
==============================================
- Update list of languages to that of fontconfig-2.4.91.
- Various optimizations, making rendering the same Pango layout using
changing cairo matrices much faster.
- Make sure all boxed type copy/free functions accept NULL as legitimate
input. Previously most were g_return_[val_]if_fail()ing it. This is
mostly for convenience when writing code in C.
- Apply 'vkrn' GPOS feature in vertical writing.
- In pangofc, set "pangoversion" in pattern passed to fontconfig,
such that font configuration can condition on being driven by Pango
or not.
- Various optimizations and cleanups in the OpenType Layout engine,
aka HarfBuzz.
- Changed APIs:
* All PangoAttribute constructors are changed to initialize the
attribute to the range [0..MAXUINT]. The range was undefined
previously. All custom attribute constructors are recommended
to call the new pango_attribute_init() to do the same.
* Public API chance: Mark the following types as abstract:
PangoFont
PangoFontFace
PangoFontFamily
PangoFontMap
PangoFcFont
PangoFcFontMap
PangoContext may be marked so in the future too.
* Make following macros public. Previously they were only
defined for backend/engine implementations.
PANGO_GLYPH_EMPTY
PANGO_GLYPH_UNKNOWN_FLAG
PANGO_GET_UNKNOWN_GLYPH()
- New public API:
* Convenience for initializing custom attributes:
pango_attribute_init()
* Adding boxed type for PangoGlyphItem:
PANGO_TYPE_GLYPH_ITEM
pango_glyph_item_copy()
pango_glyph_item_get_type()
* Add missing copy function for a boxed type in C:
pango_layout_iter_copy()
* Add missing getter:
pango_layout_iter_get_layout()
* Convenience for writing custom PangoRenderer's:
pango_renderer_get_layout()
pango_renderer_get_layout_line()
* PangoFc extensions to fontconfig's pattern syntax:
PANGO_FC_GRAVITY
PANGO_FC_VERSION
- Bugs fixed in this release:
Bug 490661 – Pango Markup: Link to font_desc syntax explanation
Based on patch from Chris Toshok
Bug 489909 – pango_cairo_update_context() should ignore matrix
translation
Bug 488840 – harfbuzz: protect against ligid overflow
Bug 486932 – Apply vkrn GPOS feature in vertical writing
Bug 486951 – ChangeLog.pre-1-18
Bug 485621 – Get rid of freetype memory allocator in harfbuzz
Bug 485566 – Cache one OpenType Buffer
Bug 485559 – Boston Summit HarfBuzz optimizations
Bug 481537 – compiler warning fixes
Patch from Kjartan Maraas
Bug 478865 – Drastically reduce number of PangoFont objects created
for rotating text
Bug 472924 – Mark some classes abstract
Bug 472629 – Add pango_renderer_get_layout(_line)
Bug 472303 – Make PANGO_GLYPH_EMPTY and PANGO_GLYPH_UNKNOWN_FLAG public
Bug 471601 – Pass pango version information to fontconfig
Bug 471577 – GBoxed GType for PangoGlyphItem
Bug 471571 – Add pango_layout_iter_get_layout()
Bug 471568 – Optimizations in _pango_cairo_update_context()
Bug 469641 – Initialize attribute start/end to [0..MAXUINT]
Overview of changes between 1.18.2 and 1.18.3
==============================================
- Two OpenType engine fixes. Makes Nafees Nastaliq font
work great, and avoids warnings with some other fonts.
- Fix minor leak in win32 backend.
- Bugs fixed in this release:
Bug 483600 – Leak of font family name in
pango_win32_font_description_from_logfont(w)
Patch from Daniel Atallah
Overview of changes between 1.18.1 and 1.18.2
==============================================
- Require libthai >= 0.1.9 for enabling thai-lang module
- Misc bug fixes
- Bugs fixed in this release:
Bug 474708 – pangocairo leaks memory
Bug 472891 – Bad consistency check in pango_get_log_attrs
Patch from Mathias Hasselmann
Bug 302952 – The placement of a diacritic marks for an arabic ligature
is not correct
Bug 410152 – testboundaries test fails
Overview of changes between 1.18.0 and 1.18.1
==============================================
- Misc bug fixes, including fix for an infinite-loop bug.
- Bugs fixed in this release:
Bug 470042 – missing Macedonian OT tag
Patch from Denis Jacquerye
Bug 468953 – pango-renderer.c: using function without prototype
Bug 463430 – Gets stuck while "formatting message"
Overview of changes between 1.17.5 and 1.18.0
==============================================
- Make pango_script_for_unichar() just call g_unichar_get_script(),
and document that PangoScript and GUnicodeScript are interchangeable
enumerations.
- Misc bug fixes
- Bugs fixed in this release:
Bug 348348 – Add a way to get the script name of a gunichar
Bug 451682 – Cursor positioning for Sinhala is broken
Based on patch from Harshula
Bug 462137 – memory corruption in pango_default_break
Bug 462420 – Clicking on pixbuf should move the cursor to the position
nearest to the click point
Bug 462630 – pango_cairo_context_set_font_options() and some others
don't have a Since: tag
Bug 464183 – Minimum tab width enforcement in pango-layout breaks
TabArray positions
Patch by David Trowbridge
Bug 464270 – ellipsize doesn't work consistent
Bug 465174 – TextView is ignoring multiple consecutive \t's
Bug 466755 – pango hangul is crashing in gnome-about because it is
failing to retrieve a font.
Bug 467056 – Shape attribute handling is not consistent
Bug 467077 – Remove special-case for shape attribute in
pango_layout_line_index_to_x()
Overview of changes between 1.17.4 and 1.17.5
==============================================
- Export PangoCairoFont and cleanup various standard macros.
- Bugs fixed in this release:
Bug 150883 – Unicode LRO defect
Bug 449482 – Build error when xft not present
Part of Bug 347236 – provide pango_cairo_font_get_scaled_font
Overview of changes between 1.17.3 and 1.17.4
==============================================
- Refactored the ATSUI font backend and install pangoatsui.h
that has a single function pango_atsui_font_get_atsu_font_id() and
a couple of types.
- Bugs fixed in this release:
Bug 451547 – FAIL: runtests.sh
Bug 449543 - Ship pangoatsui.h
Overview of changes between 1.17.2 and 1.17.3
==============================================
- Extensive pangocairo internal code refactoring and cleanup
- New public API:
pango_font_face_is_synthesized()
pango_cairo_font_get_scaled_font()
pango_cairo_font_map_new_for_font_type()
pango_cairo_font_map_get_font_type()
- New engine macros:
PANGO_OT_TAG_MAKE()
PANGO_OT_TAG_MAKE_FROM_STRING()
- New PangoFontFace method is_synthesized.
- Misc bug fixes
- Bugs fixed in this release:
Bug 337593 – move glyph extents code (and cache) from
pangocairo-*font.c into pangocairo-font.c
Bug 347235 – Add pango_cairo_font_map_get_font_type
Bug 347236 – provide pango_cairo_font_get_scaled_font
Bug 353291 – Provide pango_cairo_font_map_new_for_font_type
Bug 438801 – underline should add "error" type.
Bug 440588 – Add pango_font_face_is_synthesized()
Bug 445832 – pango_cairo_update_layout() always invalidates layout
Bug 446018 – Bus error in the pango_ot_tag_from_language()
Bug 446355 – the parsing with pango_parse_markup is not coherent
Bug 447189 – fonts.c: pango_font_face_is_synthesized returns NULL
Bug 447568 – improve docs on what absolute size means
Bug 448342 – pango_layout_index_to_line_x() counts lines from 1
Overview of changes between 1.17.1 and 1.17.2
==============================================
- Rename recently added pango_ot_ruleset_get_for() to
pango_ot_ruleset_get_for_description().
- New engine API: pango_ot_ruleset_new_from_description().
- Treat Unknown script like Common and other non-"real" scripts.
[Martin Hosken]
- Misc typo fixes [Peter Moulder]
- Bugs fixed in this release:
Bug 443206 – PANGO_SCRIPT_UNKNOWN should not cause a run break
Patch from Martin Hosken
Overview of changes between 1.17.0 and 1.17.1
==============================================
- Ported the rest of OpenType shapers to the new OpenType APIs and
added standard features to them: Hebrew, Indic, Khmer, Thai, and Tibetan.
- Added N'Ko support to the Arabic module. [Eugeniy Meshcheryakov]
- Small Indic module fix for Malayalam.
- Fixed font metrics returned by the ATSUI backend. [Richard Hult]
- Make itemization use pango_language_get_default() if context has no
language set on it. Ditto for pango_context_get_metrics() if both
input language and context language are NULL.
- Improved documentation on vertical text, also added stability note
to those parts of Pango API that are not indefinitely stable (shaper
and language engine APIs).
- Misc bug fixes.
- New OpenType engine API:
pango_ot_ruleset_get_feature_count()
- Bugs fixed in this release:
Bug 357790 – Rendering problem for malayalam consonant RA (U+0D30)
Bug 385168 – indic, khmer, and tibetan modules don't apply ccmp
Bug 385477 – kern feature is not supported in OpenType layout for Tibetan.
Bug 433805 - [Atsui] Approximate char/digit width width often 0
Bug 436699 – N'Ko support
Bug 438705 – Test runs non-existent "/bin/bash" on HP-UX 11.11
Bug 438814 – synaptic crash with pango 1.17.0
Bug 440603 – Minor ABI change
Overview of changes between 1.16.4 and 1.17.0
==============================================
General:
- Text justification. A simple justification algorithm is implemented
that tries to justify by expanding spaces in the line, and if none
found, by adjust letter spacing. [Based on patch by Mathias
Hasselmann]
- The pango_script_get_sample_language() function is modified to use
the value of environment variables PANGO_LANGUAGE or LANGUAGE
(checked in that order) to make guess better languages for scripts.
The env var should be a list of language tags, like "en:fa" for
example where in effect makes Pango choose Persian (fa) fonts
instead of Arabic (ar) fonts when a run of text in the Arabic script
is found in an otherwise non-Arabic layout.
This trick is also useful for East Asian languages. For example a
Japanese user that cannot set her primary language to Japanese can
still set PANGO_LANGUAGE="ja" and Pango will map CJK characters to
Japanese.
The LANGUAGE env var is a standard gettext variable listing
languages the user wants to receive UI translated messages in.
However, since most packages don't provide separate English
translations, setting LANGUAGE="en:ja" doesn't have the intended
effect and UI messages will be shown in Japanese. For these
situations one can use LANGUAGE="en:C:ja". Pango skips the special
language tag 'C'.
- Simplified embedded-shape rendering with pangocairo backends do.
[Richard Hult]
- New header file: Moved PangoLanguage APIs into its own header
pango-language.h, which is included from pango-types.h.
- ATSUI backend now lists synthesized italic faces like other
- Misc optimizations and fixes.
OpenType Layout Engine Improvements:
- Vertical glyph variants are not selected in vertical text if the
font supports them.
- Instead of hardcoded OpenType script tag in each module, and using
Default Language System unconditionally, Pango will now find and use
the script/lang-sys pair that best matches the detected script and
language of a run of text. Moreover, it also applies the OpenType
'locl' feature.
These, plus the PANGO_LANGUAGE env var, give font designers and
users lots of options to provide/choose language-specific glyph
variants.
Only basic, arabic, and syriac modules updated to take advantage of
the new support so far.
New pango-view command line options:
--align
--justify
--language
Public API Changes:
- New public pangocairo API:
PangoCairoShapeRendererFunc
pango_cairo_context_set_shape_renderer()
pango_cairo_context_get_shape_renderer()
These are used by the default pangocairo renderer to render shape
attributes (see examples/cairoshape.c). Cairo-based PangoRenderer
implementations outside Pango may want to implement the draw_shape()
method similarly to provide compatibility with these new APIs. (See
bug #437533 for GdkPangoRenderer for example.)
- Other public API changes:
New is_expandable_space member in PangoLogAttr
New macro PANGO_UNITS_ROUND()
- New OpenType engine API. These are engine API, for use by Pango
modules, and typically need not to be bound by language bindings:
PANGO_OT_NO_FEATURE
PANGO_OT_NO_SCRIPT
PANGO_OT_TAG_DEFAULT_SCRIPT
PANGO_OT_TAG_DEFAULT_LANGUAGE
PangoOTFeatureMap
PangoOTRulesetDescription
pango_ot_ruleset_get_for()
pango_ot_ruleset_new_for()
pango_ot_ruleset_maybe_add_feature()
pango_ot_ruleset_maybe_add_features()
pango_ot_ruleset_description_hash()
pango_ot_ruleset_description_equal()
pango_ot_ruleset_description_copy()
pango_ot_ruleset_description_free()
pango_ot_tag_from_script()
pango_ot_tag_to_script()
pango_ot_tag_from_language()
pango_ot_tag_to_language()
- Bugs fixed in this release:
Bug 64538 – pango_layout_set_justify() doesn't work
Bug 325714 – Pango should respect $LANGUAGE
Bug 414264 – Pango vertical writing support is different with real
CJK usage.
Bug 416515 – Time is not aligned with date on vertical panel
Bug 429397 – Updated MS Mincho/Gothic are not listed in font dialog
properly on Vista/
Bug 433805 – [Atsui] Approximate char/digit width width often 0
(worked around)
Bug 434160 - [atsui] Italic versions of some faces can't be created
Bug 435709 – pango_cairo_context_[sg]et_shape_renderer()
Bug 355789 – Pango misaligns word-wrapped text due to trailing
whitespace
Bug 436154 – Error building the pango.modules file while cross
compiling
Bug 436988 – Adding PangoScript to PangoAnalysis
Bug 437534 – pango_language_includes_script is buggy
Overview of changes between 1.16.3 and 1.16.4
==============================================
- Add new configure option --disable-doc-cross-references and make
sure releases are made using it. Distributions are encouraged to
build with --enable-gtk-doc such that their Pango docs correctly
cross reference glib and cairo docs.
- Bugs fixed in this release:
Bug 432991 – developer docs for libpango are broken
Overview of changes between 1.16.2 and 1.16.3
==============================================
- Quantize kerning value if metrics hinting is on. This greatly improves
screen text rendering with certain fonts like DejaVu Sans.
See: http://behdad.org/blog/mces/image/metricshinting-kerning.png
- Improved hex-box positioning in the cairo backend
Overview of changes between 1.16.1 and 1.16.2
==============================================
- Fixed various bug in the OpenType Layout code (HarfBuzz)
- Improved documentation
- Improved ATSUI backend
- Misc build system fixes
- Bugs fixed in this release:
Bug 417946 – pangowin32-fontmap.c:using function without prototype
Bug 419262 - Don't create coverage every time it's asked for
Overview of changes between 1.16.0 and 1.16.1
==============================================
- Improved Win32 backend: The Win32 backend has been
updated to always require Uniscribe at compile-time (it still
is optional at run-time), and to use the wide-character variants
of Windows APIs which improves the backend in many ways. The
1.16.0 release is obsolete as far as the Win32 backend is
concerned, and official DLLs were not built for it.
- Misc build system fixes
- Bugs fixed in this release:
Bug 110521 – can't find bold and/or italic fonts on win32
Bug 120195 – there are some functions in pangowin32-fontmap.c that
might maybe should be static
Bug 407315 – Use wide character Win32 API in the pangowin32 code
Bug 412654 – SED variable undefined in the `libtool --config' output
used by configure
Bug 414297 – Fails to build with --enable-static
--with-included-modules in thai lang module
Patch from Loïc Minier
Overview of changes between 1.15.6 and 1.16.0
==============================================
- Improved docs, with an object hierarchy and cross references to glib and
cairo docs now (may require rebuilding the docs to correctly detect glib
and cairo prefixes).
- Improved font selection for space characters
- Misc build system fixes
- Bugs fixed in this release:
Bug 407087 – autogen.sh wants automake-1.7
Bug 409212 – Missing link flag prevents build with "-z defs" ld flags
Patch from Loïc Minier
Bug 355987 – choosing font/shaper for spaces breaks Arabic runs on
spaces
Overview of changes between 1.15.5 and 1.15.6
==============================================
- Fix possible crasher in win32 font selection [Owen Taylor]
- Misc build fixes.
- Bugs fixed in this release:
Bug 399738 – pango 1.15.5 won't compile on Mac OS X: 'FC_HINT_STYLE'
undeclared (first use in this function)
Bug 404295 – Crash initializing pango-win32 fontmap
Overview of changes between 1.15.4 and 1.15.5
==============================================
- Fix the "menu accels are two chars wide" bug that was introduced in 1.15.4
- Respect FC_HINT_STYLE in the ft2 backend. Patch has been in Fedora for ages.
- Require automake 1.9
Bugs fixed in this release:
Bug 398238 – pangorc file missing from tests directory
Overview of changes between 1.15.3 and 1.15.4
==============================================
General:
- Finish vertical text support.
- Fix various bugs that could cause ellipsization to stop prematurely.
- Fix rendering of background color being off in presence of rise attribute.
- Improved text-on-path example (examples/cairotwisted.c)
Win32 Improvements:
- Don't check for X and don't warn about missing fontconfig. [Tor Lillqvist]
- Automatically use -mms-bitfields on Windows when building with gcc. [Tor]
- Update makefile.msv. [Hans Breuer]
Code base cleanups:
- Whitespace cleanups. Hopefully patches still apply using patch -l
- Replace C++-style // comments with C-style /* */ ones.
- Move the pango-view tool from examples/ into pango-view/. The examples/
dir is still available and for simple examples only.
Public API changes:
- New PangoLayout query functions:
pango_layout_is_wrapped()
pango_layout_is_ellipsized()
pango_layout_get_unknown_glyphs_count()
The is_wrapped and is_ellipsized functions return whether the layout
had to wrap/ellipsize any paragraphs, as opposed to the get_wrap and
get_ellipsize that return the wrap/ellipsize mode set.
- Misc new function:
pango_parse_enum()
This is more a convenience function for internal use, but set public
to go with other pango_parse_* functions. Bindings should feel free
to ignore this.
- New header files:
Moved gravity and matrix stuff into their own header files pango-gravity.h
and pango-matrix.h. Both are included from pango-types.h.
- Vertical text:
New attribute types:
PANGO_ATTR_GRAVITY
PANGO_ATTR_GRAVITY_HINT.
New enum type:
PangoGravityHint
New macro:
PANGO_GRAVITY_IS_VERTICAL()
New public functions:
pango_attr_gravity_new()
pango_attr_gravity_hint_new()
pango_gravity_hint_get_type
pango_context_set_gravity_hint()
pango_context_get_gravity_hint()
pango_gravity_get_for_matrix()
pango_gravity_get_for_script()
Removed:
pango_matrix_to_gravity()
replaced by pango_gravity_get_for_matrix()
Gravity API added in previous releases:
PangoGravity
pango_gravity_get_type
pango_context_get_base_gravity
pango_context_get_gravity
pango_context_set_base_gravity
pango_font_description_get_gravity
pango_font_description_set_gravity
pango_gravity_to_rotation
A tip on using the vertical text support: If you just want to get correct
behavior in rotated labels (say, vertical Chinese/Japanese, but rotated
Latin, etc), all you need to do is to set the context gravity to
PANGO_GRAVITY_AUTO. You can do this for example
#if defined(PANGO_VERSION_CHECK) && PANGO_VERSION_CHECK(1,15,4)
pango_context_set_gravity (context, PANGO_GRAVITY_AUTO);
#endif
Bugs fixed in this release:
Bug 395328 – Map kATSDeletedGlyphcode to PANGO_GLYPH_EMPTY
Bug 397337 – Use is_ellipsized and is_wrapped to optimize property
changes
Bug 328585 – Need to know if a layout has unknown glyphs
Patch from LingNing Zhang
Bug 326693 – PangoLayouts should be query-able about their
effective properties (width / wrapped / ellipsized / etc)
Bug 397327 – pango-layout.c: 'pango_layout_is_ellipsized' must return
a value
Bug 323173 – Add layout of mixed direction text for vertical layout
Bug 394453 – Use -mms-bitfields
Bug 392628 – Don't check for X on win32
Overview of changes between 1.15.2 and 1.15.3
==============================================
- Fix Hangul crasher and other Hangul bugs introduced in 1.15.2
- Spell-checked docs
- Build fixes
- Don't introduce bitfields in public structs. This changes some public API
that was broken in the 1.15 series. The new struct is backward compatible
with the older Pango series, but not with earlier 1.15.x devel releases.
- New Public API:
* PangoAnalysis.flags and PANGO_ANALYSIS_FLAGS_CENTERED_BASELINE. These are
mostly only useful for the vertical text support in Pango, but language
bindings probably want to update their bindings for PangoAnalysis to
include these.
* New PangoMatrix methods:
pango_matrix_transform_distance()
pango_matrix_transform_point()
pango_matrix_transform_rectangle()
pango_matrix_transform_pixel_rectangle()
The transform_rectangle methods are particularly useful when an
app/toolkit wants to know the extents of a rotated layout in device
coordinates. It will be used by Gtk+ for example, and is used by the
pango-view tool too. The _pixel_ variant takes a PangoRectangle in device
units instead of Pango units.
* Unit conversion helpers:
pango_units_from_double()
pango_units_to_double()
pango_extents_to_pixels()
The first two just convert between Pango units (fixed precision) and
double floating-point numbers. The current implementations are as simple
as "(int)floor (d * PANGO_SCALE + 0.5)" and "(double)i / PANGO_SCALE", but
the idea is to have optimized versions of these that do not use the FPU in
the future. That will be appreciated by embedded devices without FPU
units. Since the functionality can be generally useful, the API is made
public.
The pango_extents_to_pixels() function in conjunction with
pango_matrix_transform_rectangle() makes it possible to convert extents to
device space and round then, instead of having to transform rounded
user-space extents.
- Bugs fixed in this release:
Bug 351496 – PangoAnalysis::gravity breaks binary compatibility
Bug 388702 – Crash when there's no Hangul glyph in the font.
Bug 384543 – FcFontMatch misuse
Bug 392789 – vpath build fails in basic module
Patch from J. Ali Harlow
Bug 390877 – Don't feed pango-features.h to glib-mkenums
Patch from Yevgen Muntyan
Overview of changes between 1.15.1 and 1.15.2
==============================================
* Engines:
- Improved Hangul shaper engine
- Improved Indic shaper and language engines
- Require libthai >= 0.1.7 for the Thai language engine
* Optimizations:
- Avoid some floating-point operations. Should cut the number of float
ops per expose event in pangocairo to a half.
- Cache ink and logical extents for PangoLayout
* New Public API:
- New, generated, public header file pango-features.h. Included by
pango.h. Currently contains the version information. In the future,
can be expanded to define which backends have been enabled, etc.
- Public macros and functions for compile- and run-time version checking:
PANGO_VERSION_ENCODE()
PANGO_VERSION_MAJOR
PANGO_VERSION_MINOR
PANGO_VERSION_MICRO
PANGO_VERSION
PANGO_VERSION_STRING
PANGO_VERSION_CHECK()
pango_version()
pango_version_string()
pango_version_check()
The scheme chosen here is a mixture of approaches taken by glib and cairo.
The advantage over the glib model is that there are no public variables,
but it still gives access to a string and numerical representation of the
version number at compile- and run-time.
The macros enable conditional compilation of code depending on newer Pango
APIs, while the runtime functions allow refusing to run against old
versions of the library.
- New, readonly, version of methods that give read/write access to the
internals of PangoLayout:
pango_layout_get_line_readonly()
pango_layout_get_lines_readonly()
pango_layout_iter_get_line_readonly()
pango_layout_iter_get_run_readonly()
These should be used when you do not intend to modify the run/line,
which is most of the time the case. The only exception known to me
is Firefox that adjusts glyph widths to do justification. Most other
uses that do not write to the returned structs (or structs accessible from
them) should be ported to the new readonly API to benefit from major
optimizations (in this case, line extents caching). The list includes,
but is not limited to, Gtk+, SWT, ClassPath, gnome-applets, libgnomeprint,
xmlroff, GtkMathView, Conglomerate, Dia, Anjuta, wxWindows, The Gimp,
and various other applications/libraries:
http://www.google.com/codesearch?hl=en&q=+pango_layout_(iter_)%3Fget_(lines%3F%7Crun)%5B%5E_%5D&start=50&sa=N
Worth noting here is that, many uses of pango_layout_get_lines() can be
replaced by a pango_layout_get_iter() that works both more elegantly and
more efficiently. The versioning macros introduced in this release can be
used to make code use these new symbols without breaking compilation
against older Pango (though, such code compiled with the new Pango cannot
be run against an older Pango).
- pango_language_get_default(): Note that, this does not make Pango
fallback to the default language automatically (yet), but the user can
use this function to set the default language of the locale on a context:
pango_context_set_language (context, pango_language_get_default());
This essentially deprecates gtk_get_default_language(). The pango-view
tool has been updated to use this feature, so it now respects $LANG when
choosing fonts.
- pango_color_to_string().
* Bugs fixed in this release:
Bug 326099 – Setting width, indentation and ellipsizing doesn't work
as I would expect
Bug 385478 – Fix tests on OPD platform
Bug 319808 – Patch to let pango support artifical italic, bold and
bold italic styles for the fonts which don't have these styles.
Patch from James Su
Bug 385321 – Worst case expansion for Sinhala
Patch from Harshula
Red Hat Bug 211574: [hi/ml/si_LK] cursor naviation is wrong when
using ZWJ (200d)
Patch from LingNing Zhang
Red Hat Bug 216424: [te_IN] pango - consonant + dependent vowel (ai)
Composed char is not rendering properly
Patch from LingNing Zhang
Bug 373856 – Wish: Function to convert a GdkColor to a string
Patch from Matthew Barnes
Red Hat Bug 216850: Issue in combination with vowels (ml_IN)
Patch from LingNing Zhang
Bug 382437 – tests/testboundaries fails
Bug 333982 – Fallback to $LANG whenever NULL PangoLanguage is used
Patch from LingNing Zhang
Overview of changes between 1.15.0 and 1.15.1
==============================================
* Add Thai langauage engine. (currently makes tests/testboundary fail.)
* Add Lao and improved Thai sample text.
* Improved Indic module.
* Output correct path for hexboxes in pango_cairo_layout_path().
* Implement get_resolution method for the FT2 fontmap. Shouldn't make
any difference whatsoever. Open a bug if it does.
* Misc small fixes.
* Optimizations:
- Rework PangoLayout algorithms to avoid calling a recursive call to
pango_layout_get_extents(). Avoids one pango_font_get_glyph_extents()
call per glyph per layout rendering. We now make 2 such calls.
- Don't cache run_logical_rect in PangoLayoutIter.
Avoids one pango_font_get_glyph_extents() call per glyph per layout
rendering. We are down to 1 now.
- Cache line extents. This avoids the final pango_font_get_glyph_extents()
call per glyph per layout rendering. Now we don't make any
pango_font_get_glyph_extents() calls when rendering a layout (some
conditions apply)!
- Replace PANGO_IS_RENDERER with PANGO_IS_RENDERER_FAST for most
internal uses, that is, just a NULL-check.
- Use simple, fast, casts instead of PANGO_CAIRO_*() macros where the
object cannot have reached us if it wasn't of the right type.
* Bugs fixed in this release:
Bug 135683 – Cache glyphstring extents
Red Hat Bug 211964: [ta] Rendering issue with Tamil
Patch from LingNing Zhang
Red Hat Bug 213632: ZWJ (200d) and ZWNJ (200c) showing same output
Patch from LingNing Zhang
Bug 371388 – Add Thai langauage engine
Patch from Theppitak Karoonboonyanan
Bug 377975 – bug in _pango_glyph_item_iter_next_cluster
Bug 369670 – Checked g_free calls
Changes that also appeared between 1.14.7 and 1.14.8
=====================================================
* Improved thread-safety. Pango is still NOT thread-safe, but this fixes
lots of crashes using pangocairo from multiple threads.
* Fix out-of-bounds array access.
* Improved Indic shaper.
* Improved Arabic language engine.
* Choose shaper/font for unassigned Unicode codepoints.
* Build fixes.
* Bugs fixed in this release:
Bug 356666 – pango is not thread-safe, nautilus does not honour that
Bug 352795 – configure.in: Bug in "checking Whether to write
dependencies into .pc files"
Bug 350132 – backspacing doesn't work properly for Arabic
Bug 330407 – Multiple dependant vowel signs (indic) displayed as one
Patch from LingNing Zhang
Overview of changes between 1.14.7 and 1.15.0
==============================================
* Add basic support for vertical text. (PangoGravity and related API)
* New PangoCairo example (examples/cairotwisted) to lay text out on a path
* Fix various bugs in the way language engines are used. Add simple Arabic
and Indic language engines. (Backported to 1.14.6)
* Step module interface version up to 1.6.0
* Misc small cleanups.
* Bugs fixed in this release:
Bug 330407 – Multiple dependant vowel signs (indic) displayed as one
Bug 359043 – PangoRenderer does not show in API docs
Bug 359046 – renderdemo.c unconditionally use GLib 2.12
Bug 357228 – Remove aix specific hack from configure.in
Part of Bug 350132 – backspacing doesn't work properly for Arabic
Bug 356194 – more pango_get_log_attrs problems
Bug 355820 – pango_get_log_attrs broken
Bug 352811 – SIGSEGV with pango(cairo)-view on HP-UX
Bug 351496 – PangoAnalysis::gravity breaks binary compatibility
Bug 351585 – API documentation issues with 2.15 release
Overview of changes between 1.14.6 and 1.14.7
==============================================
* Fixed broken build with included lang modules.
* Bugs fixed in this release:
Bug 361938 – Can't include *-lang modules (./configure
--with-included-modules fails)
Overview of changes between 1.14.5 and 1.14.6
==============================================
* Backport language-engine handling fixes from HEAD.
* Add simple Arabic and Indic language engines.
* Indic shaper fixes.
* Bugs fixed in this release:
Bug 353877 – Sinhala is_cursor_position and
backspace_deletes_character issues
Patch from Akira TAGOH
Bug 358224 – Telugu Character U+0C31 does not render its below-base
form.
Patch from Rahul Bhalerao
Bug 358174 – Reph and Vattu forms of Assamese character RA(U+09F0)
are not rendered.
Patch from Rahul Bhalerao
Overview of changes between 1.14.4 and 1.14.5
==============================================
* Indic shaper fixes.
* Misc bug fixes.
* Bugs fixed in this release:
Bug 356685 – [or_IN] Rendering of consonant+0x0B4D+0x0B2F is wrong
Patch from Rahul Bhalerao
Bug 357790 – Rendering problem for malayalam consonant RA (U+0D30)
Patch from Rahul Bhalerao
Bug 349813 – typo in docs for pango_layout_move_cursor_visually
Bug 357686 – pangocairo-font.c: illegal g_object_unref in
pango_cairo_font_get_hex_box_info
Overview of changes between 1.14.3 and 1.14.4
==============================================
* Indic shaper fixes.
* Misc bug fixes.
* Bugs fixed in this release:
Bug 351223 – the conjuction of Con + 0x0d4d +0x0d31 of Malayalam is
wrong
Patch from LingNing Zhang
Bug 355750 – The glyphs of the conjuctions about Cons+0x0d4d+0x0d32 of
Malayalm are wrong.
Patch from LingNing Zhang
Bug 349876 – U+0x0904 of Devanagari need be "independent vowel", but
it is "reserved" in Pango
Patch from LingNing Zhang
Bug 355550 – Miscalculation of logical attributes in
pango_get_log_attrs()
Patch from Theppitak Karoonboonyanan
Bug 355697 – The IndicOTClassTable of Oriya has a error.
Bug 355782 – Misaligned extents in pango
Bug 355605 – hexbox with 0000 in it
Bug 355435 – Invalid calls to pango_map_get_engine()
Patch from Theppitak Karoonboonyanan
Bug 347146 – underline/overstrike spaces
Bug 352535 – Ink extents of empty glyph
Overview of changes between 1.14.2 and 1.14.3
==============================================
* Win32 build improvement. [Tor Lillqist]
* Bugs fixed in this release:
Bug 353525 – libpangoft2-1.0.so.0: undefined reference to
`pango_font_description_get_gravity'
Bug 349813 – typo in docs for pango_layout_move_cursor_visually
Overview of changes between 1.14.1 and 1.14.2
==============================================
* Find shaper/font for Private Use and space characters.
Part of Bug 145275 – Font selection for space characters
Overview of changes between 1.14.0 and 1.14.1
==============================================
* Increased fontset cache size from 16 to 64. This should make
firefox+pango A LOT faster.
* Bugs fixed in this release:
Bug 352114 – pango-1.14: generated docs still contain old example code
Part of Bug 348825 – pango should optimize away calls to FcFontSort as
much as possible
Bug 351585 – API documentation issues with 2.15 release
Overview of changes between 1.13.5 and 1.14.0
==============================================
* Make pango-view accept non-ASCII --text.
* Require cairo-1.2.2 for the important bug fixes it has.
Overview of changes between 1.13.4 and 1.13.5
==============================================
* Indic shaper improvements.
* Misc fixes.
* Bugs fixed in this release:
Bug 121672 – Ra (vattu) not rendered properly in Malayalam
Patch from LingNing Zhang
Bug 335811 – Some conjugates of Malayalam are wrong.
Patch from LingNing Zhang
Overview of changes between 1.13.3 and 1.13.4
==============================================
* Update to Unicode Character Database 5.0.0.
* Misc fixes.
* Bugs fixed in this release:
Bug 336282 – Update to Unicode Character Database 5.0.0
Bug 347073 – Allow empty GPOS table
Bug 347021 – atsui crash when a matching font cannot be found.
Patch from Brian Tarricone.
Overview of changes between 1.13.2 and 1.13.3
==============================================
* Improved build system. Using gnome-autogen.sh now.
(gnome-common needed for bootstrapping)
* Improved documentation. Docs now include list of new API for
each stable version of Pango.
* New public API:
- pango_glyph_string_get_width
* Little performance improvement.
* Misc fixes.
* Bugs fixed in this release:
Bug 330603 – pango_scan_int invokes undefined behaviour
Bug 315599 – PangoAttribute remains in wrong context.
Bug 163677 – pango_attr_list_splice: inconsistent docs
Patch from Morten Welinder
Bug 345070 – [ml_IN] not render for combination with ZWJ
Patch from LingNing Zhang
Bug 345274 – list of new symbols for each version is missing in docs
Patch from Priit Laes
Bug 346297 – autogen doesn't work with automake-1.6
Patch from Priit Laes
Bug 135683 – Cache glyphstring extents
Bug 344766 – Memory leak in get_ruleset() in modules/basic/basic-fc.c
Bug 345600 – cvs build error in pango/opentype/Makefile
Bug 345511 – -no-undefined problem with new libtool
Overview of changes between 1.13.1 and 1.13.2
==============================================
* Improved hexbox drawing, and font metrics calculations.
* Synthesize italic variants on win32 [Hans Breuer]
* New public API:
- pango_cairo_show_error_underline
- pango_cairo_error_underline_path
- pango_font_describe_with_absolute_size
* Misc fixes.
* Bugs fixed in this release:
Bug 326960 – hex box drawing for win32 and atsui backends of cairo
Bug 343717 – License information in unclear.
Bug 343355 – Add pango_cairo_show_error_underline &
pango_cairo_error_underline_path
Bug 343966 – pango Cygwin build fixes
Patch from Cygwin Ports maintainer.
Bug 343796 – Italic Chinese character can't be show correctly in
Win32.
Bug 314114 – max_x_advance not appropriate for
approximate_(char|digit)_width
Bug 341138 – Using TTC font, Gtk2 programs begin to eating big memory
and have many cpu usage.
Patch from Yong Li.
Bug 336153 – Mark to mark positioning (Lookup Type 6) isn't correct
when using MarkAttchmentType
Patch from Tin Myo Htet.
Bug 333984 – pango_language_from_string improvements
Bug 125378 – Better underline thickness handling
Bug 339730 – Pango needlessly falls back away from a Type 1 font into
a TTF font
Bug 342562 – Support absolute sizes in
pango_font_description_to/from_string
Bug 341922 – pango should handle more characters as zero width
Patch from Roozbeh Pournader
Bug 342525 – With PangoFc and PangoWin32, approximate digit width is
not what it says
Bug 342079 – pangoatsui-private.h missing from release
Overview of changes between 1.13.0 and 1.13.1
==============================================
* Increased robustness against broken pango.modules
* Improved build infrastructure:
- Remove CAIRO_CFLAGS from pangocairo.pc.in, as it Require's cairo already.
- Use -no-undefined on Unix too.
* Improved documentation.
* Misc fixes.
* Bugs fixed in this release:
Bug 307196 – Unhinted fonts are measured incorrectly and drawing
problems occur as a result
Bug 329547 – pango_layout_get_pixel_extents and
pango_layout_get_pixel_size cause off-by-one metrics
Bug 339747 – pango_font_metrics_get_approximate_digit_width docs
Bug 339749 – pango_language_from_string issues
Patch from Morten Welinder.
Bug 333771 – Use gmodule-no-export-2.0 instead of gmodule-2.0 in
pango-uninstalled.pc.in
Bug 337594 – pango_glyph_string_extents_range possible bug
Bug 329664 – Move gunichar_to_glyph cache from PangoCairoFcFont to
PangoFcFont
Patch from LingNing Zhang.
Bug 322374 – Examples does not build on MacOS X
Bug 340229 – pango_font_description_from_string does not do bound
checking
Bug 329483 – hinting hexbox in cairo backend doesn't handle absolute
font size
Bug 340040 – pangocairo hex box hinting falls apart with PS/PDF
backends
Bug 71033 – make size 0 fonts work
Overview of changes between 1.12.0 and 1.13.0
==============================================
* Fix incorrect rendering when in x86 64-bit precision mode
https://bugs.freedesktop.org/show_bug.cgi?id=5200
* Fix non-OpenType fonts losing kerning in 1.12.0 [#336026, Denis Jacquerye]
* Fix blurred underlines on Win32 [#332656, Tor Lillqvist]
* Build fix when having both Win32 and FreeType cairo backends available
[#337502, Alexander Larsson]
* Moved the OpenType Layout code into a new project called HarfBuzz:
http://www.freedesktop.org/wiki/Software/HarfBuzz
* Improved documentation.
* Misc bug fixes.
* Fixed many compiler warnings.
* Bugs fixed in this release:
332656,335840,334802,337029,337821,338343
Overview of changes between 1.11.99 and 1.12.0
==============================================
* Compilations fixes for MSVC. [#333115, Tor Lillqvist]
* More NULL-check against unusable fonts, helps with Win32 fonts without
a Unicode cmap. [Tor]
* Use g_print instead of printf for debugging output in Win32 backend.
[#332855, Tor]
Overview of changes between 1.11.6 and 1.11.99
==============================================
* Fix problem recently introduced that made Win32 backend render boxes
only. [#332538, Hans Breuer]
* Insert '?' chars instead of invalid UTF-8 sequences in
pango_layout_set_text [#33195]
* Bugs fixed in this release:
332167,332538,331995
Overview of changes between 1.11.5 and 1.11.6
=============================================
* Do not export macros PANGO_GLYPH_EMPTY, PANGO_GLYPH_UNKNOWN_FLAG and
PANGO_GET_UNKNOWN_GLYPH publicly; just in the engine/backend interface.
* Fix a few crashers, especially when a font cannot be read. [#314239]
* Change some g_critical's to g_warning, where it's not application's
fault. [#331723]
* Bugs fixed in this release:
330795,331038,329148,331994,331995,331996,314239,331723
Overview of changes between 1.11.4 and 1.11.5
=============================================
* Cleanup work on the win32 backend. Families are not listed all
in lower case anymore.
* New public function: pango_win32_font_description_from_logfont.
* pango-view accepts --wrap now, and lists backends in --help output.
* A couple minor bug fixes.
Overview of changes between 1.11.3 and 1.11.4
=============================================
* Major change in the low-level interface of Pango. The special value
PANGO_GLYPH_EMPTY is now defined to mean a "draw nothing" glyph. This
was what glyph 0 was used for previously. As a result, bumped up the
Pango module version, meaning that modules compiled against earlier
versions are probably not compatible with this release. [#73147]
* New framework in examples for building a binary called pango-view,
that can be used to render a text file using any of the available
backends. This is installed into bindir now.
* Enhancements to the FT2 backend, to draw boxes on missing glyphs.
* Better hexbox drawing for cairo backend: Hinting hexbox, and
drawing a single-row hexbox for very small font sizes.
* Improved documentation.
Overview of changes between 1.11.2 and 1.11.3
=============================================
* Do not crash if the shapers fail.
* Use g_slice for various struct allocations.
* 100% symbol coverage in docs.
* Misc bug fixes and documentation improvements.
* Janitory works, like removing unneeded files.
Overview of changes between 1.11.1 and 1.11.2
=============================================
* Draw hex box on missing glyphs for cairo-fc backend.
* New --with-dynamic-modules option added to configure.
* Use g_slice for various small memory allocations [Matthias Clasen]
* Misc bug fixes, optimizations, and documentation improvements.
Overview of changes between 1.11.0 and 1.11.1
=============================================
* ATSUI support for the cairo backend. [Anders Carlsson]
* Fixed a couple of regressions with font size and scaling.
* Draw a dashed empty box on missing glyphs for cairo-fc backend.
* Support OpenType features for basic (Latin/Greek/...) module.
* Support swash feature in Arabic module.
* Misc bug fixes.
* Misc documentation improvements.
Optimizations:
* Cache GObject private data in PangoFcFont.priv [Federico Mena Quintero]
* Add a constant-sized light-weight cache for glyph extents.
* Use g_slice_* instead of GMemChunk in mini-fribidi.
Overview of changes between 1.10.1 and 1.11.0
=============================================
* Line-breaking algorithm updated to Unicode 4.1.
* Code borrowed from GNU FriBidi resynched to version 1.0.7.
* New improved Tibetan shaper module. [Pema Geyleg]
* Bug fix in Khmer shaper module. [Jens Herden]
* Respect fontconfig reassignment of font pixelsize. [Funda Wang]
* Make OpenType GPOS handling more robust/correct. [Greg Aumann]
* Various documentation fixes and improvements.
* Various gcc warning fixes.
* Misc bug fixes.
Optimizations:
* Add a lazy fixed-size per-font cache to map characters to glyphs,
in the cairo backend. [Federico Mena Quintero]
* Optimize character to script mapping by adding a linear table for
characters < U+2000, and also caching the last mid point in
bsearch. [Federico, Matthias Clasen]
* Enabled mini-fribidi's trashstack instead of direct mallocs.
* Short circuit the bidi algorithm for provably unidirectional text.
* Make mini-fribidi process UTF-8 directly.
* Several strlen and g_utf8_strlen calls removed. [Owen Taylor, Billy Biggs]
* Use call tables in the OpenType layout code.
* Use quarks for accessing GObject data. [Federico]
* Open Pango modules with lazy-bind flags. [John Rice]
* Use new negative offsets in g_utf8_pointer_to_offset to avoid
scanning from the beginning of line on cursor movement.
* Avoid redundant PANGO_IS_FC_FONT checks.
Overview of changes between 1.10.0 and 1.10.1
=============================================
* Add various forms of caching to the Win32 backend, greatly
improving performance [Tor Lillqvist]
* Fix problem with colors leaking from a Pango item to
subsequently drawn strings. [Choe Hwanjin]
* Fix bug where error underlines would be drawn 1024 times
too big in the Cairo backend. [Luis Villa]
* Misc bug and build fixes [Jean Brefort, Matthias Clasen,
Behdad Esfahbod, Kazuki Iwamoto]
Overview of changes between 1.9.1 and 1.10.0
============================================
* Update script tables, bidi tables, and Arabic joining tables for Unicode 4.1
[Roozbeh Pournader, Behdad Esfahbod]
* Misc bug and build fixes [Sebastien Bacher, Hans Breuer, Behdad,
J. Ali Harlow, Tor Lillqvist, Keith Packard, Vittorio Palmisano, Manish Singh]
Overview of changes between 1.9.0 and 1.9.1
==========================================
* Support setting of font options and DPI on PangoContext for
the Cairo backend.
* Adapt to recent Cairo API changes
* Win32 build improvements [Tor Lillqvist]
* Misc bug fixes [Hans Breuer, Thomas Fitzsimmons, Kazuki IWAMOTO]
Overview of changes between 1.8.x and 1.9.x
===========================================
* Add Cairo support; PangoCairoFontmap is an interface with
implementations for Fontconfig fonts and Win32 fonts
* Extend PangoFcFontmap to allow more customization by subclasses
* Handle NULL language better for pango_context_get_metrics()
* misc optimization [Paolo Borelli, Behdad Esfahbod]
* Misc bug and build fixes [Hans Breuer, Damien Carbery,
Keith Packard, Manish Singh]
* Doc fixes [Tim Janik]
============================================================
Overview of changes between 1.8.1 and 1.8.2
===========================================
* Add Khmer support [Jens Herden, Javier Sola]
* Fix bugs and crashes in the operation of PangoLayoutIter [Amit Aronovitch]
* Increase sharing of data between different copies of Pango
[Tommi Komulainen, Ross Burton]
* Remove dependence of opentype code on FreeType internals [David Turner,
Behdad Esfahbod]
* Cache metrics for the Win32 backend [Tor Lillqvist]
* Improve handling of RTL text when passing it to Uniscribe [Tor]
* Support for TrueType fonts on Win32 with characters outside the BMP [Tor]
* Handle alpha in XftColors again. [Mikael Magnusson]
* Better handling of MacThai encoded fonts [Theppitak Karoonboonyanan]
* Handle zero width chars properly in Hangul backend
[Young-Ho Cha, Changwoo Ryu]
* Fix Oriya character classification [Gora Mohanty, Gautam Sengupta]
* PangoAttrIterator bug fixes [Morten Welinder]
* Clean up copyright/licensing information [William N. Ray]
* Misc bug and build fixes [Sebastien Bacher, Brandon Bergren,
Chris Blizzard, Paolo Borelli, Behdad, Harshula, Alex Jones, Aivars Kalvans,
Stepan Kasal, Karel Kulhavy, Ryan Lortie, Ben Maurer, Sukhjinder Sidhu,
Manish Singh, Emil Soleyman-Zomalan, Morten]
Overview of changes between 1.8.0 and 1.8.1
===========================================
* Fix several problems with conjuct formation in Sinhala [Harshula]
* Fix problems that were causing fonts to be missized and
not print in GtkHTML [Ross Burton]
* Fix compilation with old fontconfig [Vincent Noel] and
old FreeType [Andrew P. Lentvorski, Jr]
* Work around problem with glyphs in monospace fonts being truncated
by Xft [Billy Biggs]
* Misc bug fixes [Damon Chaplin, Matthias Clasen, Kees Cook, Nick Lamb,
Adam Sampson,Manish Singh, Morten Welinder]
* Misc build fixes [Sebastien Bacher, Matthias Clasen, Tor Lillquist]
* Doc improvements [Torsten Schoenfeld, Billy Biggs, Morten Welinder]
Overview of changes between 1.7.0 and 1.8.0
===========================================
* Add Sinhala support to the Indic module [Anuradha Ratnaweera]
* Add Tibetan module [G Karunakar, Pema Geyleg]
* Support pixel sizes for fonts [Chris Lahey]
* Add pango_layout_get_font_description() [Morten Welinder]
* Add PANGO_WEIGHT_SEMIBOLD [Lars Clausen]
* Report underline metrics on Win32 [Tor]
* Handle GLib-2.6.0 win32 filename encoding changes [Tor Lillqvist,
Robert Ögren]
* Fix crash when drawing long strings
* Misc fixes [Matthias Clasen, Dan Winship]
Overview of changes between 1.6.x and 1.7.0
===========================================
* Add PangoRenderer, a subclassable driver object holding the
logic for rendering PangoLayout.
* Support transformed rendering for the Xft backend
* Add Lao support in Thai Module [Theppitak Karoonboonyanan]
* Support Thai OpenType fonts [Theppitak]
* Add Syriac module [Emil Soleyman-Zomalan]
* Add underline-color and strikethrough-color attributes
[Morten Welinder]
* Add pango_win32_render_transformed() [Hans Breuer]
* Misc fixes [Hans Breuer, Matthias Clasen, Manish Singh,
Morten Welinder]
* Documentation improvements
============================================================
Overview of changes since 1.6.0
===============================
* Fix several problem when computing font and selecting fonts
metrics for CJK [Felipe Heidrich, Federic Zhang]
* Win32 bug fixes [Tor Lillqvist, Kazuki Iwamoto, Ivan Wong]
* Misc bug fixes [Vincent Berger, Paolo Borelli, Behdad Esfahbod,
Leon Ho, Arun M, Kjartan Maraas, Vincent Noel, Christian Persch,
Enrico Scholz, Sukhjinder Sidhu, Morten Welinder]
Overview of changes between 1.5.2 and 1.6.0
===========================================
* Add OpenType support for Hebrew [Dov Grobgeld]
* Win32 bug and build fixes [Tor Lillqvist, Hans Breuer, John Ehresman]
* Misc bug fixes [Behdad Esfahbod, Jatin Nansi]
Overview of changes between 1.5.1 and 1.5.2
===========================================
* Support 'init' feature for Bengali [Sayamindu Dasgupta]
* Allow 32-bit property fields in OpenType code
* Optimize repeated property lookups in OpenType code
* Misc bug fixes [Behdad, Keith Sharp, Morten Welinder]
Overview of changes between 1.5.0 and 1.5.1
===========================================
* Add ellipsization support to PangoLayout
* Add pango_context_get_font_map().
* Fix metrics for the Xft backend when a transform is in effect
* Separate out backend-independent parts of pangoft2topgm for
future rendering testbeds.
* Code cleanups (use G_DEFINE_TYPE, make PangoMatrix parameters const)
* Add a GType for PangoMatrix [Torsten Schoenfeld]
* Misc bug fixes [Morten Welinder]
Overview of changes between 1.4.x and 1.5.0
===========================================
* Allow applications to provide custom font decoders [Chris Blizzard]
* Add support for setting a transformation matrix on a PangoContext
* Add support for rotated rendering to the FT2 backend
* Add metrics for underline and strikethrough position and thickness.
* Add letter-spacing attribute and implement in PangoLayout
* OpenType support in Thai Module [Theppitak Karoonboonyanan]
* Add Add PANGO_TYPE_LAYOUT_ITER [Johan Dahlin]
============================================================
Overview of changes between 1.4.0 and 1.4.1
===========================================
* Win32 bug fixes [Tor Lillqvist, John Ehresman]
* Thai rendering improvements including OpenType support
[Theppitak Karoonboonyanan]
* Fix common crash in Hangul shaper [Changwoo Ryu]
* Fix various problems with language tag selection [Frederic Zhang]
* Documentation improvements [Felipe Heidrich, Doug Quale]
* Fix crash in line break code [Jeroen Zwartepoorte, Billy Biggs]
* Build fixes [J. Ali Harlow, Noah Misch]
* OpenType engine fixes [Kailash C. Chowksey, Sayamindu Dasgupta, Aamir Wali,
Masatake YAMATO, Soheil Hassas Yeganeh]
* Indic module bug fixes [Chris Blizzard, Rajkumar S, Taneem Ahmed,
Jungshik Shin]
* Misc bug fixes [Stanislav Brabec, Anders Carlsson, Behdad Esfahbod,
Jody Goldberg, Theppitak, Sven Neumann, Manish Singh, Morten Welinder]
Overview of changes between 1.3.6 and 1.4.0
===========================================
* Use FC_WIDTH when available so that multiple width fonts are
selected properly [Manish Singh]
Overview of changes between 1.3.5 and 1.3.6
===========================================
* Improve handling of some Kannada vowels [Kailash C. Chowksey]
* Fix problem with excess symbol exports on Linux [James Henstridge]
* Win32 build fixes [Hans Breuer, John Ehresman, Tor Lillqvist, Cedric Gustin,
J. Ali Harlow]
Overview of changes between 1.3.3 and 1.3.5
===========================================
* Add support for automatically determining the base direction for
PangoLayout from the contained text [Dov Grobgeld]
* Major rework of internal opentype interfaces to fix
problems with GPOS. Turn on GPOS handling for Arabic.
* Add a PangoAttribute to turn off font fallback [Noah Levitt]
* Add wavy error-indication underlines [Nicolas Setton]
* Improve handling of BENGALI LETTER A/E [Sayamindu Dasgupta]
* Win32 bug fixes and improvements [J. Ali Harlow, Hans Breuer]
* Misc bug fixes [Noah, Roozbeh Pournader]
Overview of changes between 1.3.2 and 1.3.3
===========================================
* Add pango_font_face_list_sizes() [Noah Levitt]
* Add pango_font_family_is_monospace [Noah]
* Do OpenType processing for CFF fonts [Manjunath Sripadarao]
* Fix wrong sign for GPOS vertical positioning
* Fix up -uninstalled .pc files [Laszlo Peter]
* Misc bug and build fixes fixes [Rodney Dawes, Theppitak Karoonboonyanan,
Noah, Kjartan Maraas, Julio M. Merino Vidal, Christian Persch,
Torsten Schoenfeld, Manish Singh, Mariano Suárez-Alvarez, Morten Welinder,
Masatake YAMATO]
Overview of changes between 1.3.1 and 1.3.2
===========================================
* Correct a mixup between ZWJ and ZWNJ in the Arabic
engine [Roozbeh Pournader]
* Build and bug fixes for Win32 [Hans Breuer]
* Fix a problem with RTL scripts on Win32 [Tor Lillqvist, Shoshannah Forbes]
* Documentation improvements [Ross Burton, Matthias Clasen]
Overview of changes between 1.3.0 and 1.3.1
===========================================
* Support non-Unicode font encodings when supported by fontconfig
[Sven Neumann]
* Draw 6-digit hex boxes for > U+FFFF [Noah Levitt]
* Update to latest fribidi [Noah]
* Honor U+2028 LINE SEPARATOR [Noah]
* Fix a problem with iteration by chars [Mariano Suárez-Alvarez]
* Misc bug and build fixes [Jeff Bonggren, Martin Kretzschmar,
Noah, Sven Neumann, Padraig O'Briain, Manish Singh,
Morten Welinder]
* Fix header file includes to work with recent FreeType.
Overview of changes between 1.2.x and 1.3.0
===========================================
* Share modules between the FT2 and Xft backend. Export PangoFcFont
and PangoFcFontMap base classes so that other fontconfig based
backends can be written and use these same modules.
* Redo module system to use GTypeModule and work much like GTK+ theme
engines and input method modules.
* Change modules to declare coverage by script, rather than by code
point. Add a ->covers callback so that modules can dynamically
decide whether they can cover a particular codepoint with a given
font. (This will allow multiple modules to handle a script for
different types fonts.)
* Complete rewrite of itemization pass. Now uses script information to
improve language tags. This solves problems with incorrect language
tags resulting in drastically wrong fonts being selected by
fontconfig.
* Add backspace-deletes-character PangoLogAttr; will allow proper
deletion behavior for non-Western scripts. [Noah Levitt]
* Add pango_fc_font_kern_glyphs(), which speeds up kerning a lot over
doing it pair-by-pair. [Soeren Sandmann]. Kern in the Xft backend as
well as the FT2 backend.
* Remove the X font backend, except a minimal set of stubs to maintain
binary compatibility.
* Many improvements to pangoft2topgm to allow displaying PangoMarkup,
saving to different file formats, etc.
* Convert build system to automake-1.7; many cleanups and
improvements. [James Henstridge]
* Documentation additions and improvements [Matthias Clasen, Martin
Pool]; add man pages for the included binaries. [Matthias]
* Misc bug and build fixes [Josh Beam, Tony Graham, Kaushal Kumar,
Noah, Mehran Mehr, Soeren, Morten Welinder]
* Win32 build fixes [Tor Lillqvist, Hans Breuer]
============================================================
Overview of Changes in Pango 1.2.5
==================================
* Fix a problem where the indic-xft shaper didn't get linked
against all necessary files.
Overview of Changes in Pango 1.2.4
==================================
* Win32 [Tor Lillqvist]
- Avoid calling Uniscribe when not necessary [Hans Breuer]
- Build fixes
* Indic shaper
- Add pre-base-matra fixup code from ICU [Sivaraj Doddannan]
- Port of Bengali rendering fix from ICU [Taneem Ahmed]
* OpenType
- Port various fixes by Werner Lemberg from FreeType version
- Port various fixes by Lars Knoll from Qt version
- Many other bug fixes [Kailash C. Chowksey, Me]
* Fix bugs in FT2 rendering code [Sven Neumann]
* Remove Qt-based example program; was causing compilation problems
for a lot of people.
* Doc fixes [Noah Levitt]
* Misc bug fixes [Dave Cuthbert, Damon Chaplin, Christophe Fergeau,
Tony Graham, Morten Welinder]
* Build fixes [Sven Neumann, Benedikt Spranger]
Overview of Changes in Pango 1.2.3
==================================
* Fix operation with --disable-debug [Jeff Waugh]
* Improve handling of ink rectangle extents for empty runs
* Fix problem with keynav at line boundaries for RTL text [Matthias Clasen]
Overview of Changes in Pango 1.2.2
==================================
* Cache fontsets for the Xft and FT2 backends, a large speedup for short
strings [Owen Taylor, Soeren Sandmann]
* Make built in rendering functions, especially the FT2 one,
work more like the GDK implementation [Sven Neumann]
* Add an indic-ft2 module [Kapil Chowskey],
Add a thai-ft2 module [Theppitak Karoonboonyanan]
* Optimize pango_x_render() by drawing multiple character with
a single request when possible [Morten Welinder]
* Change the handling of attributes that cover only partial glyphs
[Owen, Taneem Ahmed, Sunil Mohan Adapa]
* Fix problems with Arial Unicode and the Opentype code [Owen, Noah Levitt]
* Fix common crash for fonts missing a GDEF table
* Fix common portability problem with informative output at end
of configure.
* Build cleanups and fixes [Tim Mooney, Chris Ross, Akira Tagoh,
Will Partain, James Su]
* Miscellaneous bug fixes and cleanups [Simon Budig, Rick Jones,
Noah, Padraig O'Briain, Benjamin Otte, Andrey Panov, Federic Zhang]
* Documentation fixes [Tim, Sven]
Overview of Changes in Pango 1.2.1
==================================
* Handle older TrueType Open Arabic fonts.
* Make Win32 backend handle a common TrueType font bug [Tor Lillqvist]
* Fix crash with some non-BMP characters [Morten Welinder]
* Avoid crashing on font descriptions like " 12" [Padraig O'Briain]
* Minor build fixes [Rich Burridge, Sven Neumann]
============================================================
Changes between 1.1.6 and 1.2.0
* Documentation fixes
Changes between 1.1.5 and 1.1.6
* Fix crash with isolated Hangul tone marks.
* Improve font solection for Hangul tone marks
* Improve range definitions for basic-xft [Jungshik Shin]
* Docs improvements [Matthias Clasen]
Changes between 1.1.4 and 1.1.5
* Fix wrap-around coordinate problems for X, Xt.
* Draw unknown character boxes with X primitives for the
X backend instead of hoping for a suitable glyph [Morten Welinder]
* Fix crash with FT2 arabic shaper from using face->generic.data
for two things.
* For Xft/FT2, give an informative error mesage when no fonts are found.
* Support shape modules with ranges beyond the BMP [Federic Zhang]
* Use octal escapes rather than literal UTF-8 [Arnaud Charlet]
* Use g_[sf]printf where appropriate [Matthias Clasen]
* Doc improvements [Matthias]
* Misc build and bug fixes [Tony Graham, Kjartan Maraas]
Changes between 1.1.3 and 1.1.4
* Fix the Arabic-words-broken-by-underlines problem by
stripping out non-shape affecting attributes then adding them
back after shaping.
* Hangul shaper fixes [Changwoo Ryu, Jungshik Shin]
* Handle compatability ideographs in basic-x shaper [Federic Zhang]
* Rename function parameters to avoid shadowing system headres
[Soeren Sandmann]
* Fix memory leak in Win32 backend [Tor Lillqvist]
* Fix crasher problem with non-BMP characters [He Qiangqiang]
* Implement pango_ft2_font_map_set_default_substitute() [Matthias Clasen]
* Doc improvements [Matthias Clasen, Michael R. Walton, Jungshik Shin]
* Misc bug and build fixes [Dagfinn I. Mannsåker, Tony Graham,
Dan Mills, Sebastian Wilhelmi]
Changes between 1.1.2 and 1.1.3
* Hangul module bug fixes and improvements [Changwoo Ryu, Jungshik Shin]
- Move rendering of precomposed characters to hangul-xft shaper
- Handle Hangul tone marks
* Win32 improvements [Tor Lillqvist]
- Use Uniscribe when present
* Some doc build fixes [Matthias Clasen]
* Code cleanup [Manish Singh]
* Fix assertion failure in PangoLayout [Alex Larsson]
* Fix memory leak when freeing fontmaps [Sven Neumann]
Changes between 1.1.1 and 1.1.2
* Add a new wrap mode for PangoLayout - PANGO_WRAP_WORD_CHAR [Alex Larsson]
* Win32 work [Tor Lillqvist]
- Handle choosing the right font for CJK languages based on language tags.
- Fix boxes showing up for tabs [Florent Duguet]
- Better handling of finding ASCII font names.
- Cygwin compilation fix [Masahiro Sakai]
- Fix --with-included-modules on win32 [Arnaud Charlet]
- Various build fixes and cleanups
* Indic module improvements [Eric Mader]
* Fixes to generic OpenType handling [Eric]
* Improve language specific charset ordering basic-x11 [James Su, Brian Yuan]
* Some merges of fixes by Werner Lemberg to the original
FreeType OpenType code.
* Robustify and otherwise improve pango_color_parse() [Matthias Clasen]
* Some cross-compiling fixes [J. Ali Harlow]
* Bug fix for pango_scan_int() needed for recent GTK+.
Changes between 1.1.0 and 1.1.1
* Merge a lot of the code between the Xft and FT2 backend,
so that the FT2 backend gets the recent improvements to Xft.
* Add proper language tag support to the Xft/FT2 backends.
* Various effienciency fixes for the Xft/FT2 backends.
Changes between 1.0.x and 1.1.0
* Support for version 2 of the Xft library. [Keith Packard]
* Convert the freetype backend over to using fontconfig,
instead of MiniXft for font cataloging.
* A port of the Indic OpenType code from ICU to Pango. [Eric Mader]
* A new hangul-xft [Changwoo Ryu]
* Bug-fixes to the OpenType handling code.
* Various cleanups to the PangoXft and PangoFT2 public APIs.
* Docs switched over to DocBook XML. [Matthias Clasen]
============================================================
Changes between 1.0.3 and 1.0.4
* Add Thai shaper for Xft [Theppitak Karoonboonyanan]
* Support GB-18030, BIG5-HKSCS, CNS-11643, GBK encodings for
basic-x shaper [Qingjiang (Brian) Yuan]
* Support ksc5601.1992-3 fonts in hangul-x shpaer
[Qingjiang (Brian) Yuan, Changwoo Ryu]
* Support new Arabic characters in Unicode 3.2 [Roozbeh Pournader]
* Bug fixes [Jacob Berkman, Arnaud Charlet, David L. Cooper II,
Choe Hwangjin, Alex Larsson, Sven Neumann, Matthias Warkus, Yao Zhang]
Changes between 1.0.2 and 1.0.3
* Change algorithm for mapping points to pixels on
Windows to match the system method. [Joaquin Cuenca Abela,
Tor Lillqvist]
* Fix family listing for the FT2 backend. [Sven Neumann]
* Fix memory leak in pango_font_real_get_metrics() [Matthias Clasen]
* Some compilation warning fixes. [David L. Cooper II]
* Fix passing attr_list == NULL to pango_parse_markip [Andreas J. Guelzow]
Changes between 1.0.1 and 1.0.2
* Support building with FreeType 2.1.0
* List Sans,Serif,Monospace when listing fonts for the
Xft and FT2 backends. (Xavier Cho)
* Portability fixes. (David L. Cooper II, Jacob Berkman)
* Fix problem with pango-querymodules using g_print().
Changes between 1.0.0 and 1.0.1
* Documentation improvements [Matthias Clasen]
* Use new API in FreeType 2.0.9 to greatly speed up coverage
calculation for Xft and FT2 backends.
* Some fixes for reading of OpenType tables.
* Add -D_REENTRANT to compilation when necessary. [Sven Neumann]
* Try and enable ClearType for Win32 backend. [Tor Lillqvist]
* Fixes for Korean glyphs in the basic-x shaper [Changwoo Ryu]
* Improvements for computation of average char/digit width [Sven Neumann]
* Bug and error reporting fixes
[Arnaud Charlet, Erwann Chenede, Mikael Hallendal, Stefan Israelsson,
Alex Larsson, Soeren Sandmann, Dan Winship]
============================================================
Changes between 1.0.0 rc2 and 1.0.0
* Updated README files.
* Minor build fixes [Tor Lillqvist, Jacob Berkman]
Changes between 1.0.0 rc1 and 1.0.0 rc2
* Fix missing weight names when parsing font names [Arnaud Charlet]
* Build fixes [Martin Gansser, Manish Singh]
Changes between 0.26 and 1.0.0 rc1
* Try to build libraries with only shared library dependencies
on Xft to deal with transition to Xft2.
* Efficiency improvements for Xft backend
* Bug, build and portability fixes
Contributors: Jacob Berkman, Abel Cheung, David L. Cooper II,
Miroslaw Dobrzanski-Neumann, , Dov Grobgeld, Alex Larsson, Tor Lillqvist,
Sven Neumann, Gediminas Paulauskas, Manish Singh, Raymond Wan,
Richard Warren.
Changes between 0.25 and 0.26
* Fixes for AIX compilation [Miroslaw Dobrzanski-Neumann]
* Fix zero-width characters being displayed [Sven Neumann]
* Add some padding to class structures [Owen Taylor]
Changes between 0.24 and 0.25
* Win32 fixes [Tor Lillqvist, Hans Breuer]
* Cleanup of <ctype.h> [Darin Adler]
* Bug and build fixes [Anders Carlsson, Sven Neumann, Havoc Pennington,
Morten Welinder]
Changes between 0.23 and 0.24
* Win32 backend improvements [Tor Lillqvist]
* Doc improvements [Havoc Pennington, Dennis Bjorklund]
* Fix problem where "foo\n" was treated as one paragraph by pango-layout,
not two. [Arjan J. Molenaar, Owen Taylor]
* Add glyph caching to FT2 backend [Alex Larsson]
* Try to make configure checks for Qt-based example more robust [Owen]
* New example program for FT2 backend [Dov Grobgeld]
* Arabic shaper for FT2 backend [Andreas Bogk, Sven Neumann]
* Bug fixes
Other contributors: Mikael Hermansson, Darin Adler, Hidetoshi Tajima, Zack Rusin,
Jacob Berkman, Jason Tackaberry, Evan Martin, Matthias Clasen
Changes between 0.22 and 0.23
* Documentation improvements [Matthias Clasen]
* Win32 fixes [Hans Breuer]
* Improve search for XftConfig [Manish Singh]
* Fixes for crashes in Hangul shaper [Owen Taylor]
* Improvements to Arabic shapers for X and Xft [Roozbeh Pournader]
* Add jisx0212, jisx0201, Big5 support to basic shaper [HideToshi Tajima]
* Many bug fixes
Other contributors: Darin Adler, Dennis Dementiev, Sebastian Klemke,
Alex Larsson, Sven Neumann, Joshua Pritikin, Padraig O'Briain,
Kristian Rietveld, Sebastian Wilhelmi
Changes between 0.21 and 0.22
* Documentation improvements [Matthias Clasen]
* Win32 fixes [Tor Lillqvist, Hans Breuer]
* Improve line-breaking algorithm to not be O(n^2) [Alex Larsson]
* API addition to render to Xrender drawable
* Restructure so that "font sets" are handled by the core
for all backends [Alex]
* Use the Xft font configuration scheme for the FT2 backend as well [Alex]
Other Contributors: Darin Alder, Sven Neumann, Raymond Wan
Changes between 0.20 and 0.21
* Documentation improvements. [Matthias Clasen, Sven Neumann]
* pango_break() now reports n + 1 attributes for n characters, not n. [Havoc Pennington]
* Win32 fixes, including support for configure.in on Win32. [Tor Lillqvist]
* Bug fixes [Tony Graham, Eric Lemings, Manish Singh, Sven Neumann, Matt Wilson,
Frank Belew]
Changes between 0.19 and 0.20
* Change PangoFontDescription to save values for unset fields
* Fix for compilation with FreeType 2.0.4 [Havoc Pennington]
* Add PANGO_TYPE_FONT_METRICS [James Henstridge]
* Win32 fixes and updates [Hans Breuer
* PangoLayout bug fixes [Alex Larsson, Padraig O'Briain]
* Misc fixes and cleanups.
Other contributors: Matthias Clasen, Tony Graham, Mario Motta, Sven Neumann
Changes between 0.18 and 0.19
* Change font listing API to be more extensible. Instead of
using family names and
* Make PangoMetrics and PangoFontDescription opaque heap-allocated
structures to allow extension going forward.
* Allow for PangoFontDescription structures with unspecified
style/variant/stretch/weight.
* Add PANGO_ENABLE_BACKEND and PANGO_ENABLE_ENGINE #defines to
protect parts of the API where we don't want to guarantee
source binary compatibility for 1.x.
* Bug fixes.
Changes between 0.17 and 0.18
* Add PangoLanguage type for language tags, use consistently.
* Add support for different font orderings for different lanuages to
basic shaper.
* Win32 fixes [Alex,Hans]
* Add pango_context_get_metrics() to get metrics for a font description
* Add GTypes for various types [James]
* Lots of warning fixes [Darin]
* Fix to PangoLayout for lines with only tabs on them [Matthias]
* Improve compositing of glyphs for pangoft2 backend [Sven]
* Export pango_color_parse().
* Adapt to changes in GLib.
* Build and bug fixes.
Changes between 0.16 and 0.17
* Build/bug fixes
* Cursor motion is now by graphemes (logical editing units) rather than
by characters
* Optionally support jumping cursor instead of split cursor
Changes between 0.15 and 0.16
* Ability to make newlines in a PangoLayout display as regular characters
(useful for, e.g., having an entry widget with embedded newlines.)
* Build fixes
* Bug fixes
Changes between 0.14 and 0.15
* New version of Tamil shaper from Vikram Subramanian
* Update mini-fribidi to correspond to the latest FriBidi CVS
* Win32 fixes
* More documentation
* Various minor bug and build fixes.
Changes between 0.13 and 0.14
* Win32 improvements [Tor]
* Much better boundary resolution using algorithms from the Unicode
standard [Havoc]
* Initial support for anti-aliased TrueType and OpenType fonts
using the Xft and Xrender libraries from XFree86 4. [Owen]
* Fix the FreeType support on Unix so it can be used for the frame-buffer
port of GTK+. [Alex]
* Fix up module building [Alex]
* Add average-character-width font metric [Havoc]
* Bug fixes
Changes between 0.12 and 0.13
* Win32 Support [Tor]
* Per-display caching of font coverage on the root window [Owen]
* Handling of embedded non-characters in PangoLayout [Elliot]
* Mapping table fixes and improvements [KUSANO Takayuki, Abigail, Owen]
* Adjustable tab handling in PangoLayout [Havoc]
* Add relative font-scaling attribute [Havoc]
* Add function to convert XML/GMarkup description to a PangoAttrList [Havoc]
* New version of Arabic shaper [Karl]
* Enhanced Indic support with ligature tables from the font and
many more languages [Abigail]
* Include FriBidi core that provides the features that Pango needs and
can be used instead of separately installed fribidi. [Owen]
* Add PangoLayoutIterator that abstracts the geometry operations for
iterating over the lines/items/clusters/chars in a layout [Havoc]
* Bug fixes, and more bug fixes
What is new in GScript 0.1:
* Initial release
# Local Variables:
# coding: utf-8
# End:
# vim: encoding=utf-8:
|