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
|
2000-10-03 Tor Lillqvist <tml@iki.fi>
* pango/pango.def
* pango/pangoft2.def: Add new entry points.
* pango/pango-coverage.c (pango_coverage_set): Remove unnecessary
loop calling memset() with same parameters 64 times ;-)
* pango/makefile.mingw.in (PANGO_OBJS): Add pango-tabs.o.
Some small changes that have been laying around on my disk. The
Win32 and FT2 backends aren't "production quality" yet. For
speedup, need to cache at least the coverage info.
* pango/pangoft2.c (pango_ft2_get_coverage): New function.
* modules/basic/basic-win32.c: Use "BasicScriptEngineLangWin32" to
be unique.
* modules/basic/basic-ft2.c: Add comments explaining what Unicode
ranges the table entries covers. Use "BasicScriptEngineLangFT2" to
be unique.
(basic_engine_get_coverage): Test calling
pango_ft2_get_coverage().
(basic_engine_ft2_new): Set corect engine type. Not that this
apparently is used for anything, the X11 basic shaper module also
sets its type as TYPE_LANG.
* examples/viewer-ft2.c (split_paragraphs): Just end the string
upon encountering an invalid character. Don't return.
2000-09-29 Martin Baulig <baulig@suse.de>
* Makefile.am (pkgconfigdir): Set this to `$(libexecdir)/pkgconfig';
this is the directory where pkg-config actually looks.
* *.pc.in: Made the pkg-config scripts actually work.
2000-09-28 Havoc Pennington <hp@pobox.com>
* pango/pango-tabs.c (pango_tab_array_new_with_positions): was
pango_tab_array_new_with_defaults; apparently I didn't check in
the modified version at work
2000-09-27 Havoc Pennington <hp@redhat.com>
* pango/pango-tabs.c (pango_tab_array_get_tabs): Change to return
allocated array.
2000-09-25 Havoc Pennington <hp@redhat.com>
* pango/pango-layout.c: Add a tab array field to PangoLayout,
and use it when laying out the text (if it's set, otherwise
use default tabs-are-8-spaces thing)
* pango/pango-tabs.c, pango/pango-tabs.h: tab-related data types
Sun Sep 10 03:01:53 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-layout.c (pango_layout_set_attributes): Fix
bug where wrong attribute list was unreferenced.
* pango/pango-attributes.[ch]: Add function
pango_attr_list_splice() to splice contents of one
attribute list into another attribute list.
* pango/pango-utils.h: Add include of pango-font.h since
it now depends on declarations from there.
2000-09-08 Jonathan Blandford <jrb@redhat.com>
* pango/pango-attributes.c (pango_attr_list_change): Minor fixes
to Owen's patch below to make it work.
* pango/pango-attributes.c (pango_attribute_copy): Copy the
start_index/end_index explicitly rather then rely on the copy
function doing it for you, as none did so.
Thu Sep 7 05:12:09 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-attributes.c (pango_attr_list_change): Fix up to
match the docs, correct bugs found by Jonathan Blandford.
2000-09-04 Robert W Brady <robert@susu.org.uk>
* modules/basic/tables-big.i: Use iso10646-1 fonts
for Georgian, Ethiopic, Cherokee, Canadian, Ogham,
Runic.
Thu Aug 31 11:29:33 2000 Owen Taylor <otaylor@redhat.com>
* tools/maps/tis-620: Check in this file, since it
isn't from the Unicode consortium.
Wed Aug 30 21:42:42 2000 Owen Taylor <otaylor@redhat.com>
* configure.in (QTDIR): Add /usr/lib/qt-2.2.0 to the
list.
* modules/basic/tables-big.i: Updated using fixed
make-table.sh. Added koi8-r and iso8859-1
* modules/basic/tables-small.i: Add note noting
non-maintainence.
* tools/make-table.sh: Fix for mapping tables with
3 columns provided by KUSANO Takayuki.
2000-08-29 Elliot Lee <sopwith@redhat.com>
* pango/pango-context.h, pango/pango-font.h,
pango/pango-fontmap.h, pango/pango-layout.h: Utilize G_GNUC_CONST
Mon Aug 21 22:02:38 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-context.c (load_font): Don't produce a warning
unless loading all fonts fails, if loading all fonts fails,
try with "Sans [style]", if that fails, try with "Sans",
if that fails, exit - we are completely screwed.
* pango/pangox-fontmap.c (pango_x_font_map_load_font): Equate
PANGO_STYLE_OBLIQUE and PANGO_STYLE_ITALIC, but with a big
penalty.
2000-08-21 Tor Lillqvist <tml@iki.fi>
* pango/pangoft2-fontmap.c: Get font directory path with
pango_config_key_get("PangoFT2/FontPath"). If no such key exists
in the pangorc file, use the ft2fonts subdirectory of
LIBDIR/pango, and on Windows, also %WinDir%\fonts.
* pango/{pango,pangoft2,pangowin32}.rc.in: New files (resource
files used when building Win32 DLLs, contain version information).
* pango/Makefile.am: Add the new files.
* configure.in: Define major and minor version numbers separately.
Output also the makefile.mingw and *.rc files.
* pango/pangoft2.c (pango_ft2_render): Handle also ft_pixel_mode_mono
glyphs.
* pango/pangoft2*: Portability enhancements (non-gcc).
Sun Aug 20 13:45:08 2000 Owen Taylor <otaylor@redhat.com>
* TODO.xml TODO: Move most all of the TODO items here to the XML file.
This needs to be built using the Python script gtk+/docs/make-todo.
2000-08-20 Tor Lillqvist <tml@iki.fi>
* pango/pango-utils.c (pango_parse_*): Add parameter telling
whether to print warning or not if string isn't recognised. Use
g_strncasecmp().
* pango/pango-utils.h: Change prototype accordingly.
* pango/pangox-fontmap.c
* pango/pangowin32-fontmap.c: Change calls correspondingly.
* pango/pangowin32.h:
* pango/pangowin32.c: Cosmetic changes, dead code removal.
* pango/pangoft2.h
* pango/pangoft2-private.h
* pango/pangoft2.c
* pango/pangoft2-fontmap.c
* pango/pangoft2-fontcache.c: New files implementing a FreeType2
backend. Used only on Win32 so far, but doesn't contain
Win32-specific code per se, so if somebody wants to try it out on
X11, too, be my guest.
It works, more or less, but there are some details still to sort
out. Performance needs to be improved. Debugging printouts still
present. Font path currently hardcoded to C:\windows\fonts, heh.
Owen says he doesn't think it's a good idea to use ths on Win32,
but I'll try anyway. If it turns out using the native Win32 GDI
backend is better after all, oh well.
* pango/makefile.mingw: Delete. Move contents to
makefile.mingw.in.
* pango/makefile.mingw.in: New file. Add rules for
FreeType2 backend. Add FreeType2 CFLAGS and LIBS.
* pango/Makefile.am: Generate makefile.mingw.
(EXTRA_DIST): Add FreeType2 backend sources, and
makefile.mingw{,.in}
* pango/module-defs.c.win32
* pango/pangoft2.def: New files.
* modules/engine.def: Delete. Was duplicate of module.def.
* modules/basic/basic-win32.c: Couple of cosmetic changes.
* modules/basic/Makefile.am: Generate makefile.mingw.
(EXTRA_DIST): Add basic-ft2.c, and makefile.mingw{,.in}
* modules/basic/makefile.mingw: Delete. Move contents to
makefile.mingw.in.
* modules/basic/makefile.mingw.in: New file. Add rule for
basic-ft2. Add FreeType2 CFLAGS and LIBS.
* examples/viewer-win32.c: Replace division or multiplication with
1000 (which was the old PANGO_SCALE value) to use PANGO_SCALE and
PANGO_PIXELS instead.
(read_file): Fix error messages.
(draw): Get HDC from GDK once for all paragraphs.
* examples/viewer-win32.c:
* examples/viewer-ft2.c: New file. The FT_Bitmap (256-level
bitmap) produced by the FreeType2 backend is copied to the
GtkLayout window using gdk_draw_gray_image from GdkRGB (!). Yes,
this is kinda circular dependency between Pango and GTK+.
* examples/makefile.mingw: Delete. Move contents to
makefile.mingw.in.
* examples/makefile.mingw.in: New file. Add rules for
viewer-ft2. Add FreeType2 CFLAGS and LIBS.
* examples/Makefile.am: Generate makefile.mingw.
(EXTRA_DIST): Add viewer-win32.c and viewer-ft2.c, and
makefile.mingw{,.in}
2000-08-11 Havoc Pennington <hp@redhat.com>
* pangox.pc.in (Cflags): remove /usr/include
* pango.pc.in (Cflags): remove /usr/include
2000-08-08 Elliot Lee <sopwith@redhat.com>
* modules/arabic/arabic.c: #include <string.h>
* pango/modules.c: Fix incorrect list rearrangement.
* pango/pango-layout.c (pango_layout_line_x_to_index): Pay attention to shape attributes
(not perfect since the layout of chars inside a shape is unknown, but gives start
index).
2000-08-07 Elliot Lee <sopwith@redhat.com>
* pango/modules.c: If the first pango_skip_space fails, remember to free enginepair before continuing.
* pango/pango-layout.c (pango_layout_set_attributes): unref old attr list after reffing
new one.
* pango/pango-attributes.c (pango_attr_list_insert_internal): Proper fix from Owen for the
infinite loop.
2000-08-03 Elliot Lee <sopwith@redhat.com>
* pango/modules.c: Fix segfault when tmp_list has no 'prev' pointer.
* pango/pango-attributes.c (pango_attr_list_insert_internal): Infinite loops do not fast programs make.
* pango/pango-context.c: Set a default font size so that things don't go boom if someone forgets to set it themselves.
* pango/pango-layout.c (pango_layout_index_to_pos): Exclude newlines from consideration.
(pango_layout_line_index_to_x): Take shape attributes into consideration when determining position.
Wed Aug 2 12:00:53 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-layout.c (pango_layout_get_extents):
Fix problem with the way extents for the layout lines
were summed together in the vertical direction.
Sat Jul 29 21:26:30 2000 Owen Taylor <otaylor@redhat.com>
* examples/viewer-qt.[ch] (ViewerWindow): Remove
hardcoded path to my home directory! Allow specifying
the file on the command line.
* pango/modules.c (process_module_file): Fix bug in
parsing of range strings.
2000-07-31 Havoc Pennington <hp@redhat.com>
* pango.pc.in, pangox.pc.in: pkg-config info files
* Makefile.am: dist/install .pc files
* configure.in: output .pc files
2000-07-28 Martin Baulig <baulig@suse.de>
* pango/pango-layout.c (pango_layout_finalize): Destroy
the layout->font_desc to avoid a memory leak.
2000-07-27 Tor Lillqvist <tml@iki.fi>
* pango/pango.def
* pango/pangowin32.def: New files, forgot to commit earlier.
Sat Jul 22 10:52:06 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-utils.c: include <stdlib.h>
* configure.in: s/FRIBID_CONFIG/FRIBIDI_CONFIG/.
Fri Jul 21 15:17:26 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-context.c (pango_itemize): A bit of code
cleanup.
* pango/pango-attributes.[ch]: Add a new attribute type
PangoAttrShape, for imposing specific shapes on glyphs.
This is used for handling embedded pixmaps and similar
objects.
* pango/pango-layout.c: Hnadle PangoAttrShape.
* pango/pango-context.[ch]:
Fri Jul 21 09:59:10 2000 Owen Taylor <otaylor@redhat.com>
* pango/modules.c (process_module_file): Free buffer strings.
* pango/pangox-fontmap.c (pango_x_real_get_coverage_win): Add
caching of coverage maps on a persistant subwindow of the
root window. This window contains a property for
each "lang|xlfd,xlfd" which is the result of pango_coverage_to_bytes.
* pango/pango-context.c (pango_context_finalize): Free
the font description.
* pango/pango-coverage.c (pango_coverage_to/from_bytes): Added
functions to covert a PangoCoverage structure too and
from a flat block of bytes.
* configure.in (X_LIBS): Add a check to detect fribidi being
compiled against glib-1.2.x.
2000-07-20 Tor Lillqvist <tml@iki.fi>
* examples/pangowin32.aliases: Add some more fonts. Document where
to get the fonts.
* pango/pangowin32.c (subfont_has_glyph): Use 0xFFFE to produce
the default glyph.
(create_bitmap_dibsection): Zero out the bitmap.
* pango/pangowin32-fontmap.c (pango_win32_guess_subranges): Set
some additional Unicode subranges for fonts that claim covering
the Vietnamese codepage.
2000-07-19 Tor Lillqvist <tml@iki.fi>
* configure.in: Don't try to use the ! command, not available in all
systems. Move the ! inside the test instead.
* pango-config.in: Change order of --cflags output, so that we can
build with both GLib 1.2 and 1.3 installed.
* modules/devanagari/dev-ligatures.h: No C++ comments, thanks.
* pango/break.c: Fix gccism, non-constant initailiser.
* pango/pango-fontmap.c (pango_font_map_list_fonts,
pango_font_map_list_families): Don't return value from void
functions.
* pango/pango-utils.c: Must have at least empty statement after
a label.
* examples/pangowin32.aliases: Add Tahoma and Angsana New, these
common fonts have Thai characters.
* pango/pangowin32-private.h: Rename fonts and n_fonts members
to logfonts and n_logfonts, as that is what they are.
* pango/pangowin32.c: Bug fixes. Works much better now.
(pango_win32_font_get_glyph_extents): Set y offset correctly.
(subfont_has_glyph): Call SetTextAlign. Select the font into the
HDC before calling GetTextMetrics.
2000-07-18 Tor Lillqvist <tml@iki.fi>
* pango/Makefile.am (EXTRA_DIST): Add the pangowin32 sources.
* pango/pangox.c (lang_texts): Add some non-ASCII to the
Finnish and Swedish strings.
* modules/module.def: New file.
* modules/Makefile.am (EXTRA_DIST): Add it.
* modules/basic/Makefile.am (EXTRA_DIST): Add basic-win32.c.
* */makefile.mingw: Small updates.
* pango/pangowin32.c
* pango/pangowin32-fontmap.c
* modules/basic/basic-win32.c
* examples/viewer-win32.c: Bug fixes. Remove dead code.
Now the Win32 implementation seems to work, except
for a few glitches.
2000-07-16 Tor Lillqvist <tml@iki.fi>
* pango/pango-utils.h
* pango/pango-utils.c
* pango/pangox-fontmap.c
* pango/pangowin32-fontmap.c: Move the get_{style,variant,
weight,stretch} functions to pango-utils.c, and rename
them to pango_parse_*. Would otherwise be duplicated in
pangox and angowin32.
* pango/pango.def: Export them.
* pango/pango-font.h: Add PANGO_WEIGHT_ULTRALIGHT,
PANGO_WEIGHT_LIGHT, PANGO_WEIGHT_EXTRABOLD and PANGO_WEIGHT_HEAVY
values to PangoWeight.
* pango/pango-utils.c: Recognize the new weight strings.
* pango/pangowin32.c (pango_win32_list_subfonts): Don't g_free the
subfont_list from the subfonts_by_subrange hash table...
* pango/pangowin32-fontmap.c (pango_win32_font_map_read_alias_file):
Also set the other properties in the LOGFONT, not only the face name.
(pango_win32_insert_font): Insert a pointer to a freshly allocated
LOGFONT in the hash table, not the one passed in as a parameter,
which could be (and in fact, *is*) a pointer to an auto
variable. Quantize the description weight values to exact
PANGO_WEIGHT_* values.
(pango_win32_get_unknown_glyph): Use subfont 1.
* examples/viewer-win32.c: (split_paragraphs): Don't include the
newline.
(draw): Correct 1st parameter to gdk_win32_hdc_{get,release}.
2000-07-15 Tor Lillqvist <tml@iki.fi>
* pango/pangowin32.h
* pango/pangowin32-private.h
* pango/pangowin32-fontcache.c
* pango/pangowin32-fontmap.c
* pango/makefile.mingw
* modules/basic/basic-win32.c
* modules/basic/makefile.mingw
* examples/viewer-win32.c
* examples/makefile.mingw
* examples/pangowin32.aliases: New files. Start of a Win32
implementation. Does not work yet.
* configure.in: Chek for dirent.h and unistd.h.
* pango/pango-utils.h
* pango/pango-utils.c (pango_get_sysconf_subdirectory,
pango_get_lib_subdirectory): New functions, for better
portability, to enable installation-time choice of directory (on
Windows) instead of compile-time. Use these instead of SYSCONFDIR
"/pango" and LIBDIR "/pango".
(pango_split_file_list): Fix comment, the function splits on
searchpath separators, not commas. Use G_SEARCHPATH_SEPARATOR_S
for portability. Don't try to expand '~' as home directory on
Windows.
(read_config): Use pango_get_sysconf_subdirectory().
* pango/modules.c (read_modules): Use pango_get_sysconf_subdirectory().
Don't crash if a module file cannot be opened.
* pango/querymodules.c: Include config.h Conditionalize inclusion
of dirent.h and unistd.h. Use platform-specific shared library
extension. Use pango_get_lib_subdirectory().
Thu Jul 6 15:24:38 2000 Owen Taylor <otaylor@redhat.com>
* Released 0.12
* examples/pangox.aliases: Add clealyu fonts
* configure.in: Use AM_PATH_GLIB_2_0()
* pango-config.in: Use @FRIBIDI_LIBS@, not -lfribidi
* pango-config.in: Fix accidental inclusion
-I lib/glib/include/
Mon Jul 10 10:42:42 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-utils.c (pango_split_file_list): Fix
bug in home directory substitution.
2000-07-06 Havoc Pennington <hp@redhat.com>
* pango/break.c (pango_get_log_attrs): Implement this function, to
get logical attributes without a PangoAnalysis.
(pango_break): Fix bug in word stop location
Thu Jul 6 15:24:38 2000 Owen Taylor <otaylor@redhat.com>
* gdk/Makefile.am: Fix missing \ which was causing
srcdir != builddir builds to fail.
Thu Jul 6 15:16:28 2000 Owen Taylor <otaylor@redhat.com>
* docs/pango-sections.txt docs/tmpl/*: Update
2000-07-03 Havoc Pennington <hp@redhat.com>
* pango/pango-layout.c (pango_layout_index_to_pos): Handle the
case where the byte offset is outside the layout.
Sun Jul 2 18:06:01 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-layout.c (get_tab_pos): Fix up set_font_description()
for tab spaces.
Sun Jul 2 17:59:56 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-attributes.[ch] (pango_attr_list_insert_before): New
function that inserts before other attributes with matching
start index.
* pango/pango-layout.[ch] (pango_layout_set_font_description): Add
the ability to set a default font description on the layout, overriding
the font description from the context.
Sun Jul 2 17:19:11 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-types.h: Add a PANGO_PIXELS macro to convert
from pango units to device units and round.
* pango/pango-layout.[ch]: Add convenience functions
pango_layout_get_pixel_extents, pango_layout_get_size,
pango_layout_get_pixel_size pango_layout_line_get_pixel_extents.
Fri Jun 30 16:46:31 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-utils.[ch] Makefile.am: A bunch of simple functions
for reading from files, manipulating strings as necessary for
config files. Also, a simple gnome-config/win.ini style
config file reader.
* pango/modules.c: Remove DOTFILES stuff. Instead, read names
of modules file from pangorc. (Which can be set from PANGO_RC_FILE).
Rewrite parsing code using pango-utils.c.
* pango/pangox-fontmap.c: Read list of files from
PangoX/AliasFiles key. Rewrite parsing code for alias files using
pango-utils.c.
* examples/pangox.aliases: Move to new name from pangox_aliases,
reformat using new parsing code.
* examples/pangorc (AliasFiles) examples/pango-viewer: Add a
pangorc file for in-place testing.
* pango/querymodules.c (main): Add comment to the top of
the output indicating that the file should not be hand-edited.
Thu Jun 29 18:13:47 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-coverage.c: Fix various aspects of expanding
coverage tables beyond the first 256 blocks. (Based on
patch from ChiDeok Hwang.)
Thu Jun 29 16:35:41 2000 Owen Taylor <otaylor@redhat.com>
* modules/arabic/{*.c,Makefile.am}: New version from Karl
Koehler merged with the changes for the GLib unicode functions.
Wed Jun 21 12:11:56 2000 Owen Taylor <otaylor@redhat.com>
* configure.in: Remove tests for libunicode
* pango/utils.[ch]: Removed. The functions from here are now in
GLib.
* **.[ch]: Removed use of libunicode and utils.c in favor of
Unicode functions in GLib. Requires latest GLib from CVS.
2000-06-14 Havoc Pennington <hp@redhat.com>
* pango/pango-attributes.c (pango_attr_list_copy): Function to
copy the attribute list.
2000-06-13 Havoc Pennington <hp@redhat.com>
* pango/pango-layout.h: Convert PangoLayout to GObject
* pango/pango-context.h: Convert to PangoContext to GObject
2000-06-11 Elliot Lee <sopwith@redhat.com>
* pango/fonts.c (pango_font_description_compare): g_strcasecmp
returns 0 when strings are equal - negate return value.
2000-06-09 Elliot Lee <sopwith@redhat.com>
* pango/pango-coverage.[ch]: Return 'coverage' from
pango_coverage_ref.
2000-06-08 Elliot Lee <sopwith@redhat.com>
* modules/Makefile.am: Add DOTMODULESDIR define to make it easier
to change location of .modules files.
* pango/modules.c: Likewise. Also scan the config directory for
multiple config files instead of pango.modules. Also fclose()
opened files.
Thu Jun 8 14:43:35 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-modules.h: pango/Makefile.am: Add a new
header pango-modules.h to export a few parts of the
modules API needed by code for new types of fonts.
2000-06-08 Elliot Lee <sopwith@redhat.com>
* pango-config.in: Include X_LIBS in libraries for 'pangox' target.
2000-06-07 Havoc Pennington <hp@redhat.com>
* pango/pango-attributes.c (pango_attr_iterator_copy): New
function to copy a PangoAttrIterator.
Mon Jun 5 20:45:12 2000 Owen Taylor <otaylor@redhat.com>
* pango/pangox-fontmap.c (pango_x_shutdown_display): Add
a function to free cached information for a particular
display. (This is basically pango_x_fontmap_destroy())
* pango/pangox.c pango/pangox-private.h pango/pangox-fontmap.c:
Make a XFont always keep a pointer to (and ref) a fontmap.
Mon Jun 5 15:56:25 2000 Owen Taylor <otaylor@redhat.com>
* pango/pangox-fontmap.c (pango_x_font_map_for_display): Remove
excessive ref.
* pango/pangox-fontcache.c (pango_x_font_cache_unload): Fix
problem with unloading fonts.
* pango/pangox-fontmap.c pango/pangox-private.h pangox/pangox.c:
Add a simple cache for PangoXFonts; get rid of the eternal caching of
all fonts.
Wed May 31 16:11:46 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-fontmap.h (struct _PangoFontMapClass): Remove unused
destroy vfunc.
Sat Jun 3 06:01:38 Pablo Saratxaga <pablo@mandrakesoft.com>
* modules/thai/thai.c: added other common X11 font encoding
names fortis-620 fonts.
Thu Jun 1 13:04:06 CEST 2000 Paolo Molaro <lupus@debian.org>
* configure.in: look for qt also in /usr/lib/qt2.
Wed May 31 10:46:53 2000 Owen Taylor <otaylor@redhat.com>
* configure.in: Release 0.11
* pango.spec.in: Add missing make command.
* modules/basic/Makefile.am (EXTRA_DIST): Fix up extra-dist.
* pango/Makefile.am (libpangox_la_SOURCES): Add pangox-private.h
Tue May 30 14:30:24 2000 Owen Taylor <otaylor@redhat.com>
* pango/fonts.c (pango_font_description_from_string): Use g_strtod().
* pango/fonts.c (pango_font_description_to_string): Fix bug
where spaces where not properly inserted into font description
string.
* pango/fonts.c (pango_font_get_glyph_extents): Fix some
1000 <=> PANGO_SCALE bugs.
* pango/pangox-fontcache.c (pango_x_font_cache_load): Fix list
manipulation bug.
Mon May 29 13:22:36 2000 Owen Taylor <otaylor@redhat.com>
* pango/pangox.c pango/pangox.h (pango_x_font_subfont_xlfd): New
function to retrieve the XLFD for a given subfont.
Mon May 29 11:14:34 2000 Owen Taylor <otaylor@redhat.com>
* pango/pangox-fontcache.c (pango_x_font_cache_load): Fix bug
in MRU list code.
* pango/pango-layout.c (pango_layout_check_lines): Fix infinite
loop in the case where the first item doesn't fit, but
whitespace follows that must go onto the same line.
* examples/viewer-qt.h: Minor changes so it compiles with
Qt-2.0. (Though the utf8 codec in Qt-2.0 seems to be slightly
buggy.)
Sun May 28 16:24:43 2000 Owen Taylor <otaylor@redhat.com>
* examples/Makefile.am examples/viewer-qt.cc
examples/viewer-qt.h: Since we require GLib-1.3,
and thus can no longer build the examples against
GTK+-1.2, and since there is a nasty circular dependency
if we build examples against GTK+-1.3, rewrite
(optional) example program in Qt. (I wasn't going
to do it in Xaw or straight Xlib...)
* configure.in: Added checks for Qt.
* pango/pango-layout.h: Fix constness.
Sat May 27 22:05:53 2000 Owen Taylor <otaylor@redhat.com>
* pango/Makefile.am (pangoinclude_HEADERS): Install
pango-fontmap.h.
* pango/pangox-fontcache.c pango/pangox.h: Add a simple
cache from XLFD => font struct.
* pango/pango-fontmap.c: Use this when loading and unloading
fonts.
Sat May 27 21:57:03 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-context.c (pango_context_add_font_map):
Ref font map.
Sat May 27 21:06:13 2000 Owen Taylor <otaylor@redhat.com>
* modules/thai/thai.c modules/basic/basic:
s/pango_font_set_data/g_object_set_qdata/
* pango/*.c: s/pango_font_[un]ref/g_object_un[ref]
* pango/pango-font.h fonts.c: GObject'ify PangoFont.
Sat May 27 20:36:56 2000 Owen Taylor <otaylor@redhat.com>
* pango/Makefile.am configure.in: Add libgobject.
* pango/pango-fontmap.[ch]: GObject'ify PangoFontMap.
(Pango now requires GLib-1.3 to compile)
* pango/pangox-fontmap.c pango/pangox-private.h: Break
the fontmap code in libpangox out into a separate file.
Tue May 23 10:32:25 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-layout.c (pango_layout_set_text): Allow -1 for
the length.
2000-05-24 Matt Wilson <msw@redhat.com>
* modules/basic/basic.c (conv_8bit): use size_t for arguments to
iconv, not int. Fixes 64 bit platforms.
* modules/basic/basic.c (conv_euc): likewise
Mon May 22 18:19:32 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-layout.c (process_item): Fix <, <= confusion.
Thu May 18 17:30:00 2000 Robert Brady <rwb197@zepler.org>
* fonts/devnag18.bdf: Fix advance widths of some glyphs.
Tue May 9 22:09:42 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-types.h (PANGO_SCALE): Change PANGO_SCALE
from 1000 to 1024. Wee! Optimization! Actual performance
increase is ~1-2% probably not worth keeping it 1024,
but I'll leave it this way for a little bit.
* pango/pango-layout.c (pango_layout_unref): Free the
actual layout structure as well.
* pango/pangox.c: Various optimizations of the code for
looking up characters. (mark a few functions inline,
precompute signficiant quantities)
Tue May 9 03:22:11 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-layout.c (pango_layout_check_lines): Fix
memory leak by freeing correct list.
* pango/pango-context.c (pango_context_get_font_description):
Change to return a pointer to the context's font description
instead of a copy. Not quite 100% kosher but a lot
more efficient than the previous. (Should we just refcount
font descriptions and get it over with?)
Mon May 8 16:39:48 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-layout.c (free_run): Call pango_item_free
to free items properly including attributes.
Mon May 8 16:19:22 2000 Owen Taylor <otaylor@redhat.com>
* modules/thai/* modules/Makefile.am configure.in:
Add a simple Thai shaper. (Reasonably complete but
intended mostly for an example for the shape docs
right now.)
* pango/pangox.h (PANGO_X_GLYPH_INDEX): Protect
arguments to macros.
Sun May 7 06:15:34 2000 Owen Taylor <otaylor@redhat.com>
* modules/basic/basic.c (basic_engine_shape): When
handling overstrikes, try to guess a bit better
how overstrike glyphs are positioned in the font.
(Now works with more of glyphs from clearlyu, though
not the Hebrew accents in that font)
* examples/HELLO.utf8: Insert tab characters to
keep the columns in the right order for either
global direction. Insert left-to-right marks in
a few places to keep leading and trailing punctuation
in the right place.
* modules/basic/basic.c (basic_engine_shape): Don't
show RLM and LRM
* pango/glyphstring.c (pango_glyph_string_extents): Use
the logical width set in the glyph string rather than
that from the font's metrics.
* pango/pangox.c (pango_x_render): Treat glyph index
0 as special - representing invisible, 0 size
character. We need this sometimes, and it is
easier and faster to have this special case
than to shape a space.
* pango/pango-context.c (pango_itemize): Put
tabs into separate items. (Sort of lame hack,
we do this to make line breaking with tab
handling simpler)
* examples/viewer.c (checkbutton_toggled): Notify
all the layouts that the context has changed so
the RTL base dir change actually takes effect.
Fri May 5 18:56:45 2000 Owen Taylor <otaylor@redhat.com>
* pango/break.c (pango_break): Add ZWS to hacky
break algorithm.
* modules/basic/basic.c (basic_engine_shape): Special
case zero-width-space as a temporary hack. (What's the
right solution?)
* modules/basic/tables-big.i: Added support for TIS-620
encoding.
* configure.in pango/modules.[ch] pango/Makefile.am
modules/**: First stab at support for linking modules
directly into Pango. Add a --with-included-modules=
flag that causes the specified modules to be built
as convenience libraries and linked directly into
libpangox.
Tue May 2 22:59:52 2000 Owen Taylor <otaylor@redhat.com>
* modules/basic/basic.c: Get rid of link list of masks
in cache structure in favor of an array. (This is
easy to do now since we already have linear indices
for the masks from the new table format.)
* pango/modules.c pango/pango-context.c pango/pangox.c:
Modify _pango_find_map() to take quarks for the
engine type and render type instead of strings.
Get rid of the map hash table in favor of a GList
with the most recently used map at the beginning.
* pango/modules.[ch] pango/pango-context.c pango/pangox.c:
Add some utility functions for getting the engine
for a particular character in a map. Using modules.c
knowledge of map structure, this allows us to save
a bunch of useless strcmps.
* pango/pango-context.c (add_engines): Remove unused
lookup of shape mask.
* modules/basic/tables-{small,big}.i modules/basic/basic.c
tools/compress-table.pl: Reencode mask table to avoid binary
searches and save a bit of space.
* modules/basic/basic.c (find_converter): Get rid
of gratuitous use of hash tables for looking up
iconv converters.
* modules/basic/tables-{small,big}.i modules/basic/basic.c:
Use conv_ucs4 instead of conv_8bit for latin-1.
* pango/pango-layout.c: Avoid calling pango_glyph_string_extents() -
just add up the widths from shaping.
Tue May 2 19:16:17 PDT 2000 Manish Singh <yosh@gimp.org>
* examples/Makefile.am: typo fix
Mon May 1 15:04:02 PDT 2000 Manish Singh <yosh@gimp.org>
* configure.in: add support for fribidi-config (needs fribidi v0.1.10
or higher). Also actually use the FOO_CONFIG variable filled by
AC_PATH_PROG for --cflags and --libs.
* examples/Makefile.am
* pango/Makefile.am: use $(FRIBIDI_LIBS)
Mon May 1 11:58:55 2000 Owen Taylor <otaylor@redhat.com>
* modules/arabic/*: Misc bug fixes from Karl Koehler.
Wed Apr 26 19:55:40 2000 Owen Taylor <otaylor@redhat.com>
* configure.in: Add checks looking for iconv in libiconv.
(Thanks to Ross Campbell for helping me test this
out.)
Mon Apr 24 22:51:06 2000 Owen Taylor <otaylor@redhat.com>
* configure.in: Released 0.10
* modules/arabic/*: Update from Karl Koehler, including
support for LangBox fonts
Mon Apr 24 20:28:31 2000 Owen Taylor <otaylor@redhat.com>
* docs/**: Updates for recent API changes.
Mon Apr 24 18:09:29 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-layout.c (pango_layout_line_get_empty_extents): Come
up with a reasonable guess for metrics for empty lines based
on the font metrics.
* modules/devanagari/devanagari.c (devanagari_engine_shape): A couple
of trivial fixups to make things compile.
Sun Apr 23 23:33:10 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-layout.c (pango_layout_move_cursor_visually): New
function for visual (left-right, not forward-back) cursor
navigation within a layout.
Thu Apr 20 22:16:39 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-layout.c (pango_layout_line_x_to_index): As a hack,
for x-positions at the edge of a line, fudge the position to be
one before the line end (which is, for programs that don't properly
handle the trailing flag), instead of at the end of the line.
This works fine for whitespace-broken languages, but won't work
right for languages that don't use whitespace to break lines.
(GtkText* needs to keep track of whether a cursor is trailing
or not)
* pango/pango-layout.c (pango_layout_check_lines): Prohibit breaking
a line at a non-whitespace -> space transition. (So that we
never put wrap single character of whitespace at the beginning of
a line)
* pango/break.c (pango_break): Always allow a break before
the first char.
* pango/pango-layout.c (pango_layout_line_x_to_index): Remove the return
value from the function, make it return the appropriate index
depending on the base direction of the layoutt.
Fri Apr 7 03:08:09 2000 Owen Taylor <otaylor@redhat.com>
* configure.in (UNICODE_LIBS): Add back in flockfile
check which was accidentally removed.
2000-04-21 Robert Brady <rwb197@zepler.org>
* modules/devanagari/dev-ligatures.h: Add some more ligature
mappings.
* modules/devanagari.c: New version, now syllable-based, with
proper RA handling.
Mon Apr 17 12:04:20 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-layout.[ch]: Add a function pango_layout_line_get_x_ranges(),
to allow handling selections not as attributes. Which is necessary,
since currently setting the background/foreground results in
splitting shaped runs.
Fri Apr 14 13:20:05 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-layout.c (pango_layout_check_lines): Fix bug with
indent handling.
* pango/pango-layout.c (process_item): Never break a line at
a non-break position, even if that position ends an item.
Fri Apr 14 10:43:09 2000 Owen Taylor <otaylor@redhat.com>
* pango/pangox.c (pango_x_render_layout_line): Fix a missing
PANGO_SCALE factor for UNDERLINE_SINGLE.
* pango/pango-layout.c (pango_layout_get_cursor_pos): New function
to determine cursor positions corresponding to a particular
index.
Wed Apr 12 15:44:22 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-attributes.[ch]: Add PANGO_ATTR_FONT_DESC, which
allows an entire font description to be specified as a single
attribute, instead of as 6 separate attributes.
Wed Apr 12 13:59:22 2000 Owen Taylor <otaylor@redhat.com>
* configure.in modules/Makefile.am modules/devanagari/*: Added Devanagari
shaper from Robert Brady <rwb197@zepler.org>
* examples/HELLO.utf8: Added Hindi from Emacs
* examples/dev-example.utf: Some syllable strings for testing
the Devanagari shaper.
* examples/pangox_aliases: Added
-*-devanagari-medium-r-normal--*-*-*-*-*-*-iso10646-dev
* fonts/devnag18.bdf fonts/devnag.README: Devanagari font
from http://crl.NMSU.Edu/~mleisher/devnag.html currently
required for operation of the devanagari shaper.
Tue Apr 4 22:03:42 2000 Owen Taylor <otaylor@redhat.com>
* configure.in: Released 0.9
* modules/arabic/arabic.c (find_unic_font): Keep on
searching past the first iso-10646 font if the first
font doesn't have the required ligatures.
Tue Apr 4 20:56:29 2000 Owen Taylor <otaylor@redhat.com>
* docs/tmpl/* docs/Makefile.am docs/pango-sections.txt
pango/pango-attributes.c pango/pangox.c: Doc updates.
Tue Apr 4 20:13:06 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-context.h: Add user data to PangoContext
* pango/pangox.[ch] examples/viewer.c: Rework system for create GC's
so that the necessary information is stored on the PangoContext
instead of being passed to layout_render()
* pango/utils.[ch] pango/pango-context.c: fribidi-0.1.9
wants UCS-4 not UCS2; switch accordingly.
* pango/fonts.c pango/pango-font.h pango/pangox.c: Add functions
to get overall font metrics, possibly per-language. (Right now,
just font ascent, descent.) The implementation of this for
X is horribly complex.
Mon Apr 3 20:30:20 2000 Owen Taylor <otaylor@redhat.com>
* pango/mapping.c (pango_glyph_string_x_to_index): Fix handling
of positions at character limits.
* modules/basic/basic.c (basic_engine_shape): Fix bug that
was causing mirrored characters not to mirror.
Mon Apr 3 15:16:06 2000 Owen Taylor <otaylor@redhat.com>
* pango/glyphstring.c (pango_glyph_string_get_logical_widths):
Fix off-by-one error for RTL runs.
* configure.in: Add -lglib to AC_CHECK_LIB(fribidi...)
(How did this work?) From Matt Wilson.
* pango/pango-layout.c (pango_layout_check_lines): Correctly deal
with handling character offsets when breaking lines.
* modules/arabic/arabic.c (arabic_engine_shape): Fix problem with
setting unknown glyph when no arabic-capable font found.
Fri Mar 31 11:29:47 2000 Owen Taylor <otaylor@redhat.com>
* pango/pangox.[ch] (pango_x_render_layout[_line]) examples/viewer.c: Add
capability to render foreground / background colors. The interfaces
here are possibly certainly not right, or convenient, but
they should be a start.
Thu Mar 30 17:06:39 2000 Owen Taylor <otaylor@redhat.com>
* modules/arabic/*.[ch]: New version of Arabic module
from Karl Koehler, supporting:
- More extensive ligatures
- Some Hamza handling
- Vowel marks
- mule-arabic font
- LangBox font
- Persian (farsi) (needs testing)
Thu Mar 30 16:49:06 2000 Owen Taylor <otaylor@redhat.com>
* modules/basic/basic.c pango/utils.c (find_converter): Use
"UTF-8" with the dash as the charset name for utf-8.
(Change suggested by Adrian Havill <havill@turbolinux.co.jp>)
* pango/pango-layout.[ch]: Add function to get logical attributes
of the text string.
Mon Mar 13 11:47:53 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-layout.c pango/pangox.c (pango_x_render_layout): Handle right
alignment for width == -1, align within total width of layout.
Mon Mar 13 10:54:48 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-item.[ch]: Memory management functions for PangoItem.
* pango/*.[ch]: Random constification.
* pango/pangox.c pango/pango-layout.c pango/pango-context.c:
Add an extra_attrs field to PangoItem. Use this to handle underlining
for PangoLayout.
* examples/viewer.c (reload_font): Make paragraphs global
to save the complexity of passing it around all over the place.
* pango/pango-layout.[ch] (pango_layout_context_changed): Add
a function to reset the layout on changes to the layout's
context.
* pango/pangox.c (pango_x_make_matching_xlfd): Prefer bitmap
to scaleable if the discrepancy is < 1 pixel. (Probably not
the ideal criterion.)
* pango/pangox.c (pango_x_font_map_for_display): Fix resolution
computation error.
* pango/pango-layout.c (pango_layout_check_lines): Handle
text with embedded newlines.
* pango/pangox.c (pango_x_render_layout): Fix y to refer
to the top of the layout, not the baseline of the first
line.
* pango/pango-layout.c (process_item): Don't wrap if width is
set to -1.
* Makefile.am configure.in **/*.[ch]: move libpango/ directory
and fix all headers to install under include/pango/
Thu Mar 9 19:55:21 2000 Owen Taylor <otaylor@redhat.com>
* Release pango-0.8
* docs/TEXT/coding-style: Added some notes about coding style
within Pango.
* modules/*.[ch]: New version from Karl Koehler adding support
for vowels marks, better ligatures.
* docs/tmpl/*: Doc updates
* libpango/pango-layout.[ch] libpango/pangox/.[ch]: Add functions
for handling paragraphs as 2-D objects, not simple lists of lines,
to make things easier for people using pango-layout.
* examples/viewer.c: Simplify using the now 2-D layout-capabable
PangoLayout.
* libpango/fonts.c (pango_font_{get_coverage,find_shaper}): Allow
NULL language tag.
* libpango/modules.c (_pango_find_map): Fix for allowing
NULL language tag.
Wed Mar 8 13:34:57 2000 Owen Taylor <otaylor@redhat.com>
* libpango/pango-layout.[ch]: First draft of highlevel
driver. It currently only handles a paragraph as a list
of lines, but it is probably necessary to make it handle
2D layout for a paragraph as well
* examples/viewer.c: Move over to new layout driver
(much of the code moved into pango-layout.c)
* libpango/glyphs.c libpango/pango-glyphs.h: Fixes to get_extents(),
add pango_glyph_string_get_logical_widths.
* libpango/pango-itemize.c: Handle 0-length text properly.
* libpango/pangox.c: When loading particular sized fonts,
use the original XLFD, since XFree86 doesn't handle wildcards
in aliases properly.
* libpango/pangox.[ch] (pango_x_render_layout_line): Add function
to render an entire PangoLayoutLine.
* libpango/reorder-items.c: Add a note to the effect
that pango_reorder_items() is basically replaced by a
similar function in PangoLayout.
Wed Mar 8 10:58:56 2000 Owen Taylor <otaylor@redhat.com>
* modules/arabic/arconv.c (shapecount): Fix from Karl
Koehler to joining behavior.
* modules/Makefile.am modules/arabic/*: Added arabic
shaper from Karl Koehler <koehler@or.uni-bonn.de>
* modules/basic/tables-{small,big}.i: Remove arabic
from the ranges that the basic shaper marks as "exact".
* examples/HELLO.utf8: Partially alphabetize, add arabic.
Mon Mar 6 21:03:28 2000 Owen Taylor <otaylor@redhat.com>
* libpango/pango-layout.[ch]: Started work on highlevel layout driver.
Mon Mar 6 20:55:32 2000 Owen Taylor <otaylor@redhat.com>
* libpango/mapping.c example/viewer.c:
* modules/hangul/hangul.c modules/basic/basic.c modules/tamil/tamil.c:
Convert log_clusters[] use from char offsets to byte offset - should
make it easier to have all interface deal with stuff in byte offsets.
* libpango/mapping.c libpango/pango-glyph.h: Rename x_to_cp and cp_to_x
to make them "member functions" of glyph_string.
* libpango/pango-types.h: Add a rectangle type for use in storing
glyph/glyph-string extents, plus macros for extracting ascent/descent.
* libpango/fonts.c libpango/pango-font.h libpango/pangox.c: Virtualize
glyph extents function into the font.
* libpango/pangox.c modules/*/*.c examples/viewer.c: Convert over to
new rationalized unit system - everything in 1000ths of a point
or 1000ths of a glyph unit.
* libpango/pango-glyph.h libpango/glyphstring.c: Add function to get
extents of a glyph string. (We may want to fastpath the width in
the future, since getting the width seems to be a very common
and time-critical operation)
Mon Feb 28 19:46:35 2000 Owen Taylor <otaylor@redhat.com>
* libpango/fonts.c libpango/pango-fonts.h: Add functions
to convert font descriptions to and from human-readable
strings.
* examples/viewer.c: Use functions from libpango instead
of rolling our own font-description conversion functions.
Fri Feb 25 15:04:21 2000 Owen Taylor <otaylor@redhat.com>
* libpango/{fonts.c,pango-font.h,pango-context.[ch],pangox.c,
pango-attributes.c,examples/viewer.c: Add size to the
font description structure instead of continually passing
it around as an extra argument.
* libpango/pangox.c: Take screen resolution into account when
choosing fonts, instead of assumming point == pixel.
Fri Feb 25 12:32:01 2000 Owen Taylor <otaylor@redhat.com>
* configure.in examples/Makefile.am: If GTK+ test fails,
just skip the example program.
* pango-config.in pango.spec.in: Add a simple pango-config
script to the build. (pango-config --libs pangox really
should add the X libraries, but we'll omit that for the
moment.)
Sat Feb 19 18:51:35 2000 Owen Taylor <otaylor@redhat.com>
* libpango/pangox.c (pango_x_make_matching_xlfd): Fix problem
where charsets specified in alias files where being ignored
and treated as wildcards.
Sat Feb 19 17:46:49 2000 Owen Taylor <otaylor@redhat.com>
* README: Fix Dov's name.
Wed Feb 16 19:55:05 2000 Owen Taylor <otaylor@redhat.com>
* configure.in: Release 0.7
* examples/Makefile.am (aliasdir): Install example
pangox_aliases file.
* examples/Makefile.am (bin_PROGRAMS): Install
pango-viewer.
* docs/tmpl/*: Updated templates.
Wed Feb 16 16:39:46 2000 Owen Taylor <otaylor@redhat.com>
* libpango/pango-coverage.c (pango_coverage_get): Make refcounted.
* libpango/modules.c (struct _PangoEnginePair): Since we don't
currently unload engines, cache loaded engines. (Not really
quite satisfactory, but should work OK)
* libpango/pango-context.c (pango_context_get_font_description):
Added a global font description.
* libpango/modules.c (_pango_find_map): Allow NULL
language tags.
* libpango/pango-context.c (pango_itemize) examples/viewer.c:
Switch itemize over to take a PangoAttrList.
* examples/viewer.c: Conform to changes in itemization interface
* libpango/font.[ch]: Add a compare function for FontDescription
* libpango/pango-attributes.[ch]: Change the iteration iterface
to be more convenient.
* libpango/pango-context.[ch]: Add the ability to set a default font.
* libpango/pango-context.[ch]: Take the font for itemization from
the attributes on the text.
* libpango/pangox.c: Cache currently loaded fonts, and cache
coverages.
Tue Feb 15 02:35:56 2000 Owen Taylor <otaylor@redhat.com>
* docs/**: Add documentation for attributes.
* Makefile.am libpango/pango-attributes.[ch]: Finish initial
implementation of attributes APIs.
Mon Feb 14 22:04:38 2000 Owen Taylor <otaylor@redhat.com>
* libpango/pango-attributes.[ch]: Start of attribute lists.
Fri Feb 11 16:04:50 2000 Owen Taylor <otaylor@redhat.com>
* libpango/Makefile.am: make dist fixups.
* Makefile.am pango.spec.in: Add a spec file
* examples/HELLO.utf8: Change Maltese to a different
phrase to include some unique Maltese characters.
(Suggestion from Steven R. Loomis)
* libpango/Makefile.am modules/Makefile.am libpango/modules.c:
Move pango.modules file to /var
Thu Feb 10 23:45:49 2000 Owen Taylor <otaylor@redhat.com>
* docs/**: Added recent API changes.
* libpango/pango-context.c: Doc comment fixes
* configure.in: Add in directories from unicode-config
when running AC_CHECK_LIB on libunicode.
Thu Feb 10 23:45:27 2000 Owen Taylor <otaylor@redhat.com>
* configure.in: Up version to match 0.6 release that
was made yesterday.
* examples/viewer.c (main): Look for fixed if sans
isn't found as an initial font.
* modules/Makefile.am: Add an install rule to
run pango-querymodules.
* modules/*/Makefile.am (module_LTLIBRARIES): Set up
appropriate install rules.
* libpango/Makefile.am: Break the X code out into a
separate library.
Thu Feb 10 20:19:39 2000 Owen Taylor <otaylor@redhat.com>
* examples/viewer.c: Fix some runtime and compile-time warnings.
* modules/hangul/hangul.c (hangul_engine_shape): Shape the
string with the unknown glyph rather than giving a warning
when the font doesn't have any of the necesary charsets.
Thu Feb 10 19:57:27 2000 Owen Taylor <otaylor@redhat.com>
* examples/viewer.c: Add style selector, rewrite family
selector to use list_families().
* libpango/pango-context.[ch] libpango/pango-font.h libpango/pangox.c
libpango/fonts.c: Add calls to list families, modify list_fonts()
call to take an optional "family" parameter for the purpose of
listing the fonts within a family.
Wed Feb 9 14:04:35 2000 Owen Taylor <otaylor@redhat.com>
* TODO: updates.
* docs/*: Added some docs on font handling, both general
and for X.
Tue Feb 8 15:05:17 2000 Owen Taylor <otaylor@redhat.com>
* libpango/pangox.c: Moved the primary size and charset matching
inside of Pango instead of on the font server. This allows us
to do better matching, and only scale scaleable fonts, and not
scale bitmaps. Also, match size and charset simultaneously,
so that we can handle the cases where all sizes are not available
in all charsets better.
Mon Feb 7 20:27:35 2000 Owen Taylor <otaylor@redhat.com>
* libpango/pangox.c (pango_x_names_for_size): Start at reworking
code to do size and charset lookups simultaneously. twill compile
once I get home.
Mon Feb 7 16:49:32 2000 Owen Taylor <otaylor@redhat.com>
* examples/viewer.c (make_families_menu): Switch the option
menu for a combo box.
* examples/pangox_aliases: Add a demo alias file.
* libpango/pangox.c: Add a font-alias mechanism allowing.
* examples/viewer.c (make_font_selector): Added a spin-button for
size.
Wed Feb 2 20:49:21 2000 Owen Taylor <otaylor@redhat.com>
* libpango/pangox.c (pango_x_get_unknown_glyph): Add a call to get
a glyph for unknown an unknown char.
* modules/basic/basic.c: use pango_x_get_unknown_glyph.
* libpango/utils.[ch] (_pango_guchar4_to_utf8): Added util function
for coverting wide chars to utf8.
* libpango/pangox.c (pango_x_font_get_coverage pango_x_font_get_shaper):
Initial implementations.
Wed Feb 2 11:12:12 2000 Owen Taylor <otaylor@redhat.com>
* libpango/pango-types.h: Conditionally define G_N_ELEMENTS() when
using glib-1.3.
* modules/basic/basic.c modules/hangul/hangul.c modules/tamil/tamil.c:
Replace MEMBERS() with G_N_ELEMENTS().
* libpango/pango-engine.h: Added a get_coverage() function
to the PangoEngineShape vtable.
* modules/basic/basic.c modules/hangul/hangul.c modules/tamil/tamil.c:
Added get_coverage() functions. The basic.c one is incredibly
inefficient (but caching may make that matter that much).
The Hangul one needs checking.
Wed Feb 2 00:07:13 2000 Owen Taylor <otaylor@redhat.com>
* libpango/pango-*.h: The great header file reorganization.
Split up roughtly by objects.
* libpango/pango-font.h libpango/fonts.h: Add generic
font-loading and listing interfaces.
* libpango/pangox.c: Implement font-listing/loading interfaces
for X.
* libpango/pango-context.[ch]: Flesh out context structure.
Add appropriate accesors, font loading-methods, etc.
* libpango/pango-coverage.[ch]: Coverage map objects.
* examples/viewer.c: First stab at adding font-selection. Majorly
deficient for the moment until we add font lists and fallbacks
based on coverage maps.
Thu Jan 27 16:50:51 2000 Owen Taylor <otaylor@redhat.com>
* docs/**: Updates to match recent API changes.
Mon Jan 17 22:03:24 2000 Owen Taylor <otaylor@redhat.com>
* modules/hangul/hangul.c modules/tamil/tamil.c:
Updated to use new X font mechanism.
* libpango/pangox.[ch]: Misc bugfixes, no longer segfaults.
Mon Jan 17 18:29:39 2000 Owen Taylor <otaylor@redhat.com>
* libpango/pangox.[ch] modules/basic/basic.c: back away from
the strict charset model to having subfonts arbitrarily indexed. The
charset-index model didn't allow proper fallbacks.
Add a function pango_x_list_subfonts() function that lists
subfonts in the proper order for a given list of charsets.
(segfaults currently, will fix pronto)
Sat Jan 15 03:17:35 2000 Owen Taylor <otaylor@redhat.com>
* pango/glyphstring.c pango/mapping.c pango/pangox.c
modules/basic.c examples/viewer.c:
Switch GlyphStrings to have a single array of
PangoGlyphInfo instead of multiple arrays. Rename
PangoGlyphIndex to PangoGlyph.
Sat Jan 15 01:06:45 2000 Owen Taylor <otaylor@redhat.com>
* libpango/pangox.c libpango/pangox.h libpango/fonts.c
libpango/glyphstring.c modules/basic/basic.c:
Eliminate PangoCFont; For X, encode charset into upper
16 bits of 32 bit glyph IDs. Revise X core <=> module
interfaces to support this change.
Remove support for X_XLFD_FONT_RANGES, which has been
disavowed by its proponents, in favor of checking metrics
to figure out if the relevant characters are there.
Rework operation of basic module to be faster and simple.
* modules/Makefile.am: temporarily comment out Tamil and
Hangul modules until I finish mucking with the
X font interfaces.
Fri Jan 14 12:08:43 2000 Owen Taylor <otaylor@redhat.com>
* examples/HELLO.utf8: Add Pango properly spelled.
* **/Makefile.am: make dist fixes.
Thu Jan 13 17:49:45 2000 Owen Taylor <otaylor@redhat.com>
* TODO: Updated.
Thu Jan 13 16:57:22 2000 Owen Taylor <otaylor@redhat.com>
* examples/viewer.c: reindented.
* README: updated
Wed Jan 12 16:49:03 2000 Owen Taylor <otaylor@redhat.com>
* Huge rename from GScript to Pango.
* modules/tamil/* examples/muru.utf fonts/tscakaram.pcf:
Tamil module from Sivaraj Doddannan <sivaraj@intelligroup.com>
Mon Aug 2 18:32:59 1999 Owen Taylor <otaylor@redhat.com>
* configure.in: Check for libunicode.
* examples/viewer.c libgscript/break.c
libgscript/itemize.c modules/basic/basic.c:
Use libunicode functions for conversion.
* modules/basic/basic.c: Add support for
simple accent composition; fix bidi
swapping to correctly swap clusters
as a unit.
1999-07-26 <otaylor@localhost.localdomain>
* libgscript/mapping.c (g_script_cp_to_x): Fix
buggy algorithm.
1999-07-31 Changwoo Ryu <cwryu@adam.kaist.ac.kr>
* modules/hangul/Makefile.am (EXTRA_DIST): Added tables-*.i
files.
1999-07-29 Raja R Harinath <harinath@cs.umn.edu>
* modules/hangul/Makefile.am (INCLUDES): Use
-I$(top_srcdir)/libgscript.
1999-07-30 Changwoo Ryu <cwryu@adam.kaist.ac.kr>
* modules/hangul/*, Makefile.am, configure.in: Added the Hangul
shaping module.
Wed Jul 28 14:45:00 1999 Owen Taylor <otaylor@redhat.com>
* Released version 0.4
Wed Jul 28 14:43:41 1999 Owen Taylor <otaylor@redhat.com>
* libgscript/reorder-items.c: Return NULL correctly.
* libgscript/mapping.c:
Fixed buggy algorithm for cp to x.
Fixed reversed interpolation for x to cp.
Wed Jul 28 14:42:40 1999 Owen Taylor <otaylor@redhat.com>
* libgscript/mapping.c: Fix bugs
Thu Jul 22 09:36:08 1999 Owen Taylor <otaylor@redhat.com>
* Released version 0.3
Wed Jul 21 18:46:14 1999 Owen Taylor <otaylor@redhat.com>
* libgscript/gscriptx.c (g_script_x_extents): Fix
same off-by-one bug here too...
Wed Jul 21 18:44:55 1999 Owen Taylor <otaylor@redhat.com>
* libgscript/gscriptx.c (g_script_x_glyph_extents): Fix
an off-by-one error in computing indexes into the
per-char information.
Tue Jul 20 20:09:09 1999 Owen Taylor <otaylor@redhat.com>
* docs/tmpl/engines.sgml: First pass at documenting
engine interfaces.
Tue Jul 20 16:10:48 1999 Owen Taylor <otaylor@redhat.com>
* **: Documentation improvements.
Tue Jul 20 15:05:45 1999 Owen Taylor <otaylor@redhat.com>
* modules/basic/{basic.c,tables-{big,small}.i}:
Rewrote basic module to support subset fonts meaningfully.
This meant revising the algorithm used to look
up a font for each character independently.
Which required aggresive caching here and in the
font code to give half-way decent performance.
Added support for ISO-10646-1 fonts.
* libgscript/fonts.c (g_script_font_[get/set]_data): Add the
ability to add user data to a font.
* libgscript/gscriptx.[ch]: Add functions to allow:
- Querying all XLFD's matching a set of character
sets for a font.
- Loading a component font with a particular XLFD.
- Finding the range of present characters for a given XLFD.
Also added tons of caching.
Wed Jul 14 19:11:41 1999 Owen Taylor <otaylor@redhat.com>
* libgscript/gscriptx.c (g_script_x_glyph_extents):
Fixed min/max confusion.
Mon Jul 12 17:14:53 1999 Owen Taylor <otaylor@redhat.com>
* docs/TEXT/glossary (CFont): Expanded.
* libgscript/fonts.c (g_script_cfont_unref): Fixed
leak. (Pointed out by Raph)
* libgscript/gscriptx.c: Handle the case where
fontstruct->per_char == NULL.
Sun Jul 11 23:44:42 1999 Owen Taylor <otaylor@redhat.com>
* Made version 0.2
* **/Makefile.am: Fixes for srcdir != builddir
Sun Jul 11 23:41:19 1999 Owen Taylor <otaylor@redhat.com>
* docs/tmpl/glyphs.sgml: SGML fix.
Sun Jul 11 22:53:11 1999 Owen Taylor <otaylor@redhat.com>
* libgscript/mapping.c: Implemented g_script_cp_to_x()
and g_script_x_to_cp().
* examples/viewer.c: Added clicking on a character to
identify it as a test of the above.
* gscript/gscript.h gscript/gglyphstring.c modules/basic/basic.c:
Add another field into the GGlyphString which holds
a mapping from glyphs to logical clusters.
* libgscript/gscript.h (struct _GScriptLangRange):
Make it start-length like everything else, not
start-end.
Sun Jul 11 00:18:56 1999 Owen Taylor <otaylor@redhat.com>
* docs/tmpl/gscript-x.sgml: Fix sgml error.
Sat Jul 10 23:40:40 1999 Owen Taylor <otaylor@redhat.com>
* modules/basic/basic.c: Added ability to use
multibyte character sets. (Right now, they have
to be converted by iconv into EUC encoding, but
that can easily be extended).
Added simply CJK support. This really bloats and
slows down the module because the range-based
encoding we use to map characters onto character-sets
wasn't designed for CJK-style charsets. But it's
better than nothing for now.
* libgscript/reorder-items.c (reorder_items_recurse): Fix
bug with variable initialization.
* examples/viewer.c (draw): Compute line increments.
* libgscript/gscriptx.c (g_script_x_[glyph]_extents): Added
logical_ascent/descent parameters.
* examples/viewer.c: Commented
Sat Jul 10 04:35:10 1999 Owen Taylor <otaylor@redhat.com>
* configure.in Makefile.am: automake'd and libtoolized.
Sat Jul 10 00:00:00 1999 Owen Taylor <otaylor@redhat.com>
* It renders! Start a ChangeLog
|