summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt12
-rw-r--r--ChangeLog22635
-rw-r--r--Makefile.am2
-rw-r--r--Makefile.in21
-rw-r--r--NEWS11
-rw-r--r--aclocal.m4267
-rwxr-xr-xar-lib4
-rwxr-xr-xcompile13
-rwxr-xr-xconfig.guess485
-rwxr-xr-xconfig.sub207
-rwxr-xr-xconfigure411
-rw-r--r--configure.ac7
-rwxr-xr-xdepcomp8
-rw-r--r--docs/Makefile.in115
-rw-r--r--docs/harfbuzz-docs.xml1
-rw-r--r--docs/harfbuzz-sections.txt16
-rw-r--r--docs/harfbuzz.types36
-rw-r--r--docs/html/a-clustering-example-for-levels-0-and-1.html6
-rw-r--r--docs/html/aat-shaping.html6
-rw-r--r--docs/html/adding-text-to-the-buffer.html6
-rw-r--r--docs/html/annotation-glossary.html6
-rw-r--r--docs/html/api-index-0-9-10.html34
-rw-r--r--docs/html/api-index-0-9-11.html34
-rw-r--r--docs/html/api-index-0-9-2.html757
-rw-r--r--docs/html/api-index-0-9-20.html38
-rw-r--r--docs/html/api-index-0-9-22.html34
-rw-r--r--docs/html/api-index-0-9-28.html34
-rw-r--r--docs/html/api-index-0-9-30.html41
-rw-r--r--docs/html/api-index-0-9-31.html46
-rw-r--r--docs/html/api-index-0-9-38.html45
-rw-r--r--docs/html/api-index-0-9-39.html34
-rw-r--r--docs/html/api-index-0-9-41.html34
-rw-r--r--docs/html/api-index-0-9-42.html42
-rw-r--r--docs/html/api-index-0-9-5.html56
-rw-r--r--docs/html/api-index-0-9-7.html195
-rw-r--r--docs/html/api-index-0-9-8.html34
-rw-r--r--docs/html/api-index-1-0-5.html42
-rw-r--r--docs/html/api-index-1-1-2.html38
-rw-r--r--docs/html/api-index-1-1-3.html49
-rw-r--r--docs/html/api-index-1-2-3.html46
-rw-r--r--docs/html/api-index-1-3-3.html86
-rw-r--r--docs/html/api-index-1-4-0.html30
-rw-r--r--docs/html/api-index-1-4-2.html84
-rw-r--r--docs/html/api-index-1-4-3.html34
-rw-r--r--docs/html/api-index-1-5-0.html49
-rw-r--r--docs/html/api-index-1-6-0.html38
-rw-r--r--docs/html/api-index-1-7-5.html30
-rw-r--r--docs/html/api-index-1-7-7.html100
-rw-r--r--docs/html/api-index-1-8-0.html45
-rw-r--r--docs/html/api-index-1-8-1.html41
-rw-r--r--docs/html/api-index-1-8-5.html34
-rw-r--r--docs/html/api-index-1-8-6.html50
-rw-r--r--docs/html/api-index-1-9-0.html57
-rw-r--r--docs/html/api-index-2-0-0.html92
-rw-r--r--docs/html/api-index-2-1-0.html121
-rw-r--r--docs/html/api-index-full.html314
-rw-r--r--docs/html/buffers-language-script-and-direction.html6
-rw-r--r--docs/html/building.html17
-rw-r--r--docs/html/ch01s03.html6
-rw-r--r--docs/html/ch03s02.html6
-rw-r--r--docs/html/ch03s03.html24
-rw-r--r--docs/html/ch09.html6
-rw-r--r--docs/html/ch10.html6
-rw-r--r--docs/html/ch11.html6
-rw-r--r--docs/html/ch12.html6
-rw-r--r--docs/html/clusters.html6
-rw-r--r--docs/html/complex-scripts.html6
-rw-r--r--docs/html/customizing-unicode-functions.html6
-rw-r--r--docs/html/deprecated-api-index.html98
-rw-r--r--docs/html/fonts-and-faces.html6
-rw-r--r--docs/html/getting-started.html6
-rw-r--r--docs/html/graphite-shaping.html6
-rw-r--r--docs/html/harfbuzz-hb-aat-layout.html40
-rw-r--r--docs/html/harfbuzz-hb-blob.html79
-rw-r--r--docs/html/harfbuzz-hb-buffer.html397
-rw-r--r--docs/html/harfbuzz-hb-common.html1078
-rw-r--r--docs/html/harfbuzz-hb-coretext.html18
-rw-r--r--docs/html/harfbuzz-hb-deprecated.html22
-rw-r--r--docs/html/harfbuzz-hb-face.html105
-rw-r--r--docs/html/harfbuzz-hb-font.html288
-rw-r--r--docs/html/harfbuzz-hb-ft.html36
-rw-r--r--docs/html/harfbuzz-hb-glib.html22
-rw-r--r--docs/html/harfbuzz-hb-gobject.html837
-rw-r--r--docs/html/harfbuzz-hb-graphite2.html8
-rw-r--r--docs/html/harfbuzz-hb-icu.html10
-rw-r--r--docs/html/harfbuzz-hb-map.html59
-rw-r--r--docs/html/harfbuzz-hb-ot-color.html59
-rw-r--r--docs/html/harfbuzz-hb-ot-font.html10
-rw-r--r--docs/html/harfbuzz-hb-ot-layout.html131
-rw-r--r--docs/html/harfbuzz-hb-ot-math.html73
-rw-r--r--docs/html/harfbuzz-hb-ot-name.html30
-rw-r--r--docs/html/harfbuzz-hb-ot-shape.html14
-rw-r--r--docs/html/harfbuzz-hb-ot-var.html45
-rw-r--r--docs/html/harfbuzz-hb-set.html115
-rw-r--r--docs/html/harfbuzz-hb-shape-plan.html89
-rw-r--r--docs/html/harfbuzz-hb-shape.html201
-rw-r--r--docs/html/harfbuzz-hb-unicode.html98
-rw-r--r--docs/html/harfbuzz-hb-uniscribe.html10
-rw-r--r--docs/html/harfbuzz-hb-version.html18
-rw-r--r--docs/html/harfbuzz.devhelp2254
-rw-r--r--docs/html/home.pngbin256 -> 256 bytes
-rw-r--r--docs/html/index.html41
-rw-r--r--docs/html/install-harfbuzz.html6
-rw-r--r--docs/html/left-insensitive.pngbin395 -> 395 bytes
-rw-r--r--docs/html/left.pngbin262 -> 262 bytes
-rw-r--r--docs/html/level-2.html8
-rw-r--r--docs/html/opentype-shaping-models.html6
-rw-r--r--docs/html/plans-and-caching.html6
-rw-r--r--docs/html/pt01.html6
-rw-r--r--docs/html/pt02.html43
-rw-r--r--docs/html/reordering-in-levels-0-and-1.html6
-rw-r--r--docs/html/right-insensitive.pngbin373 -> 373 bytes
-rw-r--r--docs/html/right.pngbin261 -> 261 bytes
-rw-r--r--docs/html/setting-buffer-properties.html6
-rw-r--r--docs/html/shaping-and-shape-plans.html6
-rw-r--r--docs/html/shaping-concepts.html6
-rw-r--r--docs/html/shaping-operations.html6
-rw-r--r--docs/html/style.css4
-rw-r--r--docs/html/text-runs.html6
-rw-r--r--docs/html/the-distinction-between-levels-0-and-1.html8
-rw-r--r--docs/html/unicode-character-categories.html6
-rw-r--r--docs/html/up-insensitive.pngbin374 -> 374 bytes
-rw-r--r--docs/html/up.pngbin260 -> 260 bytes
-rw-r--r--docs/html/using-harfbuzzs-native-opentype-implementation.html6
-rw-r--r--docs/html/using-your-own-font-functions.html6
-rw-r--r--docs/html/what-about-the-other-scripts.html6
-rw-r--r--docs/html/what-harfbuzz-doesnt-do.html6
-rw-r--r--docs/html/what-is-harfbuzz.html6
-rw-r--r--docs/html/why-do-i-need-a-shaping-engine.html6
-rw-r--r--docs/html/why-is-it-called-harfbuzz.html6
-rw-r--r--docs/html/working-with-harfbuzz-clusters.html6
-rw-r--r--docs/usermanual-clusters.xml4
-rw-r--r--docs/usermanual-getting-started.xml18
-rw-r--r--docs/usermanual-install-harfbuzz.xml12
-rw-r--r--docs/version.xml2
-rw-r--r--gtk-doc.make102
-rwxr-xr-xinstall-sh36
-rw-r--r--ltmain.sh789
-rw-r--r--m4/gtk-doc.m427
-rw-r--r--m4/libtool.m4129
-rw-r--r--m4/ltoptions.m42
-rw-r--r--m4/ltsugar.m42
-rw-r--r--m4/ltversion.m412
-rw-r--r--m4/lt~obsolete.m42
-rwxr-xr-xmissing16
-rw-r--r--src/Makefile.in608
-rwxr-xr-xsrc/check-symbols.sh2
-rwxr-xr-xsrc/gen-indic-table.py4
-rwxr-xr-xsrc/gen-use-table.py34
-rwxr-xr-xsrc/gen-vowel-constraints.py4
-rw-r--r--src/hb-aat-layout-ankr-table.hh1
-rw-r--r--src/hb-aat-layout-common.hh14
-rw-r--r--src/hb-atomic.hh8
-rw-r--r--src/hb-buffer.h7
-rw-r--r--src/hb-common.cc49
-rw-r--r--src/hb-common.h8
-rw-r--r--src/hb-coretext.cc10
-rw-r--r--src/hb-directwrite.cc70
-rw-r--r--src/hb-directwrite.h5
-rw-r--r--src/hb-dsalgs.hh32
-rw-r--r--src/hb-graphite2.cc35
-rw-r--r--src/hb-machinery.hh30
-rw-r--r--src/hb-map.hh2
-rw-r--r--src/hb-null.hh31
-rw-r--r--src/hb-ot-cff-common.hh1
-rw-r--r--src/hb-ot-cff1-table.hh51
-rw-r--r--src/hb-ot-font.cc2
-rw-r--r--src/hb-ot-hdmx-table.hh19
-rw-r--r--src/hb-ot-hmtx-table.hh102
-rw-r--r--src/hb-ot-layout-common.hh4
-rw-r--r--src/hb-ot-layout-gsub-table.hh4
-rw-r--r--src/hb-ot-layout.cc13
-rw-r--r--src/hb-ot-layout.hh13
-rw-r--r--src/hb-ot-maxp-table.hh2
-rw-r--r--src/hb-ot-shape-complex-arabic-table.hh14
-rw-r--r--src/hb-ot-shape-complex-arabic.cc6
-rw-r--r--src/hb-ot-shape-complex-hangul.cc3
-rw-r--r--src/hb-ot-shape-complex-indic-machine.hh1244
-rw-r--r--src/hb-ot-shape-complex-indic-machine.rl5
-rw-r--r--src/hb-ot-shape-complex-indic-table.cc56
-rw-r--r--src/hb-ot-shape-complex-indic.cc18
-rw-r--r--src/hb-ot-shape-complex-indic.hh7
-rw-r--r--src/hb-ot-shape-complex-khmer-machine.hh248
-rw-r--r--src/hb-ot-shape-complex-khmer-machine.rl2
-rw-r--r--src/hb-ot-shape-complex-khmer.cc5
-rw-r--r--src/hb-ot-shape-complex-myanmar.cc3
-rw-r--r--src/hb-ot-shape-complex-use-table.cc55
-rw-r--r--src/hb-ot-shape-complex-use.cc3
-rw-r--r--src/hb-ot-shape-complex-vowel-constraints.cc7
-rw-r--r--src/hb-ot-shape-complex.hh3
-rw-r--r--src/hb-ot-shape.cc3
-rw-r--r--src/hb-ot-tag-table.hh12
-rw-r--r--src/hb-ot-tag.cc46
-rw-r--r--src/hb-ot-vorg-table.hh30
-rw-r--r--src/hb-subset-cff-common.cc13
-rw-r--r--src/hb-subset-cff-common.hh117
-rw-r--r--src/hb-subset-cff1.cc77
-rw-r--r--src/hb-subset-cff2.cc30
-rw-r--r--src/hb-subset-glyf.cc252
-rw-r--r--src/hb-subset-input.cc27
-rw-r--r--src/hb-subset-input.hh1
-rw-r--r--src/hb-subset-plan.cc68
-rw-r--r--src/hb-subset-plan.hh61
-rw-r--r--src/hb-subset.cc2
-rw-r--r--src/hb-subset.h6
-rw-r--r--src/hb-ucdn.cc4
-rw-r--r--src/hb-ucdn/Makefile.in49
-rw-r--r--src/hb-ucdn/ucdn.h11
-rw-r--r--src/hb-ucdn/ucdn_db.h2998
-rw-r--r--src/hb-unicode-emoji-table.hh6
-rw-r--r--src/hb-version.h6
-rw-r--r--src/hb.hh3
-rwxr-xr-xtest-driver10
-rw-r--r--test/Makefile.in16
-rw-r--r--test/api/Makefile.in186
-rw-r--r--test/api/fonts/AdobeVFPrototype.ac.retaingids.otfbin0 -> 7000 bytes
-rw-r--r--test/api/fonts/Roboto-Regular.ac.retaingids.ttfbin0 -> 2284 bytes
-rw-r--r--test/api/fonts/SourceHanSans-Regular.41,4C2E.retaingids.otfbin0 -> 2736 bytes
-rw-r--r--test/api/fonts/SourceSansPro-Regular.ac.retaingids.otfbin0 -> 1708 bytes
-rw-r--r--test/api/fonts/Zycon.ttfbin0 -> 21036 bytes
-rw-r--r--test/api/hb-subset-test.h11
-rw-r--r--test/api/test-ot-face.c9
-rw-r--r--test/api/test-subset-cff1.c48
-rw-r--r--test/api/test-subset-cff2.c24
-rw-r--r--test/api/test-subset-glyf.c50
-rw-r--r--test/fuzzing/Makefile.in46
-rw-r--r--test/fuzzing/fonts/clusterfuzz-testcase-minimized-harfbuzz_fuzzer-5748102301614080bin0 -> 213 bytes
-rw-r--r--test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5739000398086144bin0 -> 620 bytes
-rw-r--r--test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5760768497156096bin0 -> 210 bytes
-rw-r--r--test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5764268627066880bin0 -> 687 bytes
-rw-r--r--test/fuzzing/hb-subset-fuzzer.cc32
-rw-r--r--test/shaping/Makefile.in16
-rw-r--r--test/shaping/data/Makefile.in16
-rw-r--r--test/shaping/data/aots/Makefile.in16
-rw-r--r--test/shaping/data/in-house/Makefile.in16
-rw-r--r--test/shaping/data/in-house/fonts/ad01ab2ea1cb1a4d3a2783e2675112ef11ae6404.ttfbin0 -> 1500 bytes
-rw-r--r--test/shaping/data/in-house/fonts/f75c4b05a0a4d67c1a808081ae3d74a9c66509e8.ttfbin0 -> 1924 bytes
-rw-r--r--test/shaping/data/in-house/tests/indic-syllable.tests2
-rw-r--r--test/shaping/data/in-house/tests/khmer-misc.tests1
-rw-r--r--test/shaping/data/in-house/tests/macos.tests19
-rw-r--r--test/shaping/data/text-rendering-tests/Makefile.in16
-rw-r--r--test/subset/Makefile.in16
-rw-r--r--test/subset/data/Makefile.in18
-rw-r--r--test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.61,62,63.ttfbin0 -> 924 bytes
-rw-r--r--test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.61,63.ttfbin0 -> 856 bytes
-rw-r--r--test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.61.ttfbin0 -> 744 bytes
-rw-r--r--test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.62.ttfbin0 -> 712 bytes
-rw-r--r--test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.63.ttfbin0 -> 716 bytes
-rw-r--r--test/subset/data/expected/basics/Roboto-Regular.abc.retain-gids.61,62,63.ttfbin0 -> 2168 bytes
-rw-r--r--test/subset/data/expected/basics/Roboto-Regular.abc.retain-gids.61,63.ttfbin0 -> 1996 bytes
-rw-r--r--test/subset/data/expected/basics/Roboto-Regular.abc.retain-gids.61.ttfbin0 -> 1808 bytes
-rw-r--r--test/subset/data/expected/basics/Roboto-Regular.abc.retain-gids.62.ttfbin0 -> 1756 bytes
-rw-r--r--test/subset/data/expected/basics/Roboto-Regular.abc.retain-gids.63.ttfbin0 -> 1732 bytes
-rw-r--r--test/subset/data/expected/full-font/SourceSansPro-Regular.default.1FC,21,41,20,62,63.otfbin3784 -> 0 bytes
-rw-r--r--test/subset/data/expected/full-font/SourceSansPro-Regular.default.61,62,63.otfbin3496 -> 0 bytes
-rw-r--r--test/subset/data/expected/full-font/SourceSansPro-Regular.default.D7,D8,D9,DA,DE.otfbin3612 -> 0 bytes
-rw-r--r--test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize.1FC,21,41,20,62,63.otfbin3640 -> 0 bytes
-rw-r--r--test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize.61,62,63.otfbin3400 -> 0 bytes
-rw-r--r--test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize.D7,D8,D9,DA,DE.otfbin3596 -> 0 bytes
-rw-r--r--test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.1FC,21,41,20,62,63.otfbin3564 -> 0 bytes
-rw-r--r--test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.61,62,63.otfbin3340 -> 0 bytes
-rw-r--r--test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.otfbin3464 -> 0 bytes
-rw-r--r--test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.desubroutinize.1FC,21,41,20,62,63.otfbin3480 -> 0 bytes
-rw-r--r--test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.desubroutinize.61,62,63.otfbin3276 -> 0 bytes
-rw-r--r--test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.desubroutinize.D7,D8,D9,DA,DE.otfbin3448 -> 0 bytes
-rw-r--r--test/subset/data/expected/japanese/SourceHanSans-Regular.default.3042,3044,3046,3048,304A,304B.otfbin6324 -> 0 bytes
-rw-r--r--test/subset/data/expected/japanese/SourceHanSans-Regular.default.3042,3044,3046,73E0,5EA6,8F38.otfbin6568 -> 0 bytes
-rw-r--r--test/subset/data/expected/japanese/SourceHanSans-Regular.default.61,63,65,6B.otfbin5500 -> 0 bytes
-rw-r--r--test/subset/data/expected/japanese/SourceHanSans-Regular.default.660E,6975,73E0,5EA6,8F38,6E05.otfbin6780 -> 0 bytes
-rw-r--r--test/subset/data/expected/japanese/SourceHanSans-Regular.default.660E.otfbin5248 -> 0 bytes
-rw-r--r--test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize..otfbin2340 -> 0 bytes
-rw-r--r--test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.3042,3044,3046,3048,304A,304B.otfbin6248 -> 0 bytes
-rw-r--r--test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.3042,3044,3046,73E0,5EA6,8F38.otfbin6432 -> 0 bytes
-rw-r--r--test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.61,63,65,6B.otfbin5428 -> 0 bytes
-rw-r--r--test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otfbin6552 -> 0 bytes
-rw-r--r--test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.660E.otfbin5196 -> 0 bytes
-rw-r--r--test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.3042,3044,3046,3048,304A,304B.otfbin6132 -> 0 bytes
-rw-r--r--test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.3042,3044,3046,73E0,5EA6,8F38.otfbin6304 -> 0 bytes
-rw-r--r--test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.61,63,65,6B.otfbin5344 -> 0 bytes
-rw-r--r--test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.otfbin6472 -> 0 bytes
-rw-r--r--test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.660E.otfbin5140 -> 0 bytes
-rw-r--r--test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize..otfbin2188 -> 0 bytes
-rw-r--r--test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize.3042,3044,3046,3048,304A,304B.otfbin6076 -> 0 bytes
-rw-r--r--test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize.3042,3044,3046,73E0,5EA6,8F38.otfbin6180 -> 0 bytes
-rw-r--r--test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize.61,63,65,6B.otfbin5312 -> 0 bytes
-rw-r--r--test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otfbin6248 -> 0 bytes
-rw-r--r--test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize.660E.otfbin5140 -> 0 bytes
-rw-r--r--test/subset/data/profiles/desubroutinize-retain-gids.txt2
-rw-r--r--test/subset/data/profiles/drop-hints-desubroutinize-retain-gids.txt3
-rw-r--r--test/subset/data/profiles/drop-hints-retain-gids.txt2
-rw-r--r--test/subset/data/profiles/retain-gids.txt1
-rw-r--r--test/subset/data/tests/basics.tests2
-rw-r--r--test/subset/data/tests/full-font.tests1
-rw-r--r--test/subset/data/tests/japanese.tests1
-rw-r--r--test/subset/subset_test_suite.py7
-rw-r--r--util/Makefile.in67
-rw-r--r--util/hb-subset.cc1
-rw-r--r--util/options.cc4
-rw-r--r--util/options.hh2
299 files changed, 17060 insertions, 23114 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6a1a36d..f64f96d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -842,18 +842,6 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
endif ()
endif ()
-if (UNIX AND CMAKE_GENERATOR STREQUAL "Ninja")
- if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcolor-diagnostics")
- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fcolor-diagnostics")
- endif ()
- if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color")
- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdiagnostics-color")
- endif ()
-endif ()
-
-
if (HB_BUILD_TESTS)
## src/ executables
foreach (prog main test test-would-substitute test-size-params test-buffer-serialize hb-ot-tag test-unicode-ranges)
diff --git a/ChangeLog b/ChangeLog
index 135b034..1ee02dd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,1361 @@
+commit d6fc1d49aa099104a889c96bc9087c21d8fc0960
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Mar 28 21:21:26 2019 -0700
+
+ 2.4.0
+
+ NEWS | 11 +++++++++++
+ configure.ac | 2 +-
+ src/hb-buffer.h | 2 +-
+ src/hb-version.h | 6 +++---
+ 4 files changed, 16 insertions(+), 5 deletions(-)
+
+commit d2db71fdc4764eecf8320cf465ee0e4254146b6e
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Mar 28 21:00:58 2019 -0700
+
+ Use internal bsearch() for language tags
+
+ Fixes https://github.com/harfbuzz/harfbuzz/pull/1639
+
+ src/hb-ot-tag.cc | 46 ++++++++++++++++++++++------------------------
+ 1 file changed, 22 insertions(+), 24 deletions(-)
+
+commit 21bb80ebf2e20025a196386cee8fd92dd1eb4597
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Mar 28 20:50:04 2019 -0700
+
+ [indic] Add back medial-consonant to grammar
+
+ Fixes https://github.com/harfbuzz/harfbuzz/issues/1592
+
+ src/hb-ot-shape-complex-indic-machine.hh | 1244 +++++++++++---------
+ src/hb-ot-shape-complex-indic-machine.rl | 5 +-
+ src/hb-ot-shape-complex-indic.cc | 2 +-
+ src/hb-ot-shape-complex-indic.hh | 6 +-
+ .../f75c4b05a0a4d67c1a808081ae3d74a9c66509e8.ttf | Bin 0 -> 1924 bytes
+ .../data/in-house/tests/indic-syllable.tests | 2 +
+ 6 files changed, 672 insertions(+), 587 deletions(-)
+
+commit 5ab6de7a6fbad4c4a954c2c81d216486a5a14f72
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Mar 28 20:23:12 2019 -0700
+
+ [khmer] Add trailing Coeng to syllable grammar
+
+ Fixes https://github.com/harfbuzz/harfbuzz/issues/1541
+
+ src/hb-ot-shape-complex-khmer-machine.hh | 248 ++++++++++-----------
+ src/hb-ot-shape-complex-khmer-machine.rl | 2 +-
+ .../ad01ab2ea1cb1a4d3a2783e2675112ef11ae6404.ttf | Bin 0 -> 1500 bytes
+ test/shaping/data/in-house/tests/khmer-misc.tests | 1 +
+ 4 files changed, 122 insertions(+), 129 deletions(-)
+
+commit 7360265e69a8cdaa9f993c36def2860a79cca49f
+Author: Ebrahim Byagowi <ebrahim@gnu.org>
+Date: Thu Mar 28 16:57:56 2019 -0700
+
+ [ci] Tweak macos and psvita bots (#1638)
+
+ * Add --with-graphite2 to macOS
+ * Add a dummy ragel script for psvita
+
+ .circleci/config.yml | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit a548d1da78b506cc6460fdde3715f6ef13ccad48
+Author: Ebrahim Byagowi <ebrahim@gnu.org>
+Date: Thu Mar 28 15:42:45 2019 -0700
+
+ [ci] Use only CircleCI for macOS (#1637)
+
+ .circleci/config.yml | 5 +++--
+ .travis.yml | 18 ------------------
+ 2 files changed, 3 insertions(+), 20 deletions(-)
+
+commit 160b4a2b01e925812fbf0e7db5bc9dcb90dc81cc
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Mar 28 13:44:38 2019 -0700
+
+ Fix shell syntax error
+
+ Fixes https://github.com/harfbuzz/harfbuzz/issues/1612
+
+ src/check-symbols.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8665b9b0a24e4d46e486057d72c0486b9da16523
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Mar 28 11:11:52 2019 -0700
+
+ Comment
+
+ src/hb.hh | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit a7eed7e41dba8e583a9c740a4ca7ddf53e77de63
+Author: punchcutter <zarijoscha@gmail.com>
+Date: Wed Mar 27 23:12:58 2019 -0700
+
+ Override USE category for Grantha and Tirhuta visargas to allow marks
+
+ src/gen-use-table.py | 3 ++-
+ src/hb-ot-shape-complex-use-table.cc | 4 ++--
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+commit cf040c0fef4a049a75a5ec7972f518b9034bdc76
+Author: Egor Pugin <egor.pugin@gmail.com>
+Date: Thu Mar 28 19:06:12 2019 +0300
+
+ Disable unwanted C++ definitions for MSVC.
+
+ MSVC does not set __cplusplus to the latest standard and also it does not like redefining some keywords.
+
+ src/hb.hh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 717181c5943c13a682c719dce10bfc3d9cc47e6b
+Author: Ebrahim Byagowi <ebrahim@gnu.org>
+Date: Wed Mar 27 16:38:39 2019 +0430
+
+ [ci] remove ragel from psvita compile bot
+
+ .circleci/config.yml | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 08e36c5d8be22b3a7e31f33af9452372dafeacc0
+Author: Ebrahim Byagowi <ebrahim@gnu.org>
+Date: Wed Mar 27 16:21:47 2019 +0430
+
+ [ci] Don't install ragel on cmake build bot images
+
+ It is not needed anyway
+
+ .circleci/config.yml | 5 -----
+ 1 file changed, 5 deletions(-)
+
+commit ec2a5dc859b03ceb92518aa992e4e9c053b30534
+Author: Behdad Esfahbod <behdad@fb.com>
+Date: Tue Mar 26 16:18:03 2019 -0700
+
+ Use class templates for Null objects
+
+ This allows partial-instantiating custom Null object for template Lookup<T>.
+ Before, this had to be handcoded per instantiation. Apparently I missed
+ adding one for AAT::ankr.lookupTable, so it was getting the wrong (generic)
+ null for Lookup object, which is wrong and unsafe.
+
+ Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=944346
+
+ src/hb-aat-layout-common.hh | 14 ++++------
+ src/hb-null.hh | 31 +++++++++++++--------
+ ...case-minimized-harfbuzz_fuzzer-5748102301614080 | Bin 0 -> 213 bytes
+ 3 files changed, 24 insertions(+), 21 deletions(-)
+
+commit 96f12377942dbe1c6b1d0ffa7d626d99cb265443
+Author: Behdad Esfahbod <behdad@fb.com>
+Date: Tue Mar 26 16:17:45 2019 -0700
+
+ [aat] Add missing check to ankr table
+
+ Isn't absolutely needed. But helps.
+
+ src/hb-aat-layout-ankr-table.hh | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit e5dfffb1ef610a982ed9878fbf3f9ee49cbc3a97
+Author: Behdad Esfahbod <behdad@fb.com>
+Date: Mon Mar 25 15:15:37 2019 -0700
+
+ [docs] Update
+
+ docs/harfbuzz-docs.xml | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 0dd3fdf9d227f9bd79f395078f8e58dcfc32d1bf
+Author: Behdad Esfahbod <behdad@fb.com>
+Date: Mon Mar 25 15:08:14 2019 -0700
+
+ Update ChangeLog generation
+
+ Let's see if I can make a release on Mac...
+
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2d9034491eca0a63db82d3801f05c067a5241b7d
+Author: Qunxin Liu <qxliu@google.com>
+Date: Tue Mar 26 10:37:24 2019 -0700
+
+ completely remove lines that are commented out
+
+ src/hb-subset-plan.cc | 6 ------
+ src/hb-subset-plan.hh | 3 ---
+ 2 files changed, 9 deletions(-)
+
+commit 3147133b6173487c26813a2a406aebd067b53fbf
+Author: Qunxin Liu <qxliu@google.com>
+Date: Tue Mar 26 09:15:56 2019 -0700
+
+ update arguments in_populate_gids_to_retain() and _create_old_gid_to_new_gid_map()
+ so they don't use deprecated variable
+
+ src/hb-subset-plan.cc | 36 ++++++++++++++++++------------------
+ 1 file changed, 18 insertions(+), 18 deletions(-)
+
+commit 79a6c258497e80be15245a7b576e34443d9f7bff
+Author: Qunxin Liu <qxliu@google.com>
+Date: Mon Mar 25 19:59:37 2019 -0700
+
+ try to remove deprecated variable from struct definition
+
+ src/hb-subset-plan.cc | 9 +++++----
+ src/hb-subset-plan.hh | 2 +-
+ 2 files changed, 6 insertions(+), 5 deletions(-)
+
+commit bcb4e505d6ffe33e3268a06698e75d6be0e64957
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Fri Mar 15 13:46:25 2019 -0700
+
+ cff2 subset fuzzer issues (#1619)
+
+ * add check to FDArray::serialize
+
+ * add test files
+
+ * fix off by one
+
+ src/hb-ot-cff-common.hh | 1 +
+ ...z-testcase-minimized-hb-subset-fuzzer-5739000398086144 | Bin 0 -> 620 bytes
+ ...z-testcase-minimized-hb-subset-fuzzer-5760768497156096 | Bin 0 -> 210 bytes
+ ...z-testcase-minimized-hb-subset-fuzzer-5764268627066880 | Bin 0 -> 687 bytes
+ 4 files changed, 1 insertion(+)
+
+commit 8aaab78efcac81a05ec919be13792c98741ea1b5
+Author: Ebrahim Byagowi <ebrahim@gnu.org>
+Date: Thu Mar 14 16:49:42 2019 -0700
+
+ Allow zero length ranges in sanitization (#1617)
+
+ Fixes fvar table sanitization where there are no named instance
+ by allowing zero length ranges starting from Null() address.
+
+ Fixes #1607
+
+ src/hb-machinery.hh | 30 ++++++++++++++++--------------
+ test/api/fonts/Zycon.ttf | Bin 0 -> 21036 bytes
+ test/api/test-ot-face.c | 9 +++++++++
+ 3 files changed, 25 insertions(+), 14 deletions(-)
+
+commit b1dfb8c850f36d4065190a779a6e3342a5fbb593
+Author: Khaled Hosny <khaledhosny@eglug.org>
+Date: Thu Mar 14 21:41:25 2019 +0200
+
+ [ci] Cache FreeType build on Travis
+
+ .ci/build-freetype.sh | 17 +++++++++++++++++
+ .travis.yml | 18 ++++++++++++------
+ 2 files changed, 29 insertions(+), 6 deletions(-)
+
+commit 7de9f92ee9ced6f4c176459cf25f4ca931ca5ceb
+Author: David Corbett <corbett.dav@husky.neu.edu>
+Date: Tue Mar 12 19:30:47 2019 -0400
+
+ Categorize U+09FC as Consonant_Placeholder
+
+ src/hb-ot-shape-complex-indic.hh | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 8b1eaecd9485fe504af364db1537bb04852b265c
+Author: Khaled Hosny <khaledhosny@eglug.org>
+Date: Wed Mar 13 13:21:12 2019 +0200
+
+ [ci] Simplify and fix Travis CI macOS build
+
+ .travis.yml | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+commit e52ec3fc23c2d5a881849f047885e0423bd74740
+Author: Behdad Esfahbod <behdad@fb.com>
+Date: Mon Mar 11 18:09:51 2019 -0700
+
+ Remove redundant hb_ot_layout_lookup_would_substitute_fast
+
+ src/hb-ot-layout.cc | 13 -------------
+ src/hb-ot-layout.hh | 7 -------
+ src/hb-ot-shape-complex-indic.cc | 2 +-
+ src/hb-ot-shape-complex-khmer.cc | 2 +-
+ 4 files changed, 2 insertions(+), 22 deletions(-)
+
+commit c2442c90d6ecfaee987ed8ac6f93a9ac6b07c642
+Author: Khaled Hosny <khaledhosny@eglug.org>
+Date: Tue Mar 12 01:09:27 2019 +0200
+
+ [doc] Add placeholder since version for new flag
+
+ src/hb-buffer.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8c42f03215097d7c1bae74db7e98315263d3e8a4
+Author: David Corbett <corbett.dav@husky.neu.edu>
+Date: Fri Mar 8 09:46:48 2019 -0500
+
+ Remove obsolete overrides from Indic/USE scripts
+
+ src/gen-indic-table.py | 4 ----
+ src/gen-use-table.py | 30 +++++++-----------------------
+ src/hb-ot-shape-complex-use-table.cc | 2 +-
+ 3 files changed, 8 insertions(+), 28 deletions(-)
+
+commit b38bab86229bc40d9cdf4819d6dc6aab444d0291
+Author: Eric Muller <emuller@amazon.com>
+Date: Tue Feb 12 11:41:16 2019 -0800
+
+ Update generation code for hb-ot-shape-complex-vowel-constraints.cc. Remove 'unlikely'
+
+ src/gen-vowel-constraints.py | 3 +++
+ src/hb-ot-shape-complex-vowel-constraints.cc | 2 +-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+commit 44a67ddeb878f7639b30d1884e38b1525aab4f4a
+Author: Eric Muller <emuller@amazon.com>
+Date: Sun Feb 10 04:31:41 2019 -0800
+
+ Fix coding style.
+
+ src/hb-ot-shape-complex-hangul.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 30d7c40f8ce9f47d733b1f43a93f20739772859e
+Author: Eric Muller <emuller@amazon.com>
+Date: Sat Feb 9 02:55:27 2019 -0800
+
+ Add a flag to hb_buffer_t to prevent the insertion of dotted circles on incorrect character sequences.
+
+ Current behavior unchanged if this flag is not set (and it isn't by default).
+
+ src/hb-buffer.h | 7 ++++++-
+ src/hb-ot-shape-complex-hangul.cc | 3 ++-
+ src/hb-ot-shape-complex-indic.cc | 3 +++
+ src/hb-ot-shape-complex-khmer.cc | 3 +++
+ src/hb-ot-shape-complex-myanmar.cc | 3 +++
+ src/hb-ot-shape-complex-use.cc | 3 +++
+ src/hb-ot-shape-complex-vowel-constraints.cc | 3 +++
+ src/hb-ot-shape.cc | 3 +++
+ 8 files changed, 26 insertions(+), 2 deletions(-)
+
+commit 8b6eb6cf465032d0ca747f4b75f6e9155082bc45
+Author: Ebrahim Byagowi <ebrahim@gnu.org>
+Date: Fri Mar 8 01:33:41 2019 +0330
+
+ Add a macOS 10.14.3 fonts tests (#1608)
+
+ .circleci/config.yml | 11 +++++++++++
+ test/shaping/data/in-house/tests/macos.tests | 19 +++++++++++++++++++
+ 2 files changed, 30 insertions(+)
+
+commit e723c04de1b3dcd96e6a70baf09e3ae2ddbbc0bf
+Author: David Corbett <corbett.dav@husky.neu.edu>
+Date: Wed Mar 6 12:37:25 2019 -0500
+
+ Update to Unicode 12.0.0
+
+ src/gen-use-table.py | 1 -
+ src/gen-vowel-constraints.py | 1 +
+ src/hb-common.h | 8 +
+ src/hb-ot-shape-complex-arabic-table.hh | 14 +-
+ src/hb-ot-shape-complex-indic-table.cc | 56 +-
+ src/hb-ot-shape-complex-use-table.cc | 49 +-
+ src/hb-ot-shape-complex-vowel-constraints.cc | 4 +-
+ src/hb-ot-shape-complex.hh | 3 +
+ src/hb-ot-tag-table.hh | 12 +-
+ src/hb-ucdn.cc | 4 +
+ src/hb-ucdn/ucdn.h | 11 +
+ src/hb-ucdn/ucdn_db.h | 2998 +++++++++++++-------------
+ src/hb-unicode-emoji-table.hh | 6 +-
+ 13 files changed, 1631 insertions(+), 1536 deletions(-)
+
+commit 2f125b0fa763c3be7d8d74489c027f7155607756
+Author: Adrian Wong <adrianwjw@gmail.com>
+Date: Wed Feb 13 21:04:46 2019 +1100
+
+ [indic] Remove superfluous ZWNJ check in final reorder of pre-base matras
+
+ src/hb-ot-shape-complex-indic.cc | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+commit d936ad4582a0017cf88406372d7c08b9896beed6
+Author: Stephan Bergmann <sbergman@redhat.com>
+Date: Tue Mar 5 17:18:57 2019 +0100
+
+ Fix hb_atomic_* variants based on C++11 atomics
+
+ I stumbled over this when trying to upgrade the version of HarfBuzz used by
+ LibreOffice to 3.2.1 (see <https://gerrit.libreoffice.org/plugins/gitiles/core/
+ +/b7ddc514bff9bdf682abae537f990aa01dc2c0fb%5E!/> "Upgrade to latest
+ HarfBuzz 2.3.1"), where building with MSVC 2017 failed like
+
+ > c:\cygwin\home\tdf\lode\jenkins\workspace\gerrit_windows\workdir\unpackedtarball\harfbuzz\src\hb-atomic.hh(272): error C2440: 'reinterpret_cast': cannot convert from 'const int *' to 'std::atomic<int> *'
+ > c:\cygwin\home\tdf\lode\jenkins\workspace\gerrit_windows\workdir\unpackedtarball\harfbuzz\src\hb-atomic.hh(272): note: Conversion loses qualifiers
+ > c:\cygwin\home\tdf\lode\jenkins\workspace\gerrit_windows\workdir\unpackedtarball\harfbuzz\src\hb-atomic.hh(272): error C2227: left of '->load' must point to class/struct/union/generic type
+
+ (see <https://ci.libreoffice.org/job/gerrit_windows/29916/>).
+
+ I added all the necessary "const" to make building of HarfBuzz 2.3.1 with
+ MSVC 2017 succeed for me. There may be more missing at least conceptually.
+
+ src/hb-atomic.hh | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 731b13e4e9190a45e51f855f19e88869a7718d43
+Author: Martin Hosken <martin_hosken@sil.org>
+Date: Mon Mar 4 11:12:21 2019 +0700
+
+ Fix offset drift in graphite integration
+
+ src/hb-graphite2.cc | 35 +++++++++++++++++++----------------
+ 1 file changed, 19 insertions(+), 16 deletions(-)
+
+commit 8a25868e6a41a3d82782aadb3c7b744ad87d20ff
+Author: Ebrahim Byagowi <ebrahim@gnu.org>
+Date: Sat Mar 2 03:24:49 2019 +0330
+
+ Minor, remove .editorconfig hack
+
+ As vscode is going to support it soon
+
+ .editorconfig | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+commit 4f37ab63de9705d7bf74ee75364747e41b7c06a1
+Author: Garret Rieger <grieger@google.com>
+Date: Thu Feb 28 17:25:05 2019 -0800
+
+ Make hb_subset_input_glyph_set () actually do something.
+
+ src/hb-subset-plan.cc | 3 +++
+ test/api/hb-subset-test.h | 11 ++++++++++-
+ test/api/test-subset-glyf.c | 24 ++++++++++++++++++++++++
+ 3 files changed, 37 insertions(+), 1 deletion(-)
+
+commit 45149eb34f9735b5d690a2a7956adb42b938c8d9
+Author: Ebrahim Byagowi <ebrahim@gnu.org>
+Date: Fri Feb 22 13:13:42 2019 +0330
+
+ [dwrite] hb_directwrite_face_create, a new API
+
+ It makes a hb_face_t from IDWriteFontFace, useful when using
+ DirectWrite facilities for font selection, loading and rendering
+ but using harfbuzz for shaping.
+
+ src/hb-directwrite.cc | 70 +++++++++++++++++++++++++++++++++++++++++++++++----
+ src/hb-directwrite.h | 5 +++-
+ 2 files changed, 69 insertions(+), 6 deletions(-)
+
+commit 45adc185260f0fa1fa86472aafb7f91f942c567e
+Author: David Corbett <corbett.dav@husky.neu.edu>
+Date: Mon Feb 18 22:30:40 2019 -0500
+
+ Fix or document unsupported font-feature-settings
+
+ src/hb-common.cc | 18 ++++++++++++------
+ util/options.cc | 3 ++-
+ 2 files changed, 14 insertions(+), 7 deletions(-)
+
+commit d66f7e14a0097d8ca54ad9824f7aa7daee6c7f72
+Author: Joël R. Langlois <joel.r.langlois@gmail.com>
+Date: Mon Feb 25 15:26:58 2019 -0500
+
+ Remove Forcing Diagnostic Colours from CMakeLists.txt (#1597)
+
+ Fixes https://github.com/harfbuzz/harfbuzz/issues/1596
+
+ CMakeLists.txt | 12 ------------
+ 1 file changed, 12 deletions(-)
+
+commit 93739242e1aab9b745d0ba3c22c33b4acaf9526c
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Wed Feb 20 13:23:12 2019 -0800
+
+ minor edit
+
+ src/hb-map.hh | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit eebc21c8de08d58c806fcd3d0f3a5aedee867776
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Wed Feb 20 12:43:18 2019 -0800
+
+ fix crash in hb_map_t::clear()
+
+ in case called immediately after init()
+
+ src/hb-map.hh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit a17ed8459ee1e01caf4761f682bcda821bc8e656
+Author: Khaled Hosny <khaledhosny@eglug.org>
+Date: Tue Feb 19 21:14:11 2019 +0200
+
+ [doc] Move hb_variation_t to hb-common section
+
+ docs/harfbuzz-sections.txt | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 9caabc9cf898e1d66921f88890d5b7d46494dc90
+Author: Khaled Hosny <khaledhosny@eglug.org>
+Date: Tue Feb 19 19:27:28 2019 +0200
+
+ [doc] Move feature_t and its function to hb-common
+
+ It is rather confusing to have script, language etc, in hb-common section
+ while feature is in hb-shape section. I keep looking for it in hb-common
+ section then using the API index because I can’t find it there.
+
+ docs/harfbuzz-sections.txt | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit d29c8424c8bfa47c910d0e270f05b5c0a1f803a2
+Author: Evgeniy Reizner <razrfalcon@gmail.com>
+Date: Tue Feb 19 18:35:00 2019 +0200
+
+ Typo (#1588)
+
+ Fixed a small typo.
+ [skip ci]
+
+ src/hb-ot-font.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6bd4c082e49143d0631881645b81f999347257f8
+Author: Khaled Hosny <khaledhosny@eglug.org>
+Date: Tue Feb 19 02:23:58 2019 +0200
+
+ [doc] Document hb_feature_from_string() syntax
+
+ Copied and edited from the util option documentation. The docbook table
+ syntax is too verbose, but that is the best I can come up with.
+
+ src/hb-common.cc | 35 ++++++++++++++++++++++++++++++++++-
+ 1 file changed, 34 insertions(+), 1 deletion(-)
+
+commit 3da79dd5b92b89fbf062cbe591e6b1ba83083aec
+Merge: 50005501 d8a68728
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Feb 15 15:54:51 2019 -0800
+
+ Merge pull request #1557 from harfbuzz/cff-more-arrayof-fixes
+
+ CFF more arrayof fixes
+
+commit 5000550183022db8c9cfef63a9ed90eb9f37764d
+Merge: 5c2bb1de 90c8bbf9
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Feb 15 15:54:13 2019 -0800
+
+ Merge pull request #1583 from harfbuzz/cff-retain-gids
+
+ [subset] Implement --retain-gids with CFF/CFF2
+
+commit d8a68728a077a8c5fc8ceae19f2866cdc8b70baf
+Merge: 1cb1d5d7 5c2bb1de
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Fri Feb 15 14:48:10 2019 -0800
+
+ Merge branch 'master' into cff-more-arrayof-fixes
+
+commit 90c8bbf98747eb29687471da892b4a34a9236242
+Merge: 6f1dfd08 5c2bb1de
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Fri Feb 15 14:47:38 2019 -0800
+
+ Merge branch 'master' into cff-retain-gids
+
+commit 5c2bb1de8de31fecf0dae2ef905b896e42d39f1d
+Author: Martin <44297768+TheRealMDoerr@users.noreply.github.com>
+Date: Fri Feb 15 19:23:46 2019 +0100
+
+ Support xlclang++ on AIX. (#1584)
+
+ src/hb-atomic.hh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 28f77361322886360743fdbffd388c9482cf4257
+Author: Behdad Esfahbod <behdad@fb.com>
+Date: Thu Feb 14 11:34:28 2019 -0800
+
+ [CI] Install more packages
+
+ Wish there was a way to streamline this :(.
+
+ .circleci/config.yml | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 1cb1d5d7fb74e9f42dc8361dcdf669ed479d595d
+Merge: 8a568a88 d5287e1b
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Thu Feb 14 10:09:19 2019 -0800
+
+ Merge branch 'master' into cff-more-arrayof-fixes
+
+commit 6f1dfd082cf79488ae6773e7d99172f13575668c
+Merge: b1dbc77f d5287e1b
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Thu Feb 14 10:08:16 2019 -0800
+
+ Merge branch 'master' into cff-retain-gids
+
+commit d5287e1ba40638be5d48178ce3d64557b622b01f
+Author: Behdad Esfahbod <behdad@fb.com>
+Date: Wed Feb 13 23:46:17 2019 -0800
+
+ [CI] Install wget on clang-O3-O0 bot
+
+ .circleci/config.yml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 890d0ee77fecd6aa4f19b663bb2897735a0d4c0b
+Author: Ebrahim Byagowi <ebrahim@gnu.org>
+Date: Thu Feb 14 00:27:01 2019 +0330
+
+ Minor, use a meaningful naming in template parameter (#1582)
+
+ src/hb-ot-layout.hh | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 8a568a8858b44a81ca43a82761a70bf8d53e7c26
+Merge: c83412e4 1e1d0e63
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Wed Feb 13 11:25:00 2019 -0800
+
+ Merge branch 'master' into cff-more-arrayof-fixes
+
+commit b1dbc77fa62a99047df539663cfd1e8778d2c907
+Merge: c3a3536c 1e1d0e63
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Wed Feb 13 11:24:38 2019 -0800
+
+ Merge branch 'master' into cff-retain-gids
+
+commit 1e1d0e63df405730ed542ae1d729928623addf08
+Author: Ebrahim Byagowi <ebrahim@gnu.org>
+Date: Wed Feb 13 12:58:01 2019 +0330
+
+ Fix djgpp complains by tweaking templates (#1579)
+
+ For some reasons djgpp doesn't understand "unsigned int" can be same
+ with one of uint*_t anyway so lets do that for it explicitly.
+
+ Just to note, our CI's djgpp is based GCC 7.2.0 and isn't old.
+
+ src/hb-ot-layout.hh | 4 ++--
+ src/hb-ot-shape-complex-arabic.cc | 6 +++---
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+commit c3a3536c9a00a989ebd83d52e67d06525ed669bc
+Merge: bc33c617 85a6d312
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Tue Feb 12 15:10:59 2019 -0800
+
+ Merge branch 'cff-retain-gids' of https://github.com/harfbuzz/harfbuzz into cff-retain-gids
+
+commit bc33c617b85988f4d81312e62a75f92601852c76
+Merge: c6af8461 fdfa3d29
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Tue Feb 12 15:10:50 2019 -0800
+
+ Merge branch 'master' into cff-retain-gids
+
+commit c6af846178bba10af318bcea1e9ac5165ec2aea6
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Tue Feb 12 15:10:43 2019 -0800
+
+ tweaked --desubroutinize to remove hintmask only subrs
+
+ src/hb-subset-cff-common.hh | 26 ++++++++++++++++++++++++--
+ 1 file changed, 24 insertions(+), 2 deletions(-)
+
+commit 85a6d3121a26c9bcbec60d37b64643ff8dc97a0a
+Merge: d9ded069 fdfa3d29
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Mon Feb 11 14:25:21 2019 -0800
+
+ Merge branch 'master' into cff-retain-gids
+
+commit c83412e4cec10f6f6f6ac38f202b3ce373da5daf
+Merge: 1239b6b2 fdfa3d29
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Mon Feb 11 14:16:25 2019 -0800
+
+ Merge branch 'master' into cff-more-arrayof-fixes
+
+commit fdfa3d29b7c347b5038f4f9148428c80dde462ae
+Author: Ken <21211439+kencu@users.noreply.github.com>
+Date: Sun Feb 10 23:46:05 2019 -0800
+
+ hb-coretext.cc: remove TARGET_OS_MAC from test (#1578)
+
+ it is always true when building on APPLE systems
+ and this file only builds on APPLE systems
+
+ src/hb-coretext.cc | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit f55e7bf5835c59e478d6a448327d53027c4e9f4a
+Author: Ebrahim Byagowi <ebrahim@gnu.org>
+Date: Sun Feb 10 01:08:05 2019 +0330
+
+ [ci] Install 'base-devel' on ArchLinux CI bot
+
+ .circleci/config.yml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8f4eb919bd0498e997852aa39656adc4c65b3f0e
+Author: Ebrahim Byagowi <ebrahim@gnu.org>
+Date: Sat Feb 9 16:58:02 2019 +0330
+
+ [ci] Install 'which' in ArchLinux bot
+
+ .circleci/config.yml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 02294349618037f59b32834b49880ca75ed96261
+Author: Ebrahim Byagowi <ebrahim@gnu.org>
+Date: Sat Feb 9 16:33:28 2019 +0330
+
+ [ci] Speculative fix for Alpine and ArchLinux bots
+
+ .circleci/config.yml | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit d9ded069926bf46a5d8e5edbf5201c98044db78e
+Merge: a5e933eb 84694af7
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Fri Feb 8 14:44:20 2019 -0800
+
+ Merge branch 'master' into cff-retain-gids
+
+commit a5e933eba08ff50ac3beb1055ae952ccc26d0af7
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Fri Feb 8 14:44:13 2019 -0800
+
+ Updated expected/cff-japanese fonts with retained FDs
+
+ ...gular.default.3042,3044,3046,3048,304A,304B.otf | Bin 6324 -> 6356 bytes
+ ...gular.default.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 6568 -> 6564 bytes
+ .../SourceHanSans-Regular.default.61,63,65,6B.otf | Bin 5500 -> 5532 bytes
+ ...gular.default.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 6780 -> 6780 bytes
+ .../SourceHanSans-Regular.default.660E.otf | Bin 5248 -> 5248 bytes
+ ...e-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 536352 -> 537992 bytes
+ ...e-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 690752 -> 692312 bytes
+ ...ular.desubroutinize-retain-gids.61,63,65,6B.otf | Bin 530004 -> 531624 bytes
+ ...e-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 690868 -> 692496 bytes
+ ...ans-Regular.desubroutinize-retain-gids.660E.otf | Bin 612212 -> 613836 bytes
+ ...esubroutinize.3042,3044,3046,3048,304A,304B.otf | Bin 6248 -> 6272 bytes
+ ...esubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 6432 -> 6456 bytes
+ ...eHanSans-Regular.desubroutinize.61,63,65,6B.otf | Bin 5428 -> 5460 bytes
+ ...esubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 6552 -> 6572 bytes
+ .../SourceHanSans-Regular.desubroutinize.660E.otf | Bin 5196 -> 5224 bytes
+ ...e-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 536176 -> 537424 bytes
+ ...e-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 690500 -> 691692 bytes
+ ...ints-desubroutinize-retain-gids.61,63,65,6B.otf | Bin 529888 -> 531124 bytes
+ ...e-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 690564 -> 691808 bytes
+ ....drop-hints-desubroutinize-retain-gids.660E.otf | Bin 612108 -> 613348 bytes
+ ...s-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 536244 -> 537492 bytes
+ ...s-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 690596 -> 691788 bytes
+ ...-Regular.drop-hints-retain-gids.61,63,65,6B.otf | Bin 529928 -> 531164 bytes
+ ...-Regular.drop-hints-retain-gids.61,63,65,6B.ttx | 393879 ++++++++++++++++++
+ ...s-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 690768 -> 692008 bytes
+ ...HanSans-Regular.drop-hints-retain-gids.660E.otf | Bin 612128 -> 613368 bytes
+ ...ar.drop-hints.3042,3044,3046,3048,304A,304B.otf | Bin 6132 -> 6164 bytes
+ ...ar.drop-hints.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 6304 -> 6300 bytes
+ ...ourceHanSans-Regular.drop-hints.61,63,65,6B.otf | Bin 5344 -> 5376 bytes
+ ...ar.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 6472 -> 6472 bytes
+ .../SourceHanSans-Regular.drop-hints.660E.otf | Bin 5140 -> 5140 bytes
+ ...r.retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 536436 -> 538076 bytes
+ ...r.retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 690860 -> 692420 bytes
+ ...urceHanSans-Regular.retain-gids.61,63,65,6B.otf | Bin 530084 -> 531704 bytes
+ ...r.retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 691076 -> 692700 bytes
+ .../SourceHanSans-Regular.retain-gids.660E.otf | Bin 612236 -> 613860 bytes
+ 36 files changed, 393879 insertions(+)
+
+commit 84694af723bde07cf3231ed2d2e193123f5f73ed
+Author: Ebrahim Byagowi <ebrahim@gnu.org>
+Date: Fri Feb 8 15:30:17 2019 +0330
+
+ [ci] Disable the just added bot
+
+ Doesn't play well with CircleCI apparently
+
+ https://circleci.com/gh/harfbuzz/harfbuzz/74289
+
+ .circleci/config.yml | 19 ++++++++++---------
+ 1 file changed, 10 insertions(+), 9 deletions(-)
+
+commit 81ae4974e35aa8ca408abd6238eb768f5c948287
+Author: Ebrahim Byagowi <ebrahim@gnu.org>
+Date: Fri Feb 8 15:18:26 2019 +0330
+
+ [ci] Add a Void Linux bot
+
+ https://voidlinux.org/ is yet another and different distro written from scratch, thus completely eligible to have a bot here!
+
+ Seriously however not that useful yet however but I will try to overload it other tasks later, like our other bots.
+
+ No test yet also, couldn't install cairo-devel, will try to fix that later.
+
+ Their harfbuzz package source: https://github.com/void-linux/void-packages/blob/master/srcpkgs/harfbuzz/template
+
+ .circleci/config.yml | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+commit e2856c2d85eb0f6ce0c780d1889dc9bb05cdc433
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Thu Feb 7 15:32:32 2019 -0800
+
+ retain FDSelect & FDArray with --retain-gids
+
+ so in sync with fonttools behavior
+
+ src/hb-subset-cff-common.cc | 12 ++++--------
+ .../SourceHanSans-Regular.41,4C2E.retaingids.otf | Bin 2604 -> 2736 bytes
+ 2 files changed, 4 insertions(+), 8 deletions(-)
+
+commit 1239b6b2b4430658aea78216a1dcc885724a7ab4
+Merge: 9f80eb01 126abca9
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Thu Feb 7 10:29:40 2019 -0800
+
+ Merge branch 'master' into cff-more-arrayof-fixes
+
+commit a5fa76977b5bdf3bd40ede3cdd0da9c5546557a6
+Merge: 214d0b02 126abca9
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Thu Feb 7 10:28:13 2019 -0800
+
+ Merge branch 'master' into cff-retain-gids
+
+commit 214d0b024b49edd51974ff2c051535ae06de0709
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Thu Feb 7 10:27:43 2019 -0800
+
+ minor change
+
+ src/hb-subset-cff-common.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 126abca98a954f7ec3374d0593fee25f78dc10f3
+Merge: 1e062821 7859decd
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Feb 6 13:36:52 2019 -0800
+
+ Merge pull request #1571 from kencu/cleanostests
+
+ hb-coretext.cc: clean up macosx test
+
+commit 7859decdd02f65dfb3da07bd95742b14b4697638
+Author: Ken Cunningham <kencu@macports.org>
+Date: Tue Feb 5 20:26:49 2019 -0800
+
+ hb-coretext.cc: clean up macosx test
+
+ TARGET_OS_OSX was introduced only in late OS versions
+ so always returns as "0" on older systems.
+
+ if !TARGET_OS_IPHONE can work, as it returns as !0 on older
+ systems where TARGET_OS_IPHONE is not defined, but is not
+ specific
+
+ if TARGET_OS_MAC && !(defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
+ is both specific and accurate on all systems.
+
+ src/hb-coretext.cc | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit 9328354a83252a8d8d74fe424ab3894d398b0bd0
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Mon Feb 4 11:28:15 2019 -0800
+
+ separate CFF from TrueType in full font tests
+
+ ...eSansPro-Regular.default.1FC,21,41,20,62,63.otf | Bin
+ .../SourceSansPro-Regular.default.61,62,63.otf | Bin
+ ...ourceSansPro-Regular.default.D7,D8,D9,DA,DE.otf | Bin
+ ...subroutinize-retain-gids.1FC,21,41,20,62,63.otf | Bin
+ ...Regular.desubroutinize-retain-gids.61,62,63.otf | Bin
+ ...r.desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf | Bin
+ ...o-Regular.desubroutinize.1FC,21,41,20,62,63.otf | Bin
+ ...urceSansPro-Regular.desubroutinize.61,62,63.otf | Bin
+ ...nsPro-Regular.desubroutinize.D7,D8,D9,DA,DE.otf | Bin
+ ...subroutinize-retain-gids.1FC,21,41,20,62,63.otf | Bin
+ ...p-hints-desubroutinize-retain-gids.61,62,63.otf | Bin
+ ...s-desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf | Bin
+ ...rop-hints-desubroutinize.1FC,21,41,20,62,63.otf | Bin
+ ...-Regular.drop-hints-desubroutinize.61,62,63.otf | Bin
+ ...ar.drop-hints-desubroutinize.D7,D8,D9,DA,DE.otf | Bin
+ ...r.drop-hints-retain-gids.1FC,21,41,20,62,63.otf | Bin
+ ...Pro-Regular.drop-hints-retain-gids.61,62,63.otf | Bin
+ ...gular.drop-hints-retain-gids.D7,D8,D9,DA,DE.otf | Bin
+ ...nsPro-Regular.drop-hints.1FC,21,41,20,62,63.otf | Bin
+ .../SourceSansPro-Regular.drop-hints.61,62,63.otf | Bin
+ ...ceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.otf | Bin
+ ...sPro-Regular.retain-gids.1FC,21,41,20,62,63.otf | Bin
+ .../SourceSansPro-Regular.retain-gids.61,62,63.otf | Bin
+ ...eSansPro-Regular.retain-gids.D7,D8,D9,DA,DE.otf | Bin
+ ...gular.default.3042,3044,3046,3048,304A,304B.otf | Bin
+ ...gular.default.3042,3044,3046,73E0,5EA6,8F38.otf | Bin
+ .../SourceHanSans-Regular.default.61,63,65,6B.otf | Bin
+ ...gular.default.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin
+ .../SourceHanSans-Regular.default.660E.otf | Bin
+ ...e-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin
+ ...e-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin
+ ...ular.desubroutinize-retain-gids.61,63,65,6B.otf | Bin
+ ...e-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin
+ ...ans-Regular.desubroutinize-retain-gids.660E.otf | Bin
+ ...esubroutinize.3042,3044,3046,3048,304A,304B.otf | Bin
+ ...esubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf | Bin
+ ...eHanSans-Regular.desubroutinize.61,63,65,6B.otf | Bin
+ ...esubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin
+ .../SourceHanSans-Regular.desubroutinize.660E.otf | Bin
+ ...e-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin
+ ...e-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin
+ ...ints-desubroutinize-retain-gids.61,63,65,6B.otf | Bin
+ ...e-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin
+ ....drop-hints-desubroutinize-retain-gids.660E.otf | Bin
+ ...esubroutinize.3042,3044,3046,3048,304A,304B.otf | Bin
+ ...esubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf | Bin
+ ...gular.drop-hints-desubroutinize.61,63,65,6B.otf | Bin
+ ...esubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin
+ ...Sans-Regular.drop-hints-desubroutinize.660E.otf | Bin
+ ...s-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin
+ ...s-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin
+ ...-Regular.drop-hints-retain-gids.61,63,65,6B.otf | Bin
+ ...s-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin
+ ...HanSans-Regular.drop-hints-retain-gids.660E.otf | Bin
+ ...ar.drop-hints.3042,3044,3046,3048,304A,304B.otf | Bin
+ ...ar.drop-hints.3042,3044,3046,73E0,5EA6,8F38.otf | Bin
+ ...ourceHanSans-Regular.drop-hints.61,63,65,6B.otf | Bin
+ ...ar.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin
+ .../SourceHanSans-Regular.drop-hints.660E.otf | Bin
+ ...r.retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin
+ ...r.retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin
+ ...urceHanSans-Regular.retain-gids.61,63,65,6B.otf | Bin
+ ...r.retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin
+ .../SourceHanSans-Regular.retain-gids.660E.otf | Bin
+ test/subset/data/tests/cff-full-font.tests | 18 +++++++++++++++++
+ test/subset/data/tests/cff-japanese.tests | 22 +++++++++++++++++++++
+ test/subset/data/tests/full-font.tests | 7 -------
+ test/subset/data/tests/japanese.tests | 7 -------
+ test/subset/subset_test_suite.py | 7 +------
+ 69 files changed, 41 insertions(+), 20 deletions(-)
+
+commit ec30a8a9acf7be9918a8a6bff41696127090173f
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Fri Feb 1 15:58:03 2019 -0800
+
+ removed unused test data
+
+ ...ts.desubroutinize-retain-gids.1FC,21,41,20,62,63.otf | Bin 15456 -> 0 bytes
+ ...r.drop-hints.desubroutinize-retain-gids.61,62,63.otf | Bin 13036 -> 0 bytes
+ ...-hints.desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf | Bin 16656 -> 0 bytes
+ ...nsPro-Regular.drop-hints.desubroutinize.61,62,63.otf | Bin 3276 -> 0 bytes
+ ...-hints.desubroutinize.retain-gids.D7,D8,D9,DA,DE.otf | Bin 34560 -> 0 bytes
+ ...ro-Regular.drop-hints.retain-gids.D7,D8,D9,DA,DE.otf | Bin 34576 -> 0 bytes
+ 6 files changed, 0 insertions(+), 0 deletions(-)
+
+commit 30b781f20a8e386732f8e2858a22665d7af98061
+Merge: c1286265 1e062821
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Fri Feb 1 14:50:34 2019 -0800
+
+ Merge branch 'master' into cff-retain-gids
+
+commit c12862657f24b6c197e23d99a4edbdfcf3c90653
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Fri Feb 1 14:50:01 2019 -0800
+
+ added desubroutinize & retain-gids full test cases with CFF fonts
+
+ and CFF retain-gids fixes
+
+ src/hb-subset-cff1.cc | 44 +++++++++------------
+ .../SourceHanSans-Regular.41,4C2E.retaingids.otf | Bin 2600 -> 2604 bytes
+ ...subroutinize-retain-gids.1FC,21,41,20,62,63.otf | Bin 0 -> 33516 bytes
+ ...Regular.desubroutinize-retain-gids.61,62,63.otf | Bin 0 -> 31080 bytes
+ ...r.desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf | Bin 0 -> 34708 bytes
+ ...subroutinize-retain-gids.1FC,21,41,20,62,63.otf | Bin 0 -> 33352 bytes
+ ...p-hints-desubroutinize-retain-gids.61,62,63.otf | Bin 0 -> 30956 bytes
+ ...s-desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf | Bin 0 -> 34560 bytes
+ ...op-hints-desubroutinize.1FC,21,41,20,62,63.otf} | Bin
+ ...-Regular.drop-hints-desubroutinize.61,62,63.otf | Bin 0 -> 3288 bytes
+ ...r.drop-hints-desubroutinize.D7,D8,D9,DA,DE.otf} | Bin
+ ...r.drop-hints-retain-gids.1FC,21,41,20,62,63.otf | Bin 0 -> 33448 bytes
+ ...Pro-Regular.drop-hints-retain-gids.61,62,63.otf | Bin 0 -> 31028 bytes
+ ...gular.drop-hints-retain-gids.D7,D8,D9,DA,DE.otf | Bin 0 -> 34576 bytes
+ ...subroutinize-retain-gids.1FC,21,41,20,62,63.otf | Bin 0 -> 15456 bytes
+ ...p-hints.desubroutinize-retain-gids.61,62,63.otf | Bin 0 -> 13036 bytes
+ ...s.desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf | Bin 0 -> 16656 bytes
+ ...s.desubroutinize.retain-gids.D7,D8,D9,DA,DE.otf | Bin 0 -> 34560 bytes
+ ...gular.drop-hints.retain-gids.D7,D8,D9,DA,DE.otf | Bin 0 -> 34576 bytes
+ ...sPro-Regular.retain-gids.1FC,21,41,20,62,63.otf | Bin 0 -> 33668 bytes
+ .../SourceSansPro-Regular.retain-gids.61,62,63.otf | Bin 0 -> 31180 bytes
+ ...eSansPro-Regular.retain-gids.D7,D8,D9,DA,DE.otf | Bin 0 -> 34724 bytes
+ ...e-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 0 -> 536352 bytes
+ ...e-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 0 -> 690752 bytes
+ ...ular.desubroutinize-retain-gids.61,63,65,6B.otf | Bin 0 -> 530004 bytes
+ ...e-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 0 -> 690868 bytes
+ ...ans-Regular.desubroutinize-retain-gids.660E.otf | Bin 0 -> 612212 bytes
+ .../SourceHanSans-Regular.desubroutinize..otf | Bin 2340 -> 0 bytes
+ ...e-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 0 -> 536176 bytes
+ ...e-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 0 -> 690500 bytes
+ ...ints-desubroutinize-retain-gids.61,63,65,6B.otf | Bin 0 -> 529888 bytes
+ ...e-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 0 -> 690564 bytes
+ ....drop-hints-desubroutinize-retain-gids.660E.otf | Bin 0 -> 612108 bytes
+ ...subroutinize.3042,3044,3046,3048,304A,304B.otf} | Bin 6076 -> 6096 bytes
+ ...subroutinize.3042,3044,3046,73E0,5EA6,8F38.otf} | Bin 6180 -> 6204 bytes
+ ...ular.drop-hints-desubroutinize.61,63,65,6B.otf} | Bin 5312 -> 5344 bytes
+ ...subroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf} | Bin 6248 -> 6268 bytes
+ ...ans-Regular.drop-hints-desubroutinize.660E.otf} | Bin 5140 -> 5120 bytes
+ ...s-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 0 -> 536244 bytes
+ ...s-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 0 -> 690596 bytes
+ ...-Regular.drop-hints-retain-gids.61,63,65,6B.otf | Bin 0 -> 529928 bytes
+ ...s-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 0 -> 690768 bytes
+ ...HanSans-Regular.drop-hints-retain-gids.660E.otf | Bin 0 -> 612128 bytes
+ ...eHanSans-Regular.drop-hints.desubroutinize..otf | Bin 2188 -> 0 bytes
+ ...r.retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 0 -> 536436 bytes
+ ...r.retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 0 -> 690860 bytes
+ ...urceHanSans-Regular.retain-gids.61,63,65,6B.otf | Bin 0 -> 530084 bytes
+ ...r.retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 0 -> 691076 bytes
+ .../SourceHanSans-Regular.retain-gids.660E.otf | Bin 0 -> 612236 bytes
+ .../data/profiles/desubroutinize-retain-gids.txt | 2 +
+ .../drop-hints-desubroutinize-retain-gids.txt | 3 ++
+ test/subset/data/tests/full-font.tests | 6 +++
+ test/subset/data/tests/japanese.tests | 6 +++
+ test/subset/subset_test_suite.py | 2 +-
+ 54 files changed, 36 insertions(+), 27 deletions(-)
+
+commit f2908b4d8f9b02ce06d3f648c3f08757797073b6
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Thu Jan 31 14:16:37 2019 -0800
+
+ Implement subset --regain-gids option with CFF1/2
+
+ along with api tests & expected results
+
+ src/hb-subset-cff-common.cc | 17 +++-
+ src/hb-subset-cff-common.hh | 91 +++++++++++++--------
+ src/hb-subset-cff1.cc | 89 ++++++++++++--------
+ src/hb-subset-cff2.cc | 30 ++++---
+ test/api/fonts/AdobeVFPrototype.ac.retaingids.otf | Bin 0 -> 7000 bytes
+ .../SourceHanSans-Regular.41,4C2E.retaingids.otf | Bin 0 -> 2600 bytes
+ .../fonts/SourceSansPro-Regular.ac.retaingids.otf | Bin 0 -> 1708 bytes
+ test/api/test-subset-cff1.c | 48 +++++++++++
+ test/api/test-subset-cff2.c | 24 ++++++
+ 9 files changed, 217 insertions(+), 82 deletions(-)
+
+commit 1e06282105a2d579aab32094cc7abc10ed231978
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jan 31 13:56:58 2019 -0800
+
+ Adjust hb_is_signed<>
+
+ Fixes https://github.com/harfbuzz/harfbuzz/issues/1535
+
+ src/hb-dsalgs.hh | 27 +++++++++------------------
+ 1 file changed, 9 insertions(+), 18 deletions(-)
+
+commit 21ea1c91529471c05e03b6db61df256f24fa23c1
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jan 31 13:49:18 2019 -0800
+
+ Remove stale comment
+
+ src/hb-dsalgs.hh | 5 -----
+ 1 file changed, 5 deletions(-)
+
+commit 9f80eb0177e527253818ad9171fc75fb565318cb
+Merge: b3799007 d14d2c20
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Thu Jan 31 12:54:36 2019 -0800
+
+ Merge branch 'master' into cff-more-arrayof-fixes
+
+commit d14d2c20b05c5acf0a6f9c6dc36a7b8d8966153e
+Merge: acf5f0a3 dc04261a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 30 18:36:57 2019 -0500
+
+ Merge pull request #1567 from googlefonts/fuzzer
+
+ [subset] Update the subset fuzzer to get options to use from test case.
+
+commit dc04261a5b8408bcfde16090ddf91568c3d8dae7
+Author: Garret Rieger <grieger@google.com>
+Date: Wed Jan 30 15:23:19 2019 -0800
+
+ [subset] Update the subset fuzzer to determine which options to use based on data in the fuzzing test case.
+ Add support for toggling retain_gids.
+
+ test/fuzzing/hb-subset-fuzzer.cc | 32 +++++++++++++++++++-------------
+ 1 file changed, 19 insertions(+), 13 deletions(-)
+
+commit acf5f0a3aff0e128509b0979f629edf0596fcee5
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 30 15:10:23 2019 -0800
+
+ [configure] Fix up
+
+ configure.ac | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+commit 6b834c1c76b867ef32747202a755255d2f360f1e
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 30 15:06:22 2019 -0800
+
+ [configure] Print compiler version info in report
+
+ configure.ac | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit d983c529b66b530715e9c813c69e699b1d8029d3
+Merge: 55d1d7c8 e6ffcc59
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 30 17:17:59 2019 -0500
+
+ Merge pull request #1564 from googlefonts/retain_gids
+
+ [subset] Add --retain-gids option to the subsetter.
+
+commit 55d1d7c8bcd8d97c4e618e5dd21f13df50b10ce8
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 30 13:54:15 2019 -0800
+
+ 2.3.1
+
+ NEWS | 7 +++++++
+ configure.ac | 2 +-
+ src/hb-version.h | 4 ++--
+ 3 files changed, 10 insertions(+), 3 deletions(-)
+
+commit e6ffcc5904ab88143cad0c7a7a4c990147af278b
+Author: Garret Rieger <grieger@google.com>
+Date: Mon Jan 28 18:12:19 2019 -0800
+
+ [subset] Add expected files for retain-gids integration tests.
+
+ ...oboto-Regular.abc.drop-hints-retain-gids.61,62,63.ttf | Bin 0 -> 924 bytes
+ .../Roboto-Regular.abc.drop-hints-retain-gids.61,63.ttf | Bin 0 -> 856 bytes
+ .../Roboto-Regular.abc.drop-hints-retain-gids.61.ttf | Bin 0 -> 744 bytes
+ .../Roboto-Regular.abc.drop-hints-retain-gids.62.ttf | Bin 0 -> 712 bytes
+ .../Roboto-Regular.abc.drop-hints-retain-gids.63.ttf | Bin 0 -> 716 bytes
+ .../basics/Roboto-Regular.abc.retain-gids.61,62,63.ttf | Bin 0 -> 2168 bytes
+ .../basics/Roboto-Regular.abc.retain-gids.61,63.ttf | Bin 0 -> 1996 bytes
+ .../basics/Roboto-Regular.abc.retain-gids.61.ttf | Bin 0 -> 1808 bytes
+ .../basics/Roboto-Regular.abc.retain-gids.62.ttf | Bin 0 -> 1756 bytes
+ .../basics/Roboto-Regular.abc.retain-gids.63.ttf | Bin 0 -> 1732 bytes
+ test/subset/data/profiles/retain-gids.txt | 1 -
+ 11 files changed, 1 deletion(-)
+
+commit 198859bb3702e45cb271dd51b7231f10d01576be
+Author: Garret Rieger <grieger@google.com>
+Date: Mon Jan 28 18:10:56 2019 -0800
+
+ [subset] For retain gids don't truncate glyphs past the highest requested subset glyph.
+
+ src/hb-subset-plan.cc | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit 490d52f908aaa4722e71a4a682de20e94d89ad00
+Author: Garret Rieger <grieger@google.com>
+Date: Mon Jan 28 17:43:42 2019 -0800
+
+ [subset] Add retain-gids option to hb-subset executable.
+
+ util/hb-subset.cc | 1 +
+ util/options.cc | 1 +
+ util/options.hh | 2 ++
+ 3 files changed, 4 insertions(+)
+
+commit a903f9c228d1f3e8065f89de16e50027d6018e58
+Author: Garret Rieger <grieger@google.com>
+Date: Mon Jan 28 17:43:11 2019 -0800
+
+ [subset] Add some subsetting integration tests covering retain gids.
+
+ test/subset/data/profiles/drop-hints-retain-gids.txt | 2 ++
+ test/subset/data/profiles/retain-gids.txt | 2 ++
+ test/subset/data/tests/basics.tests | 2 ++
+ 3 files changed, 6 insertions(+)
+
+commit 05e99c86baa0e95c2bff1c87d601eaf022c9d1f8
+Author: Garret Rieger <grieger@google.com>
+Date: Mon Jan 28 17:05:04 2019 -0800
+
+ [subset] A few small fixes for the new subset plan api.
+
+ src/hb-ot-hdmx-table.hh | 6 +++---
+ src/hb-ot-hmtx-table.hh | 9 +++------
+ src/hb-subset.cc | 2 +-
+ 3 files changed, 7 insertions(+), 10 deletions(-)
+
+commit bdbe047d6ce3d8873c6740500d38d1b0c4e851f8
+Author: Garret Rieger <grieger@google.com>
+Date: Mon Jan 28 16:59:15 2019 -0800
+
+ [subset] Update hb-subset-plan.cc to match hb-subset-plan.hh.
+
+ src/hb-subset-plan.cc | 20 ++++++++++----------
+ src/hb-subset-plan.hh | 1 -
+ 2 files changed, 10 insertions(+), 11 deletions(-)
+
+commit 74c44ffebafe7758937d82524758be8bb4ecc4e2
+Author: Garret Rieger <grieger@google.com>
+Date: Mon Jan 28 16:53:01 2019 -0800
+
+ [subset] Update hb-subset-glyf.cc to use new hb-subset-plan API.
+
+ src/hb-subset-glyf.cc | 57 ++++++++++++++++++++-------------------------------
+ 1 file changed, 22 insertions(+), 35 deletions(-)
+
+commit 4842294b861b9fe322c811abef0ebb0553be2bf0
+Author: Garret Rieger <grieger@google.com>
+Date: Mon Jan 28 16:51:27 2019 -0800
+
+ [subset] Update gsub to use glyphset() method of subset plan.
+
+ src/hb-ot-layout-gsub-table.hh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 853b1f1aa5489b8439c41c30be77ed042c8c89e5
+Author: Garret Rieger <grieger@google.com>
+Date: Mon Jan 28 16:50:56 2019 -0800
+
+ [subset] Correct maxp num glyph's to use new subset plan method.
+
+ src/hb-ot-maxp-table.hh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 846e05a298bc088f2cd2fe53b75ca531916a56f8
+Author: Garret Rieger <grieger@google.com>
+Date: Mon Jan 28 16:50:20 2019 -0800
+
+ [subset] Re-add glyphs array to subset plan, with new name 'glyphs_deprecated'. Switch CFF subsetting to use it.
+
+ src/hb-subset-cff1.cc | 36 ++++++++++++++++++------------------
+ src/hb-subset-cff2.cc | 12 ++++++------
+ src/hb-subset-plan.hh | 3 +++
+ 3 files changed, 27 insertions(+), 24 deletions(-)
+
+commit 03e88eab5c0f8775ccffc0925532748140d93470
+Author: Garret Rieger <grieger@google.com>
+Date: Mon Jan 28 16:15:06 2019 -0800
+
+ Re-implement HMTX/VMTX subsetting. Update it to support glyph renumbering and simplify the implementation.
+
+ src/hb-ot-hmtx-table.hh | 99 +++++++++++++++++++++++++------------------------
+ src/hb-subset-plan.cc | 2 +-
+ src/hb-subset-plan.hh | 2 +-
+ 3 files changed, 53 insertions(+), 50 deletions(-)
+
+commit 925be2922348336335a96d84e606d4bdd9a11110
+Author: Garret Rieger <grieger@google.com>
+Date: Fri Jan 25 18:04:41 2019 -0800
+
+ Update hb-ot-vorg-table and hb-ot-layout-common to use the updated subset plan api.
+
+ src/hb-ot-layout-common.hh | 4 ++--
+ src/hb-ot-vorg-table.hh | 30 +++++++++++++++++++-----------
+ 2 files changed, 21 insertions(+), 13 deletions(-)
+
+commit 4af3be6ef8654ae05b331941e6e690ac197fd144
+Author: Garret Rieger <grieger@google.com>
+Date: Fri Jan 25 18:03:47 2019 -0800
+
+ Remove glyph array from subset plan, make num_glyphs and glyphset private.
+
+ src/hb-subset-plan.hh | 51 +++++++++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 41 insertions(+), 10 deletions(-)
+
+commit 23f364429dc9350ee06146bdf0ff73d7035e1d71
+Author: Garret Rieger <grieger@google.com>
+Date: Fri Jan 18 18:33:21 2019 -0800
+
+ [subset] Fix hdmx subsetting when retain gids is enabled.
+
+ src/hb-ot-hdmx-table.hh | 19 +++++++++++--------
+ src/hb-subset-plan.cc | 10 ++++++++++
+ src/hb-subset-plan.hh | 16 +++++++++++++++-
+ 3 files changed, 36 insertions(+), 9 deletions(-)
+
+commit 2da1654aefbe4f8e5f1320f1c061adbf90963951
+Author: Garret Rieger <grieger@google.com>
+Date: Fri Jan 18 17:49:35 2019 -0800
+
+ [subset] Compute num_glyphs during subset plan construction.
+ Update maxp to use the correct num glyphs.
+
+ src/hb-ot-maxp-table.hh | 2 +-
+ src/hb-subset-glyf.cc | 6 +-----
+ src/hb-subset-plan.cc | 16 +++++++++++++---
+ src/hb-subset-plan.hh | 1 +
+ 4 files changed, 16 insertions(+), 9 deletions(-)
+
+commit ccc59dc6121e98ed8d610350b43218e540f61f25
+Author: Garret Rieger <grieger@google.com>
+Date: Fri Jan 18 17:36:32 2019 -0800
+
+ [subset] Add unit test for glyf subsetting and retain gids.
+
+ test/api/fonts/Roboto-Regular.ac.retaingids.ttf | Bin 0 -> 2284 bytes
+ test/api/test-subset-glyf.c | 26 ++++++++++++++++++++++++
+ 2 files changed, 26 insertions(+)
+
+commit 96b038f375bcfcfdf76c75200ca02758ea7a4ff6
+Author: Garret Rieger <grieger@google.com>
+Date: Fri Jan 18 16:41:08 2019 -0800
+
+ [subset] fix failure to init instruction ranges values for an invalid glyph.
+
+ src/hb-subset-glyf.cc | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 4b1ac3a2fa0a5842b5d45d287fe33e5050ffda3f
+Author: Garret Rieger <grieger@google.com>
+Date: Fri Jan 18 15:11:26 2019 -0800
+
+ [subset] Do some refactoring in hb-subset-glyf.cc.
+ - Extract code out into helper methods in several places.
+ - Bundle loca address, size and is short into a struct.
+
+ src/hb-subset-glyf.cc | 264 ++++++++++++++++++++++++++++----------------------
+ 1 file changed, 148 insertions(+), 116 deletions(-)
+
+commit b7f971884ed838636be85de216bf60ca4a28ccb9
+Author: Garret Rieger <grieger@google.com>
+Date: Thu Jan 17 18:55:56 2019 -0800
+
+ Add retain_gids option to subset input. Update glyf and loca handling to respect retain_gids.
+
+ src/hb-subset-glyf.cc | 39 ++++++++++++++++++++++++++++++---------
+ src/hb-subset-input.cc | 27 +++++++++++++++++++++++++++
+ src/hb-subset-input.hh | 1 +
+ src/hb-subset-plan.cc | 14 ++++++++++----
+ src/hb-subset.h | 6 ++++++
+ 5 files changed, 74 insertions(+), 13 deletions(-)
+
+commit b3799007554f2909170df941b07c72f7dc02dfcd
+Merge: c6856443 fe532923
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Tue Jan 29 12:19:57 2019 -0800
+
+ Merge branch 'master' into cff-more-arrayof-fixes
+
commit fe532923101586e316b300d419a337d357cd93da
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 28 20:47:58 2019 -0500
[CI] Peg CircleCI badge link to master branch
-
+
[skip ci]
README.md | 2 +-
@@ -14,7 +1366,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 28 20:43:43 2019 -0500
[ci] Peg build status badges to master branch
-
+
[skip ci]
README.md | 6 +++---
@@ -25,7 +1377,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 28 20:38:15 2019 -0500
Switch README / README.md
-
+
[skip ci]
README | 19 +------------------
@@ -55,10 +1407,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 28 14:09:59 2019 -0500
Fix warning
-
- c:\projects\harfbuzz\src\hb-ot-color-cbdt-table.hh(59): warning C4146:
- unary minus operator applied to unsigned type, result still unsigned
- [C:\projects\harfbuzz\build\harfbuzz.vcxproj]
+
+ c:\projects\harfbuzz\src\hb-ot-color-cbdt-table.hh(59): warning C4146: unary minus operator applied to unsigned type, result still unsigned [C:\projects\harfbuzz\build\harfbuzz.vcxproj]
src/hb-ot-color-cbdt-table.hh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -110,6 +1460,13 @@ Date: Fri Jan 25 15:11:47 2019 +0100
test/shaping/data/in-house/tests/macos.tests | 2 ++
1 file changed, 2 insertions(+)
+commit c685644386d1c88d6df6e024e56d61c792d94418
+Merge: 0bd0a331 e970de48
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Thu Jan 24 13:19:18 2019 -0800
+
+ Merge branch 'master' into cff-more-arrayof-fixes
+
commit e970de48bcbdccd29350f331288c0a98f7846c16
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 24 18:16:17 2019 +0100
@@ -124,11 +1481,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 24 18:12:25 2019 +0100
[AAT] Use a ring buffer for ligature stack
-
- I think Apple does very similarly, but probably with a stack size
- of 16.
+
+ I think Apple does very similarly, but probably with a stack size of 16.
We do it with a stack size that is currently set to 64.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1531
src/hb-aat-layout-morx-table.hh | 15 ++++++---------
@@ -148,10 +1504,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 24 18:01:07 2019 +0100
[AAT] Handle transition errors during machine operation
-
- Before we used to give up. Now, just ignore error and continue
- processing.
-
+
+ Before we used to give up. Now, just ignore error and continue processing.
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1531
src/hb-aat-layout-common.hh | 3 +--
@@ -159,6 +1514,13 @@ Date: Thu Jan 24 18:01:07 2019 +0100
src/hb-aat-layout-morx-table.hh | 34 +++++++++++++---------------------
3 files changed, 21 insertions(+), 37 deletions(-)
+commit 0bd0a3311cfded5ffa4d9d488d404558cf65e8ed
+Merge: 12cd3171 f60282c5
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Thu Jan 24 08:53:28 2019 -0800
+
+ Merge branch 'master' into cff-more-arrayof-fixes
+
commit e234bb6a428cd6c8ddf57eb078cd51b9d1f25ba8
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 24 17:23:11 2019 +0100
@@ -176,8 +1538,7 @@ Date: Thu Jan 24 17:21:41 2019 +0100
src/hb-aat-layout-common.hh | 12 ++++----
src/hb-aat-layout-kerx-table.hh | 38 +++++++++++------------
- src/hb-aat-layout-morx-table.hh | 68
- ++++++++++++++++++++---------------------
+ src/hb-aat-layout-morx-table.hh | 68 ++++++++++++++++++++---------------------
3 files changed, 59 insertions(+), 59 deletions(-)
commit 299eca0c3b28c99add006420bc667431d874fb2e
@@ -212,7 +1573,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 24 16:29:09 2019 +0100
More pragma control
-
+
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=924848
src/hb.hh | 16 +++++++++++++++-
@@ -242,13 +1603,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 24 16:08:33 2019 +0100
Form cluster for Emoji sub-region tag sequences
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1556
- src/hb-ot-shape.cc | 13
- +++++++++++++
- .../fonts/8d9c4b193808b8bde94389ba7831c1fc6f9e794e.ttf | Bin 0 ->
- 1548 bytes
+ src/hb-ot-shape.cc | 13 +++++++++++++
+ .../fonts/8d9c4b193808b8bde94389ba7831c1fc6f9e794e.ttf | Bin 0 -> 1548 bytes
test/shaping/data/in-house/tests/cluster.tests | 1 +
3 files changed, 14 insertions(+)
@@ -266,13 +1625,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 24 12:08:23 2019 +0100
Adjust mark offsets when zeroing from fallback mark positioning code
-
+
Adjust tests.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1532
- src/hb-ot-shape-fallback.cc | 31
- +++++++++++++++-------
+ src/hb-ot-shape-fallback.cc | 31 +++++++++++++++-------
src/hb-ot-shape-fallback.hh | 3 ++-
src/hb-ot-shape.cc | 3 ++-
.../in-house/tests/arabic-fallback-shaping.tests | 2 +-
@@ -280,12 +1638,30 @@ Date: Thu Jan 24 12:08:23 2019 +0100
.../data/in-house/tests/fallback-positioning.tests | 4 +--
6 files changed, 30 insertions(+), 15 deletions(-)
+commit 12cd3171ba3b84eff9f359778fabcab8f66ce36e
+Merge: 261a7421 36fb2b4d
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Wed Jan 23 14:05:42 2019 -0800
+
+ Merge branch 'master' into cff-more-arrayof-fixes
+
+commit 261a7421814d83f84d8def046b7108a245347461
+Author: Michiharu Ariza <ariza@adobe.com>
+Date: Wed Jan 23 14:04:29 2019 -0800
+
+ more rewriting with ArrayOf<>
+
+ CFF1 Encoding0, Encoding1, CFF1SuppEncData
+
+ src/hb-ot-cff1-table.hh | 51 +++++++++++++++++++++++--------------------------
+ 1 file changed, 24 insertions(+), 27 deletions(-)
+
commit 36fb2b4da9718a86978fa07c99ba4345f7ca9b4b
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 23 20:53:57 2019 +0100
[AAT] In InsertionChain, set mark to previous-position if inserting
-
+
Fixes MORX-31
src/hb-aat-layout-morx-table.hh | 8 +++++---
@@ -335,11 +1711,9 @@ commit a5e5dd8b42b40c3647e06e6bb62580af77bed42b
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 22 16:30:07 2019 +0100
- Fix sign-compare error resulted from promoting unsigned integers to
- signed larger ints
-
- Clang and gcc know not to warn in these cases, but not nonmainstream
- compilers
+ Fix sign-compare error resulted from promoting unsigned integers to signed larger ints
+
+ Clang and gcc know not to warn in these cases, but not nonmainstream compilers
src/hb-subset-cff2.cc | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
@@ -400,24 +1774,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 22 12:34:05 2019 +0100
Fix cast-align error
-
+
If compiler doesn't inline StructAtOffset, this was an error since we
only disable cast-align at call-site. So, move the cast out.
-
- ../src/hb-machinery.hh: In instantiation of 'const Type&
- StructAtOffset(const void*, unsigned int) [with Type = unsigned int]':
+
+ ../src/hb-machinery.hh: In instantiation of 'const Type& StructAtOffset(const void*, unsigned int) [with Type = unsigned int]':
../src/hb-font.cc:146:85: required from here
- ../src/hb-machinery.hh:63:12: error: cast from 'const char*' to
- 'const unsigned int*' increases required alignment of target type
- [-Werror=cast-align]
- { return * reinterpret_cast<const Type*> ((const char *) P +
- offset); }
+ ../src/hb-machinery.hh:63:12: error: cast from 'const char*' to 'const unsigned int*' increases required alignment of target type [-Werror=cast-align]
+ { return * reinterpret_cast<const Type*> ((const char *) P + offset); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ../src/hb-machinery.hh: In instantiation of 'Type&
- StructAtOffset(void*, unsigned int) [with Type = unsigned int]':
+ ../src/hb-machinery.hh: In instantiation of 'Type& StructAtOffset(void*, unsigned int) [with Type = unsigned int]':
../src/hb-font.cc:147:79: required from here
- ../src/hb-machinery.hh:66:12: error: cast from 'char*' to 'unsigned
- int*' increases required alignment of target type [-Werror=cast-align]
+ ../src/hb-machinery.hh:66:12: error: cast from 'char*' to 'unsigned int*' increases required alignment of target type [-Werror=cast-align]
{ return * reinterpret_cast<Type*> ((char *) P + offset); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -432,7 +1800,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 22 12:29:05 2019 +0100
[CI] Remove gcc 4.2 bots
-
+
We don't support that version anymore.
.circleci/config.yml | 25 -------------------------
@@ -443,7 +1811,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 22 12:15:23 2019 +0100
Convert all other enum class consts to static constexpr
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1553
src/hb-cff-interp-common.hh | 2 +-
@@ -460,7 +1828,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 22 12:11:24 2019 +0100
Convert unsigned enum class consts to static constexpr
-
+
Part of https://github.com/harfbuzz/harfbuzz/issues/1553
src/hb-aat-layout-common.hh | 6 +++---
@@ -477,7 +1845,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 22 12:08:57 2019 +0100
Convert tag enum class consts to static constexpr
-
+
Part of https://github.com/harfbuzz/harfbuzz/issues/1553
src/hb-aat-fdsc-table.hh | 2 +-
@@ -528,7 +1896,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 22 12:07:43 2019 +0100
Convert boolean enum class consts to static constexpr
-
+
Part of https://github.com/harfbuzz/harfbuzz/issues/1553
src/hb-aat-layout-common.hh | 4 ++--
@@ -592,12 +1960,9 @@ Date: Sun Jan 20 20:09:10 2019 -0500
Remove wrongly added files
- test/api/test-ot-extents-cff | Bin 8574336 ->
- 0 bytes
- .../test-ot-extents-cff.dSYM/Contents/Info.plist | 20
- --------------------
- .../Contents/Resources/DWARF/test-ot-extents-cff | Bin 7650053 ->
- 0 bytes
+ test/api/test-ot-extents-cff | Bin 8574336 -> 0 bytes
+ .../test-ot-extents-cff.dSYM/Contents/Info.plist | 20 --------------------
+ .../Contents/Resources/DWARF/test-ot-extents-cff | Bin 7650053 -> 0 bytes
3 files changed, 20 deletions(-)
commit 380c3cffb9353083913a3bb505c2c62367613096
@@ -670,12 +2035,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jan 19 09:20:46 2019 -0500
Fix sign compare warnings
-
- ../../third_party/harfbuzz-ng/src/src/hb-map.hh(56,45): warning:
- comparison of integers of different signs: 'const hb_codepoint_t'
- (aka 'const unsigned int') and 'hb_map_t::(anonymous enum
- at ../../third_party/harfbuzz-ng/src/src/hb-map.hh:169:3)'
- [-Wsign-compare]
+
+ ../../third_party/harfbuzz-ng/src/src/hb-map.hh(56,45): warning: comparison of integers of different signs: 'const hb_codepoint_t' (aka 'const unsigned int') and 'hb_map_t::(anonymous enum at ../../third_party/harfbuzz-ng/src/src/hb-map.hh:169:3)' [-Wsign-compare]
bool is_unused () const { return key == INVALID; }
src/hb-map.hh | 2 +-
@@ -687,7 +2048,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jan 19 09:18:03 2019 -0500
Fix warning
-
+
warning: '_WIN64' is not defined, evaluates to 0 [-Wundef]
src/hb-dsalgs.hh | 4 ++--
@@ -737,7 +2098,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Fri Jan 18 21:55:21 2019 +0330
[dwrite] Try to fix delete-non-virtual-dtor warnings
-
+
Fixes #1548 hopefully
src/hb-directwrite.cc | 4 ++--
@@ -759,7 +2120,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 18 12:48:01 2019 -0500
Fix -Wundef errors with __GNUC__
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1549
src/hb-common.h | 4 ++--
@@ -771,16 +2132,13 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Fri Jan 18 09:43:51 2019 -0800
init interp_env_t::hintmask_size
-
+
fixes issue #1547
src/hb-cff-interp-cs-common.hh | 1 +
- test/api/test-ot-extents-cff | Bin 0 ->
- 8574336 bytes
- .../test-ot-extents-cff.dSYM/Contents/Info.plist | 20
- ++++++++++++++++++++
- .../Contents/Resources/DWARF/test-ot-extents-cff | Bin 0 ->
- 7650053 bytes
+ test/api/test-ot-extents-cff | Bin 0 -> 8574336 bytes
+ .../test-ot-extents-cff.dSYM/Contents/Info.plist | 20 ++++++++++++++++++++
+ .../Contents/Resources/DWARF/test-ot-extents-cff | Bin 0 -> 7650053 bytes
4 files changed, 21 insertions(+)
commit 9b4e51b2e44d7dea026b1f9201d2f83277bab1cf
@@ -788,7 +2146,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 18 12:23:02 2019 -0500
[pragma] Enable error -Wdelete-non-virtual-dtor
-
+
Currently fails directwrite backend.
src/hb.hh | 1 +
@@ -799,24 +2157,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 18 12:22:07 2019 -0500
[directwrite] Fix error
-
- hb-directwrite.cc: In constructor 'TextAnalysis::TextAnalysis(const
- wchar_t*, uint32_t, const wchar_t*, DWRITE_READING_DIRECTION)':
- hb-directwrite.cc:489:18: error: 'TextAnalysis::mText' will be
- initialized after [-Werror=reorder]
+
+ hb-directwrite.cc: In constructor 'TextAnalysis::TextAnalysis(const wchar_t*, uint32_t, const wchar_t*, DWRITE_READING_DIRECTION)':
+ hb-directwrite.cc:489:18: error: 'TextAnalysis::mText' will be initialized after [-Werror=reorder]
const wchar_t* mText;
^~~~~
- hb-directwrite.cc:488:12: error: 'uint32_t
- TextAnalysis::mTextLength' [-Werror=reorder]
+ hb-directwrite.cc:488:12: error: 'uint32_t TextAnalysis::mTextLength' [-Werror=reorder]
uint32_t mTextLength;
^~~~~~~~~~~
- hb-directwrite.cc:282:3: error: when initialized here
- [-Werror=reorder]
+ hb-directwrite.cc:282:3: error: when initialized here [-Werror=reorder]
TextAnalysis (const wchar_t* text, uint32_t textLength,
^~~~~~~~~~~~
- hb-directwrite.cc: In function 'hb_bool_t
- _hb_directwrite_shape_full(hb_shape_plan_t*, hb_font_t*, hb_buffer_t*,
- const hb_feature_t*, unsigned int, float)':
+ hb-directwrite.cc: In function 'hb_bool_t _hb_directwrite_shape_full(hb_shape_plan_t*, hb_font_t*, hb_buffer_t*, const hb_feature_t*, unsigned int, float)':
src/hb-directwrite.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -838,25 +2190,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 18 10:03:43 2019 -0500
[pragma] Allow cast-align in hb-font.cc
-
- ../src/hb-machinery.hh: In instantiation of 'const Type&
- StructAtOffset(const void*, unsigned int) [with Type = unsigned int]':
+
+ ../src/hb-machinery.hh: In instantiation of 'const Type& StructAtOffset(const void*, unsigned int) [with Type = unsigned int]':
../src/hb-font.cc:144:85: required from here
- ../src/hb-machinery.hh:63:12: error: cast from 'const char*' to
- 'const unsigned int*' increases required alignment of target type
- [-Werror=cast-align]
- { return * reinterpret_cast<const Type*> ((const char *) P +
- offset); }
+ ../src/hb-machinery.hh:63:12: error: cast from 'const char*' to 'const unsigned int*' increases required alignment of target type [-Werror=cast-align]
+ { return * reinterpret_cast<const Type*> ((const char *) P + offset); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ../src/hb-machinery.hh: In instantiation of 'Type&
- StructAtOffset(void*, unsigned int) [with Type = unsigned int]':
+ ../src/hb-machinery.hh: In instantiation of 'Type& StructAtOffset(void*, unsigned int) [with Type = unsigned int]':
../src/hb-font.cc:145:79: required from here
- ../src/hb-machinery.hh:66:12: error: cast from 'char*' to 'unsigned
- int*' increases required alignment of target type [-Werror=cast-align]
+ ../src/hb-machinery.hh:66:12: error: cast from 'char*' to 'unsigned int*' increases required alignment of target type [-Werror=cast-align]
{ return * reinterpret_cast<Type*> ((char *) P + offset); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ../src/hb-machinery.hh: In instantiation of 'Type&
- StructAtOffset(void*, unsigned int) [with Type = int]':
+ ../src/hb-machinery.hh: In instantiation of 'Type& StructAtOffset(void*, unsigned int) [with Type = int]':
src/hb-font.cc | 5 +++++
1 file changed, 5 insertions(+)
@@ -885,8 +2230,7 @@ Date: Fri Jan 18 09:49:14 2019 -0500
[pragma] Massage more
- src/hb.hh | 106
- ++++++++++++++++++++++++++++++++------------------------------
+ src/hb.hh | 106 ++++++++++++++++++++++++++++++++------------------------------
1 file changed, 55 insertions(+), 51 deletions(-)
commit 16e5ba85b1822ff9d2b2f85f45ddd44f1a05f4b1
@@ -903,11 +2247,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 18 09:28:22 2019 -0500
[pragma] Reorg again
-
+
https://github.com/harfbuzz/harfbuzz/issues/1546
- src/hb.hh | 91
- ++++++++++++++++++++++++++++++++-------------------------------
+ src/hb.hh | 91 ++++++++++++++++++++++++++++++++-------------------------------
1 file changed, 46 insertions(+), 45 deletions(-)
commit c04272fac81cac48b6310182d58d54569117f298
@@ -915,7 +2258,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 18 08:49:45 2019 -0500
[pragma] GCC diagnostic ignored "-Wunknown-warning-option"
-
+
Try at fixing https://github.com/harfbuzz/harfbuzz/issues/1546
src/hb.hh | 3 ++-
@@ -962,7 +2305,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 17 19:12:07 2019 -0500
[ci] Remove unnecessary warning declarations
-
+
clang -Weverything still left to be ported to pragmas
.circleci/config.yml | 2 +-
@@ -1105,10 +2448,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 17 16:07:27 2019 -0500
[ci] Remove -Werror from Travis
-
- hb-machinery.hh:111:37: warning: comparison of unsigned expression >=
- 0 is always true [-Wtype-limits]
-
+
+ hb-machinery.hh:111:37: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
+
Also ignore -Wtype-limits.
.travis.yml | 2 --
@@ -1169,10 +2511,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 17 14:54:32 2019 -0500
[AAT] Fully sanitize ankr table at sanitize time
-
- Third try to fix access. Followup
- 6879efc2c1596d11a6a6ad296f80063b558d5e0f
-
+
+ Third try to fix access. Followup 6879efc2c1596d11a6a6ad296f80063b558d5e0f
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12532
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=922303
@@ -1184,15 +2525,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 17 14:06:37 2019 -0500
[AAT] Fix anchor bound checking, again
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12532
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=922303
src/hb-aat-layout-ankr-table.hh | 3 ++-
- ...zz-testcase-minimized-harfbuzz_fuzzer-5166320261529600 | Bin 0 ->
- 393 bytes
- ...zz-testcase-minimized-hb-shape-fuzzer-5667182741028864 | Bin 0 ->
- 407 bytes
+ ...zz-testcase-minimized-harfbuzz_fuzzer-5166320261529600 | Bin 0 -> 393 bytes
+ ...zz-testcase-minimized-hb-shape-fuzzer-5667182741028864 | Bin 0 -> 407 bytes
3 files changed, 2 insertions(+), 1 deletion(-)
commit a262eb3d0b7009aabd9e0beebc77e5c0a2a65548
@@ -1209,7 +2548,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 15 13:58:19 2019 -0500
Improve overflow avoidance
-
+
Better fix for 480406cd3ef9e5ab8476ddfa04498bf23906c508
This way we behave the same on 32bit and 64bit archs.
@@ -1221,7 +2560,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 14 18:23:17 2019 -0800
fix FDSelect fuzzing bug (#1539)
-
+
Rewrote struct FDSelect3_4.ranges as ArrayOf
Updated FDSelect3_4::sanitize () to call ranges.sanitize ()
nRanges now a function to return a reference to ranges.len
@@ -1235,7 +2574,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 14 20:45:31 2019 -0500
Move _POSIX_SOURCE definition
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1308
src/hb-blob.cc | 9 +++++++++
@@ -1248,8 +2587,7 @@ Date: Mon Jan 14 15:31:31 2019 -0500
[test] Add test for previous commit
- ...uzz-testcase-minimized-harfbuzz_fuzzer-5662548265009152 | Bin 0 ->
- 28 bytes
+ ...uzz-testcase-minimized-harfbuzz_fuzzer-5662548265009152 | Bin 0 -> 28 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit 480406cd3ef9e5ab8476ddfa04498bf23906c508
@@ -1257,7 +2595,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 14 15:27:34 2019 -0500
Fix assertion on address overflow
-
+
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=917031
src/hb-machinery.hh | 5 +++--
@@ -1268,12 +2606,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 14 15:09:14 2019 -0500
[AAT] Fix mort ContextualSubtable offset access
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12312
src/hb-aat-layout-morx-table.hh | 3 ++-
- ...zz-testcase-minimized-hb-shape-fuzzer-5631444412530688 | Bin 0 ->
- 336 bytes
+ ...zz-testcase-minimized-hb-shape-fuzzer-5631444412530688 | Bin 0 -> 336 bytes
2 files changed, 2 insertions(+), 1 deletion(-)
commit a3fa7d33360a58df5333dbbd121328e580f08849
@@ -1281,12 +2618,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 14 14:37:36 2019 -0500
[AAT] Fix ankr table access
-
+
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=918340
src/hb-aat-layout-ankr-table.hh | 7 ++++---
- ...z-testcase-minimized-harfbuzz_fuzzer-5126525414014976 | Bin 0 ->
- 1141 bytes
+ ...z-testcase-minimized-harfbuzz_fuzzer-5126525414014976 | Bin 0 -> 1141 bytes
2 files changed, 4 insertions(+), 3 deletions(-)
commit 760303d411b1561533f8f08c7c15db331c71ece8
@@ -1303,10 +2639,10 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed Jan 9 16:01:11 2019 +0330
Add an initial .clang-format config
-
+
There are things can be improved on clang-format side I guess before
the full assertion, but is the best we can get for now I guess.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1536
.clang-format | 38 ++++++++++++++++++++++++++++++++++++++
@@ -1317,9 +2653,8 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed Jan 9 15:56:32 2019 +0330
Minor, hack .editorconfig for vscode use
-
- As VSCode and Atom https://github.com/Microsoft/vscode/issues/44438
- don't support it
+
+ As VSCode and Atom https://github.com/Microsoft/vscode/issues/44438 don't support it
.editorconfig | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
@@ -1329,7 +2664,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Tue Jan 8 12:37:48 2019 -0800
fix leak in subset_enc_supp_codes (#1537)
-
+
oss-fuzz issue 12310
src/hb-subset-cff1.cc | 2 +-
@@ -1363,8 +2698,7 @@ Date: Wed Nov 28 13:48:38 2018 -0600
Usermanual: small updates.
...anual-buffers-language-script-and-direction.xml | 7 +-
- docs/usermanual-clusters.xml | 279
- ++++++++++++++++-----
+ docs/usermanual-clusters.xml | 279 ++++++++++++++++-----
docs/usermanual-getting-started.xml | 91 ++++++-
docs/usermanual-install-harfbuzz.xml | 3 +-
docs/usermanual-shaping-concepts.xml | 11 +-
@@ -1375,20 +2709,15 @@ Author: cclauss <cclauss@me.com>
Date: Mon Dec 31 04:30:43 2018 +0100
CircleCI: Test for Python 3 syntax errors and undefined names (#1522)
-
+
Catch missing imports and errors like #1520 and #1521
-
- __E901,E999,F821,F822,F823__ are the "_showstopper_"
- [flake8](http://flake8.pycqa.org) issues that can halt the runtime
- with a SyntaxError, NameError, etc. Most other flake8 issues are
- merely "style violations" -- useful for readability but they do not
- effect runtime safety.
+
+ __E901,E999,F821,F822,F823__ are the "_showstopper_" [flake8](http://flake8.pycqa.org) issues that can halt the runtime with a SyntaxError, NameError, etc. Most other flake8 issues are merely "style violations" -- useful for readability but they do not effect runtime safety.
* F821: undefined name `name`
* F822: undefined name `name` in `__all__`
* F823: local variable name referenced before assignment
* E901: SyntaxError or IndentationError
- * E999: SyntaxError -- failed to compile a file into an Abstract
- Syntax Tree
+ * E999: SyntaxError -- failed to compile a file into an Abstract Syntax Tree
.circleci/config.yml | 3 ++-
src/gen-use-table.py | 4 +++-
@@ -1400,7 +2729,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 30 11:27:42 2018 -0500
Fix automake warnings
-
+
[skip ci]
test/api/Makefile.am | 1 -
@@ -1421,10 +2750,8 @@ Author: cclauss <cclauss@me.com>
Date: Sun Dec 30 12:58:34 2018 +0100
Python 3 fixes to gen-os2-unicode-ranges.py (#1521)
-
- In Python 3, __reload()__ was moved and __sys.setdefaultencoding()__
- because the default is already utf-8. Also __Error()__ is an
- _undefined name_ and __Exception()__ creates a generic exception.
+
+ In Python 3, __reload()__ was moved and __sys.setdefaultencoding()__ because the default is already utf-8. Also __Error()__ is an _undefined name_ and __Exception()__ creates a generic exception.
src/gen-os2-unicode-ranges.py | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
@@ -1499,11 +2826,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 27 17:56:22 2018 -0500
[vector] Remove static_array
-
- Was good idea, but with C++ types with constructor/destructor,
- was getting in
- the way as compiler was destructing those items where it was not
- desired.
+
+ Was good idea, but with C++ types with constructor/destructor, was getting in
+ the way as compiler was destructing those items where it was not desired.
Since C++ does not allow zero-sized arrays, just remove it...
src/hb-aat-map.hh | 4 ++--
@@ -1542,9 +2867,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 24 11:31:04 2018 -0500
[vector] Change pre-alloced count from 8 to 2
-
- I'm thinking about dropping it to zero, but that needs slight code
- changes.
+
+ I'm thinking about dropping it to zero, but that needs slight code changes.
src/hb-vector.hh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -1625,42 +2949,41 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Sat Dec 22 07:47:04 2018 -0800
CFF renaming (#1507)
-
+
* reimplement ByteStr as byte_str_t based on hb_ubytes_t
-
+
Unuse start_embed<ByteStr>
Also renamed SubByteStr to byte_str_ref_t
More renaming to come
-
+
* substr renamed to str_ref in line with its type byte_str_ref_t
-
+
* uncamelize non-table struct names
-
+
* uncamelized non-struct types OpCode etc
-
+
* add byte_str_t copy ctor
-
+
* test
-
+
* test2
-
+
* undo tests
-
+
* fix bot failure
-
+
* undo the previous change
-
+
* fixed tabs, added inline
-
+
* Revert "fixed tabs, added inline"
-
+
This reverts commit 21163c30e9d18759414f7fe2518628241599f039.
-
+
* fix tabs
src/hb-cff-interp-common.hh | 215 +++++++++++++++------------------
- src/hb-cff-interp-cs-common.hh | 250
- +++++++++++++++++++--------------------
+ src/hb-cff-interp-cs-common.hh | 250 +++++++++++++++++++--------------------
src/hb-cff-interp-dict-common.hh | 64 +++++-----
src/hb-cff1-interp-cs.hh | 26 ++--
src/hb-cff2-interp-cs.hh | 56 ++++-----
@@ -1670,10 +2993,8 @@ Date: Sat Dec 22 07:47:04 2018 -0800
src/hb-ot-cff2-table.cc | 28 ++---
src/hb-ot-cff2-table.hh | 128 ++++++++++----------
src/hb-subset-cff-common.cc | 10 +-
- src/hb-subset-cff-common.hh | 232
- ++++++++++++++++++------------------
- src/hb-subset-cff1.cc | 244
- +++++++++++++++++++-------------------
+ src/hb-subset-cff-common.hh | 232 ++++++++++++++++++------------------
+ src/hb-subset-cff1.cc | 244 +++++++++++++++++++-------------------
src/hb-subset-cff2.cc | 100 ++++++++--------
14 files changed, 796 insertions(+), 819 deletions(-)
@@ -1719,33 +3040,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Dec 21 19:48:21 2018 -0500
[iter] Change operator[] operand to be signed
-
+
To fix older compilers again (this was the case in hb_array_t).
-
- hb-ot-layout-common.hh:1353: note: candidate 2: operator[](T*,
- int) <built-in>
- hb-ot-layout-common.hh:1354: error: ISO C++ says that these are
- ambiguous, even though the worst conversion for the first is better
- than the worst conversion for the second:
- hb-iter.hh:63: note: candidate 1: Item& hb_iter_t<Iter,
- Item>::operator[](unsigned int) const [with Iter = hb_array_t<const
- OT::IntType<short unsigned int, 2u> >, Item = const OT::IntType<short
- unsigned int, 2u>]
- hb-ot-layout-common.hh:1354: note: candidate 2: operator[](T*,
- int) <built-in>
- hb-ot-layout-common.hh: In member function 'bool
- OT::ClassDef::serialize(hb_serialize_context_t*, hb_array_t<const
- OT::IntType<short unsigned int, 2u> >, hb_array_t<const
- OT::IntType<short unsigned int, 2u> >)':
- hb-ot-layout-common.hh:1490: error: ISO C++ says that these are
- ambiguous, even though the worst conversion for the first is better
- than the worst conversion for the second:
- hb-iter.hh:63: note: candidate 1: Item& hb_iter_t<Iter,
- Item>::operator[](unsigned int) const [with Iter = hb_array_t<const
- OT::IntType<short unsigned int, 2u> >, Item = const OT::IntType<short
- unsigned int, 2u>]
- hb-ot-layout-common.hh:1490: note: candidate 2: operator[](T*,
- int) <built-in>
+
+ hb-ot-layout-common.hh:1353: note: candidate 2: operator[](T*, int) <built-in>
+ hb-ot-layout-common.hh:1354: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
+ hb-iter.hh:63: note: candidate 1: Item& hb_iter_t<Iter, Item>::operator[](unsigned int) const [with Iter = hb_array_t<const OT::IntType<short unsigned int, 2u> >, Item = const OT::IntType<short unsigned int, 2u>]
+ hb-ot-layout-common.hh:1354: note: candidate 2: operator[](T*, int) <built-in>
+ hb-ot-layout-common.hh: In member function 'bool OT::ClassDef::serialize(hb_serialize_context_t*, hb_array_t<const OT::IntType<short unsigned int, 2u> >, hb_array_t<const OT::IntType<short unsigned int, 2u> >)':
+ hb-ot-layout-common.hh:1490: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
+ hb-iter.hh:63: note: candidate 1: Item& hb_iter_t<Iter, Item>::operator[](unsigned int) const [with Iter = hb_array_t<const OT::IntType<short unsigned int, 2u> >, Item = const OT::IntType<short unsigned int, 2u>]
+ hb-ot-layout-common.hh:1490: note: candidate 2: operator[](T*, int) <built-in>
src/hb-iter.hh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -1755,11 +3060,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Dec 21 19:29:00 2018 -0500
[array] Port to hb_iter_t<>
-
+
hb_array_t is its own iterator...
- src/hb-array.hh | 75
- +++++++++++++++++++++++++--------------------------------
+ src/hb-array.hh | 75 +++++++++++++++++++++++++--------------------------------
src/hb-iter.hh | 5 ++--
2 files changed, 36 insertions(+), 44 deletions(-)
@@ -1782,8 +3086,7 @@ Date: Fri Dec 21 18:46:51 2018 -0500
src/hb-aat-layout-feat-table.hh | 5 ++-
src/hb-aat-layout-lcar-table.hh | 2 +-
src/hb-aat-map.cc | 4 +--
- src/hb-array.hh | 72
- ++++++++++++++++++++---------------------
+ src/hb-array.hh | 72 ++++++++++++++++++++---------------------
src/hb-cff-interp-common.hh | 10 +++---
src/hb-cff2-interp-cs.hh | 6 ++--
src/hb-coretext.cc | 12 +++----
@@ -1881,7 +3184,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Dec 21 16:39:57 2018 -0500
[iter] Disallow copy-construction or assignment of hb_iter_t<>
-
+
Should only be done by subclass.
src/hb-iter.hh | 5 +++++
@@ -1910,7 +3213,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Dec 21 16:04:38 2018 -0500
[iter] Make hb_fill() take collection type, not iter
-
+
Starting to get the hang of when take which.
src/test-iter.cc | 6 +++---
@@ -1958,7 +3261,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Dec 21 15:12:55 2018 -0500
[array] Remove copy constructor
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1502
src/hb-array.hh | 1 -
@@ -1969,11 +3272,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Dec 21 15:08:06 2018 -0500
Fix bot
-
- C:\projects\harfbuzz\src\hb-uniscribe.cc(709): error C2666:
- 'hb_vector_t<OPENTYPE_FEATURE_RECORD,8>::operator
- +': 3 overloads have similar conversions
- [C:\projects\harfbuzz\build\harfbuzz.vcxproj]
+
+ C:\projects\harfbuzz\src\hb-uniscribe.cc(709): error C2666: 'hb_vector_t<OPENTYPE_FEATURE_RECORD,8>::operator +': 3 overloads have similar conversions [C:\projects\harfbuzz\build\harfbuzz.vcxproj]
src/hb-uniscribe.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -2020,7 +3320,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Dec 21 02:48:28 2018 -0500
[iter] Make hb_fill() and hb_copy() take iterators
-
+
I'm still going back and force...
src/test-iter.cc | 11 ++++-------
@@ -2099,8 +3399,7 @@ Date: Fri Dec 21 00:54:55 2018 -0500
[iter] Sketch new iterator design
- src/hb-iter.hh | 154
- +++++++++++++++++++------------------------------------
+ src/hb-iter.hh | 154 +++++++++++++++++++------------------------------------
src/test-iter.cc | 16 ++++++
2 files changed, 69 insertions(+), 101 deletions(-)
@@ -2121,12 +3420,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Dec 21 00:08:05 2018 -0500
Revert "Remove unused hb-iter.hh"
-
+
This reverts commit 969ff3c7aadbe721cdd414488eb170433f10d00c.
src/Makefile.sources | 1 +
- src/hb-iter.hh | 146
- +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-iter.hh | 146 +++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-machinery.hh | 1 +
3 files changed, 148 insertions(+)
@@ -2176,7 +3474,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 20 15:54:17 2018 -0500
[serializer] Add operator <<
-
+
Not sure if we are going to use it. But might incentivize us to.
src/hb-machinery.hh | 2 ++
@@ -2198,7 +3496,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 20 12:26:30 2018 -0500
[serialize] Adjust ClassDef
-
+
[skip ci]
src/hb-ot-layout-common.hh | 32 ++++++++++++++++----------------
@@ -2209,9 +3507,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 20 11:48:45 2018 -0500
Fix code on big-endian gcc / clang
-
+
Ouch! We need a bigendian bot...
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1498
src/hb-machinery.hh | 8 +++++++-
@@ -2240,31 +3538,27 @@ Author: fanc999 <fanc999@yahoo.com.tw>
Date: Thu Dec 20 11:26:54 2018 +0800
Fix build on older Visual Studio versions (#1499)
-
+
* src/hb-cff-interp-dict-common.hh: Use ull for unsigned int64_t
-
+
The llu suffix does not work for older Visual Studio versions
(pre-2013), but ull works for all the compilers that we attempt to
support.
-
+
* test/api: Fix build on pre-C99 compilers
-
+
Ensure variables are declared at the top of the block.
-
+
* src/hb-dsalgs.hh: Add specialization for hb_is_signed<> for __int8
-
- Pre-Visual Studio 2010 does not consider __int8 (which is typedef'ed
- to
- int8_t) to be equivilant to signed char, so the compiler cannot
- find the
+
+ Pre-Visual Studio 2010 does not consider __int8 (which is typedef'ed to
+ int8_t) to be equivilant to signed char, so the compiler cannot find the
corresponding hb_is_signed<> specialization that is needed.
-
- The interesting thing is unsigned __int8 is considered to be
- equivilant
- to unsigned char, so as the other types (short, int, long) that
- we look
+
+ The interesting thing is unsigned __int8 is considered to be equivilant
+ to unsigned char, so as the other types (short, int, long) that we look
for here, so only the specialization for __int8 is added here.
-
+
This will fix builds on Visual Studio 2008 at least.
src/hb-cff-interp-dict-common.hh | 2 +-
@@ -2278,7 +3572,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 19 21:05:00 2018 -0500
[sanitize] Use hb_static_size instead of ::static_size
-
+
https://github.com/harfbuzz/harfbuzz/issues/1496#issuecomment-448818112
src/hb-machinery.hh | 11 +++++------
@@ -2289,9 +3583,8 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed Dec 19 21:18:30 2018 +0330
[test] Fix test-name-table.cc leak issue
-
- Spotted it accidentally but wanted to see if is anything serious so
- went for fixing it
+
+ Spotted it accidentally but wanted to see if is anything serious so went for fixing it
src/test-name-table.cc | 2 ++
1 file changed, 2 insertions(+)
@@ -2318,8 +3611,7 @@ Date: Tue Dec 18 16:49:08 2018 -0500
src/hb-open-type.hh | 18 +-
src/hb-ot-cmap-table.hh | 3 +-
src/hb-ot-layout-common.hh | 104 ++++--------
- src/hb-ot-layout-gsub-table.hh | 257
- +++++++++++++----------------
+ src/hb-ot-layout-gsub-table.hh | 257 +++++++++++++----------------
src/hb-ot-shape-complex-arabic-fallback.hh | 23 +--
9 files changed, 170 insertions(+), 269 deletions(-)
@@ -2352,14 +3644,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 17 22:43:00 2018 -0500
Remove unused hb-iter.hh
-
- The ideas there are all part of hb-array.hh now. To be determined
- how we
+
+ The ideas there are all part of hb-array.hh now. To be determined how we
want to use generic iterator patterns.
src/Makefile.sources | 1 -
- src/hb-iter.hh | 146
- ---------------------------------------------------
+ src/hb-iter.hh | 146 ---------------------------------------------------
src/hb-machinery.hh | 1 -
3 files changed, 148 deletions(-)
@@ -2368,9 +3658,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 17 22:41:04 2018 -0500
[arrays] Minor tweaks to hb_supplier_t
-
- I think I like to keep this hb_supplier_t thing separately from
- hb_array_t.
+
+ I think I like to keep this hb_supplier_t thing separately from hb_array_t.
src/hb-array.hh | 5 +++++
1 file changed, 5 insertions(+)
@@ -2387,8 +3676,7 @@ Date: Mon Dec 17 22:36:23 2018 -0500
src/hb-open-type.hh | 4 +-
src/hb-ot-cmap-table.hh | 2 +-
src/hb-ot-layout-common.hh | 34 ++++-----
- src/hb-ot-layout-gsub-table.hh | 108
- ++++++++++++++---------------
+ src/hb-ot-layout-gsub-table.hh | 108 ++++++++++++++---------------
src/hb-ot-shape-complex-arabic-fallback.hh | 14 ++--
8 files changed, 87 insertions(+), 87 deletions(-)
@@ -2406,7 +3694,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 17 20:34:51 2018 -0500
Enable __builtin_* on clang
-
+
We'll see which old clang versions this breaks...
src/hb-dsalgs.hh | 6 +++---
@@ -2417,7 +3705,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 17 20:23:26 2018 -0500
Add hb_addressof() and use it to fix bug after hb_bytes_t merge
-
+
We cannot take address hb_bytes_t direction. We need to use the
newly added hb_addressof(), ala std::addressof().
@@ -2430,7 +3718,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 17 18:27:36 2018 -0500
Enable system extensions in hb.hh
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1491
configure.ac | 1 -
@@ -2451,7 +3739,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 17 17:56:10 2018 -0500
Remove define GNU_SOURCE
-
+
Not needed. We get it in our config.h automatically thanks to
AC_USE_SYSTEM_EXTENSIONS. Let's see whose build it breaks...
If we end up putting it back, we should add other things from
@@ -2485,7 +3773,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Mon Dec 17 21:31:43 2018 +0330
Lower coretext_aat shaper priority (#1488)
-
+
Related to https://github.com/harfbuzz/harfbuzz/issues/1478
src/hb-shaper-list.hh | 8 ++++----
@@ -2539,8 +3827,7 @@ Date: Mon Dec 17 21:31:01 2018 +0330
src/hb-gobject-structs.cc | 2 +-
src/hb-icu.cc | 8 +--
src/hb-iter.hh | 15 ++--
- src/hb-machinery.hh | 150
- ++++++++++++++++-----------------------
+ src/hb-machinery.hh | 150 ++++++++++++++++-----------------------
src/hb-map.cc | 4 +-
src/hb-map.hh | 24 +++----
src/hb-mutex.hh | 10 +--
@@ -2641,7 +3928,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 17 00:39:30 2018 -0500
[array] Add cast operator to add const to Type
-
+
In lieu of constructor removed in previous commit.
src/hb-array.hh | 1 +
@@ -2670,7 +3957,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 17 00:09:06 2018 -0500
[array] Return Crap instead of Null if Type is not const
-
+
Ouch!
src/hb-array.hh | 2 +-
@@ -2701,8 +3988,7 @@ Date: Sun Dec 16 23:57:27 2018 -0500
[array] Organize
- src/hb-array.hh | 75
- ++++++++++++++++++++++++++++++++++++---------------------
+ src/hb-array.hh | 75 ++++++++++++++++++++++++++++++++++++---------------------
1 file changed, 48 insertions(+), 27 deletions(-)
commit 84c1865821151d83a8798ae11ebba3329a12c560
@@ -2756,7 +4042,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 16 23:33:03 2018 -0500
[arrays] Remove unnecessary constructor from Supplier<>
-
+
Looks like operator hb_array_t<> from vector works here. :)
src/hb-machinery.hh | 5 -----
@@ -2797,8 +4083,7 @@ Date: Sun Dec 16 20:40:07 2018 -0500
[array] Remove custom hb_bytes_t implementation
- src/hb-array.hh | 67
- +++++++++++++++++--------------------------------
+ src/hb-array.hh | 67 +++++++++++++++++--------------------------------
src/hb-machinery.hh | 2 +-
src/hb-ot-name-table.hh | 8 +++---
src/hb-ot-name.cc | 10 ++++----
@@ -2832,8 +4117,7 @@ Date: Sun Dec 16 20:07:44 2018 -0500
[array] Move hb_array_t and related types to hb-array.hh
src/Makefile.sources | 1 +
- src/hb-array.hh | 241
- +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-array.hh | 241 +++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-dsalgs.hh | 206 -------------------------------------------
src/hb-machinery.hh | 1 +
src/hb-vector.hh | 2 +-
@@ -2918,8 +4202,7 @@ Date: Sun Dec 16 22:38:10 2018 +0330
src/hb-ot-hmtx-table.hh | 18 +-
src/hb-ot-kern-table.hh | 44 ++--
src/hb-ot-layout-base-table.hh | 104 +++++-----
- src/hb-ot-layout-common.hh | 425
- ++++++++++++++++++++-------------------
+ src/hb-ot-layout-common.hh | 425 ++++++++++++++++++++-------------------
src/hb-ot-layout-gdef-table.hh | 126 ++++++------
src/hb-ot-layout-gpos-table.hh | 209 +++++++++----------
src/hb-ot-layout-gsub-table.hh | 360 ++++++++++++++++-----------------
@@ -3018,8 +4301,7 @@ Date: Thu Dec 13 17:48:42 2018 -0500
[subset] Implement for ClassDef
- src/hb-ot-layout-common.hh | 80
- ++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout-common.hh | 80 ++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-layout-gsub-table.hh | 8 ++---
2 files changed, 84 insertions(+), 4 deletions(-)
@@ -3049,8 +4331,7 @@ Date: Thu Dec 13 15:57:12 2018 -0500
[serialize] Implement for ClassDefFormat2
- src/hb-ot-layout-common.hh | 50
- ++++++++++++++++++++++++++++++++++++++++++----
+ src/hb-ot-layout-common.hh | 50 ++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 46 insertions(+), 4 deletions(-)
commit c8b43cbe316b07507aece4dc769f38226cd706da
@@ -3076,23 +4357,20 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Wed Dec 12 18:08:15 2018 -0800
[CFF] bad offset in Index (#1476)
-
+
* Update hb-ot-cff-common.hh
-
+
* fix bug
-
+
* bummer fix wasn't hit. refix
-
+
* additional sanity check
-
+
* Added test cases for oss-fuzz issues 11805, 11806
- src/hb-ot-cff-common.hh | 10
- ++++++++--
- ...clusterfuzz-testcase-hb-subset-fuzzer-5643036478930944 | Bin 0 ->
- 369 bytes
- ...clusterfuzz-testcase-hb-subset-fuzzer-5686186874503168 | Bin 0 ->
- 962 bytes
+ src/hb-ot-cff-common.hh | 10 ++++++++--
+ ...clusterfuzz-testcase-hb-subset-fuzzer-5643036478930944 | Bin 0 -> 369 bytes
+ ...clusterfuzz-testcase-hb-subset-fuzzer-5686186874503168 | Bin 0 -> 962 bytes
3 files changed, 8 insertions(+), 2 deletions(-)
commit bcb4ecaf68c7219e89a801352bfc6a682b1581ef
@@ -3100,18 +4378,17 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Wed Dec 12 17:36:01 2018 -0800
[CFF] check out of range FD index (#1477)
-
+
* add fd index checks to subr subsetter
-
+
also added oss-fuzz test case
-
+
* undid SubrSubsetParam::is_valid
-
+
because already validated by SubrClosures.valid
src/hb-subset-cff-common.hh | 10 ++++++++++
- ...lusterfuzz-testcase-hb-subset-fuzzer-5762137968869376 | Bin 0 ->
- 2037 bytes
+ ...lusterfuzz-testcase-hb-subset-fuzzer-5762137968869376 | Bin 0 -> 2037 bytes
2 files changed, 10 insertions(+)
commit 3f8e7a98d3cc10fefe65b9638c8abdf3ebe152cb
@@ -3119,7 +4396,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 12 11:32:57 2018 -0500
[util/hb-subset] Add --layout to keep GDEF/GSUB/GPOS
-
+
Will become default and option removed in the future.
util/hb-subset.cc | 1 +
@@ -3162,9 +4439,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 12 09:44:30 2018 -0500
Revert "Minor fix re sanitize of Lookup subtables"
-
+
This reverts commit 7146718bef81492e13aede0a2801cda1da41ce35.
-
+
Fixing differently.
src/hb-ot-layout-common.hh | 4 +---
@@ -3182,8 +4459,7 @@ Date: Wed Dec 12 15:14:37 2018 +0330
src/hb-aat-layout-trak-table.hh | 18 +--
src/hb-aat-layout.cc | 4 +-
src/hb-buffer.cc | 48 +++----
- src/hb-directwrite.cc | 297
- +++++++++++++++++++---------------------
+ src/hb-directwrite.cc | 297 +++++++++++++++++++---------------------
src/hb-dsalgs.hh | 5 +-
src/hb-map.hh | 20 +--
src/hb-ot-cmap-table.hh | 2 +-
@@ -3203,7 +4479,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed Dec 12 12:44:06 2018 +0330
Merge pull request #1474 from fanc999/master.msvc
-
+
Few fixes for Visual Studio builds
commit 7146718bef81492e13aede0a2801cda1da41ce35
@@ -3211,7 +4487,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Dec 11 23:44:29 2018 -0500
Minor fix re sanitize of Lookup subtables
-
+
We were dereferencing Null pointers and trying to sanitize them,
which is not necessary...
@@ -3232,7 +4508,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Dec 11 22:53:58 2018 -0500
[subset] Map glyphs during SingleSubst subsetting
-
+
Ha!
src/hb-ot-layout-gsub-table.hh | 10 ++++++----
@@ -3271,24 +4547,22 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Tue Dec 11 12:21:24 2018 -0800
[CFF] oss-fuzz issue 11690 ASSERT: substr.offset >= opStart (#1461)
-
+
* fix oss-fuzz 11690: substr.offset >= opStart
-
+
detect recursive subroutine call & handle as error
-
+
* fix build failure
-
+
* add minimized test case for oss-fuzz 11690
-
+
* removed asserts
src/hb-cff-interp-common.hh | 9 ++++-----
- src/hb-subset-cff-common.hh | 12
- ++++++++++--
+ src/hb-subset-cff-common.hh | 12 ++++++++++--
src/hb-subset-cff1.cc | 4 ++--
src/hb-subset-cff2.cc | 4 ++--
- ...testcase-minimized-hb-subset-fuzzer-5750420593442816 | Bin 0 ->
- 96091 bytes
+ ...testcase-minimized-hb-subset-fuzzer-5750420593442816 | Bin 0 -> 96091 bytes
5 files changed, 18 insertions(+), 11 deletions(-)
commit 333586245cb37668c8a29af17920474c09667f4b
@@ -3319,7 +4593,7 @@ Author: 👻 <sarabi@Corsac-Fox.local>
Date: Tue Dec 11 13:38:05 2018 -0500
[ucdn] Fix header
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1470
src/hb-ucdn/ucdn.h | 4 +---
@@ -3339,7 +4613,7 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Wed Dec 12 01:32:01 2018 +0800
test/api: Fix building on pre-C99 compilers
-
+
Ensure variables are declared at the top of the block.
test/api/hb-test.h | 3 ++-
@@ -3357,9 +4631,8 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Wed Dec 12 01:23:53 2018 +0800
CMake: Fix Introspection builds
-
- We need to add -DHB_AAT_H and -DHB_AAT_H_IN to the flags that
- are passed
+
+ We need to add -DHB_AAT_H and -DHB_AAT_H_IN to the flags that are passed
to g-ir-scanner, so that introspection builds can proceed normally.
CMakeLists.txt | 2 ++
@@ -3389,14 +4662,13 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sat Dec 8 10:20:25 2018 +0330
Apply non-controversial parts of ot-style (#1464)
-
+
Things to be used in https://github.com/harfbuzz/harfbuzz/pull/1459
src/hb-aat-fdsc-table.hh | 29 +++++++++++++++++++++++++---
src/hb-aat-layout-common.hh | 1 +
src/hb-ot-head-table.hh | 13 +++++++++++++
- src/hb-ot-os2-table.hh | 46
- +++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-os2-table.hh | 46 +++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-stat-table.hh | 38 ++++++++++++++++++-------------------
5 files changed, 105 insertions(+), 22 deletions(-)
@@ -3405,9 +4677,8 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Fri Dec 7 20:49:39 2018 -0800
fix for issue #1447 (#1462)
-
- Added case for OpCode_BaseFontName. This opcode in spec but
- practically unused.
+
+ Added case for OpCode_BaseFontName. This opcode in spec but practically unused.
Added a comment for default case which can't be hit
src/hb-ot-cff1-table.hh | 6 ++++--
@@ -3427,11 +4698,11 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Thu Dec 6 13:36:26 2018 -0800
[CFF] Refix oss-fuzz 11714: set_blends (PR #1458) (#1460)
-
+
* pass subarray of stack to set_blends
-
+
* get_subarray to return a value, not ref
-
+
* restored error check (with tweak)
src/hb-cff-interp-common.hh | 5 +++++
@@ -3443,7 +4714,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 6 10:27:37 2018 -0800
Fix likely check
-
+
Ouch!
src/hb-cff-interp-dict-common.hh | 4 ++--
@@ -3483,7 +4754,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Thu Dec 6 10:21:00 2018 +0330
Merge pull request #1458 from harfbuzz/cff-check-blends
-
+
[CFF] oss-fuzz issue 11714: set_blends
commit ae087d10c22249f3aec3239e4eac98a728f71f75
@@ -3492,8 +4763,7 @@ Date: Wed Dec 5 21:47:34 2018 -0800
add minimized test case for oss-fuzz issue 11714
- ...-testcase-minimized-hb-subset-fuzzer-5710107829075968 | Bin 0 ->
- 3660 bytes
+ ...-testcase-minimized-hb-subset-fuzzer-5710107829075968 | Bin 0 -> 3660 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit 1ccbdcf73bbc967f5f94c0bc7f7e869bd87d9fa0
@@ -3518,7 +4788,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Thu Dec 6 08:33:44 2018 +0330
Merge pull request #1457 from harfbuzz/cff-varstore-sanitize
-
+
[CFF] oss-fuzz issue 11713 (CFF2VariationStore::serialize)
commit 6727c4b6f0356b08803b4d5cde608ec004e3533f
@@ -3527,7 +4797,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 5 17:37:21 2018 -0800
Merge pull request #1456 from harfbuzz/cff-subr-sanitize
-
+
[CFF] fix oss-fuzz issue 11691 (BlendArg::set_blends)
commit 9d8f3b0dfbf39f5dfa25d52f47e8af6ad318eb17
@@ -3536,8 +4806,7 @@ Date: Wed Dec 5 17:14:51 2018 -0800
add minimized test case for oss-fuzz issue 11713
- ...z-testcase-minimized-hb-subset-fuzzer-5660711141769216 | Bin 0 ->
- 383 bytes
+ ...z-testcase-minimized-hb-subset-fuzzer-5660711141769216 | Bin 0 -> 383 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit c31092ab34641072606f854408eb1bea18ed2507
@@ -3562,8 +4831,7 @@ Date: Wed Dec 5 15:49:11 2018 -0800
add minimized test case for oss-fuzz issue 11691
- ...z-testcase-minimized-hb-shape-fuzzer-5686369209286656 | Bin 0 ->
- 2880 bytes
+ ...z-testcase-minimized-hb-shape-fuzzer-5686369209286656 | Bin 0 -> 2880 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit d9dabc00e9278a346e85538212c126da7e610d55
@@ -3572,7 +4840,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 5 15:39:34 2018 -0800
Merge pull request #1454 from harfbuzz/cff-fixbcd
-
+
[CFF] fix oss-fuzz issue 11674: parse_bcd
commit 81cfd3c775dbc470f57d7fe2775cc068ffa367b6
@@ -3581,7 +4849,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 5 15:37:15 2018 -0800
Merge pull request #1455 from harfbuzz/cff-strinc_assert
-
+
[CFF] fix oss-fuzz issue 11675 (ASSERT: count <= str.len)
commit 6dcfda92c17a7701479118751a8290246e9a3c05
@@ -3599,13 +4867,11 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Wed Dec 5 12:51:18 2018 -0800
fix oss-fuzz issue 11675 (ASSERT: count <= str.len)
-
+
Also added an additional error check to avail ()
- src/hb-cff-interp-common.hh | 18
- ++++++++++++++++--
- ...stcase-minimized-hb-subset-fuzzer-5768186323009536 | Bin 0 ->
- 337 bytes
+ src/hb-cff-interp-common.hh | 18 ++++++++++++++++--
+ ...stcase-minimized-hb-subset-fuzzer-5768186323009536 | Bin 0 -> 337 bytes
2 files changed, 16 insertions(+), 2 deletions(-)
commit 010e2ddb384b5a721172fd7466aafec58dbf8063
@@ -3614,8 +4880,7 @@ Date: Wed Dec 5 12:23:58 2018 -0800
minimized test case for oss-fuzz issue 11674
- ...zz-testcase-minimized-hb-subset-fuzzer-5672006905757696 | Bin 0 ->
- 73 bytes
+ ...zz-testcase-minimized-hb-subset-fuzzer-5672006905757696 | Bin 0 -> 73 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit 2cb9d4c183afc838ecf2ba0d47814e9eaa6f09c6
@@ -3640,8 +4905,7 @@ Date: Wed Dec 5 15:23:41 2018 +0330
[os2] Make newer table fields accessible (#1452)
- src/hb-ot-os2-table.hh | 88
- +++++++++++++++++++++++++++++++++++++-------------
+ src/hb-ot-os2-table.hh | 88 +++++++++++++++++++++++++++++++++++++-------------
1 file changed, 66 insertions(+), 22 deletions(-)
commit 5ab086ebb18112ef48bf6c913acc91b2009a9bed
@@ -3649,16 +4913,15 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed Dec 5 14:17:37 2018 +0330
[fdsc] Implement the table parsing
-
+
Related to https://github.com/harfbuzz/harfbuzz/issues/1337
-
+
May used in addition to an API related to STAT.
-
+
Lots of Apple fonts have it.
src/Makefile.sources | 1 +
- src/hb-aat-fdsc-table.hh | 103
- +++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-aat-fdsc-table.hh | 103 +++++++++++++++++++++++++++++++++++++++++++++++
src/hb-aat-layout.cc | 1 +
3 files changed, 105 insertions(+)
@@ -3667,13 +4930,11 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed Dec 5 13:51:14 2018 +0330
[gasp] Implement the table parsing
-
- May or may not be used in
- https://github.com/harfbuzz/harfbuzz/pull/1432
+
+ May or may not be used in https://github.com/harfbuzz/harfbuzz/pull/1432
src/Makefile.sources | 1 +
- src/hb-ot-gasp-table.hh | 84
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-gasp-table.hh | 84 +++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-layout.cc | 5 +--
3 files changed, 88 insertions(+), 2 deletions(-)
@@ -3683,7 +4944,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed Dec 5 13:25:18 2018 +0330
Merge pull request #1449 from harfbuzz/cff-fixcharset
-
+
[CFF] fix for oss-fuzz 11657: Charset overrun
commit cf4b7db6b1e01c11d7a8a26d95cf947935a234a7
@@ -3692,7 +4953,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed Dec 5 13:23:23 2018 +0330
Merge pull request #1448 from harfbuzz/cff-leak
-
+
[CFF] fix leak: oss-fuzz 11662
commit 620d1ef588c6ce25644891cfe4b9c20fd8a9d1db
@@ -3764,8 +5025,7 @@ Date: Tue Dec 4 22:24:38 2018 -0800
check overflow & clamp
- src/hb-cff-interp-dict-common.hh | 36
- +++++++++++++++++++++++++++---------
+ src/hb-cff-interp-dict-common.hh | 36 +++++++++++++++++++++++++++---------
1 file changed, 27 insertions(+), 9 deletions(-)
commit 32cc46c75a5f163f254b7998ed9193d5bbc85e4b
@@ -3773,15 +5033,14 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Tue Dec 4 21:32:34 2018 -0800
[CFF] fix oss-fuzz issue 11670: NULL dereference (#1450)
-
+
* guard against no subr access
-
+
* code tweak
-
+
* add minimized testcase for oss-fuzz 11670 (Null deference)
- src/hb-cff-interp-cs-common.hh | 22
- ++++++++++++++++-----
+ src/hb-cff-interp-cs-common.hh | 22 ++++++++++++++++-----
src/hb-ot-cff-common.hh | 2 +-
...ase-minimized-hb-subset-fuzzer-5672913680728064 | Bin 0 -> 861 bytes
3 files changed, 18 insertions(+), 6 deletions(-)
@@ -3792,8 +5051,7 @@ Date: Tue Dec 4 14:17:03 2018 -0800
added minimized testcase for oss-fuzz issue 11657
- ...zz-testcase-minimized-hb-shape-fuzzer-5700264032468992 | Bin 0 ->
- 648 bytes
+ ...zz-testcase-minimized-hb-shape-fuzzer-5700264032468992 | Bin 0 -> 648 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit d3d2f32c6e85de1d7fbbb18afef356e09110e61c
@@ -3801,7 +5059,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Tue Dec 4 13:51:26 2018 -0800
fix oss-fuzz 11657: buffer overrun
-
+
Check overrun in Charset1_2::get_glyph
src/hb-ot-cff1-table.hh | 10 ++++++----
@@ -3811,8 +5069,7 @@ commit d0a250a7b15f1099c2005bc2427d62e7370dcc33
Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Dec 4 23:42:13 2018 +0330
- Reuse hb_aat_layout_has_* logic in coretext-aat detection logic
- (#1442)
+ Reuse hb_aat_layout_has_* logic in coretext-aat detection logic (#1442)
src/hb-coretext.cc | 16 ++--------------
1 file changed, 2 insertions(+), 14 deletions(-)
@@ -3840,8 +5097,7 @@ Date: Tue Dec 4 10:30:35 2018 -0800
added minimized test case for oss-fuzz issue 11662
- ...testcase-minimized-hb-shape-fuzzer-5175735354916864 | Bin 0 ->
- 354461 bytes
+ ...testcase-minimized-hb-shape-fuzzer-5175735354916864 | Bin 0 -> 354461 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit 0b952e6026c8be13d16d97f464034ee477e6282f
@@ -3860,7 +5116,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Dec 4 21:30:07 2018 +0330
Merge pull request #1444 from harfbuzz/cff-assert
-
+
removed assert, fixes https://github.com/harfbuzz/harfbuzz/issues/1443
commit 9473463f5c884fcb1de8a7ba7410da2601e6ffa8
@@ -3887,7 +5143,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Dec 4 04:14:13 2018 -0500
Merge pull request #1441 from harfbuzz/cff-doublenum
-
+
use double as CFF Number implementation
commit c48f53d30901dfc20b7432c2947e66642010dc4e
@@ -3906,12 +5162,9 @@ Date: Mon Dec 3 16:18:10 2018 -0800
added minimized test cases
- ...zz-testcase-minimized-hb-shape-fuzzer-5647267827023872 | Bin 0 ->
- 655 bytes
- ...zz-testcase-minimized-hb-shape-fuzzer-5725855502827520 | Bin 0 ->
- 655 bytes
- ...zz-testcase-minimized-hb-shape-fuzzer-5736657639178240 | Bin 0 ->
- 459 bytes
+ ...zz-testcase-minimized-hb-shape-fuzzer-5647267827023872 | Bin 0 -> 655 bytes
+ ...zz-testcase-minimized-hb-shape-fuzzer-5725855502827520 | Bin 0 -> 655 bytes
+ ...zz-testcase-minimized-hb-shape-fuzzer-5736657639178240 | Bin 0 -> 459 bytes
3 files changed, 0 insertions(+), 0 deletions(-)
commit 5fff6ab0024547a8ac47723a0047f4b17416d6ce
@@ -3941,8 +5194,7 @@ Date: Mon Dec 3 14:48:46 2018 -0800
Number to use double for all types
- src/hb-cff-interp-common.hh | 84
- +++++++--------------------------------------
+ src/hb-cff-interp-common.hh | 84 +++++++--------------------------------------
1 file changed, 13 insertions(+), 71 deletions(-)
commit 8c05b955eb4aa088b2b5df9b6415863486eaf59c
@@ -3951,7 +5203,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 3 14:30:51 2018 -0500
Merge pull request #1439 from ebraminio/tracking
-
+
[aat] Expose hb_aat_layout_has_tracking API
commit 01f628cf5571b8b58108ab66cfc3e929c9840e31
@@ -3974,7 +5226,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 3 10:41:37 2018 -0500
[aat] Expose a couple APIs
-
+
New API:
+hb_aat_layout_has_substitution()
+hb_aat_layout_has_positioning()
@@ -3990,13 +5242,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 2 12:38:53 2018 -0500
[aat] Fix division sign fallout
-
+
Happened after 11d2f49af8f53340134c844173f4d8655b00dea3
since now nClasses is unsigned int...
src/hb-aat-layout-common.hh | 2 +-
- ...zz-testcase-minimized-hb-shape-fuzzer-5768046065483776 | Bin 0 ->
- 342 bytes
+ ...zz-testcase-minimized-hb-shape-fuzzer-5768046065483776 | Bin 0 -> 342 bytes
2 files changed, 1 insertion(+), 1 deletion(-)
commit 2087f5a2a743380b36399ba8a2b4ff9e93890fcf
@@ -4017,8 +5268,7 @@ Date: Sat Dec 1 19:34:18 2018 -0500
CMakeLists.txt | 12 +--
src/Makefile.am | 6 --
- src/Makefile.sources | 231
- ++++++++++++++++++++++++---------------------------
+ src/Makefile.sources | 231 ++++++++++++++++++++++++---------------------------
3 files changed, 111 insertions(+), 138 deletions(-)
commit 967a204ee92548163a0d19678a237dcaf3720c20
@@ -4035,7 +5285,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Dec 1 13:12:21 2018 -0500
New approach to change BigEndian casts to be int-sized
-
+
Fixes spurious warnings like:
Fixes https://github.com/harfbuzz/harfbuzz/issues/1436
@@ -4056,9 +5306,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Dec 1 00:14:48 2018 -0500
Revert "Change BigEndian casts to be int-sized"
-
+
This reverts commit eb5ddd32bf4e458ca0af8d5784f8fd46485ad225.
-
+
Broke tests, badly. To be investigated and reenabled.
src/hb-open-type.hh | 16 ++++++++--------
@@ -4078,7 +5328,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Dec 1 00:03:01 2018 -0500
Change BigEndian casts to be int-sized
-
+
Fixes spurious warnings like:
Fixes https://github.com/harfbuzz/harfbuzz/issues/1436
@@ -4116,14 +5366,12 @@ Date: Fri Nov 30 23:04:59 2018 -0500
src/hb-cff2-interp-cs.hh | 76 +++----
src/hb-ot-cff-common.hh | 128 +++++------
src/hb-ot-cff1-table.cc | 4 +-
- src/hb-ot-cff1-table.hh | 456
- +++++++++++++++++++--------------------
+ src/hb-ot-cff1-table.hh | 456 +++++++++++++++++++--------------------
src/hb-ot-cff2-table.cc | 4 +-
src/hb-ot-cff2-table.hh | 216 +++++++++----------
src/hb-subset-cff-common.cc | 76 +++----
src/hb-subset-cff-common.hh | 384 ++++++++++++++++-----------------
- src/hb-subset-cff1.cc | 416
- +++++++++++++++++------------------
+ src/hb-subset-cff1.cc | 416 +++++++++++++++++------------------
src/hb-subset-cff1.hh | 2 +-
src/hb-subset-cff2.cc | 240 ++++++++++-----------
src/hb-subset-cff2.hh | 2 +-
@@ -4164,8 +5412,7 @@ Date: Fri Nov 30 22:43:22 2018 -0500
Remove generated files that were accidentally added by CFF2 branch
gtk-doc.make | 320 --
- m4/libtool.m4 | 8369
- -----------------------------------------------------
+ m4/libtool.m4 | 8369 -----------------------------------------------------
m4/ltoptions.m4 | 437 ---
m4/ltsugar.m4 | 124 -
m4/ltversion.m4 | 23 -
@@ -4178,7 +5425,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 30 22:40:54 2018 -0500
Merge pull request #1113 from harfbuzz/cff-subset
-
+
CFF/CFF2 subsetter
commit 09096aa89f1944dff94a5518bce578eba8989e74
@@ -4186,9 +5433,9 @@ Author: Bruce Mitchener <bruce.mitchener@gmail.com>
Date: Sat Dec 1 10:22:49 2018 +0700
Use nullptr instead of 0/NULL. (#1435)
-
+
* Use nullptr instead of 0/NULL.
-
+
* Update test-name-table.cc
src/hb-debug.hh | 2 +-
@@ -4221,7 +5468,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 30 21:36:35 2018 -0500
Merge pull request #1433 from harfbuzz/overload-overload
-
+
Fix ambiguous overload errors with old compilers
commit fb059082138bf17a5a8616410d9a35f927f9fd85
@@ -4229,14 +5476,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 30 20:45:40 2018 -0500
Revert ugly fixes
-
+
Now that we have 6daf45e0, revert cryptic hacks...
-
+
This reverts commit abd81ed4f5cbc5a94171747909bc6b77551cb929.
This reverts commit 9c6921c08c905a0cf45ba0182134e6ff910fac51.
This reverts commit d39760cabfe4007cefdfc45231e85e93fababac2.
This reverts commit fedd8e6c176dea85194693399e50243eb1c117c4.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1374
src/hb-aat-layout-morx-table.hh | 4 ++--
@@ -4253,11 +5500,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 30 19:57:12 2018 -0500
Make operator [] take signed int
-
+
The built-in operator takes signed int. So, match it, such that
the built-in is never a better or equally-good match to our operator.
Fixes "ambiguous overload" errors from gcc 4.2 and VS 2008.
-
+
See https://github.com/harfbuzz/harfbuzz/issues/1374
src/hb-dsalgs.hh | 3 ++-
@@ -4326,15 +5573,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 30 16:50:30 2018 -0500
One more.........
-
+
I wonder if there's something better to do about these :(.
-
+
In file included from hb-ot-color.cc:31:
- hb-ot-color-cpal-table.hh: In member function 'unsigned int
- OT::CPAL::get_size() const':
- hb-ot-color-cpal-table.hh:118: error: ISO C++ says that these are
- ambiguous, even though the worst conversion for the first is better
- than the worst conversion for the second:
+ hb-ot-color-cpal-table.hh: In member function 'unsigned int OT::CPAL::get_size() const':
+ hb-ot-color-cpal-table.hh:118: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
src/hb-ot-color-cpal-table.hh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -4344,15 +5588,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 30 16:04:52 2018 -0500
One more....
-
- hb-ot-vorg-table.hh:96: error: ISO C++ says that these are ambiguous,
- even though the worst conversion for the first is better than the
- worst conversion for the second:
- hb-vector.hh:87: note: candidate 1: const Type& hb_vector_t<Type,
- PreallocedCount>::operator[](unsigned int) const [with Type =
- OT::VertOriginMetric, unsigned int PreallocedCount = 8u]
- hb-ot-vorg-table.hh:96: note: candidate 2: operator[](const T*,
- int) <built-in>
+
+ hb-ot-vorg-table.hh:96: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
+ hb-vector.hh:87: note: candidate 1: const Type& hb_vector_t<Type, PreallocedCount>::operator[](unsigned int) const [with Type = OT::VertOriginMetric, unsigned int PreallocedCount = 8u]
+ hb-ot-vorg-table.hh:96: note: candidate 2: operator[](const T*, int) <built-in>
src/hb-ot-vorg-table.hh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -4362,19 +5601,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 30 15:55:30 2018 -0500
One more...
-
+
Sigh.
-
- hb-ot-kern-table.hh: In member function 'int
- OT::KernSubTableFormat3<KernSubTableHeader>::get_kerning(hb_codepoint_t,
- hb_codepoint_t) const':
- hb-ot-kern-table.hh:59: error: ambiguous overload for 'operator[]'
- in 'kernValue[kernIndex[i]]'
- hb-ot-kern-table.hh:59: note: candidates are: operator[](T*, int)
- <built-in>
- hb-dsalgs.hh:574: note: Type&
- hb_array_t<Type>::operator[](unsigned int) const [with Type = const
- OT::IntType<short int, 2u>]
+
+ hb-ot-kern-table.hh: In member function 'int OT::KernSubTableFormat3<KernSubTableHeader>::get_kerning(hb_codepoint_t, hb_codepoint_t) const':
+ hb-ot-kern-table.hh:59: error: ambiguous overload for 'operator[]' in 'kernValue[kernIndex[i]]'
+ hb-ot-kern-table.hh:59: note: candidates are: operator[](T*, int) <built-in>
+ hb-dsalgs.hh:574: note: Type& hb_array_t<Type>::operator[](unsigned int) const [with Type = const OT::IntType<short int, 2u>]
src/hb-ot-kern-table.hh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -4384,10 +5617,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 30 15:16:57 2018 -0500
More...
-
- hb-ot-layout-gsubgpos.hh:1707: error: ISO C++ says that these are
- ambiguous, even though the worst conversion for the first is better
- than the worst conversion for the second:
+
+ hb-ot-layout-gsubgpos.hh:1707: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
...
src/hb-aat-layout-morx-table.hh | 4 ++--
@@ -4400,44 +5631,22 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 30 12:52:21 2018 -0500
More weird fixes
-
+
In file included from hb-ot-name.cc:29:
- hb-ot-name-table.hh: In member function 'unsigned int
- OT::name::get_size() const':
- hb-ot-name-table.hh:157: error: ISO C++ says that these are ambiguous,
- even though the worst conversion for the first is better than the
- worst conversion for the second:
- hb-open-type.hh:354: note: candidate 1: const Type&
- OT::UnsizedArrayOf<Type>::operator[](unsigned int) const [with Type
- = OT::NameRecord]
- hb-ot-name-table.hh:157: note: candidate 2: operator[](const T*,
- int) <built-in>
- hb-ot-name-table.hh: In member function 'void
- OT::name::accelerator_t::init(hb_face_t*)':
- hb-ot-name-table.hh:196: error: ISO C++ says that these are ambiguous,
- even though the worst conversion for the first is better than the
- worst conversion for the second:
- hb-dsalgs.hh:574: note: candidate 1: Type&
- hb_array_t<Type>::operator[](unsigned int) const [with Type =
- const OT::NameRecord]
- hb-ot-name-table.hh:196: note: candidate 2: operator[](T*, int)
- <built-in>
- hb-ot-name-table.hh:197: error: ISO C++ says that these are ambiguous,
- even though the worst conversion for the first is better than the
- worst conversion for the second:
- hb-dsalgs.hh:574: note: candidate 1: Type&
- hb_array_t<Type>::operator[](unsigned int) const [with Type =
- const OT::NameRecord]
- hb-ot-name-table.hh:197: note: candidate 2: operator[](T*, int)
- <built-in>
- hb-ot-name-table.hh:198: error: ISO C++ says that these are ambiguous,
- even though the worst conversion for the first is better than the
- worst conversion for the second:
- hb-dsalgs.hh:574: note: candidate 1: Type&
- hb_array_t<Type>::operator[](unsigned int) const [with Type =
- const OT::NameRecord]
- hb-ot-name-table.hh:198: note: candidate 2: operator[](T*, int)
- <built-in>
+ hb-ot-name-table.hh: In member function 'unsigned int OT::name::get_size() const':
+ hb-ot-name-table.hh:157: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
+ hb-open-type.hh:354: note: candidate 1: const Type& OT::UnsizedArrayOf<Type>::operator[](unsigned int) const [with Type = OT::NameRecord]
+ hb-ot-name-table.hh:157: note: candidate 2: operator[](const T*, int) <built-in>
+ hb-ot-name-table.hh: In member function 'void OT::name::accelerator_t::init(hb_face_t*)':
+ hb-ot-name-table.hh:196: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
+ hb-dsalgs.hh:574: note: candidate 1: Type& hb_array_t<Type>::operator[](unsigned int) const [with Type = const OT::NameRecord]
+ hb-ot-name-table.hh:196: note: candidate 2: operator[](T*, int) <built-in>
+ hb-ot-name-table.hh:197: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
+ hb-dsalgs.hh:574: note: candidate 1: Type& hb_array_t<Type>::operator[](unsigned int) const [with Type = const OT::NameRecord]
+ hb-ot-name-table.hh:197: note: candidate 2: operator[](T*, int) <built-in>
+ hb-ot-name-table.hh:198: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
+ hb-dsalgs.hh:574: note: candidate 1: Type& hb_array_t<Type>::operator[](unsigned int) const [with Type = const OT::NameRecord]
+ hb-ot-name-table.hh:198: note: candidate 2: operator[](T*, int) <built-in>
make[4]: *** [libharfbuzz_la-hb-ot-name.lo] Error 1
make[3]: *** [all-recursive] Error 1
@@ -4456,64 +5665,29 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 30 11:51:26 2018 -0500
Umm. Cryptic, yes
-
+
In file included from hb-face.cc:35:
- hb-ot-cmap-table.hh: In member function 'void
- OT::CmapSubtableFormat4::_compiles_assertion_on_line_388() const':
- hb-ot-cmap-table.hh:388: error: ISO C++ says that these are ambiguous,
- even though the worst conversion for the first is better than the
- worst conversion for the second:
- hb-open-type.hh:354: note: candidate 1: const Type&
- OT::UnsizedArrayOf<Type>::operator[](unsigned int) const [with Type =
- OT::IntType<short unsigned int, 2u>]
- hb-ot-cmap-table.hh:388: note: candidate 2: operator[](const T*,
- int) <built-in>
- hb-ot-cmap-table.hh: In member function 'void
- OT::CmapSubtableFormat4::_instance_assertion_on_line_388() const':
- hb-ot-cmap-table.hh:388: error: ISO C++ says that these are ambiguous,
- even though the worst conversion for the first is better than the
- worst conversion for the second:
- hb-open-type.hh:354: note: candidate 1: const Type&
- OT::UnsizedArrayOf<Type>::operator[](unsigned int) const [with Type =
- OT::IntType<short unsigned int, 2u>]
- hb-ot-cmap-table.hh:388: note: candidate 2: operator[](const T*,
- int) <built-in>
- hb-face.cc: In function 'hb_blob_t*
- _hb_face_builder_data_reference_blob(hb_face_builder_data_t*)':
- hb-face.cc:650: error: ISO C++ says that these are ambiguous, even
- though the worst conversion for the first is better than the worst
- conversion for the second:
- hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type,
- PreallocedCount>::operator[](unsigned int) [with Type =
- hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount
- = 32u]
+ hb-ot-cmap-table.hh: In member function 'void OT::CmapSubtableFormat4::_compiles_assertion_on_line_388() const':
+ hb-ot-cmap-table.hh:388: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
+ hb-open-type.hh:354: note: candidate 1: const Type& OT::UnsizedArrayOf<Type>::operator[](unsigned int) const [with Type = OT::IntType<short unsigned int, 2u>]
+ hb-ot-cmap-table.hh:388: note: candidate 2: operator[](const T*, int) <built-in>
+ hb-ot-cmap-table.hh: In member function 'void OT::CmapSubtableFormat4::_instance_assertion_on_line_388() const':
+ hb-ot-cmap-table.hh:388: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
+ hb-open-type.hh:354: note: candidate 1: const Type& OT::UnsizedArrayOf<Type>::operator[](unsigned int) const [with Type = OT::IntType<short unsigned int, 2u>]
+ hb-ot-cmap-table.hh:388: note: candidate 2: operator[](const T*, int) <built-in>
+ hb-face.cc: In function 'hb_blob_t* _hb_face_builder_data_reference_blob(hb_face_builder_data_t*)':
+ hb-face.cc:650: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
+ hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type, PreallocedCount>::operator[](unsigned int) [with Type = hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount = 32u]
hb-face.cc:650: note: candidate 2: operator[](T*, int) <built-in>
- hb-face.cc:650: error: ISO C++ says that these are ambiguous, even
- though the worst conversion for the first is better than the worst
- conversion for the second:
- hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type,
- PreallocedCount>::operator[](unsigned int) [with Type =
- hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount
- = 32u]
- hb-face.cc:650: note: candidate 2: operator[](const T*, int)
- <built-in>
- hb-face.cc:651: error: ISO C++ says that these are ambiguous, even
- though the worst conversion for the first is better than the worst
- conversion for the second:
- hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type,
- PreallocedCount>::operator[](unsigned int) [with Type =
- hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount
- = 32u]
+ hb-face.cc:650: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
+ hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type, PreallocedCount>::operator[](unsigned int) [with Type = hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount = 32u]
+ hb-face.cc:650: note: candidate 2: operator[](const T*, int) <built-in>
+ hb-face.cc:651: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
+ hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type, PreallocedCount>::operator[](unsigned int) [with Type = hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount = 32u]
hb-face.cc:651: note: candidate 2: operator[](T*, int) <built-in>
- hb-face.cc:651: error: ISO C++ says that these are ambiguous, even
- though the worst conversion for the first is better than the worst
- conversion for the second:
- hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type,
- PreallocedCount>::operator[](unsigned int) [with Type =
- hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount
- = 32u]
- hb-face.cc:651: note: candidate 2: operator[](const T*, int)
- <built-in>
+ hb-face.cc:651: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
+ hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type, PreallocedCount>::operator[](unsigned int) [with Type = hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount = 32u]
+ hb-face.cc:651: note: candidate 2: operator[](const T*, int) <built-in>
src/hb-face.cc | 4 ++--
src/hb-machinery.hh | 4 ++--
@@ -4524,14 +5698,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 30 11:51:26 2018 -0500
Umm. Cryptic, yes
-
- hb-face.cc:650: error: ISO C++ says that these are ambiguous, even
- though the worst conversion for the first is better than the worst
- conversion for the second:
- hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type,
- PreallocedCount>::operator[](unsigned int) [with Type =
- hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount
- = 32u]
+
+ hb-face.cc:650: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
+ hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type, PreallocedCount>::operator[](unsigned int) [with Type = hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount = 32u]
hb-face.cc:650: note: candidate 2: operator[](T*, int) <built-in>
src/hb-face.cc | 4 ++--
@@ -4582,8 +5751,7 @@ Date: Fri Nov 30 00:32:12 2018 -0500
src/Makefile.sources | 1 +
src/hb-deprecated.h | 61 +---------------------------
- src/hb-ot-deprecated.h | 106
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-deprecated.h | 106 +++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot.h | 1 +
4 files changed, 109 insertions(+), 60 deletions(-)
@@ -4611,11 +5779,10 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Fri Nov 30 00:06:40 2018 +0330
[test][aat] Remove extra --shaper ot
-
+
As run-tests.py already adds it
- test/shaping/data/in-house/tests/macos.tests | 64
- ++++++++++++++--------------
+ test/shaping/data/in-house/tests/macos.tests | 64 ++++++++++++++--------------
1 file changed, 32 insertions(+), 32 deletions(-)
commit b65645bbafb3f1f9f956df3028cf4479a4bdc265
@@ -4624,8 +5791,7 @@ Date: Thu Nov 29 23:57:50 2018 +0330
[ci] Re-enable llvm-gcc-4.2 bots (#1429)
- .circleci/config.yml | 48
- ++++++++++++++++++++++++------------------------
+ .circleci/config.yml | 48 ++++++++++++++++++++++++------------------------
1 file changed, 24 insertions(+), 24 deletions(-)
commit e7bd29ea11bd6301a332b471120a4a2cd8575d09
@@ -4642,7 +5808,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 29 15:07:44 2018 -0500
[coretext] Fix compile
-
+
Fingers crossed.
src/hb-coretext.cc | 2 +-
@@ -4724,7 +5890,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 29 14:34:44 2018 -0500
[vector] Make pointer cast explicit
-
+
Too bad this doesn't help MSVC 2008 build, as explicit operators are
C++11.
@@ -4750,10 +5916,8 @@ Date: Thu Nov 29 12:39:52 2018 -0500
[test/text-rendering-tests] Update from upstream
- .../text-rendering-tests/fonts/TestGVAR-Composite-0.ttf | Bin 0 ->
- 3136 bytes
- .../fonts/TestGVAR-Composite-Missing.ttf | Bin 0 ->
- 2984 bytes
+ .../text-rendering-tests/fonts/TestGVAR-Composite-0.ttf | Bin 0 -> 3136 bytes
+ .../fonts/TestGVAR-Composite-Missing.ttf | Bin 0 -> 2984 bytes
2 files changed, 0 insertions(+), 0 deletions(-)
commit 000d4b128eba58677acdc3b361829ff2f9a257b1
@@ -4761,14 +5925,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 29 12:32:47 2018 -0500
Make shaper's override_features() override user features as well
-
+
The override_features is used to override features that are normally
discretionary features, but in a specific shaper are for various
reasons desired to be bolted on or off, because they've been used
for inherent shaping. As such, it makes sense that they also
override user features. Ie. if user turned 'liga' on, we don't
want Khmer shaping to become broken... Or turn 'clig' off...
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1310
src/hb-ot-shape.cc | 6 +++---
@@ -4779,7 +5943,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 29 12:30:14 2018 -0500
[khmer] Move 'clig' to overrides
-
+
Prerequisite for https://github.com/harfbuzz/harfbuzz/issues/1310
src/hb-ot-shape-complex-khmer.cc | 15 +++++++++------
@@ -4790,9 +5954,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 29 12:18:14 2018 -0500
Fix "typename outside template" issues
-
+
Nothing an extra template class wouldn't fix...
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1419
src/hb-null.hh | 25 +++++++++++++++++++------
@@ -4829,7 +5993,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 29 10:39:18 2018 -0500
Merge pull request #1418 from gvictor/replace_icu_deprecated
-
+
Replace @Deprecated ICU API - USCRIPT_CODE_LIMIT
commit e0307de818ad1f70ef96938642bda61d7a62532a
@@ -4863,7 +6027,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 28 17:21:57 2018 -0500
Merge pull request #1425 from mbutterick/patch-1
-
+
update simple shaping example (closes #298)
commit d3d0f15f7d20bedf7018fb2fb652f92ff4159bd7
@@ -4871,9 +6035,8 @@ Author: Matthew Butterick <mbutterick@users.noreply.github.com>
Date: Wed Nov 28 13:46:12 2018 -0800
update simple shaping example (closes #298)
-
- add call to `FT_Set_Char_Size`, otherwise default size remains at
- `0`, and glyph positions come back as `0` too
+
+ add call to `FT_Set_Char_Size`, otherwise default size remains at `0`, and glyph positions come back as `0` too
docs/usermanual-getting-started.xml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
@@ -4883,9 +6046,8 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Thu Nov 29 00:55:05 2018 +0330
[test][aat] Update expectency
-
- It is not visually noticeable but apparently affected by kern format2
- correct implementation.
+
+ It is not visually noticeable but apparently affected by kern format2 correct implementation.
I should've checked CoreText result which can't as CircleCI outage.
test/shaping/data/in-house/tests/macos.tests | 4 ++--
@@ -4898,8 +6060,7 @@ Date: Thu Nov 29 00:07:00 2018 +0330
[test] Add test for format2 kern (#1423)
test/shaping/data/in-house/Makefile.sources | 1 +
- .../fonts/e39391c77a6321c2ac7a2d644de0396470cd4bfe.ttf | Bin 0 ->
- 34116 bytes
+ .../fonts/e39391c77a6321c2ac7a2d644de0396470cd4bfe.ttf | Bin 0 -> 34116 bytes
test/shaping/data/in-house/tests/kern-format2.tests | 3 +++
3 files changed, 4 insertions(+)
@@ -4925,7 +6086,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 28 15:06:01 2018 -0500
[kern] Fix kern table Format2 offsetToIndex
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1421
src/hb-aat-layout-kerx-table.hh | 8 ++++++--
@@ -4957,8 +6118,7 @@ Date: Wed Nov 28 20:28:42 2018 +0330
[test][aat] Add a test and make macOS runners faster (#1422)
.circleci/config.yml | 15 +++-----
- test/shaping/data/in-house/tests/macos.tests | 54
- ++++++++++++++--------------
+ test/shaping/data/in-house/tests/macos.tests | 54 ++++++++++++++--------------
2 files changed, 33 insertions(+), 36 deletions(-)
commit 987f4187722a05e3f360b85c66309a351fc5d6ad
@@ -4967,7 +6127,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 27 17:40:32 2018 -0500
Merge pull request #1398 from Adenilson/bigInt01
-
+
Optimize harfbuzz big integer conversions
commit 4e2a03b6b6e0c0d1c4edea10dc1aae63eeb6c581
@@ -4984,21 +6144,19 @@ Author: Adenilson Cavalcanti <adenilson.cavalcanti@arm.com>
Date: Tue Nov 20 14:41:19 2018 -0800
Optimize harfbuzz big integer conversions
-
- Profiling showed that type conversions were adding considerable
- cycles in time
+
+ Profiling showed that type conversions were adding considerable cycles in time
spent doing text shaping.
-
- The idea is to optimize it using native processor instructions to
- help Blink
+
+ The idea is to optimize it using native processor instructions to help Blink
layout performance.
-
+
Doing further investigation revelead that compilers may not use the
proper instruction on ARM 32bits builds (i.e. REV16).
-
+
One way to insure that the generated ASM was ideal for both gcc/clang
was using __builtin_bswap16.
-
+
Added bonus is that we no longer need to test for CPU architecture.
src/hb-machinery.hh | 4 ++++
@@ -5009,10 +6167,10 @@ Author: Victor Chang <vichang@google.com>
Date: Tue Nov 27 11:34:56 2018 +0000
Replace @Deprecated ICU API - USCRIPT_CODE_LIMIT
-
+
Use of the deprecated API USCRIPT_CODE_LIMIT prevents harfbuzz
using the ICU4C as a shared library.
-
+
The API has been replaced by u_getIntPropertyMaxValue(UCHAR_SCRIPT)
src/hb-icu.cc | 3 ++-
@@ -5023,10 +6181,9 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Mon Nov 26 18:58:39 2018 +0330
[ci] Add .codecov.yml
-
- Similar to
- https://github.com/GoogleChrome/lighthouse/blob/master/.codecov.yml
-
+
+ Similar to https://github.com/GoogleChrome/lighthouse/blob/master/.codecov.yml
+
No strong preference on commenting, feel free to enable it again
.codecov.yml | 7 +++++++
@@ -5046,7 +6203,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Nov 25 16:51:22 2018 -0500
[aat] Ignore GSUB table of Muthu Foundry if they have morx table
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1410
src/hb-ot-layout-gpos-table.hh | 3 +++
@@ -5116,13 +6273,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Nov 25 01:14:40 2018 -0500
[aat.feat] Rework API and implementation
-
+
Fixes https://github.com/harfbuzz/harfbuzz/pull/1346
docs/harfbuzz-docs.xml | 5 +++
docs/harfbuzz-sections.txt | 7 ++--
- src/hb-aat-layout-feat-table.hh | 89
- +++++++++++++++++++++++------------------
+ src/hb-aat-layout-feat-table.hh | 89 +++++++++++++++++++++++------------------
src/hb-aat-layout.cc | 80 ++++++++++++++++--------------------
src/hb-aat-layout.h | 32 +++++++++------
test/api/test-aat-layout.c | 58 ++++++++++++++-------------
@@ -5169,7 +6325,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 24 10:46:56 2018 -0500
[AAT.feat] Use lsearch for looking up SettingName's
-
+
They are not sorted.
src/hb-aat-layout-feat-table.hh | 18 ++++++------------
@@ -5192,17 +6348,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 23 14:05:11 2018 -0500
[aat] Move contents of hb-aat.h to hb-aat-layout.h
-
+
Since it was pages and pages...
src/Makefile.sources | 1 +
src/hb-aat-layout.cc | 1 -
- src/hb-aat-layout.h | 452
- +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-aat-layout.h | 452 +++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-aat-layout.hh | 1 -
src/hb-aat-map.hh | 1 -
- src/hb-aat.h | 417
- +----------------------------------------------
+ src/hb-aat.h | 417 +----------------------------------------------
src/hb.hh | 2 +
7 files changed, 458 insertions(+), 417 deletions(-)
@@ -5215,8 +6369,7 @@ Date: Fri Nov 23 12:23:35 2018 -0500
src/hb-aat-layout-feat-table.hh | 2 +-
src/hb-aat-layout-morx-table.hh | 4 +-
src/hb-aat-layout.cc | 150 ++++++------
- src/hb-aat.h | 502
- ++++++++++++++++++++--------------------
+ src/hb-aat.h | 502 ++++++++++++++++++++--------------------
test/api/test-aat-layout.c | 2 +-
5 files changed, 330 insertions(+), 330 deletions(-)
@@ -5251,8 +6404,7 @@ Date: Fri Nov 23 12:05:06 2018 +0330
docs/harfbuzz-sections.txt | 6 +--
src/hb-aat-layout-feat-table.hh | 52 ++++++++++++------------
src/hb-aat-layout-morx-table.hh | 2 +-
- src/hb-aat-layout.cc | 88
- ++++++++++++++++++++---------------------
+ src/hb-aat-layout.cc | 88 ++++++++++++++++++++---------------------
src/hb-aat-layout.hh | 4 +-
src/hb-aat-map.cc | 2 +-
src/hb-aat-map.hh | 2 +-
@@ -5267,8 +6419,7 @@ Date: Fri Nov 23 11:44:53 2018 +0330
[feat] Apply renamings and add documentation
docs/harfbuzz-sections.txt | 10 ++++++++++
- src/hb-aat-layout.cc | 44
- ++++++++++++++++++++++++++++++++++++++------
+ src/hb-aat-layout.cc | 44 ++++++++++++++++++++++++++++++++++++++------
src/hb-aat.h | 6 +++---
test/api/test-aat-layout.c | 28 ++++++++++++++--------------
4 files changed, 65 insertions(+), 23 deletions(-)
@@ -5292,8 +6443,7 @@ Date: Sat Nov 17 11:30:50 2018 +0330
src/hb-aat-layout-feat-table.hh | 114 ++++---
src/hb-aat-layout.cc | 14 +-
- src/hb-aat.h | 673
- +++++++++++++++++-----------------------
+ src/hb-aat.h | 673 +++++++++++++++++-----------------------
test/api/test-aat-layout.c | 88 +++---
4 files changed, 423 insertions(+), 466 deletions(-)
@@ -5308,8 +6458,7 @@ Date: Sat Nov 17 01:07:09 2018 +0330
src/hb-aat-layout-morx-table.hh | 2 +-
src/hb-aat-layout.cc | 104 ++++----
src/hb-aat-map.cc | 2 +-
- src/hb-aat.h | 533
- ++++++++++++----------------------------
+ src/hb-aat.h | 533 ++++++++++++----------------------------
src/hb-ot.h | 1 -
test/api/test-aat-layout.c | 84 +++----
8 files changed, 282 insertions(+), 528 deletions(-)
@@ -5322,8 +6471,7 @@ Date: Fri Nov 9 00:50:10 2018 +0330
src/hb-aat-layout-morx-table.hh | 2 +-
src/hb-aat-layout.cc | 154 ++++-----
- src/hb-aat.h | 697
- ++++++++++++++++++++++++++++++++++++++--
+ src/hb-aat.h | 697 ++++++++++++++++++++++++++++++++++++++--
3 files changed, 752 insertions(+), 101 deletions(-)
commit fbad794bd2c574363a0c5c5fefabce764496f93c
@@ -5335,8 +6483,7 @@ Date: Thu Nov 1 22:24:42 2018 +0330
src/hb-aat-layout-feat-table.hh | 36 +++++++++++++++++++++--------
src/hb-aat-layout.cc | 26 +++++++++++----------
src/hb-aat.h | 23 +++++++++++++++++--
- test/api/test-aat-layout.c | 51
- +++++++++++++++++++++++++++--------------
+ test/api/test-aat-layout.c | 51 +++++++++++++++++++++++++++--------------
4 files changed, 96 insertions(+), 40 deletions(-)
commit 7a0471aa356bcd062d31a59bdb19c335249116c7
@@ -5347,8 +6494,7 @@ Date: Thu Nov 1 21:38:54 2018 +0330
src/hb-aat-layout-feat-table.hh | 20 ++---
src/hb-aat-layout-morx-table.hh | 10 +--
- src/hb-aat-layout.cc | 170
- ++++++++++++++++++++--------------------
+ src/hb-aat-layout.cc | 170 ++++++++++++++++++++--------------------
src/hb-aat-layout.hh | 6 +-
src/hb-aat-map.cc | 2 +-
src/hb-aat-map.hh | 4 +-
@@ -5415,7 +6561,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Thu Nov 1 13:14:29 2018 +0330
[feat] Expose public API
-
+
* hb_aat_get_feature_settings
src/Makefile.sources | 1 +
@@ -5427,8 +6573,7 @@ Date: Thu Nov 1 13:14:29 2018 +0330
src/hb-aat-map.hh | 5 ++-
src/hb-ot-face.hh | 1 +
test/api/Makefile.am | 1 +
- test/api/test-aat-layout.c | 89
- +++++++++++++++++++++++++++++++++++++++++
+ test/api/test-aat-layout.c | 89 +++++++++++++++++++++++++++++++++++++++++
test/api/test-c.c | 1 +
11 files changed, 278 insertions(+), 9 deletions(-)
@@ -5437,7 +6582,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Nov 25 00:30:08 2018 -0500
[test] Reorder test suites
-
+
aots is less interesting. Run text-rendering-tests before aots.
test/shaping/data/Makefile.am | 2 +-
@@ -5484,7 +6629,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 24 23:38:06 2018 -0500
Add hb_sanitize_with_object_t
-
+
Context manager.
src/hb-machinery.hh | 17 +++++++++++++++++
@@ -5506,7 +6651,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 24 23:12:28 2018 -0500
[aat] Skip terminator in VarSizedBinSearchArray<>
-
+
Fixes shaping with Apple Chancery on 10.13 again. In that font,
there was a terminator segment, that was tripping off sanitize().
@@ -5537,9 +6682,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 24 22:16:59 2018 -0500
Revert "[aat.morx] Remove set_object() business"
-
+
This reverts commit ae8ed58a6e53441d9ccbf67afd8a00b815cde99e.
-
+
Apparently this broke Apple Chancery from OS X 10.12 :(.
Investigating...
@@ -5551,7 +6696,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 24 22:16:53 2018 -0500
Revert "[aat.kerx] Remove kerx subtable boundary enforcement"
-
+
This reverts commit 15905a2a2998f7ddd964f920a4828602235d6b00.
src/hb-aat-layout-kerx-table.hh | 21 +++++++++++++++++++++
@@ -5562,7 +6707,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 24 22:16:47 2018 -0500
Revert "[sanitize] Remove now-unused set_object() machinery"
-
+
This reverts commit bbdb6edb3e1cea4c5b7076c4f6b3e6998ae36dae.
src/hb-machinery.hh | 25 ++++++++++++++++++++++++-
@@ -5618,8 +6763,7 @@ Date: Sun Nov 25 01:59:54 2018 +0330
test/shaping/data/in-house/Makefile.sources | 3 +--
.../data/in-house/tests/macos-10.12.6.tests | 11 ---------
.../data/in-house/tests/macos-10.13.6.tests | 13 -----------
- test/shaping/data/in-house/tests/macos.tests | 26
- ++++++++++++++++++++++
+ test/shaping/data/in-house/tests/macos.tests | 26 ++++++++++++++++++++++
4 files changed, 27 insertions(+), 26 deletions(-)
commit bbdb6edb3e1cea4c5b7076c4f6b3e6998ae36dae
@@ -5636,7 +6780,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 24 17:14:39 2018 -0500
[aat.kerx] Remove kerx subtable boundary enforcement
-
+
Have not encountered fonts needing this, but same reasoning as
for morx (see previos commit.)
@@ -5648,12 +6792,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 24 17:11:09 2018 -0500
[aat.morx] Remove set_object() business
-
+
With OS X 10.13 Apple Chancery fails to ligate if we limit each morx
sub-chain to its declared length. Perhaps their newer compiler does
object-sharing across sub-chains. Anyway, since that's a valid, if
unspecified, way to compile tables, remove enforcement.
-
+
Probably do the same with kern/kerx.
src/hb-aat-layout-morx-table.hh | 8 --------
@@ -5665,12 +6809,10 @@ Date: Sun Nov 25 01:39:00 2018 +0330
Add 10.13.6 aat fonts tests and bot (#1409)
- .circleci/config.yml | 16
- ++++++++++++++--
+ .circleci/config.yml | 16 ++++++++++++++--
test/shaping/data/in-house/Makefile.sources | 3 ++-
.../in-house/tests/{macos.tests => macos-10.12.6.tests} | 2 --
- test/shaping/data/in-house/tests/macos-10.13.6.tests | 13
- +++++++++++++
+ test/shaping/data/in-house/tests/macos-10.13.6.tests | 13 +++++++++++++
4 files changed, 29 insertions(+), 5 deletions(-)
commit b7f7950e8fc4b9e229b466ac2453d57b8da9a5a6
@@ -5688,8 +6830,7 @@ Date: Sat Nov 24 15:49:33 2018 -0500
[tests] Redo test runner logging a bit
- test/shaping/run-tests.py | 44
- +++++++++++++++++++++++---------------------
+ test/shaping/run-tests.py | 44 +++++++++++++++++++++++---------------------
1 file changed, 23 insertions(+), 21 deletions(-)
commit 5020affc3877d39377506245ecaf01a659eef82a
@@ -5706,7 +6847,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 24 15:37:01 2018 -0500
[tests/shaping] Allow comments in test files
-
+
Line should start with "# ".
test/shaping/run-tests.py | 17 +++++++++++++++--
@@ -5718,8 +6859,7 @@ Date: Sat Nov 24 15:22:09 2018 -0500
[tests] Rename
- test/shaping/data/in-house/Makefile.sources |
- 2 +-
+ test/shaping/data/in-house/Makefile.sources | 2 +-
test/shaping/data/in-house/tests/{macos-10.12.tests => macos.tests} | 0
2 files changed, 1 insertion(+), 1 deletion(-)
@@ -5728,11 +6868,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 24 14:52:34 2018 -0500
[morx/kerx] Fix sanitize regression
-
+
Broke in 8dcc1913a1670ede7b124f7b5b775d7ab8791386
-
+
If sanitizer is left with another object, it wouldn't work.
-
+
Better fix coming soon.
src/hb-aat-layout-kerx-table.hh | 6 +-----
@@ -5744,12 +6884,11 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sat Nov 24 20:49:21 2018 +0330
[test] Enable more of aots tests (#1408)
-
+
The ones commented out in this change should've be passed :/
a closer look is needed.
- test/shaping/data/aots/Makefile.sources | 76
- +++++++++++-----------
+ test/shaping/data/aots/Makefile.sources | 76 +++++++++++-----------
test/shaping/data/aots/hb-aots-tester.cpp | 1 +
test/shaping/data/aots/tests/classdef1_empty.tests | 2 +-
test/shaping/data/aots/tests/gsub3_1_simple.tests | 2 +-
@@ -5761,13 +6900,10 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sat Nov 24 20:07:24 2018 +0330
Add Adobe AOTS tests (#1395)
-
- Annotated OpenType Specification or aots,
- https://github.com/adobe-type-tools/aots
- provides a set of tests for OpenType specification, this change add
- those tests in addition
- to modified version of their HarfBuzz test runner for generating
- harfbuzz project specific tests.
+
+ Annotated OpenType Specification or aots, https://github.com/adobe-type-tools/aots
+ provides a set of tests for OpenType specification, this change add those tests in addition
+ to modified version of their HarfBuzz test runner for generating harfbuzz project specific tests.
configure.ac | 1 +
test/shaping/CMakeLists.txt | 13 +-
@@ -5978,8 +7114,7 @@ Date: Sat Nov 24 20:07:24 2018 +0330
.../fonts/lookupflag_ignore_combination_f1.otf | Bin 0 -> 5408 bytes
.../aots/fonts/lookupflag_ignore_ligatures_f1.otf | Bin 0 -> 5320 bytes
.../data/aots/fonts/lookupflag_ignore_marks_f1.otf | Bin 0 -> 5288 bytes
- test/shaping/data/aots/hb-aots-tester.cpp | 343
- +++++++++++++++++++++
+ test/shaping/data/aots/hb-aots-tester.cpp | 343 +++++++++++++++++++++
test/shaping/data/aots/tests/classdef1.tests | 1 +
test/shaping/data/aots/tests/classdef1_empty.tests | 1 +
.../data/aots/tests/classdef1_multiple.tests | 1 +
@@ -6136,7 +7271,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 24 10:06:13 2018 -0500
[arrays] Improve bfind() interface
-
+
Much more useful now. :)
src/hb-dsalgs.hh | 29 +++++++++++++++++++++++++----
@@ -6152,14 +7287,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 24 09:49:21 2018 -0500
[fuzzing] Add tests for previous commit
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11526
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11522
- ...zz-testcase-minimized-hb-shape-fuzzer-5634620935110656 | Bin 0 ->
- 41 bytes
- ...zz-testcase-minimized-hb-shape-fuzzer-5716208469409792 | Bin 0 ->
- 243 bytes
+ ...zz-testcase-minimized-hb-shape-fuzzer-5634620935110656 | Bin 0 -> 41 bytes
+ ...zz-testcase-minimized-hb-shape-fuzzer-5716208469409792 | Bin 0 -> 243 bytes
2 files changed, 0 insertions(+), 0 deletions(-)
commit 8dcc1913a1670ede7b124f7b5b775d7ab8791386
@@ -6235,8 +7368,7 @@ Date: Sat Nov 24 01:31:00 2018 -0500
[arrays] Port SortedArrayOf.bsearch/bfind to hb_sorted_array_t's
src/hb-dsalgs.hh | 9 +++------
- src/hb-open-type.hh | 50
- ++++++++++----------------------------------------
+ src/hb-open-type.hh | 50 ++++++++++----------------------------------------
src/hb-vector.hh | 35 ++++++++++-------------------------
3 files changed, 23 insertions(+), 71 deletions(-)
@@ -6246,8 +7378,7 @@ Date: Sat Nov 24 01:24:48 2018 -0500
[arrays] Port hb_vector_t.bsearch/bfind to (new) hb_sorted_array_t's
- src/hb-dsalgs.hh | 63
- +++++++++++++++++++++++++++++++++++++++++++++++++----
+ src/hb-dsalgs.hh | 63 +++++++++++++++++++++++++++++++++++++++++++++++++----
src/hb-open-type.hh | 12 ++++++----
src/hb-vector.hh | 57 +++++++++++++++++++-----------------------------
3 files changed, 89 insertions(+), 43 deletions(-)
@@ -6286,7 +7417,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 24 00:58:44 2018 -0500
[arrays] Update ArrayOf.lsearch()
-
+
Currently unused apparently
src/hb-open-type.hh | 17 +++++++++++++----
@@ -6297,7 +7428,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 24 00:53:19 2018 -0500
[arrays] Change argument type of cmp called by hb_vector_t.bsearch()
-
+
Towards consolidating all array bsearch/...
src/hb-aat-map.hh | 4 ++--
@@ -6310,11 +7441,9 @@ commit 5fdf7b724eb3cb5ac60cd7f90d3250877ad7ca06
Author: Nathan Willis <nwillis@glyphography.com>
Date: Thu Nov 15 17:40:21 2018 -0600
- Usermanual: clusters chapter; add brief grapheme definition and
- clarify monotonous cluster handling.
+ Usermanual: clusters chapter; add brief grapheme definition and clarify monotonous cluster handling.
- docs/usermanual-clusters.xml | 56
- ++++++++++++++++++++++++++++++--------------
+ docs/usermanual-clusters.xml | 56 ++++++++++++++++++++++++++++++--------------
1 file changed, 39 insertions(+), 17 deletions(-)
commit 939220e57da613e090d247aa1af2396c28370af4
@@ -6332,8 +7461,7 @@ Date: Mon Nov 12 12:17:06 2018 -0600
Usermanual: expand clusters chapter.
- docs/usermanual-clusters.xml | 743
- +++++++++++++++++++++++++++----------------
+ docs/usermanual-clusters.xml | 743 +++++++++++++++++++++++++++----------------
1 file changed, 473 insertions(+), 270 deletions(-)
commit 30cb45b3eaacda15cc45435815cae3fd50e87557
@@ -6341,13 +7469,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 24 00:35:31 2018 -0500
Change ArrayOf.bsearch() return semantics
-
+
Towards consolidating all array bsearch/...
src/hb-aat-layout-kerx-table.hh | 16 +++-------------
src/hb-open-file.hh | 12 ++++++++----
- src/hb-open-type.hh | 42
- ++++++++++++++++++++++++++++++++---------
+ src/hb-open-type.hh | 42 ++++++++++++++++++++++++++++++++---------
src/hb-ot-cmap-table.hh | 30 ++++++++++++-----------------
src/hb-ot-color-svg-table.hh | 3 +--
src/hb-ot-layout-common.hh | 29 +++++++++++-----------------
@@ -6477,7 +7604,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 23 13:49:34 2018 -0500
Merge pull request #1407 from harfbuzz/at-sign
-
+
Don't canonicalize '@' to '-' in language tags
commit 018ba46e4d003a5dd0f6d2d899226129c4ef0c60
@@ -6485,7 +7612,7 @@ Author: David Corbett <corbett.dav@husky.neu.edu>
Date: Fri Nov 23 13:21:22 2018 -0500
Don't canonicalize '@' to '-' in language tags
-
+
Fixes #1406.
src/hb-common.cc | 2 +-
@@ -6506,9 +7633,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 23 11:10:17 2018 -0500
[aat] Disable mark advance zeroing if kern table has state-machines
-
+
Geeza Pro for example, relies on that for fancy mark positioning.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1405
src/hb-aat-layout-kerx-table.hh | 15 +++++++++++++++
@@ -6533,13 +7660,11 @@ Date: Fri Nov 23 15:40:05 2018 +0330
[aat] Add macOS specific tests (#1404)
- .circleci/config.yml | 46
- ++++++++++++++--------
+ .circleci/config.yml | 46 ++++++++++++++--------
test/shaping/CMakeLists.txt | 2 +
test/shaping/data/in-house/Makefile.sources | 1 +
test/shaping/data/in-house/tests/macos-10.12.tests | 10 +++++
- test/shaping/run-tests.py | 38
- ++++++++++++++----
+ test/shaping/run-tests.py | 38 ++++++++++++++----
5 files changed, 73 insertions(+), 24 deletions(-)
commit 22798e93c414a2655c757a6e41b300f67e04a9a3
@@ -6566,7 +7691,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 22 22:39:12 2018 -0500
Merge pull request #1291 from harfbuzz/use-reordering
-
+
[use] Fix reordering
commit e4a4555d1e40dacdf72452805e9e6b6109627d63
@@ -6593,9 +7718,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 22 22:12:36 2018 -0500
[sanitizer] Add reset_object(), make set_object() do bounds-check
-
- Affects morx/kerx run-time only currently. Will adjust their
- sanitize next.
+
+ Affects morx/kerx run-time only currently. Will adjust their sanitize next.
src/hb-aat-layout-kerx-table.hh | 1 +
src/hb-aat-layout-morx-table.hh | 1 +
@@ -6607,13 +7731,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 22 22:02:19 2018 -0500
[kerx] Make sure subtables are non-zero-length
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11400
src/hb-aat-layout-kerx-table.hh | 1 +
src/hb-aat-layout-morx-table.hh | 2 +-
- ...z-testcase-minimized-hb-shape-fuzzer-5722888989048832 | Bin 0 ->
- 3608 bytes
+ ...z-testcase-minimized-hb-shape-fuzzer-5722888989048832 | Bin 0 -> 3608 bytes
3 files changed, 2 insertions(+), 1 deletion(-)
commit a9e0bdc35dfcbead7d4b6fa249d60ebedd7d43ca
@@ -6621,9 +7744,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 22 21:30:04 2018 -0500
[GSUB] Don't flush glyphset during recursion in closure()
-
+
See comment.
-
+
Supercedes https://github.com/harfbuzz/harfbuzz/pull/1401
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11366
@@ -6636,8 +7759,7 @@ Date: Mon Nov 19 13:00:24 2018 -0800
[subset] add fuzzer testcase.
- ...z-testcase-minimized-hb-subset-fuzzer-5067936541179904 | Bin 0 ->
- 172 bytes
+ ...z-testcase-minimized-hb-subset-fuzzer-5067936541179904 | Bin 0 -> 172 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit d0e81b2cc85d09d01905c5fc5b3382c25eaa3bb3
@@ -6654,7 +7776,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 22 18:07:59 2018 -0500
Enforce requiring null_size even if min_size is 0
-
+
This concludes null-size enforcement changes
src/hb-null.hh | 2 +-
@@ -6674,7 +7796,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 22 17:56:51 2018 -0500
[glyf] Don't mark structs UNBOUNDED
-
+
See comments.
src/hb-ot-glyf-table.hh | 8 ++++++--
@@ -6685,7 +7807,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 22 17:53:29 2018 -0500
Mark UnsizedArrayOf<> as UNBOUNDED
-
+
Since min_size is 0, Null() still accepts this type.
src/hb-open-type.hh | 3 ++-
@@ -6714,9 +7836,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 22 16:20:29 2018 -0500
[aat] Zero mark advances if decided so even if there's cross-kerning
-
- Cross-kerning can only take care of positioning vertically.
- It doesn't
+
+ Cross-kerning can only take care of positioning vertically. It doesn't
adjust mark advance...
src/hb-ot-shape.cc | 2 +-
@@ -6727,16 +7848,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 22 15:52:29 2018 -0500
[aat] Tweak fallback positioning logic when applying morx
-
- Such that for Indic-like scripts (eg. Khmer), we don't do any
- fallback mark
- advance-zeroing / positioning, but we do for Latin, etc. Reuses
- preferences
+
+ Such that for Indic-like scripts (eg. Khmer), we don't do any fallback mark
+ advance-zeroing / positioning, but we do for Latin, etc. Reuses preferences
of our script-specific OpenType shapers for those.
-
+
Fixes regression: https://github.com/harfbuzz/harfbuzz/issues/1393
- Which means, fixes again:
- https://github.com/harfbuzz/harfbuzz/issues/1264
+ Which means, fixes again: https://github.com/harfbuzz/harfbuzz/issues/1264
While not regressing: https://github.com/harfbuzz/harfbuzz/issues/1357
src/hb-ot-shape.cc | 38 +++++++++++++++++++++++---------------
@@ -6757,7 +7875,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 22 14:45:46 2018 -0500
[myanmar] If there's no GSUB table, pick myanmar shaper
-
+
Needed for morx+kern mark-zeroing interaction. All other scripts
work this way.
@@ -6769,7 +7887,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 22 14:41:01 2018 -0500
[myanmar] Remove myanmar_old shaper
-
+
Over time it has become the same as default shaper. So, remove.
src/hb-ot-shape-complex-myanmar.cc | 21 ---------------------
@@ -6781,9 +7899,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 22 01:53:36 2018 -0500
Fix spurious gcc warnings
-
- ../../src/hb-null.hh:53:39: warning: enum constant in boolean context
- [-Wint-in-bool-context]
+
+ ../../src/hb-null.hh:53:39: warning: enum constant in boolean context [-Wint-in-bool-context]
src/hb-null.hh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -6793,14 +7910,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 22 01:49:12 2018 -0500
More
-
+
This makes more of the gcc spurious warning:
-
- ../../src/hb-null.hh:53:39: warning: enum constant in boolean context
- [-Wint-in-bool-context]
-
- But not going to let that defeat correct code. Type to switch
- to clang
+
+ ../../src/hb-null.hh:53:39: warning: enum constant in boolean context [-Wint-in-bool-context]
+
+ But not going to let that defeat correct code. Type to switch to clang
as my main compiler...
src/hb-blob.hh | 2 +-
@@ -6811,7 +7926,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 22 01:44:27 2018 -0500
Fix up recent change
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1300
src/hb-null.hh | 12 +++++++++---
@@ -6842,9 +7957,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 22 01:18:55 2018 -0500
Disallow taking Null() of unbounded structs
-
+
Not sure I've marked all such structs. To be done as we discover.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1300
src/hb-aat-layout-common.hh | 2 +-
@@ -6857,8 +7972,7 @@ commit f2b91d6510face95008151bb0d25837723536f9f
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 22 01:10:22 2018 -0500
- Use Type::null_size for our structs in Null(), sizeof() for other
- types
+ Use Type::null_size for our structs in Null(), sizeof() for other types
src/hb-null.hh | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
@@ -6877,7 +7991,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 22 00:39:14 2018 -0500
Fix bots happy again, hopefully
-
+
So, our fallback static_assert cannot be had more than once per line
of source.
@@ -6889,9 +8003,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 22 00:21:49 2018 -0500
Revert alignof() == 1 check
-
+
Bots not happy with using "this" inside assertion...
-
+
This reverts 2656644887e77a9d814bb12374af3c26b42fd935
src/hb-machinery.hh | 12 ++++--------
@@ -6969,7 +8083,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 21 17:27:27 2018 -0500
Merge pull request #1400 from harfbuzz/sharada-sandhi-mark
-
+
Test U+111C9 SHARADA SANDHI MARK
commit 264439c6c308ac5f01c4ba4faf64daa2d642236a
@@ -6978,8 +8092,7 @@ Date: Wed Nov 21 16:33:45 2018 -0500
Test U+111C9 SHARADA SANDHI MARK
- .../fonts/86cdd983c4e4c4d7f27dd405d6ceb7d4b9ed3d35.ttf | Bin 0 ->
- 968 bytes
+ .../fonts/86cdd983c4e4c4d7f27dd405d6ceb7d4b9ed3d35.ttf | Bin 0 -> 968 bytes
test/shaping/data/in-house/tests/use-syllable.tests | 1 +
2 files changed, 1 insertion(+)
@@ -6989,7 +8102,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 21 16:12:32 2018 -0500
Merge pull request #1399 from harfbuzz/sharada-sandhi-mark
-
+
Fix USE categories for U+111C9 SHARADA SANDHI MARK
commit b89c7fd3dc505a958dd4b6acec0e0f8e57224fd8
@@ -6997,9 +8110,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 21 12:32:48 2018 -0500
Allow defining HB_USE_ATEXIT to 0
-
- That's better use of that value than requiring extra macro
- HB_NO_ATEXIT
+
+ That's better use of that value than requiring extra macro HB_NO_ATEXIT
src/hb-common.cc | 10 +++++-----
src/hb-ft.cc | 12 ++++++------
@@ -7028,14 +8140,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 20 20:40:55 2018 -0500
[var] Deprecated axis enumeration API and add new version
-
+
New version has axis flags.
-
+
New API:
+hb_ot_var_axis_info_t
+hb_ot_var_find_axis_info()
+hb_ot_var_get_axis_infos()
-
+
Deprecated API:
-HB_OT_VAR_NO_AXIS_INDEX
-hb_ot_var_axis_t
@@ -7044,8 +8156,7 @@ Date: Tue Nov 20 20:40:55 2018 -0500
docs/harfbuzz-sections.txt | 14 +++---
src/hb-deprecated.h | 37 +++++++++++++++
- src/hb-ot-var-fvar-table.hh | 112
- ++++++++++++++++++++++++++++++++------------
+ src/hb-ot-var-fvar-table.hh | 112 ++++++++++++++++++++++++++++++++------------
src/hb-ot-var.cc | 43 ++++++++++++++---
src/hb-ot-var.h | 61 ++++++++++++------------
test/api/test-ot-face.c | 2 +-
@@ -7093,7 +8204,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 20 16:29:30 2018 -0500
Merge pull request #1397 from harfbuzz/small-emoji-table
-
+
Shrink the emoji table by merging adjacent ranges
commit 82951182799772a642d32195dd87e6f0c116f545
@@ -7103,8 +8214,7 @@ Date: Tue Nov 20 15:41:45 2018 -0500
Shrink the emoji table by merging adjacent ranges
src/gen-emoji-table.py | 13 +--
- src/hb-unicode-emoji-table.hh | 189
- ++++--------------------------------------
+ src/hb-unicode-emoji-table.hh | 189 ++++--------------------------------------
2 files changed, 23 insertions(+), 179 deletions(-)
commit be1828daaa1e1a72d971aed8d34fff54688d0f41
@@ -7112,7 +8222,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 20 11:16:23 2018 -0500
[var] Fix type of coords returned
-
+
Ouch. Wonder how none of the bots caught the float->int truncation.
src/hb-ot-var-fvar-table.hh | 2 +-
@@ -7174,11 +8284,10 @@ Author: David Corbett <corbett.dav@husky.neu.edu>
Date: Sat Oct 20 15:02:26 2018 -0400
[use] Fix reordering
-
+
Fixes #1235.
- src/hb-ot-shape-complex-use.cc | 48
- ++++++++++++++-------
+ src/hb-ot-shape-complex-use.cc | 48 ++++++++++++++-------
src/hb.hh | 2 +
.../4afb0e8b9a86bb9bd73a1247de4e33fbe3c1fd93.ttf | Bin 0 -> 1824 bytes
test/shaping/data/in-house/tests/use.tests | 3 ++
@@ -7189,12 +8298,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 19 14:27:19 2018 -0500
[fvar] Add named-instance API
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1241
docs/harfbuzz-sections.txt | 4 ++++
- src/hb-ot-var-fvar-table.hh | 55
- ++++++++++++++++++++++++++++++++++++++++++---
+ src/hb-ot-var-fvar-table.hh | 55 ++++++++++++++++++++++++++++++++++++++++++---
src/hb-ot-var.cc | 33 +++++++++++++++++++++++++++
src/hb-ot-var.h | 32 ++++++++++++++++++++++++++
4 files changed, 121 insertions(+), 3 deletions(-)
@@ -7241,9 +8349,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 19 12:36:56 2018 -0500
[ot-var] Add hb_ot_var_axis_get_flags()
-
+
Part of https://github.com/harfbuzz/harfbuzz/issues/1241
-
+
New API:
+hb_ot_var_axis_flags_t
+hb_ot_var_axis_get_flags
@@ -7260,9 +8368,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 19 11:34:56 2018 -0500
[ot-var] Add flags
-
- Unfortunate that we don't have room in hb_ot_var_axis_t to expose
- flags :(.
+
+ Unfortunate that we don't have room in hb_ot_var_axis_t to expose flags :(.
src/hb-ot-var-fvar-table.hh | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
@@ -7317,13 +8424,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 16 16:48:28 2018 -0800
Revert b4c61130324455bfd42095b01fa14ac901e441f1
-
- Was causing more trouble than it solved. We use unsigned for
- indexing,
+
+ Was causing more trouble than it solved. We use unsigned for indexing,
and it's not helpful to allow that wrapping to negative integers on
32bit machines. The only way we could work around it would have been
by accepting int64_t arg, but that's overkill.
-
+
Ignore the MSVC 2008 build issue. We don't support that compiler.
src/hb-open-type.hh | 17 ++++-------------
@@ -7334,16 +8440,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 16 16:41:59 2018 -0800
Detect over/under-flow in UnsizedArray::operator[]
-
- Was causing bad substitutions in mort table because of
- WordOffsetToIndex()
- producing negative numbers that were cast to unsigned int and
- returned as
- large numbers (which was desirable, so they would be rejected),
- but then
+
+ Was causing bad substitutions in mort table because of WordOffsetToIndex()
+ producing negative numbers that were cast to unsigned int and returned as
+ large numbers (which was desirable, so they would be rejected), but then
they were cast to int when passed to this operator and acting as small
negative integers, which was bad...
-
+
Detect overflow. Ouch, however, now I see this still fails on 32-bit.
Guess I'm going to revert an earlier change.
@@ -7355,7 +8458,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 16 16:11:02 2018 -0800
[aat] Fix mort shaping
-
+
Ouch!
src/hb-aat-layout.cc | 2 +-
@@ -7377,11 +8480,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 16 15:04:41 2018 -0800
Fix vertical fallback space sign
-
+
Ouch!
-
+
Follow-up to cf203af8a33591c163b63dbdf0fd341bc4606190
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1343
src/hb-ot-shape-fallback.cc | 8 ++++----
@@ -7393,10 +8496,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 16 14:46:40 2018 -0800
Don't apply GPOS if applying morx
-
- That's what Apple does, and it wouldn't degrade our OpenType
- performance.
-
+
+ That's what Apple does, and it wouldn't degrade our OpenType performance.
+
Part of https://github.com/harfbuzz/harfbuzz/issues/1348
src/hb-ot-shape.cc | 2 +-
@@ -7407,7 +8509,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 16 14:45:56 2018 -0800
Prefer morx table if GSUB is empty (no scripts)
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1348
src/hb-ot-shape.cc | 6 +++++-
@@ -7534,8 +8636,7 @@ commit ce5da0f36a2ece29c387810a060531df15ad6c7b
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 16 02:29:13 2018 -0500
- [shaper] Rewrite shaper data code to be more template-driven than
- macro-driven
+ [shaper] Rewrite shaper data code to be more template-driven than macro-driven
src/hb-coretext.cc | 17 +++----
src/hb-directwrite.cc | 9 +---
@@ -7549,8 +8650,7 @@ Date: Fri Nov 16 02:29:13 2018 -0500
src/hb-ot-shape.cc | 5 --
src/hb-shape-plan.cc | 4 +-
src/hb-shaper-impl.hh | 9 +---
- src/hb-shaper.hh | 117
- ++++++++++++++++++++++++++++++++---------------
+ src/hb-shaper.hh | 117 ++++++++++++++++++++++++++++++++---------------
src/hb-uniscribe.cc | 32 +++++--------
14 files changed, 127 insertions(+), 147 deletions(-)
@@ -7559,7 +8659,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 16 02:02:24 2018 -0500
[hdmx] Fix bounds checking
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11351
src/hb-ot-hdmx-table.hh | 11 +++++------
@@ -7579,7 +8679,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 16 01:48:26 2018 -0500
[subset] Remove invalid glyphs from glypset to retain
-
+
Fixes https://github.com/harfbuzz/harfbuzz/pull/1388
src/hb-subset-plan.cc | 13 +++++++++++++
@@ -7590,31 +8690,20 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Thu Nov 15 15:41:46 2018 -0800
use 2-byte offset instead of 4-byte for local subrs
-
- more than enough since local subrs immediately follow its
- corresponding private dict, as the result 2-byte redunction for each
- font dict with local subrs
+
+ more than enough since local subrs immediately follow its corresponding private dict, as the result 2-byte redunction for each font dict with local subrs
updated api test expected subset fonts accordingly
src/hb-subset-cff-common.hh | 4 ++--
- test/api/fonts/AdobeVFPrototype.abc.otf | Bin 7460 ->
- 7456 bytes
- test/api/fonts/AdobeVFPrototype.ac.nohints.otf | Bin 6780 ->
- 6780 bytes
- test/api/fonts/AdobeVFPrototype.ac.otf | Bin 6996 ->
- 6996 bytes
- .../fonts/SourceHanSans-Regular.41,4C2E.nohints.otf | Bin 2380 ->
- 2376 bytes
- test/api/fonts/SourceHanSans-Regular.41,4C2E.otf | Bin 2576 ->
- 2572 bytes
- test/api/fonts/SourceSansPro-Regular.abc.otf | Bin 1812 ->
- 1808 bytes
- test/api/fonts/SourceSansPro-Regular.ac.nohints.otf | Bin 1592 ->
- 1592 bytes
- test/api/fonts/SourceSansPro-Regular.ac.otf | Bin 1708 ->
- 1704 bytes
- test/api/fonts/cff1_seac.C0.otf | Bin 1604 ->
- 1600 bytes
+ test/api/fonts/AdobeVFPrototype.abc.otf | Bin 7460 -> 7456 bytes
+ test/api/fonts/AdobeVFPrototype.ac.nohints.otf | Bin 6780 -> 6780 bytes
+ test/api/fonts/AdobeVFPrototype.ac.otf | Bin 6996 -> 6996 bytes
+ .../fonts/SourceHanSans-Regular.41,4C2E.nohints.otf | Bin 2380 -> 2376 bytes
+ test/api/fonts/SourceHanSans-Regular.41,4C2E.otf | Bin 2576 -> 2572 bytes
+ test/api/fonts/SourceSansPro-Regular.abc.otf | Bin 1812 -> 1808 bytes
+ test/api/fonts/SourceSansPro-Regular.ac.nohints.otf | Bin 1592 -> 1592 bytes
+ test/api/fonts/SourceSansPro-Regular.ac.otf | Bin 1708 -> 1704 bytes
+ test/api/fonts/cff1_seac.C0.otf | Bin 1604 -> 1600 bytes
10 files changed, 2 insertions(+), 2 deletions(-)
commit 9d0231cfe7c404da3b5bc360ad76180a7aded62c
@@ -7637,8 +8726,7 @@ Date: Thu Nov 15 23:10:56 2018 +0330
src/hb-open-type.hh | 70 ++++++------
src/hb-ot-cmap-table.hh | 182 +++++++++++++++----------------
- src/hb-ot-glyf-table.hh | 242
- ++++++++++++++++++++---------------------
+ src/hb-ot-glyf-table.hh | 242 ++++++++++++++++++++---------------------
src/hb-ot-hdmx-table.hh | 20 ++--
src/hb-ot-hmtx-table.hh | 14 +--
src/hb-ot-layout-common.hh | 77 ++++++-------
@@ -7726,8 +8814,7 @@ Date: Wed Nov 14 14:49:34 2018 -0500
src/hb-aat-layout.hh | 6 +++---
src/hb-ot-layout.cc | 2 +-
src/hb-ot-layout.hh | 2 +-
- src/hb-ot-shape.cc | 44
- +++++++++++++++++++++++++++++---------------
+ src/hb-ot-shape.cc | 44 +++++++++++++++++++++++++++++---------------
src/hb-ot-shape.hh | 6 +++---
7 files changed, 43 insertions(+), 29 deletions(-)
@@ -7744,8 +8831,7 @@ Date: Wed Nov 14 13:38:03 2018 -0800
Implemented seac for extents & subset along with API tests
- gtk-doc.make | 321
- +++++++++++++++++++++++++++++++++++++++-
+ gtk-doc.make | 321 +++++++++++++++++++++++++++++++++++++++-
src/hb-cff-interp-common.hh | 2 +-
src/hb-cff-interp-cs-common.hh | 7 +
src/hb-cff1-interp-cs.hh | 29 +++-
@@ -7768,8 +8854,7 @@ Date: Wed Nov 14 22:13:50 2018 +0330
src/hb-ot-face.hh | 2 +
src/hb-ot-font.cc | 4 +-
src/hb-ot-hmtx-table.hh | 11 +-
- src/hb-ot-stat-table.hh | 280
- ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-stat-table.hh | 280 ++++++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 290 insertions(+), 8 deletions(-)
commit 48d16c2ab2b181c733accd4fd9730963e59b6323
@@ -7777,9 +8862,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 14 09:56:30 2018 -0500
[hmtx] Fix signedness issue
-
- Fixes
- https://github.com/harfbuzz/harfbuzz/issues/1248#issuecomment-438689499
+
+ Fixes https://github.com/harfbuzz/harfbuzz/issues/1248#issuecomment-438689499
src/hb-ot-hmtx-table.hh | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
@@ -7799,7 +8883,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed Nov 14 08:29:17 2018 +0330
Merge pull request #1383 from punchcutter/master
-
+
Add test for https://github.com/harfbuzz/harfbuzz/issues/1379
commit e543e1a0858bb5d7384d82600a789d40b62d9821
@@ -7808,8 +8892,7 @@ Date: Tue Nov 13 20:44:27 2018 -0800
Add Grantha test
- .../fonts/dcf774ca21062e7439f98658b18974ea8b956d0c.ttf | Bin 0 ->
- 2568 bytes
+ .../fonts/dcf774ca21062e7439f98658b18974ea8b956d0c.ttf | Bin 0 -> 2568 bytes
test/shaping/data/in-house/tests/use.tests | 1 +
2 files changed, 1 insertion(+)
@@ -7817,9 +8900,8 @@ commit 3c3eb5ea9ccf34d33e94f83b9961b3a5e903d196
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 13 21:10:10 2018 -0500
- [aat] Disable fallback mark advance zeroing and positioning if
- morx applied
-
+ [aat] Disable fallback mark advance zeroing and positioning if morx applied
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1357
src/hb-ot-shape.cc | 4 ++--
@@ -7830,9 +8912,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 13 20:48:46 2018 -0500
Don't retry creating again and again in lazy_loader if create failed
-
- Still does that if get_null() returns nullptr. Our shaper data
- objects
+
+ Still does that if get_null() returns nullptr. Our shaper data objects
are like that. Shrug.
src/hb-machinery.hh | 14 ++++++++++----
@@ -7844,7 +8925,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 13 19:50:25 2018 -0500
Merge pull request #1382 from punchcutter/master
-
+
Change USE Category for Grantha Virama
commit 2092f595c7a4c591cace41cb99d31620fa6d5fa4
@@ -7853,7 +8934,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 13 19:49:06 2018 -0500
Merge pull request #1380 from kbrow1i/cygwin
-
+
Don't use Win32 API on Cygwin
commit c565fc3fb3b14c02e30af28b9d4d4289b0d2e162
@@ -7894,7 +8975,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 13 11:45:12 2018 -0500
Make atomic types' internal values non-mutable
-
+
This resulted from confusion previously...
src/hb-atomic.hh | 10 +++++-----
@@ -7917,7 +8998,7 @@ Author: Ken Brown <kbrown@cornell.edu>
Date: Mon Nov 12 21:05:39 2018 -0500
Don't use Win32 API on Cygwin
-
+
Cygwin is a Posix platform to the extent possible. It should use the
Posix API except in special circumstances.
@@ -7942,12 +9023,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 12 19:26:01 2018 -0500
[shape-plan] Implement fine-grained caching plans with user-features
-
+
Only tag, value, and global-ness of features are considered, not their
start/end offsets.
- src/hb-shape-plan.cc | 69
- ++++++++++++++++++++++++++++++----------------------
+ src/hb-shape-plan.cc | 69 ++++++++++++++++++++++++++++++----------------------
src/hb-shape-plan.hh | 17 ++-----------
2 files changed, 42 insertions(+), 44 deletions(-)
@@ -7955,8 +9035,7 @@ commit cc8428756a1b18b0445c2c5fbb38e05453693dad
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 12 18:48:10 2018 -0500
- [shape-plan] Cache shape plans with variations based on variation
- indices
+ [shape-plan] Cache shape plans with variations based on variation indices
src/hb-aat-map.cc | 4 +---
src/hb-aat-map.hh | 4 +---
@@ -7964,8 +9043,7 @@ Date: Mon Nov 12 18:48:10 2018 -0500
src/hb-ot-map.hh | 6 +++---
src/hb-ot-shape.cc | 13 +++++--------
src/hb-ot-shape.hh | 28 +++++++++++++++++++++++---
- src/hb-shape-plan.cc | 55
- ++++------------------------------------------------
+ src/hb-shape-plan.cc | 55 ++++------------------------------------------------
src/hb-shape-plan.hh | 23 ++++++++++++++++++----
8 files changed, 63 insertions(+), 88 deletions(-)
@@ -7983,7 +9061,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 12 18:05:02 2018 -0500
[shape-plan] Only use shape-plan key to initialize hb_ot_shape_plan_t
-
+
Such that we don't accidentally use info not in the cache key.
src/hb-ot-shape.cc | 25 +++++++++++--------------
@@ -8006,8 +9084,7 @@ Date: Mon Nov 12 17:49:15 2018 -0500
[shape-plan] Refactor some more
- src/hb-shape-plan.cc | 147
- ++++++++++++++++++++++++++++-----------------------
+ src/hb-shape-plan.cc | 147 ++++++++++++++++++++++++++++-----------------------
src/hb-shape-plan.hh | 15 ++++++
2 files changed, 95 insertions(+), 67 deletions(-)
@@ -8025,11 +9102,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 12 17:19:45 2018 -0500
[shape-plan] Turn hb_shape_plan_proposal_t into hb_shape_plan_key_t
-
+
And include it in hb_shape_plan_t itself.
- src/hb-shape-plan.cc | 206
- +++++++++++++++++++--------------------------------
+ src/hb-shape-plan.cc | 206 +++++++++++++++++++--------------------------------
src/hb-shape-plan.hh | 27 +++----
2 files changed, 92 insertions(+), 141 deletions(-)
@@ -8071,8 +9147,7 @@ Date: Mon Nov 12 14:25:18 2018 -0500
[fuzzing] Add new test
- ...zz-testcase-minimized-hb-shape-fuzzer-5754863779053568 | Bin 0 ->
- 100 bytes
+ ...zz-testcase-minimized-hb-shape-fuzzer-5754863779053568 | Bin 0 -> 100 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit 274f4c726f461f49f54a79557d63bf95d22903cf
@@ -8105,7 +9180,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 12 14:11:29 2018 -0500
[kerx] Fix integer overflow in multiply
-
+
Fixes https://oss-fuzz.com/v2/testcase-detail/5754863779053568
src/hb-aat-layout-kerx-table.hh | 2 +-
@@ -8126,9 +9201,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 12 13:21:14 2018 -0500
[fuzzing] Remove limited-edition build of libraries
-
+
Use normal, production, shared libraries.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1237
src/Makefile.am | 31 -------------------------------
@@ -8140,12 +9215,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 12 13:01:22 2018 -0500
[kerx] Protect against stack underflow
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11367
src/hb-aat-layout-kerx-table.hh | 2 +-
- ...uzz-testcase-minimized-hb-shape-fuzzer-5691469793329152 | Bin 0 ->
- 69 bytes
+ ...uzz-testcase-minimized-hb-shape-fuzzer-5691469793329152 | Bin 0 -> 69 bytes
2 files changed, 1 insertion(+), 1 deletion(-)
commit 41a8bc7fd9399def8f580b02627a77f3972cc0e9
@@ -8208,10 +9282,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Nov 11 22:08:48 2018 -0500
Add variation coords to shape_plan proposal
-
- This is the root cause of bug worked around in
- 19e77e01bc13f44138e1d50533327d314dd0a018.
-
+
+ This is the root cause of bug worked around in 19e77e01bc13f44138e1d50533327d314dd0a018.
+
Still no shape plan caching for variations though.
src/hb-shape-plan.cc | 2 ++
@@ -8231,7 +9304,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Nov 11 21:32:01 2018 -0500
Embed hb_ot_shape_plan_t into hb_shape_plan_t
-
+
No other shaper will need shape_plan_data, by definition. So, remove
abstraction layer and always create hb_ot_shape_plan_t as part of
hb_shape_plan_t.
@@ -8240,8 +9313,7 @@ Date: Sun Nov 11 21:32:01 2018 -0500
src/hb-directwrite.cc | 21 ----------
src/hb-fallback-shape.cc | 22 -----------
src/hb-graphite2.cc | 22 -----------
- src/hb-ot-shape.cc | 99
- ++++++++++++++++++++++--------------------------
+ src/hb-ot-shape.cc | 99 ++++++++++++++++++++++--------------------------
src/hb-ot-shape.hh | 21 +++++-----
src/hb-shape-plan.cc | 22 ++++++-----
src/hb-shape-plan.hh | 3 +-
@@ -8296,11 +9368,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Nov 11 16:09:38 2018 -0500
Revert "Declare Null() constexpr"
-
+
This reverts commit 442a72d95ab1fb3a47b486d8d1eb68e909d0ffb8.
-
- Doesn't make sense. No idea how my local compilers where happy
- with it!
+
+ Doesn't make sense. No idea how my local compilers where happy with it!
src/hb-null.hh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -8328,7 +9399,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Nov 11 15:48:47 2018 -0500
Don't store to null object
-
+
Ouch :).
src/hb-machinery.hh | 9 ++++-----
@@ -8349,8 +9420,7 @@ Date: Sun Nov 11 12:54:16 2018 -0500
[hdmx] Renames
- src/hb-ot-hdmx-table.hh | 46
- +++++++++++++++++++++++-----------------------
+ src/hb-ot-hdmx-table.hh | 46 +++++++++++++++++++++++-----------------------
1 file changed, 23 insertions(+), 23 deletions(-)
commit da6aa3b0333de3f2169a5cfcb33374e1b2fe346e
@@ -8387,7 +9457,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Nov 11 00:28:47 2018 -0500
[cmap] Port to hb_blob_ptr_t
-
+
Although didn't need it...
src/hb-ot-cmap-table.hh | 7 +++----
@@ -8398,7 +9468,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Nov 11 00:26:55 2018 -0500
[color] Port to hb_blob_ptr_t
-
+
Fix hb_blob_ptr_t::get_length () as well.
src/hb-blob.hh | 2 +-
@@ -8432,7 +9502,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Nov 11 00:15:08 2018 -0500
[shape-plan] Make null object all zeros
-
+
To remove custom null object next..
src/hb-shape-plan.cc | 8 ++++----
@@ -8454,10 +9524,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Nov 11 00:11:28 2018 -0500
[blob] Change null object memory mode to DUPLICATE
-
+
We never rely on that being equal to readonly. Just not being
writable. Maybe not even that given that the object is inert.
-
+
In prep for next commit, using default null pool.
src/hb-blob.cc | 2 +-
@@ -8468,9 +9538,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 10 23:52:15 2018 -0500
Add hb_blob_ptr_t
-
- Use in a couple of places. Push to bots to see how many unhappy
- before
+
+ Use in a couple of places. Push to bots to see how many unhappy before
I convert the rest.
src/hb-blob.hh | 23 +++++++++++++++++++++++
@@ -8494,13 +9563,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 10 21:13:13 2018 -0500
[kerx] Fix Format1 tupleKern sanitization
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11312
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11305
src/hb-aat-layout-kerx-table.hh | 6 +++---
- ...uzz-testcase-minimized-hb-shape-fuzzer-5629524117553152 | Bin 0 ->
- 93 bytes
+ ...uzz-testcase-minimized-hb-shape-fuzzer-5629524117553152 | Bin 0 -> 93 bytes
2 files changed, 3 insertions(+), 3 deletions(-)
commit f9e0552debc45afedd86c848484bcd169af62dc2
@@ -8536,9 +9604,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 10 19:54:08 2018 -0500
Better fix for MSVC 2008
-
+
Follow up on b4c61130324455bfd42095b01fa14ac901e441f1
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1374
src/hb-machinery.hh | 8 ++++----
@@ -8560,7 +9628,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 10 16:35:39 2018 -0500
Try fixing MSVC 2008 build
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1374
src/hb-open-type.hh | 12 ++++++++++--
@@ -8589,9 +9657,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 10 15:54:33 2018 -0500
Revert back hb_bytes_t.cmp() to the scheme it was
-
+
But fix UBSan complaint.
-
+
There's nothing in hb_bytes_t that guarantees lexical ordering, and
ordering by length first is much faster.
@@ -8612,7 +9680,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 10 15:38:48 2018 -0500
Fix hb_bytes_t.cmp()
-
+
Ouch!
src/hb-dsalgs.hh | 8 +++++---
@@ -8624,7 +9692,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 10 15:35:12 2018 -0500
Merge pull request #1376 from ebraminio/minor
-
+
[colr/feat/trak] minor
commit 1d82b4761d0a2e2e0be002e8a6bfe060f7b6dec3
@@ -8643,15 +9711,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 10 01:56:37 2018 -0500
[qsort] Fix O(N^2) behavior if all array elements are the same
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11327
-
+
Reported as https://github.com/noporpoise/sort_r/issues/7
- src/hb-dsalgs.hh | 15
- +++++++++++----
- ...-testcase-minimized-hb-shape-fuzzer-5634443633491968 | Bin 0 ->
- 41814 bytes
+ src/hb-dsalgs.hh | 15 +++++++++++----
+ ...-testcase-minimized-hb-shape-fuzzer-5634443633491968 | Bin 0 -> 41814 bytes
2 files changed, 11 insertions(+), 4 deletions(-)
commit b308aaccf0773e252880b9b887f3d3d1dec00168
@@ -8695,7 +9761,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Fri Nov 9 08:59:18 2018 -0800
fixed vstem handling (lack thereof) in check_width
-
+
bug exposed by U+2261 equivalence in SourceCodePro-Regular.otf
src/hb-cff1-interp-cs.hh | 5 ++++-
@@ -8706,7 +9772,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 9 10:01:50 2018 -0500
Fix a few MSVC 2008 warnings
-
+
https://github.com/harfbuzz/harfbuzz/issues/1374
src/hb-set.hh | 4 ++--
@@ -8719,7 +9785,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 8 14:42:40 2018 -0500
Merge pull request #1358 from ebraminio/lcar
-
+
Hook AAT's lcar to _get_ligature_carets
commit b986fead0aee52d219ce85dd49c9109bfaf31801
@@ -8729,8 +9795,7 @@ Date: Mon Nov 5 12:31:58 2018 +0330
Hook AAT's lcar to _get_ligature_carets
src/Makefile.sources | 1 +
- src/hb-aat-layout-lcar-table.hh | 92
- +++++++++++++++++++++++++++++++++++++
+ src/hb-aat-layout-lcar-table.hh | 92 +++++++++++++++++++++++++++++++++++++
src/hb-ot-face.hh | 1 +
src/hb-ot-layout-gdef-table.hh | 6 +--
src/hb-ot-layout.cc | 17 ++++---
@@ -8756,8 +9821,7 @@ Date: Thu Nov 8 12:17:09 2018 -0500
test/shaping/data/text-rendering-tests/DISABLED | 1 +
test/shaping/data/text-rendering-tests/Makefile.sources | 2 +-
- .../data/text-rendering-tests/tests/MORX-31.tests | 16
- ++++++++--------
+ .../data/text-rendering-tests/tests/MORX-31.tests | 16 ++++++++--------
3 files changed, 10 insertions(+), 9 deletions(-)
commit b989507fa6b36eb9950001d4e28f3946ffbe75f9
@@ -8791,12 +9855,11 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Thu Nov 8 19:17:02 2018 +0330
[just] Initial table implementation (#1364)
-
+
A starting point, its sanitization is not tested however
src/Makefile.sources | 1 +
- src/hb-aat-layout-just-table.hh | 416
- ++++++++++++++++++++++++++++++++++++++++
+ src/hb-aat-layout-just-table.hh | 416 ++++++++++++++++++++++++++++++++++++++++
src/hb-aat-layout.cc | 1 +
3 files changed, 418 insertions(+)
@@ -8806,8 +9869,7 @@ Date: Thu Nov 8 18:53:14 2018 +0330
[aat] Support Lookup<OffsetTo<>>, needed by just and lcar (#1368)
- src/hb-aat-layout-common.hh | 57
- +++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-aat-layout-common.hh | 57 +++++++++++++++++++++++++++++++++++++++++++++
src/hb-open-type.hh | 11 +++++++++
2 files changed, 68 insertions(+)
@@ -8825,7 +9887,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 7 21:58:04 2018 -0500
[aat] Ignore cross-stream offset of deleted-glyphs
-
+
I think it makes sense to accumulate it, but Ned tells me that's
what CoreText does.
@@ -8837,10 +9899,9 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Wed Nov 7 17:58:45 2018 -0800
fixed ends_in_hint bug
-
+
subr ends in hint itself should be regarded as hint
- this flag should propagate to its caller if the call itself is at
- the end of the caller
+ this flag should propagate to its caller if the call itself is at the end of the caller
src/hb-subset-cff-common.hh | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
@@ -8860,7 +9921,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 7 18:40:48 2018 -0500
Merge pull request #1362 from harfbuzz/cross-kern
-
+
Vastly improve kern/kerx tables, including cross-stream "kerning"
commit b18a56a290bf5330e81019b33f15e6951dd86a8b
@@ -8891,11 +9952,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 7 18:04:53 2018 -0500
[kern] Implement negative state numbers
-
+
Let the fuzzing bots rip this code apart...
- src/hb-aat-layout-common.hh | 90
- ++++++++++++++++++++++++++++++-----------
+ src/hb-aat-layout-common.hh | 90 ++++++++++++++++++++++++++++++-----------
src/hb-aat-layout-kerx-table.hh | 10 -----
2 files changed, 66 insertions(+), 34 deletions(-)
@@ -8904,26 +9964,21 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Wed Nov 7 14:48:37 2018 -0800
implented no-desubroutinize with CFF2 along with API test
-
- replaced AdobeVFPrototype.abc.otf with a hinted (maually) &
- subroutinized copy
+
+ replaced AdobeVFPrototype.abc.otf with a hinted (maually) & subroutinized copy
replaced expected results as well
src/hb-cff-interp-dict-common.hh | 4 +-
src/hb-cff2-interp-cs.hh | 16 +-
src/hb-ot-cff-common.hh | 22 +--
src/hb-subset-cff-common.hh | 64 +++++---
- src/hb-subset-cff2.cc | 180
- ++++++++++++++++++---
+ src/hb-subset-cff2.cc | 180 ++++++++++++++++++---
test/api/fonts/AdobeVFPrototype.abc.nohints.otf | Bin 7800 -> 0 bytes
- test/api/fonts/AdobeVFPrototype.abc.otf | Bin 7800 ->
- 7460 bytes
- test/api/fonts/AdobeVFPrototype.ac.nohints.otf | Bin 7152 ->
- 6780 bytes
+ test/api/fonts/AdobeVFPrototype.abc.otf | Bin 7800 -> 7460 bytes
+ test/api/fonts/AdobeVFPrototype.ac.nohints.otf | Bin 7152 -> 6780 bytes
.../fonts/AdobeVFPrototype.ac.nosubrs.nohints.otf | Bin 0 -> 6844 bytes
test/api/fonts/AdobeVFPrototype.ac.nosubrs.otf | Bin 0 -> 7060 bytes
- test/api/fonts/AdobeVFPrototype.ac.otf | Bin 7336 ->
- 6996 bytes
+ test/api/fonts/AdobeVFPrototype.ac.otf | Bin 7336 -> 6996 bytes
test/api/test-subset-cff2.c | 51 +++++-
12 files changed, 271 insertions(+), 66 deletions(-)
@@ -8941,17 +9996,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 7 17:19:21 2018 -0500
[aat] Remove deleted-glyhs after applying kerx/kern
-
+
Finally: Fixes https://github.com/harfbuzz/harfbuzz/issues/1356
-
+
Test case:
$ ./hb-shape GeezaPro.ttc -u U+0628,U+064A,U+064E,U+0651,U+0629
[u0629.final.tehMarbuta=4+713|u064e_u0651.shaddaFatha=1@0,-200+0|u064a.medial.yeh=1+656|u0628.initial.beh=0+656]
-
- The mark positioning (kern table CrossStream kerning) only works
- if deleted
- glyph (as result of ligation) is still in stream and pushed through
- the
+
+ The mark positioning (kern table CrossStream kerning) only works if deleted
+ glyph (as result of ligation) is still in stream and pushed through the
state machine.
src/hb-aat-layout-morx-table.hh | 16 -------
@@ -8960,8 +10013,7 @@ Date: Wed Nov 7 17:19:21 2018 -0500
src/hb-ot-layout-gpos-table.hh | 6 +--
src/hb-ot-layout.cc | 60 +++++++++++++++++++++--
src/hb-ot-layout.hh | 23 +++++----
- src/hb-ot-shape.cc | 102
- ++++++++++++++--------------------------
+ src/hb-ot-shape.cc | 102 ++++++++++++++--------------------------
7 files changed, 142 insertions(+), 107 deletions(-)
commit 1909072235e59eb80f9169300279b65779b932a4
@@ -8977,11 +10029,9 @@ commit ca23567f41a2d6389f6fd2483a994cf5aa6aeaf8
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 7 16:19:51 2018 -0500
- Disable fallback mark positioning if kern table has cross-stream
- kerning
-
- Happens even if the cross-stream kerning is for cursive attachment
- only. Oh well..
+ Disable fallback mark positioning if kern table has cross-stream kerning
+
+ Happens even if the cross-stream kerning is for cursive attachment only. Oh well..
src/hb-ot-layout.cc | 6 ++++++
src/hb-ot-layout.hh | 3 +++
@@ -8994,7 +10044,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 7 16:07:22 2018 -0500
Don't apply both kerx and kern
-
+
Ouch!
src/hb-ot-shape.cc | 2 +-
@@ -9035,7 +10085,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 7 15:44:40 2018 -0500
[kerx] Fix peculiar indexing that was needed previously
-
+
Not needed now that we use GPOS attachment for cursive kerx.
src/hb-aat-layout-kerx-table.hh | 20 +++++++-------------
@@ -9046,11 +10096,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 7 15:40:55 2018 -0500
[GPOS] Only mark unsafe-to-break if kerning happened
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1365
- src/hb-ot-layout-gpos-table.hh | 56
- ++++++++++++++++++++++++------------------
+ src/hb-ot-layout-gpos-table.hh | 56 ++++++++++++++++++++++++------------------
1 file changed, 32 insertions(+), 24 deletions(-)
commit 501a364d9bb6c5828f9d660bae8b6e93b158b275
@@ -9067,12 +10116,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 7 14:52:36 2018 -0500
[kerx] Implement CrossStream kerning for non-state-machine subtables
-
+
Untested.
src/hb-aat-layout-kerx-table.hh | 12 ++++++------
- src/hb-kern.hh | 43
- +++++++++++++++++++++++++++++------------
+ src/hb-kern.hh | 43 +++++++++++++++++++++++++++++------------
src/hb-ot-kern-table.hh | 4 ++--
3 files changed, 39 insertions(+), 20 deletions(-)
@@ -9081,7 +10129,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 7 14:42:15 2018 -0500
[kerx] Disable backwards-kerning for non-state-machine tables
-
+
That's what the spec says for Backwards flag, only applicable to
formats 1 and 4.
@@ -9095,8 +10143,7 @@ Date: Wed Nov 7 14:38:29 2018 -0500
[kerx] Use GPOS attachment facilities for CrossStream kerning
- src/hb-aat-layout-kerx-table.hh | 51
- ++++++++++++++++++++++++++++-------------
+ src/hb-aat-layout-kerx-table.hh | 51 ++++++++++++++++++++++++++++-------------
1 file changed, 35 insertions(+), 16 deletions(-)
commit e10a856eb24ae45e301c3ffa778caa4c0a995bb9
@@ -9105,8 +10152,7 @@ Date: Wed Nov 7 14:11:48 2018 -0500
[kerx] Format
- src/hb-aat-layout-kerx-table.hh | 58
- ++++++++++++++++++++---------------------
+ src/hb-aat-layout-kerx-table.hh | 58 ++++++++++++++++++++---------------------
1 file changed, 28 insertions(+), 30 deletions(-)
commit 649cc3ef2773950b0b5884d9d1caf414aac888bf
@@ -9135,7 +10181,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 7 13:51:17 2018 -0500
[kerx] Implement tupleKerning for Format1
-
+
Untested.
src/hb-aat-layout-kerx-table.hh | 7 +++----
@@ -9157,8 +10203,7 @@ Date: Wed Nov 7 13:40:22 2018 -0500
[kern/kerx] Share KernTable, renamed to KerxTable
src/hb-aat-layout-kerx-table.hh | 77 ++++++++++++++++++++++--------
- src/hb-ot-kern-table.hh | 103
- ++--------------------------------------
+ src/hb-ot-kern-table.hh | 103 ++--------------------------------------
2 files changed, 61 insertions(+), 119 deletions(-)
commit c038f5be6b70b8edffc701dd3e4e3cd08d14e2f0
@@ -9177,8 +10222,7 @@ Date: Wed Nov 7 13:33:23 2018 -0500
[kern/kerx] More towards sharing KernTable
src/hb-aat-layout-kerx-table.hh | 48 ++++++++++++++++++---------------
- src/hb-ot-kern-table.hh | 59
- ++++++++++++++++++++++++++++-------------
+ src/hb-ot-kern-table.hh | 59 ++++++++++++++++++++++++++++-------------
2 files changed, 67 insertions(+), 40 deletions(-)
commit 89ec095979bde94bd203ed2c394f6e40629e9e78
@@ -9205,8 +10249,7 @@ Date: Wed Nov 7 12:57:10 2018 -0500
[kern] Move code
- src/hb-ot-kern-table.hh | 118
- +++++++++++++++++++++++++-----------------------
+ src/hb-ot-kern-table.hh | 118 +++++++++++++++++++++++++-----------------------
1 file changed, 62 insertions(+), 56 deletions(-)
commit 1ff300464a1075b8cd5311970afbbcf4bb3b6f3d
@@ -9262,12 +10305,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 7 12:19:52 2018 -0500
[kern/kerx] Share Format2
-
+
This, enables Format2 for kern table, which was disabled before.
src/hb-aat-layout-kerx-table.hh | 6 ++++
- src/hb-ot-kern-table.hh | 73
- +----------------------------------------
+ src/hb-ot-kern-table.hh | 73 +----------------------------------------
2 files changed, 7 insertions(+), 72 deletions(-)
commit 8faec4e33486616fdc0d690ad80d4a38a73c8182
@@ -9336,8 +10378,7 @@ Date: Wed Nov 7 11:28:36 2018 -0500
[kern/kerx] Share Format1 subtable
src/hb-aat-layout-kerx-table.hh | 9 +-
- src/hb-ot-kern-table.hh | 187
- +---------------------------------------
+ src/hb-ot-kern-table.hh | 187 +---------------------------------------
2 files changed, 4 insertions(+), 192 deletions(-)
commit a244190afa90ac253724a2ff23a3bdf0c507d0e6
@@ -9363,7 +10404,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 7 11:21:09 2018 -0500
[kern/kerx] Enable crossStream kerning in vertical
-
+
CoreText doesn't, but no reason we shouldn't do.
src/hb-aat-layout-kerx-table.hh | 8 ++++----
@@ -9395,8 +10436,7 @@ Date: Wed Nov 7 11:02:04 2018 -0500
[kerx] Towards sharing Format1
- src/hb-aat-layout-kerx-table.hh | 61
- +++++++++++++++++++++++++++++++----------
+ src/hb-aat-layout-kerx-table.hh | 61 +++++++++++++++++++++++++++++++----------
1 file changed, 47 insertions(+), 14 deletions(-)
commit e890753ebbf0d20c1c86796837918d530610df3b
@@ -9415,8 +10455,7 @@ Date: Wed Nov 7 10:45:25 2018 -0500
[kern/kerx] Share Format0
src/hb-aat-layout-kerx-table.hh | 22 +++++++++++++-----
- src/hb-ot-kern-table.hh | 50
- ++++++-----------------------------------
+ src/hb-ot-kern-table.hh | 50 ++++++-----------------------------------
2 files changed, 23 insertions(+), 49 deletions(-)
commit c97dde5d55929df394fbe57c1ba1a725592c6732
@@ -9425,8 +10464,7 @@ Date: Wed Nov 7 10:39:39 2018 -0500
[kern/kerx] Towards merge more
- src/hb-aat-layout-kerx-table.hh | 75
- ++++++++++++++++++++++++++++++-----------
+ src/hb-aat-layout-kerx-table.hh | 75 ++++++++++++++++++++++++++++++-----------
src/hb-kern.hh | 33 ------------------
src/hb-ot-kern-table.hh | 7 ++--
3 files changed, 58 insertions(+), 57 deletions(-)
@@ -9449,8 +10487,7 @@ Date: Wed Nov 7 10:25:25 2018 -0500
src/Makefile.sources | 1 +
src/hb-aat-layout-kerx-table.hh | 5 +-
- src/hb-kern.hh | 153
- ++++++++++++++++++++++++++++++++++++++++
+ src/hb-kern.hh | 153 ++++++++++++++++++++++++++++++++++++++++
src/hb-ot-kern-table.hh | 115 +-----------------------------
src/hb-ot-shape-fallback.cc | 2 +-
5 files changed, 157 insertions(+), 119 deletions(-)
@@ -9461,8 +10498,7 @@ Date: Wed Nov 7 10:19:46 2018 -0500
[kerx] Towards sharing subtables with kern
- src/hb-aat-layout-kerx-table.hh | 41
- +++++++++++++++++++++++------------------
+ src/hb-aat-layout-kerx-table.hh | 41 +++++++++++++++++++++++------------------
1 file changed, 23 insertions(+), 18 deletions(-)
commit befac337ca2c705e2cea60a9a92e40e0dbbc40aa
@@ -9470,7 +10506,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 7 09:53:02 2018 -0500
[kern] Remove Override business
-
+
Not used in any fonts. Not well-specified when mixing kerning with
Cross-Stream positioning.
@@ -9482,7 +10518,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 7 09:16:53 2018 -0500
[post] Return true on truncation
-
+
Client can check that buffer was completely filled out and reallocate.
src/hb-ot-post-table.hh | 7 +++----
@@ -9520,14 +10556,14 @@ Author: HinTak <htl10@users.sourceforge.net>
Date: Wed Nov 7 13:19:36 2018 +0000
Use non-GRID-fitted values for metrics (#1363)
-
+
* Use non-GRID-fitted values for metrics
-
+
See freetype/src/base/ftobjs.c:ft_recompute_scaled_metrics() and
the usage of GRID_FIT_METRICS inside.
-
+
Fixes https://github.com/behdad/harfbuzz/issues/1262
-
+
* Update hb-ft.cc
src/hb-ft.cc | 6 +++---
@@ -9538,9 +10574,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 7 00:25:48 2018 -0500
[kern/kerx] Fix cursive joining
-
+
Tested with Waseem TTC:
-
+
$ hb-shape Waseem.ttc جحخج
[F1Jeem_R2=3@0,180+479|M1Khah_L2_R2=2@0,682+403|M1Hah_L2_R2=1@0,1184+403|I1Jeem_L2=0@0,1184+744]
@@ -9564,8 +10600,7 @@ Date: Tue Nov 6 21:45:40 2018 -0500
[kerx] Adjust CrossStream kern to match 'kern' table
- src/hb-aat-layout-kerx-table.hh | 62
- +++++++++++++++++++++++++++++++----------
+ src/hb-aat-layout-kerx-table.hh | 62 +++++++++++++++++++++++++++++++----------
1 file changed, 48 insertions(+), 14 deletions(-)
commit 80a33b9ac351d81793f35a92e0255ffbf5ceb8b9
@@ -9573,9 +10608,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 6 21:41:28 2018 -0500
[kern] More tweaks
-
- Solves a mystery or two. I'm fairly confident this is what CoreText
- does now.
+
+ Solves a mystery or two. I'm fairly confident this is what CoreText does now.
src/hb-ot-kern-table.hh | 40 ++++++++++++++++++++++------------------
1 file changed, 22 insertions(+), 18 deletions(-)
@@ -9585,7 +10619,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 6 21:04:40 2018 -0500
[kern] Adjust some more
-
+
Getting closer. So many open questions still...
src/hb-ot-kern-table.hh | 36 ++++++++++++++++++++++--------------
@@ -9614,21 +10648,19 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 6 18:35:58 2018 -0500
[kern] In Format1, adjust how kerning is done
-
+
In a series of kerns in one action, kern all but last glyph forward,
- and the last one backward. Seems to better match what CoreText
- is doing.
-
+ and the last one backward. Seems to better match what CoreText is doing.
+
Test cases, with GeezaPro Arabic:
-
+
$ ./hb-shape GeezaPro_10_10.ttc -u U+0631,U+0628
[u0628.beh=1+1415|u0631.reh=0@-202,0+700]
-
+
$ ./hb-shape GeezaPro_10_10.ttc -u U+0628,U+064F
[u064f.damma=0@0,-250+-250|u0628.beh=0@250,0+1665]
-
- In a later change, I'll make kern machine avoid producing negative
- kerns.
+
+ In a later change, I'll make kern machine avoid producing negative kerns.
src/hb-ot-kern-table.hh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -9638,9 +10670,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 6 17:16:04 2018 -0500
[kern] XXX Negate CrossKerning sign
-
+
Not sure why, but seems to better match GeezaPro Arabic w CoreText.
-
+
Quite possibly I'm doing something very wrong...
src/hb-ot-kern-table.hh | 3 ++-
@@ -9652,8 +10684,7 @@ Date: Tue Nov 6 14:48:42 2018 -0500
[kern] Implement CrossStream kerning
- src/hb-aat-layout-kerx-table.hh | 75
- ++++++++++++++++++++++++++---------------
+ src/hb-aat-layout-kerx-table.hh | 75 ++++++++++++++++++++++++++---------------
src/hb-ot-kern-table.hh | 63 ++++++++++++++++++++++++++++------
2 files changed, 101 insertions(+), 37 deletions(-)
@@ -9662,7 +10693,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 6 15:23:18 2018 -0500
[kern] Improve Format 2
-
+
Still disabled.
src/hb-aat-layout-common.hh | 20 +++++++++-----------
@@ -9738,8 +10769,7 @@ Date: Tue Nov 6 12:07:15 2018 -0500
[kern] Refactor to include header in each subtable type
- src/hb-ot-kern-table.hh | 189
- +++++++++++++++++++++++-------------------------
+ src/hb-ot-kern-table.hh | 189 +++++++++++++++++++++++-------------------------
1 file changed, 91 insertions(+), 98 deletions(-)
commit b0da2cd0b9c1346b7cda5997fb799e895e34aace
@@ -9765,7 +10795,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Tue Nov 6 18:10:56 2018 +0200
Another missing backlash
-
+
Did this ever work?
test/api/Makefile.am | 2 +-
@@ -9794,7 +10824,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 6 10:49:19 2018 -0500
[util] Don't terminate string after a a 0 in -u
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1361
util/options.cc | 4 +++-
@@ -9861,7 +10891,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Nov 6 11:17:14 2018 +0330
Fix link issue of some of the bots
-
+
e.g. https://circleci.com/gh/harfbuzz/harfbuzz/52410
src/hb-ot-layout.cc | 2 +-
@@ -9872,7 +10902,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Nov 6 09:16:28 2018 +0330
[mort] Fix table detection logic
-
+
mort really needs some initial tests at least.
src/hb-aat-layout.cc | 2 +-
@@ -9903,7 +10933,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 5 23:26:29 2018 -0500
[ot-layout] Simplify GSUB/GPOS access
-
+
This concludes simplifying table access to face->table.XXXX.
src/hb-ot-layout.cc | 31 +++++++++++++------------------
@@ -9975,11 +11005,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 5 22:58:43 2018 -0500
[ot-face] Simplify table access
-
+
Yoohoo!
- src/hb-aat-layout.cc | 107
- ++++++++++-----------------------------------------
+ src/hb-aat-layout.cc | 107 ++++++++++-----------------------------------------
src/hb-ot-color.cc | 66 ++++++++-----------------------
src/hb-ot-layout.cc | 20 ++--------
src/hb-ot-math.cc | 47 ++++++++--------------
@@ -9992,7 +11021,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 5 22:39:50 2018 -0500
[ot-face] Include hb-ot-face directly in hb_face_t
-
+
Simplifying access coming next.
src/hb-face.cc | 4 ++++
@@ -10040,8 +11069,7 @@ Date: Mon Nov 5 15:03:18 2018 -0500
[fuzzing] Fuzz glyph-id etc in test-ot-face
- test/api/test-ot-face.c | 57
- +++++++++++++++++++++--------------------
+ test/api/test-ot-face.c | 57 +++++++++++++++++++++--------------------
test/fuzzing/hb-shape-fuzzer.cc | 19 +-------------
2 files changed, 30 insertions(+), 46 deletions(-)
@@ -10059,11 +11087,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 5 13:45:12 2018 -0500
[cmap] Make null accelerator safe
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1146
- src/hb-ot-cmap-table.hh | 50
- ++++++++++++++++++++++++-------------------------
+ src/hb-ot-cmap-table.hh | 50 ++++++++++++++++++++++++-------------------------
1 file changed, 25 insertions(+), 25 deletions(-)
commit f6fc5574d3dae177a54b10195e0d1f368a74f768
@@ -10125,12 +11152,9 @@ Date: Mon Nov 5 07:59:08 2018 -0800
Makefile.in | 954 --
aclocal.m4 | 1496 ---
ar-lib | 270 -
- autom4te.cache/output.0 | 23333
- ----------------------------------------------
- autom4te.cache/output.1 | 23333
- ----------------------------------------------
- autom4te.cache/output.2 | 23333
- ----------------------------------------------
+ autom4te.cache/output.0 | 23333 ----------------------------------------------
+ autom4te.cache/output.1 | 23333 ----------------------------------------------
+ autom4te.cache/output.2 | 23333 ----------------------------------------------
autom4te.cache/requests | 555 --
autom4te.cache/traces.0 | 3823 --------
autom4te.cache/traces.1 | 1229 ---
@@ -10142,8 +11166,7 @@ Date: Mon Nov 5 07:59:08 2018 -0800
config.log | 1560 ----
config.status | 2420 -----
config.sub | 1807 ----
- configure | 23333
- ----------------------------------------------
+ configure | 23333 ----------------------------------------------
depcomp | 791 --
install-sh | 501 -
libtool | 11805 -----------------------
@@ -10184,76 +11207,43 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Sun Nov 4 13:12:20 2018 -0800
added desubroutinize full font test profiles & expected fonts
-
- modified subset_test_suite.py to apply desubroutinize profiles to
- CFF only (not to TT)
-
- ...urceSansPro-Regular.default.1FC,21,41,20,62,63.otf | Bin 3640 ->
- 3784 bytes
- .../SourceSansPro-Regular.default.61,62,63.otf | Bin 3400 ->
- 3496 bytes
- .../SourceSansPro-Regular.default.D7,D8,D9,DA,DE.otf | Bin 3596 ->
- 3612 bytes
- ...sPro-Regular.desubroutinize.1FC,21,41,20,62,63.otf | Bin 0 ->
- 3640 bytes
- .../SourceSansPro-Regular.desubroutinize.61,62,63.otf | Bin 0 ->
- 3400 bytes
- ...eSansPro-Regular.desubroutinize.D7,D8,D9,DA,DE.otf | Bin 0 ->
- 3596 bytes
- ...eSansPro-Regular.drop-hints.1FC,21,41,20,62,63.otf | Bin 3480 ->
- 3564 bytes
- .../SourceSansPro-Regular.drop-hints.61,62,63.otf | Bin 3276 ->
- 3340 bytes
- ...ourceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.otf | Bin 3448 ->
- 3464 bytes
- ...r.drop-hints.desubroutinize.1FC,21,41,20,62,63.otf | Bin 0 ->
- 3480 bytes
- ...Pro-Regular.drop-hints.desubroutinize.61,62,63.otf | Bin 0 ->
- 3276 bytes
- ...gular.drop-hints.desubroutinize.D7,D8,D9,DA,DE.otf | Bin 0 ->
- 3448 bytes
- ...-Regular.default.3042,3044,3046,3048,304A,304B.otf | Bin 6248 ->
- 6324 bytes
- ...-Regular.default.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 6432 ->
- 6568 bytes
- .../SourceHanSans-Regular.default.61,63,65,6B.otf | Bin 5428 ->
- 5500 bytes
- ...-Regular.default.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 6552 ->
- 6780 bytes
- .../japanese/SourceHanSans-Regular.default.660E.otf | Bin 5196 ->
- 5248 bytes
+
+ modified subset_test_suite.py to apply desubroutinize profiles to CFF only (not to TT)
+
+ ...urceSansPro-Regular.default.1FC,21,41,20,62,63.otf | Bin 3640 -> 3784 bytes
+ .../SourceSansPro-Regular.default.61,62,63.otf | Bin 3400 -> 3496 bytes
+ .../SourceSansPro-Regular.default.D7,D8,D9,DA,DE.otf | Bin 3596 -> 3612 bytes
+ ...sPro-Regular.desubroutinize.1FC,21,41,20,62,63.otf | Bin 0 -> 3640 bytes
+ .../SourceSansPro-Regular.desubroutinize.61,62,63.otf | Bin 0 -> 3400 bytes
+ ...eSansPro-Regular.desubroutinize.D7,D8,D9,DA,DE.otf | Bin 0 -> 3596 bytes
+ ...eSansPro-Regular.drop-hints.1FC,21,41,20,62,63.otf | Bin 3480 -> 3564 bytes
+ .../SourceSansPro-Regular.drop-hints.61,62,63.otf | Bin 3276 -> 3340 bytes
+ ...ourceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.otf | Bin 3448 -> 3464 bytes
+ ...r.drop-hints.desubroutinize.1FC,21,41,20,62,63.otf | Bin 0 -> 3480 bytes
+ ...Pro-Regular.drop-hints.desubroutinize.61,62,63.otf | Bin 0 -> 3276 bytes
+ ...gular.drop-hints.desubroutinize.D7,D8,D9,DA,DE.otf | Bin 0 -> 3448 bytes
+ ...-Regular.default.3042,3044,3046,3048,304A,304B.otf | Bin 6248 -> 6324 bytes
+ ...-Regular.default.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 6432 -> 6568 bytes
+ .../SourceHanSans-Regular.default.61,63,65,6B.otf | Bin 5428 -> 5500 bytes
+ ...-Regular.default.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 6552 -> 6780 bytes
+ .../japanese/SourceHanSans-Regular.default.660E.otf | Bin 5196 -> 5248 bytes
....otf => SourceHanSans-Regular.desubroutinize..otf} | Bin
- ...r.desubroutinize.3042,3044,3046,3048,304A,304B.otf | Bin 0 ->
- 6248 bytes
- ...r.desubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 0 ->
- 6432 bytes
- ...urceHanSans-Regular.desubroutinize.61,63,65,6B.otf | Bin 0 ->
- 5428 bytes
- ...r.desubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 0 ->
- 6552 bytes
- .../SourceHanSans-Regular.desubroutinize.660E.otf | Bin 0 ->
- 5196 bytes
- ...gular.drop-hints.3042,3044,3046,3048,304A,304B.otf | Bin 6076 ->
- 6132 bytes
- ...gular.drop-hints.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 6180 ->
- 6304 bytes
- .../SourceHanSans-Regular.drop-hints.61,63,65,6B.otf | Bin 5312 ->
- 5344 bytes
- ...gular.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 6248 ->
- 6472 bytes
- .../SourceHanSans-Regular.drop-hints.660E.otf | Bin 5088 ->
- 5140 bytes
+ ...r.desubroutinize.3042,3044,3046,3048,304A,304B.otf | Bin 0 -> 6248 bytes
+ ...r.desubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 0 -> 6432 bytes
+ ...urceHanSans-Regular.desubroutinize.61,63,65,6B.otf | Bin 0 -> 5428 bytes
+ ...r.desubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 0 -> 6552 bytes
+ .../SourceHanSans-Regular.desubroutinize.660E.otf | Bin 0 -> 5196 bytes
+ ...gular.drop-hints.3042,3044,3046,3048,304A,304B.otf | Bin 6076 -> 6132 bytes
+ ...gular.drop-hints.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 6180 -> 6304 bytes
+ .../SourceHanSans-Regular.drop-hints.61,63,65,6B.otf | Bin 5312 -> 5344 bytes
+ ...gular.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 6248 -> 6472 bytes
+ .../SourceHanSans-Regular.drop-hints.660E.otf | Bin 5088 -> 5140 bytes
...rceHanSans-Regular.drop-hints.desubroutinize..otf} | Bin
- ...s.desubroutinize.3042,3044,3046,3048,304A,304B.otf | Bin 0 ->
- 6076 bytes
- ...s.desubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 0 ->
- 6180 bytes
- ...-Regular.drop-hints.desubroutinize.61,63,65,6B.otf | Bin 0 ->
- 5312 bytes
- ...s.desubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 0 ->
- 6248 bytes
- ...HanSans-Regular.drop-hints.desubroutinize.660E.otf | Bin 0 ->
- 5140 bytes
+ ...s.desubroutinize.3042,3044,3046,3048,304A,304B.otf | Bin 0 -> 6076 bytes
+ ...s.desubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 0 -> 6180 bytes
+ ...-Regular.drop-hints.desubroutinize.61,63,65,6B.otf | Bin 0 -> 5312 bytes
+ ...s.desubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 0 -> 6248 bytes
+ ...HanSans-Regular.drop-hints.desubroutinize.660E.otf | Bin 0 -> 5140 bytes
test/subset/data/profiles/desubroutinize.txt | 1 +
.../data/profiles/drop-hints-desubroutinize.txt | 2 ++
test/subset/generate-expected-outputs.py | 1 -
@@ -10269,8 +11259,7 @@ Date: Sun Nov 4 12:58:02 2018 -0500
src/hb-aat-layout-ankr-table.hh | 2 ++
src/hb-aat-layout-common.hh | 31 +++++++++---------------------
src/hb-aat-layout-kerx-table.hh | 16 ++++++++--------
- src/hb-aat-layout.cc | 42
- +++++++++++++++++++++++++++++++++++++++--
+ src/hb-aat-layout.cc | 42 +++++++++++++++++++++++++++++++++++++++--
src/hb-ot-kern-table.hh | 1 -
src/hb-static.cc | 1 -
6 files changed, 59 insertions(+), 34 deletions(-)
@@ -10280,7 +11269,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Nov 4 02:47:34 2018 -0500
[test] Call test-ot-face.c test from hb-shape-fuzzer
-
+
Should increase coverage...
test/api/test-ot-face.c | 28 ++++++++++++++++++----------
@@ -10302,7 +11291,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Nov 4 02:25:07 2018 -0500
Clean up buffer->swap_buffers() calls
-
+
That function checks for buffer->successful already. No need
to check at call site.
@@ -10323,15 +11312,13 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Sat Nov 3 22:42:22 2018 -0700
CFF1 no-desubr fixes
-
- make sure charstring/subrs not ending with endchar/return handled
- correctly
+
+ make sure charstring/subrs not ending with endchar/return handled correctly
if no local subrs, skip serializing Subrs op in Private
misc fixes
src/hb-ot-cff-common.hh | 13 +++++++++-
- src/hb-subset-cff-common.hh | 59
- +++++++++++++++++++++++----------------------
+ src/hb-subset-cff-common.hh | 59 +++++++++++++++++++++++----------------------
src/hb-subset-cff1.cc | 27 +++++++++++++++------
3 files changed, 62 insertions(+), 37 deletions(-)
@@ -10358,9 +11345,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 3 21:38:24 2018 -0400
Revert "Add operator char * to the naked array types as well"
-
+
This reverts commit db889c182ee5f54127285bfaab5bc94dafe46bda.
-
+
Was resulting in ambigious overloads...
src/hb-dsalgs.hh | 4 +---
@@ -10383,8 +11370,7 @@ Date: Sat Nov 3 20:50:56 2018 -0400
[test] Add test for empty face
test/api/Makefile.am | 1 +
- test/api/test-ot-face.c | 94
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ test/api/test-ot-face.c | 94 +++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 95 insertions(+)
commit 1da4de7e7b71dfde734cb77ec6acb31f574585f2
@@ -10392,9 +11378,8 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Sat Nov 3 15:41:29 2018 -0700
fix for subset fuzzer failure
-
- A called subr must be freshly parsed or completely parsed. otherwise
- the prevoius parse must have terminated prematurely
+
+ A called subr must be freshly parsed or completely parsed. otherwise the prevoius parse must have terminated prematurely
src/hb-subset-cff1.cc | 3 +++
1 file changed, 3 insertions(+)
@@ -10404,9 +11389,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 3 16:15:30 2018 -0400
Fix null accelerator's
-
+
Fixes all except for cmap. To be done separately.
-
+
Part of https://github.com/harfbuzz/harfbuzz/issues/1146
src/hb-ot-color-cbdt-table.hh | 10 ++--------
@@ -10452,7 +11437,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 3 15:49:37 2018 -0400
[blob] Allow null parent in create_sub_blob()
-
+
Like font and unicode.
src/hb-blob.cc | 2 +-
@@ -10463,7 +11448,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 3 15:24:14 2018 -0400
Add hb_nonnull_ptr_t
-
+
Towards fixing https://github.com/harfbuzz/harfbuzz/issues/1146
src/hb-null.hh | 28 ++++++++++++++++++++++++++++
@@ -10474,7 +11459,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 3 15:14:57 2018 -0400
[kern] Third try fix access violation in Format3
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11245
src/hb-ot-kern-table.hh | 1 -
@@ -10485,7 +11470,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 3 15:06:45 2018 -0400
[kern] Really fix access violation in Format3
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11245
src/hb-ot-kern-table.hh | 2 +-
@@ -10509,7 +11494,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 3 14:58:54 2018 -0400
[kern] Fix access violation in Format3
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11245
src/hb-ot-kern-table.hh | 6 +++++-
@@ -10520,7 +11505,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 3 14:51:38 2018 -0400
Port objects to use header.writable instead of immutable
-
+
Saves 4 or 8 bytes per object on 64bit archs.
src/hb-blob.cc | 12 ++++--------
@@ -10550,8 +11535,7 @@ Date: Sat Nov 3 22:28:30 2018 +0330
[BASE] Improvements (#1347)
- src/hb-ot-layout-base-table.hh | 610
- ++++++++++++++++++-----------------------
+ src/hb-ot-layout-base-table.hh | 610 ++++++++++++++++++-----------------------
src/hb-ot-layout.cc | 65 ++++-
src/hb-ot-layout.h | 16 --
test/api/Makefile.am | 1 +
@@ -10565,8 +11549,7 @@ Date: Sat Nov 3 13:03:36 2018 +0330
[fuzz] A new testcase
- ...uzz-testcase-minimized-hb-shape-fuzzer-5735679418433536 | Bin 0 ->
- 36 bytes
+ ...uzz-testcase-minimized-hb-shape-fuzzer-5735679418433536 | Bin 0 -> 36 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit 34b06d994a79124963d2a7432d0ec945e72bfdbd
@@ -10577,8 +11560,7 @@ Date: Fri Nov 2 16:40:20 2018 -0700
src/hb-ot-cff-common.hh | 2 +-
src/hb-subset-cff-common.cc | 6 +++---
- test/api/fonts/SourceHanSans-Regular.41,3041,4C2E.otf | Bin 2576 ->
- 3892 bytes
+ test/api/fonts/SourceHanSans-Regular.41,3041,4C2E.otf | Bin 2576 -> 3892 bytes
3 files changed, 4 insertions(+), 4 deletions(-)
commit 481fdfdc23f557400ad3aceeceeab07add78f005
@@ -10586,8 +11568,7 @@ Merge: 1bc710a8 2840a104
Author: Michiharu Ariza <ariza@adobe.com>
Date: Fri Nov 2 15:28:09 2018 -0700
- Merge branch 'cff-subset' of https://github.com/harfbuzz/harfbuzz
- into cff-subset
+ Merge branch 'cff-subset' of https://github.com/harfbuzz/harfbuzz into cff-subset
commit 1bc710a8c94fbe08ca3a3e535c7b6597a57883df
Author: Michiharu Ariza <ariza@adobe.com>
@@ -10597,26 +11578,19 @@ Date: Fri Nov 2 15:28:01 2018 -0700
src/hb-cff1-interp-cs.hh | 7 --
src/hb-ot-cff-common.hh | 56 ++++++----
- src/hb-subset-cff-common.hh | 100
- +++++++++--------
+ src/hb-subset-cff-common.hh | 100 +++++++++--------
src/hb-subset-cff1.cc | 53 ++++-----
- .../fonts/SourceHanSans-Regular.41,3041,4C2E.otf | Bin 3892 ->
- 2576 bytes
+ .../fonts/SourceHanSans-Regular.41,3041,4C2E.otf | Bin 3892 -> 2576 bytes
.../SourceHanSans-Regular.41,4C2E.nohints.otf | Bin 0 -> 2380 bytes
...urceHanSans-Regular.41,4C2E.nosubrs.nohints.otf | Bin 0 -> 2360 bytes
.../SourceHanSans-Regular.41,4C2E.nosubrs.otf | Bin 0 -> 2548 bytes
- test/api/fonts/SourceHanSans-Regular.41,4C2E.otf | Bin 2548 ->
- 2576 bytes
- test/api/fonts/SourceSansPro-Regular.abc.otf | Bin 3412 ->
- 1812 bytes
- .../api/fonts/SourceSansPro-Regular.ac.nohints.otf | Bin 3228 ->
- 1592 bytes
+ test/api/fonts/SourceHanSans-Regular.41,4C2E.otf | Bin 2548 -> 2576 bytes
+ test/api/fonts/SourceSansPro-Regular.abc.otf | Bin 3412 -> 1812 bytes
+ .../api/fonts/SourceSansPro-Regular.ac.nohints.otf | Bin 3228 -> 1592 bytes
.../SourceSansPro-Regular.ac.nosubrs.nohints.otf | Bin 0 -> 1540 bytes
.../api/fonts/SourceSansPro-Regular.ac.nosubrs.otf | Bin 0 -> 1632 bytes
- test/api/fonts/SourceSansPro-Regular.ac.otf | Bin 3332 ->
- 1708 bytes
- test/api/test-subset-cff1.c | 122
- +++++++++++++++++++++
+ test/api/fonts/SourceSansPro-Regular.ac.otf | Bin 3332 -> 1708 bytes
+ test/api/test-subset-cff1.c | 122 +++++++++++++++++++++
15 files changed, 232 insertions(+), 106 deletions(-)
commit 2c68f34bddbe506d0b22948562f2f59b9a5b6050
@@ -10624,7 +11598,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Fri Nov 2 23:06:00 2018 +0200
[os2] Capitalize table tag and struct
-
+
Other tables follow the case of the OT tag, except this one.
src/hb-ot-hmtx-table.hh | 6 +++---
@@ -10637,14 +11611,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 2 14:47:42 2018 -0400
[kern] Implement Format1
-
+
Also, implement backwards kerning for Format1 in kern and kerx.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1350
src/hb-aat-layout-kerx-table.hh | 11 +++-
- src/hb-ot-kern-table.hh | 127
- ++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-kern-table.hh | 127 ++++++++++++++++++++++++++++++++++++++++
2 files changed, 136 insertions(+), 2 deletions(-)
commit 46b3885c1a8ea3b85efbdd1704edcee385797c5d
@@ -10670,7 +11643,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 2 13:57:41 2018 -0400
[kern] Minor
-
+
We like check_struct() more.
src/hb-ot-kern-table.hh | 5 +++--
@@ -10681,7 +11654,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 2 13:47:33 2018 -0400
Remove pointer cast operators from ArrayOf<>
-
+
ArrayOf<>, unlike UnsizedArrayOf<>, has data before the array.
This was confusing. Remove.
@@ -10703,8 +11676,7 @@ Date: Fri Nov 2 13:23:54 2018 -0400
[kern] Push apply loop to each subtable
- src/hb-ot-kern-table.hh | 153
- ++++++++++++++++++++++++++++++++++++++----------
+ src/hb-ot-kern-table.hh | 153 ++++++++++++++++++++++++++++++++++++++----------
src/hb-ot-layout.cc | 28 ++++++---
src/hb-ot-layout.hh | 8 ++-
src/hb-ot-shape.cc | 2 +-
@@ -10715,12 +11687,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 2 12:47:55 2018 -0400
[kern] Remove accelerator
-
+
It wasn't doing anything.
src/hb-ot-face.hh | 2 +-
- src/hb-ot-kern-table.hh | 55
- ++++++++++++++-----------------------------------
+ src/hb-ot-kern-table.hh | 55 ++++++++++++++-----------------------------------
src/hb-ot-layout.cc | 4 ++--
3 files changed, 18 insertions(+), 43 deletions(-)
@@ -10758,11 +11729,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 2 11:56:55 2018 -0400
[kern] Implement Format3
-
+
Untested.
- src/hb-ot-kern-table.hh | 51
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-kern-table.hh | 51 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
commit c6ef5dbd5c40cc8934756456221e080012a82530
@@ -10819,7 +11789,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Thu Nov 1 17:25:23 2018 -0700
added hb_subset_input_set_desubroutinize API
-
+
hooked up with CFF1 subroutinizer
a renaming
@@ -10949,7 +11919,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Wed Oct 31 22:30:34 2018 -0700
CFF1 no-desubroutinize + no-hinting
-
+
no-desubroutinize option is disabled for now
code cleanup (esp. CFF1 width handling)
bug fixes & renaming
@@ -10962,8 +11932,7 @@ Date: Wed Oct 31 22:30:34 2018 -0700
src/hb-ot-cff-common.hh | 85 ++---
src/hb-ot-cff1-table.hh | 20 +-
src/hb-ot-cff2-table.hh | 25 +-
- src/hb-subset-cff-common.hh | 702
- ++++++++++++++++++++++++++++++++++++---
+ src/hb-subset-cff-common.hh | 702 ++++++++++++++++++++++++++++++++++++---
src/hb-subset-cff1.cc | 242 +++++++++++---
src/hb-subset-cff2.cc | 45 +--
src/hb-subset-input.hh | 1 +
@@ -10978,7 +11947,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 31 19:05:53 2018 -0700
[aat] Implement 'aalt' mapping
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1160
src/hb-aat-map.cc | 8 ++++++++
@@ -10989,7 +11958,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 31 19:00:11 2018 -0700
[aat] Add 'afrc' feature mapping
-
+
https://github.com/harfbuzz/harfbuzz/issues/1342#issuecomment-434829028
src/hb-aat-layout.cc | 1 +
@@ -11000,7 +11969,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 31 18:51:45 2018 -0700
[aat] Fallback to old style "Letter Case" small caps
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1342
src/hb-aat-layout-morx-table.hh | 8 ++++++++
@@ -11020,11 +11989,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 31 18:21:48 2018 -0700
Implement space fallback in vertical direction
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1343
- src/hb-ot-shape-fallback.cc | 36
- +++++++++++++++++++--------
+ src/hb-ot-shape-fallback.cc | 36 +++++++++++++++++++--------
test/shaping/data/in-house/tests/spaces.tests | 17 +++++++++++++
2 files changed, 42 insertions(+), 11 deletions(-)
@@ -11089,7 +12057,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 31 13:19:42 2018 -0700
Improve blob->as<>
-
+
It's true that blob->as<> should only be called on null or sanitized
data. But this change is safe, so keep it.
@@ -11102,7 +12070,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 31 10:42:49 2018 -0700
[set] Warning fix with gcc 8.1
-
+
https://github.com/harfbuzz/harfbuzz/pull/1334
src/hb-dsalgs.hh | 6 ++++--
@@ -11113,11 +12081,9 @@ commit 850a7af3a419c6c4ab92bff59991758a2951d41f
Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed Oct 31 14:20:23 2018 +0330
- [ot-color-test] Remove the non-working exact strike size storing
- (#1339)
+ [ot-color-test] Remove the non-working exact strike size storing (#1339)
- src/test-ot-color.cc | 135
- +++++++++++++++++++++++----------------------------
+ src/test-ot-color.cc | 135 +++++++++++++++++++++++----------------------------
1 file changed, 62 insertions(+), 73 deletions(-)
commit 2e639c47c9d35ff7dc4dde21f744f9ee695a27f3
@@ -11143,10 +12109,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 31 01:16:33 2018 -0700
[mort] Make ligatures work
-
+
./hb-shape Apple_Chancery_10_12.ttf "Th th ll te to tr fr fu fj"
[T_h=0+2308|space=2+569|t_h=3+1687|space=5+569|l_l=6+1108|space=8+569|t_e=9+1408|space=11+569|t_o=12+1531|space=14+569|t_r=15+1385|space=17+569|f_r=18+1432|space=20+569|f_u=21+1733|space=23+569|f_j=24+1098]
-
+
Part of https://github.com/harfbuzz/harfbuzz/issues/1331
src/hb-aat-layout-morx-table.hh | 25 +++++++++++++++++--------
@@ -11158,8 +12124,7 @@ Date: Wed Oct 31 00:36:03 2018 -0700
[mort] More Ligature work
- src/hb-aat-layout-morx-table.hh | 54
- ++++++++++++++++++++++++++++++-----------
+ src/hb-aat-layout-morx-table.hh | 54 ++++++++++++++++++++++++++++++-----------
1 file changed, 40 insertions(+), 14 deletions(-)
commit 431c6e496be56e441ee4b9b705f40a1246bdd0d6
@@ -11168,8 +12133,7 @@ Date: Wed Oct 31 00:15:00 2018 -0700
[mort] Some Ligature work
- src/hb-aat-layout-morx-table.hh | 38
- +++++++++++++++++++++++++++++++-------
+ src/hb-aat-layout-morx-table.hh | 38 +++++++++++++++++++++++++++++++-------
1 file changed, 31 insertions(+), 7 deletions(-)
commit 28b68cffe4e5ebf82217ebf439f428431d672af3
@@ -11178,8 +12142,7 @@ Date: Tue Oct 30 23:33:30 2018 -0700
[mort] Implement / adjust Contextual substitution
- src/hb-aat-layout-morx-table.hh | 70
- ++++++++++++++++++++++++++++++-----------
+ src/hb-aat-layout-morx-table.hh | 70 ++++++++++++++++++++++++++++++-----------
src/hb-open-type.hh | 7 +++++
2 files changed, 59 insertions(+), 18 deletions(-)
@@ -11234,8 +12197,7 @@ Date: Tue Oct 30 19:42:21 2018 -0700
[mort] More massaging towards mort
- src/hb-aat-layout-morx-table.hh | 53
- +++++++++++++++++++++--------------------
+ src/hb-aat-layout-morx-table.hh | 53 +++++++++++++++++++++--------------------
1 file changed, 27 insertions(+), 26 deletions(-)
commit 2d9467340b1498ccc0cd47bf915b84ab12dfa025
@@ -11252,13 +12214,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 30 19:26:16 2018 -0700
[mort] Make it compile / hook it up
-
+
Untested.
src/hb-aat-layout-common.hh | 11 +++++-----
src/hb-aat-layout-morx-table.hh | 2 +-
- src/hb-aat-layout.cc | 47
- ++++++++++++++++++++++++++---------------
+ src/hb-aat-layout.cc | 47 ++++++++++++++++++++++++++---------------
3 files changed, 36 insertions(+), 24 deletions(-)
commit 933babdc075c27fbcc1b726c3c9b2aa67338c6ad
@@ -11275,16 +12236,14 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Oct 30 18:41:34 2018 +0330
[mort] Bring back mort generalizations
-
- Started by reverting
- https://github.com/harfbuzz/harfbuzz/commit/1f1c85a5
-
+
+ Started by reverting https://github.com/harfbuzz/harfbuzz/commit/1f1c85a5
+
Just a starting point, if we agree even mort can come back.
src/hb-aat-layout-common.hh | 76 +++++++++++++++++++----
src/hb-aat-layout-kerx-table.hh | 17 ++---
- src/hb-aat-layout-morx-table.hh | 133
- ++++++++++++++++++++++++----------------
+ src/hb-aat-layout-morx-table.hh | 133 ++++++++++++++++++++++++----------------
src/hb-aat-layout.cc | 16 ++++-
src/hb-ot-face.hh | 1 +
5 files changed, 171 insertions(+), 72 deletions(-)
@@ -11294,7 +12253,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 30 19:16:00 2018 -0700
Fix build
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1338
src/test-ot-color.cc | 2 +-
@@ -11315,8 +12274,7 @@ Date: Tue Oct 30 15:52:26 2018 -0700
2.1.0
- NEWS | 81
- ++++++++++++++++++++++++++++++++++++++++++++++++++
+ NEWS | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++
RELEASING.md | 3 +-
configure.ac | 2 +-
docs/harfbuzz-docs.xml | 1 +
@@ -11338,8 +12296,7 @@ commit 0e1ad5a075c6858ca60bad0e2da58b5256e15815
Author: Garret Rieger <grieger@google.com>
Date: Tue Oct 30 11:29:58 2018 -0700
- [subset] Limit the number of scripts and langsys' that should be
- checked when collecting features.
+ [subset] Limit the number of scripts and langsys' that should be checked when collecting features.
src/hb-ot-layout-common.hh | 8 ++++++++
src/hb-ot-layout.cc | 11 ++++++++++-
@@ -11350,7 +12307,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 30 14:04:09 2018 -0700
[name] Rename hb_name_id_t to hb_ot_name_id_t
-
+
https://github.com/harfbuzz/harfbuzz/pull/1254
docs/harfbuzz-sections.txt | 3 +-
@@ -11361,8 +12318,7 @@ Date: Tue Oct 30 14:04:09 2018 -0700
src/hb-ot-layout.h | 28 ++++++-------
src/hb-ot-name-table.hh | 6 +--
src/hb-ot-name.cc | 38 ++++++++---------
- src/hb-ot-name.h | 98
- +++++++++++++++++++++----------------------
+ src/hb-ot-name.h | 98 +++++++++++++++++++++----------------------
test/api/test-ot-color.c | 30 ++++++-------
test/api/test-ot-name.c | 8 ++--
11 files changed, 139 insertions(+), 138 deletions(-)
@@ -11382,7 +12338,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 30 13:16:07 2018 -0700
[CBDT] Implement Format18 get_extens
-
+
Part of https://github.com/harfbuzz/harfbuzz/issues/1327
src/hb-ot-color-cbdt-table.hh | 10 +++++++++-
@@ -11394,16 +12350,14 @@ Date: Tue Oct 30 13:14:56 2018 -0700
[CBDT] Bound checks in reference_png
- src/hb-ot-color-cbdt-table.hh | 57
- ++++++++++++++++++++++++++-----------------
+ src/hb-ot-color-cbdt-table.hh | 57 ++++++++++++++++++++++++++-----------------
1 file changed, 34 insertions(+), 23 deletions(-)
commit f236f790884d7b5c7afb73768724c360d4ea5212
Author: Nathan Willis <nwillis@glyphography.com>
Date: Tue Oct 30 11:24:56 2018 -0500
- Docs Makefile: sync SGML list to harfbuzz-docs.xml include
- list. Hopefully fixes distcheck failure.
+ Docs Makefile: sync SGML list to harfbuzz-docs.xml include list. Hopefully fixes distcheck failure.
docs/Makefile.am | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
@@ -11419,8 +12373,7 @@ Date: Mon Oct 29 17:10:53 2018 -0500
docs/usermanual-fonts-and-faces.xml | 8 +++++++-
docs/usermanual-getting-started.xml | 6 ++++++
docs/usermanual-glyph-information.xml | 8 +++++++-
- docs/usermanual-install-harfbuzz.xml | 20
- +++++++++++++++++---
+ docs/usermanual-install-harfbuzz.xml | 20 +++++++++++++++++---
docs/usermanual-opentype-features.xml | 8 +++++++-
docs/usermanual-shaping-concepts.xml | 6 ++++++
docs/usermanual-what-is-harfbuzz.xml | 12 +++++++-----
@@ -11430,8 +12383,7 @@ commit e110032b914db9f417cc152b2beb51cda0a91dd7
Author: Nathan Willis <nwillis@glyphography.com>
Date: Mon Oct 29 16:42:59 2018 -0500
- Usermanual: update DTD in chapter XML to avoid HTML entity parsing
- errors.
+ Usermanual: update DTD in chapter XML to avoid HTML entity parsing errors.
docs/usermanual-what-is-harfbuzz.xml | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
@@ -11452,7 +12404,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Sat Oct 20 16:12:45 2018 +0100
Minor; rewording unsafe-to-break note.
-
+
Co-Authored-By: n8willis <nwillis@glyphography.com>
docs/usermanual-getting-started.xml | 2 +-
@@ -11463,7 +12415,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Sat Oct 20 15:46:04 2018 +0100
Trivial; typo.
-
+
Co-Authored-By: n8willis <nwillis@glyphography.com>
docs/usermanual-what-is-harfbuzz.xml | 2 +-
@@ -11474,7 +12426,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Sat Oct 20 15:45:24 2018 +0100
Minor; simplify example code
-
+
Co-Authored-By: n8willis <nwillis@glyphography.com>
docs/usermanual-getting-started.xml | 4 +++-
@@ -11485,7 +12437,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Sat Oct 20 15:44:51 2018 +0100
Minor: simplify example code
-
+
Co-Authored-By: n8willis <nwillis@glyphography.com>
docs/usermanual-getting-started.xml | 2 +-
@@ -11496,7 +12448,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Sat Oct 20 15:41:00 2018 +0100
Minor; drop 'OpenType' from sentence
-
+
Co-Authored-By: n8willis <nwillis@glyphography.com>
docs/usermanual-what-is-harfbuzz.xml | 2 +-
@@ -11516,7 +12468,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Sat Oct 20 15:00:52 2018 +0100
Use 'glyphs' instead of 'text'
-
+
Co-Authored-By: n8willis <nwillis@glyphography.com>
docs/harfbuzz-docs.xml | 2 +-
@@ -11537,21 +12489,17 @@ Date: Tue Oct 16 17:48:15 2018 -0500
Docs: rename Hello HarfBuzz to Getting Started.
- docs/harfbuzz-docs.xml |
- 2 +-
- docs/{usermanual-hello-harfbuzz.xml => usermanual-getting-started.xml}
- | 0
+ docs/harfbuzz-docs.xml | 2 +-
+ docs/{usermanual-hello-harfbuzz.xml => usermanual-getting-started.xml} | 0
2 files changed, 1 insertion(+), 1 deletion(-)
commit 9e7efa3f47557a77852a15d89619787fd9933ed1
Author: Nathan Willis <nwillis@glyphography.com>
Date: Tue Oct 16 17:46:03 2018 -0500
- Docs: usermanual, add API Overview to Hello HarfBuzz chapter. Start
- Terminology section.
+ Docs: usermanual, add API Overview to Hello HarfBuzz chapter. Start Terminology section.
- docs/usermanual-hello-harfbuzz.xml | 309
- +++++++++++++++++++++++++------------
+ docs/usermanual-hello-harfbuzz.xml | 309 +++++++++++++++++++++++++------------
1 file changed, 212 insertions(+), 97 deletions(-)
commit 3a27e8fb97f716c17b03e3a4a634a4900bcb6045
@@ -11561,8 +12509,7 @@ Date: Fri Oct 12 18:23:26 2018 -0500
Docs: usermanual, add Shaping Concepts chapter.
docs/harfbuzz-docs.xml | 5 +-
- docs/usermanual-shaping-concepts.xml | 368
- +++++++++++++++++++++++++++++++++++
+ docs/usermanual-shaping-concepts.xml | 368 +++++++++++++++++++++++++++++++++++
2 files changed, 371 insertions(+), 2 deletions(-)
commit 9aa865dcc68ec207741e07ba3f7aacf4ac750c1c
@@ -11578,11 +12525,9 @@ commit 443f87213272be5ae0579dce4749b2036dfe3815
Author: Nathan Willis <nwillis@glyphography.com>
Date: Thu Oct 11 15:40:08 2018 -0500
- Docs: move harfbuzz-ng-vs-old discussion down below the TOC; put
- in note.
+ Docs: move harfbuzz-ng-vs-old discussion down below the TOC; put in note.
- docs/harfbuzz-docs.xml | 63
- ++++++++++++++++++++++++++++++++++----------------
+ docs/harfbuzz-docs.xml | 63 ++++++++++++++++++++++++++++++++++----------------
1 file changed, 43 insertions(+), 20 deletions(-)
commit 792af5d254fddcdc4292dffb76b81d65754e65a9
@@ -11591,30 +12536,25 @@ Date: Thu Oct 11 14:05:59 2018 -0500
Docs: flesh out config options in Usermanual:Install chapter.
- docs/usermanual-install-harfbuzz.xml | 108
- +++++++++++++++++++++++++++--------
+ docs/usermanual-install-harfbuzz.xml | 108 +++++++++++++++++++++++++++--------
1 file changed, 85 insertions(+), 23 deletions(-)
commit 325e2745cfa55f9ef114ee8eeaf7bd8176743822
Author: Nathan Willis <nwillis@glyphography.com>
Date: Wed Oct 10 17:01:21 2018 -0500
- Docs: add basic config-options section to Usermanual Installation
- chapter.
+ Docs: add basic config-options section to Usermanual Installation chapter.
- docs/usermanual-install-harfbuzz.xml | 132
- ++++++++++++++++++++++++++++++++++-
+ docs/usermanual-install-harfbuzz.xml | 132 ++++++++++++++++++++++++++++++++++-
1 file changed, 131 insertions(+), 1 deletion(-)
commit 97c1c46cd2241d77b531a582dd1a2432af976357
Author: Nathan Willis <nwillis@glyphography.com>
Date: Wed Oct 10 16:38:22 2018 -0500
- Docs: update and linearize build instructions; add installation
- overview material.
+ Docs: update and linearize build instructions; add installation overview material.
- docs/usermanual-install-harfbuzz.xml | 229
- ++++++++++++++++++++++++++++-------
+ docs/usermanual-install-harfbuzz.xml | 229 ++++++++++++++++++++++++++++-------
1 file changed, 188 insertions(+), 41 deletions(-)
commit 088755f9e654d2ec638dce0c68d523084b9eaf5a
@@ -11623,8 +12563,7 @@ Date: Wed Oct 10 16:37:29 2018 -0500
Docs: update usermanual What Is HarfBuzz material.
- docs/usermanual-what-is-harfbuzz.xml | 220
- +++++++++++++++++++++++++++--------
+ docs/usermanual-what-is-harfbuzz.xml | 220 +++++++++++++++++++++++++++--------
1 file changed, 172 insertions(+), 48 deletions(-)
commit 0956ab41851d30f50c39c28730cf30ea0bbc5466
@@ -11633,10 +12572,8 @@ Date: Fri Sep 28 17:15:59 2018 -0500
Docs: Move What-HarfBuzz-doesnt-do to Usermanual-what-is-HarfBuzz.
- docs/usermanual-hello-harfbuzz.xml | 98
- +++------------------------------
- docs/usermanual-what-is-harfbuzz.xml | 101
- +++++++++++++++++++++++++++++++++--
+ docs/usermanual-hello-harfbuzz.xml | 98 +++------------------------------
+ docs/usermanual-what-is-harfbuzz.xml | 101 +++++++++++++++++++++++++++++++++--
2 files changed, 104 insertions(+), 95 deletions(-)
commit fd270beedb331c4685e918f5a3ef5789a23ffaeb
@@ -11645,8 +12582,7 @@ Date: Fri Sep 28 16:36:38 2018 -0500
Docs: Usermanual- What is HarfBuzz; add intro to shaping concepts.
- docs/usermanual-what-is-harfbuzz.xml | 51
- ++++++++++++++++++++++++++++++++++++
+ docs/usermanual-what-is-harfbuzz.xml | 51 ++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
commit d9fd92721002726c4aeaae9cc3a519a41f694e48
@@ -11655,8 +12591,7 @@ Date: Fri Sep 28 16:07:37 2018 -0500
Docs: update Usermanual-What Is HarfBuzz.
- docs/usermanual-what-is-harfbuzz.xml | 199
- +++++++++++++++++++++++------------
+ docs/usermanual-what-is-harfbuzz.xml | 199 +++++++++++++++++++++++------------
1 file changed, 130 insertions(+), 69 deletions(-)
commit 0af3d176a64c0a57c7acb2a64ce8b9d08f449241
@@ -11664,12 +12599,11 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Tue Oct 30 17:05:28 2018 +0200
[sbix] Fix memory leak in early return
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11210
src/hb-ot-color-sbix-table.hh | 3 +++
- ...zz-testcase-minimized-hb-shape-fuzzer-5768601332613120 | Bin 0 ->
- 108 bytes
+ ...zz-testcase-minimized-hb-shape-fuzzer-5768601332613120 | Bin 0 -> 108 bytes
2 files changed, 3 insertions(+)
commit edaa768253cfeb97d614537253f90d47aa93ff6f
@@ -11737,7 +12671,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 30 00:51:43 2018 -0700
[test/shaping] Spawn one hb-shape per test file
-
+
Speeds up runnings in-house tests from over 20s to 2s.
test/shaping/run-tests.py | 32 ++++++++++++--------------------
@@ -11786,9 +12720,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 29 23:21:14 2018 -0700
[set/map] Fix uninitialized memory
-
- I keep forgetting that primitive types are NOT initialized during
- construction. :|
+
+ I keep forgetting that primitive types are NOT initialized during construction. :|
src/hb-map.hh | 4 ++--
src/hb-object.hh | 1 +
@@ -11849,7 +12782,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 29 18:05:25 2018 -0700
Remove a few unnecessary hb_auto_t<>'s
-
+
See a85641446c30247c4e948263f0f8c1147ed4efb9
src/hb-coretext.cc | 8 ++++----
@@ -11867,9 +12800,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 29 17:37:41 2018 -0700
[set/map/vector] Make constructable, but not copy or assignable
-
+
Disable copy/assign on them, as they shouldn't.
-
+
Make constructor / destructor call init_shallow/fini_shallow,
and make those idempotent. So, these three can be constructed
on stack now and no init/fini call is needed. As such,
@@ -11896,7 +12829,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 29 15:58:44 2018 -0700
Remove HB_DISALLOW_COPY_AND_ASSIGN from hb_ot_shape_planner_t
-
+
It was arbitrary that this struct had it and not dozens of others.
src/hb-ot-shape.hh | 3 ---
@@ -11916,7 +12849,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 29 15:16:52 2018 -0700
Try fixing older bots
-
+
Older C++ doesn't allow struct-with-constructor in union.
src/hb.hh | 13 ++++++++++++-
@@ -11936,12 +12869,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 29 14:45:44 2018 -0700
Remove ASSERT_POD
-
+
Newer compilers / language allows structs with constructor in union.
So, this was not actually testing anything. Indeed, the recent
change in DISALLOW_COPY *is* making some of our types non-POD.
That broke some bots.
-
+
Just remove this since it wasn't doing much, and I'd rather have
DISALLOW_COPY.
@@ -11962,8 +12895,7 @@ Date: Mon Oct 29 14:45:44 2018 -0700
src/hb-subset-input.hh | 1 -
src/hb-subset-plan.hh | 1 -
src/hb-unicode.hh | 1 -
- src/hb.hh | 26
- --------------------------
+ src/hb.hh | 26 --------------------------
18 files changed, 2 insertions(+), 60 deletions(-)
commit 6f0454e176efdb8b99c8aa59b5ad765ca455b8d6
@@ -11980,14 +12912,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 29 11:25:35 2018 -0700
Make Array types uncopyable-unassignable
-
+
Finally! Catches hard-to-find errors like this:
-
- - const SortedArrayOf<SVGDocumentIndexEntry> docs =
- this+svgDocEntries;
- + const SortedArrayOf<SVGDocumentIndexEntry> &docs =
- this+svgDocEntries;
-
+
+ - const SortedArrayOf<SVGDocumentIndexEntry> docs = this+svgDocEntries;
+ + const SortedArrayOf<SVGDocumentIndexEntry> &docs = this+svgDocEntries;
+
We implement this for our array types. This, in turn, trickles down
into all types that embed the arrays. So, as long as we define all
open-ended structs in terms of Array types (all can be done using
@@ -12043,9 +12973,8 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Mon Oct 29 12:34:33 2018 +0330
Merge pull request #1326 from ebraminio/test-ot-color
-
- Revive and rename dump-emoji to test-ot-color but use public APIs
- instead
+
+ Revive and rename dump-emoji to test-ot-color but use public APIs instead
commit 9c692e5b8d195d8e82538594d89865c609d708f3
Author: Ebrahim Byagowi <ebrahim@gnu.org>
@@ -12054,8 +12983,7 @@ Date: Mon Oct 29 11:36:11 2018 +0330
[test-ot-color] Use public APIs on the tool
src/Makefile.am | 9 +++
- src/test-ot-color.cc | 184
- +++++++++++++++++++++++++++++----------------------
+ src/test-ot-color.cc | 184 +++++++++++++++++++++++++++++----------------------
2 files changed, 113 insertions(+), 80 deletions(-)
commit fb525f8943b43fe241424c93461bee2b94af28e3
@@ -12073,8 +13001,7 @@ Date: Mon Oct 29 09:40:39 2018 +0330
Revive dump-emoji
- src/dump-emoji.cc | 322
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/dump-emoji.cc | 322 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 322 insertions(+)
commit f10252b4b637b4aa0b74bb75963ae1e1a41b5b9f
@@ -12138,8 +13065,7 @@ Date: Sun Oct 28 23:01:57 2018 -0700
[cbdt] Refactor get_strike()
- src/hb-ot-color-cbdt-table.hh | 39
- ++++++++++++++++-----------------------
+ src/hb-ot-color-cbdt-table.hh | 39 ++++++++++++++++-----------------------
src/hb-ot-color.cc | 2 +-
2 files changed, 17 insertions(+), 24 deletions(-)
@@ -12272,7 +13198,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 28 15:44:40 2018 -0700
[sbix] Simplify ppem access
-
+
If struct members are simple and needed publicly, we make them public.
src/hb-ot-color-sbix-table.hh | 10 ++++------
@@ -12310,9 +13236,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 28 15:33:12 2018 -0700
[sbix] Check glyph id before looking into unsafe array
-
- That 'Z' at end of imageOffsetsZ is a reminder that you should
- check...
+
+ That 'Z' at end of imageOffsetsZ is a reminder that you should check...
src/hb-ot-color-sbix-table.hh | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
@@ -12341,8 +13266,7 @@ Date: Sun Oct 28 15:20:33 2018 -0700
[color] Remove more dump-emoji cruft
- src/hb-ot-color-cbdt-table.hh | 53
- -------------------------------------------
+ src/hb-ot-color-cbdt-table.hh | 53 -------------------------------------------
src/hb-ot-color-sbix-table.hh | 13 -----------
2 files changed, 66 deletions(-)
@@ -12353,8 +13277,7 @@ Date: Sun Oct 28 15:18:55 2018 -0700
Remove dump-emoji
src/Makefile.am | 9 --
- src/dump-emoji.cc | 322
- ------------------------------------------
+ src/dump-emoji.cc | 322 ------------------------------------------
src/hb-ot-color-sbix-table.hh | 4 +-
3 files changed, 3 insertions(+), 332 deletions(-)
@@ -12438,8 +13361,7 @@ Date: Sun Oct 28 14:51:18 2018 -0700
[sbix] Select best strike based on ppem
- src/hb-ot-color-sbix-table.hh | 50
- ++++++++++++++++++++++++-------------------
+ src/hb-ot-color-sbix-table.hh | 50 ++++++++++++++++++++++++-------------------
src/hb-ot-color.cc | 3 +--
src/hb-ot-font.cc | 2 +-
3 files changed, 30 insertions(+), 25 deletions(-)
@@ -12509,8 +13431,7 @@ Date: Sun Oct 28 23:19:04 2018 +0330
[ot-color] Preparation for setting PNG width/height in extents
src/dump-emoji.cc | 7 +++---
- src/hb-ot-color-sbix-table.hh | 52
- +++++++++++++++++++++++++++++++++++--------
+ src/hb-ot-color-sbix-table.hh | 52 +++++++++++++++++++++++++++++++++++--------
src/hb-ot-color.cc | 14 +++++-------
src/hb-ot-font.cc | 7 +++++-
4 files changed, 59 insertions(+), 21 deletions(-)
@@ -12570,7 +13491,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 28 08:26:30 2018 -0700
[name] Change hb_name_id_t back to unsigned int
-
+
https://github.com/harfbuzz/harfbuzz/commit/d941f66c75fe26f909b1ba248535cc372bbde851#commitcomment-31076011
docs/harfbuzz-sections.txt | 2 --
@@ -12597,7 +13518,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Oct 27 18:36:24 2018 -0700
[name] Make sure hb_name_id_t is int-sized
-
+
https://github.com/harfbuzz/harfbuzz/commit/d941f66c75fe26f909b1ba248535cc372bbde851#commitcomment-31068905
src/hb-ot-name.h | 4 +++-
@@ -12609,8 +13530,7 @@ Date: Sat Oct 27 05:07:54 2018 -0700
[docs] Divide reference API into three chapters
- docs/harfbuzz-docs.xml | 213
- +++++++++++++------------------------------------
+ docs/harfbuzz-docs.xml | 213 +++++++++++++------------------------------------
1 file changed, 56 insertions(+), 157 deletions(-)
commit 1d40d72f291ed5e11850f8bd51a8562b57de1997
@@ -12642,7 +13562,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Oct 27 04:50:38 2018 -0700
[docs] Change section titles again
-
+
I think I like the uniform "hb-*" more.
src/hb-blob.cc | 2 +-
@@ -12675,7 +13595,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Oct 27 04:28:40 2018 -0700
[docs] Rename section titles to object names
-
+
More useful.
src/hb-blob.cc | 2 +-
@@ -12709,8 +13629,7 @@ Date: Sat Oct 27 04:21:20 2018 -0700
src/Makefile.sources | 1 -
src/hb-graphite2.cc | 2 +-
src/hb-ot-layout.h | 42 ++++++++++++++++++++++++-
- src/hb-ot-tag.h | 78
- ----------------------------------------------
+ src/hb-ot-tag.h | 78 ----------------------------------------------
src/hb-ot.h | 1 -
src/hb-uniscribe.cc | 2 +-
8 files changed, 51 insertions(+), 96 deletions(-)
@@ -12722,8 +13641,7 @@ Date: Sat Oct 27 04:07:33 2018 -0700
[docs] Fill in some sections
docs/harfbuzz-docs.xml | 20 ++++++--------
- docs/harfbuzz-sections.txt | 65
- +++++++++++++++++++---------------------------
+ docs/harfbuzz-sections.txt | 65 +++++++++++++++++++---------------------------
src/hb-blob.cc | 13 ++++++++++
src/hb-buffer.cc | 3 ++-
src/hb-common.cc | 23 ++++++++++++++++
@@ -12750,7 +13668,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sat Oct 27 15:04:43 2018 +0330
Merge pull request #1318 from ebraminio/png
-
+
Add a non-hooked _png _svg get emoji blob
commit 8180c37df0a856dbc3564c0aefd8b2acab8baf8a
@@ -12770,8 +13688,7 @@ commit 9aa6279a2d64ab8057b0d7acbcc77044442c6d0e
Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sat Oct 27 14:24:58 2018 +0330
- [ot-color/png] Try to get image blob from sbix first options.aat
- is set
+ [ot-color/png] Try to get image blob from sbix first options.aat is set
src/hb-ot-color.cc | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
@@ -12791,7 +13708,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Oct 27 03:18:45 2018 -0700
[docs] Fix hb_name_id_t
-
+
Yep, was not recognized without this patch!
src/hb-ot-name.h | 2 +-
@@ -12803,8 +13720,7 @@ Date: Sat Oct 27 13:32:14 2018 +0330
[ot-color/png] Implement CBDT part
- src/hb-ot-color-cbdt-table.hh | 56
- +++++++++++++++++++++++++++++++++++++++----
+ src/hb-ot-color-cbdt-table.hh | 56 +++++++++++++++++++++++++++++++++++++++----
src/hb-ot-color.cc | 19 ++-------------
src/hb-ot-color.h | 4 ++++
test/api/test-ot-color.c | 25 ++++++++++++++++---
@@ -12824,9 +13740,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Oct 27 02:55:52 2018 -0700
[name] Make hb_name_id_t be the enum
-
+
This is like hb_script_t.
-
+
We had this exposed as unsigned int since 2.0.0 release in two APIs,
as well as hb_ot_layout_get_size_params() from earlier.
But since no one uses those (right?!), let's just fix this now.
@@ -12845,7 +13761,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Oct 27 02:49:32 2018 -0700
[name] Move HB_NAME_ID_INVALID into the enum
-
+
Don't know how to document anonymous enum members.
src/hb-ot-name.h | 6 +++---
@@ -12857,8 +13773,7 @@ Date: Sat Oct 27 02:45:57 2018 -0700
[name] Move around
- src/hb-ot-name.h | 74
- ++++++++++++++++++++++++++++----------------------------
+ src/hb-ot-name.h | 74 ++++++++++++++++++++++++++++----------------------------
1 file changed, 37 insertions(+), 37 deletions(-)
commit 3b7e5f131383956e19642d28c938f1bc0d16295f
@@ -12866,9 +13781,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Oct 27 02:39:20 2018 -0700
[name] Rename hb_ot_name_get_names() to hb_ot_name_list_names()
-
- And swap return value positions, so can be annotated for
- gobject-introspectin.
+
+ And swap return value positions, so can be annotated for gobject-introspectin.
docs/harfbuzz-sections.txt | 2 +-
src/hb-ot-name.cc | 17 ++++++++---------
@@ -12885,8 +13799,7 @@ Date: Sat Oct 27 02:35:06 2018 -0700
src/hb-common.h | 30 +++++++++++++++++++++++++-
src/hb-ot-color.cc | 16 +++++++-------
src/hb-ot-layout.cc | 2 +-
- src/hb-ot-name.cc | 61
- ++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/hb-ot-name.cc | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
src/hb-ot-name.h | 15 +++++++++++++
5 files changed, 113 insertions(+), 11 deletions(-)
@@ -12914,7 +13827,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sat Oct 27 12:15:25 2018 +0330
[sbix] Set num_glyphs on accelerator
-
+
dump-emoji was broken without it
src/hb-ot-color-sbix-table.hh | 1 +
@@ -12949,8 +13862,7 @@ Date: Fri Oct 26 23:55:11 2018 +0330
docs/harfbuzz-sections.txt | 2 +
src/dump-emoji.cc | 5 ++-
src/hb-ot-color-cbdt-table.hh | 27 ++++++++----
- src/hb-ot-color-sbix-table.hh | 98
- +++++++++++++++++++++++++++++++++++++------
+ src/hb-ot-color-sbix-table.hh | 98 +++++++++++++++++++++++++++++++++++++------
src/hb-ot-color.cc | 64 ++++++++++++++++++++++++++++
src/hb-ot-color.h | 9 ++++
test/api/test-ot-color.c | 32 ++++++++++++++
@@ -12961,7 +13873,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Oct 27 00:06:48 2018 -0700
Remove stale comment
-
+
Ugliness was fixed in 30eab97a0072fbc22d353082249e0e6e546cd86b
But yeah, my smell detector was working. Ugliness was buggy.
@@ -12974,8 +13886,7 @@ Date: Fri Oct 26 22:09:17 2018 -0700
[docs] Hook up new symbols
- docs/harfbuzz-docs.xml | 46
- +++++++++++++++++++++++++++++++++++++++++-----
+ docs/harfbuzz-docs.xml | 46 +++++++++++++++++++++++++++++++++++++++++-----
docs/harfbuzz-sections.txt | 21 +++++++++++++++++++++
src/hb-ot-color.cc | 2 +-
3 files changed, 63 insertions(+), 6 deletions(-)
@@ -12985,7 +13896,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 26 22:02:17 2018 -0700
[morx] Fix merge_cluster to end at last ligature component
-
+
Don't assume current position was a component in the ligature.
src/hb-aat-layout-morx-table.hh | 3 ++-
@@ -12996,9 +13907,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 26 21:59:20 2018 -0700
[morx] Fix bailing out ligation at end-of-text
-
+
Check was after a move_to, which wouldn't work.
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11147
src/hb-aat-layout-morx-table.hh | 5 +++--
@@ -13009,9 +13920,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 26 21:54:07 2018 -0700
Fix invalid memory read
-
+
Buffer might be relocated inside replace_glyphs().
-
+
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=895117
src/hb-ot-shape-normalize.cc | 3 ++-
@@ -13022,7 +13933,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 26 21:21:18 2018 -0700
[indic] Fix infinite loop
-
+
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=863044
src/hb-ot-shape-complex-indic.cc | 2 +-
@@ -13033,11 +13944,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 26 21:01:11 2018 -0700
Fix bunch of unused parameter warnings
-
+
Show up with gcc -O0.
-
+
There's a few more but those are functions that need to be filled in.
-
+
Maybe this is a lost battle...
src/gen-vowel-constraints.py | 4 ++--
@@ -13045,8 +13956,7 @@ Date: Fri Oct 26 21:01:11 2018 -0700
src/hb-aat-layout-kerx-table.hh | 4 ++--
src/hb-aat-layout-morx-table.hh | 10 +++++-----
src/hb-face.cc | 2 +-
- src/hb-font.cc | 29
- ++++++++++++++--------------
+ src/hb-font.cc | 29 ++++++++++++++--------------
src/hb-graphite2.cc | 9 ++++++---
src/hb-machinery.hh | 4 ++--
src/hb-ot-color-cbdt-table.hh | 2 +-
@@ -13086,7 +13996,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 26 20:31:14 2018 -0700
[fuzzing] Remove HB_NDEBUG
-
+
Not sure why it ever was added.
src/Makefile.am | 1 -
@@ -13098,8 +14008,7 @@ Date: Fri Oct 26 16:23:50 2018 -0700
[fuzzing] Add more test
- ...z-testcase-minimized-harfbuzz_fuzzer-5659690013556736 | Bin 0 ->
- 2732 bytes
+ ...z-testcase-minimized-harfbuzz_fuzzer-5659690013556736 | Bin 0 -> 2732 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit c965eeadbc71943f2336a20dc16ac691c805b90e
@@ -13126,8 +14035,7 @@ Date: Wed Oct 24 13:20:19 2018 -0700
[name] Fill out most missing language codes
- src/hb-ot-name-language.cc | 114
- +++++++++++++++++++++++----------------------
+ src/hb-ot-name-language.cc | 114 +++++++++++++++++++++++----------------------
1 file changed, 58 insertions(+), 56 deletions(-)
commit 622b014faf7bbe7a97f9aff959c434d1664c10d0
@@ -13176,8 +14084,7 @@ Date: Tue Oct 23 23:16:06 2018 -0700
[name] Do record sanitization at run-time
- src/hb-dsalgs.hh | 62
- +++++++++++++++++++++++++++----------------------
+ src/hb-dsalgs.hh | 62 +++++++++++++++++++++++++++----------------------
src/hb-ot-name-table.hh | 22 +++++++++++-------
src/hb-ot-name.cc | 2 +-
3 files changed, 49 insertions(+), 37 deletions(-)
@@ -13198,8 +14105,7 @@ Date: Tue Oct 23 22:45:45 2018 -0700
[name] Add src/test-name-table tool to show all font names
src/Makefile.am | 17 ++++++++-----
- src/test-name-table.cc | 67
- ++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/test-name-table.cc | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 78 insertions(+), 6 deletions(-)
commit 7007bd9dff9f8eef3263f1b39327552ff1ebae3f
@@ -13208,8 +14114,7 @@ Date: Tue Oct 23 22:44:36 2018 -0700
[name] Rebuild language list, include missing entries
- src/hb-ot-name-language.cc | 634
- ++++++++++++++++++++++++++-------------------
+ src/hb-ot-name-language.cc | 634 ++++++++++++++++++++++++++-------------------
1 file changed, 370 insertions(+), 264 deletions(-)
commit 68f172101c1228a7d669d71da1d0eeb96a10565e
@@ -13237,8 +14142,7 @@ Date: Tue Oct 23 22:00:19 2018 -0700
[name] Add language mapping
src/Makefile.sources | 2 +
- src/hb-ot-name-language.cc | 349
- +++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-name-language.cc | 349 +++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-name-language.hh | 40 ++++++
src/hb-ot-name-table.hh | 21 ++-
4 files changed, 399 insertions(+), 13 deletions(-)
@@ -13266,13 +14170,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 23 20:51:53 2018 -0700
[name] Hook things up
-
+
Accept Mac Latin name entries as ASCII as well.
src/hb-ot-name-table.hh | 24 +++++++++++++++------
src/hb-ot-name.cc | 8 +++++--
- src/hb-utf.hh | 55
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-utf.hh | 55 +++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 79 insertions(+), 8 deletions(-)
commit 69f5da0629f1e5a307fc49fe58490aa92d1bd0e2
@@ -13280,14 +14183,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 23 20:30:40 2018 -0700
[name] More
-
- It assumes all names are encoded in UTF16-BE. Other than that,
- and not
+
+ It assumes all names are encoded in UTF16-BE. Other than that, and not
listing languages correctly, it's *supposed* to work.
src/hb-dsalgs.hh | 21 +++++++++++++++++++++
- src/hb-ot-name-table.hh | 37
- ++++++++++++++++++++++++++++++-------
+ src/hb-ot-name-table.hh | 37 ++++++++++++++++++++++++++++++-------
src/hb-ot-name.cc | 12 ++++++++----
src/hb-ot-os2-unicode-ranges.hh | 10 +++++-----
src/hb-unicode.cc | 8 ++++----
@@ -13311,8 +14212,7 @@ Date: Tue Oct 23 20:04:05 2018 -0700
src/hb-ot-name.cc | 84 ++++++++++++++++++++++++++++++++++++------
src/hb-ot-name.h | 10 ++---
- src/hb-utf.hh | 107
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-utf.hh | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 182 insertions(+), 19 deletions(-)
commit 84811a06a26508effe9f4a9eaf1be15297ecf0cb
@@ -13350,8 +14250,7 @@ Date: Tue Oct 16 19:04:48 2018 -0700
[utf] Add UTF16-BE and UTF32-BE
src/hb-buffer.cc | 4 +--
- src/hb-utf.hh | 80
- ++++++++++++++++++++++++++++++++------------------------
+ src/hb-utf.hh | 80 ++++++++++++++++++++++++++++++++------------------------
2 files changed, 48 insertions(+), 36 deletions(-)
commit a826a8730f21ae996ae8f4d12c44dc18b9e8e933
@@ -13437,8 +14336,7 @@ Date: Mon Oct 15 22:42:04 2018 -0700
[name] Finish accelerator sorting
- src/hb-ot-name-table.hh | 61
- +++++++++++++++++++++++++++++++++++++++++--------
+ src/hb-ot-name-table.hh | 61 +++++++++++++++++++++++++++++++++++++++++--------
src/hb-ot-name.h | 3 ++-
2 files changed, 53 insertions(+), 11 deletions(-)
@@ -13450,8 +14348,7 @@ Date: Mon Oct 15 22:22:50 2018 -0700
src/hb-ot-face.cc | 1 +
src/hb-ot-face.hh | 7 +++---
- src/hb-ot-name-table.hh | 60
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-name-table.hh | 60 +++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-name.h | 3 +++
4 files changed, 68 insertions(+), 3 deletions(-)
@@ -13469,13 +14366,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 26 15:40:12 2018 -0700
[indic/khmer/myanmar/use] Clarify clear_syllable
-
+
No logic change.
src/hb-ot-shape-complex-indic.cc | 3 ++-
src/hb-ot-shape-complex-khmer.cc | 4 +---
- src/hb-ot-shape-complex-myanmar.cc | 40
- ++++++++++++++++++--------------------
+ src/hb-ot-shape-complex-myanmar.cc | 40 ++++++++++++++++++--------------------
src/hb-ot-shape-complex-use.cc | 22 +++++++++++++++------
4 files changed, 38 insertions(+), 31 deletions(-)
@@ -13485,8 +14381,7 @@ Date: Fri Oct 26 12:14:30 2018 +0330
[fuzz] Add a new testcase
- ...z-testcase-minimized-hb-shape-fuzzer-5658272078495744 | Bin 0 ->
- 2252 bytes
+ ...z-testcase-minimized-hb-shape-fuzzer-5658272078495744 | Bin 0 -> 2252 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit 30f18039b3c0e5748101f8934ae82aebfc5a83f7
@@ -13508,8 +14403,7 @@ Date: Thu Oct 25 22:39:58 2018 +0330
[svg] Collapse SVGDocumentIndex into SVG
- src/hb-ot-color-svg-table.hh | 54
- +++++++++++++++-----------------------------
+ src/hb-ot-color-svg-table.hh | 54 +++++++++++++++-----------------------------
src/hb-ot-color.cc | 2 +-
test/api/test-ot-color.c | 2 +-
3 files changed, 20 insertions(+), 38 deletions(-)
@@ -13521,8 +14415,7 @@ Date: Thu Oct 25 21:52:35 2018 +0330
[svg] Hide start_glyph and end_glyph from API
src/dump-emoji.cc | 21 ++++++++-------------
- src/hb-ot-color-svg-table.hh | 42
- ++++++++++++------------------------------
+ src/hb-ot-color-svg-table.hh | 42 ++++++++++++------------------------------
src/hb-ot-color.cc | 9 ++-------
src/hb-ot-color.h | 5 +----
test/api/test-ot-color.c | 11 ++---------
@@ -13533,15 +14426,14 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Oct 23 18:00:48 2018 +0330
[svg] Add public API
-
+
* hb_ot_color_has_svg
* hb_ot_color_glyph_svg_create_blob
src/dump-emoji.cc | 51 +++++++++++++++----------
src/hb-open-type.hh | 1 -
src/hb-ot-color-sbix-table.hh | 2 +
- src/hb-ot-color-svg-table.hh | 86
- ++++++++++++++++++++++++++++++++-----------
+ src/hb-ot-color-svg-table.hh | 86 ++++++++++++++++++++++++++++++++-----------
src/hb-ot-color.cc | 53 ++++++++++++++++++++++----
src/hb-ot-color.h | 13 +++++++
src/hb-ot-face.cc | 2 +
@@ -13555,7 +14447,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 25 22:25:29 2018 -0700
[layout] Try to speed up collect_lookups some more
-
+
Barely made a dent :(.
src/hb-ot-layout-common.hh | 2 ++
@@ -13567,12 +14459,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 25 21:42:19 2018 -0700
[layout] Memoize collect_features
-
+
Fixes https://github.com/harfbuzz/harfbuzz/pull/1317
Fixes https://oss-fuzz.com/v2/testcase-detail/6543700493598720
- src/hb-ot-layout.cc | 55
- ++++++++++++++++++++++++++++++++++++++++++++++-------
+ src/hb-ot-layout.cc | 55 ++++++++++++++++++++++++++++++++++++++++++++++-------
1 file changed, 48 insertions(+), 7 deletions(-)
commit 84098b1639775aea5bf3f5d91fa6e657b612ce3a
@@ -13589,11 +14480,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 25 21:26:08 2018 -0700
[layout] Add hb_collect_features_context_t
-
+
Towards https://github.com/harfbuzz/harfbuzz/pull/1317
- src/hb-ot-layout.cc | 66
- +++++++++++++++++++++++++++++------------------------
+ src/hb-ot-layout.cc | 66 +++++++++++++++++++++++++++++------------------------
1 file changed, 36 insertions(+), 30 deletions(-)
commit c237cdfcc74d33f77b2399b4d08228c2fcf50df5
@@ -13611,8 +14501,7 @@ Date: Thu Oct 25 20:58:34 2018 -0700
[layout] More prep work to memoize collect_features() work
- src/hb-ot-layout.cc | 62
- ++++++++++++++++++++---------------------------------
+ src/hb-ot-layout.cc | 62 ++++++++++++++++++++---------------------------------
1 file changed, 23 insertions(+), 39 deletions(-)
commit e8e67503ff0a50eb10ad410d6a76a282ea494cf4
@@ -13620,12 +14509,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 25 20:48:20 2018 -0700
[lookup] More prep work for memoizing collect_features
-
+
https://github.com/harfbuzz/harfbuzz/pull/1317
src/hb-ot-layout-common.hh | 2 ++
- src/hb-ot-layout.cc | 83
- +++++++++++++++++++++-------------------------
+ src/hb-ot-layout.cc | 83 +++++++++++++++++++++-------------------------
2 files changed, 40 insertions(+), 45 deletions(-)
commit 96828b97a8fc2c50721ce040bdde63c462908791
@@ -13633,7 +14521,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 25 20:34:29 2018 -0700
[layout] Minor
-
+
We were returning the accelerator's lookup count. Returns table's.
They are the same except for OOM cases. Just shorter code.
@@ -13645,7 +14533,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 25 20:32:05 2018 -0700
[layout] Fold one function inline
-
+
Preparation for fixing https://github.com/harfbuzz/harfbuzz/pull/1317
src/hb-ot-layout.cc | 22 +++-------------------
@@ -13656,9 +14544,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 25 17:41:26 2018 -0700
[morx] Use deleted-glyph, instead of actual deletion, in Ligation
-
+
Closer to what CoreText does.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1302
src/hb-aat-layout-morx-table.hh | 3 +--
@@ -13687,7 +14575,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 25 17:29:32 2018 -0700
[aat] Start adding support for DELETED-GLYPH
-
+
https://github.com/harfbuzz/harfbuzz/issues/1302
src/hb-aat-layout-common.hh | 2 ++
@@ -13698,7 +14586,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 25 16:50:38 2018 -0700
[vector] Make it act more like pointer
-
+
Add pointer cast operator and plus operator.
src/hb-coretext.cc | 2 +-
@@ -13724,7 +14612,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 25 16:35:36 2018 -0700
[set] Make array access more explicit
-
+
Follow up on 94e421abbfc7ede9aaf3c8d86bb0ff9992ea3123
src/hb-set.hh | 4 +++-
@@ -13753,11 +14641,10 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Thu Oct 25 13:40:40 2018 -0700
dropped support of legacy CFF CharString ops
-
+
along with test & font
- src/hb-cff1-interp-cs.hh | 135
- +-------------------------------------
+ src/hb-cff1-interp-cs.hh | 135 +-------------------------------------
test/api/fonts/cff1_legacyops.otf | Bin 3104 -> 0 bytes
test/api/test-ot-extents-cff.c | 23 -------
3 files changed, 1 insertion(+), 157 deletions(-)
@@ -13776,7 +14663,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 25 13:23:33 2018 -0700
[test] Rename some fonts
-
+
If we have duplicae font files in different directories, that would
break the oss-fuzz build currently. So, rename some to avoid
name class with text-rendering-test. Would be better to find
@@ -13787,8 +14674,7 @@ Date: Thu Oct 25 13:23:33 2018 -0700
.../data/in-house/fonts/{TestTTC.ttc => TTC.ttc} | Bin
test/shaping/data/in-house/fonts/TestDFONT.dfont | Bin 3505 -> 0 bytes
test/shaping/data/in-house/tests/aat-morx.tests | 2 +-
- test/shaping/data/in-house/tests/aat-trak.tests | 22
- ++++++++++-----------
+ test/shaping/data/in-house/tests/aat-trak.tests | 22 ++++++++++-----------
test/shaping/data/in-house/tests/collections.tests | 12 +++++------
7 files changed, 18 insertions(+), 18 deletions(-)
@@ -13797,9 +14683,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 25 13:19:34 2018 -0700
Fix possible overflow in bsearch impls
-
+
From bungeman.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/pull/1314
src/hb-dsalgs.hh | 2 +-
@@ -13821,14 +14707,11 @@ Author: Ben Wagner <bungeman@chromium.org>
Date: Thu Oct 25 13:44:27 2018 -0400
Remove some use of Crap in hb-set.
-
- When hb_set_t::page_for_insert needs to insert at the end of the
- page_map
+
+ When hb_set_t::page_for_insert needs to insert at the end of the page_map
it ends up evaluating '&page_map[i + 1]' which has hb_vector return an
- lvalue of a Crap so that nothing can be moved to its address. This
- turns
- into issues with ThreadSanitizer on Crap when two threads modify
- different
+ lvalue of a Crap so that nothing can be moved to its address. This turns
+ into issues with ThreadSanitizer on Crap when two threads modify different
hb_set_t instances. This can be avoided by using '&page_map[i] + 1'
instead.
@@ -13836,8 +14719,7 @@ Date: Thu Oct 25 13:44:27 2018 -0400
1 file changed, 1 insertion(+), 1 deletion(-)
commit 2798ac1c28edc4ba6f2283784d1027393f588f8c
-Author: azure-pipelines[bot]
-<azure-pipelines[bot]@users.noreply.github.com>
+Author: azure-pipelines[bot] <azure-pipelines[bot]@users.noreply.github.com>
Date: Thu Oct 25 15:22:54 2018 +0000
Set up CI with Azure Pipelines
@@ -13850,7 +14732,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Thu Oct 25 01:55:10 2018 +0200
[appveyor] Drop Cygwin builds again
-
+
They are so slow and we had only a couple of Cygwin build failure
reported in ~5 years.
@@ -13862,7 +14744,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Wed Oct 24 22:58:22 2018 +0200
[appveyor] Limit make to three jobs
-
+
https://github.com/harfbuzz/harfbuzz/pull/1309#issuecomment-432778270
appveyor.yml | 4 ++--
@@ -13873,7 +14755,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 24 16:46:07 2018 -0700
[vowel-constraints] Reset continuation on all dottedcircles
-
+
One of the was missed before. Not intentional.
src/gen-vowel-constraints.py | 9 +++++++--
@@ -13894,9 +14776,8 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Wed Oct 24 11:23:21 2018 +0200
[appveyor] Do not update msys2
-
- Looks like AppVeyor has new enough packages for our needs. Cuts
- CI build
+
+ Looks like AppVeyor has new enough packages for our needs. Cuts CI build
time by 5 minutes.
appveyor.yml | 5 ++---
@@ -13925,11 +14806,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 23 17:00:49 2018 -0700
[ot-font] Fix sign of ascent/descent
-
+
Some fonts, like msmincho, have positive number as descent
in vhea table. That's wrong. Just enforce sign on ascent/descent
when reading both horizontal and vertical metrics.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1248
src/hb-ot-hmtx-table.hh | 8 ++++----
@@ -13940,15 +14821,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 23 16:46:10 2018 -0700
[morx] Fix cluster-merging when ligating
-
+
Only merge when actual ligature happened.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1305
src/hb-aat-layout-morx-table.hh | 7 ++++---
test/shaping/data/in-house/Makefile.sources | 1 +
- test/shaping/data/in-house/fonts/TestMORXTwentyeight.ttf | Bin 0 ->
- 2660 bytes
+ test/shaping/data/in-house/fonts/TestMORXTwentyeight.ttf | Bin 0 -> 2660 bytes
test/shaping/data/in-house/tests/aat-morx.tests | 1 +
4 files changed, 6 insertions(+), 3 deletions(-)
@@ -13980,8 +14860,7 @@ Date: Tue Oct 23 14:31:51 2018 -0700
[aat] Fix up previous commit and add files
src/hb-aat-map.cc | 62 +++++++++++++++++++++++++++++++
- src/hb-aat-map.hh | 106
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-aat-map.hh | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-map.cc | 1 +
src/hb-ot-shape.cc | 15 ++++++--
4 files changed, 181 insertions(+), 3 deletions(-)
@@ -13991,20 +14870,20 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 23 14:14:03 2018 -0700
[aat] Allow enabling/disabling features
-
+
Only works at entire-buffer range, not sub-ranges.
-
+
Test with:
-
+
$ hb-shape Zapfino.dfont Zapfino
[Z_a_p_f_i_n_o=0+2333]
-
+
$ hb-shape Zapfino.dfont Zapfino --features=-dlig
[Z=0+416|a=1@-21,0+264|p_f=2+433|i=4+181|n=5+261|o=6+250]
-
+
$ hb-shape Zapfino.dfont Zapfino --features=+dlig
[Z_a_p_f_i_n_o=0+2333]
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1303
src/Makefile.sources | 2 ++
@@ -14055,7 +14934,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 23 03:10:56 2018 -0700
[trak] Allow disabling tracking for ranges of text
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1303
src/hb-aat-layout-trak-table.hh | 4 ++++
@@ -14078,9 +14957,8 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Oct 23 00:52:05 2018 +0330
Make tracking optout possible using 'trak' ot feature
-
- So '--features=-trak' or 'font-feature-settings: 'trak' 0;'
- can prevent
+
+ So '--features=-trak' or 'font-feature-settings: 'trak' 0;' can prevent
applying of tracking if used.
src/hb-ot-shape.cc | 10 +++++++---
@@ -14092,7 +14970,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 23 02:51:42 2018 -0700
Touch up on previous commit
-
+
https://github.com/harfbuzz/harfbuzz/pull/1273
src/HBIndicVowelConstraints.txt | 97 ++++++
@@ -14101,10 +14979,8 @@ Date: Tue Oct 23 02:51:42 2018 -0700
src/gen-vowel-constraints.py | 124 ++------
src/hb-ot-shape-complex-indic.cc | 10 +-
src/hb-ot-shape-complex-use.cc | 11 +-
- src/hb-ot-shape-complex-vowel-constraints.cc | 433
- ++++++++++++++++++++++++++
- src/hb-ot-shape-complex-vowel-constraints.hh | 447
- ++-------------------------
+ src/hb-ot-shape-complex-vowel-constraints.cc | 433 ++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-vowel-constraints.hh | 447 ++-------------------------
8 files changed, 606 insertions(+), 523 deletions(-)
commit 205737acdc268b1c90cf00bde2d2038519a8bf48
@@ -14118,8 +14994,7 @@ Date: Fri Oct 12 16:54:54 2018 -0400
src/gen-vowel-constraints.py | 286 ++++++++++++++
src/hb-ot-shape-complex-indic.cc | 272 +------------
src/hb-ot-shape-complex-use.cc | 3 +-
- src/hb-ot-shape-complex-vowel-constraints.hh | 434
- +++++++++++++++++++++
+ src/hb-ot-shape-complex-vowel-constraints.hh | 434 +++++++++++++++++++++
test/shaping/README.md | 4 +-
.../46669c8860cbfea13562a6ca0d83130ee571137b.ttf | Bin 0 -> 7184 bytes
.../in-house/tests/use-vowel-letter-spoofing.tests | 94 +++++
@@ -14130,17 +15005,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 23 02:19:32 2018 -0700
[VORG] Hook up to hb-ot-font's v_origin
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/544
-
+
Test added with NotoSansCJK, eg. with U+FF38.
src/hb-ot-face.cc | 1 -
- src/hb-ot-font.cc | 11
- +++++++++--
+ src/hb-ot-font.cc | 11 +++++++++--
src/hb-ot-vorg-table.hh | 6 ++++--
- .../fonts/4cbbc461be066fccc611dcc634af6e8cb2705537.ttf | Bin 0 ->
- 2808 bytes
+ .../fonts/4cbbc461be066fccc611dcc634af6e8cb2705537.ttf | Bin 0 -> 2808 bytes
test/shaping/data/in-house/tests/vertical.tests | 1 +
5 files changed, 14 insertions(+), 5 deletions(-)
@@ -14149,7 +15022,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 23 02:09:42 2018 -0700
[VORG] Add get_y_origin()
-
+
Unhooked.
src/hb-ot-vorg-table.hh | 16 ++++++++++++++--
@@ -14160,14 +15033,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 23 01:58:59 2018 -0700
[VORG] Add VORG table
-
+
Cherry-picked from cff-subset branch.
src/Makefile.sources | 1 +
src/hb-ot-face.cc | 1 +
src/hb-ot-face.hh | 1 +
- src/hb-ot-vorg-table.hh | 168
- ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-vorg-table.hh | 168 ++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 171 insertions(+)
commit 531f9822b2e8a60f03c43d6f86ef9ed32c951f0e
@@ -14195,8 +15067,7 @@ Date: Mon Oct 22 23:41:47 2018 -0700
[test/text-rendering-tests] Update from upstream
test/shaping/data/text-rendering-tests/Makefile.sources | 2 +-
- .../data/text-rendering-tests/fonts/TestTRAKOne.ttf | Bin 0 ->
- 1752 bytes
+ .../data/text-rendering-tests/fonts/TestTRAKOne.ttf | Bin 0 -> 1752 bytes
2 files changed, 1 insertion(+), 1 deletion(-)
commit 792071de4075cb9af0793f0d7c70da0780923bb6
@@ -14204,16 +15075,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 22 23:38:34 2018 -0700
[morx] Leave ligature on stack after ligating
-
+
Test with Apple Color Emoji.ttf of ~66MB and following sequence:
-
- ./hb-shape Apple\ Color\ Emoji-old.ttf --font-funcs=ot -u
- U+1F468,200d,U+1F469,200d,U+1F467,200d,1f466
-
+
+ ./hb-shape Apple\ Color\ Emoji-old.ttf --font-funcs=ot -u U+1F468,200d,U+1F469,200d,U+1F467,200d,1f466
+
Should form full family if matching works correctly. It first makes
family of three, then makes family of four out of that and the last
two characters.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1292
src/hb-aat-layout-morx-table.hh | 1 -
@@ -14224,18 +15094,16 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Oct 23 09:23:48 2018 +0330
[ci] Disable llvm-gcc
-
- #define Null(Type) Null<typename hb_remove_const<typename
- hb_remove_reference<Type>::value>::value>()
-
+
+ #define Null(Type) Null<typename hb_remove_const<typename hb_remove_reference<Type>::value>::value>()
+
raises:
hb-blob.cc: In function 'hb_blob_t* hb_blob_get_empty()':
hb-blob.cc:194: error: using 'typename' outside of template
hb-blob.cc:194: error: using 'typename' outside of template
-
- Removing "typename"s fixes the issue but makes newer compiler fail
- apparently.
-
+
+ Removing "typename"s fixes the issue but makes newer compiler fail apparently.
+
Probably downstream can patch that locally till we get a solution.
.circleci/config.yml | 4 ++--
@@ -14256,7 +15124,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 22 21:33:18 2018 -0700
Add hb_array<>() specialization for UnsizedArrayOf
-
+
Related https://github.com/harfbuzz/harfbuzz/issues/1301
src/hb-aat-layout-trak-table.hh | 2 +-
@@ -14270,9 +15138,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 22 21:27:45 2018 -0700
Add hb_array<>()
-
+
Simplifies transient object creation.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1301
src/hb-aat-layout-trak-table.hh | 2 +-
@@ -14286,7 +15154,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 22 21:22:25 2018 -0700
[color] Use Index for colorIdx
-
+
Doesn't matter, but matches the description.
src/hb-ot-color-colr-table.hh | 2 +-
@@ -14297,11 +15165,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 22 21:18:27 2018 -0700
Remove const and references when binding Null()
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1299
-
- Removes anomaly I was seeing in cpal table trying to use implicit
- Null(NameID).
+
+ Removes anomaly I was seeing in cpal table trying to use implicit Null(NameID).
src/hb-atomic.hh | 5 +----
src/hb-common.cc | 2 +-
@@ -14318,10 +15185,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 22 18:20:57 2018 -0700
[color] Add HB_COLOR
-
+
Normally I would have added to_string / from_string like other types
- have. But since we don't use hb_color_t much, I'm not going to
- do that.
+ have. But since we don't use hb_color_t much, I'm not going to do that.
Although, if we did, we could use it in hb-view to parse colors...
src/hb-common.h | 14 +++++++++-----
@@ -14332,11 +15198,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 22 16:55:12 2018 -0700
[color] Finish reviewing / revamping CPAL
-
+
Now to hb_color_t.
- src/hb-ot-color-cpal-table.hh | 52
- ++++++++++++++++++++++---------------------
+ src/hb-ot-color-cpal-table.hh | 52 ++++++++++++++++++++++---------------------
src/hb-ot-color.cc | 33 +++++----------------------
src/hb-ot-color.h | 10 ++++-----
3 files changed, 38 insertions(+), 57 deletions(-)
@@ -14365,8 +15230,7 @@ Date: Mon Oct 22 16:30:30 2018 -0700
[color] Rely on CPALV1Tail Null object
- src/hb-ot-color-cpal-table.hh | 39
- ++++++++++++++-------------------------
+ src/hb-ot-color-cpal-table.hh | 39 ++++++++++++++-------------------------
1 file changed, 14 insertions(+), 25 deletions(-)
commit d7865107ea4664e04c03a1d79678cdcadc0d5ea5
@@ -14374,7 +15238,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 22 16:18:34 2018 -0700
Remove const from hb_array_t details
-
+
Will come in through <T> if desired.
src/hb-aat-layout-trak-table.hh | 6 +++---
@@ -14387,14 +15251,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 22 16:16:21 2018 -0700
[color] Use hb_array_t in CPAL
-
+
Doesn't work though, ouch :(. Need to figure out if it's unreasonable
to expect Null(T) inside hb_array_t<T> to see the later specialization
of Null for NameID.
src/hb-open-type.hh | 3 ++-
- src/hb-ot-color-cpal-table.hh | 47
- ++++++++++++++++++++++---------------------
+ src/hb-ot-color-cpal-table.hh | 47 ++++++++++++++++++++++---------------------
src/hb-static.cc | 1 +
3 files changed, 27 insertions(+), 24 deletions(-)
@@ -14403,7 +15266,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 22 14:54:55 2018 -0700
[color] Check for null CPAL arrays
-
+
We cannot use a nullable offset here though.
src/hb-ot-color-cpal-table.hh | 12 ++++++------
@@ -14415,8 +15278,7 @@ Date: Mon Oct 22 14:51:40 2018 -0700
[color] More CPAL rename
- src/hb-ot-color-cpal-table.hh | 104
- +++++++++++++++++++++---------------------
+ src/hb-ot-color-cpal-table.hh | 104 +++++++++++++++++++++---------------------
src/hb-ot-color.cc | 6 +--
2 files changed, 54 insertions(+), 56 deletions(-)
@@ -14489,8 +15351,7 @@ Date: Mon Oct 22 13:02:04 2018 -0700
src/hb-ot-color.cc | 81 ++++++++++++++---------------
src/hb-ot-color.h | 26 +++++-----
- test/api/test-ot-color.c | 130
- +++++++++++++++++++++++------------------------
+ test/api/test-ot-color.c | 130 +++++++++++++++++++++++------------------------
3 files changed, 117 insertions(+), 120 deletions(-)
commit 3bf91bd2690cda34a7687ed5465dc4bb0672f2b6
@@ -14498,21 +15359,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 22 12:40:38 2018 -0700
[color] Rewrite colr access
-
- COLR table has one function: return layers for a glyph, and we
- expose exactly
- that, so should just wire it through. Also use sub_array() for
- verifiable
+
+ COLR table has one function: return layers for a glyph, and we expose exactly
+ that, so should just wire it through. Also use sub_array() for verifiable
safety.
-
- Also, BaseGlyphRecord's null object is enough. We don't need to
- special-case
+
+ Also, BaseGlyphRecord's null object is enough. We don't need to special-case
the not-found.
src/hb-dsalgs.hh | 11 +++++++++
src/hb-open-type.hh | 2 +-
- src/hb-ot-color-colr-table.hh | 53
- +++++++++++++++++++++++--------------------
+ src/hb-ot-color-colr-table.hh | 53 +++++++++++++++++++++++--------------------
src/hb-ot-color.cc | 19 +---------------
4 files changed, 41 insertions(+), 44 deletions(-)
@@ -14521,7 +15378,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 22 10:29:01 2018 -0700
[colr] Add hb_ot_color_layer_t
-
+
We never return parallel arrays from functions. That's inconvenient
and hard to bind.
@@ -14535,13 +15392,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 21 19:23:11 2018 -0700
[color] Rename / reorder a bit
-
+
Implement has_data() for realz.
src/hb-ot-color-colr-table.hh | 2 ++
src/hb-ot-color-cpal-table.hh | 2 ++
- src/hb-ot-color.cc | 78
- ++++++++++++++++++++++++-------------------
+ src/hb-ot-color.cc | 78 ++++++++++++++++++++++++-------------------
src/hb-ot-color.h | 33 ++++++++++++------
test/api/test-ot-color.c | 30 ++++++++---------
5 files changed, 85 insertions(+), 60 deletions(-)
@@ -14568,7 +15424,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 21 19:02:47 2018 -0700
[color] Rename "gid" to "glyph"
-
+
We don't expose "gid" in API.
src/hb-ot-color.cc | 12 ++++++------
@@ -14613,7 +15469,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 21 17:42:51 2018 -0700
[colr] Move compare function into a static
-
+
Not sure if MSVC would be unhappy about this.
src/hb-ot-color-colr-table.hh | 16 ++++++++--------
@@ -14633,7 +15489,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 21 17:39:39 2018 -0700
[colr] Move sanitize() to right place
-
+
Sanitize always comes just before data member definitions, so
it's easy to cross-check.
@@ -14645,7 +15501,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 21 17:39:00 2018 -0700
[colr] Touch up a bit
-
+
When a struct is plain old data with no references, etc, it's okay
to mark its members public.
@@ -14701,8 +15557,7 @@ Date: Sun Oct 21 09:44:16 2018 +0330
[CPAL] Add palette entry and enable palette flag API
src/hb-ot-color-cpal-table.hh | 66 +++++++++++++++----------
- src/hb-ot-color.cc | 109
- ++++++++++++++++++++++++------------------
+ src/hb-ot-color.cc | 109 ++++++++++++++++++++++++------------------
src/hb-ot-color.h | 23 +++++++++
test/api/test-ot-color.c | 35 ++++++++++++--
4 files changed, 158 insertions(+), 75 deletions(-)
@@ -14728,8 +15583,7 @@ Date: Sun Oct 21 08:26:40 2018 +0330
src/dump-emoji.cc | 26 ++++----
src/hb-common.h | 12 ++++
src/hb-ot-color-cpal-table.hh | 37 +++++-------
- src/hb-ot-color.cc | 136
- +++++++++++++++++++++++++-----------------
+ src/hb-ot-color.cc | 136 +++++++++++++++++++++++++-----------------
src/hb-ot-color.h | 38 +++---------
test/api/test-ot-color.c | 101 +++++++++++++++----------------
6 files changed, 179 insertions(+), 171 deletions(-)
@@ -14781,8 +15635,7 @@ Date: Fri Oct 19 17:44:06 2018 +0330
Make ot-color tests pass
- test/api/test-ot-color.c | 52
- ++++++++++++++++++++++++------------------------
+ test/api/test-ot-color.c | 52 ++++++++++++++++++++++++------------------------
1 file changed, 26 insertions(+), 26 deletions(-)
commit d4e928b1421c154adbda9b6e1f2cf804b21654cb
@@ -14792,8 +15645,7 @@ Date: Tue May 1 17:16:46 2018 +0200
[color] Minimal API for COLR/CPAL
src/Makefile.sources | 1 +
- src/dump-emoji.cc | 114
- +++++++++++----------
+ src/dump-emoji.cc | 114 +++++++++++----------
src/hb-ot-color-colr-table.hh | 12 +--
src/hb-ot-color-cpal-table.hh | 51 +++------
src/hb-ot-color.cc | 87 +++++++++++-----
@@ -14811,8 +15663,7 @@ Date: Mon Oct 22 10:51:37 2018 +0330
[fuzz] Add a found hb-subset testcase
- ...z-testcase-minimized-hb-subset-fuzzer-5725847365877760 | Bin 0 ->
- 880 bytes
+ ...z-testcase-minimized-hb-subset-fuzzer-5725847365877760 | Bin 0 -> 880 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit 0ecddad7c5948ecd7879bc7507f8a7a2d99eee86
@@ -14829,13 +15680,12 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sun Oct 21 11:37:38 2018 +0330
[fuzz] Add more testcases
-
+
Fixed already but better to have anyway.
-
+
One didn't have minimized but it was only 164 B, so
- ...uzz-testcase-minimized-hb-shape-fuzzer-5706010589659136 | Bin 0 ->
- 52 bytes
+ ...uzz-testcase-minimized-hb-shape-fuzzer-5706010589659136 | Bin 0 -> 52 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit 4fa94a3e39c21bc1dcdbbd5bda99bff1e1490b0e
@@ -14844,7 +15694,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sun Oct 21 11:36:41 2018 +0330
Merge pull request #1290 from ebraminio/testopenfont
-
+
[test] Unify font file opening across the tests
commit c110878cb61f5df99e9d97dda253f2987ddce58e
@@ -14874,8 +15724,7 @@ Date: Sat Oct 20 20:39:56 2018 -0700
[fuzzing] Add more font
- .../clusterfuzz-testcase-hb-shape-fuzzer-5097734906839040 | Bin 0 ->
- 164 bytes
+ .../clusterfuzz-testcase-hb-shape-fuzzer-5097734906839040 | Bin 0 -> 164 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit 1e39833ba8547c90a0a4ed7f265a6c4bc8eb8fe1
@@ -14910,7 +15759,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Oct 20 16:49:16 2018 -0700
[docs] Fix warning
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1260
src/hb-deprecated.h | 6 ------
@@ -14923,8 +15772,7 @@ Date: Sat Oct 20 14:56:28 2018 -0700
[kerx] Implement tuple-kerning in Format0
- src/hb-aat-layout-kerx-table.hh | 44
- ++++++++++++++++++++++++++++-------------
+ src/hb-aat-layout-kerx-table.hh | 44 ++++++++++++++++++++++++++++-------------
1 file changed, 30 insertions(+), 14 deletions(-)
commit 0a3b7a0fb0734a66926dfda5d95d3cacea8890ce
@@ -14952,7 +15800,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Oct 20 12:09:41 2018 -0700
[kerx] Fix sanitize of KerxSubtableFormat2::array read
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11033
src/hb-aat-layout-kerx-table.hh | 5 +++--
@@ -14963,7 +15811,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Oct 20 12:04:51 2018 -0700
[aat] Fix LookupFormat10 sanitize
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11060
src/hb-aat-layout-common.hh | 2 +-
@@ -14983,7 +15831,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sat Oct 20 21:13:25 2018 +0330
[TODO] Remove BCP 47 language handling item
-
+
Closes https://github.com/harfbuzz/harfbuzz/issues/1286
TODO | 2 --
@@ -14995,10 +15843,8 @@ Date: Sat Oct 20 12:20:30 2018 +0330
[fuzzing] Add new testcases
- .../clusterfuzz-testcase-hb-shape-fuzzer-5688420752424960 | Bin 0 ->
- 163 bytes
- ...zz-testcase-minimized-hb-shape-fuzzer-5688420752424960 | Bin 0 ->
- 69 bytes
+ .../clusterfuzz-testcase-hb-shape-fuzzer-5688420752424960 | Bin 0 -> 163 bytes
+ ...zz-testcase-minimized-hb-shape-fuzzer-5688420752424960 | Bin 0 -> 69 bytes
2 files changed, 0 insertions(+), 0 deletions(-)
commit 1e55e21dea78aaaddc0715e7df96fd198ec8f78a
@@ -15007,7 +15853,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sat Oct 20 07:45:46 2018 +0330
Merge pull request #1283 from khaledhosny/cygwin
-
+
Cygwin fixes and CI build
commit 964ae32aac793540a49c44efab878592394d48db
@@ -15075,7 +15921,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 19 19:12:33 2018 -0700
[font] Fix parallel funcs passing to eachover in infinite-loop
-
+
Fixes test just added.
src/hb-font.cc | 20 +++++++++++++-------
@@ -15087,11 +15933,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 19 19:01:01 2018 -0700
[font] Add failing test amongst font-func parallels infinite-looping
-
+
Reported by Nona while updating Android to HarfBuzz 2.0.0.
- test/api/test-font.c | 64
- ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ test/api/test-font.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
commit d084719ff5a9e0e363bf352037f85b884bff11a7
@@ -15099,7 +15944,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Sat Oct 20 00:18:36 2018 +0200
Add Cygwin CI build
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1274
appveyor.yml | 15 +++++++++++++++
@@ -15110,12 +15955,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 19 16:06:54 2018 -0700
[kerx] Implement variation-kerning tables (without the variation part)
-
+
SFSNDisplay uses these. We just apply the default kern without
variations right now. But at least makes the default kern work.
- src/hb-aat-layout-kerx-table.hh | 37
- +++++++++++++++++++++++++++++--------
+ src/hb-aat-layout-kerx-table.hh | 37 +++++++++++++++++++++++++++++--------
1 file changed, 29 insertions(+), 8 deletions(-)
commit f7c0b4319c6f82f1e0020a0029469d8953a7a161
@@ -15125,8 +15969,7 @@ Date: Fri Oct 19 15:23:49 2018 -0700
[aat] Implement LookupFormat10
src/hb-aat-layout-ankr-table.hh | 6 +++--
- src/hb-aat-layout-common.hh | 55
- ++++++++++++++++++++++++++++++++++++++---
+ src/hb-aat-layout-common.hh | 55 ++++++++++++++++++++++++++++++++++++++---
src/hb-machinery.hh | 4 +++
src/hb-open-type.hh | 3 +++
4 files changed, 63 insertions(+), 5 deletions(-)
@@ -15136,7 +15979,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Fri Oct 19 22:21:39 2018 +0200
Use g_strdup instead of strdup
-
+
Cygwin does not seem to have strdup.
util/options.hh | 2 +-
@@ -15147,7 +15990,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Fri Oct 19 22:04:56 2018 +0200
Use O_BINARY instead of _O_BINARY
-
+
Cygwin does not seem to have the later
src/hb-blob.cc | 6 +++---
@@ -15167,7 +16010,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 19 11:15:35 2018 -0700
[RELEASING] Post-mortem
-
+
Re https://github.com/harfbuzz/harfbuzz/issues/1271
RELEASING.md | 5 ++++-
@@ -15196,7 +16039,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Fri Oct 19 12:05:26 2018 +0330
Fix hb_map_is_empty logic
-
+
This needs reviewing
src/hb-map.hh | 2 +-
@@ -15211,8 +16054,7 @@ Date: Fri Oct 19 12:04:47 2018 +0330
src/Makefile.am | 2 +-
test/api/Makefile.am | 6 ++-
- test/api/test-map.c | 114
- +++++++++++++++++++++++++++++++++++++++++++++++++++
+ test/api/test-map.c | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 120 insertions(+), 2 deletions(-)
commit 8a5eba711069285e8d8b6d682eea0090256527bb
@@ -15257,10 +16099,9 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Fri Oct 19 18:46:41 2018 +0330
[ci] Run valgrind on test/api
-
+
run-shape-fuzzer-tests.py automatically runs valgrind if see available
- but test/api runs it by request, we probably should normalize the
- approaches
+ but test/api runs it by request, we probably should normalize the approaches
later
.circleci/config.yml | 6 +++++-
@@ -15305,8 +16146,7 @@ Date: Fri Oct 19 09:24:21 2018 +0330
Enable valgrind and dedicate a bot to it
.circleci/config.yml | 13 +++++++++++++
- test/fuzzing/run-shape-fuzzer-tests.py | 31
- +++++++++++++++++++++++++++++++
+ test/fuzzing/run-shape-fuzzer-tests.py | 31 +++++++++++++++++++++++++++++++
2 files changed, 44 insertions(+)
commit bccd09d6c7baa99fdaccb8c5b3ff7e1834edd3bf
@@ -15315,8 +16155,7 @@ Date: Fri Oct 19 09:06:42 2018 +0330
Minor, tweak spaces on hb-shape-fuzzer.cc
- test/fuzzing/hb-shape-fuzzer.cc | 42
- ++++++++++++++++++++---------------------
+ test/fuzzing/hb-shape-fuzzer.cc | 42 ++++++++++++++++++++---------------------
1 file changed, 21 insertions(+), 21 deletions(-)
commit fbf665b307c8cc9f16f5897671bfdd8719a195b5
@@ -15325,32 +16164,19 @@ Date: Fri Oct 19 08:09:53 2018 +0330
[fuzz] Add more found cases (#1275)
- ...clusterfuzz-testcase-hb-shape-fuzzer-5728971283496960 | Bin 0 ->
- 101 bytes
- ...terfuzz-testcase-minimized-hb-fuzzer-5713868010553344 | Bin 0 ->
- 370 bytes
- ...terfuzz-testcase-minimized-hb-fuzzer-6278851874258944 | Bin 0 ->
- 598 bytes
- ...z-testcase-minimized-hb-shape-fuzzer-5649959857160192 | Bin 0 ->
- 3608 bytes
- ...z-testcase-minimized-hb-shape-fuzzer-5664873493561344 | Bin 0 ->
- 400 bytes
- ...z-testcase-minimized-hb-shape-fuzzer-5762953198960640 | Bin 0 ->
- 62 bytes
- ...z-testcase-minimized-hb-shape-fuzzer-5764636557705216 | Bin 0 ->
- 2184 bytes
- ...-testcase-minimized-hb-subset-fuzzer-5690658895953920 | Bin 0 ->
- 2735 bytes
- ...-testcase-minimized-hb-subset-fuzzer-5695279609675776 | Bin 0 ->
- 135 bytes
- ...-testcase-minimized-hb-subset-fuzzer-5718215406125056 | Bin 0 ->
- 107 bytes
- ...-testcase-minimized-hb-subset-fuzzer-5743250149736448 | Bin 0 ->
- 103 bytes
- ...-testcase-minimized-hb-subset-fuzzer-5765071062958080 | Bin 0 ->
- 329 bytes
- ...ized-hb-subset-get-codepoints-fuzzer-5930139383758848 | Bin 0 ->
- 9410 bytes
+ ...clusterfuzz-testcase-hb-shape-fuzzer-5728971283496960 | Bin 0 -> 101 bytes
+ ...terfuzz-testcase-minimized-hb-fuzzer-5713868010553344 | Bin 0 -> 370 bytes
+ ...terfuzz-testcase-minimized-hb-fuzzer-6278851874258944 | Bin 0 -> 598 bytes
+ ...z-testcase-minimized-hb-shape-fuzzer-5649959857160192 | Bin 0 -> 3608 bytes
+ ...z-testcase-minimized-hb-shape-fuzzer-5664873493561344 | Bin 0 -> 400 bytes
+ ...z-testcase-minimized-hb-shape-fuzzer-5762953198960640 | Bin 0 -> 62 bytes
+ ...z-testcase-minimized-hb-shape-fuzzer-5764636557705216 | Bin 0 -> 2184 bytes
+ ...-testcase-minimized-hb-subset-fuzzer-5690658895953920 | Bin 0 -> 2735 bytes
+ ...-testcase-minimized-hb-subset-fuzzer-5695279609675776 | Bin 0 -> 135 bytes
+ ...-testcase-minimized-hb-subset-fuzzer-5718215406125056 | Bin 0 -> 107 bytes
+ ...-testcase-minimized-hb-subset-fuzzer-5743250149736448 | Bin 0 -> 103 bytes
+ ...-testcase-minimized-hb-subset-fuzzer-5765071062958080 | Bin 0 -> 329 bytes
+ ...ized-hb-subset-get-codepoints-fuzzer-5930139383758848 | Bin 0 -> 9410 bytes
13 files changed, 0 insertions(+), 0 deletions(-)
commit 51fba41cc958ded3afc6c1e738895b0a81993e18
@@ -15375,12 +16201,11 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Thu Oct 18 13:04:21 2018 -0700
implement flex ops for glyph extents/subset
-
+
also removed unused CSInterpEnv::move_[xy]_with_arg
fixed bug a width being left over on argStack with CFF1
- src/hb-cff-interp-cs-common.hh | 157
- +++++++++++++++++++++++++++++++++++------
+ src/hb-cff-interp-cs-common.hh | 157 +++++++++++++++++++++++++++++++++++------
src/hb-cff1-interp-cs.hh | 1 +
src/hb-subset-cff1.cc | 4 --
src/hb-subset-cff2.cc | 4 --
@@ -15392,8 +16217,7 @@ Date: Thu Oct 18 05:58:17 2018 -0700
2.0.0
- NEWS | 68
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ NEWS | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++
configure.ac | 2 +-
src/hb-buffer.cc | 4 ++--
src/hb-common.h | 4 ++--
@@ -15421,21 +16245,18 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Thu Oct 18 11:06:37 2018 +0330
[ubsan] Use unsigned int instead enum where needed (#1270)
-
+
Actually the check is right,
-
+
On -myanmar.hh, on that particular switch, OT_C is indic_category_t
- but OT_D is myanmar_category_t so we are mixing the types in one
- variable.
-
- And on -arabic.cc, step can goes one number higher than step_t enum
- in the
+ but OT_D is myanmar_category_t so we are mixing the types in one variable.
+
+ And on -arabic.cc, step can goes one number higher than step_t enum in the
loop so we are actually using it as an unsinged int.
.circleci/config.yml | 2 +-
src/hb-ot-shape-complex-arabic.cc | 4 ++--
- src/hb-ot-shape-complex-myanmar.hh | 48
- +++++++++++++++++++-------------------
+ src/hb-ot-shape-complex-myanmar.hh | 48 +++++++++++++++++++-------------------
3 files changed, 27 insertions(+), 27 deletions(-)
commit 64df6b0b0f9d221e14811084f2412a01cf4deb46
@@ -15452,7 +16273,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 17 23:06:53 2018 -0700
More warning fix
-
+
Okay, let's see if the gods are happy now...
src/hb-static.cc | 2 +-
@@ -15499,7 +16320,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 17 22:34:16 2018 -0700
[aat] Fix sanitize slowdown
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11034
src/hb-aat-layout-common.hh | 4 ++++
@@ -15511,15 +16332,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 17 21:52:14 2018 -0700
Revert "[test] Remove not-fixed yet testcases (#1268)"
-
+
This reverts commit 191eef823fe95355425621f8e002dfe7fe632383.
- ...rfuzz-testcase-minimized-hb-fuzzer-4548492505645056 | Bin 0 ->
- 122 bytes
- ...rfuzz-testcase-minimized-hb-fuzzer-6210176798425088 | Bin 0 ->
- 1420 bytes
- ...testcase-minimized-hb-shape-fuzzer-5738888765636608 | Bin 0 ->
- 267731 bytes
+ ...rfuzz-testcase-minimized-hb-fuzzer-4548492505645056 | Bin 0 -> 122 bytes
+ ...rfuzz-testcase-minimized-hb-fuzzer-6210176798425088 | Bin 0 -> 1420 bytes
+ ...testcase-minimized-hb-shape-fuzzer-5738888765636608 | Bin 0 -> 267731 bytes
3 files changed, 0 insertions(+), 0 deletions(-)
commit af99b20dfddbca75e68f84c5aa465a54728990a6
@@ -15527,7 +16345,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Thu Oct 18 08:35:20 2018 +0330
[ci/ubsan] Disable enum sanitization
-
+
Behdad apparently not interested on them
.circleci/config.yml | 2 +-
@@ -15538,7 +16356,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 17 21:41:25 2018 -0700
[aat] Another try at fixing Lookup null objects...
-
+
Ugly as hell, and don't even understand why some bits are needed.
But the logic is sound.
@@ -15551,17 +16369,14 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Thu Oct 18 08:04:18 2018 +0330
[test] Remove not-fixed yet testcases (#1268)
-
+
I added them but now that I think, it is a bad idea to have them as
fuzzing bots will find good seeds to tweak in order to find easy new
testcases which causes duplicated issues.
- ...rfuzz-testcase-minimized-hb-fuzzer-4548492505645056 | Bin 122 ->
- 0 bytes
- ...rfuzz-testcase-minimized-hb-fuzzer-6210176798425088 | Bin 1420 ->
- 0 bytes
- ...testcase-minimized-hb-shape-fuzzer-5738888765636608 | Bin 267731 ->
- 0 bytes
+ ...rfuzz-testcase-minimized-hb-fuzzer-4548492505645056 | Bin 122 -> 0 bytes
+ ...rfuzz-testcase-minimized-hb-fuzzer-6210176798425088 | Bin 1420 -> 0 bytes
+ ...testcase-minimized-hb-shape-fuzzer-5738888765636608 | Bin 267731 -> 0 bytes
3 files changed, 0 insertions(+), 0 deletions(-)
commit 392e1f4ddd7eb649e1a71755b9bcf6431739f98f
@@ -15570,8 +16385,7 @@ Date: Thu Oct 18 07:42:20 2018 +0330
[test/shape-fuzzer] fail on timeout and ubsan errors (#1267)
- test/fuzzing/run-shape-fuzzer-tests.py | 38
- ++++++++++++++++++++++++++++++----
+ test/fuzzing/run-shape-fuzzer-tests.py | 38 ++++++++++++++++++++++++++++++----
1 file changed, 34 insertions(+), 4 deletions(-)
commit eeddda3ec6c28b411d33c74938ec6198c7f6888d
@@ -15579,7 +16393,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Thu Oct 18 07:38:47 2018 +0330
[util] Better file-not-found error from hb-shape / hb-view
-
+
fixes #1266
util/options.cc | 2 +-
@@ -15591,10 +16405,8 @@ Date: Thu Oct 18 06:36:48 2018 +0330
[fuzz] Add more new testcases
- ...testcase-minimized-hb-shape-fuzzer-5718464350650368 | Bin 0 ->
- 41 bytes
- ...testcase-minimized-hb-shape-fuzzer-5738888765636608 | Bin 0 ->
- 267731 bytes
+ ...testcase-minimized-hb-shape-fuzzer-5718464350650368 | Bin 0 -> 41 bytes
+ ...testcase-minimized-hb-shape-fuzzer-5738888765636608 | Bin 0 -> 267731 bytes
2 files changed, 0 insertions(+), 0 deletions(-)
commit fd282eb3285e6d20f77e8a3a7237b677433ccbb4
@@ -15603,8 +16415,7 @@ Date: Thu Oct 18 06:33:39 2018 +0330
[fuzz] Add a new testcase
- .../clusterfuzz-testcase-hb-shape-fuzzer-5634395566768128 | Bin 0 ->
- 106 bytes
+ .../clusterfuzz-testcase-hb-shape-fuzzer-5634395566768128 | Bin 0 -> 106 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit 9d42d70269b879e67f3c7724beab8e4cdbfc877a
@@ -15612,20 +16423,19 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 17 17:55:47 2018 -0700
[trak] Fix calc
-
+
We were getting the first track record always. Ie. this line:
-
+
if (trackTable[i].get_track_value () == 0.f)
{
- trackTableEntry = &trackTable[0];
+ trackTableEntry = &trackTable[i];
break;
}
-
+
The rest is cleanup.
-
- Fixes https://github.com/harfbuzz/harfbuzz/issues/1263 for the
- most part.
+
+ Fixes https://github.com/harfbuzz/harfbuzz/issues/1263 for the most part.
src/hb-aat-layout-trak-table.hh | 17 ++++++++---------
1 file changed, 8 insertions(+), 9 deletions(-)
@@ -15636,22 +16446,14 @@ Date: Wed Oct 17 15:04:35 2018 -0700
[fuzzing] Move fuzzing fonts from api/ here
- ...estcase-minimized-hb-subset-fuzzer-5521982557782016 | Bin 1228 ->
- 0 bytes
- ...estcase-minimized-hb-subset-fuzzer-5542653037903872 | Bin 160249 ->
- 0 bytes
- ...estcase-minimized-hb-subset-fuzzer-5609911946838016 | Bin 313 ->
- 0 bytes
- ...estcase-minimized-hb-subset-fuzzer-5670861909524480 | Bin 1298 ->
- 0 bytes
- ...estcase-minimized-hb-subset-fuzzer-5750092395970560 | Bin 72435 ->
- 0 bytes
- ...estcase-minimized-hb-subset-fuzzer-6651660668502016 | Bin 15229 ->
- 0 bytes
- ...ed-hb-subset-get-codepoints-fuzzer-5973295416475648 | Bin 109 ->
- 0 bytes
- ...ed-hb-subset-get-codepoints-fuzzer-6136125075750912 | Bin 65816 ->
- 0 bytes
+ ...estcase-minimized-hb-subset-fuzzer-5521982557782016 | Bin 1228 -> 0 bytes
+ ...estcase-minimized-hb-subset-fuzzer-5542653037903872 | Bin 160249 -> 0 bytes
+ ...estcase-minimized-hb-subset-fuzzer-5609911946838016 | Bin 313 -> 0 bytes
+ ...estcase-minimized-hb-subset-fuzzer-5670861909524480 | Bin 1298 -> 0 bytes
+ ...estcase-minimized-hb-subset-fuzzer-5750092395970560 | Bin 72435 -> 0 bytes
+ ...estcase-minimized-hb-subset-fuzzer-6651660668502016 | Bin 15229 -> 0 bytes
+ ...ed-hb-subset-get-codepoints-fuzzer-5973295416475648 | Bin 109 -> 0 bytes
+ ...ed-hb-subset-get-codepoints-fuzzer-6136125075750912 | Bin 65816 -> 0 bytes
test/api/test-subset-glyf.c | 2 +-
test/api/test-subset-hdmx.c | 4 ++--
test/api/test-subset-hmtx.c | 2 +-
@@ -15676,9 +16478,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 16 18:35:03 2018 -0700
[buffer] Add an assert
-
- See if it helps debugging
- https://bugs.chromium.org/p/chromium/issues/detail?id=895117
+
+ See if it helps debugging https://bugs.chromium.org/p/chromium/issues/detail?id=895117
src/hb-buffer.cc | 2 ++
1 file changed, 2 insertions(+)
@@ -15688,11 +16489,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 16 18:28:55 2018 -0700
[fuzzing] Delete blink fuzzed data
-
+
These are text, not font.
- ...minimized-blink_harfbuzz_shaper_fuzzer-5099655095123968 | Bin 88 ->
- 0 bytes
+ ...minimized-blink_harfbuzz_shaper_fuzzer-5099655095123968 | Bin 88 -> 0 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit 25fe7e7e1031401d38db1efed360cd75ea7910b9
@@ -15709,12 +16509,10 @@ Author: HinTak <htl10@users.sourceforge.net>
Date: Wed Oct 17 00:54:39 2018 +0100
"allow-none" annotation for "out" parameters
-
+
Fixes the following warnings:
- hb-ot-tag.cc:330: Warning: HarfBuzz: invalid "allow-none" annotation:
- only valid for pointer types and out parameters
- hb-ot-tag.cc:334: Warning: HarfBuzz: invalid "allow-none" annotation:
- only valid for pointer types and out parameters
+ hb-ot-tag.cc:330: Warning: HarfBuzz: invalid "allow-none" annotation: only valid for pointer types and out parameters
+ hb-ot-tag.cc:334: Warning: HarfBuzz: invalid "allow-none" annotation: only valid for pointer types and out parameters
src/hb-ot-tag.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -15733,7 +16531,7 @@ Author: HinTak <htl10@users.sourceforge.net>
Date: Wed Oct 17 00:36:04 2018 +0100
typo in gobject annotation - "in/out" should be "inout"
-
+
"in/out" should be "inout"
src/hb-ot-layout.cc | 2 +-
@@ -15744,14 +16542,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 16 16:39:29 2018 -0700
[fuzzing] Run tests against fuzzing fonts
-
+
Some disable.
test/fuzzing/run-shape-fuzzer-tests.py | 12 ++--
test/fuzzing/run-subset-fuzzer-tests.py | 35 ++++++-----
test/shaping/data/in-house/Makefile.sources | 1 -
- test/shaping/data/in-house/tests/fuzzed.tests | 84
- ---------------------------
+ test/shaping/data/in-house/tests/fuzzed.tests | 84 ---------------------------
4 files changed, 24 insertions(+), 108 deletions(-)
commit 7b37705fb579a39334be0618c6215c1b887bf9fc
@@ -15800,8 +16597,7 @@ Date: Tue Oct 16 16:32:26 2018 -0700
.../fonts/b9e2aaa0d75fcef6971ec3a96d806ba4a6b31fe2.ttf | Bin
.../fonts/e88c339237f52d21e01c55f01b9c1b4cc14a0467.ttf | Bin
.../fonts/fab39d60d758cb586db5a504f218442cd1395725.ttf | Bin
- test/shaping/data/in-house/tests/fuzzed.tests | 16
- ----------------
+ test/shaping/data/in-house/tests/fuzzed.tests | 16 ----------------
17 files changed, 16 deletions(-)
commit 1487173dcf4137fb210b15d9a869aa1f0c626d15
@@ -15810,20 +16606,13 @@ Date: Tue Oct 16 16:30:38 2018 -0700
[fuzzing] Delete duplicate fonts
- .../233c1e252e737ca79e03a9fd56b71aaa4a230f2b.ttf | Bin 1048576 ->
- 0 bytes
- .../243798dd281c1c77c065958e1ff467420faa9bde.ttf | Bin 225 ->
- 0 bytes
- .../9d8a94a67932a3ab75a596fc8b5c6d0392ca9e49.ttf | Bin 4545 ->
- 0 bytes
- .../b6acef662e0beb8d5fcf5b61c6b0ca69537b7402.ttf | Bin 3301 ->
- 0 bytes
- .../bbf4a308c402f0678c3e82844892a4da2ebe598f.ttf | Bin 204 ->
- 0 bytes
- .../dd9f0c7c7c36f75a18be0cab1cddf8f3ab0f366b.ttf | Bin 2786 ->
- 0 bytes
- .../ef2511f215aa3ca847cbfffbf861793b42170875.ttf | Bin 1152 ->
- 0 bytes
+ .../233c1e252e737ca79e03a9fd56b71aaa4a230f2b.ttf | Bin 1048576 -> 0 bytes
+ .../243798dd281c1c77c065958e1ff467420faa9bde.ttf | Bin 225 -> 0 bytes
+ .../9d8a94a67932a3ab75a596fc8b5c6d0392ca9e49.ttf | Bin 4545 -> 0 bytes
+ .../b6acef662e0beb8d5fcf5b61c6b0ca69537b7402.ttf | Bin 3301 -> 0 bytes
+ .../bbf4a308c402f0678c3e82844892a4da2ebe598f.ttf | Bin 204 -> 0 bytes
+ .../dd9f0c7c7c36f75a18be0cab1cddf8f3ab0f366b.ttf | Bin 2786 -> 0 bytes
+ .../ef2511f215aa3ca847cbfffbf861793b42170875.ttf | Bin 1152 -> 0 bytes
test/shaping/data/in-house/tests/fuzzed.tests | 7 -------
8 files changed, 7 deletions(-)
@@ -15841,7 +16630,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 16 16:24:03 2018 -0700
[gpos] Protect mark attachment against out-of-bounds
-
+
Not sure how can happen, but does...
src/hb-ot-layout-gpos-table.hh | 14 ++++++++++----
@@ -15853,12 +16642,9 @@ Date: Tue Oct 16 16:18:32 2018 -0700
[fuzzing] Add more tests
- .../fuzzing/fonts/clusterfuzz-testcase-6107935408390144 | Bin 0 ->
- 16800 bytes
- ...-testcase-minimized-harfbuzz_fuzzer-5973566991106048 | Bin 0 ->
- 4047 bytes
- ...-testcase-minimized-hb-shape-fuzzer-5633985665826816 | Bin 0 ->
- 73 bytes
+ .../fuzzing/fonts/clusterfuzz-testcase-6107935408390144 | Bin 0 -> 16800 bytes
+ ...-testcase-minimized-harfbuzz_fuzzer-5973566991106048 | Bin 0 -> 4047 bytes
+ ...-testcase-minimized-hb-shape-fuzzer-5633985665826816 | Bin 0 -> 73 bytes
3 files changed, 0 insertions(+), 0 deletions(-)
commit 12cbe195ae65656dbc9e32b4d50696bc4223136b
@@ -15875,9 +16661,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 16 15:40:44 2018 -0700
[aat] Make sure Lookup offset is never nulled
-
+
It has unbounded size...
-
+
Fixes https://oss-fuzz.com/v2/testcase-detail/5718889451749376
src/hb-aat-layout-ankr-table.hh | 2 +-
@@ -15911,21 +16697,14 @@ Date: Tue Oct 16 15:16:20 2018 -0700
[fuzzing] Add more clusterfuzz tests I had lying around
- .../fonts/clusterfuzz-testcase-5517117891805184 | Bin 0 ->
- 178 bytes
- ...sterfuzz-testcase-hb-shape-fuzzer-5746142327865344 | Bin 0 ->
- 219 bytes
- ...sterfuzz-testcase-hb-shape-fuzzer-5750379279548416 | Bin 0 ->
- 317 bytes
- .../clusterfuzz-testcase-minimized-4884742786777088 | Bin 0 ->
- 393 bytes
+ .../fonts/clusterfuzz-testcase-5517117891805184 | Bin 0 -> 178 bytes
+ ...sterfuzz-testcase-hb-shape-fuzzer-5746142327865344 | Bin 0 -> 219 bytes
+ ...sterfuzz-testcase-hb-shape-fuzzer-5750379279548416 | Bin 0 -> 317 bytes
+ .../clusterfuzz-testcase-minimized-4884742786777088 | Bin 0 -> 393 bytes
.../clusterfuzz-testcase-minimized-5255344882188288 | Bin 0 -> 65 bytes
- .../clusterfuzz-testcase-minimized-5720051798769664 | Bin 0 ->
- 1048576 bytes
- .../clusterfuzz-testcase-minimized-5924299061854208 | Bin 0 ->
- 2786 bytes
- .../clusterfuzz-testcase-minimized-6460279560863744 | Bin 0 ->
- 589 bytes
+ .../clusterfuzz-testcase-minimized-5720051798769664 | Bin 0 -> 1048576 bytes
+ .../clusterfuzz-testcase-minimized-5924299061854208 | Bin 0 -> 2786 bytes
+ .../clusterfuzz-testcase-minimized-6460279560863744 | Bin 0 -> 589 bytes
...ized-blink_harfbuzz_shaper_fuzzer-5099655095123968 | Bin 0 -> 88 bytes
...estcase-minimized-hb-shape-fuzzer-5650286710882304 | Bin 0 -> 76 bytes
...stcase-minimized-hb-shape-fuzzer-5672261407735808} | Bin
@@ -15939,10 +16718,8 @@ Date: Wed Oct 17 01:42:04 2018 +0330
test/fuzzing/Makefile.am | 1 +
...clusterfuzz-testcase-hb-fuzzer-4666056377368576 | Bin 0 -> 1152 bytes
- ...clusterfuzz-testcase-hb-fuzzer-5662671558934528 | Bin 0 -> 242272
- bytes
- ...clusterfuzz-testcase-hb-fuzzer-6243458541944832 | Bin 0 -> 370187
- bytes
+ ...clusterfuzz-testcase-hb-fuzzer-5662671558934528 | Bin 0 -> 242272 bytes
+ ...clusterfuzz-testcase-hb-fuzzer-6243458541944832 | Bin 0 -> 370187 bytes
...clusterfuzz-testcase-hb-fuzzer-6303297511096320 | Bin 0 -> 4545 bytes
...clusterfuzz-testcase-hb-fuzzer-6696647723581440 | Bin 0 -> 3266 bytes
...z-testcase-minimized-hb-fuzzer-4523479581851648 | Bin 0 -> 322 bytes
@@ -15955,8 +16732,7 @@ Date: Wed Oct 17 01:42:04 2018 +0330
...z-testcase-minimized-hb-fuzzer-4827735151083520 | Bin 0 -> 1384 bytes
...z-testcase-minimized-hb-fuzzer-4841745322868736 | Bin 0 -> 660 bytes
...z-testcase-minimized-hb-fuzzer-4884742786777088 | Bin 0 -> 393 bytes
- ...z-testcase-minimized-hb-fuzzer-5216838347653120 | Bin 0 -> 157600
- bytes
+ ...z-testcase-minimized-hb-fuzzer-5216838347653120 | Bin 0 -> 157600 bytes
...z-testcase-minimized-hb-fuzzer-5255344882188288 | Bin 0 -> 65 bytes
...z-testcase-minimized-hb-fuzzer-5294584596791296 | Bin 0 -> 1602 bytes
...z-testcase-minimized-hb-fuzzer-5303930168803328 | Bin 0 -> 7321 bytes
@@ -15966,8 +16742,7 @@ Date: Wed Oct 17 01:42:04 2018 +0330
...z-testcase-minimized-hb-fuzzer-5617496443846656 | Bin 0 -> 195 bytes
...z-testcase-minimized-hb-fuzzer-5672141338968064 | Bin 0 -> 176 bytes
...z-testcase-minimized-hb-fuzzer-5700697074958336 | Bin 0 -> 878 bytes
- ...z-testcase-minimized-hb-fuzzer-5720051798769664 | Bin 0 -> 1048576
- bytes
+ ...z-testcase-minimized-hb-fuzzer-5720051798769664 | Bin 0 -> 1048576 bytes
...z-testcase-minimized-hb-fuzzer-5924299061854208 | Bin 0 -> 2786 bytes
...z-testcase-minimized-hb-fuzzer-6023178755244032 | Bin 0 -> 2261 bytes
...z-testcase-minimized-hb-fuzzer-6111685556305920 | Bin 0 -> 586 bytes
@@ -16004,26 +16779,20 @@ Date: Wed Oct 17 01:42:04 2018 +0330
...case-minimized-hb-shape-fuzzer-5740171484463104 | Bin 0 -> 186 bytes
...case-minimized-hb-shape-fuzzer-5750379279548416 | Bin 0 -> 219 bytes
...case-minimized-hb-shape-fuzzer-5762490181353472 | Bin 0 -> 101 bytes
- ...ase-minimized-hb-subset-fuzzer-5359635656605696 | Bin 0 -> 393270
- bytes
+ ...ase-minimized-hb-subset-fuzzer-5359635656605696 | Bin 0 -> 393270 bytes
...ase-minimized-hb-subset-fuzzer-5521982557782016 | Bin 0 -> 1228 bytes
- ...ase-minimized-hb-subset-fuzzer-5542653037903872 | Bin 0 -> 160249
- bytes
+ ...ase-minimized-hb-subset-fuzzer-5542653037903872 | Bin 0 -> 160249 bytes
...ase-minimized-hb-subset-fuzzer-5609911946838016 | Bin 0 -> 313 bytes
...ase-minimized-hb-subset-fuzzer-5629878397829120 | Bin 0 -> 3746 bytes
...ase-minimized-hb-subset-fuzzer-5651059347816448 | Bin 0 -> 2648 bytes
- ...ase-minimized-hb-subset-fuzzer-5669437462544384 | Bin 0 -> 284427
- bytes
+ ...ase-minimized-hb-subset-fuzzer-5669437462544384 | Bin 0 -> 284427 bytes
...ase-minimized-hb-subset-fuzzer-5670861909524480 | Bin 0 -> 1298 bytes
...ase-minimized-hb-subset-fuzzer-5696607199166464 | Bin 0 -> 28 bytes
- ...ase-minimized-hb-subset-fuzzer-5711951464759296 | Bin 0 -> 284521
- bytes
- ...ase-minimized-hb-subset-fuzzer-5747265633779712 | Bin 0 -> 177090
- bytes
+ ...ase-minimized-hb-subset-fuzzer-5711951464759296 | Bin 0 -> 284521 bytes
+ ...ase-minimized-hb-subset-fuzzer-5747265633779712 | Bin 0 -> 177090 bytes
...ase-minimized-hb-subset-fuzzer-5750092395970560 | Bin 0 -> 72435 bytes
...ase-minimized-hb-subset-fuzzer-5758598970343424 | Bin 0 -> 64 bytes
- ...ase-minimized-hb-subset-fuzzer-6543700493598720 | Bin 0 -> 138425
- bytes
+ ...ase-minimized-hb-subset-fuzzer-6543700493598720 | Bin 0 -> 138425 bytes
...ase-minimized-hb-subset-fuzzer-6651660668502016 | Bin 0 -> 15229 bytes
...b-subset-get-codepoints-fuzzer-5203067375976448 | Bin 0 -> 16310 bytes
...b-subset-get-codepoints-fuzzer-5630904853069824 | Bin 0 -> 580 bytes
@@ -16033,8 +16802,7 @@ Date: Wed Oct 17 01:42:04 2018 +0330
...b-subset-get-codepoints-fuzzer-6136125075750912 | Bin 0 -> 65816 bytes
...b-subset-get-codepoints-fuzzer-6394290358976512 | Bin 0 -> 1868 bytes
test/fuzzing/run-shape-fuzzer-tests.py | 4 +
- test/shaping/data/in-house/tests/fuzzed.tests | 84
- +++++++++++++++++++++
+ test/shaping/data/in-house/tests/fuzzed.tests | 84 +++++++++++++++++++++
87 files changed, 89 insertions(+)
commit 2137582c9696b6e38d70b4a0d4199b315c9fd4ce
@@ -16042,13 +16810,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 16 14:46:07 2018 -0700
[morx] Reword ligation
-
- Still fails MORX-41. Am talking to Sascha to better understand
- what CoreText
+
+ Still fails MORX-41. Am talking to Sascha to better understand what CoreText
is doing.
- src/hb-aat-layout-morx-table.hh | 25
- ++++++++++++----------
+ src/hb-aat-layout-morx-table.hh | 25 ++++++++++++----------
test/shaping/data/text-rendering-tests/DISABLED | 2 ++
.../data/text-rendering-tests/Makefile.sources | 2 +-
3 files changed, 17 insertions(+), 12 deletions(-)
@@ -16069,8 +16835,7 @@ Date: Tue Oct 16 13:39:54 2018 -0700
[test/text-rendering-tests] Update from upstream
test/shaping/data/text-rendering-tests/Makefile.sources | 1 +
- .../text-rendering-tests/fonts/TestMORXFourtyone.ttf | Bin 0 ->
- 2248 bytes
+ .../text-rendering-tests/fonts/TestMORXFourtyone.ttf | Bin 0 -> 2248 bytes
.../data/text-rendering-tests/tests/MORX-41.tests | 4 ++++
3 files changed, 5 insertions(+)
@@ -16079,10 +16844,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 16 13:32:52 2018 -0700
Revert "[vector] Simplify Sort" and "More of the same"
-
+
This reverts commit de0b9a466490c2c13d6ec6f59d5122b0a87d3180.
This reverts commit 921f0e6ec722940a1e37660e1291aa69f9f39db8.
-
+
Annnnd, revert. MSVC doesn't like it.
src/hb-vector.hh | 11 ++++++++---
@@ -16093,7 +16858,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 16 13:24:29 2018 -0700
[kern] Scale kern pairs before applying
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1255
Fixes https://github.com/harfbuzz/harfbuzz/issues/1252
@@ -16115,7 +16880,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 15 22:19:17 2018 -0700
[vector] Simplify sort
-
+
Hopefully this fits fine with SFINAE with all our compilers.
src/hb-vector.hh | 7 +------
@@ -16130,8 +16895,7 @@ Date: Tue Oct 16 14:17:21 2018 +0330
test/api/CMakeLists.txt | 2 +-
test/api/Makefile.am | 2 +-
test/api/test-multithread.c | 6 ++-
- test/api/{test-ot-nameid.c => test-ot-name.c} | 58
- ++++++++++++++-------------
+ test/api/{test-ot-nameid.c => test-ot-name.c} | 58 ++++++++++++++-------------
4 files changed, 36 insertions(+), 32 deletions(-)
commit 42b75dc3a701b13665115e2a234bfa5dedafef3f
@@ -16148,7 +16912,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 15 21:16:58 2018 -0700
[kerx] Fix Format6 sanitize
-
+
Fixes https://oss-fuzz.com/v2/testcase-detail/5650286710882304
src/hb-aat-layout-kerx-table.hh | 21 +++++++++++----------
@@ -16159,7 +16923,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 15 19:46:45 2018 -0700
[CBDT] Fix more offsetting
-
+
Fixes https://oss-fuzz.com/v2/testcase-detail/5750379279548416
src/hb-ot-color-cbdt-table.hh | 7 ++++---
@@ -16186,7 +16950,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 15 11:15:54 2018 -0700
[morx] Another end-of-text corner case
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10990
src/hb-aat-layout-morx-table.hh | 2 ++
@@ -16233,12 +16997,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 15 01:09:05 2018 -0700
[ot-font] Implement TrueType v_origin
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/537
src/hb-ot-font.cc | 31 +++++++++++++++++-
- src/hb-ot-hmtx-table.hh | 43
- ++++++++++++++++---------
+ src/hb-ot-hmtx-table.hh | 43 ++++++++++++++++---------
test/shaping/data/in-house/tests/vertical.tests | 2 +-
3 files changed, 59 insertions(+), 17 deletions(-)
@@ -16256,9 +17019,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 14 21:32:09 2018 -0700
[CBDT] Fix more offsetting issues
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/960
-
+
dump-emoji still segfaults. Needs debugging.
src/hb-ot-color-cbdt-table.hh | 28 +++++++++++++++-------------
@@ -16269,7 +17032,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 14 21:08:42 2018 -0700
[CBDT] Fix offset handling
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/960
src/hb-ot-color-cbdt-table.hh | 2 +-
@@ -16298,7 +17061,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 14 19:39:31 2018 -0700
[morx] Handle end-of-text conditions in Insertion
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10955
src/hb-aat-layout-morx-table.hh | 8 ++++----
@@ -16309,7 +17072,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 14 19:36:46 2018 -0700
[buffer] Fix output_glyph at end of buffer
-
+
Part of https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10955
src/hb-buffer.hh | 5 ++++-
@@ -16338,7 +17101,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 14 15:20:50 2018 -0700
Ignore signed-integer-overflow while kerning
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1247
src/hb-ot-kern-table.hh | 1 +
@@ -16350,7 +17113,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 14 14:56:32 2018 -0700
[kerx] Fix Format1 sanitize
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10948
src/hb-aat-layout-kerx-table.hh | 10 +++++-----
@@ -16391,8 +17154,7 @@ Date: Sat Oct 13 19:03:33 2018 -0400
[aat] Finish off massaging table
- src/hb-aat-layout.cc | 163
- +++++++++++++++++++++++++--------------------------
+ src/hb-aat-layout.cc | 163 +++++++++++++++++++++++++--------------------------
1 file changed, 81 insertions(+), 82 deletions(-)
commit e0c5e0d91bbc0c8b2bb547ba5cb118989affc617
@@ -16400,14 +17162,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Oct 13 18:37:14 2018 -0400
[aat] WIP remove feature mapping here from hb-coretext
-
- Need to map enum values to numerics since we don't have CoreText
- headers.
+
+ Need to map enum values to numerics since we don't have CoreText headers.
src/hb-aat-layout.cc | 94 +++++++++++++++++++++++++
src/hb-aat-layout.hh | 22 ++++++
- src/hb-coretext.cc | 189
- +--------------------------------------------------
+ src/hb-coretext.cc | 189 +--------------------------------------------------
3 files changed, 117 insertions(+), 188 deletions(-)
commit cb057749131826dd89bc3b92527116a974ae3bbe
@@ -16433,9 +17193,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Oct 13 13:36:27 2018 -0400
[kerx] Fix-up previous commit
-
- A "&" was missing. Go back to using pointers that are less
- error-prone.
+
+ A "&" was missing. Go back to using pointers that are less error-prone.
src/hb-aat-layout-kerx-table.hh | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
@@ -16462,8 +17221,7 @@ commit c4502833b711a76cce1af0c5bf075692b965c991
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Oct 13 11:48:49 2018 -0400
- [kerx] Use sanitizer.get_num_glyphs() instead of
- face->get_num_glyphs()
+ [kerx] Use sanitizer.get_num_glyphs() instead of face->get_num_glyphs()
src/hb-aat-layout-kerx-table.hh | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
@@ -16482,10 +17240,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Oct 13 09:47:51 2018 -0400
[hangul] Fix use-after-free issue
-
+
out_info might have moved since we copied it's position into local
info var.
-
+
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=894937
src/hb-ot-shape-complex-hangul.cc | 16 +++++++++-------
@@ -16501,8 +17259,7 @@ Date: Sat Oct 13 14:00:05 2018 +0330
src/hb-ot-cmap-table.hh | 4 +-
src/hb-ot-layout-common.hh | 4 +-
src/hb-ot-layout-gsubgpos.hh | 8 +--
- src/hb-ot-layout.cc | 127
- +++++++++++++++++++------------------------
+ src/hb-ot-layout.cc | 127 +++++++++++++++++++------------------------
src/hb-ot-layout.h | 25 +++++----
src/hb-ot-math-table.hh | 8 +--
src/hb-ot-name.h | 1 -
@@ -16514,7 +17271,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Fri Oct 12 14:14:21 2018 -0700
from encode_int removed assert hit by fuzzer
-
+
clamp the value instead
src/hb-subset-cff-common.hh | 5 ++++-
@@ -16525,7 +17282,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 12 16:05:56 2018 -0400
Touch up new API
-
+
New API:
+hb_ot_layout_feature_get_name_ids()
+hb_ot_layout_feature_get_characters()
@@ -16540,9 +17297,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 12 15:52:31 2018 -0400
Add hb-ot-name.h
-
+
Actual name-fetching API to come later.
-
+
New API:
hb_name_id_t
HB_NAME_ID_INVALID
@@ -16550,8 +17307,7 @@ Date: Fri Oct 12 15:52:31 2018 -0400
src/Makefile.sources | 1 +
src/hb-ot-layout-common.hh | 2 +-
src/hb-ot-layout.h | 12 ++---------
- src/hb-ot-name.h | 54
- ++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-name.h | 54 ++++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot.h | 1 +
5 files changed, 59 insertions(+), 11 deletions(-)
@@ -16560,20 +17316,17 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Fri Oct 12 03:00:59 2018 +0330
Add two APIs for getting stylistic set labels
-
+
* hb_ot_layout_feature_get_characters
* hb_ot_layout_feature_get_name_ids
-
- However HarfBuzz currently doesn't expose an API for retrieving
- the actual
- information associated with NameId from the `name` table and that
- should be
+
+ However HarfBuzz currently doesn't expose an API for retrieving the actual
+ information associated with NameId from the `name` table and that should be
done separately.
docs/harfbuzz-sections.txt | 2 +
src/hb-ot-layout-common.hh | 14 +++++
- src/hb-ot-layout.cc | 133
- +++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout.cc | 133 +++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-layout.h | 29 ++++++++++
test/api/CMakeLists.txt | 2 +
test/api/Makefile.am | 1 +
@@ -16586,13 +17339,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 11 21:37:45 2018 -0400
[sanitize] Reorder condition to silence bogus gcc warning
-
+
Was givin a dozen of:
-
- ../../src/hb-machinery.hh: In member function ‘bool
- AAT::ankr::sanitize(hb_sanitize_context_t*) const’:
- ../../src/hb-machinery.hh:307:23: warning: missed loop optimization,
- the loop counter may overflow [-Wunsafe-loop-optimizations]
+
+ ../../src/hb-machinery.hh: In member function ‘bool AAT::ankr::sanitize(hb_sanitize_context_t*) const’:
+ ../../src/hb-machinery.hh:307:23: warning: missed loop optimization, the loop counter may overflow [-Wunsafe-loop-optimizations]
bool ok = --this->max_ops > 0 &&
~~~~~~~~~~~~~~~~~~~~~~
this->start <= p &&
@@ -16601,9 +17352,8 @@ Date: Thu Oct 11 21:37:45 2018 -0400
~~~~~~~~~~~~~~~^~
(unsigned int) (this->end - p) >= len;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- I believe those are bogus, but this silences them and does not
- introduce
+
+ I believe those are bogus, but this silences them and does not introduce
logic issues I believe.
src/hb-machinery.hh | 6 +++---
@@ -16634,7 +17384,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 11 21:18:20 2018 -0400
Always compile deprecated symbols
-
+
We haven't been keeping this updated. So, while we don't expose the
symbols in the headers if HB_DISABLE_DEPRECATED is defined, we still
always build them.
@@ -16654,11 +17404,10 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Fri Oct 12 02:16:07 2018 -0700
overhauled error handling in CFF interpreter
-
+
minimized "if (error) return false" idiom
- src/hb-cff-interp-common.hh | 138
- +++++++++++++++++++++++----------------
+ src/hb-cff-interp-common.hh | 138 +++++++++++++++++++++++----------------
src/hb-cff-interp-cs-common.hh | 43 ++++++------
src/hb-cff-interp-dict-common.hh | 72 +++++++++++---------
src/hb-cff1-interp-cs.hh | 72 +++++++++++---------
@@ -16690,14 +17439,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 11 20:45:00 2018 -0400
Attach CursivePositioning backwards, not forward
-
+
This is how Uniscribe does it. So, adjust. This is only relevant
to fonts that apply cursive positioning from a contextual lookup.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1181
- src/hb-ot-layout-gpos-table.hh | 20
- ++++++++++----------
+ src/hb-ot-layout-gpos-table.hh | 20 ++++++++++----------
.../9fc3e6960b3520e5304033ef5fd540285f72f14d.ttf | Bin 0 -> 2380 bytes
.../data/in-house/tests/cursive-positioning.tests | 1 +
3 files changed, 11 insertions(+), 10 deletions(-)
@@ -16707,14 +17455,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 11 20:20:00 2018 -0400
[myanmar] Implement Zawgyi shaper
-
+
Enabled if script tag 'Qaag' is passed to HarfBuzz. Disables mark
advance-zeroing and fallback mark-positioning.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1162
- src/hb-ot-shape-complex-myanmar.cc | 22
- +++++++++++++++++++++
+ src/hb-ot-shape-complex-myanmar.cc | 22 +++++++++++++++++++++
src/hb-ot-shape-complex.hh | 5 +++++
src/hb.hh | 8 ++++++++
test/shaping/data/in-house/Makefile.sources | 1 +
@@ -16756,8 +17503,7 @@ Date: Thu Oct 11 19:24:52 2018 -0400
[test] Add test for USE indic3
test/shaping/data/in-house/Makefile.sources | 1 +
- .../fonts/3c96e7a303c58475a8c750bf4289bbe73784f37d.ttf | Bin 0 ->
- 3364 bytes
+ .../fonts/3c96e7a303c58475a8c750bf4289bbe73784f37d.ttf | Bin 0 -> 3364 bytes
test/shaping/data/in-house/tests/use-indic3.tests | 1 +
3 files changed, 2 insertions(+)
@@ -16775,7 +17521,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 11 17:51:21 2018 -0400
Pass indic3 tags to USE shaper
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/539
src/hb-ot-shape-complex.hh | 6 ++++--
@@ -16809,8 +17555,7 @@ Date: Thu Oct 11 17:08:12 2018 -0400
test/fuzzing/Makefile.am | 16 ----------------
test/fuzzing/hb-subset-fuzzer.cc | 5 +++++
- test/fuzzing/hb-subset-get-codepoints-fuzzer.cc | 23
- -----------------------
+ test/fuzzing/hb-subset-get-codepoints-fuzzer.cc | 23 -----------------------
3 files changed, 5 insertions(+), 39 deletions(-)
commit 2c824d3644e16643c2bbe85fb88f9fb6fed53ce7
@@ -16818,12 +17563,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 11 16:41:01 2018 -0400
[aat] Fix two wrongs that made a right before!
-
+
Unfortunately our static asserts (DEFINE_SIZE_STATIC) don't actually
fail when used in templates, thanks to SFINAE. Le sighs.
-
- Probably fixes
- https://oss-fuzz.com/v2/testcase-detail/5740171484463104
+
+ Probably fixes https://oss-fuzz.com/v2/testcase-detail/5740171484463104
src/hb-aat-layout-common.hh | 4 ++--
src/hb-open-type.hh | 2 +-
@@ -16834,7 +17578,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 11 15:56:17 2018 -0400
[aat] Fix mul overflow
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10897
src/hb-aat-layout-common.hh | 11 ++++++++---
@@ -16856,7 +17600,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 11 15:14:18 2018 -0400
[arabic] Update to latest UTR#53
-
+
From Lorna Evans: "That was a new character added to Unicode 11.0"
src/hb-ot-shape-complex-arabic.cc | 1 +
@@ -16868,8 +17612,7 @@ Date: Thu Oct 11 15:03:21 2018 -0400
[test] Fix use of deprecated symbols
- test/api/test-ot-tag.c | 60
- ++++++++++++++++++++++++++++++++++++++------------
+ test/api/test-ot-tag.c | 60 ++++++++++++++++++++++++++++++++++++++------------
1 file changed, 46 insertions(+), 14 deletions(-)
commit ca37172ee3908bac12cc3d97768b95ae571530d2
@@ -16904,9 +17647,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 11 14:25:48 2018 -0400
[graphite] Fix deva/dev2 resolution
-
- See
- https://github.com/harfbuzz/harfbuzz/pull/730#issuecomment-428277800
+
+ See https://github.com/harfbuzz/harfbuzz/pull/730#issuecomment-428277800
src/hb-graphite2.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -16916,13 +17658,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 11 14:16:55 2018 -0400
Add doc stubs for recently added API
-
- Thanks to David Corbett who revamped our script and language
- processing
+
+ Thanks to David Corbett who revamped our script and language processing
and implemented full BCP 47 support.
-
+
https://github.com/harfbuzz/harfbuzz/pull/730
-
+
New API:
+hb_ot_layout_table_select_script()
+hb_ot_layout_script_select_language()
@@ -16930,7 +17671,7 @@ Date: Thu Oct 11 14:16:55 2018 -0400
+HB_OT_MAX_TAGS_PER_LANGUAGE
+hb_ot_tags_from_script_and_language()
+hb_ot_tags_to_script_and_language()
-
+
Deprecated API:
-hb_ot_layout_table_choose_script()
-hb_ot_layout_script_find_language()
@@ -16958,9 +17699,8 @@ Author: David Corbett <corbett.dav@husky.neu.edu>
Date: Mon Sep 10 13:15:00 2018 -0400
Increase HB_OT_MAX_TAGS_PER_SCRIPT to 3
-
- No script has 3 tags yet, but the plan is for the Indic scripts
- to each
+
+ No script has 3 tags yet, but the plan is for the Indic scripts to each
get a third tag someday.
src/hb-ot-tag.h | 2 +-
@@ -16984,8 +17724,7 @@ Date: Mon Jul 23 21:19:23 2018 -0400
docs/harfbuzz-sections.txt | 3 +-
src/hb-ot-map.cc | 2 +-
- src/hb-ot-tag.cc | 75
- ++++++++++++++++++++++++++++++++++++++++------
+ src/hb-ot-tag.cc | 75 ++++++++++++++++++++++++++++++++++++++++------
src/hb-ot-tag.h | 18 +++++++----
test/api/test-ot-tag.c | 33 ++++++++++++++++++--
5 files changed, 112 insertions(+), 19 deletions(-)
@@ -16995,14 +17734,12 @@ Author: David Corbett <corbett.dav@husky.neu.edu>
Date: Thu Jul 19 13:48:07 2018 -0400
Switch on the first char of a complex language tag
-
- This results in a tenfold speed-up for the common case of tags
- that are
+
+ This results in a tenfold speed-up for the common case of tags that are
not complex, in the sense of `hb_ot_tags_from_complex_language`.
src/gen-tag-table.py | 171 ++++--
- src/hb-ot-tag-table.hh | 1580
- ++++++++++++++++++++++++------------------------
+ src/hb-ot-tag-table.hh | 1580 ++++++++++++++++++++++++------------------------
2 files changed, 922 insertions(+), 829 deletions(-)
commit a754d44195021603306af2a296d06187eda95409
@@ -17010,19 +17747,16 @@ Author: David Corbett <corbett.dav@husky.neu.edu>
Date: Mon Jul 16 21:14:48 2018 -0400
Map Quechua languages to closest ones with tags
-
+
OpenType only officially maps four ISO 639 codes to Quechua languages,
- but prior versions of HarfBuzz also mapped qu to 'QUZ '. Because qu
- is a
+ but prior versions of HarfBuzz also mapped qu to 'QUZ '. Because qu is a
macrolanguage, the mapping now applies to all individual Quechua
- languages. OpenType calls 'QUZ ' "Quechua", but it really corresponds
- to
+ languages. OpenType calls 'QUZ ' "Quechua", but it really corresponds to
Cusco Quechua, so the individual Quechua languages should not all
necessarily be mapped to it.
src/gen-tag-table.py | 32 ++++++++++++++++++++++++++
- src/hb-ot-tag-table.hh | 62
- +++++++++++++++++++++++++++-----------------------
+ src/hb-ot-tag-table.hh | 62 +++++++++++++++++++++++++++-----------------------
2 files changed, 65 insertions(+), 29 deletions(-)
commit 65d01f77552a5102ee114d9917fd2ecf091a35c3
@@ -17030,16 +17764,13 @@ Author: David Corbett <corbett.dav@husky.neu.edu>
Date: Thu Jan 18 16:33:39 2018 -0500
Test deprecated tag fallback in a font
-
+
The font supports the deprecated tag 'DHV ' instead of 'DIV '. dv is
mapped to 'DIV ' and 'DHV ', in that order. The test specifies
- `--language=dv`, demonstrating that if a font does not support
- the first
- OpenType tag mapped to a BCP 47 tag, it will fall back to the
- next tag.
+ `--language=dv`, demonstrating that if a font does not support the first
+ OpenType tag mapped to a BCP 47 tag, it will fall back to the next tag.
- .../fonts/d3129450fafe5e5c98cfc25a4e71809b1b4d2855.ttf | Bin 0 ->
- 956 bytes
+ .../fonts/d3129450fafe5e5c98cfc25a4e71809b1b4d2855.ttf | Bin 0 -> 956 bytes
test/shaping/data/in-house/tests/language-tags.tests | 1 +
2 files changed, 1 insertion(+)
@@ -17048,12 +17779,11 @@ Author: David Corbett <corbett.dav@husky.neu.edu>
Date: Sat Jan 20 15:53:09 2018 -0500
Match extlang subtags
-
+
If the second subtag of a BCP 47 tag is three letters long, it denotes
- an extended language. The tag converter ignores the language
- subtag and
+ an extended language. The tag converter ignores the language subtag and
uses the extended language instead.
-
+
There are some grandfathered exceptions, which are handled earlier.
src/gen-tag-table.py | 2 +-
@@ -17067,57 +17797,46 @@ Author: David Corbett <corbett.dav@husky.neu.edu>
Date: Fri Dec 8 22:45:52 2017 -0500
Autogenerate the BCP 47 to OpenType mappings
-
- The new script, gen-tag-table.py, generates `ot_languages`
- automatically
+
+ The new script, gen-tag-table.py, generates `ot_languages` automatically
from the [OpenType language system tag registry][ot] and the [IANA
Language Subtag Registry][bcp47] with some manual modifications. If an
OpenType tag maps to a BCP 47 macrolanguage, all the macrolanguage's
individual languages are mapped to the same OpenType tag, except for
individual languages with their own OpenType mappings. Deprecated
BCP 47 tags are canonicalized.
-
- [ot]:
- https://docs.microsoft.com/en-us/typography/opentype/spec/languagetags
- [bcp47]:
- https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
-
+
+ [ot]: https://docs.microsoft.com/en-us/typography/opentype/spec/languagetags
+ [bcp47]: https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
+
Some OpenType tags correspond to multiple ISO 639 codes. The mapping
- from ISO 639 codes lists OpenType tags in priority order, such
- that more
+ from ISO 639 codes lists OpenType tags in priority order, such that more
specific or more likely tags appear first.
-
- Some OpenType tags have no corresponding ISO 639 code in the
- registry so
- their mappings use BCP 47 subtags besides the language. For example,
- any
- BCP 47 tag with a fonipa variant subtag is mapped to 'IPPH', and
- 'IPPH'
+
+ Some OpenType tags have no corresponding ISO 639 code in the registry so
+ their mappings use BCP 47 subtags besides the language. For example, any
+ BCP 47 tag with a fonipa variant subtag is mapped to 'IPPH', and 'IPPH'
is mapped back to und-fonipa.
-
- Other OpenType tags have no corresponding ISO 639 code because it
- is not
+
+ Other OpenType tags have no corresponding ISO 639 code because it is not
clear what they are for. HarfBuzz just ignores these tags.
-
+
One such ignored tag is 'ZHP ' (Chinese Phonetic). It probably means
zh-Latn. However, it is used in Microsoft JhengHei and Microsoft YaHei
with the script tag 'hani', implying that it is not a romanization
scheme after all. It would be simple enough to add this mapping to
gen-tag-table.py once a definitive mapping is determined.
-
+
The manual modifications are mainly either obvious mappings that the
OpenType registry omits or mappings for compatibility with previous
versions of HarfBuzz. Some of the old mappings were discarded, though,
for homophonous language names. For example, OpenType maps 'KUI ' to
kxu; previous versions of HarfBuzz also mapped it to kvd, because kvd
and kxu both happen to be called "Kui".
-
- gen-tag-table.py also generates a function to convert multi-subtag
- tags
- like el-polyton and zh-HK to OpenType tags, replacing
- `ot_languages_zh`
- and the hard-coded list of special cases in
- `hb_ot_tags_from_language`.
+
+ gen-tag-table.py also generates a function to convert multi-subtag tags
+ like el-polyton and zh-HK to OpenType tags, replacing `ot_languages_zh`
+ and the hard-coded list of special cases in `hb_ot_tags_from_language`.
It also generates a function to convert OpenType tags to BCP 47,
replacing the hard-coded list of special cases in
`hb_ot_tag_to_language`.
@@ -17125,8 +17844,7 @@ Date: Fri Dec 8 22:45:52 2017 -0500
src/Makefile.am | 9 +-
src/Makefile.sources | 1 +
src/gen-tag-table.py | 1013 ++++++++++++++++++++++++
- src/hb-ot-tag-table.hh | 1997
- ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-tag-table.hh | 1997 ++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-tag.cc | 842 +-------------------
src/hb-ot-tag.h | 2 +-
test/api/test-ot-tag.c | 66 +-
@@ -17137,13 +17855,13 @@ Author: David Corbett <corbett.dav@husky.neu.edu>
Date: Fri Dec 29 20:19:05 2017 +0800
Deprecate obsolete functions
-
+
`hb_ot_tags` replaces `hb_ot_tags_from_script` and
`hb_ot_tag_from_language`.
-
+
`hb_ot_layout_table_select_script` replaces
`hb_ot_layout_table_choose_script`.
-
+
`hb_ot_layout_script_select_language` replaces
`hb_ot_layout_script_find_language`.
@@ -17158,38 +17876,34 @@ Author: David Corbett <corbett.dav@husky.neu.edu>
Date: Fri Dec 8 11:21:14 2017 -0500
Refactor the selection of script and language tags
-
+
The old hb-ot-tag.cc functions, `hb_ot_tags_from_script` and
`hb_ot_tag_from_language`, are now wrappers around a new function:
`hb_ot_tags`. It converts a script and a language to arrays of script
- tags and language tags. This will make it easier to add new script
- tags
+ tags and language tags. This will make it easier to add new script tags
to scripts, like 'dev3'. It also allows for language fallback chains;
nothing produces more than one language yet though.
-
+
Where the old functions return the default tags 'DFLT' and 'dflt',
`hb_ot_tags` returns an empty array. The caller is responsible for
using the default tag in that case.
-
+
The new function also adds a new private use subtag syntax for script
overrides: "x-hbscabcd" requests a script tag of 'abcd'.
-
- The old hb-ot-layout.cc functions,`hb_ot_layout_table_choose_script`
- and
+
+ The old hb-ot-layout.cc functions,`hb_ot_layout_table_choose_script` and
`hb_ot_layout_script_find_language` are now wrappers around the new
functions `hb_ot_layout_table_select_script` and
- `hb_ot_layout_script_select_language`. They are essentially the
- same as
+ `hb_ot_layout_script_select_language`. They are essentially the same as
the old ones plus a tag count parameter.
-
+
Closes #495.
docs/harfbuzz-sections.txt | 5 +
src/hb-ot-layout.cc | 43 +-
src/hb-ot-layout.h | 16 +
src/hb-ot-map.cc | 13 +-
- src/hb-ot-tag.cc | 1639
- ++++++++++++++++++++++++--------------------
+ src/hb-ot-tag.cc | 1639 ++++++++++++++++++++++++--------------------
src/hb-ot-tag.h | 11 +
test/api/test-ot-tag.c | 107 +++
7 files changed, 1070 insertions(+), 764 deletions(-)
@@ -17199,11 +17913,9 @@ Author: David Corbett <corbett.dav@husky.neu.edu>
Date: Thu Dec 28 22:59:29 2017 +0800
Replace "ISO 639" with "BCP 47"
-
- `hb_language_from_string` accepts not only ISO 639 but also BCP
- 47. Not
- all ISO 639 codes are valid BCP 47 tags but the function does
- not accept
+
+ `hb_language_from_string` accepts not only ISO 639 but also BCP 47. Not
+ all ISO 639 codes are valid BCP 47 tags but the function does not accept
overlong language subtags anyway.
src/hb-buffer.cc | 2 +-
@@ -17222,21 +17934,15 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Thu Oct 11 10:53:44 2018 -0700
Replaced CFF1 J subset font for better coverage
-
+
in api test-ot-extents-cff
- test/api/fonts/SourceHanSans-Regular.41,3041,4C2E.otf | Bin 0 ->
- 3892 bytes
- test/api/fonts/SourceHanSans-Regular.41,3041,4E9D.otf | Bin 5864 ->
- 0 bytes
- test/api/fonts/SourceHanSans-Regular.41,4C2E.otf | Bin 0 ->
- 2548 bytes
- test/api/fonts/SourceHanSans-Regular.41,4E9D.otf | Bin 5500 ->
- 0 bytes
- test/api/test-ot-extents-cff.c | 15
- +++++++++++++++
- test/api/test-subset-cff1.c | 18
- +++++++++---------
+ test/api/fonts/SourceHanSans-Regular.41,3041,4C2E.otf | Bin 0 -> 3892 bytes
+ test/api/fonts/SourceHanSans-Regular.41,3041,4E9D.otf | Bin 5864 -> 0 bytes
+ test/api/fonts/SourceHanSans-Regular.41,4C2E.otf | Bin 0 -> 2548 bytes
+ test/api/fonts/SourceHanSans-Regular.41,4E9D.otf | Bin 5500 -> 0 bytes
+ test/api/test-ot-extents-cff.c | 15 +++++++++++++++
+ test/api/test-subset-cff1.c | 18 +++++++++---------
6 files changed, 24 insertions(+), 9 deletions(-)
commit 0b9d60e1a1c4b7867ac907bbd7c004191a14e697
@@ -17244,7 +17950,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 11 13:26:58 2018 -0400
[aat] Apply kerx if GPOS kern was not applied
-
+
Ned tells me this is what Apple does.
src/hb-ot-shape.cc | 18 ++++++++----------
@@ -17276,11 +17982,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 11 11:25:07 2018 -0400
[trak] Implement extrapolation
-
+
This concludes trak, as well as AAT shaping support!
- src/hb-aat-layout-trak-table.hh | 39
- ++++++++++++++++++++-------------------
+ src/hb-aat-layout-trak-table.hh | 39 ++++++++++++++++++++-------------------
1 file changed, 20 insertions(+), 19 deletions(-)
commit d6a12dba6da6262fd9e5d8397b46ac8516136cae
@@ -17288,7 +17993,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 11 11:10:06 2018 -0400
[trak] Fix, and hook up
-
+
Works beautifully! Test coming.
src/hb-aat-layout-common.hh | 4 ++--
@@ -17330,7 +18035,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 11 10:22:01 2018 -0400
[trak] Only adjust around first glyph
-
+
Assumes graphemes only have one base glyph.
src/hb-aat-layout-trak-table.hh | 12 ++++++------
@@ -17342,8 +18047,7 @@ Date: Thu Oct 11 10:18:46 2018 -0400
[trak] Clean up
- src/hb-aat-layout-trak-table.hh | 67
- +++++++++++++++++++++++------------------
+ src/hb-aat-layout-trak-table.hh | 67 +++++++++++++++++++++++------------------
1 file changed, 37 insertions(+), 30 deletions(-)
commit fbbd926dba163d9a2a6a62f380951f03363c2b14
@@ -17351,9 +18055,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 11 01:22:29 2018 -0400
[kerx] Implement Format4 action_type=1 contour-point-based attachment
-
+
Untested.
-
+
This concludes kerx table support!
src/hb-aat-layout-kerx-table.hh | 17 ++++++++++++++++-
@@ -17364,7 +18068,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 11 01:17:57 2018 -0400
[kerx] Implement Format4 action_type=2 coordinate-based attachment
-
+
Untested.
src/hb-aat-layout-kerx-table.hh | 21 ++++++++++++---------
@@ -17375,9 +18079,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 11 01:14:18 2018 -0400
[kerx] Implement Format4 'ankr'-based mark attachment
-
+
Tested with Kannada MN:
-
+
$ HB_OPTIONS=aat ./hb-shape Kannada\ MN.ttc -u 0CCD,0C95,0CD6
[kn_ka.vattu=0+230|kn_ai_length_mark=1@326,0+607]
@@ -17402,11 +18106,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 11 00:12:49 2018 -0400
[kerx] Flesh out Format4
-
+
Doesn't apply actions yet.
- src/hb-aat-layout-kerx-table.hh | 122
- ++++++++++++++++++++++++++++++++++++++--
+ src/hb-aat-layout-kerx-table.hh | 122 ++++++++++++++++++++++++++++++++++++++--
1 file changed, 118 insertions(+), 4 deletions(-)
commit 947962a287d9aca2cb509c11f44cb5150aa6daf1
@@ -17459,16 +18162,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 10 21:46:58 2018 -0400
[kerx] Make Format1 work
-
+
Tested using Kannada MN:
-
+
$ HB_OPTIONS=aat ./hb-shape Kannada\ MN.ttc -u 0C95,0CCd,C95,CCD
[kn_ka.virama=0+1299|kn_ka.vattu=0+115|_blank=0@-115,0+385]
-
- $ HB_OPTIONS=aat ./hb-shape Kannada\ MN.ttc -u 0C95,0CCd,C95,CCD
- --features=-kern
+
+ $ HB_OPTIONS=aat ./hb-shape Kannada\ MN.ttc -u 0C95,0CCd,C95,CCD --features=-kern
[kn_ka.virama=0+1799|kn_ka.vattu=0+230|_blank=0+0]
-
+
I don't see the GPOS table in the font do the same. ¯\_(ツ)_/¯
src/hb-aat-layout-kerx-table.hh | 15 ++++++++++-----
@@ -17489,19 +18191,16 @@ Date: Wed Oct 10 18:35:12 2018 -0700
src/hb-cff2-interp-cs.hh | 12 +++++-----
test/api/fonts/AdobeVFPrototype_vsindex.otf | Bin 0 -> 7036 bytes
- test/api/test-ot-extents-cff.c | 33
- ++++++++++++++++++++++++++++
+ test/api/test-ot-extents-cff.c | 33 ++++++++++++++++++++++++++++
3 files changed, 40 insertions(+), 5 deletions(-)
commit 504cb68fc972c7f606bf9fc62015376382f78f45
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 10 21:29:46 2018 -0400
- Disable mark advance zeroing as well as mark fallback positioning
- if doing kerx
+ Disable mark advance zeroing as well as mark fallback positioning if doing kerx
- src/hb-ot-shape.cc | 50
- ++++++++++++++++++++++++++------------------------
+ src/hb-ot-shape.cc | 50 ++++++++++++++++++++++++++------------------------
1 file changed, 26 insertions(+), 24 deletions(-)
commit 84967537966a76297c89460d95e7336f1bfc332d
@@ -17509,11 +18208,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 10 21:18:37 2018 -0400
[kerx] Implement Format1
-
+
Untested.
- src/hb-aat-layout-kerx-table.hh | 62
- +++++++++++++++++++++++++++++++++--------
+ src/hb-aat-layout-kerx-table.hh | 62 +++++++++++++++++++++++++++++++++--------
src/hb-aat-layout-morx-table.hh | 2 +-
2 files changed, 52 insertions(+), 12 deletions(-)
@@ -17541,8 +18239,7 @@ Date: Wed Oct 10 20:37:22 2018 -0400
[kerx] Start fleshing out Format1
- src/hb-aat-layout-kerx-table.hh | 59
- +++++++++++++++++++++++++++++++++++------
+ src/hb-aat-layout-kerx-table.hh | 59 +++++++++++++++++++++++++++++++++++------
src/hb-aat-layout-morx-table.hh | 2 +-
2 files changed, 52 insertions(+), 9 deletions(-)
@@ -17551,13 +18248,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 10 20:10:20 2018 -0400
[kerx] Implement Format6
-
- Untested. The only Apple font shipping with this format is San
- Francisco fonts
+
+ Untested. The only Apple font shipping with this format is San Francisco fonts
that use this for their kerx variation tables, which we don't support.
- src/hb-aat-layout-kerx-table.hh | 73
- +++++++++++++++++++++++++++++++++--------
+ src/hb-aat-layout-kerx-table.hh | 73 +++++++++++++++++++++++++++++++++--------
1 file changed, 60 insertions(+), 13 deletions(-)
commit c9a2ce9e05f91730a2150b9214dc6a49f31555c1
@@ -17575,8 +18270,7 @@ Date: Wed Oct 10 19:58:20 2018 -0400
[kerx] Start fleshing out Format6
- src/hb-aat-layout-kerx-table.hh | 42
- ++++++++++++++++++++++++++++++++---------
+ src/hb-aat-layout-kerx-table.hh | 42 ++++++++++++++++++++++++++++++++---------
src/hb-open-type.hh | 3 +++
2 files changed, 36 insertions(+), 9 deletions(-)
@@ -17594,26 +18288,22 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 10 19:11:30 2018 -0400
[kerx] No-op
-
+
Tested that Format0 works with Kannada MN font:
-
- $ make -j5 lib -s && HB_OPTIONS=aat ./hb-shape Kannada\ MN.ttc
- -u 0C95,0CC2
+
+ $ make -j5 lib -s && HB_OPTIONS=aat ./hb-shape Kannada\ MN.ttc -u 0C95,0CC2
[kn_ka=0+1000|kn_matra_uu=0@-30,0+1345]
-
- $ make -j5 lib -s && HB_OPTIONS=aat ./hb-shape Kannada\ MN.ttc -u
- 0C95,0CC2 --features=-kern
+
+ $ make -j5 lib -s && HB_OPTIONS=aat ./hb-shape Kannada\ MN.ttc -u 0C95,0CC2 --features=-kern
[kn_ka=0+1030|kn_matra_uu=0+1375]
-
- Note that GPOS does the same with 'dist' feature, and applies the
- whole difference to the
+
+ Note that GPOS does the same with 'dist' feature, and applies the whole difference to the
same glyph:
-
+
$ make -j5 lib -s && ./hb-shape Kannada\ MN.ttc -u 0C95,0CC2
[kn_ka=0+970|kn_matra_uu=0+1375]
-
- $ make -j5 lib -s && ./hb-shape Kannada\ MN.ttc -u 0C95,0CC2
- --features=-dist
+
+ $ make -j5 lib -s && ./hb-shape Kannada\ MN.ttc -u 0C95,0CC2 --features=-dist
[kn_ka=0+1030|kn_matra_uu=0+1375]
src/hb-aat-layout-kerx-table.hh | 4 +---
@@ -17642,20 +18332,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 10 18:14:41 2018 -0400
[kern/kerx] Fix offset base
-
+
Disable kern Format2.
-
- Fix kerx Format2. Manually tested this with Tamil MN font and
- it works:
-
+
+ Fix kerx Format2. Manually tested this with Tamil MN font and it works:
+
$ HB_OPTIONS=aat ./hb-shape Tamil\ MN.ttc -u 0B94,0B95
[tgv_au=0+3435|tgc_ka=1@-75,0+1517]
-
+
HB_OPTIONS=aat ./hb-shape Tamil\ MN.ttc -u 0B94,0B95 --features=-kern
[tgv_au=0+3510|tgc_ka=1+1592]
- src/hb-aat-layout-kerx-table.hh | 73
- +++++++++++++++++++++++++----------------
+ src/hb-aat-layout-kerx-table.hh | 73 +++++++++++++++++++++++++----------------
src/hb-ot-kern-table.hh | 7 ++++
2 files changed, 52 insertions(+), 28 deletions(-)
@@ -17675,7 +18363,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 10 17:44:46 2018 -0400
Allow HB_OPTIONS=aat to prefer AAT tables over OT
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/322
src/hb-common.cc | 23 +++++++++++++++++++++--
@@ -17697,7 +18385,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 10 16:32:35 2018 -0400
Remove HAVE_OT
-
+
We never tested compiling without it. Just kill it. We always build
our own shaper.
@@ -17729,13 +18417,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 10 12:07:49 2018 -0400
Add per-subtable set-digests
-
+
This speeds up Roboto shaping by ~10%. I was hoping for more.
Still, good defense against lookups with many subtables.
src/hb-null.hh | 2 +-
- src/hb-ot-layout-gsubgpos.hh | 108
- +++++++++++++++++++++++--------------------
+ src/hb-ot-layout-gsubgpos.hh | 108 +++++++++++++++++++++++--------------------
2 files changed, 59 insertions(+), 51 deletions(-)
commit e78549edfb4df617128a5f5ddd12692f1d0af4bf
@@ -17776,12 +18463,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 10 11:36:28 2018 -0400
Move code
-
+
In preparation to move add per-subtable set digests...
src/hb-ot-layout-gsubgpos.hh | 50 ++++++++++++++++++++++++++++++++++++++
- src/hb-ot-layout.cc | 57
- ++++----------------------------------------
+ src/hb-ot-layout.cc | 57 ++++----------------------------------------
2 files changed, 54 insertions(+), 53 deletions(-)
commit a03850a3567d532c3a4d7655aa71bfe73dfb0e33
@@ -17789,7 +18475,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 10 10:57:28 2018 -0400
Fix GPOS/kern interaction
-
+
Oops. Was checking for kern feature in GSUB, not GPOS.
src/hb-ot-shape.cc | 2 +-
@@ -17800,11 +18486,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 10 10:49:45 2018 -0400
More rewriting plan compile
-
+
Hopefully more clear.
- src/hb-ot-shape.cc | 55
- ++++++++++++++++++++++++++++++++++++++----------------
+ src/hb-ot-shape.cc | 55 ++++++++++++++++++++++++++++++++++++++----------------
src/hb-ot-shape.hh | 1 -
2 files changed, 39 insertions(+), 17 deletions(-)
@@ -17843,7 +18528,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 10 10:16:09 2018 -0400
Apply TT or fallback kerning when GPOS does not have kern feature
-
+
Previously we only did if there was no GPOS whatsoever. This applies
to Arial, Times New Roman, etc in Win7. Was not kerning before. It
is now.
@@ -17867,8 +18552,7 @@ Date: Wed Oct 10 17:12:52 2018 +0330
[circleci] Add an iOS bot (#1233)
.circleci/config.yml | 12 +++++
- CMakeLists.txt | 140
- ++++++++++++++++++++++++++++++++-------------------
+ CMakeLists.txt | 140 ++++++++++++++++++++++++++++++++-------------------
2 files changed, 100 insertions(+), 52 deletions(-)
commit c06a5dff0b0f8d1c5aba53bcfd7fb0b680f1ca92
@@ -17883,7 +18567,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Tue Oct 9 21:59:36 2018 -0700
added cff1_legacyops.otf as test-ot-extents-cff test case
-
+
fixed roll operator bugs uncovered by the test
src/hb-cff-interp-common.hh | 4 ++--
@@ -17925,9 +18609,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 9 23:17:32 2018 -0400
[aat] Fixup recent commit
-
+
For 329f2401082011007d9ce12b15ce0225cd267c57
-
+
max_ops is signed.
src/hb-aat-layout-common.hh | 2 +-
@@ -17949,7 +18633,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 9 23:02:53 2018 -0400
[aat] Set embedded sanitizer max ops really high
-
+
Since we consume it legitimately during shaping.
src/hb-aat-layout-common.hh | 1 +
@@ -17989,7 +18673,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 9 22:49:33 2018 -0400
[kerx] Implement Format2 apply()
-
+
Still, not hooked.
src/hb-aat-layout-kerx-table.hh | 5 +----
@@ -18028,7 +18712,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 9 22:35:22 2018 -0400
[kerx] Implement Format0 apply()
-
+
Not hooked up to be called yet.
src/hb-aat-layout-common.hh | 6 ++++--
@@ -18070,12 +18754,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 9 16:24:50 2018 -0400
[ft] Use mutex to lock access to FT_Face
-
- Makes our FT-backed hb_font_t safe to use from multiple threads.
- Still,
+
+ Makes our FT-backed hb_font_t safe to use from multiple threads. Still,
the underlying FT_Face should NOT be used from other threads by client
or other libraries.
-
+
Maybe I add a lock()/unlock() public API ala PangoFT2 and cairo-ft.
Maybe not.
@@ -18107,11 +18790,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 9 15:39:51 2018 -0400
Install ot-funcs on newly created funcs
-
- **Finally**! Casual users can stop caring about font-funcs
- completely now,
- like they haven't been needing to care re unicode-funcs for a
- few years.
+
+ **Finally**! Casual users can stop caring about font-funcs completely now,
+ like they haven't been needing to care re unicode-funcs for a few years.
src/hb-font.cc | 39 ++++++++++++++++++++++++++-------------
1 file changed, 26 insertions(+), 13 deletions(-)
@@ -18121,15 +18802,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 9 15:12:09 2018 -0400
[ot-font] Don't pre-load cmap table
-
- Now that we have get_h_advances() and get_nominal_glyphs()
- implemented, the
- overhead of doing a proper atomic load would be once per run, NOT
- once per
+
+ Now that we have get_h_advances() and get_nominal_glyphs() implemented, the
+ overhead of doing a proper atomic load would be once per run, NOT once per
glyph. So, no need to pre-load the tables to avoid that overhead.
-
- As such, hb_ot_font_set_funcs() has become really cheap.
- Can *finally* make
+
+ As such, hb_ot_font_set_funcs() has become really cheap. Can *finally* make
it be default font functions on all newly created fonts!
src/hb-ot-font.cc | 9 +++------
@@ -18140,47 +18818,40 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 9 15:07:04 2018 -0400
[ot/ft] Implement get_nominal_glyphs() callback
-
- Some more measurable speedup. The recent commits' speedups are
- as follows:
-
+
+ Some more measurable speedup. The recent commits' speedups are as follows:
+
Testing with Roboto, ****when disabling kern and liga****:
-
+
Before:
-
+
FT --features=-kern,-liga
user↦ 0m0.521s
-
+
OT --features=-liga,-kern
user↦ 0m0.568s
-
+
After:
-
+
FT --features=-liga,-kern
user↦ 0m0.428s
-
+
OT --features=-liga,-kern
user↦ 0m0.470s
-
+
So, 17% speedup.
-
- Note that FT callbacks are faster than OT these days since we added
- an advance
- cache to FT. I don't think the difference is enough to justify
- adding a cache
+
+ Note that FT callbacks are faster than OT these days since we added an advance
+ cache to FT. I don't think the difference is enough to justify adding a cache
to OT.
-
- When not disabling kern, the thing is three times slower, so the
- speedups
- are three times less impressive... Still, 5% not bad for a codebase
- that I
+
+ When not disabling kern, the thing is three times slower, so the speedups
+ are three times less impressive... Still, 5% not bad for a codebase that I
otherwise thought is optimized out.
-
+
Note that, because of this and other optimiztions in our main shaper,
- disabling kern and liga, the OT shaper is now *faster* than the
- fallback
- shaper. So, that's my recommendation to clients that need the
- absolute
+ disabling kern and liga, the OT shaper is now *faster* than the fallback
+ shaper. So, that's my recommendation to clients that need the absolute
fastest...
src/hb-ft.cc | 26 ++++++++++++++++++++++++++
@@ -18192,9 +18863,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 9 14:50:57 2018 -0400
Call get_nominal_glyphs() for runs of simple clusters at a time
-
- Even without FT or OT font funcs implementing get_nominal_glyphs(),
- there's measurable
+
+ Even without FT or OT font funcs implementing get_nominal_glyphs(), there's measurable
speedup.
src/hb-buffer.hh | 20 +++++++++++++++++++-
@@ -18208,8 +18878,7 @@ Date: Tue Oct 9 14:38:23 2018 -0400
Whitespace
src/hb-font.hh | 2 +-
- src/hb-ot-shape-normalize.cc | 52
- ++++++++++++++++++++++++--------------------
+ src/hb-ot-shape-normalize.cc | 52 ++++++++++++++++++++++++--------------------
2 files changed, 29 insertions(+), 25 deletions(-)
commit 30c114ffec335770452e60729224b1634586c5b0
@@ -18217,11 +18886,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 9 14:37:08 2018 -0400
Avoid sort and recompose stages if all clusters simple
-
+
Even has measurable speedup...
- src/hb-ot-shape-normalize.cc | 52
- ++++++++++++++++++++++++--------------------
+ src/hb-ot-shape-normalize.cc | 52 ++++++++++++++++++++++++--------------------
1 file changed, 29 insertions(+), 23 deletions(-)
commit 9f79365c3b183278d14352ba6241c7d4ec274984
@@ -18229,17 +18897,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 9 14:36:25 2018 -0400
Fix warning
-
+
How come this one is not generated by clang everything bot?!
-
- ../../../test/api/test-multithread.c:37:26: warning: initialization
- discards ‘const’ qualifier from pointer target type
- [-Wdiscarded-qualifiers]
+
+ ../../../test/api/test-multithread.c:37:26: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
static char *font_path = "fonts/Inconsolata-Regular.abc.ttf";
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ../../../test/api/test-multithread.c:38:21: warning: initialization
- discards ‘const’ qualifier from pointer target type
- [-Wdiscarded-qualifiers]
+ ../../../test/api/test-multithread.c:38:21: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
test/api/test-multithread.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -18258,7 +18922,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 9 14:12:59 2018 -0400
Inline decompose_cluster
-
+
Towards separating the common case into its own loop.
src/hb-ot-shape-normalize.cc | 14 ++++----------
@@ -18276,7 +18940,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 9 09:23:51 2018 -0400
[font] Add get_nominal_glyphs() callback (note the plural)
-
+
Unused as of now. To be wired up to normalizer, which would remove
overhead and allow hb-ot-font initialization to become a no-op, so
we can enable it by default.
@@ -18303,9 +18967,8 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Wed Jul 25 18:26:10 2018 +0800
test/api/test-subset-*.c: Fix build on pre-C99
-
- Ensure that we have the variables at the beginning of the block.
- These
+
+ Ensure that we have the variables at the beginning of the block. These
are the only fixes that we need for building HarfBuzz on older
compilers.
@@ -18323,13 +18986,13 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Wed Jul 25 18:12:34 2018 +0800
builds: Fix and clean up MSVC DLL builds
-
+
Instead of passing a CFLAG/CXXFLAG to define HB_EXTERN, define it
directly in src/hb.hh as __declspec(dllexport) extern when we are
building HarfBuzz as DLLs on Visual Studio. Define HB_INTERNAL
as nothing without defining HB_NO_VISIBILITY when building HarfBuzz as
DLLs to avoid linker errors on Visual Studio builds.
-
+
Also "install" harfbuzz-subset.dll into $(PREFIX)\bin as the
hb-subset utility will depend on that DLL at runtime, when HarfBuzz is
built as DLLs. Since it consists of private APIs that are subject to
@@ -18354,8 +19017,7 @@ Date: Tue Oct 9 08:20:10 2018 -0400
Try fixing older bots
- src/hb-ot-shape-fallback.cc | 42
- +++++++++++++++++++++---------------------
+ src/hb-ot-shape-fallback.cc | 42 +++++++++++++++++++++---------------------
1 file changed, 21 insertions(+), 21 deletions(-)
commit bee93e269711a3eda4e7d762b730522564fe6e87
@@ -18363,7 +19025,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 9 08:01:49 2018 -0400
Add const to get_*_advances API
-
+
Ouch!
src/hb-font.cc | 10 +++++-----
@@ -18438,8 +19100,7 @@ Date: Tue Oct 9 00:39:42 2018 -0400
src/hb-glib.cc | 31 +-----------------------------
src/hb-icu.cc | 33 +-------------------------------
src/hb-ucdn.cc | 8 +-------
- test/api/test-unicode.c | 51
- -------------------------------------------------
+ test/api/test-unicode.c | 51 -------------------------------------------------
4 files changed, 3 insertions(+), 120 deletions(-)
commit eed737f6726d3408191a4e64592805b70d8bb247
@@ -18451,8 +19112,7 @@ Date: Tue Oct 9 00:33:30 2018 -0400
src/hb-glib.cc | 8 +------
src/hb-icu.cc | 19 +--------------
src/hb-ucdn.cc | 9 +------
- test/api/test-unicode.c | 64
- -------------------------------------------------
+ test/api/test-unicode.c | 64 -------------------------------------------------
4 files changed, 3 insertions(+), 97 deletions(-)
commit 47030b1855f04c0d75899ffb6f5021fea3c19b90
@@ -18490,25 +19150,21 @@ Date: Tue Oct 9 00:01:09 2018 -0400
Deprecate font kern API
docs/harfbuzz-sections.txt | 16 +++++++-------
- src/hb-deprecated.h | 54
- ++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-deprecated.h | 54 ++++++++++++++++++++++++++++++++++++++++++++++
src/hb-font.cc | 3 +++
- src/hb-font.h | 51
- -------------------------------------------
+ src/hb-font.h | 51 -------------------------------------------
4 files changed, 65 insertions(+), 59 deletions(-)
commit a51958819fcf51ade3f8eb38001e680a419ebbba
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 8 23:57:45 2018 -0400
- Apply TrueType/OpenType kern table when GPOS kern feature is not
- available
-
+ Apply TrueType/OpenType kern table when GPOS kern feature is not available
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/250
src/hb-ot-kern-table.hh | 24 +++++++++++--------
- src/hb-ot-layout.cc | 57
- ++++++++++++++++++++-------------------------
+ src/hb-ot-layout.cc | 57 ++++++++++++++++++++-------------------------
src/hb-ot-layout.hh | 13 +++++++++++
src/hb-ot-shape-fallback.cc | 4 ++--
src/hb-ot-shape.cc | 10 +++++---
@@ -18544,10 +19200,8 @@ Date: Mon Oct 8 23:09:48 2018 -0400
[kern] Abstract away kerning machine
src/hb-font.hh | 2 +-
- src/hb-ot-kern-table.hh | 71
- +++++++++++++++++++++++++++++++++++++++++++++
- src/hb-ot-shape-fallback.cc | 67
- +++++++++++-------------------------------
+ src/hb-ot-kern-table.hh | 71 +++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-shape-fallback.cc | 67 +++++++++++-------------------------------
3 files changed, 89 insertions(+), 51 deletions(-)
commit fb4f43838154a77912a9fc3437110c81e9d34aac
@@ -18555,7 +19209,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 8 22:44:16 2018 -0400
Add HB_DEPRECATED
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1232
src/hb-common.h | 9 +++++++++
@@ -18578,8 +19232,7 @@ Date: Mon Oct 8 22:31:35 2018 -0400
Deprecate decompose_compatibility stuff
docs/harfbuzz-sections.txt | 7 +++---
- src/hb-deprecated.h | 63
- ++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-deprecated.h | 63 ++++++++++++++++++++++++++++++++++++++++++++++
src/hb-unicode.h | 47 ----------------------------------
3 files changed, 67 insertions(+), 50 deletions(-)
@@ -18616,20 +19269,18 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Mon Oct 8 15:05:36 2018 -0700
added CFF2 get_extents
-
+
added source hb-ot-cff2-table.cc
augmented VariationData to return scalars
misc bug fixes, renaming, cleanup
src/Makefile.sources | 2 +
src/hb-cff-interp-common.hh | 37 ++++++-----
- src/hb-cff-interp-cs-common.hh | 134
- +++++++++++++++++++-------------------
+ src/hb-cff-interp-cs-common.hh | 134 +++++++++++++++++++-------------------
src/hb-cff-interp-dict-common.hh | 6 +-
src/hb-cff2-interp-cs.hh | 102 ++++++++++++++++++++++++-----
src/hb-ot-cff1-table.hh | 4 +-
- src/hb-ot-cff2-table.cc | 135
- +++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-cff2-table.cc | 135 +++++++++++++++++++++++++++++++++++++++
src/hb-ot-cff2-table.hh | 71 ++++++++++++--------
src/hb-ot-face.cc | 1 +
src/hb-ot-face.hh | 1 +
@@ -18693,8 +19344,7 @@ Date: Sun Oct 7 22:52:53 2018 -0400
[kerx] Clean up Format2
- src/hb-aat-layout-kerx-table.hh | 48
- ++++++++---------------------------------
+ src/hb-aat-layout-kerx-table.hh | 48 ++++++++---------------------------------
1 file changed, 9 insertions(+), 39 deletions(-)
commit 8aa83d97f9e7f63e2fcb4ae965b75a39961c7d87
@@ -18702,14 +19352,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 7 22:43:59 2018 -0400
[kern/kerx] Fix Format2 offsetting
-
+
"The values in the right class table are stored pre-multiplied by the
number of bytes in a single kerning value, and the values in the left
class table are stored pre-multiplied by the number of bytes in one
row. This eliminates needing to multiply the row and column values
together to determine the location of the kerning value. The array can
- be indexed by doing the right- and left-hand class mappings,
- adding the
+ be indexed by doing the right- and left-hand class mappings, adding the
class values to the address of the array, and fetching the kerning
value to which the new address points."
@@ -18723,8 +19372,7 @@ Date: Sun Oct 7 22:33:41 2018 -0400
[kerx] Clean up Format0
- src/hb-aat-layout-kerx-table.hh | 48
- +++++++++++------------------------------
+ src/hb-aat-layout-kerx-table.hh | 48 +++++++++++------------------------------
1 file changed, 12 insertions(+), 36 deletions(-)
commit 4c3b19d52ec7a1fa46f8d0971e377a7d29b87e27
@@ -18742,10 +19390,8 @@ Date: Sun Oct 7 22:28:45 2018 -0400
Move code
- src/hb-aat-layout-common.hh | 105
- --------------------------------------------
- src/hb-open-type.hh | 105
- +++++++++++++++++++++++++++++++++++++++++++-
+ src/hb-aat-layout-common.hh | 105 --------------------------------------------
+ src/hb-open-type.hh | 105 +++++++++++++++++++++++++++++++++++++++++++-
2 files changed, 104 insertions(+), 106 deletions(-)
commit 3515c8b187e2316dcf3abaefc84917b09449d485
@@ -18762,19 +19408,19 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 7 20:46:11 2018 -0400
Rename invisible_codepoint to invisible_glyph in API
-
+
Deleted recently added API:
hb_buffer_set_invisible_codepoint()
hb_buffer_get_invisible_codepoint()
-
+
hb-shape / hb-view --invisible-codepoint
-
+
New API:
hb_buffer_set_invisible_glyph()
hb_buffer_get_invisible_glyph()
-
+
hb-shape / hb-view --invisible-glyph
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1216
docs/harfbuzz-sections.txt | 4 ++--
@@ -18789,11 +19435,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 7 20:36:46 2018 -0400
Revert "[morx] Fix MORX-35"
-
+
This reverts commit f62f6e90ad1f1a83f77771ad65ee1ffb79470a8a.
- src/hb-aat-layout-morx-table.hh | 14
- +++++---------
+ src/hb-aat-layout-morx-table.hh | 14 +++++---------
test/shaping/data/text-rendering-tests/DISABLED | 3 +++
test/shaping/data/text-rendering-tests/Makefile.sources | 2 +-
3 files changed, 9 insertions(+), 10 deletions(-)
@@ -18803,7 +19448,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 7 20:35:06 2018 -0400
[buffer] Improve shift_forward()
-
+
"Improve" is a strong word in this case though, I understand.
src/hb-buffer.cc | 16 +++++++++++++---
@@ -18814,11 +19459,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 7 18:06:53 2018 -0400
[morx] Fix MORX-35
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1224
- src/hb-aat-layout-morx-table.hh | 14
- ++++++++++----
+ src/hb-aat-layout-morx-table.hh | 14 ++++++++++----
test/shaping/data/text-rendering-tests/DISABLED | 3 ---
test/shaping/data/text-rendering-tests/Makefile.sources | 2 +-
3 files changed, 11 insertions(+), 8 deletions(-)
@@ -18828,9 +19472,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 7 18:52:12 2018 -0400
Remove some code
-
- We use scratch-flags to short-circuit this function. No need for
- previous
+
+ We use scratch-flags to short-circuit this function. No need for previous
early loop.
src/hb-ot-shape.cc | 16 +++-------------
@@ -18843,14 +19486,10 @@ Date: Sun Oct 7 18:00:14 2018 -0400
[test/text-rendering-tests] Update from upstream
test/shaping/data/text-rendering-tests/Makefile.sources | 6 +++++-
- .../data/text-rendering-tests/fonts/TestMORXForty.ttf | Bin 0 ->
- 2408 bytes
- .../text-rendering-tests/fonts/TestMORXThirtyeight.ttf | Bin 0 ->
- 2444 bytes
- .../text-rendering-tests/fonts/TestMORXThirtynine.ttf | Bin 0 ->
- 2436 bytes
- .../text-rendering-tests/fonts/TestMORXThirtyseven.ttf | Bin 0 ->
- 2444 bytes
+ .../data/text-rendering-tests/fonts/TestMORXForty.ttf | Bin 0 -> 2408 bytes
+ .../text-rendering-tests/fonts/TestMORXThirtyeight.ttf | Bin 0 -> 2444 bytes
+ .../text-rendering-tests/fonts/TestMORXThirtynine.ttf | Bin 0 -> 2436 bytes
+ .../text-rendering-tests/fonts/TestMORXThirtyseven.ttf | Bin 0 -> 2444 bytes
.../data/text-rendering-tests/tests/MORX-35.tests | 4 ++--
.../data/text-rendering-tests/tests/MORX-37.tests | 4 ++++
.../data/text-rendering-tests/tests/MORX-38.tests | 4 ++++
@@ -18864,8 +19503,7 @@ Date: Sun Oct 7 14:01:33 2018 -0400
[kerx] Clean up kerx and KerxTable structures
- src/hb-aat-layout-kerx-table.hh | 169
- ++++++++++++++++++++++++++--------------
+ src/hb-aat-layout-kerx-table.hh | 169 ++++++++++++++++++++++++++--------------
src/hb-aat-layout-morx-table.hh | 2 +-
2 files changed, 113 insertions(+), 58 deletions(-)
@@ -18874,18 +19512,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 7 18:41:52 2018 +0200
Add API for setting invisible-codepoint
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1216
-
+
New API:
hb_buffer_set_invisible_codepoint()
hb_buffer_get_invisible_codepoint()
-
+
hb-shape / hb-view --invisible-codepoint
docs/harfbuzz-sections.txt | 2 ++
- src/hb-buffer.cc | 42
- ++++++++++++++++++++++++++++++++++++++++++
+ src/hb-buffer.cc | 42 ++++++++++++++++++++++++++++++++++++++++++
src/hb-buffer.h | 7 +++++++
src/hb-buffer.hh | 1 +
src/hb-ot-shape.cc | 8 ++++----
@@ -18898,10 +19535,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 7 18:23:45 2018 +0200
[ot-font] Load hmtx/vmtx lazily
-
+
Since we have get_*_advanes() API now, the overhead is once per shape,
not once per glyph.
-
+
Only cmap is warmed-up at set_funcs() time now.
src/hb-ot-font.cc | 26 +++++++++++++-------------
@@ -18930,7 +19567,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 7 16:31:33 2018 +0200
[coretext] Fix OS X check
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1230
src/hb-coretext.cc | 4 ++--
@@ -18956,8 +19593,7 @@ Date: Sat Oct 6 14:49:44 2018 -0700
src/hb-ot-shape.hh | 5 ++
src/hb-set.hh | 4 +-
src/hb-subset.cc | 2 +-
- src/hb-vector.hh | 100
- ++++++++++++++-------
+ src/hb-vector.hh | 100 ++++++++++++++-------
test/shaping/data/text-rendering-tests/DISABLED | 35 +-------
.../data/text-rendering-tests/Makefile.sources | 18 ++--
.../data/text-rendering-tests/extract-tests.py | 18 +++-
@@ -19020,7 +19656,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 5 18:39:48 2018 +0200
[vector] Make hb_vector_t relocatable / nestable
-
+
Ugly, but...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1227
@@ -19030,8 +19666,7 @@ Date: Fri Oct 5 18:39:48 2018 +0200
src/hb-ot-post-table.hh | 2 +-
src/hb-set.hh | 4 +--
src/hb-subset.cc | 2 +-
- src/hb-vector.hh | 94
- +++++++++++++++++++++++++++++++------------------
+ src/hb-vector.hh | 94 +++++++++++++++++++++++++++++++------------------
7 files changed, 66 insertions(+), 42 deletions(-)
commit 5469d80707d32c733b1c60f79ab2f217e879de55
@@ -19048,9 +19683,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 5 18:14:13 2018 +0200
[morx] Fix memory access issue
-
+
If buffer was enlarged, info was being outdated.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1225
src/hb-aat-layout-common.hh | 4 +---
@@ -19064,10 +19699,8 @@ Date: Fri Oct 5 11:33:19 2018 +0200
test/shaping/data/text-rendering-tests/DISABLED | 3 +++
test/shaping/data/text-rendering-tests/Makefile.sources | 2 ++
- .../text-rendering-tests/fonts/TestMORXThirtyfive.ttf | Bin 0 ->
- 1968 bytes
- .../text-rendering-tests/fonts/TestMORXThirtysix.ttf | Bin 0 ->
- 1836 bytes
+ .../text-rendering-tests/fonts/TestMORXThirtyfive.ttf | Bin 0 -> 1968 bytes
+ .../text-rendering-tests/fonts/TestMORXThirtysix.ttf | Bin 0 -> 1836 bytes
.../data/text-rendering-tests/tests/MORX-35.tests | 2 ++
.../data/text-rendering-tests/tests/MORX-36.tests | 1 +
6 files changed, 8 insertions(+)
@@ -19077,13 +19710,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 5 02:49:29 2018 +0200
Change vendor features from Harf/Buzz to HARF/BUZZ
-
+
https://github.com/harfbuzz/harfbuzz/commit/a01194aaf4c15160330b4042066263b2c963b658#commitcomment-30772041
-
- "The tag space of tags consisting of four uppercase letters (A-Z)
- with no punctuation,
- spaces, or numbers, is reserved as a vendor space. Font vendors may
- use such tags to
+
+ "The tag space of tags consisting of four uppercase letters (A-Z) with no punctuation,
+ spaces, or numbers, is reserved as a vendor space. Font vendors may use such tags to
identify private features."
src/hb-ot-shape.cc | 4 ++--
@@ -19106,8 +19737,7 @@ Date: Thu Oct 4 13:59:36 2018 -0700
added CFF glyph extents API test
test/api/Makefile.am | 1 +
- test/api/test-ot-extents-cff.c | 65
- ++++++++++++++++++++++++++++++++++++++++++
+ test/api/test-ot-extents-cff.c | 65 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 66 insertions(+)
commit 0222d57c357c775f25866653700b9dcb7d5bb807
@@ -19142,11 +19772,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 4 16:23:42 2018 +0200
[test] Choose 'ot' shaper specifically
-
- Now that we added morx support, our OS X bot is running them through
- CoreText
- and failing (with a DoS / infinite loop no less!). Always run
- tests through
+
+ Now that we added morx support, our OS X bot is running them through CoreText
+ and failing (with a DoS / infinite loop no less!). Always run tests through
our own shaper.
test/shaping/run-tests.py | 2 +-
@@ -19166,9 +19794,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 4 13:00:37 2018 +0200
Enable two OpenType features, 'Harf' and 'Buzz'
-
- One early, before script-specific features, one late, after.
- Allows font
+
+ One early, before script-specific features, one late, after. Allows font
developers to detect us and behave differently if needed.
src/hb-ot-shape.cc | 4 ++++
@@ -19181,23 +19808,17 @@ Date: Thu Oct 4 12:13:55 2018 +0200
[test/text-rendering-tests] Update from upstream
test/shaping/data/text-rendering-tests/Makefile.sources | 6 +++++-
- test/shaping/data/text-rendering-tests/extract-tests.py | 12
- ++++++++++++
- .../data/text-rendering-tests/fonts/TestGSUBThree.ttf | Bin 0 ->
- 1504 bytes
- .../text-rendering-tests/fonts/TestMORXThirtyfour.ttf | Bin 0 ->
- 3608 bytes
- .../text-rendering-tests/fonts/TestMORXThirtythree.ttf | Bin 0 ->
- 1520 bytes
- .../text-rendering-tests/fonts/TestMORXTwentyfour.ttf | Bin 0 ->
- 1828 bytes
+ test/shaping/data/text-rendering-tests/extract-tests.py | 12 ++++++++++++
+ .../data/text-rendering-tests/fonts/TestGSUBThree.ttf | Bin 0 -> 1504 bytes
+ .../text-rendering-tests/fonts/TestMORXThirtyfour.ttf | Bin 0 -> 3608 bytes
+ .../text-rendering-tests/fonts/TestMORXThirtythree.ttf | Bin 0 -> 1520 bytes
+ .../text-rendering-tests/fonts/TestMORXTwentyfour.ttf | Bin 0 -> 1828 bytes
.../shaping/data/text-rendering-tests/tests/GSUB-3.tests | 1 +
.../data/text-rendering-tests/tests/MORX-24.tests | 1 +
.../data/text-rendering-tests/tests/MORX-32.tests | 8 ++++----
.../data/text-rendering-tests/tests/MORX-33.tests | 3 +++
.../data/text-rendering-tests/tests/MORX-34.tests | 1 +
- test/shaping/run-tests.py | 15
- +++++++++------
+ test/shaping/run-tests.py | 15 +++++++++------
12 files changed, 36 insertions(+), 11 deletions(-)
commit 6ff8a8a10b62a54a87d53b0af66ccaba5d58b107
@@ -19217,8 +19838,7 @@ Date: Thu Oct 4 11:34:21 2018 +0200
src/hb-ot-shape.cc | 23 ++++++++++++----
src/hb-ot-shape.hh | 5 ++++
- test/shaping/data/text-rendering-tests/DISABLED | 32
- ----------------------
+ test/shaping/data/text-rendering-tests/DISABLED | 32 ----------------------
.../data/text-rendering-tests/Makefile.sources | 14 +++++-----
4 files changed, 29 insertions(+), 45 deletions(-)
@@ -19238,49 +19858,33 @@ Author: Sascha Brawer <sascha@brawer.ch>
Date: Thu Oct 4 09:17:08 2018 +0200
Minor: Fix autoconf warning
-
+
Before this change, autoconf was emitting the following warnings:
-
+
```
- configure.ac:22: warning: AC_COMPILE_IFELSE was called before
- AC_USE_SYSTEM_EXTENSIONS
- ../../lib/autoconf/specific.m4:368: AC_USE_SYSTEM_EXTENSIONS is
- expanded from...
+ configure.ac:22: warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS
+ ../../lib/autoconf/specific.m4:368: AC_USE_SYSTEM_EXTENSIONS is expanded from...
configure.ac:22: the top level
- configure.ac:22: warning: AC_RUN_IFELSE was called before
- AC_USE_SYSTEM_EXTENSIONS
- ../../lib/autoconf/specific.m4:368: AC_USE_SYSTEM_EXTENSIONS is
- expanded from...
+ configure.ac:22: warning: AC_RUN_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS
+ ../../lib/autoconf/specific.m4:368: AC_USE_SYSTEM_EXTENSIONS is expanded from...
configure.ac:22: the top level
- configure.ac:22: warning: AC_COMPILE_IFELSE was called before
- AC_USE_SYSTEM_EXTENSIONS
- ../../lib/autoconf/specific.m4:368: AC_USE_SYSTEM_EXTENSIONS is
- expanded from...
+ configure.ac:22: warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS
+ ../../lib/autoconf/specific.m4:368: AC_USE_SYSTEM_EXTENSIONS is expanded from...
configure.ac:22: the top level
- configure.ac:22: warning: AC_RUN_IFELSE was called before
- AC_USE_SYSTEM_EXTENSIONS
- ../../lib/autoconf/specific.m4:368: AC_USE_SYSTEM_EXTENSIONS is
- expanded from...
+ configure.ac:22: warning: AC_RUN_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS
+ ../../lib/autoconf/specific.m4:368: AC_USE_SYSTEM_EXTENSIONS is expanded from...
configure.ac:22: the top level
- configure.ac:22: warning: AC_COMPILE_IFELSE was called before
- AC_USE_SYSTEM_EXTENSIONS
- ../../lib/autoconf/specific.m4:368: AC_USE_SYSTEM_EXTENSIONS is
- expanded from...
+ configure.ac:22: warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS
+ ../../lib/autoconf/specific.m4:368: AC_USE_SYSTEM_EXTENSIONS is expanded from...
configure.ac:22: the top level
- configure.ac:22: warning: AC_RUN_IFELSE was called before
- AC_USE_SYSTEM_EXTENSIONS
- ../../lib/autoconf/specific.m4:368: AC_USE_SYSTEM_EXTENSIONS is
- expanded from...
+ configure.ac:22: warning: AC_RUN_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS
+ ../../lib/autoconf/specific.m4:368: AC_USE_SYSTEM_EXTENSIONS is expanded from...
configure.ac:22: the top level
- configure.ac:22: warning: AC_COMPILE_IFELSE was called before
- AC_USE_SYSTEM_EXTENSIONS
- ../../lib/autoconf/specific.m4:368: AC_USE_SYSTEM_EXTENSIONS is
- expanded from...
+ configure.ac:22: warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS
+ ../../lib/autoconf/specific.m4:368: AC_USE_SYSTEM_EXTENSIONS is expanded from...
configure.ac:22: the top level
- configure.ac:22: warning: AC_RUN_IFELSE was called before
- AC_USE_SYSTEM_EXTENSIONS
- ../../lib/autoconf/specific.m4:368: AC_USE_SYSTEM_EXTENSIONS is
- expanded from...
+ configure.ac:22: warning: AC_RUN_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS
+ ../../lib/autoconf/specific.m4:368: AC_USE_SYSTEM_EXTENSIONS is expanded from...
configure.ac:22: the top level
```
@@ -19292,7 +19896,7 @@ Author: Sascha Brawer <sascha@brawer.ch>
Date: Thu Oct 4 09:24:08 2018 +0200
[morx] Only insert glyphs at mark when a mark has been set before
-
+
This reverts commit f4072e8cb81072cd6d51a2607efedb76c02e7db1.
https://github.com/harfbuzz/harfbuzz/issues/1195
@@ -19364,8 +19968,7 @@ Date: Wed Oct 3 21:30:48 2018 +0200
Add emoji test for recent work
test/shaping/data/in-house/Makefile.sources | 2 +-
- .../fonts/3cf6f8ac6d647473a43a3100e7494b202b2cfafe.ttf | Bin 0 ->
- 16596 bytes
+ .../fonts/3cf6f8ac6d647473a43a3100e7494b202b2cfafe.ttf | Bin 0 -> 16596 bytes
test/shaping/data/in-house/tests/emoji-flag-tags.tests | 2 --
test/shaping/data/in-house/tests/emoji.tests | 4 ++++
4 files changed, 5 insertions(+), 3 deletions(-)
@@ -19375,7 +19978,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed Oct 3 22:49:02 2018 +0330
[ci] Delete azure-pipelines
-
+
End of experiment, we might get back to it later
azure-pipelines.yml | 10 ----------
@@ -19397,7 +20000,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 3 21:11:13 2018 +0200
Unbreak Fitzpatrick
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1159
src/hb-ot-layout.hh | 2 +-
@@ -19408,13 +20011,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 3 21:02:16 2018 +0200
Rewrite grapheme-formation in terms of new work
-
- Also, don't attach ZWNJ to previous cluster. Closer to Unicode
- graphemes.
+
+ Also, don't attach ZWNJ to previous cluster. Closer to Unicode graphemes.
src/hb-coretext.cc | 2 +-
- src/hb-ot-shape.cc | 48
- ++++++----------------
+ src/hb-ot-shape.cc | 48 ++++++----------------
.../in-house/tests/indic-joiner-candrabindu.tests | 2 +-
.../data/in-house/tests/indic-joiners.tests | 6 +--
4 files changed, 18 insertions(+), 40 deletions(-)
@@ -19434,12 +20035,9 @@ Date: Wed Oct 3 20:45:19 2018 +0200
[test] Split a test
- .../fonts/4d4206e30b2dbf1c1ef492a8eae1c9e7829ebad8.ttf | Bin 0 ->
- 51924 bytes
- .../fonts/bb29ce50df2bdba2d10726427c6b7609bf460e04.ttf | Bin 74856 ->
- 0 bytes
- .../in-house/tests/mongolian-variation-selector.tests | 17
- ++++++++++++++++-
+ .../fonts/4d4206e30b2dbf1c1ef492a8eae1c9e7829ebad8.ttf | Bin 0 -> 51924 bytes
+ .../fonts/bb29ce50df2bdba2d10726427c6b7609bf460e04.ttf | Bin 74856 -> 0 bytes
+ .../in-house/tests/mongolian-variation-selector.tests | 17 ++++++++++++++++-
3 files changed, 16 insertions(+), 1 deletion(-)
commit ba813aab0909375af0c8f8e0c34595680c2762a4
@@ -19485,8 +20083,7 @@ Date: Wed Oct 3 20:09:14 2018 +0200
[buffer] Inline some more
src/hb-buffer.cc | 44 --------------------------------------------
- src/hb-buffer.hh | 52
- ++++++++++++++++++++++++++++++++++++++++++++--------
+ src/hb-buffer.hh | 52 ++++++++++++++++++++++++++++++++++++++++++++--------
2 files changed, 44 insertions(+), 52 deletions(-)
commit 6f39c22029867c6d00cf70d7df242a28ca8f12bc
@@ -19512,13 +20109,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 3 19:44:15 2018 +0200
[emoji] Mark emoji contination sequences as continuation
-
+
This adds a new grapheme bit. Not used yet.
-
+
Part of https://github.com/harfbuzz/harfbuzz/issues/1159
- src/hb-ot-layout.hh | 83
- +++++++++++++++++++++++++----------------------------
+ src/hb-ot-layout.hh | 83 +++++++++++++++++++++++++----------------------------
src/hb-ot-shape.cc | 24 ++++++++++++++++
src/hb-unicode.hh | 5 ----
3 files changed, 63 insertions(+), 49 deletions(-)
@@ -19537,23 +20133,20 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed Oct 3 21:26:58 2018 +0330
[test] Use an in-repo font for test-multithread (#1218)
-
- As Khaled's suggestion, hard-coded font paths was only for my own
- testing.
+
+ As Khaled's suggestion, hard-coded font paths was only for my own testing.
test/api/hb-subset-test.h | 13 +++++++++----
- test/api/test-multithread.c | 41
- ++++++++++++++++++++++++++---------------
+ test/api/test-multithread.c | 41 ++++++++++++++++++++++++++---------------
test/fuzzing/main.cc | 6 ++++++
3 files changed, 41 insertions(+), 19 deletions(-)
commit fde9b8852d7cd6224afeffcfe363f4b445ab1ece
-Author: azure-pipelines[bot]
-<azure-pipelines[bot]@users.noreply.github.com>
+Author: azure-pipelines[bot] <azure-pipelines[bot]@users.noreply.github.com>
Date: Wed Oct 3 17:47:05 2018 +0000
[ci] Add a test Azure Pipelines Linux bot
-
+
Related #1219
azure-pipelines.yml | 10 ++++++++++
@@ -19591,17 +20184,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 3 17:46:48 2018 +0200
[emoji] Add emoji Extended_Pictographic table and function
-
+
Part of https://github.com/harfbuzz/harfbuzz/issues/1159
-
+
.
src/Makefile.am | 12 +-
src/gen-emoji-table.py | 64 ++++++++++
src/hb-ot-os2-table.hh | 2 +-
src/hb-ot-os2-unicode-ranges.hh | 6 +-
- src/hb-unicode-emoji-table.hh | 269
- ++++++++++++++++++++++++++++++++++++++++
+ src/hb-unicode-emoji-table.hh | 269 ++++++++++++++++++++++++++++++++++++++++
src/hb-unicode.cc | 16 +++
src/hb-unicode.hh | 37 +++++-
7 files changed, 398 insertions(+), 8 deletions(-)
@@ -19613,8 +20205,7 @@ Date: Wed Oct 3 17:27:46 2018 +0200
[os2] Minor rename/shuffle
...unicode-ranges.py => gen-os2-unicode-ranges.py} | 2 +-
- src/hb-ot-os2-unicode-ranges.hh | 45
- +++++++++++-----------
+ src/hb-ot-os2-unicode-ranges.hh | 45 +++++++++++-----------
2 files changed, 24 insertions(+), 23 deletions(-)
commit 7a1ab0464d3ee1ca5c9b31215fbffb8601ae860d
@@ -19622,7 +20213,7 @@ Author: lantw44 <lantw44@gmail.com>
Date: Wed Oct 3 23:22:43 2018 +0800
Fix test-multithread build on FreeBSD (#1217)
-
+
Add the default font path used by FreeBSD ports.
test/api/test-multithread.c | 2 ++
@@ -19633,29 +20224,27 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 3 14:44:25 2018 +0200
[indic] Disallow vowel mark combinations that spoof other vowel marks
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1019
-
+
New numbers:
-
+
BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707261 out of 707394 tests passed. 133 failed (0.0188014%)
GUJARATI: 366353 out of 366457 tests passed. 104 failed (0.0283799%)
GURMUKHI: 60729 out of 60747 tests passed. 18 failed (0.0296311%)
KANNADA: 951300 out of 951913 tests passed. 613 failed (0.0643966%)
- MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed
- (0.0188871%)
+ MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
ORIYA: 42327 out of 42329 tests passed. 2 failed (0.00472489%)
SINHALA: 271596 out of 271847 tests passed. 251 failed (0.0923313%)
TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
-
+
Devanagari regressed because Uniscribe doesn't enforce the full set.
-
+
Tests added with the *-vowel-letters.txt files in tree and Noto fonts.
- src/hb-ot-shape-complex-indic.cc | 256
- ++++++++++++++++++++-
+ src/hb-ot-shape-complex-indic.cc | 256 ++++++++++++++++++++-
test/shaping/data/in-house/Makefile.sources | 1 +
.../03e3f463c3a985bc42096620cc415342818454fb.ttf | Bin 0 -> 2904 bytes
.../1a5face3fcbd929d228235c2f72bbd6f8eb37424.ttf | Bin 0 -> 8188 bytes
@@ -19683,10 +20272,8 @@ Date: Wed Oct 3 13:54:21 2018 +0200
Typo
- .../{bengali-vowel-leters.txt => bengali-vowel-letters.txt}
- | 0
- .../{gujarati-vowel-letter.txt => gujarati-vowel-letters.txt}
- | 0
+ .../{bengali-vowel-leters.txt => bengali-vowel-letters.txt} | 0
+ .../{gujarati-vowel-letter.txt => gujarati-vowel-letters.txt} | 0
2 files changed, 0 insertions(+), 0 deletions(-)
commit 0dd9101fd0ddff80fff10ba98e93523aed95c8f5
@@ -19712,9 +20299,8 @@ Author: HinTak <htl10@users.sourceforge.net>
Date: Wed Oct 3 07:11:22 2018 +0800
Missing colon for gobject annotation
-
- There should be a colon separating "(transfer full)" and the
- rest. Warned by g-ir-scanner.
+
+ There should be a colon separating "(transfer full)" and the rest. Warned by g-ir-scanner.
src/hb-face.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -19724,12 +20310,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 3 12:29:56 2018 +0200
[use] Add Halant_Or_Vowel_Modifier category
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1102
src/gen-use-table.py | 7 +-
- src/hb-ot-shape-complex-use-machine.hh | 518
- +++++++++++----------
+ src/hb-ot-shape-complex-use-machine.hh | 518 +++++++++++----------
src/hb-ot-shape-complex-use-machine.rl | 9 +-
src/hb-ot-shape-complex-use-table.cc | 4 +-
src/hb-ot-shape-complex-use.hh | 5 +-
@@ -19763,10 +20348,8 @@ Date: Tue Oct 2 15:05:26 2018 -0700
build/test/api/.libs/test-collect-unicodes | Bin 14336 -> 0 bytes
build/test/api/.libs/test-multithread | Bin 10936 -> 0 bytes
- build/test/api/test-collect-unicodes | 210
- -----------------------------
- build/test/api/test-multithread | 210
- -----------------------------
+ build/test/api/test-collect-unicodes | 210 -----------------------------
+ build/test/api/test-multithread | 210 -----------------------------
4 files changed, 420 deletions(-)
commit 51d5bf4ca2ebb9b8aa3b2777781e328fb93ceea7
@@ -19797,11 +20380,10 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Tue Oct 2 13:45:14 2018 -0700
redefine OpCodes as define instead of enum
-
+
in order to eradicate duplicate enum warnings
- src/hb-cff-interp-common.hh | 348
- ++++++++++++++++++++++----------------------
+ src/hb-cff-interp-common.hh | 348 ++++++++++++++++++++++----------------------
1 file changed, 174 insertions(+), 174 deletions(-)
commit 9cdd70b344b9dc34a29aeca79028cbb5d949ca1d
@@ -19816,7 +20398,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Oct 2 21:39:19 2018 +0330
[circleci] Fix some of warnings from clang-everything bot (#1211)
-
+
* -Wshift-sign-overflow
* -Wmissing-prototypes
@@ -19833,11 +20415,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 2 18:56:20 2018 +0200
[tests] Allow test-runner to ignore shaping output
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1212
- test/shaping/data/in-house/tests/fuzzed.tests | 46
- +++++++++++++--------------
+ test/shaping/data/in-house/tests/fuzzed.tests | 46 +++++++++++++--------------
test/shaping/run-tests.py | 2 +-
2 files changed, 24 insertions(+), 24 deletions(-)
@@ -19848,8 +20429,7 @@ Date: Tue Oct 2 18:46:13 2018 +0200
[tibetan] Remove unused Tibetan shaper
src/Makefile.sources | 1 -
- src/hb-ot-shape-complex-tibetan.cc | 63
- --------------------------------------
+ src/hb-ot-shape-complex-tibetan.cc | 63 --------------------------------------
src/hb-ot-shape-complex.hh | 1 -
3 files changed, 65 deletions(-)
@@ -19858,17 +20438,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 2 18:43:29 2018 +0200
[tibetan] Route Tibetan through USE
-
+
Fixes https://github.com/harfbuzz/harfbuzz/pull/933
https://github.com/harfbuzz/harfbuzz/issues/1012
-
+
Tibetan failures go from 0 to 2:
-
+
TIBETAN: 208467 out of 208469 tests passed. 2 failed (0.000959375%)
src/gen-use-table.py | 30 ++++++++++------
- src/hb-ot-shape-complex-use-table.cc | 70
- ++++++++++++++++++++++--------------
+ src/hb-ot-shape-complex-use-table.cc | 70 ++++++++++++++++++++++--------------
src/hb-ot-shape-complex.hh | 8 +----
3 files changed, 65 insertions(+), 43 deletions(-)
@@ -19887,11 +20466,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 2 17:49:06 2018 +0200
[indic/use] Factor common expressions in ragel machine
-
+
No machine change.
- src/hb-ot-shape-complex-indic-machine.hh | 46
- ++++++++++++++++----------------
+ src/hb-ot-shape-complex-indic-machine.hh | 46 ++++++++++++++++----------------
src/hb-ot-shape-complex-indic-machine.rl | 10 ++++---
src/hb-ot-shape-complex-use-machine.hh | 38 +++++++++++++-------------
src/hb-ot-shape-complex-use-machine.rl | 20 +++++++-------
@@ -19902,7 +20480,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 2 17:46:27 2018 +0200
[indic] Minor flip grammar around
-
+
No behavior change.
src/hb-ot-shape-complex-indic-machine.rl | 2 +-
@@ -19916,8 +20494,7 @@ Date: Tue Oct 2 17:16:01 2018 +0200
[indic] Add some confusable sequences from Unicode Standard
.../script-bengali/bengali-vowel-leters.txt | 3 ++
- .../devanagari-atomic-consonants.txt | 33
- ++++++++++++++++++++++
+ .../devanagari-atomic-consonants.txt | 33 ++++++++++++++++++++++
.../script-devanagari/devanagari-vowel-letters.txt | 17 +++++++++++
.../script-gujarati/gujarati-vowel-letter.txt | 8 ++++++
.../script-gurmukhi/gurmukhi-vowel-letters.txt | 9 ++++++
@@ -19948,7 +20525,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 2 16:05:26 2018 +0200
Treat a base+mark... ligature as base, not ligature
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/746
src/hb-ot-layout-gsubgpos.hh | 22 +++++++++++++++-------
@@ -19992,13 +20569,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 2 14:40:14 2018 +0200
Disable joiner-skipping when looking back for base to attach mark to
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1189
src/hb-ot-shape.cc | 5 ++++-
test/shaping/data/in-house/Makefile.sources | 1 +
- .../fonts/641ca9d7808b01cafa9a666c13811c9b56eb9c52.ttf | Bin 0 ->
- 11492 bytes
+ .../fonts/641ca9d7808b01cafa9a666c13811c9b56eb9c52.ttf | Bin 0 -> 11492 bytes
.../data/in-house/tests/arabic-mark-attach.tests | 1 +
4 files changed, 6 insertions(+), 1 deletion(-)
@@ -20010,8 +20586,7 @@ Date: Tue Oct 2 14:34:29 2018 +0200
src/hb-buffer.hh | 3 +--
src/hb-ot-layout.hh | 12 ++----------
- src/hb-ot-shape-complex-arabic.cc | 41
- ++++++---------------------------------
+ src/hb-ot-shape-complex-arabic.cc | 41 ++++++---------------------------------
3 files changed, 9 insertions(+), 47 deletions(-)
commit 48c513fec978819927535bc86b43be74315f746c
@@ -20061,8 +20636,7 @@ Date: Tue Oct 2 13:13:47 2018 +0200
Rename
src/hb-ot-face.cc | 20 +++++++-------
- src/hb-ot-face.hh | 78
- +++++++++++++++++++++++++++----------------------------
+ src/hb-ot-face.hh | 78 +++++++++++++++++++++++++++----------------------------
2 files changed, 49 insertions(+), 49 deletions(-)
commit 10b6c7c63870fa04cd8adcf9f38644c2a799db8a
@@ -20104,7 +20678,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Tue Oct 2 08:25:29 2018 +0200
Skip BOM in the Python sample file
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1208
src/sample.py | 6 +++---
@@ -20115,7 +20689,7 @@ Author: HinTak <htl10@users.sourceforge.net>
Date: Tue Oct 2 06:43:06 2018 +0100
Missing "out" indicator (#1209)
-
+
Missing "out" indicator. Affect gobject introspection.
src/hb-font.cc | 2 +-
@@ -20148,13 +20722,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 1 20:05:00 2018 +0200
[indic] Remove Consonant_Medial from grammar and code
-
- The only Indic CM is U+0A75 GURMUKHI SIGN YAKASH, which Uniscribe
- doesn't treat
+
+ The only Indic CM is U+0A75 GURMUKHI SIGN YAKASH, which Uniscribe doesn't treat
specially, and font designers design for that. So, do the same.
- src/hb-ot-shape-complex-indic-machine.hh | 1244
- ++++++++++++++----------------
+ src/hb-ot-shape-complex-indic-machine.hh | 1244 ++++++++++++++----------------
src/hb-ot-shape-complex-indic-machine.rl | 10 +-
src/hb-ot-shape-complex-indic.cc | 2 +-
src/hb-ot-shape-complex-indic.hh | 6 +-
@@ -20165,13 +20737,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 1 19:35:48 2018 +0200
[khmer] Add mark-ordering tests
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/667
test/shaping/data/in-house/Makefile.sources | 2 ++
.../b6031119874ae9ff1dd65383a335e361c0962220.ttf | Bin 0 -> 2564 bytes
- .../data/in-house/tests/khmer-mark-order.tests | 25
- +++++++++++++++++++++
+ .../data/in-house/tests/khmer-mark-order.tests | 25 +++++++++++++++++++++
3 files changed, 27 insertions(+)
commit 51436547162a18e88144e7125ad6ce4a69a08d4b
@@ -20179,23 +20750,20 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 1 19:09:58 2018 +0200
[khmer] Rewrite grammar completely
-
- Based on experimenting with Uniscribe to extract grammar and
- categories.
-
+
+ Based on experimenting with Uniscribe to extract grammar and categories.
+
Failures down from 44 to 35:
-
+
KHMER: 299089 out of 299124 tests passed. 35 failed (0.0117008%)
-
- We still don't enforce the one-matra rule pre-decomposition,
- but enforce
+
+ We still don't enforce the one-matra rule pre-decomposition, but enforce
an order and one-matra-per-position post-decomposition.
-
+
https://github.com/harfbuzz/harfbuzz/issues/667
src/hb-ot-shape-complex-indic.hh | 2 +-
- src/hb-ot-shape-complex-khmer-machine.hh | 300
- ++++++++++++++++++++-----------
+ src/hb-ot-shape-complex-khmer-machine.hh | 300 ++++++++++++++++++++-----------
src/hb-ot-shape-complex-khmer-machine.rl | 42 +++--
src/hb-ot-shape-complex-khmer.cc | 4 +-
src/hb-ot-shape-complex-khmer.hh | 99 +++++-----
@@ -20231,7 +20799,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 1 15:01:04 2018 +0200
[use] Disable automatic ZWJ for 'akhn' feature
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/746
src/hb-ot-shape-complex-use.cc | 2 +-
@@ -20242,7 +20810,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 1 12:45:06 2018 +0200
[use] Change categories for Left_And_* matras
-
+
These are only relevant to Sinhala, because they decompose in other
cases. The USE spec categorizes them all as VPst. No idea why we
weren't following that before.
@@ -20265,7 +20833,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 1 12:10:00 2018 +0200
[morx] Break out if buffer gets into error
-
+
Was getting stuck not making progress somehow.
src/hb-aat-layout-common.hh | 2 ++
@@ -20277,7 +20845,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 1 11:34:20 2018 +0200
[cache] Fix cache coherency corner-case
-
+
If key_bits+value_bits-cache_bits==32 then -1 is ambiguous...
src/hb-cache.hh | 6 ++++--
@@ -20288,7 +20856,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Mon Oct 1 09:40:29 2018 +0330
[circleci] Couple of fixes (#1200)
-
+
* Raise error on warnings on -everything
* Enable fontconfig to two bots
* Fix msan bot now that all of its real complain are gone
@@ -20333,9 +20901,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Sep 30 18:25:58 2018 +0200
Revert "Fix glib-mkenum warning"
-
+
This reverts commit 247756a7d89008ee6a7d1171dc07ba22454c6034.
-
+
Was wrong. Right fix coming.
src/hb-buffer.h | 2 ++
@@ -20356,7 +20924,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Sep 30 18:19:54 2018 +0200
Change _HB_SCRIPT_MAX_VALUE from 0xFFFFFFFF to 0x7FFFFFFF
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/504
src/hb-common.h | 8 +++++---
@@ -20392,7 +20960,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Sep 30 17:48:55 2018 +0200
Fix bug introduced in 9b0b40b3c1ac8155c80ed5dc976228f4d3ec7e1f
-
+
Also discovered by msan bot.
src/hb-ot-shape-fallback.cc | 2 +-
@@ -20403,7 +20971,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Sep 30 13:10:54 2018 +0200
Fix glib-mkenum warning
-
+
GEN hb-gobject-enums.h
WARNING: Failed to parse "/*< private >*/" in ../../src/hb-buffer.h
@@ -20460,17 +21028,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Sep 30 12:23:01 2018 +0200
[util] Remove unneeded virtual
-
+
clang warning:
-
- ../../util/options.hh:72:13: warning: destination for this 'memset'
- call is a pointer to dynamic class
- 'option_parser_t'; vtable pointer will be overwritten
- [-Wdynamic-class-memaccess]
+
+ ../../util/options.hh:72:13: warning: destination for this 'memset' call is a pointer to dynamic class
+ 'option_parser_t'; vtable pointer will be overwritten [-Wdynamic-class-memaccess]
memset (this, 0, sizeof (*this));
~~~~~~ ^
- ../../util/options.hh:72:13: note: explicitly cast the pointer to
- silence this warning
+ ../../util/options.hh:72:13: note: explicitly cast the pointer to silence this warning
memset (this, 0, sizeof (*this));
^
(void*)
@@ -20501,29 +21066,26 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Sep 30 05:49:08 2018 -0400
[util] Use HB_FALLTHROUGH
-
+
Sure, gcc knows to warn about this as well:
-
- ../../util/options.cc:175:17: warning: this statement may fall through
- [-Wimplicit-fallthrough=]
+
+ ../../util/options.cc:175:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
case 1: m.r = m.t;
~~~~^~~~~
../../util/options.cc:176:5: note: here
case 2: m.b = m.t;
^~~~
-
+
But HOLY SMOKES, look at clang -Weverything bot message:
-
- options.cc:176:5: warning: unannotated fall-through between switch
- labels [-Wimplicit-fallthrough]
+
+ options.cc:176:5: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
case 2: m.b = m.t;
^
- options.cc:176:5: note: insert 'HB_FALLTHROUGH;' to silence this
- warning
+ options.cc:176:5: note: insert 'HB_FALLTHROUGH;' to silence this warning
case 2: m.b = m.t;
^
HB_FALLTHROUGH;
-
+
Right, it's telling me to insert "HB_FALLTHROUGH;" there!!!!!!!!!
util/options.cc | 10 +++++-----
@@ -20534,12 +21096,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Sep 30 05:47:36 2018 -0400
[util] Mark var static
-
+
From clang -Weverything bot:
-
- options.cc:39:3: warning: no previous extern declaration
- for non-static variable 'supported_font_funcs'
- [-Wmissing-variable-declarations]
+
+ options.cc:39:3: warning: no previous extern declaration for non-static variable 'supported_font_funcs' [-Wmissing-variable-declarations]
util/options.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -20549,11 +21109,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Sep 30 05:46:20 2018 -0400
[util] Add empty virtual destructor to option_group_t
-
+
From clang -Weverything bot:
-
- ./options.hh:57:8: warning: 'option_group_t' has virtual functions
- but non-virtual destructor [-Wnon-virtual-dtor]
+
+ ./options.hh:57:8: warning: 'option_group_t' has virtual functions but non-virtual destructor [-Wnon-virtual-dtor]
struct option_group_t
^
@@ -20565,23 +21124,20 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Sep 30 05:43:22 2018 -0400
[indic/khmer] Remove use of global constructors
-
+
Alternative woul have been to resurrect F_COMBINE that I removed in
70136a78cb9eda244767f8e8a3d30d0f3c569d01
-
- But this does it for now. I'm not sure why check-static-inits.sh
- didn't
+
+ But this does it for now. I'm not sure why check-static-inits.sh didn't
catch this before. Clang -Weverything bot did:
-
+
CXX libharfbuzz_la-hb-ot-shape-complex-indic.lo
- hb-ot-shape-complex-indic.cc:99:1: warning: declaration requires a
- global constructor [-Wglobal-constructors]
+ hb-ot-shape-complex-indic.cc:99:1: warning: declaration requires a global constructor [-Wglobal-constructors]
indic_features[] =
^
1 warning generated.
CXX libharfbuzz_la-hb-ot-shape-complex-khmer.lo
- hb-ot-shape-complex-khmer.cc:36:1: warning: declaration requires a
- global constructor [-Wglobal-constructors]
+ hb-ot-shape-complex-khmer.cc:36:1: warning: declaration requires a global constructor [-Wglobal-constructors]
khmer_features[] =
^
1 warning generated.
@@ -20596,29 +21152,22 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Sep 30 05:34:30 2018 -0400
Tweak HB_TAG and HB_UNTAG
-
- uint32_t was getting promoted to signed int, which is not what
- we wanted...
-
+
+ uint32_t was getting promoted to signed int, which is not what we wanted...
+
Wow, clang has become good at generating warnings...
-
- ../../src/hb-common.h:349:29: warning: signed shift result
- (0xFF000000) sets the sign bit of the shift expression's type ('int')
- and becomes negative [-Wshift-sign-overflow]
- _HB_SCRIPT_MAX_VALUE = HB_TAG_MAX, /*<
- skip >*/
+
+ ../../src/hb-common.h:349:29: warning: signed shift result (0xFF000000) sets the sign bit of the shift expression's type ('int') and becomes negative [-Wshift-sign-overflow]
+ _HB_SCRIPT_MAX_VALUE = HB_TAG_MAX, /*< skip >*/
^~~~~~~~~~
../../src/hb-common.h:93:20: note: expanded from macro 'HB_TAG_MAX'
define HB_TAG_MAX HB_TAG(0xff,0xff,0xff,0xff)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../src/hb-common.h:89:57: note: expanded from macro 'HB_TAG'
- define HB_TAG(c1,c2,c3,c4)
- ((hb_tag_t)((((uint8_t)(c1))<<24)|(((uint8_t)(c2))<<16)|(((uint8_t)(c3))<<8)|((uint8_t)(c4))))
+ define HB_TAG(c1,c2,c3,c4) ((hb_tag_t)((((uint8_t)(c1))<<24)|(((uint8_t)(c2))<<16)|(((uint8_t)(c3))<<8)|((uint8_t)(c4))))
~~~~~~~~~~~~~~~^ ~~
- ../../src/hb-common.h:349:3: warning: ISO C restricts enumerator
- values to range of 'int' (4294967295 is too large) [-Wpedantic]
- _HB_SCRIPT_MAX_VALUE = HB_TAG_MAX, /*<
- skip >*/
+ ../../src/hb-common.h:349:3: warning: ISO C restricts enumerator values to range of 'int' (4294967295 is too large) [-Wpedantic]
+ _HB_SCRIPT_MAX_VALUE = HB_TAG_MAX, /*< skip >*/
^ ~~~~~~~~~~
src/hb-common.h | 4 ++--
@@ -20629,7 +21178,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Sep 30 05:27:39 2018 -0400
[font] Make *_advance() fallback to *_advances
-
+
And remove redundant implementations.
src/hb-font.cc | 12 ++++++++++++
@@ -20653,7 +21202,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Sep 30 03:49:52 2018 -0400
Document setlocale() threadsafety issue
-
+
"Fixes" //github.com/harfbuzz/harfbuzz/issues/1191
src/hb-buffer.cc | 2 ++
@@ -20710,7 +21259,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sat Sep 29 03:10:13 2018 +0330
[circleci] Improve clang-everything bot log, more to come
-
+
#1196
.circleci/config.yml | 2 +-
@@ -20730,9 +21279,8 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sat Sep 29 01:57:50 2018 +0330
[ci] Another try on fixing mingw bots
-
- Per
- https://github.com/Alexpux/MSYS2-packages/issues/163#issuecomment-73555971
+
+ Per https://github.com/Alexpux/MSYS2-packages/issues/163#issuecomment-73555971
appveyor.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -20742,7 +21290,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Fri Sep 28 20:53:48 2018 +0330
[tests] Don't try to get glyph names on failures
-
+
As it may cause a race unrelated to the issue actually happened
test/api/test-multithread.c | 4 ++--
@@ -20753,7 +21301,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Fri Sep 28 20:47:21 2018 +0330
[ci] Trying to fix mingw bot
-
+
As https://github.com/Alexpux/MSYS2-packages/issues/702
appveyor.yml | 2 +-
@@ -20764,7 +21312,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 28 11:06:49 2018 -0400
Fix pthread fail for real
-
+
Using a hack...
test/api/Makefile.am | 4 +++-
@@ -20784,13 +21332,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 28 10:14:23 2018 -0400
[morx] Remove mark_set from Insertion
-
- text-rendering-tests test MORX-32 shows that for Insertion, an unset
- mark is treated
- as mark set at 0. This is unlike the Reordering lookup where un
- unset mark performs
+
+ text-rendering-tests test MORX-32 shows that for Insertion, an unset mark is treated
+ as mark set at 0. This is unlike the Reordering lookup where un unset mark performs
nothing.
-
+
Fixes MORX-32.
src/hb-aat-layout-morx-table.hh | 7 +------
@@ -20801,7 +21347,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 28 10:00:07 2018 -0400
[morx] unsafe-to-break in Insertion
-
+
Makes MORX-29, MORX-30, MORX-31 pass.
src/hb-aat-layout-morx-table.hh | 2 ++
@@ -20815,12 +21361,9 @@ Date: Fri Sep 28 09:51:35 2018 -0400
test/shaping/data/text-rendering-tests/DISABLED | 4 ++++
test/shaping/data/text-rendering-tests/Makefile.sources | 4 ++++
- .../text-rendering-tests/fonts/TestMORXThirtyone.ttf | Bin 0 ->
- 2964 bytes
- .../text-rendering-tests/fonts/TestMORXThirtytwo.ttf | Bin 0 ->
- 2948 bytes
- .../text-rendering-tests/fonts/TestMORXTwentynine.ttf | Bin 0 ->
- 3012 bytes
+ .../text-rendering-tests/fonts/TestMORXThirtyone.ttf | Bin 0 -> 2964 bytes
+ .../text-rendering-tests/fonts/TestMORXThirtytwo.ttf | Bin 0 -> 2948 bytes
+ .../text-rendering-tests/fonts/TestMORXTwentynine.ttf | Bin 0 -> 3012 bytes
.../data/text-rendering-tests/tests/MORX-29.tests | 4 ++++
.../data/text-rendering-tests/tests/MORX-30.tests | 4 ++++
.../data/text-rendering-tests/tests/MORX-31.tests | 8 ++++++++
@@ -20878,8 +21421,7 @@ Date: Fri Sep 28 16:13:01 2018 +0330
test-multithread, check the results on every iteration (#1194)
- test/api/test-multithread.c | 59
- ++++++++++++++++++++++++---------------------
+ test/api/test-multithread.c | 59 ++++++++++++++++++++++++---------------------
1 file changed, 32 insertions(+), 27 deletions(-)
commit dbc3070a15290310bb5aade11d04eb24fe958094
@@ -20914,7 +21456,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Sep 27 16:54:23 2018 -0400
[cache] Use atomic writes in clear()
-
+
To help TSan.
src/hb-cache.hh | 5 ++++-
@@ -20925,9 +21467,8 @@ Author: Volker Krause <vkrause@kde.org>
Date: Thu Sep 27 16:33:49 2018 +0200
Fix infinite loop when walking up the directory hierarchy (#1183)
-
- A single find_package(harfbuzz) line in user code resulted in
- this loop
+
+ A single find_package(harfbuzz) line in user code resulted in this loop
getting stuck when _harfbuzz_libdir_iter became "/".
src/harfbuzz-config.cmake.in | 4 ++++
@@ -20956,15 +21497,14 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Wed Sep 26 16:30:26 2018 -0700
Added CFF1 J font subset to api test
-
+
Also fixed FDSelect3_4::get_fd
Fixed test_subset_cff1_strip_hints (wrong font names!)
src/hb-ot-cff-common.hh | 2 +-
.../fonts/SourceHanSans-Regular.41,3041,4E9D.otf | Bin 0 -> 5864 bytes
test/api/fonts/SourceHanSans-Regular.41,4E9D.otf | Bin 0 -> 5500 bytes
- test/api/test-subset-cff1.c | 25
- +++++++++++++++++++--
+ test/api/test-subset-cff1.c | 25 +++++++++++++++++++--
4 files changed, 24 insertions(+), 3 deletions(-)
commit 662f7d7e8bfa77b21ffa05e853f61dda993dcc8a
@@ -20972,7 +21512,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 26 18:42:37 2018 -0400
[arabic] Do the joiner-flipping only for rlig feature
-
+
See comment.
src/hb-ot-shape-complex-arabic.cc | 24 +++++++++++++++++++-----
@@ -21010,8 +21550,7 @@ commit c9c75fe3d9eb36f166d594ceb5889a1dc0b14fe6
Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Thu Sep 27 00:08:06 2018 +0330
- [ci] Compile freetype on tsan and put sanitizer flags on correct
- places (#1188)
+ [ci] Compile freetype on tsan and put sanitizer flags on correct places (#1188)
.circleci/config.yml | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
@@ -21052,11 +21591,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 26 15:02:21 2018 -0400
Fix test-multithread and increase num_threads to 30
-
+
What were you thinking? ;)
- test/api/test-multithread.c | 56
- +++++++++++++++++++++------------------------
+ test/api/test-multithread.c | 56 +++++++++++++++++++++------------------------
1 file changed, 26 insertions(+), 30 deletions(-)
commit 8bb73dad7f3279e1f1362cf9a137504e8ef08985
@@ -21066,8 +21604,7 @@ Date: Wed Sep 26 20:50:51 2018 +0330
Add a multithreaded test (#1184)
test/api/Makefile.am | 6 ++
- test/api/test-multithread.c | 146
- ++++++++++++++++++++++++++++++++++++++++++++
+ test/api/test-multithread.c | 146 ++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 152 insertions(+)
commit 04caf11608d2db13eb6ed2ecc3d406e284b4c13c
@@ -21075,7 +21612,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 26 12:13:47 2018 -0400
[hb-view] Change subpixel bits from 8 to 6
-
+
To match FreeType units, such that FreeType gets correct size from us.
This matters more now that we allow setting --ft-load-flags.
@@ -21087,7 +21624,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 25 12:47:37 2018 -0400
Fix iOS build
-
+
Fixes https://github.com/harfbuzz/harfbuzz/pull/1179
src/hb-coretext.cc | 4 ++--
@@ -21107,7 +21644,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Mon Sep 24 22:49:44 2018 -0700
fixed memory leaks
-
+
in CFF1 & CFF2 accelerators, VORG subsetter
src/hb-ot-cff1-table.hh | 2 ++
@@ -21128,10 +21665,8 @@ Date: Mon Sep 24 16:50:47 2018 -0700
test/api/fonts/SourceSansPro-Regular.abc.otf | Bin 0 -> 3412 bytes
.../api/fonts/SourceSansPro-Regular.ac.nohints.otf | Bin 0 -> 3228 bytes
test/api/fonts/SourceSansPro-Regular.ac.otf | Bin 0 -> 3332 bytes
- test/api/test-subset-cff1.c | 104
- +++++++++++++++++++++
- test/api/test-subset-cff2.c | 104
- +++++++++++++++++++++
+ test/api/test-subset-cff1.c | 104 +++++++++++++++++++++
+ test/api/test-subset-cff2.c | 104 +++++++++++++++++++++
9 files changed, 212 insertions(+)
commit 8282e881b51363811078bce53fad6aa5b41f7b41
@@ -21139,7 +21674,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 24 19:43:01 2018 -0400
Disable msan bot again
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1175
.circleci/config.yml | 2 +-
@@ -21179,9 +21714,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 24 18:03:34 2018 -0400
Remove F_COMBINE
-
- Now I wonder if any bots will be unhappy we calling | in static
- const initializations...
+
+ Now I wonder if any bots will be unhappy we calling | in static const initializations...
Or would that cost runtime init? Our tests don't detect any..
src/hb-ot-map.hh | 2 --
@@ -21214,8 +21748,7 @@ Date: Mon Sep 24 17:55:03 2018 -0400
src/hb-ot-map.hh | 15 ++++++++++-
src/hb-ot-shape-complex-hangul.cc | 2 +-
- src/hb-ot-shape-complex-indic.cc | 52
- +++++++++++++++-----------------------
+ src/hb-ot-shape-complex-indic.cc | 52 +++++++++++++++-----------------------
src/hb-ot-shape-complex-khmer.cc | 38 ++++++++++------------------
src/hb-ot-shape-complex-myanmar.cc | 2 +-
5 files changed, 51 insertions(+), 58 deletions(-)
@@ -21224,19 +21757,16 @@ commit 10203339600e85d6aaffba6034ac250e72fdfc12
Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Sep 25 01:00:32 2018 +0330
- [circleci] Update sanitizer bots with newer clang and Ubuntu version
- (#1176)
+ [circleci] Update sanitizer bots with newer clang and Ubuntu version (#1176)
- .circleci/config.yml | 48
- ++++++++++++++++++++++++++++++++----------------
+ .circleci/config.yml | 48 ++++++++++++++++++++++++++++++++----------------
1 file changed, 32 insertions(+), 16 deletions(-)
commit 12b8baa7653741ba13a89cd40f1f36b8bac11666
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 24 17:22:39 2018 -0400
- [msan] Enable again to get a build log, and try to play with
- suppressions
+ [msan] Enable again to get a build log, and try to play with suppressions
.circleci/config.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -21271,7 +21801,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 24 13:04:48 2018 -0400
[check-symbols.sh] Allow weak objects "V"
-
+
ubsan generates these.
src/check-symbols.sh | 2 +-
@@ -21282,9 +21812,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 24 13:01:35 2018 -0400
Link API test programs with C++ linker
-
+
Needed to make ubsan work.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1174
test/api/Makefile.am | 2 ++
@@ -21295,7 +21825,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 24 12:52:42 2018 -0400
[msan] Add MSAN_OPTIONS=exitcode=42
-
+
Default exit value is 77, which causes autotools to "skip" test.
.circleci/config.yml | 2 +-
@@ -21306,7 +21836,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 24 12:43:29 2018 -0400
[circleci] Disable msan and ubsan builds
-
+
https://github.com/harfbuzz/harfbuzz/issues/1174
https://github.com/harfbuzz/harfbuzz/issues/1175
@@ -21318,7 +21848,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 24 11:52:22 2018 -0400
Ignore weak symbols in check-symbols.sh
-
+
Some clang versions leave a std::round(float) weak symbol around...
src/check-symbols.sh | 2 +-
@@ -21329,7 +21859,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 24 10:43:06 2018 -0400
[docs] A few improvements
-
+
If we wrote just this much every day...
src/hb-buffer.cc | 4 ++++
@@ -21351,9 +21881,8 @@ commit 7f335390f3a498119319a0e6c3ce7656a3902066
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 24 09:56:18 2018 -0400
- Revert change that would decompose text if GPOS mark feature is
- available
-
+ Revert change that would decompose text if GPOS mark feature is available
+
https://github.com/harfbuzz/harfbuzz/issues/653#issuecomment-423905920
src/hb-ot-shape-normalize.cc | 4 +++-
@@ -21364,7 +21893,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 24 09:54:37 2018 -0400
Fix normalization
-
+
https://github.com/harfbuzz/harfbuzz/commit/62d1e0852a5549a1b510ad46a4b89f12730bb708#commitcomment-30613091
src/hb-ot-shape-normalize.cc | 1 -
@@ -21375,9 +21904,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Sep 23 22:33:38 2018 -0400
Simplify ZWJ-skipping a bit
-
+
Towards disabling ZWJ-skipping in certain GPOS contexts.
-
+
Part of https://github.com/flutter/flutter/issues/16886
src/hb-ot-layout-gsubgpos.hh | 6 +++---
@@ -21392,7 +21921,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Sep 23 22:00:34 2018 -0400
Reinit skippy iters when auto_zwj / auto_zwnj change
-
+
Ouch. How did we not hit this bug before...
src/hb-ot-layout-gsubgpos.hh | 17 +++++++++--------
@@ -21403,12 +21932,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Sep 23 21:32:18 2018 -0400
Prefer decomposed form if font has GPOS mark feature
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/653
src/hb-ot-shape-complex-hebrew.cc | 2 +-
- src/hb-ot-shape-normalize.cc | 126
- ++++++++++++++++++++------------------
+ src/hb-ot-shape-normalize.cc | 126 ++++++++++++++++++++------------------
src/hb-ot-shape-normalize.hh | 7 ++-
3 files changed, 72 insertions(+), 63 deletions(-)
@@ -21417,9 +21945,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Sep 23 19:12:52 2018 -0400
[ot-font] Fix leak
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1171
-
+
I'm glad we have leak-detector bots now.
src/hb-ot-post-table.hh | 1 +
@@ -21431,8 +21959,7 @@ Date: Sat Sep 22 14:22:17 2018 +0330
Add bots with address- and thread-sanitizer
- .circleci/config.yml | 52
- ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ .circleci/config.yml | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
commit 24dd6c1a9d8d571c30dce4d39c1975b1d1cedc2a
@@ -21450,7 +21977,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Sat Sep 22 16:41:56 2018 +0200
[test] Fix printing subprocess error messages
-
+
Decode the string as Python 3 returns bytes string, and also don’t
assume that it ends with a new line.
@@ -21462,7 +21989,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sat Sep 22 17:24:03 2018 +0330
Fix test-subset-* leak issues
-
+
See also https://github.com/harfbuzz/harfbuzz/pull/1169
test/api/hb-subset-test.h | 12 +++++++++---
@@ -21473,7 +22000,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sat Sep 22 17:05:52 2018 +0330
Fix test-ot-math leak issue
-
+
See also https://github.com/harfbuzz/harfbuzz/pull/1169
test/api/test-ot-math.c | 4 ++++
@@ -21484,7 +22011,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sat Sep 22 16:49:23 2018 +0330
Fix test-set leak issue
-
+
See also https://github.com/harfbuzz/harfbuzz/pull/1169
test/api/test-set.c | 1 +
@@ -21495,7 +22022,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sat Sep 22 16:45:31 2018 +0330
Fix test-font leak issue
-
+
See also https://github.com/harfbuzz/harfbuzz/pull/1169
test/api/test-font.c | 1 +
@@ -21506,7 +22033,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Fri Sep 21 12:16:36 2018 -0700
fixed subroutinized CFF2 flattening
-
+
and some code cleanup
src/hb-cff-interp-common.hh | 2 +-
@@ -21519,11 +22046,9 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Thu Sep 20 10:31:06 2018 -0700
Added desubroutinize option to generate-expected-outputs.py
-
+
Currently hb-subset always desubroutinizes CFF fonts.
- Note that even with this option fonttools won't generate the expected
- subset CFF fonts. They were manually created & tweaked to match
- hb-subset output.
+ Note that even with this option fonttools won't generate the expected subset CFF fonts. They were manually created & tweaked to match hb-subset output.
test/subset/generate-expected-outputs.py | 1 +
1 file changed, 1 insertion(+)
@@ -21533,12 +22058,11 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Thu Sep 20 09:45:43 2018 -0700
Added VORG struct and its subsetter
-
+
new file: hb-ot-vorg-table.hh
src/Makefile.sources | 1 +
- src/hb-ot-vorg-table.hh | 163
- ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-vorg-table.hh | 163 ++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-subset.cc | 5 +-
3 files changed, 168 insertions(+), 1 deletion(-)
@@ -21556,38 +22080,23 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Wed Sep 19 17:00:10 2018 -0700
Added SourceHanSans-Regular for CFF subset test
-
- Disabled FDSelect serialization to format 0 for compatibility with
- fonttools
-
- src/hb-subset-cff-common.cc | 16
- +++++++++++++---
- .../japanese/SourceHanSans-Regular.default..otf | Bin 0 ->
- 2340 bytes
- ...Regular.default.3042,3044,3046,3048,304A,304B.otf | Bin 0 ->
- 6248 bytes
- ...Regular.default.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 0 ->
- 6432 bytes
- .../SourceHanSans-Regular.default.61,63,65,6B.otf | Bin 0 ->
- 5428 bytes
- ...Regular.default.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 0 ->
- 6552 bytes
- .../japanese/SourceHanSans-Regular.default.660E.otf | Bin 0 ->
- 5196 bytes
- .../japanese/SourceHanSans-Regular.drop-hints..otf | Bin 0 ->
- 2188 bytes
- ...ular.drop-hints.3042,3044,3046,3048,304A,304B.otf | Bin 0 ->
- 6076 bytes
- ...ular.drop-hints.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 0 ->
- 6180 bytes
- .../SourceHanSans-Regular.drop-hints.61,63,65,6B.otf | Bin 0 ->
- 5312 bytes
- ...ular.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 0 ->
- 6248 bytes
- .../SourceHanSans-Regular.drop-hints.660E.otf | Bin 0 ->
- 5088 bytes
- test/subset/data/fonts/SourceHanSans-Regular.otf | Bin 0 ->
- 16427580 bytes
+
+ Disabled FDSelect serialization to format 0 for compatibility with fonttools
+
+ src/hb-subset-cff-common.cc | 16 +++++++++++++---
+ .../japanese/SourceHanSans-Regular.default..otf | Bin 0 -> 2340 bytes
+ ...Regular.default.3042,3044,3046,3048,304A,304B.otf | Bin 0 -> 6248 bytes
+ ...Regular.default.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 0 -> 6432 bytes
+ .../SourceHanSans-Regular.default.61,63,65,6B.otf | Bin 0 -> 5428 bytes
+ ...Regular.default.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 0 -> 6552 bytes
+ .../japanese/SourceHanSans-Regular.default.660E.otf | Bin 0 -> 5196 bytes
+ .../japanese/SourceHanSans-Regular.drop-hints..otf | Bin 0 -> 2188 bytes
+ ...ular.drop-hints.3042,3044,3046,3048,304A,304B.otf | Bin 0 -> 6076 bytes
+ ...ular.drop-hints.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 0 -> 6180 bytes
+ .../SourceHanSans-Regular.drop-hints.61,63,65,6B.otf | Bin 0 -> 5312 bytes
+ ...ular.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 0 -> 6248 bytes
+ .../SourceHanSans-Regular.drop-hints.660E.otf | Bin 0 -> 5088 bytes
+ test/subset/data/fonts/SourceHanSans-Regular.otf | Bin 0 -> 16427580 bytes
test/subset/data/tests/japanese.tests | 1 +
15 files changed, 14 insertions(+), 3 deletions(-)
@@ -21614,15 +22123,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 19 16:46:41 2018 -0400
[morx] Implement forward/backward processing
-
+
We reverse too many times. Can be optimized. But I doubt many fonts
use reverse lookups, so doesn't matter.
-
+
Other than not applying user features, this completes morx table
implementation.
- src/hb-aat-layout-morx-table.hh | 40
- ++++++++++++++++++++++++++++++++++++++++
+ src/hb-aat-layout-morx-table.hh | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
commit 3bccd62196b5dff70d446c3fe053b1b47bb9c19e
@@ -21639,7 +22147,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 19 16:02:56 2018 -0400
[morx] Improve buffer position in Insertion w DontAdvance and wo
-
+
Just speculation. Needs tests to determine which is correct behavior.
src/hb-aat-layout-morx-table.hh | 23 ++++++++++++++++++-----
@@ -21650,7 +22158,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Tue Sep 18 17:24:30 2018 -0700
fixed char widths & standard Encoding in subset CFF
-
+
also merged flush_n_args to flush_args into one
takes start index of the arguments on stack instead of count
@@ -21666,24 +22174,16 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Tue Sep 18 15:53:37 2018 -0700
Added SourceSansPro-Regular along as CFF full-font test case
-
- derived "expected" subset fonts from fonttools then manually tweaked
- further so they resemble hb-subset output
-
- ...ourceSansPro-Regular.default.1FC,21,41,20,62,63.otf | Bin 0 ->
- 3640 bytes
- .../SourceSansPro-Regular.default.61,62,63.otf | Bin 0 ->
- 3400 bytes
- .../SourceSansPro-Regular.default.D7,D8,D9,DA,DE.otf | Bin 0 ->
- 3596 bytes
- ...ceSansPro-Regular.drop-hints.1FC,21,41,20,62,63.otf | Bin 0 ->
- 3480 bytes
- .../SourceSansPro-Regular.drop-hints.61,62,63.otf | Bin 0 ->
- 3276 bytes
- ...SourceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.otf | Bin 0 ->
- 3448 bytes
- test/subset/data/fonts/SourceSansPro-Regular.otf | Bin 0 ->
- 220852 bytes
+
+ derived "expected" subset fonts from fonttools then manually tweaked further so they resemble hb-subset output
+
+ ...ourceSansPro-Regular.default.1FC,21,41,20,62,63.otf | Bin 0 -> 3640 bytes
+ .../SourceSansPro-Regular.default.61,62,63.otf | Bin 0 -> 3400 bytes
+ .../SourceSansPro-Regular.default.D7,D8,D9,DA,DE.otf | Bin 0 -> 3596 bytes
+ ...ceSansPro-Regular.drop-hints.1FC,21,41,20,62,63.otf | Bin 0 -> 3480 bytes
+ .../SourceSansPro-Regular.drop-hints.61,62,63.otf | Bin 0 -> 3276 bytes
+ ...SourceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.otf | Bin 0 -> 3448 bytes
+ test/subset/data/fonts/SourceSansPro-Regular.otf | Bin 0 -> 220852 bytes
test/subset/data/tests/full-font.tests | 1 +
test/subset/run-tests.py | 4 ++--
test/subset/subset_test_suite.py | 5 +++++
@@ -21694,7 +22194,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Mon Sep 17 15:34:39 2018 -0700
include curve control points in extents
-
+
this makes results consistent with FT
also optimized handling of path end points
@@ -21751,8 +22251,7 @@ Date: Mon Sep 17 19:29:34 2018 +0200
[morx] Implement InsertionChain
- src/hb-aat-layout-morx-table.hh | 87
- ++++++++++++++++-------------------------
+ src/hb-aat-layout-morx-table.hh | 87 ++++++++++++++++-------------------------
1 file changed, 33 insertions(+), 54 deletions(-)
commit c0c85b852d37dad75eeef473e6dd3ec91a3b559b
@@ -21760,14 +22259,12 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Mon Sep 17 11:14:56 2018 -0700
implemented get_glyph_extents with CFF1
-
- Implemented path operators in a new struct PathProc hooked up
- to CSOpSet
+
+ Implemented path operators in a new struct PathProc hooked up to CSOpSet
Added current point to CSInterpEnv
src/hb-cff-interp-common.hh | 86 ++++++++-
- src/hb-cff-interp-cs-common.hh | 425
- +++++++++++++++++++++++++++++++++++++++--
+ src/hb-cff-interp-cs-common.hh | 425 +++++++++++++++++++++++++++++++++++++++--
src/hb-cff1-interp-cs.hh | 18 +-
src/hb-cff2-interp-cs.hh | 10 +-
src/hb-null.hh | 2 +-
@@ -21794,10 +22291,9 @@ Author: Simon Hausmann <hausmann@gmail.com>
Date: Mon Sep 17 10:33:34 2018 +0200
Fix installation of cmake config when building with cmake (#1161)
-
+
When building with the auto tools, the manually mantained
- harfbuzz-config.cmake is installed. When building with cmake, we
- can use
+ harfbuzz-config.cmake is installed. When building with cmake, we can use
cmake to generate the correct config files for us and install them.
CMakeLists.txt | 5 +++++
@@ -21808,11 +22304,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Sep 16 19:33:48 2018 +0200
Revert forcing use of single-parameter static_assert()
-
- Some clang versions define static_assert as a macro apparently,
- so we cannot
+
+ Some clang versions define static_assert as a macro apparently, so we cannot
redefine it...
-
+
This reverts commit 94bfea0ce6a7b4d5641c198d50751748a353df11.
This reverts commit 4e62627831e7457ed60ff87712570065b14b200a.
@@ -21837,8 +22332,7 @@ Date: Sun Sep 16 19:33:48 2018 +0200
src/hb-set-digest.hh | 4 ++--
src/hb-set.hh | 6 +++---
src/hb-uniscribe.cc | 2 +-
- src/hb.hh | 34
- +++++++++++++-----------------
+ src/hb.hh | 34 +++++++++++++-----------------
util/options.cc | 3 ++-
23 files changed, 58 insertions(+), 61 deletions(-)
@@ -21865,7 +22359,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Sep 16 18:11:46 2018 +0200
Fix bots
-
+
"Unused private member" warning turned error. ugh.
src/hb-aat-layout-morx-table.hh | 2 ++
@@ -21876,7 +22370,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Sep 16 18:09:36 2018 +0200
Enforce single-param static_assert() only
-
+
So we don't accidentally break it again.
src/hb-atomic.hh | 4 ++--
@@ -21900,8 +22394,7 @@ Date: Sun Sep 16 18:09:36 2018 +0200
src/hb-set-digest.hh | 4 ++--
src/hb-set.hh | 6 +++---
src/hb-uniscribe.cc | 2 +-
- src/hb.hh | 34
- +++++++++++++++++-------------
+ src/hb.hh | 34 +++++++++++++++++-------------
22 files changed, 60 insertions(+), 56 deletions(-)
commit f1a86e1e6f3906f33fc89de694a4bbbc3e40d2bc
@@ -21927,19 +22420,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Sep 15 19:43:33 2018 +0200
Disallow null-enabled offsets to unsized structures...
-
+
...like UnsizedArrayOf<>.
-
- This fixes a class of crasher bugs, mostly with color and AAT tables.
- We
- cannot use nullable offsets to varsized data that does not declare
- min_size,
- because it's nost safe to use our fixed-size null pool for types
- that have
+
+ This fixes a class of crasher bugs, mostly with color and AAT tables. We
+ cannot use nullable offsets to varsized data that does not declare min_size,
+ because it's nost safe to use our fixed-size null pool for types that have
their size external. So, use non_null'able offsets for these.
-
- A further enhancement would be to make use of min_size in Null<>
- itself.
+
+ A further enhancement would be to make use of min_size in Null<> itself.
Will try that after.
src/hb-aat-layout-common.hh | 8 ++++----
@@ -21961,7 +22450,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Sep 15 18:31:14 2018 +0200
[morx] Respect default feature settings
-
+
Does NOT apply user-selected features. But at least now enables
correct subtables.
@@ -21983,8 +22472,7 @@ Date: Sat Sep 15 14:47:18 2018 +0200
[morx] Add stub for InsertionChain
- src/hb-aat-layout-morx-table.hh | 209
- ++++++++++++++++++++++++++++++++++++++--
+ src/hb-aat-layout-morx-table.hh | 209 ++++++++++++++++++++++++++++++++++++++--
1 file changed, 200 insertions(+), 9 deletions(-)
commit f8ccb545c47abe8f0f4ed318ff7b5bf176913893
@@ -21992,9 +22480,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 14 18:59:53 2018 +0200
[dfont] Disable null-processsing for offsets
-
- An offset to unsized arrayis not safe to be redirected to our
- fixed-sized
+
+ An offset to unsized arrayis not safe to be redirected to our fixed-sized
null pool. Plus, we want to reject, not repair, bad-looking dfonts.
src/hb-open-file.hh | 8 ++++----
@@ -22034,7 +22521,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 14 11:31:33 2018 +0200
[aat] Add enums for pre-defined state and classes
-
+
Not sure how I didn't add before...
src/hb-aat-layout-common.hh | 19 ++++++++++++++++---
@@ -22061,7 +22548,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Sep 13 20:35:21 2018 +0200
[dfont] Also check dataLen range in sanitize
-
+
Just to disagree with myself re being done with this code...
src/hb-open-file.hh | 1 +
@@ -22072,22 +22559,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Sep 13 20:30:04 2018 +0200
[dfont] Solve the mystery +2 offset thing!
-
- Previously, ResourceForkHeader was defined as 30 bytes, having the
- typeCountM1 as last member.
- There was a mysterious offset-by-2 in the code, derived from FontTools
- and JDK code this was
+
+ Previously, ResourceForkHeader was defined as 30 bytes, having the typeCountM1 as last member.
+ There was a mysterious offset-by-2 in the code, derived from FontTools and JDK code this was
ported from.
-
- In testing, I observed that typeListZ offset is actually 28.
- Suggesting that the typeCountM1
- does NOT actually belong to ResourceForkHeader, but belongs to the
- array itself. Adjusting for
- that resolves the mystery +2 offset hack, so everything is clean
- and good now.
-
- This, concludes my dfont hacking. The code looks great now, and
- I'm happy to leave it.
+
+ In testing, I observed that typeListZ offset is actually 28. Suggesting that the typeCountM1
+ does NOT actually belong to ResourceForkHeader, but belongs to the array itself. Adjusting for
+ that resolves the mystery +2 offset hack, so everything is clean and good now.
+
+ This, concludes my dfont hacking. The code looks great now, and I'm happy to leave it.
Fuzzers might disagree though, we will see!
src/hb-open-file.hh | 30 ++++++++++++------------------
@@ -22099,7 +22580,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Sep 13 20:21:54 2018 +0200
Rename HeadlessArrayOf::len to lenP1
-
+
So it doesn't accidentally match our templates, etc.
src/hb-open-type.hh | 14 +++++++-------
@@ -22132,8 +22613,7 @@ Date: Thu Sep 13 19:13:01 2018 +0200
[dfont] Push methods further down
- src/hb-open-file.hh | 58
- ++++++++++++++++++++++++++++++-----------------------
+ src/hb-open-file.hh | 58 ++++++++++++++++++++++++++++++-----------------------
1 file changed, 33 insertions(+), 25 deletions(-)
commit 8c9bdcc1feeab321a642bdaac50b716e48ce4263
@@ -22169,7 +22649,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Sep 13 18:47:53 2018 +0200
[dfont] Make test pass
-
+
Offset 0 is not null in this context.
src/hb-open-file.hh | 2 +-
@@ -22208,12 +22688,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Sep 13 16:49:26 2018 +0200
[dfont] Clean up sanitize()
-
+
I don't think I broke anything. Fuzzers will let me know..
src/hb-dsalgs.hh | 8 ++++
- src/hb-open-file.hh | 122
- ++++++++++++++++++++++++----------------------------
+ src/hb-open-file.hh | 122 ++++++++++++++++++++++++----------------------------
2 files changed, 64 insertions(+), 66 deletions(-)
commit 361fc2686152ad8c0ebaf19e0522e0fc58ba3953
@@ -22257,7 +22736,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Wed Sep 12 17:23:08 2018 -0700
fixed hb_plan_subset_cff_fdselect
-
+
FDSelect3/4 sentinel size wasn't taken into account
src/hb-subset-cff-common.cc | 4 ++--
@@ -22271,8 +22750,7 @@ Date: Wed Sep 12 16:08:54 2018 -0700
src/hb-ot-cff-common.hh | 6 ++++
src/hb-ot-cff1-table.hh | 6 ----
- src/hb-subset-cff-common.cc | 68
- ++++++++++++++++++++++++++-------------------
+ src/hb-subset-cff-common.cc | 68 ++++++++++++++++++++++++++-------------------
src/hb-subset-cff-common.hh | 10 +++----
src/hb-subset-cff1.cc | 12 ++++----
src/hb-subset-cff2.cc | 12 ++++----
@@ -22283,7 +22761,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Wed Sep 12 13:22:19 2018 -0700
fixed bugs in Charset serialization
-
+
also some code cleanup
src/hb-ot-cff1-table.hh | 4 ++--
@@ -22295,7 +22773,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Tue Sep 11 22:41:50 2018 -0700
fixed name mixup in Remap::reset
-
+
it was causing inconsistent Strings Index subset results
src/hb-ot-cff-common.hh | 4 ++--
@@ -22306,7 +22784,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Tue Sep 11 16:47:55 2018 -0700
misc bug fixes
-
+
Added OpCode_FontMatrix to TopDictOpSet (yet to parse values)
fixed a wrong assert in encode_int
@@ -22340,8 +22818,7 @@ Date: Tue Sep 11 13:24:27 2018 -0700
make parse_bcd locale free
- src/hb-cff-interp-dict-common.hh | 92
- +++++++++++++++++++++++++++++-----------
+ src/hb-cff-interp-dict-common.hh | 92 +++++++++++++++++++++++++++++-----------
1 file changed, 68 insertions(+), 24 deletions(-)
commit bb38d0f66388ec37ee9b0e81176d60c66fc17a19
@@ -22351,8 +22828,7 @@ Date: Tue Sep 11 10:43:15 2018 -0700
Implement parse_bcd
src/hb-cff-interp-common.hh | 15 --------------
- src/hb-cff-interp-dict-common.hh | 44
- ++++++++++++++++++++++++++++++++++++++++
+ src/hb-cff-interp-dict-common.hh | 44 ++++++++++++++++++++++++++++++++++++++++
2 files changed, 44 insertions(+), 15 deletions(-)
commit 45e564a51917475ef6481825a6efb5b99bf1912e
@@ -22368,8 +22844,7 @@ Date: Tue Sep 11 18:12:26 2018 +0200
[dfont] Some renaming, plus add link to reference doc
- src/hb-open-file.hh | 79
- ++++++++++++++++++++++++-----------------------------
+ src/hb-open-file.hh | 79 ++++++++++++++++++++++++-----------------------------
1 file changed, 35 insertions(+), 44 deletions(-)
commit 4134ec1307bbaff24972e238bc5e4a403cd3f1c1
@@ -22395,13 +22870,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 11 17:18:21 2018 +0200
[dfont] Fix test expecatation and minor touch up
-
- I have no way to authoritatively know, but looks like test font only
- has one
+
+ I have no way to authoritatively know, but looks like test font only has one
face. So, adjust test expectation instead.
- src/hb-open-file.hh | 18
- ++++++------------
+ src/hb-open-file.hh | 18 ++++++------------
test/shaping/data/in-house/tests/collections.tests | 2 +-
2 files changed, 7 insertions(+), 13 deletions(-)
@@ -22422,7 +22895,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 11 16:41:26 2018 +0200
[dfont] Re-enable and fix offset handling
-
+
Fixes https://github.com/harfbuzz/harfbuzz/pull/1085
src/hb-face.cc | 5 +++--
@@ -22452,15 +22925,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 11 14:35:26 2018 +0200
[ft] Cache advances
-
- I decided to always use the cache, instead of my previous sketch
- direction
- that was to only allocate and use cache if fast advances are not
- available.
+
+ I decided to always use the cache, instead of my previous sketch direction
+ that was to only allocate and use cache if fast advances are not available.
The cache is a mere 1kb, so just use it...
-
+
TODO: Invalidate cache on font size change.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/651
Fixes https://github.com/harfbuzz/harfbuzz/pull/1082
@@ -22473,9 +22944,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 11 14:21:15 2018 +0200
[util] Add --ft-load-flags
-
+
Useful for performance testing.
-
+
Not hooked to cairo yet. Just changes shaping, not rasterization.
util/helper-cairo.cc | 2 +-
@@ -22488,7 +22959,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 11 14:11:10 2018 +0200
[util] Add -n shorthand for --num-iterations
-
+
Meh.
util/options.cc | 2 +-
@@ -22499,7 +22970,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 11 14:05:16 2018 +0200
[ft] Towards caching slow get_h_advance results
-
+
Related to https://github.com/harfbuzz/harfbuzz/pull/1082
src/hb-ft.cc | 24 ++++++++++++++++++++----
@@ -22520,8 +22991,7 @@ Date: Tue Sep 11 12:56:17 2018 +0200
[ot-font] Rename
- src/hb-ot-font.cc | 74
- +++++++++++++++++++++++++++----------------------------
+ src/hb-ot-font.cc | 74 +++++++++++++++++++++++++++----------------------------
1 file changed, 37 insertions(+), 37 deletions(-)
commit d8a67dac2a673138bb4d41cd7eab97c9ee987958
@@ -22547,14 +23017,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 11 12:02:34 2018 +0200
Revert "Remove unused hb_cache_t"
-
+
This reverts commit 473b17af4d421f4ce7ac18c769731bb2aa4088f8.
-
+
Updates to recent changes.
src/Makefile.sources | 1 +
- src/hb-cache.hh | 75
- ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-cache.hh | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-ft.cc | 1 +
3 files changed, 77 insertions(+)
@@ -22583,9 +23052,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 10 22:37:19 2018 +0200
Make --features rand=1 available to the user
-
+
Use rand=255 to mean "randomize".
-
+
Part of https://github.com/harfbuzz/harfbuzz/pull/803
src/hb-ot-layout-gsub-table.hh | 11 ++++-------
@@ -22600,7 +23069,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 10 16:36:05 2018 +0200
Respect user's wish if they set rand feature manually
-
+
Except if the set it to 1, which would mean "randomize"... Ugly.
src/hb-ot-layout-gsub-table.hh | 30 ++++++++++++++++--------------
@@ -22636,8 +23105,7 @@ Date: Sat Jan 27 19:48:38 2018 -0500
Test 'rand'
test/shaping/data/in-house/Makefile.sources | 1 +
- .../fonts/5bb74492f5e0ffa1fbb72e4c881be035120b6513.ttf | Bin 0 ->
- 1352 bytes
+ .../fonts/5bb74492f5e0ffa1fbb72e4c881be035120b6513.ttf | Bin 0 -> 1352 bytes
test/shaping/data/in-house/tests/rand.tests | 3 +++
3 files changed, 4 insertions(+)
@@ -22646,9 +23114,8 @@ Author: David Corbett <corbett.dav@husky.neu.edu>
Date: Fri Jan 26 21:36:15 2018 -0500
Allow requesting a specific glyph for 'rand'
-
- Randomization only happens by default. If the user specifies a
- value for
+
+ Randomization only happens by default. If the user specifies a value for
'rand', that value is respected.
src/hb-ot-map.cc | 3 ++-
@@ -22676,8 +23143,7 @@ Date: Mon Sep 10 17:02:31 2018 -0700
fix build attempt
- src/hb-ot-cff1-table.hh | 70
- ++++++++++++++++++++++++-------------------------
+ src/hb-ot-cff1-table.hh | 70 ++++++++++++++++++++++++-------------------------
src/hb-subset-cff1.cc | 16 +++++------
2 files changed, 43 insertions(+), 43 deletions(-)
@@ -22696,12 +23162,9 @@ Date: Mon Sep 10 16:27:49 2018 -0700
Removed unused subr subset code
- src/hb-subset-cff-common.hh | 98
- ++-------------------------------------------
- src/hb-subset-cff1.cc | 92
- +++++-------------------------------------
- src/hb-subset-cff2.cc | 90
- ++++-------------------------------------
+ src/hb-subset-cff-common.hh | 98 ++-------------------------------------------
+ src/hb-subset-cff1.cc | 92 +++++-------------------------------------
+ src/hb-subset-cff2.cc | 90 ++++-------------------------------------
3 files changed, 22 insertions(+), 258 deletions(-)
commit becd84aa2f2902ea9d2d1677b28945e103a68816
@@ -22709,9 +23172,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 11 01:26:18 2018 +0200
Add HB_FEATURE_GLOBAL_START/END
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1141
-
+
New API:
HB_FEATURE_GLOBAL_START
HB_FEATURE_GLOBAL_END
@@ -22767,7 +23230,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Mon Sep 10 16:00:20 2018 -0700
subset CFF1 String Index
-
+
Repurposed FDMap as Remap then subclassed for remapping SIDs
misc code cleanup
@@ -22778,8 +23241,7 @@ Date: Mon Sep 10 16:00:20 2018 -0700
src/hb-ot-cff2-table.hh | 12 +-
src/hb-subset-cff-common.cc | 24 +--
src/hb-subset-cff-common.hh | 20 ++-
- src/hb-subset-cff1.cc | 334
- ++++++++++++++++++++++++++++++++-------
+ src/hb-subset-cff1.cc | 334 ++++++++++++++++++++++++++++++++-------
src/hb-subset-cff2.cc | 8 +-
9 files changed, 565 insertions(+), 194 deletions(-)
@@ -22788,7 +23250,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 10 23:18:07 2018 +0200
Simplify sanitize->check_array()
-
+
Fix a bug in CBDT sanitize, and redundant check in avar.
src/hb-aat-layout-common.hh | 10 ++++------
@@ -22813,11 +23275,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 10 23:02:24 2018 +0200
Port some VAR arrays to UnsizedArrayOf<>
-
+
Fix avar sanitize().
- src/hb-ot-layout-gsubgpos.hh | 59
- +++++++++++++++++++++++---------------------
+ src/hb-ot-layout-gsubgpos.hh | 59 +++++++++++++++++++++++---------------------
src/hb-ot-var-avar-table.hh | 10 +++++---
src/hb-ot-var-fvar-table.hh | 7 +++---
src/hb-ot-var-hvar-table.hh | 9 ++++---
@@ -22838,7 +23299,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 10 18:19:37 2018 +0200
Unbreak HB_OPTIONS
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1154
src/hb-debug.hh | 3 +++
@@ -22849,29 +23310,27 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 10 17:38:19 2018 +0200
[indic] Do NOT allow matra after Halant,ZWJ
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/556
-
+
Devanagari regresses 12 tests, and Gujarati 2. See:
-
+
https://github.com/harfbuzz/harfbuzz/issues/556#issuecomment-419957472
-
+
New numbers:
-
+
BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707299 out of 707394 tests passed. 95 failed (0.0134296%)
GUJARATI: 366353 out of 366457 tests passed. 104 failed (0.0283799%)
GURMUKHI: 60729 out of 60747 tests passed. 18 failed (0.0296311%)
KANNADA: 951300 out of 951913 tests passed. 613 failed (0.0643966%)
- MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed
- (0.0188871%)
+ MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
ORIYA: 42327 out of 42329 tests passed. 2 failed (0.00472489%)
SINHALA: 271596 out of 271847 tests passed. 251 failed (0.0923313%)
TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
- src/hb-ot-shape-complex-indic-machine.hh | 1688
- ++++++++++++++----------------
+ src/hb-ot-shape-complex-indic-machine.hh | 1688 ++++++++++++++----------------
src/hb-ot-shape-complex-indic-machine.rl | 2 +-
2 files changed, 784 insertions(+), 906 deletions(-)
@@ -22880,7 +23339,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 10 15:45:32 2018 +0200
Fix sanitize or Context Rule
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1110
src/hb-ot-layout-gsubgpos.hh | 2 +-
@@ -22891,7 +23350,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 10 13:56:28 2018 +0200
Revert "[subset] Disable GSUB/GPOS subsetting for now"
-
+
This reverts commit 616fd34a69bb69bc35c7e4ea939e71c3ea2e92cb.
src/hb-subset.cc | 4 ++--
@@ -22915,7 +23374,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 10 11:19:49 2018 +0200
[subset] Disable GSUB/GPOS subsetting for now
-
+
So I can get a release out. I haven't debugged those yet, and they
are producing bad tables.
@@ -22927,7 +23386,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 10 11:05:33 2018 +0200
[atomic] Fix pointer type passed to InterlockedExchangeAdd()
-
+
John Emmas reported on mailing list that build with MSVC is failing.
Not sure why bots don't catch it, but this should fix.
@@ -22939,24 +23398,19 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 7 15:02:57 2018 -0400
Use enum instead of "static const" in class scope
-
+
Technically, static const needs an out-of-class definition. Eg:
-
+
CXXLD libharfbuzz-subset.la
Undefined symbols for architecture x86_64:
"OT::FeatureVariationRecord::min_size", referenced from:
- bool OT::GSUBGPOS::subset<OT::PosLookup>(hb_subset_context_t*)
- constin libharfbuzz_subset_la-hb-subset.o
- bool OT::GSUBGPOS::subset<OT::SubstLookup>(hb_subset_context_t*)
- constin libharfbuzz_subset_la-hb-subset.o
+ bool OT::GSUBGPOS::subset<OT::PosLookup>(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o
+ bool OT::GSUBGPOS::subset<OT::SubstLookup>(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o
"OT::Record<OT::LangSys>::min_size", referenced from:
- OT::Script::subset(hb_subset_context_t*) constin
- libharfbuzz_subset_la-hb-subset.o
+ OT::Script::subset(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o
"OT::IntType<unsigned short, 2u>::min_size", referenced from:
- OT::Script::subset(hb_subset_context_t*) constin
- libharfbuzz_subset_la-hb-subset.o
- OT::RecordListOf<OT::Feature>::subset(hb_subset_context_t*)
- const in libharfbuzz_subset_la-hb-subset.o
+ OT::Script::subset(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o
+ OT::RecordListOf<OT::Feature>::subset(hb_subset_context_t*) const in libharfbuzz_subset_la-hb-subset.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[4]: *** [libharfbuzz-subset.la] Error 1
@@ -23013,7 +23467,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Thu Sep 6 18:26:13 2018 -0700
fix build attempt ^2
-
+
Added hb-ot-cff1-table.cc to hb-subset sources
Deleted unused variable (charset)
@@ -23026,7 +23480,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Thu Sep 6 17:56:05 2018 -0700
fix build attempt
-
+
Added HB_INTERNAL to static funtion declarations
src/hb-ot-cff1-table.hh | 8 ++++----
@@ -23037,7 +23491,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Thu Sep 6 17:28:15 2018 -0700
subset CFF1 Encoding & Charset
-
+
fixed misc Charset bugs
added source file hb-ot-cff1.table.cc
renamed things for clarity & consistency
@@ -23046,8 +23500,7 @@ Date: Thu Sep 6 17:28:15 2018 -0700
src/hb-cff-interp-dict-common.hh | 15 +-
src/hb-ot-cff-common.hh | 34 ++--
src/hb-ot-cff1-table.cc | 130 +++++++++++++
- src/hb-ot-cff1-table.hh | 403
- ++++++++++++++++++++++++++++++++-------
+ src/hb-ot-cff1-table.hh | 403 ++++++++++++++++++++++++++++++++-------
src/hb-ot-cff2-table.hh | 24 +--
src/hb-subset-cff1.cc | 247 ++++++++++++++++++++----
src/hb-subset-cff2.cc | 30 +--
@@ -23062,8 +23515,7 @@ Date: Wed Sep 5 18:04:52 2018 -0700
src/hb-ot-hdmx-table.hh | 14 ++++++++++----
test/api/fonts/Roboto-Regular.multihdmx.a.ttf | Bin 0 -> 2052 bytes
test/api/fonts/Roboto-Regular.multihdmx.abc.ttf | Bin 0 -> 2468 bytes
- test/api/test-subset-hdmx.c | 20
- ++++++++++++++++++++
+ test/api/test-subset-hdmx.c | 20 ++++++++++++++++++++
4 files changed, 30 insertions(+), 4 deletions(-)
commit 1e6599f59680c81356b2e9ddddb61252490337a0
@@ -23081,12 +23533,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 5 16:24:28 2018 -0700
[subset] Hook up GSUB/GPOS, but still disabled
-
+
They are still in the drop list.
src/hb-ot-hdmx-table.hh | 3 +-
- src/hb-subset.cc | 75
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-subset.cc | 75 +++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 77 insertions(+), 1 deletion(-)
commit 0d160d5ff5158fd4190201becd652c8f28ef4430
@@ -23097,8 +23548,7 @@ Date: Mon Sep 3 20:50:11 2018 -0700
src/hb-machinery.hh | 2 ++
src/hb-null.hh | 43 +++++++++++++++++++-----------
- src/hb-ot-layout-gsub-table.hh | 59
- +++++++++++++++++++++++++++++++++++-------
+ src/hb-ot-layout-gsub-table.hh | 59 +++++++++++++++++++++++++++++++++++-------
src/hb-vector.hh | 2 ++
4 files changed, 81 insertions(+), 25 deletions(-)
@@ -23107,7 +23557,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Tue Sep 4 11:29:15 2018 -0700
fix build by untemplatizing DictOpSet & DictVal
-
+
as they aren't instantiated with BlendArg (yet)
src/hb-cff-interp-dict-common.hh | 21 +++++++++------------
@@ -23122,16 +23572,13 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Tue Sep 4 10:25:21 2018 -0700
Drop hints from CFF2 charstrings
-
- Templatized ArgStack so it may store the default value along with
- blend deltas as BlendArg while parsing blend operator arguments in
- CFF2 charstring
+
+ Templatized ArgStack so it may store the default value along with blend deltas as BlendArg while parsing blend operator arguments in CFF2 charstring
Added get_region_count() method to VarRegionList & VariationStore
src/hb-cff-interp-common.hh | 67 +++++++++++++++++++++++++++------
src/hb-cff1-interp-cs.hh | 5 ++-
- src/hb-cff2-interp-cs.hh | 91
- +++++++++++++++++++++++++++++++++++++++------
+ src/hb-cff2-interp-cs.hh | 91 +++++++++++++++++++++++++++++++++++++++------
src/hb-ot-cff2-table.hh | 22 ++++++-----
src/hb-ot-layout-common.hh | 6 +++
src/hb-subset-cff-common.hh | 60 ++++++++++++++++--------------
@@ -23144,7 +23591,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 3 18:54:32 2018 -0700
[subset] Keep glyph set in plan
-
+
Should remove the vector version at some point...
src/hb-subset-plan.cc | 19 ++++++++++---------
@@ -23156,7 +23603,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 3 18:23:23 2018 -0700
[subset] Towards subsetting SingleSubstFormat1
-
+
Why does subset plan not have a hb_set_t of glyphs?
src/hb-machinery.hh | 10 +++++++++-
@@ -23170,8 +23617,7 @@ Date: Mon Sep 3 17:33:34 2018 -0700
[subset] Wire up subset() call down to subtables
src/hb-ot-layout-common.hh | 36 +++++++++++++++++++++++
- src/hb-ot-layout-gpos-table.hh | 67
- +++++++++++++++++++++++++++++++++++++++---
+ src/hb-ot-layout-gpos-table.hh | 67 +++++++++++++++++++++++++++++++++++++++---
src/hb-ot-layout-gsub-table.hh | 54 ++++++++++++++++++++++++++++------
src/hb-ot-layout-gsubgpos.hh | 42 ++++++++++++++++++++++++++
4 files changed, 186 insertions(+), 13 deletions(-)
@@ -23182,8 +23628,7 @@ Date: Mon Sep 3 17:16:09 2018 -0700
Templatize Lookup::sanitize()
- src/hb-ot-layout-common.hh | 40
- ++++++++++++++++++++++++++++------------
+ src/hb-ot-layout-common.hh | 40 ++++++++++++++++++++++++++++------------
src/hb-ot-layout-gpos-table.hh | 7 ++-----
src/hb-ot-layout-gsub-table.hh | 25 +++----------------------
3 files changed, 33 insertions(+), 39 deletions(-)
@@ -23195,8 +23640,7 @@ Date: Mon Sep 3 16:53:03 2018 -0700
[subset] More
src/hb-ot-layout-gpos-table.hh | 10 +++++----
- src/hb-ot-layout-gsub-table.hh | 48
- +++++++++++++++++++++---------------------
+ src/hb-ot-layout-gsub-table.hh | 48 +++++++++++++++++++++---------------------
src/hb-ot-layout-gsubgpos.hh | 22 +++++++++++++------
3 files changed, 45 insertions(+), 35 deletions(-)
@@ -23216,7 +23660,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 3 16:37:17 2018 -0700
[subset] Fix serialize_subset() calls
-
+
Ouch.
src/hb-open-type.hh | 2 +-
@@ -23234,8 +23678,7 @@ Date: Sun Sep 2 19:47:50 2018 -0700
src/hb-ot-layout-common.hh | 77 +++++++++--
src/hb-ot-layout-gpos-table.hh | 103 ++++++++++----
src/hb-ot-layout-gsub-table.hh | 205 +++++++++++++++++++--------
- src/hb-ot-layout-gsubgpos.hh | 306
- ++++++++++++++++++++++++++++++++---------
+ src/hb-ot-layout-gsubgpos.hh | 306 ++++++++++++++++++++++++++++++++---------
4 files changed, 528 insertions(+), 163 deletions(-)
commit 61ce62e55455bb0d6c9db3b076676ab18e51d449
@@ -23243,7 +23686,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Sep 2 17:00:27 2018 -0700
[subset] Minor
-
+
Remove Lookup::subset().
src/hb-ot-layout-common.hh | 11 -----------
@@ -23255,14 +23698,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Sep 1 18:34:50 2018 -0700
[subset] Towards GSUB/GPOS subsetting
-
+
Add subset() call for GSUBGPOS struct and its dependencies.
Not hooked up anywhere.
src/hb-machinery.hh | 10 ++++--
src/hb-open-type.hh | 25 ++++++++++++-
- src/hb-ot-layout-common.hh | 80
- +++++++++++++++++++++++++++++++++++-------
+ src/hb-ot-layout-common.hh | 80 +++++++++++++++++++++++++++++++++++-------
src/hb-ot-layout-gdef-table.hh | 33 ++++++++++-------
src/hb-ot-layout-gsub-table.hh | 11 ++++--
src/hb-ot-layout-gsubgpos.hh | 19 ++++++++++
@@ -23282,9 +23724,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 31 16:46:35 2018 -0700
[subset] De-templatize hb_subset_context_t
-
- We're going to (finally) use virtual methods for
- hb_serialize_context_t
+
+ We're going to (finally) use virtual methods for hb_serialize_context_t
customization, so don't need to carry a Serializer template variable
around... Simplifies code.
@@ -23327,15 +23768,13 @@ Date: Fri Aug 31 16:28:47 2018 -0700
templatized ArgStack as a prep to store blends
- src/hb-cff-interp-common.hh | 46
- +++++++++++++++++++++---------------
+ src/hb-cff-interp-common.hh | 46 +++++++++++++++++++++---------------
src/hb-cff-interp-cs-common.hh | 41 ++++++++++++++++++--------------
src/hb-cff-interp-dict-common.hh | 35 ++++++++++++++++-----------
src/hb-cff1-interp-cs.hh | 15 +++++++-----
src/hb-cff2-interp-cs.hh | 14 +++++++----
src/hb-ot-cff1-table.hh | 32 ++++++++++++-------------
- src/hb-ot-cff2-table.hh | 51
- ++++++++++++++++++++++++++--------------
+ src/hb-ot-cff2-table.hh | 51 ++++++++++++++++++++++++++--------------
src/hb-subset-cff-common.hh | 4 ++--
src/hb-subset-cff1.cc | 1 -
src/hb-subset-cff2.cc | 2 +-
@@ -23346,12 +23785,11 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Fri Aug 31 13:28:16 2018 -0700
drop hints from CFF1 charstrings
-
+
renamed confusing Stack.size to Stack.count
src/hb-cff-interp-common.hh | 43 +++++++-----
- src/hb-cff-interp-cs-common.hh | 140
- +++++++++++++++++----------------------
+ src/hb-cff-interp-cs-common.hh | 140 +++++++++++++++++----------------------
src/hb-cff-interp-dict-common.hh | 4 +-
src/hb-cff1-interp-cs.hh | 14 ++--
src/hb-cff2-interp-cs.hh | 18 ++---
@@ -23377,8 +23815,7 @@ Date: Fri Aug 31 13:25:19 2018 -0700
src/hb-ot-post-table.hh | 2 +-
src/hb-subset-glyf.cc | 1 -
src/hb-subset-glyf.hh | 2 +-
- src/hb-subset-input.hh | 57
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-subset-input.hh | 57 +++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-subset-plan.cc | 3 +--
src/hb-subset-plan.hh | 2 +-
src/hb-subset.cc | 3 +--
@@ -23403,8 +23840,7 @@ Date: Thu Aug 30 17:21:56 2018 -0700
src/hb-cff-interp-cs-common.hh | 20 +++++++++++++++++++-
src/hb-subset-cff-common.hh | 18 ++++++++++++++----
src/hb-subset-cff1.cc | 35 ++++++++++++++++++++++------------
- src/hb-subset-cff2.cc | 43
- ++++++++++++++++++++++++++----------------
+ src/hb-subset-cff2.cc | 43 ++++++++++++++++++++++++++----------------
4 files changed, 83 insertions(+), 33 deletions(-)
commit a23b892fe6cc4859a30edc7ffc003ab7624aa5f0
@@ -23413,8 +23849,7 @@ Date: Wed Aug 29 18:28:39 2018 -0700
Shuffle
- src/hb-machinery.hh | 62
- +++++++++++++++++++++++++++--------------------------
+ src/hb-machinery.hh | 62 +++++++++++++++++++++++++++--------------------------
1 file changed, 32 insertions(+), 30 deletions(-)
commit 93fe0faaee45b8fb646f7aa33620105c62193885
@@ -23423,8 +23858,7 @@ Date: Wed Aug 29 18:24:03 2018 -0700
[subset] Clean up hb_subset_input_t API
- src/hb-subset-input.cc | 44
- +++++++++++++++++++---------------------
+ src/hb-subset-input.cc | 44 +++++++++++++++++++---------------------
src/hb-subset-plan.cc | 4 ++--
src/hb-subset-plan.hh | 10 ++++-----
src/hb-subset.cc | 2 +-
@@ -23440,15 +23874,13 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Wed Aug 29 18:18:18 2018 -0700
CFF2 subroutine flattner
-
- Factored out CFF1 & CFF2 common subsetting code in
- hb-subset-cff-common.hh
+
+ Factored out CFF1 & CFF2 common subsetting code in hb-subset-cff-common.hh
src/hb-cff2-interp-cs.hh | 34 +++++--
src/hb-subset-cff-common.hh | 154 +++++++++++++++++++++++++++++
src/hb-subset-cff1.cc | 135 +++-----------------------
- src/hb-subset-cff2.cc | 229
- ++++++++++++++++++--------------------------
+ src/hb-subset-cff2.cc | 229 ++++++++++++++++++--------------------------
4 files changed, 285 insertions(+), 267 deletions(-)
commit d237ce71810045ee400c52740cd8ab6e1113aada
@@ -23465,15 +23897,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 29 18:09:55 2018 -0700
[subset] Remove unused hb_subset_profile_t
-
+
We might reintroduce it later, but for now remove, as it was unused.
Some things that should have been in this object (drop_hints, etc)
are already in hb_subset_input_t. So, for now, keep everything there.
src/hb-subset-plan.cc | 3 +--
src/hb-subset-plan.hh | 1 -
- src/hb-subset.cc | 39
- +++------------------------------------
+ src/hb-subset.cc | 39 +++------------------------------------
src/hb-subset.h | 16 +---------------
test/api/hb-subset-test.h | 4 +---
test/api/test-subset-hdmx.c | 8 ++------
@@ -23488,7 +23919,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 29 16:38:04 2018 -0700
[ot-font] Clean up cmap with gid=0
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1145
src/hb-ot-cmap-table.hh | 25 +++++++++++++++----------
@@ -23499,13 +23930,10 @@ Author: Ross Burton <ross@burtonini.com>
Date: Wed Aug 29 22:37:39 2018 +0100
Delete pkg.m4
+
+ pkg.m4 is provided by pkg-config, which is a requirement to build, and this copy is ancient. Delete it to avoid it being used instead of the host copy.
- pkg.m4 is provided by pkg-config, which is a requirement to build,
- and this copy is ancient. Delete it to avoid it being used instead
- of the host copy.
-
- m4/pkg.m4 | 157
- --------------------------------------------------------------
+ m4/pkg.m4 | 157 --------------------------------------------------------------
1 file changed, 157 deletions(-)
commit b95bf075d7b62baf7d6fa1d8f0d1f16fad934975
@@ -23536,7 +23964,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Wed Aug 29 13:26:17 2018 -0700
Merge branch 'master' into cff-subset
-
+
Renamed cff "private" source/headers without the suffix
commit 0ad081ec324e734cfca60d4d2c36a1be5bc8a067
@@ -23553,15 +23981,12 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Wed Aug 29 12:14:30 2018 -0700
Subroutine flattener for CFF1
-
- Subr-flattened charstrings are temporarily re-encoded in ByteStrBuff
- during "plan" phase, then copied to hb_serialize_context_t during
- "write" phase
-
+
+ Subr-flattened charstrings are temporarily re-encoded in ByteStrBuff during "plan" phase, then copied to hb_serialize_context_t during "write" phase
+
CSOpSet may callback opcode processing "virtual" functions via CRTP
-
- Numer struct may store a value as fixed optionally in addition to
- int and float
+
+ Numer struct may store a value as fixed optionally in addition to int and float
src/hb-cff-interp-common-private.hh | 53 ++++++++++--
src/hb-cff-interp-cs-common-private.hh | 109 ++++++++++++++++++-----
@@ -23569,8 +23994,7 @@ Date: Wed Aug 29 12:14:30 2018 -0700
src/hb-cff2-interp-cs.hh | 14 +--
src/hb-ot-cff-common-private.hh | 10 +--
src/hb-subset-cff-common-private.hh | 102 +++++++++++++++++++++-
- src/hb-subset-cff1.cc | 152
- ++++++++++++++++++++++-----------
+ src/hb-subset-cff1.cc | 152 ++++++++++++++++++++++-----------
src/hb-subset-cff2.cc | 7 +-
8 files changed, 372 insertions(+), 110 deletions(-)
@@ -23579,7 +24003,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 28 18:27:41 2018 -0700
Don't declare extern symbols as inline
-
+
clang -O3 was completely removing _get_gdef(), causing link
failure when needed from another compilation unit. Surprisingly,
"extern inline" didn't fix it.
@@ -23610,7 +24034,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 28 11:02:00 2018 -0700
Explicitly pass reference in hb_auto_t constructor
-
+
Fixes clang bots as well as fuzzer issue.
src/hb-dsalgs.hh | 9 ++++++++-
@@ -23637,7 +24061,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Aug 26 15:11:24 2018 -0700
Free up hb-ot-face.hh from includes
-
+
There might be a better way to do this, but I couldn't find...
src/hb-face.cc | 1 +
@@ -23693,8 +24117,7 @@ Date: Sun Aug 26 09:03:31 2018 -0700
[GDEF] Move code around
src/hb-ot-layout-gdef-table.hh | 118 +-----------------------------------
- src/hb-ot-layout.cc | 134
- ++++++++++++++++++++++++++++++++++++++---
+ src/hb-ot-layout.cc | 134 ++++++++++++++++++++++++++++++++++++++---
src/hb-ot-layout.hh | 14 +----
3 files changed, 128 insertions(+), 138 deletions(-)
@@ -23703,7 +24126,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Aug 26 01:30:52 2018 -0700
Add template keyword
-
+
I swear I have no idea why this is needed, but it is...
src/hb-ot-layout-gsubgpos.hh | 2 +-
@@ -23726,8 +24149,7 @@ Date: Sun Aug 26 01:25:54 2018 -0700
src/hb-ot-face.cc | 108 ----------------------------------
src/hb-ot-face.hh | 2 +-
- src/hb-ot-layout-gdef-table.hh | 129
- +++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout-gdef-table.hh | 129 +++++++++++++++++++++++++++++++++++++++++
src/hb-ot-layout.cc | 14 ++++-
src/hb-ot-layout.hh | 5 +-
5 files changed, 147 insertions(+), 111 deletions(-)
@@ -23736,12 +24158,10 @@ commit b929100f8782816c2621715f6c007ecefc419d83
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Aug 26 01:15:47 2018 -0700
- [ot-face] Unify GSUB/GPOS accelerators in the table accelerator
- framework
+ [ot-face] Unify GSUB/GPOS accelerators in the table accelerator framework
src/hb-aat-layout.cc | 4 +---
- src/hb-ot-face.cc | 40
- ++--------------------------------------
+ src/hb-ot-face.cc | 40 ++--------------------------------------
src/hb-ot-face.hh | 25 +++++++++++--------------
src/hb-ot-layout-gpos-table.hh | 2 +-
src/hb-ot-layout-gsub-table.hh | 6 +++---
@@ -23774,8 +24194,7 @@ Date: Sun Aug 26 00:21:29 2018 -0700
src/hb-machinery.hh | 4 ++--
src/hb-ot-cmap-table.hh | 3 ++-
src/hb-ot-face.cc | 6 +++--
- src/hb-ot-face.hh | 58
- +++++++++++++------------------------------------
+ src/hb-ot-face.hh | 58 +++++++++++++------------------------------------
src/hb-ot-font.cc | 6 ++---
5 files changed, 26 insertions(+), 51 deletions(-)
@@ -23807,8 +24226,7 @@ Date: Sat Aug 25 23:54:06 2018 -0700
src/hb-ot-cmap-table.hh | 1 +
src/hb-ot-face.cc | 2 ++
src/hb-ot-face.hh | 55 +++++++++++++++++++++++++++-----
- src/hb-ot-font.cc | 75
- ++++----------------------------------------
+ src/hb-ot-font.cc | 75 ++++----------------------------------------
src/hb-ot-layout-gsubgpos.hh | 1 +
src/hb-ot-layout.hh | 1 -
6 files changed, 58 insertions(+), 77 deletions(-)
@@ -23829,8 +24247,7 @@ Date: Sat Aug 25 23:19:34 2018 -0700
[ot-font] Make everything (cmap/metrics) lazy
src/hb-machinery.hh | 5 +++++
- src/hb-ot-font.cc | 51
- ++++++++++++++++++++++++++-------------------------
+ src/hb-ot-font.cc | 51 ++++++++++++++++++++++++++-------------------------
2 files changed, 31 insertions(+), 25 deletions(-)
commit 62fc54725a3863473829f3a3748c9336e4dc0787
@@ -23838,7 +24255,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 25 23:15:52 2018 -0700
[ot-font] Fallback vertical advance to UPEM
-
+
Used to be ascent+descent. Whatever. This is more convenient for
upcoming changes.
@@ -23853,8 +24270,7 @@ Date: Sat Aug 25 23:06:37 2018 -0700
Add hb-ot-face.cc/hh
src/Makefile.sources | 2 +
- src/hb-ot-face.cc | 206
- +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-face.cc | 206 +++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-face.hh | 144 +++++++++++++++++++++++++++++++++++
src/hb-ot-layout.cc | 172 ------------------------------------------
src/hb-ot-layout.hh | 108 +--------------------------
@@ -23867,18 +24283,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 25 22:44:39 2018 -0700
[face] Introduce character-map API
-
+
New API:
+hb_face_collect_unicodes
+hb_face_collect_variation_selectors
+hb_face_collect_variation_unicodes
docs/harfbuzz-sections.txt | 3 ++
- src/hb-face.cc | 61
- ++++++++++++++++++++++++-
+ src/hb-face.cc | 61 ++++++++++++++++++++++++-
src/hb-face.h | 19 ++++++++
- src/hb-subset.cc | 53
- ---------------------
+ src/hb-subset.cc | 53 ---------------------
src/hb-subset.h | 15 ------
test/api/test-subset-codepoints.c | 6 +--
test/fuzzing/hb-subset-get-codepoints-fuzzer.cc | 2 +-
@@ -23898,11 +24312,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 25 22:36:36 2018 -0700
Rename hb-*private.hh to hb-*.hh
-
+
Sorry for the noise, downstream custom builders. Please adjust.
- src/Makefile.sources | 75
- +++++++++++-----------
+ src/Makefile.sources | 75 +++++++++++-----------
src/check-includes.sh | 8 +--
src/dump-indic-data.cc | 2 +-
src/dump-khmer-data.cc | 2 +-
@@ -24077,7 +24490,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 25 22:07:17 2018 -0700
[unicode] Add HB_UNICODE_MAX
-
+
New API:
HB_UNICODE_MAX
@@ -24110,8 +24523,7 @@ Date: Sat Aug 25 21:15:39 2018 -0700
Use new hb_auto_t<> constructor with Coverage::Iter
- src/hb-ot-layout-common-private.hh | 65
- ++++++++++++++++++++++++--------------
+ src/hb-ot-layout-common-private.hh | 65 ++++++++++++++++++++++++--------------
src/hb-ot-layout-gsub-table.hh | 30 ++++++------------
2 files changed, 52 insertions(+), 43 deletions(-)
@@ -24120,7 +24532,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 25 21:08:15 2018 -0700
Add 1-param passthrough constructor to hb_auto_t<>
-
+
And use.
src/hb-dsalgs.hh | 1 +
@@ -24141,11 +24553,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 25 16:11:26 2018 -0700
[cmap Add hb_subset_collect_variation_unicodes()
-
+
To be moved to hb-face.h later.
- src/hb-ot-cmap-table.hh | 59
- +++++++++++++++++++++++++++++++++++++++++--------
+ src/hb-ot-cmap-table.hh | 59 +++++++++++++++++++++++++++++++++++++++++--------
src/hb-subset.cc | 25 ++++++++++++++++++++-
src/hb-subset.h | 10 +++++++--
3 files changed, 82 insertions(+), 12 deletions(-)
@@ -24155,7 +24566,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 25 15:56:07 2018 -0700
[cmap] Add hb_subset_collect_variation_selectors()
-
+
To be moved to hb-face later.
src/hb-ot-cmap-table.hh | 20 ++++++++++++++++----
@@ -24188,8 +24599,7 @@ Date: Sat Aug 25 15:33:05 2018 -0700
[cmap] Factor out find_best_subtable
- src/hb-ot-cmap-table.hh | 52
- +++++++++++++++++++++++++++++--------------------
+ src/hb-ot-cmap-table.hh | 52 +++++++++++++++++++++++++++++--------------------
1 file changed, 31 insertions(+), 21 deletions(-)
commit b41c43b4e112bfa38fef35694842f242c28a7da2
@@ -24198,8 +24608,7 @@ Date: Sat Aug 25 15:25:03 2018 -0700
Minor
- src/hb-ot-cmap-table.hh | 48
- ++++++++++++++++++++++++++----------------------
+ src/hb-ot-cmap-table.hh | 48 ++++++++++++++++++++++++++----------------------
1 file changed, 26 insertions(+), 22 deletions(-)
commit 7d382fa276f44b7b163e98d434cc79f958bf87fb
@@ -24216,11 +24625,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 25 09:33:30 2018 -0700
[cmap] Simplify collect_unicodes()
-
+
Don't use accelerator (almost). Hooks up Format13 as well.
- src/hb-ot-cmap-table.hh | 52
- +++++++++++++++++++++++++++----------------------
+ src/hb-ot-cmap-table.hh | 52 +++++++++++++++++++++++++++----------------------
1 file changed, 29 insertions(+), 23 deletions(-)
commit d60c465627d76fcfbeb37d6b8f9382f3b84ace6e
@@ -24229,8 +24637,7 @@ Date: Sat Aug 25 08:47:06 2018 -0700
Rename get_all_codepoints() to collect_unicodes()
- src/hb-ot-cmap-table.hh | 26
- ++++++++++++-------------
+ src/hb-ot-cmap-table.hh | 26 ++++++++++++-------------
src/hb-subset.cc | 6 +++---
src/hb-subset.h | 4 ++--
test/api/test-subset-codepoints.c | 18 ++++++++---------
@@ -24242,7 +24649,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 25 08:44:18 2018 -0700
[ot-font] Return char-not-found if mapped to gid 0
-
+
OpenType cmap table can use gid=0 to mean "not covered" to produce
more optimized cmap subtables. Return false from get_nominal_glyph()
for those. hb-ft already does this.
@@ -24255,14 +24662,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 25 08:18:53 2018 -0700
Add face-builder
-
+
New API:
+hb_face_builder_create
+hb_face_builder_add_table
docs/harfbuzz-sections.txt | 5 +-
- src/hb-face.cc | 149
- +++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-face.cc | 149 +++++++++++++++++++++++++++++++++++++++++++++
src/hb-face.h | 14 +++++
src/hb-subset-plan.cc | 2 +-
src/hb-subset-plan.hh | 2 +-
@@ -24285,8 +24691,7 @@ Date: Fri Aug 24 10:24:45 2018 -0700
[sanitize] Document how sanitize machinery works
- src/hb-machinery-private.hh | 62
- +++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-machinery-private.hh | 62 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)
commit 142ac5a6be6088771e0ee4b135ba753c80036a9a
@@ -24311,8 +24716,7 @@ Date: Wed Aug 15 20:12:25 2018 -0700
src/hb-ot-layout-gsub-table.hh | 8 ++-
src/hb-ot-layout-gsubgpos-private.hh | 2 +-
src/hb-ot-layout-private.hh | 12 ++---
- src/hb-ot-layout.cc | 100
- +++++++++++++++++------------------
+ src/hb-ot-layout.cc | 100 +++++++++++++++++------------------
src/hb-ot-math.cc | 2 +-
src/hb-ot-shape.cc | 5 +-
src/hb-ot-var.cc | 4 +-
@@ -24344,10 +24748,8 @@ Date: Fri Aug 17 16:50:13 2018 -0700
drop hints from CFF & CFF2 Private
src/hb-cff-interp-dict-common-private.hh | 24 ++++++++++++++
- src/hb-subset-cff1.cc | 53
- +++++++++++++++++++++++++++---
- src/hb-subset-cff2.cc | 55
- +++++++++++++++++++++++++++++---
+ src/hb-subset-cff1.cc | 53 +++++++++++++++++++++++++++---
+ src/hb-subset-cff2.cc | 55 +++++++++++++++++++++++++++++---
3 files changed, 123 insertions(+), 9 deletions(-)
commit cef75ea41a513a612a683bced27ced31761204b5
@@ -24355,7 +24757,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Fri Aug 17 13:13:18 2018 -0700
Added CFF2 Subr nullifier
-
+
along with CFF2 charstring interpreter
factored out common code between CFF1 & CFF2 to CSInterpreter
moved fetch_op from Interpreter to InterpEnv
@@ -24363,12 +24765,10 @@ Date: Fri Aug 17 13:13:18 2018 -0700
src/Makefile.sources | 1 +
src/hb-cff-interp-common-private.hh | 44 +++++++--------
- src/hb-cff-interp-cs-common-private.hh | 95
- +++++++++++++++++++++++++++++--
+ src/hb-cff-interp-cs-common-private.hh | 95 +++++++++++++++++++++++++++++--
src/hb-cff-interp-dict-common-private.hh | 3 +-
src/hb-cff1-interp-cs.hh | 82 ---------------------------
- src/hb-cff2-interp-cs.hh | 97
- ++++++++++++++++++++++++++++++++
+ src/hb-cff2-interp-cs.hh | 97 ++++++++++++++++++++++++++++++++
src/hb-ot-cff-common-private.hh | 4 ++
src/hb-ot-cff2-table.hh | 7 ++-
src/hb-subset-cff1.cc | 1 +
@@ -24380,11 +24780,10 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Thu Aug 16 08:03:46 2018 -0700
renamed CFF::Index to CFF::CFFIndex
-
+
to avoid confusion with OT::Index
- src/hb-ot-cff-common-private.hh | 38
- +++++++++++++++++++-------------------
+ src/hb-ot-cff-common-private.hh | 38 +++++++++++++++++++-------------------
src/hb-ot-cff1-table.hh | 4 ++--
src/hb-ot-cff2-table.hh | 2 +-
src/hb-subset-cff2.cc | 4 ++--
@@ -24404,7 +24803,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Thu Aug 16 00:25:57 2018 -0700
renamed OT::cff to OT::cff1 for consistency
-
+
along with HB_OT_TAG_cff1
src/hb-ot-cff1-table.hh | 14 +++++++-------
@@ -24417,14 +24816,13 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Thu Aug 16 00:13:09 2018 -0700
renamed CFF version 1 structs and sources to CFF1 from CFF
-
+
"CFF" is used for shared structs & sources between CFF1 & CFF2
except OT:cff is for CFF version 1 table
src/Makefile.sources | 8 +-
src/{hb-cff-interp-cs.hh => hb-cff1-interp-cs.hh} | 22 ++--
- src/{hb-ot-cff-table.hh => hb-ot-cff1-table.hh} | 150
- +++++++++++-----------
+ src/{hb-ot-cff-table.hh => hb-ot-cff1-table.hh} | 150 +++++++++++-----------
src/hb-ot-font.cc | 2 +-
src/{hb-subset-cff.cc => hb-subset-cff1.cc} | 86 ++++++-------
src/{hb-subset-cff.hh => hb-subset-cff1.hh} | 8 +-
@@ -24514,27 +24912,23 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Wed Aug 15 12:00:19 2018 -0700
CFF Subrs subsetting
-
+
Unreferenced subroutines are nullified (not removed) in a subset font
-
- Separate Interpreter struct from hb-ot-cff-common-private.hh in a
- set of four header files, augmented for CharString (CS):
+
+ Separate Interpreter struct from hb-ot-cff-common-private.hh in a set of four header files, augmented for CharString (CS):
hb-cff-interp-common-private.hh
hb-cff-interp-dict-common-private.hh
hb-cff-interp-cs-common-private.hh
hb-cff-interp-cs.hh
-
- Interpreter runtime is separated off as a new struct InterpEnv
- sub-classed differently for Dict and CharString (CS)
+
+ Interpreter runtime is separated off as a new struct InterpEnv sub-classed differently for Dict and CharString (CS)
src/Makefile.sources | 8 +-
- src/hb-cff-interp-common-private.hh | 581
- +++++++++++++++++++++++++++++++
+ src/hb-cff-interp-common-private.hh | 581 +++++++++++++++++++++++++++++++
src/hb-cff-interp-cs-common-private.hh | 174 +++++++++
src/hb-cff-interp-cs.hh | 282 +++++++++++++++
src/hb-cff-interp-dict-common-private.hh | 183 ++++++++++
- src/hb-ot-cff-common-private.hh | 562
- ++----------------------------
+ src/hb-ot-cff-common-private.hh | 562 ++----------------------------
src/hb-ot-cff-table.hh | 165 ++++-----
src/hb-ot-cff2-table.hh | 147 ++++----
src/hb-subset-cff-common-private.hh | 83 +++++
@@ -24547,7 +24941,7 @@ Author: Emil A Eklund <eae@chromium.org>
Date: Tue Aug 14 14:47:20 2018 -0700
Add guard around free_static_C_locale
-
+
Add HB_USE_ATEXIT guard around free_static_C_locale missed by previous
commit.
@@ -24559,7 +24953,7 @@ Author: Emil A Eklund <eae@chromium.org>
Date: Tue Aug 14 13:50:24 2018 -0700
Guard free_static function definitions with macro
-
+
Add HB_USE_ATEXIT macros around free_static function definitions to
avoid unused function compiler warnings/errors.
@@ -24596,17 +24990,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 13 10:30:41 2018 -0700
Don't add reference in get_unicode_funcs() functions
-
+
Users don't expect a new reference returned from a get() function.
- Indeed, all users of that API I foud where NOT destroying the
- reference.
+ Indeed, all users of that API I foud where NOT destroying the reference.
Just change the implementations to NOT return a reference.
-
+
This applies to the following APIs:
hb_unicode_funcs_get_default()
hb_glib_get_unicode_funcs()
hb_icu_get_unicode_funcs()
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1134
src/hb-buffer.cc | 3 +--
@@ -24620,11 +25013,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Aug 12 18:20:53 2018 -0700
[uniscribe] Use lazy loader
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1129
- src/hb-uniscribe.cc | 56
- +++++++++++++++++++++++++++--------------------------
+ src/hb-uniscribe.cc | 56 +++++++++++++++++++++++++++--------------------------
1 file changed, 29 insertions(+), 27 deletions(-)
commit 266368993625e0cfb6eef9188f8b9aa29fb97391
@@ -24651,8 +25043,7 @@ Date: Sun Aug 12 17:42:16 2018 -0700
[lazy] Use for C_locale
- src/hb-common.cc | 60
- ++++++++++++++++++++++++++++----------------------------
+ src/hb-common.cc | 60 ++++++++++++++++++++++++++++----------------------------
1 file changed, 30 insertions(+), 30 deletions(-)
commit 747d2564e6bdcc15cf6a197e543fb732924159c5
@@ -24662,8 +25053,7 @@ Date: Sun Aug 12 17:32:10 2018 -0700
[lazy] Port more
src/hb-machinery-private.hh | 1 -
- src/hb-shaper.cc | 78
- ++++++++++++++++++++-------------------------
+ src/hb-shaper.cc | 78 ++++++++++++++++++++-------------------------
src/hb-uniscribe.cc | 3 +-
3 files changed, 37 insertions(+), 45 deletions(-)
@@ -24688,8 +25078,7 @@ Date: Sun Aug 12 17:14:32 2018 -0700
[lazy] Port more to it
- src/hb-shape.cc | 75
- +++++++++++++++++++++++++++++----------------------------
+ src/hb-shape.cc | 75 +++++++++++++++++++++++++++++----------------------------
1 file changed, 38 insertions(+), 37 deletions(-)
commit 6901090945d7e16102f3a2b168465434032b9a09
@@ -24699,8 +25088,7 @@ Date: Sun Aug 12 16:57:06 2018 -0700
[lazy] Make hb_lazy_loader_t<> more usable
src/hb-ft.cc | 7 +++---
- src/hb-machinery-private.hh | 57
- +++++++++++++++++++++++++++------------------
+ src/hb-machinery-private.hh | 57 +++++++++++++++++++++++++++------------------
2 files changed, 37 insertions(+), 27 deletions(-)
commit bb905e9afcc3eb28a22ba78c09e661a814d04c1f
@@ -24727,9 +25115,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Aug 12 16:30:39 2018 -0700
[icu] Use get_relaxed for normalizer access
-
- We've had the proper barriers already. No need for more with
- every access.
+
+ We've had the proper barriers already. No need for more with every access.
src/hb-icu.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -24749,8 +25136,7 @@ Date: Sun Aug 12 16:20:11 2018 -0700
[lazy] Use for ft_library
- src/hb-ft.cc | 61
- ++++++++++++++++++++++-----------------------
+ src/hb-ft.cc | 61 ++++++++++++++++++++++-----------------------
src/hb-glib.cc | 2 +-
src/hb-icu.cc | 2 +-
src/hb-machinery-private.hh | 2 +-
@@ -24778,8 +25164,7 @@ Date: Sun Aug 12 13:46:53 2018 -0700
[ot/ft] Port font_funcs statis to lazy-loader
- src/hb-ft.cc | 56
- ++++++++++++++++++++++-----------------------
+ src/hb-ft.cc | 56 ++++++++++++++++++++++-----------------------
src/hb-machinery-private.hh | 14 ++++++++++++
src/hb-ot-font.cc | 49 +++++++++++++++++----------------------
3 files changed, 62 insertions(+), 57 deletions(-)
@@ -24791,8 +25176,7 @@ Date: Sun Aug 12 13:39:01 2018 -0700
[ucdn/glib/icu] Port unicode_funcs statics to lazy-loader
src/hb-glib.cc | 50 ++++++++++++++++++--------------------
- src/hb-icu.cc | 59
- ++++++++++++++++-----------------------------
+ src/hb-icu.cc | 59 ++++++++++++++++-----------------------------
src/hb-machinery-private.hh | 28 ++++++++++++++++-----
src/hb-ucdn.cc | 51 +++++++++++++++++----------------------
4 files changed, 88 insertions(+), 100 deletions(-)
@@ -24812,8 +25196,7 @@ Date: Sun Aug 12 13:12:29 2018 -0700
[lazy] More
- src/hb-machinery-private.hh | 45
- +++++++++++++++++++++++++++++++++++++--------
+ src/hb-machinery-private.hh | 45 +++++++++++++++++++++++++++++++++++++--------
1 file changed, 37 insertions(+), 8 deletions(-)
commit 5abdf5eebadf9a4fbd50c1a893c9654de74d22ac
@@ -24822,8 +25205,7 @@ Date: Sun Aug 12 12:40:24 2018 -0700
[lazy] More shuffle
- src/hb-machinery-private.hh | 80
- +++++++++++++++++++--------------------------
+ src/hb-machinery-private.hh | 80 +++++++++++++++++++--------------------------
1 file changed, 34 insertions(+), 46 deletions(-)
commit 5d9863be6ecf873033cbab732207dd420f3866e7
@@ -24841,7 +25223,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Aug 12 12:21:56 2018 -0700
Add explicit_operator
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1127
src/hb-iter-private.hh | 2 +-
@@ -24887,17 +25269,15 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Fri Aug 10 12:55:22 2018 -0700
fixed inclusion of excluded Private & local Subrs
-
+
It was bloating a multi-FD subset font unnecessarily
defined a wrapper struct FDMap for fdmap
src/hb-ot-cff-common-private.hh | 34 ++++++++++++++++++++-----
src/hb-subset-cff-common-private.cc | 6 ++---
src/hb-subset-cff-common-private.hh | 4 +--
- src/hb-subset-cff.cc | 48
- +++++++++++++++++++----------------
- src/hb-subset-cff2.cc | 50
- ++++++++++++++++++++-----------------
+ src/hb-subset-cff.cc | 48 +++++++++++++++++++----------------
+ src/hb-subset-cff2.cc | 50 ++++++++++++++++++++-----------------
5 files changed, 87 insertions(+), 55 deletions(-)
commit 64c541226457907ec1801a5766050ee64feb67e8
@@ -24905,15 +25285,14 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Fri Aug 10 11:07:07 2018 -0700
Added CFF support
-
+
Added sources hb-ot-cff-table.hh, hb-subset-cff.cc & hh
Templatized Index because CFF uses 16-bit count while CFF2 uses 32-bit
Misc code cleanup & bug fixes
src/Makefile.sources | 9 +-
src/hb-ot-cff-common-private.hh | 477 ++++++++++++-------
- src/hb-ot-cff-table.hh | 919
- ++++++++++++++++++++++++++++++++++++
+ src/hb-ot-cff-table.hh | 919 ++++++++++++++++++++++++++++++++++++
src/hb-ot-cff2-table.hh | 235 ++++-----
src/hb-ot-font.cc | 1 +
src/hb-subset-cff-common-private.cc | 6 +-
@@ -24947,12 +25326,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 9 00:56:28 2018 -0700
Revert "[iter] Make operator bool explicit"
-
+
This reverts commit 66920a6bace7c54c8166c4ed938b6ffc5fabcf2b.
-
+
Some of our bots (Oracle Studio and Apple gcc 4.2) do not allow
explicit except for constructors.
-
+
https://github.com/harfbuzz/harfbuzz/issues/1127
src/hb-iter-private.hh | 2 +-
@@ -24973,7 +25352,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 9 00:28:40 2018 -0700
Fix lazy_loader fini()
-
+
Was creating object even if wasn't there.
src/hb-machinery-private.hh | 2 +-
@@ -24984,9 +25363,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 9 00:22:37 2018 -0700
[atomic] Add hb_atomic_ptr_t<> and port all uses
-
+
Found and fixed a couple bugs.
-
+
Found a couple multithreading issues. Marked them with "XXX-MT-bug".
src/hb-atomic-private.hh | 34 +++++++++++++++++++++++++++++++---
@@ -25027,7 +25406,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 8 22:45:49 2018 -0700
[atomic] Unify typedef
-
+
Removes volatile from fallback implementation. That was handwavy
anyway.
@@ -25039,7 +25418,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 8 22:43:53 2018 -0700
[atomic] Change Mac atomic int type to int
-
+
If ever int is not 32bit, we'll fix this...
src/hb-atomic-private.hh | 2 +-
@@ -25089,7 +25468,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 8 21:42:18 2018 -0700
Fix assertion failure
-
+
https://bugzilla.mozilla.org/show_bug.cgi?id=1476334
src/hb-machinery-private.hh | 3 ++-
@@ -25113,7 +25492,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 7 09:52:06 2018 -0700
Add +hb_font_get_glyph_advances_for_direction
-
+
New API:
+hb_font_get_glyph_advances_for_direction
@@ -25128,7 +25507,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 7 09:47:00 2018 -0700
Actually add hb_font_get_glyph_[hv]_advances
-
+
New API:
+hb_font_get_glyph_h_advances
+hb_font_get_glyph_v_advances
@@ -25160,17 +25539,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 6 15:32:13 2018 -0700
[iter] Make operator bool explicit
-
+
We would need to write:
-
+
for (Iter<T> it (...); bool (t); t++)
-
+
instead of:
-
+
for (Iter<T> it (...); t; t++)
-
+
But I think it's an improvement in code readability in the long term.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1127
src/hb-iter-private.hh | 2 +-
@@ -25208,17 +25587,14 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Mon Aug 6 10:04:53 2018 -0700
subset FDSelect and FDArray
-
- Added a set of sources hb-subset-cff-common-private.cc & .hh for
- FDSelect subseting code.
- Added FDSelect format 4 (CFF2 only) support. Shared its implementation
- with format 3 as a template.
+
+ Added a set of sources hb-subset-cff-common-private.cc & .hh for FDSelect subseting code.
+ Added FDSelect format 4 (CFF2 only) support. Shared its implementation with format 3 as a template.
src/Makefile.sources | 2 +
src/hb-ot-cff-common-private.hh | 130 ++++++++++++++++-------
src/hb-ot-cff2-table.hh | 71 ++++++++++++-
- src/hb-subset-cff-common-private.cc | 200
- ++++++++++++++++++++++++++++++++++++
+ src/hb-subset-cff-common-private.cc | 200 ++++++++++++++++++++++++++++++++++++
src/hb-subset-cff-common-private.hh | 54 ++++++++++
src/hb-subset-cff2.cc | 71 ++++++++++---
6 files changed, 476 insertions(+), 52 deletions(-)
@@ -25228,7 +25604,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 6 09:45:17 2018 -0700
Add batch advance width callback function
-
+
New API:
+hb_font_funcs_set_glyph_h_advances_func
+hb_font_funcs_set_glyph_v_advances_func
@@ -25239,8 +25615,7 @@ Date: Mon Aug 6 09:45:17 2018 -0700
docs/harfbuzz-sections.txt | 6 +
src/hb-font-private.hh | 41 +++++--
- src/hb-font.cc | 299
- +++++++++++++++++++++++++++------------------
+ src/hb-font.cc | 299 +++++++++++++++++++++++++++------------------
src/hb-font.h | 53 ++++++--
src/hb-ot-shape.cc | 3 +-
5 files changed, 255 insertions(+), 147 deletions(-)
@@ -25282,7 +25657,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 6 06:17:48 2018 -0700
Port _nil objects to Null() machinery
-
+
Finally, unified!
src/hb-blob-private.hh | 1 +
@@ -25292,8 +25667,7 @@ Date: Mon Aug 6 06:17:48 2018 -0700
src/hb-face-private.hh | 6 +--
src/hb-face.cc | 5 ++-
src/hb-font-private.hh | 10 +++--
- src/hb-font.cc | 66
- ++++++++++++++++--------------
+ src/hb-font.cc | 66 ++++++++++++++++--------------
src/hb-null.hh | 11 ++++-
src/hb-ot-shape-complex-arabic-fallback.hh | 11 +++--
src/hb-shape-plan-private.hh | 1 +
@@ -25308,8 +25682,7 @@ Date: Mon Aug 6 05:53:35 2018 -0700
[BASE] Rename horzi/vert to h/v
- src/hb-ot-layout-base-table.hh | 68
- +++++++++++++++++++++---------------------
+ src/hb-ot-layout-base-table.hh | 68 +++++++++++++++++++++---------------------
1 file changed, 34 insertions(+), 34 deletions(-)
commit da48aca1be89efbb8b3ca4471f542aa54aff17c4
@@ -25317,12 +25690,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 6 05:52:12 2018 -0700
[BASE] Misc fixes
-
+
The code was badly broken. In better shape now, but still, needs
a full review before ever working.
- src/hb-ot-layout-base-table.hh | 163
- +++++++++++++++++------------------------
+ src/hb-ot-layout-base-table.hh | 163 +++++++++++++++++------------------------
1 file changed, 68 insertions(+), 95 deletions(-)
commit f9cfa5cb0e70203279e74fb6adb0cd4570238ff8
@@ -25341,8 +25713,7 @@ Date: Mon Aug 6 05:01:52 2018 -0700
Move Null system to hb-null.hh
src/Makefile.sources | 1 +
- src/hb-null.hh | 97
- ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-null.hh | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-private.hh | 65 +----------------------------------
3 files changed, 99 insertions(+), 64 deletions(-)
@@ -25381,8 +25752,7 @@ Date: Mon Aug 6 04:42:46 2018 -0700
Move hb_vector_t to hb-vector-private.hh
src/Makefile.sources | 1 +
- src/hb-dsalgs.hh | 297
- -----------------------------------------------
+ src/hb-dsalgs.hh | 297 -----------------------------------------------
src/hb-object-private.hh | 109 ++++++++++++++++-
src/hb-vector-private.hh | 239 ++++++++++++++++++++++++++++++++++++++
4 files changed, 346 insertions(+), 300 deletions(-)
@@ -25394,8 +25764,7 @@ Date: Mon Aug 6 04:32:51 2018 -0700
Move some more code around
src/hb-dsalgs.hh | 43 +++++++++++++++++++++++++++++++++++++++++++
- src/hb-private.hh | 51
- +--------------------------------------------------
+ src/hb-private.hh | 51 +--------------------------------------------------
2 files changed, 44 insertions(+), 50 deletions(-)
commit 92806ee055c8efb68fcbe9e1750ce2532a1f8ab3
@@ -25403,7 +25772,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Aug 5 21:41:52 2018 -0700
Move null data definitions to hb-static.cc
-
+
Also remove " " null data for Tag. Just use zeroes.
src/hb-open-type-private.hh | 3 +--
@@ -25454,7 +25823,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 3 17:03:32 2018 -0700
[ot] Add misc tables to tables_t
-
+
Most unused.
src/hb-ot-layout-private.hh | 36 ++++++++++++++++++++++--------------
@@ -25483,8 +25852,7 @@ Date: Fri Aug 3 16:45:57 2018 -0700
src/hb-ot-layout-gpos-table.hh | 4 ++--
src/hb-ot-layout-gsub-table.hh | 4 ++--
src/hb-ot-layout-private.hh | 7 ++----
- src/hb-ot-layout.cc | 49
- +++++++++++++++++++-----------------------
+ src/hb-ot-layout.cc | 49 +++++++++++++++++++-----------------------
5 files changed, 30 insertions(+), 40 deletions(-)
commit f73d2775cf649d148ace7c2593da9666d60fc1be
@@ -25492,11 +25860,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 3 16:34:25 2018 -0700
[ot] More shuffling
-
+
Misc. table loading now properly automated.
- src/hb-ot-layout-private.hh | 67
- +++++++++++++++++++++++++++++----------------
+ src/hb-ot-layout-private.hh | 67 +++++++++++++++++++++++++++++----------------
src/hb-ot-layout.cc | 25 +++++++++++------
src/hb-ot-math.cc | 2 +-
3 files changed, 61 insertions(+), 33 deletions(-)
@@ -25530,17 +25897,14 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Fri Aug 3 14:35:09 2018 -0700
Removed parsed hint fields from CFF2PrivateDictValues
-
- Instead moved & stored uniformly in values vector (renamed from
- opstrs)
- This should be fine as we aren't likely going to use them as hints
- after all
+
+ Instead moved & stored uniformly in values vector (renamed from opstrs)
+ This should be fine as we aren't likely going to use them as hints after all
Templatized DictValues whether to parse them out
For subsetter, they aren't parsed
src/hb-ot-cff-common-private.hh | 113 ++++++++++++++----------
- src/hb-ot-cff2-table.hh | 185
- ++++++++++++----------------------------
+ src/hb-ot-cff2-table.hh | 185 ++++++++++++----------------------------
src/hb-subset-cff2.cc | 2 +-
3 files changed, 120 insertions(+), 180 deletions(-)
@@ -25550,8 +25914,7 @@ Date: Thu Aug 2 23:13:19 2018 -0700
[ot] Move code around
- src/hb-ot-layout.cc | 211
- ++++++++++++++++++++++++++--------------------------
+ src/hb-ot-layout.cc | 211 ++++++++++++++++++++++++++--------------------------
1 file changed, 106 insertions(+), 105 deletions(-)
commit 5e718a751efdda89511c9f30238b500125193499
@@ -25559,20 +25922,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 2 23:04:42 2018 -0700
[ot] Use switch for checking for blacklisted GDEF tables
-
+
Faster / more compact code.
- src/hb-ot-layout.cc | 107
- +++++++++++++++++++++++++++++-----------------------
+ src/hb-ot-layout.cc | 107 +++++++++++++++++++++++++++++-----------------------
1 file changed, 59 insertions(+), 48 deletions(-)
commit b5cdf5280d5b00df5356cc5c3236844ca0576bd0
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 2 22:56:42 2018 -0700
- [ot] In GDEF blacklisting logic, remove the glyph index check
- for Times
-
+ [ot] In GDEF blacklisting logic, remove the glyph index check for Times
+
Just blacklist based on table sizes like we do for other fonts.
src/hb-ot-layout.cc | 12 ------------
@@ -25591,14 +25952,12 @@ commit 76f7397c10832b891a082e30afc74222bd5ffd7b
Author: Michiharu Ariza <ariza@adobe.com>
Date: Thu Aug 2 16:28:10 2018 -0700
- templatized CFF2 accelerator for lean Private dict interpretting
- for subset
-
+ templatized CFF2 accelerator for lean Private dict interpretting for subset
+
also fixed local subrs serialization
src/hb-ot-cff-common-private.hh | 8 ++-
- src/hb-ot-cff2-table.hh | 119
- ++++++++++++++++++++++++++++++++--------
+ src/hb-ot-cff2-table.hh | 119 ++++++++++++++++++++++++++++++++--------
src/hb-subset-cff2.cc | 13 +++--
3 files changed, 109 insertions(+), 31 deletions(-)
@@ -25719,8 +26078,7 @@ Date: Thu Aug 2 01:27:40 2018 -0700
Reduce storage by sharing face amongst lazy_loaders
- src/hb-machinery-private.hh | 113
- ++++++++++++++++++++++++--------------------
+ src/hb-machinery-private.hh | 113 ++++++++++++++++++++++++--------------------
src/hb-ot-font.cc | 19 ++++----
src/hb-ot-layout-private.hh | 11 +++--
src/hb-ot-layout.cc | 9 ++--
@@ -25732,8 +26090,7 @@ Date: Thu Aug 2 00:38:46 2018 -0700
Internal templatization of lazy-loaders
- src/hb-machinery-private.hh | 74
- ++++++++++++++++++++-------------------------
+ src/hb-machinery-private.hh | 74 ++++++++++++++++++++-------------------------
1 file changed, 32 insertions(+), 42 deletions(-)
commit ed7b2e58fc9afb547656cf28eb4a253d989de43c
@@ -25782,8 +26139,7 @@ Date: Wed Aug 1 18:03:32 2018 -0700
Rename
- src/hb-coretext.cc | 46
- +++++++++++++++++++++++-----------------------
+ src/hb-coretext.cc | 46 +++++++++++++++++++++++-----------------------
src/hb-directwrite.cc | 28 ++++++++++++++--------------
src/hb-fallback-shape.cc | 24 ++++++++++++------------
src/hb-graphite2.cc | 26 +++++++++++++-------------
@@ -25816,7 +26172,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Wed Aug 1 16:32:27 2018 -0700
fixed Index::serialize
-
+
The bug was causing CharString of the last glyph corrupt
src/hb-ot-cff-common-private.hh | 4 +++-
@@ -25827,7 +26183,7 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Wed Aug 1 16:06:52 2018 -0700
fixed CFF2VariationStore::serialize
-
+
also get_size
src/hb-ot-cff2-table.hh | 7 ++++---
@@ -25851,8 +26207,7 @@ Date: Wed Aug 1 14:13:59 2018 -0700
[atomic] Fix Solaris ones to add proper barriers
- src/hb-atomic-private.hh | 52
- +++++++++++++++++++++++++++++++++---------------
+ src/hb-atomic-private.hh | 52 +++++++++++++++++++++++++++++++++---------------
1 file changed, 36 insertions(+), 16 deletions(-)
commit 19dfaa351568887a74cee2c46d6acfcc3fa718ff
@@ -25905,32 +26260,28 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Wed Aug 1 11:30:38 2018 -0700
Implemented hb_subset_cff2
-
+
Added serialize functions to CFF2 structs
Fixed issues & bugs & code cleanup
Now subsetting CFF2 table outputs something
- src/hb-ot-cff-common-private.hh | 428
- +++++++++++++++++++++++++++++++++++-----
+ src/hb-ot-cff-common-private.hh | 428 +++++++++++++++++++++++++++++++++++-----
src/hb-ot-cff2-table.hh | 237 +++++++++++++++++-----
src/hb-private.hh | 2 +-
- src/hb-subset-cff2.cc | 392
- +++++++++++++++++++++++++++++++-----
+ src/hb-subset-cff2.cc | 392 +++++++++++++++++++++++++++++++-----
4 files changed, 914 insertions(+), 145 deletions(-)
commit 1a7fed631880fff8a947ebec9c7427efff581916
Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed Aug 1 12:15:44 2018 +0430
- Revert "Add a new API, hb_ot_layout_get_feature_name_ids (#976)"
- (#1121)
-
+ Revert "Add a new API, hb_ot_layout_get_feature_name_ids (#976)" (#1121)
+
This reverts commit 0c1b287b72e91e0898d75acb5d5acf1c6b9a7498.
docs/harfbuzz-sections.txt | 1 -
src/hb-ot-layout-common-private.hh | 14 -------
- src/hb-ot-layout.cc | 86
- --------------------------------------
+ src/hb-ot-layout.cc | 86 --------------------------------------
src/hb-ot-layout.h | 8 ----
4 files changed, 109 deletions(-)
@@ -25957,7 +26308,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 31 23:01:05 2018 -0700
[atomic] On IBM, use light-weight sync for everything
-
+
lwsync() is a full read/write-barrier. That's all we need, never
need sync(). I'm not sure why an isync() was used in fetch_and_add,
but since that's a read-modify-write, I just changed it to have
@@ -25971,7 +26322,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 31 23:00:15 2018 -0700
[atomic] Add XXX items around Solaris ops
-
+
Since add_int and cas are both read-modify-write, I wonder if we
also need a barrier after them.
@@ -25983,19 +26334,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 31 22:51:38 2018 -0700
[atomic] Fix get() impl
-
- Originally, glib's atomic_get was implemented as "memory_barrier;
- load".
+
+ Originally, glib's atomic_get was implemented as "memory_barrier; load".
I copied this into cairo, fontconfig, and harfbuzz. However, that's
wrong. Correct way is "load; memory_barrier". The details are long
and hard to fully grasp. Best to read:
-
+
https://www.kernel.org/doc/Documentation/memory-barriers.txt
-
+
Also see my report against GNOME:
-
+
https://gitlab.gnome.org/GNOME/glib/issues/1449
-
+
Note that this is irrelevant if C++11-like atomic ops are available.
src/hb-atomic-private.hh | 28 +++++++++++++++++-----------
@@ -26027,13 +26377,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 31 21:05:51 2018 -0700
[atomic] Add get_relaxed / set_relaxed
-
+
To help TSan and be more "correct".
src/hb-atomic-private.hh | 37 ++++++++++++++++++++++-------------
src/hb-common.cc | 4 ++--
- src/hb-debug.hh | 42
- ++++++++++++++++++++++++++++++++++++++++
+ src/hb-debug.hh | 42 ++++++++++++++++++++++++++++++++++++++++
src/hb-object-private.hh | 12 ++++++------
src/hb-ot-shape-complex-indic.cc | 22 +++++++++++----------
src/hb-private.hh | 28 ---------------------------
@@ -26044,7 +26393,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 31 19:33:37 2018 -0700
[atomic] Use CONSUME, not ACQUIRE, memory-order for get()
-
+
Although, all implementations just elevate that to ACQUIRE.
But requirement for us is just CONSUME.
@@ -26056,14 +26405,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 31 19:29:49 2018 -0700
Revert "[atomic] Make pointer get op relaxed instead of acquire"
-
+
This reverts commit b1e5650c67266dc158f22355fed206cd1c413f70.
-
+
After lots of head-scratching and finally finding the only truly
readable source to be the good old:
-
+
https://www.kernel.org/doc/Documentation/memory-barriers.txt
-
+
I've convinced myself that we need consume memory-ordering on get().
The location of memory-barrier in a load should be after, not before
the load. That needs fixing. I'll do that separately.
@@ -26076,12 +26425,10 @@ Author: Garret Rieger <grieger@google.com>
Date: Tue Jul 31 17:44:02 2018 -0700
[subset] limit the max codepoint value to the unicode limit.
- When collecting all codepoints in the cmap avoid using large amount
- of memory for fonts that declare coverage over all 32 bit integers.
+ When collecting all codepoints in the cmap avoid using large amount of memory for fonts that declare coverage over all 32 bit integers.
src/hb-ot-cmap-table.hh | 9 +++++++--
- ...mized-hb-subset-get-codepoints-fuzzer-5973295416475648 | Bin 0 ->
- 109 bytes
+ ...mized-hb-subset-get-codepoints-fuzzer-5973295416475648 | Bin 0 -> 109 bytes
2 files changed, 7 insertions(+), 2 deletions(-)
commit 7278d9df3093a87f99cec9b4cea38bd688c5d020
@@ -26092,8 +26439,7 @@ Date: Tue Jul 31 17:59:19 2018 -0700
Add the fuzzer test case for feature collection timeout.
docs/harfbuzz-sections.txt | 1 +
- ...estcase-minimized-hb-subset-fuzzer-5542653037903872 | Bin 0 ->
- 160249 bytes
+ ...estcase-minimized-hb-subset-fuzzer-5542653037903872 | Bin 0 -> 160249 bytes
2 files changed, 1 insertion(+)
commit 89733755a48feef0a663e1ea7b8294949581ce7e
@@ -26104,8 +26450,7 @@ Date: Mon Jul 30 18:10:43 2018 -0700
This is much faster then calling a bunch of individual add()'s.
src/hb-ot-layout-common-private.hh | 7 +++++++
- src/hb-ot-layout.cc | 40
- +++++++++++++++++++-------------------
+ src/hb-ot-layout.cc | 40 +++++++++++++++++++-------------------
2 files changed, 27 insertions(+), 20 deletions(-)
commit 7d92bef9c5afb319d125f60b0fce4763afeaa686
@@ -26114,8 +26459,7 @@ Date: Mon Jul 30 17:17:43 2018 -0700
[subset] collect features first, then use those to collect lookups.
- src/hb-ot-layout.cc | 148
- +++++++++++++++++++++++++---------------------------
+ src/hb-ot-layout.cc | 148 +++++++++++++++++++++++++---------------------------
src/hb-ot-layout.h | 7 +++
2 files changed, 78 insertions(+), 77 deletions(-)
@@ -26124,16 +26468,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 31 15:27:29 2018 -0700
[indic] Flip default logic for double-halants in old-school
-
+
Oriya went down from 9 to 2.
-
+
BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707311 out of 707394 tests passed. 83 failed (0.0117332%)
GUJARATI: 366355 out of 366457 tests passed. 102 failed (0.0278341%)
GURMUKHI: 60729 out of 60747 tests passed. 18 failed (0.0296311%)
KANNADA: 951300 out of 951913 tests passed. 613 failed (0.0643966%)
- MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed
- (0.0188871%)
+ MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
MYANMAR: 1115830 out of 1123883 tests passed. 8053 failed (0.716534%)
ORIYA: 42327 out of 42329 tests passed. 2 failed (0.00472489%)
SINHALA: 271596 out of 271847 tests passed. 251 failed (0.0923313%)
@@ -26148,13 +26491,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 31 15:19:32 2018 -0700
[indic] Allow double-halant in old-spec Devanagari
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1071
- src/hb-ot-shape-complex-indic.cc | 18
- ++++++++++++------
- .../b722a7d09e60421f3efbc706ad348ab47b88567b.ttf | Bin 0 ->
- 4672 bytes
+ src/hb-ot-shape-complex-indic.cc | 18 ++++++++++++------
+ .../b722a7d09e60421f3efbc706ad348ab47b88567b.ttf | Bin 0 -> 4672 bytes
test/shaping/data/in-house/tests/indic-old-spec.tests | 2 ++
3 files changed, 14 insertions(+), 6 deletions(-)
@@ -26163,15 +26504,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 31 14:20:31 2018 -0700
[test] Add Khmer tests, with NotoSansKhmer-Regular.ttf
-
+
Note that there's minor positioning differences, and ONE reordering
difference between what we get for these and what Uniscribe gets.
Probably same as what's described in commit message for
1a96cc825dc9c8e3b6eef1403fe0864a1cfc0245
.../3998336402905b8be8301ef7f47cf7e050cbb1bd.ttf | Bin 0 -> 24392 bytes
- test/shaping/data/in-house/tests/khmer-misc.tests | 89
- +++++++++++++++++++++
+ test/shaping/data/in-house/tests/khmer-misc.tests | 89 +++++++++++++++++++++
2 files changed, 89 insertions(+)
commit 5772edc0ea8f697c6123e439c5d0c3e813ebeb45
@@ -26189,8 +26529,7 @@ Date: Tue Jul 31 13:56:55 2018 -0700
[test] Add Khmer test texts from recent bugs
- test/shaping/texts/in-house/shaper-khmer/misc.txt | 66
- +++++++++++++++++++++++
+ test/shaping/texts/in-house/shaper-khmer/misc.txt | 66 +++++++++++++++++++++++
1 file changed, 66 insertions(+)
commit df26a32c8fd22cbd486e2a1014d30b9f38f51cd1
@@ -26199,354 +26538,180 @@ Date: Tue Jul 31 13:55:53 2018 -0700
[test] Move things around for shaper updates
- .../texts/in-house/shaper-indic/{indic => }/script-assamese/utrrs/LICENSE
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-assamese/utrrs/README
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-assamese/utrrs/SOURCES
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
- | 0
- .../script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
- | 0
- .../script-assamese/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
- | 0
- .../script-assamese/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt
- | 0
- .../{indic => }/script-assamese/utrrs/gsub/IndicFontFeatureGSUB.txt
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-bengali/misc/misc.txt
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-bengali/misc/reph.txt
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-bengali/utrrs/LICENSE
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-bengali/utrrs/README
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-bengali/utrrs/SOURCES
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
- | 0
- .../script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
- | 0
- .../script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
- | 0
- .../script-bengali/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
- | 0
- .../script-bengali/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt
- | 0
- .../{indic => }/script-bengali/utrrs/gsub/IndicFontFeatureGSUB.txt
- | 0
- .../shaper-indic/{indic => }/script-devanagari/misc/dottedcircle.txt
- | 0
- .../in-house/shaper-indic/{indic => }/script-devanagari/misc/eyelash.txt
- | 0
- .../in-house/shaper-indic/{indic => }/script-devanagari/misc/joiners.txt
- | 0
- .../in-house/shaper-indic/{indic => }/script-devanagari/misc/misc.txt
- | 0
- .../shaper-indic/{indic => }/script-devanagari/misc/spec-deviations.txt
- | 0
- .../shaper-indic/{indic => }/script-devanagari/misc/tricky-reordering.txt
- | 0
- .../in-house/shaper-indic/{indic => }/script-devanagari/utrrs/LICENSE
- | 0
- .../in-house/shaper-indic/{indic => }/script-devanagari/utrrs/README
- | 0
- .../in-house/shaper-indic/{indic => }/script-devanagari/utrrs/SOURCES
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
- | 0
- .../codepoint/IndicFontFeatureCodepoint-DevnagariSpecificAddition.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-GenericPunctuation.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
- | 0
- .../script-devanagari/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
- | 0
- .../script-devanagari/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt
- | 0
- .../{indic => }/script-devanagari/utrrs/gsub/IndicFontFeatureGSUB.txt
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-gujarati/utrrs/LICENSE
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-gujarati/utrrs/README
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-gujarati/utrrs/SOURCES
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
- | 0
- .../script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
- | 0
- .../script-gujarati/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
- | 0
- .../script-gujarati/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt
- | 0
- .../{indic => }/script-gujarati/utrrs/gsub/IndicFontFeatureGSUB.txt
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-gurmukhi/misc/misc.txt
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-gurmukhi/utrrs/LICENSE
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-gurmukhi/utrrs/README
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-gurmukhi/utrrs/SOURCES
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
- | 0
- .../script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-GurmukhiSpecific.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
- | 0
- .../script-gurmukhi/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
- | 0
- .../script-gurmukhi/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt
- | 0
- .../{indic => }/script-gurmukhi/utrrs/gsub/IndicFontFeatureGSUB.txt
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-kannada/misc/misc.txt
- | 0
- .../shaper-indic/{indic => }/script-kannada/misc/right-matras.txt
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-kannada/utrrs/LICENSE
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-kannada/utrrs/README
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-kannada/utrrs/SOURCES
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
- | 0
- .../script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
- | 0
- .../script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
- | 0
- .../script-kannada/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
- | 0
- .../{indic => }/script-kannada/utrrs/gsub/IndicFontFeatureGSUB.txt
- | 0
- .../in-house/shaper-indic/{indic => }/script-malayalam/misc/cibu.txt
- | 0
- .../in-house/shaper-indic/{indic => }/script-malayalam/misc/dot-reph.txt
- | 0
- .../in-house/shaper-indic/{indic => }/script-malayalam/misc/misc.txt
- | 0
- .../in-house/shaper-indic/{indic => }/script-malayalam/utrrs/LICENSE
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-malayalam/utrrs/README
- | 0
- .../in-house/shaper-indic/{indic => }/script-malayalam/utrrs/SOURCES
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
- | 0
- .../script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
- | 0
- .../{indic => }/script-malayalam/utrrs/gsub/IndicFontFeatureGSUB.txt
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-oriya/misc/bindu.txt
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-oriya/misc/misc.txt
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-oriya/utrrs/LICENSE
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-oriya/utrrs/README
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-oriya/utrrs/SOURCES
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
- | 0
- .../script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
- | 0
- .../script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-OriyaSpecific.txt
- | 0
- .../script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
- | 0
- .../{indic => }/script-oriya/utrrs/gsub/IndicFontFeatureGSUB.txt
- | 0
- .../in-house/shaper-indic/{indic => }/script-sinhala/misc/extensive.txt
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-sinhala/misc/misc.txt
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-sinhala/misc/reph.txt
- | 0
- .../shaper-indic/{indic => }/script-sinhala/misc/split-matras.txt
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-sinhala/utrrs/LICENSE
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-sinhala/utrrs/README
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-sinhala/utrrs/SOURCES
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-Punctuation.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
- | 0
- .../{indic => }/script-sinhala/utrrs/gpos/IndicFontFeatureGPOS.txt
- | 0
- .../script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Conjunct.txt
- | 0
- .../script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Rakaaraansaya.txt
- | 0
- .../{indic => }/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Repaya.txt
- | 0
- .../script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Special-Cases.txt
- | 0
- .../script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-TouchingLetters.txt
- | 0
- .../script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Yansaya.txt
- | 0
- .../{indic => }/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB.txt
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-tamil/misc/misc.txt
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-tamil/utrrs/LICENSE
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-tamil/utrrs/README
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-tamil/utrrs/SOURCES
- | 0
- .../script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-CurrencySymbols.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
- | 0
- .../script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
- | 0
- .../script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Numerics.txt
- | 0
- .../script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
- | 0
- .../script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Symbols.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-TamilSymbol.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
- | 0
- .../script-tamil/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
- | 0
- .../script-tamil/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt
- | 0
- .../{indic => }/script-tamil/utrrs/gsub/IndicFontFeatureGSUB.txt
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-telugu/misc/misc.txt
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-telugu/utrrs/LICENSE
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-telugu/utrrs/README
- | 0
- .../texts/in-house/shaper-indic/{indic => }/script-telugu/utrrs/SOURCES
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
- | 0
- .../script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
- | 0
- .../script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
- | 0
- .../script-telugu/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
- | 0
- .../{indic => }/script-telugu/utrrs/gsub/IndicFontFeatureGSUB.txt
- | 0
- .../south-east-asian/script-khmer/misc => shaper-khmer}/misc.txt
- | 0
- .../script-khmer/misc => shaper-khmer}/other-marks-invalid.txt
- | 0
- .../south-east-asian/script-khmer/misc => shaper-khmer}/other-marks.txt
- | 0
- .../south-east-asian => shaper-use}/script-javanese/misc.txt
- | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-assamese/utrrs/LICENSE | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-assamese/utrrs/README | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-assamese/utrrs/SOURCES | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0
+ .../script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0
+ .../script-assamese/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0
+ .../script-assamese/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0
+ .../{indic => }/script-assamese/utrrs/gsub/IndicFontFeatureGSUB.txt | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-bengali/misc/misc.txt | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-bengali/misc/reph.txt | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-bengali/utrrs/LICENSE | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-bengali/utrrs/README | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-bengali/utrrs/SOURCES | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0
+ .../script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0
+ .../script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0
+ .../script-bengali/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0
+ .../script-bengali/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0
+ .../{indic => }/script-bengali/utrrs/gsub/IndicFontFeatureGSUB.txt | 0
+ .../shaper-indic/{indic => }/script-devanagari/misc/dottedcircle.txt | 0
+ .../in-house/shaper-indic/{indic => }/script-devanagari/misc/eyelash.txt | 0
+ .../in-house/shaper-indic/{indic => }/script-devanagari/misc/joiners.txt | 0
+ .../in-house/shaper-indic/{indic => }/script-devanagari/misc/misc.txt | 0
+ .../shaper-indic/{indic => }/script-devanagari/misc/spec-deviations.txt | 0
+ .../shaper-indic/{indic => }/script-devanagari/misc/tricky-reordering.txt | 0
+ .../in-house/shaper-indic/{indic => }/script-devanagari/utrrs/LICENSE | 0
+ .../in-house/shaper-indic/{indic => }/script-devanagari/utrrs/README | 0
+ .../in-house/shaper-indic/{indic => }/script-devanagari/utrrs/SOURCES | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0
+ .../codepoint/IndicFontFeatureCodepoint-DevnagariSpecificAddition.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-GenericPunctuation.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0
+ .../script-devanagari/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0
+ .../script-devanagari/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0
+ .../{indic => }/script-devanagari/utrrs/gsub/IndicFontFeatureGSUB.txt | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-gujarati/utrrs/LICENSE | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-gujarati/utrrs/README | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-gujarati/utrrs/SOURCES | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0
+ .../script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0
+ .../script-gujarati/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0
+ .../script-gujarati/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0
+ .../{indic => }/script-gujarati/utrrs/gsub/IndicFontFeatureGSUB.txt | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-gurmukhi/misc/misc.txt | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-gurmukhi/utrrs/LICENSE | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-gurmukhi/utrrs/README | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-gurmukhi/utrrs/SOURCES | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0
+ .../script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-GurmukhiSpecific.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0
+ .../script-gurmukhi/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0
+ .../script-gurmukhi/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0
+ .../{indic => }/script-gurmukhi/utrrs/gsub/IndicFontFeatureGSUB.txt | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-kannada/misc/misc.txt | 0
+ .../shaper-indic/{indic => }/script-kannada/misc/right-matras.txt | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-kannada/utrrs/LICENSE | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-kannada/utrrs/README | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-kannada/utrrs/SOURCES | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0
+ .../script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0
+ .../script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0
+ .../script-kannada/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0
+ .../{indic => }/script-kannada/utrrs/gsub/IndicFontFeatureGSUB.txt | 0
+ .../in-house/shaper-indic/{indic => }/script-malayalam/misc/cibu.txt | 0
+ .../in-house/shaper-indic/{indic => }/script-malayalam/misc/dot-reph.txt | 0
+ .../in-house/shaper-indic/{indic => }/script-malayalam/misc/misc.txt | 0
+ .../in-house/shaper-indic/{indic => }/script-malayalam/utrrs/LICENSE | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-malayalam/utrrs/README | 0
+ .../in-house/shaper-indic/{indic => }/script-malayalam/utrrs/SOURCES | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0
+ .../script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0
+ .../{indic => }/script-malayalam/utrrs/gsub/IndicFontFeatureGSUB.txt | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-oriya/misc/bindu.txt | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-oriya/misc/misc.txt | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-oriya/utrrs/LICENSE | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-oriya/utrrs/README | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-oriya/utrrs/SOURCES | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt | 0
+ .../script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0
+ .../script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-OriyaSpecific.txt | 0
+ .../script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0
+ .../{indic => }/script-oriya/utrrs/gsub/IndicFontFeatureGSUB.txt | 0
+ .../in-house/shaper-indic/{indic => }/script-sinhala/misc/extensive.txt | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-sinhala/misc/misc.txt | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-sinhala/misc/reph.txt | 0
+ .../shaper-indic/{indic => }/script-sinhala/misc/split-matras.txt | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-sinhala/utrrs/LICENSE | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-sinhala/utrrs/README | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-sinhala/utrrs/SOURCES | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-Punctuation.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0
+ .../{indic => }/script-sinhala/utrrs/gpos/IndicFontFeatureGPOS.txt | 0
+ .../script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Conjunct.txt | 0
+ .../script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Rakaaraansaya.txt | 0
+ .../{indic => }/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Repaya.txt | 0
+ .../script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Special-Cases.txt | 0
+ .../script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-TouchingLetters.txt | 0
+ .../script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Yansaya.txt | 0
+ .../{indic => }/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB.txt | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-tamil/misc/misc.txt | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-tamil/utrrs/LICENSE | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-tamil/utrrs/README | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-tamil/utrrs/SOURCES | 0
+ .../script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-CurrencySymbols.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0
+ .../script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0
+ .../script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Numerics.txt | 0
+ .../script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0
+ .../script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Symbols.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-TamilSymbol.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0
+ .../script-tamil/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0
+ .../script-tamil/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0
+ .../{indic => }/script-tamil/utrrs/gsub/IndicFontFeatureGSUB.txt | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-telugu/misc/misc.txt | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-telugu/utrrs/LICENSE | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-telugu/utrrs/README | 0
+ .../texts/in-house/shaper-indic/{indic => }/script-telugu/utrrs/SOURCES | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0
+ .../script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0
+ .../script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0
+ .../script-telugu/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0
+ .../{indic => }/script-telugu/utrrs/gsub/IndicFontFeatureGSUB.txt | 0
+ .../south-east-asian/script-khmer/misc => shaper-khmer}/misc.txt | 0
+ .../script-khmer/misc => shaper-khmer}/other-marks-invalid.txt | 0
+ .../south-east-asian/script-khmer/misc => shaper-khmer}/other-marks.txt | 0
+ .../south-east-asian => shaper-use}/script-javanese/misc.txt | 0
174 files changed, 0 insertions(+), 0 deletions(-)
commit 6ddd669e205cf2c1c3b0a362330b686386f68519
@@ -26554,7 +26719,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 31 13:38:07 2018 -0700
[khmer] Clear syllables before presentation features
-
+
Probably not what Uniscribe does, but good idea?
src/hb-ot-shape-complex-khmer.cc | 3 +--
@@ -26565,14 +26730,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 31 13:35:10 2018 -0700
[khmer] Revert previous change, and remove pauses
-
+
This makes test suite happy again (at 44) while fixing the sequences
we were fixing, which were the following with KhmerUI.ttf:
-
+
U+1789,U+17BC
U+1789,U+17D2,U+1789
U+1789,U+17D2,U+1789,U+17BC
-
+
Fixes rest of https://github.com/harfbuzz/harfbuzz/issues/974
src/hb-ot-shape-complex-khmer.cc | 23 ++++++++++-------------
@@ -26583,7 +26748,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 31 12:49:02 2018 -0700
[khmer] Apply ccmp after basic features
-
+
Part of https://github.com/harfbuzz/harfbuzz/issues/974
src/hb-ot-shape-complex-khmer.cc | 22 +++++++++++++++++-----
@@ -26594,7 +26759,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 31 11:45:32 2018 -0700
[khmer] Rewrite most of shaper to better follow spec
-
+
Khmer spec has only one reordering phase, and only simple prebase
matra and Coeng-Ro reordering. Implement that. Specifically,
this was done to address recognizing different orders of the matra
@@ -26602,22 +26767,21 @@ Date: Tue Jul 31 11:45:32 2018 -0700
reordered differently from Uniscribe. Not clear if that's intended
or a bug in Uniscribe. The following two sequences render the same
in Uniscribe whereas we reorder them differently:
-
+
U+17A0,U+17D2,U+179A,U+17C2
U+17A0,U+17C2,U+17D2,U+179A
-
+
For that reason, our test suite numbers regressed slightly. Used
to be at 34 for fails, now at:
-
+
KHMER: 299080 out of 299124 tests passed. 44 failed (0.0147096%)
-
+
But generally a good change, and removed lots of code.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1026
src/hb-ot-shape-complex-indic-private.hh | 4 +-
- src/hb-ot-shape-complex-khmer.cc | 460
- ++++---------------------------
+ src/hb-ot-shape-complex-khmer.cc | 460 ++++---------------------------
src/hb-ot-shape-complex-private.hh | 13 -
3 files changed, 64 insertions(+), 413 deletions(-)
@@ -26644,7 +26808,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 31 01:02:31 2018 -0700
[atomic] Make pointer get op relaxed instead of acquire
-
+
We only use it before cmpexch, so relaxed is fine and faster for
common case.
@@ -26656,7 +26820,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 30 17:03:06 2018 -0700
[serialize] Increase stage count from 8 to 32
-
+
Indic shaper uses many stages. Now we are provably not limiting
functionality whereas the previous limit of 8 was assuming real-world
practices.
@@ -26687,12 +26851,11 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Mon Jul 30 14:28:40 2018 -0700
Added sanitize functions & calls
-
+
Added sanitize functions to FDSelect
Added satnitize calls for FDSelect, VariationStore, FDArray, TopDict
- src/hb-ot-cff-common-private.hh | 67
- ++++++++++++++++++++++++++++++++---------
+ src/hb-ot-cff-common-private.hh | 67 ++++++++++++++++++++++++++++++++---------
src/hb-ot-cff2-table.hh | 26 +++++++++++-----
src/hb-subset-cff2.cc | 2 +-
3 files changed, 72 insertions(+), 23 deletions(-)
@@ -26708,11 +26871,9 @@ commit 5edf454aa64aad461c90bd991e7eaf27668b7e6b
Author: Garret Rieger <grieger@google.com>
Date: Thu Jul 26 17:42:02 2018 -0700
- [subset] During lookup collection remember the features we've
- already processed.
+ [subset] During lookup collection remember the features we've already processed.
- src/hb-ot-layout.cc | 26
- +++++++++++++++++----
+ src/hb-ot-layout.cc | 26 +++++++++++++++++----
...ase-minimized-hb-subset-fuzzer-5670861909524480 | Bin 0 -> 1298 bytes
...b-subset-get-codepoints-fuzzer-6136125075750912 | Bin 0 -> 65816 bytes
3 files changed, 21 insertions(+), 5 deletions(-)
@@ -26761,12 +26922,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 25 17:07:17 2018 -0700
Add hb-iter-private.hh
-
+
Unused so far.
src/Makefile.sources | 1 +
- src/hb-iter-private.hh | 147
- ++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-iter-private.hh | 147 ++++++++++++++++++++++++++++++++++++++++++++
src/hb-machinery-private.hh | 1 +
3 files changed, 149 insertions(+)
@@ -26777,10 +26937,8 @@ Date: Wed Jul 25 16:58:47 2018 -0700
Move some code from hb-open-type-private.hh to hb-machinery-private.hh
src/Makefile.sources | 1 +
- src/hb-machinery-private.hh | 702
- ++++++++++++++++++++++++++++++++++++++++++++
- src/hb-open-type-private.hh | 669
- +----------------------------------------
+ src/hb-machinery-private.hh | 702 ++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-open-type-private.hh | 669 +----------------------------------------
3 files changed, 706 insertions(+), 666 deletions(-)
commit 6b11fea99716e22522b563d919ef7c72fe9a3c45
@@ -26824,7 +26982,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 24 09:43:27 2018 -0700
[closure] Separate in and out glyphs
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1107
src/hb-ot-layout-gsub-table.hh | 26 ++++++++++++++++++--------
@@ -26847,7 +27005,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 23 15:01:39 2018 -0700
Fix visibility on mingw32
-
+
Should fix bots again.
src/hb-private.hh | 6 +++++-
@@ -26868,7 +27026,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 23 13:24:26 2018 -0700
One more visibility trick
-
+
Should fix Windows build again.
src/hb-common.cc | 9 +++++++++
@@ -26906,7 +27064,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 23 11:46:46 2018 -0700
Set num glyphs on sanitizer reference_table()
-
+
Move out-of-class definitions of two methods to hb-static so they
are accessible in libharfbuzz-subset.
@@ -26996,13 +27154,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jul 22 22:24:31 2018 -0700
Add sanitizer reference_table, also fix clang build
-
+
Clang is being really peculiar. Fix with:
-
- - inline hb_blob_t *sanitize (hb_blob_t *blob) { return
- c->sanitize<Type> (blob); }
- + inline hb_blob_t *sanitize (hb_blob_t *blob) { return
- c[0].template/*clang idiosyncrasy*/sanitize_blob<Type> (blob); }
+
+ - inline hb_blob_t *sanitize (hb_blob_t *blob) { return c->sanitize<Type> (blob); }
+ + inline hb_blob_t *sanitize (hb_blob_t *blob) { return c[0].template/*clang idiosyncrasy*/sanitize_blob<Type> (blob); }
src/hb-open-type-private.hh | 10 ++++++++--
src/hb-ot-post-table.hh | 2 +-
@@ -27015,13 +27171,12 @@ Author: David Corbett <corbett.dav@husky.neu.edu>
Date: Fri Apr 13 18:45:37 2018 -0400
Order Chakma split vowels in accordance with NFC
-
+
Fixes #1105.
src/gen-use-table.py | 10 ++++++++++
src/hb-ot-shape-complex-use-table.cc | 4 ++--
- src/hb-ot-shape-complex-use.cc | 21
- +--------------------
+ src/hb-ot-shape-complex-use.cc | 21 +--------------------
.../2a670df15b73a5dc75a5cc491bde5ac93c5077dc.ttf | Bin 0 -> 1344 bytes
test/shaping/data/in-house/tests/use.tests | 5 +++++
5 files changed, 18 insertions(+), 22 deletions(-)
@@ -27031,22 +27186,18 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sat Jul 21 21:14:48 2018 +0430
Add a new API, hb_ot_layout_get_feature_name_ids (#976)
-
+
This new API returns cvXX and ssXX related NameId, things like
- featUiLabelNameId, featUiTooltipTextNameId, sampleTextNameId,
- ... of cvXX
+ featUiLabelNameId, featUiTooltipTextNameId, sampleTextNameId, ... of cvXX
and UINameId of ssXX, in a unified way.
-
- However HarfBuzz currently doesn't expose an API for retrieving
- the actual
- information associated with NameId from the `name` table and that
- should be
+
+ However HarfBuzz currently doesn't expose an API for retrieving the actual
+ information associated with NameId from the `name` table and that should be
done separately.
docs/harfbuzz-sections.txt | 1 +
src/hb-ot-layout-common-private.hh | 14 +++++++
- src/hb-ot-layout.cc | 86
- ++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout.cc | 86 ++++++++++++++++++++++++++++++++++++++
src/hb-ot-layout.h | 8 ++++
4 files changed, 109 insertions(+)
@@ -27055,13 +27206,12 @@ Author: Michiharu Ariza <ariza@adobe.com>
Date: Wed Jul 18 14:17:52 2018 -0700
first push of CFF/CFF2 work
-
+
Index, Dict structs
hooked up to hb-subset (takes CFF2, outputs empty CFF2)
src/Makefile.sources | 4 +
- src/hb-ot-cff-common-private.hh | 475
- ++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-cff-common-private.hh | 475 ++++++++++++++++++++++++++++++++++++++++
src/hb-ot-cff2-table.hh | 386 ++++++++++++++++++++++++++++++++
src/hb-ot-font.cc | 2 +
src/hb-subset-cff2.cc | 121 ++++++++++
@@ -27074,14 +27224,13 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Jul 17 23:29:16 2018 +0430
Remove dump-fon (#1100)
-
+
It had interesting stuffs like EXE parsing and
big-endian parsers but added in an attempt to find
a solution for #681 which later found not related.
src/Makefile.am | 4 -
- src/dump-fon.cc | 555
- --------------------------------------------------------
+ src/dump-fon.cc | 555 --------------------------------------------------------
2 files changed, 559 deletions(-)
commit d5cd47a69c40966b4d5b5aed87dd7ac6f070c37a
@@ -27089,14 +27238,12 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Jul 17 22:32:37 2018 +0430
Remove AAT's gcid/fmtx (#1099)
-
+
We are not going to use them, at least in the foreseeable future
src/Makefile.sources | 2 --
- src/hb-aat-fmtx-table.hh | 67
- --------------------------------------------
- src/hb-aat-gcid-table.hh | 73
- ------------------------------------------------
+ src/hb-aat-fmtx-table.hh | 67 --------------------------------------------
+ src/hb-aat-gcid-table.hh | 73 ------------------------------------------------
src/hb-aat-layout.cc | 2 --
4 files changed, 144 deletions(-)
@@ -27114,7 +27261,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 17 19:09:03 2018 +0200
Remove TODO that is not gonna be done
-
+
Previously the idea was to cache sanitize results externally (think,
in Fontconfig) and avoid resanitizing every time. That's, not a good
idea.
@@ -27129,8 +27276,7 @@ Date: Tue Jul 17 18:45:25 2018 +0200
Move sanitizer code around a bit
src/hb-aat-layout-common-private.hh | 4 +-
- src/hb-open-type-private.hh | 95
- ++++++++++++++++++++-----------------
+ src/hb-open-type-private.hh | 95 ++++++++++++++++++++-----------------
src/hb-ot-color-sbix-table.hh | 12 ++---
src/hb-ot-layout-common-private.hh | 3 --
4 files changed, 58 insertions(+), 56 deletions(-)
@@ -27140,12 +27286,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 17 18:14:45 2018 +0200
[aat] Update for blob changes
+
+ Also, uncomment code again, just "if (0)" it out, so it doesn't get stale again.
- Also, uncomment code again, just "if (0)" it out, so it doesn't get
- stale again.
-
- src/hb-aat-layout.cc | 58
- ++-------------------------------------------
+ src/hb-aat-layout.cc | 58 ++-------------------------------------------
src/hb-open-type-private.hh | 27 +++++++++++++--------
src/hb-ot-layout-private.hh | 1 +
src/hb-ot-layout.cc | 2 ++
@@ -27168,7 +27312,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 17 10:57:01 2018 +0200
Reland "Implement C++11-style GCC builtin atomic ops"
-
+
Fixed the crasher in it.
src/hb-atomic-private.hh | 22 +++++++++++++++++++---
@@ -27190,9 +27334,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 17 10:50:01 2018 +0200
Revert "Implement C++11-style GCC builtin atomic ops"
-
+
This reverts commit 21fa170f0bfb0109c506ed17f5aff8b062564ffa.
-
+
Is crashing. Oops.
src/hb-atomic-private.hh | 22 +++-------------------
@@ -27204,7 +27348,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 16 17:58:02 2018 +0200
Implement C++11-style GCC builtin atomic ops
-
+
Hopefully fixes bots.
src/hb-atomic-private.hh | 22 +++++++++++++++++++---
@@ -27225,7 +27369,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 16 15:41:09 2018 +0200
Implement C++11 <atomic> operations
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/345
src/hb-atomic-private.hh | 27 ++++++++++++++++++++++++---
@@ -27239,16 +27383,15 @@ Author: Cosimo Lupo <cosimo@anthrotype.com>
Date: Mon Jul 16 14:42:43 2018 +0200
Merge pull request #1094 from anthrotype/fix-appveyor-msys2
-
+
appveyor.yml: try updating msys2 to fix failing mingw-w64-x86_64 build
commit 269eb45650be66901627da7f1014339065a948a5
Author: Cosimo Lupo <cosimo@anthrotype.com>
Date: Mon Jul 16 14:14:42 2018 +0200
- appveyor.yml: try only updating msys2 core, not the rest of the
- packages
-
+ appveyor.yml: try only updating msys2 core, not the rest of the packages
+
maybe it'll get a bit faster
appveyor.yml | 1 -
@@ -27259,7 +27402,7 @@ Author: Cosimo Lupo <cosimo@anthrotype.com>
Date: Mon Jul 16 12:57:27 2018 +0200
appveyor.yml: pass --needed option to pacman
-
+
so it won't attempt reinstalling packages which are already installed
appveyor.yml | 2 +-
@@ -27270,7 +27413,7 @@ Author: Cosimo Lupo <cosimo@anthrotype.com>
Date: Mon Jul 16 12:41:59 2018 +0200
appveyor.yml: try updating msys2 to fix failing mingw-w64-x86_64 build
-
+
https://github.com/harfbuzz/harfbuzz/pull/1093#issuecomment-405201903
https://ci.appveyor.com/project/harfbuzz/harfbuzz/build/job/ky7lao1ii1bi7ew4#L71
@@ -27282,7 +27425,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 11 17:27:23 2018 +0200
Move _hb_alignof later again
-
+
It uses constexpr...
src/hb-private.hh | 26 +++++++++++++-------------
@@ -27304,8 +27447,7 @@ Date: Wed Jul 11 17:00:59 2018 +0200
Align NullPool and CrapPool to HB_VECTOR_SIZE
src/hb-dsalgs.hh | 3 +--
- src/hb-private.hh | 64
- ++++++++++++++++++++++++++++++++-----------------------
+ src/hb-private.hh | 64 ++++++++++++++++++++++++++++++++-----------------------
src/hb-static.cc | 4 ++--
3 files changed, 40 insertions(+), 31 deletions(-)
@@ -27373,10 +27515,8 @@ Date: Tue Jul 10 16:03:31 2018 +0200
Move more stuff from hb-private.hh to hb-dsalgs.hh
src/hb-debug.hh | 1 +
- src/hb-dsalgs.hh | 237
- ++++++++++++++++++++++++++++++++++++++++++++++++++++
- src/hb-private.hh | 246
- +-----------------------------------------------------
+ src/hb-dsalgs.hh | 237 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-private.hh | 246 +-----------------------------------------------------
3 files changed, 240 insertions(+), 244 deletions(-)
commit f477765661c196ac17b2c86731881a3da36a5ae6
@@ -27385,10 +27525,8 @@ Date: Tue Jul 10 15:49:05 2018 +0200
Move more stuff to hb-dsalgs.hh
- src/hb-dsalgs.hh | 83
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++
- src/hb-private.hh | 81
- -----------------------------------------------------
+ src/hb-dsalgs.hh | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-private.hh | 81 -----------------------------------------------------
2 files changed, 83 insertions(+), 81 deletions(-)
commit be7f664f723fb4e7bcf15c1c2b7c6bec46f90393
@@ -27470,10 +27608,8 @@ Date: Tue Jul 10 14:05:00 2018 +0200
Move hb_vector_t and hb_lockable_set_t to hb-dsalgs.hh
- src/hb-dsalgs.hh | 311
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
- src/hb-private.hh | 315
- ------------------------------------------------------
+ src/hb-dsalgs.hh | 311 +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-private.hh | 315 ------------------------------------------------------
2 files changed, 311 insertions(+), 315 deletions(-)
commit 9e53b083295ad910a87e778ebd16cbe69ebe2130
@@ -27481,15 +27617,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 10 14:03:58 2018 +0200
Move hb_stable_sort to hb-dsalgs.hh
-
+
Also, include hb-dsalgs.hh from end of hb-pricate.hh
- src/hb-dsalgs.hh | 51
- +++++++++++++++++++++++++++++++++++++++++
+ src/hb-dsalgs.hh | 51 +++++++++++++++++++++++++++++++++++++++++
src/hb-ot-os2-unicode-ranges.hh | 1 -
src/hb-ot-post-table.hh | 1 -
- src/hb-private.hh | 51
- ++---------------------------------------
+ src/hb-private.hh | 51 ++---------------------------------------
4 files changed, 53 insertions(+), 51 deletions(-)
commit 39f11d8e72c6b2568f3b70847c6c9d1f374cd49c
@@ -27506,7 +27640,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 10 13:47:41 2018 +0200
Fix syntax
-
+
Oops.
src/hb-private.hh | 2 +-
@@ -27527,7 +27661,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 10 13:16:52 2018 +0200
Always compile (but not use) alignof() and round() fallback codes
-
+
Catches compile-errors in them better.
src/hb-private.hh | 23 ++++++++++++-----------
@@ -27566,17 +27700,15 @@ Author: Cosimo Lupo <cosimo@anthrotype.com>
Date: Mon Jul 9 20:24:22 2018 +0200
Merge pull request #1091 from anthrotype/fix-gen-def-py
-
- gen-def.py: pass headers as arguments so that msys2 can convert
- posix paths
+
+ gen-def.py: pass headers as arguments so that msys2 can convert posix paths
commit 53f73409a91241765ae6a0cadf7600676988b6af
Author: Cosimo Lupo <cosimo@anthrotype.com>
Date: Mon Jul 9 18:54:23 2018 +0100
- CMakeLists.txt: don't pass header args as single space-separated
- string
-
+ CMakeLists.txt: don't pass header args as single space-separated string
+
let python's parse command-line args as usual
CMakeLists.txt | 3 +--
@@ -27586,8 +27718,7 @@ commit 83d2233a5c47cf1feadcdece5bd4a6b498c6ee7a
Author: Cosimo Lupo <cosimo@anthrotype.com>
Date: Mon Jul 9 18:48:20 2018 +0100
- CMakeLists.txt: pass headers as arguments to gen-def.py; call using
- PYTHON_EXECUTABLE
+ CMakeLists.txt: pass headers as arguments to gen-def.py; call using PYTHON_EXECUTABLE
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -27605,28 +27736,21 @@ commit e3a931ef0b86419b5e4ba17de51535393471ed9d
Author: Cosimo Lupo <cosimo@anthrotype.com>
Date: Mon Jul 9 18:11:29 2018 +0100
- gen-def.py: pass headers as arguments so that msys2 can convert
- posix paths
-
- When one is not using the msys2 python, the header files that are
- passed in as environment
+ gen-def.py: pass headers as arguments so that msys2 can convert posix paths
+
+ When one is not using the msys2 python, the header files that are passed in as environment
variable cannot be found.
-
+
https://ci.appveyor.com/project/fonttools/ttfautohint-py/build/1.0.65/job/rkremny4jjid9nl2#L803
-
- This is because msys2 shell and make use POSIX paths
- (e.g. /c/Users/clupo/...)
- whereas non-msys2 python.exe uses native Windows paths
- (e.g. C:\Users\clupo\...).
-
- Msys2 will automatically convert command line arguments (but not
- environment variables) from
- POSIX to Windows paths when calling a native win32 executable,
- so we pass the header paths
+
+ This is because msys2 shell and make use POSIX paths (e.g. /c/Users/clupo/...)
+ whereas non-msys2 python.exe uses native Windows paths (e.g. C:\Users\clupo\...).
+
+ Msys2 will automatically convert command line arguments (but not environment variables) from
+ POSIX to Windows paths when calling a native win32 executable, so we pass the header paths
as arguments instead of environment variables.
-
- This way the gen-def.py script can support both mingw python running
- in an MSYS2 shell, and
+
+ This way the gen-def.py script can support both mingw python running in an MSYS2 shell, and
native win32 python.
src/gen-def.py | 12 +++++++++---
@@ -27637,7 +27761,7 @@ Author: David Corbett <corbett.dav@husky.neu.edu>
Date: Fri Jul 6 15:47:03 2018 -0400
Do not enforce a native direction of LTR for Runic
-
+
Fixes #481
src/hb-common.cc | 1 +
@@ -27648,7 +27772,7 @@ Author: David Corbett <corbett.dav@husky.neu.edu>
Date: Sat Jul 7 11:08:17 2018 -0400
Regenerate the USE table for Grantha and Bhaiksuki (#1090)
-
+
Completes #1037 and fixes #1035.
src/hb-ot-shape-complex-use-table.cc | 4 ++--
@@ -27659,11 +27783,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 5 14:04:13 2018 +0430
Disable vectorization
-
+
Disable vectorization for now. To correctly use them, we should
use posix_memalign() to allocate them. Otherwise, can cause
misaligned access.
-
+
https://bugs.chromium.org/p/chromium/issues/detail?id=860184
src/hb-private.hh | 12 ++++++++++++
@@ -27674,10 +27798,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 5 14:03:48 2018 +0430
Fix warning
-
- ../../src/hb-ot-layout-gsubgpos-private.hh:391:18: warning:
- missed loop optimization, the loop counter may overflow
- [-Wunsafe-loop-optimizations]
+
+ ../../src/hb-ot-layout-gsubgpos-private.hh:391:18: warning: missed loop optimization, the loop counter may overflow [-Wunsafe-loop-optimizations]
src/hb-ot-layout-gsubgpos-private.hh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -27705,31 +27827,24 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 3 14:29:25 2018 +0430
[indic] Adjust left-matra repositioning and Halant,ZWJ sequence
-
+
From the new code (first paragraph is from the OT Devanagari spec.):
-
+
/* o Reorder matras:
*
- * If a pre-base matra character had been reordered before
- applying basic
- * features, the glyph can be moved closer to the main consonant
- based on
- * whether half-forms had been formed. Actual position for
- the matra is
- * defined as “after last standalone halant glyph, after
- initial matra
- * position and before the main consonant”. If ZWJ or ZWNJ
- follow this
+ * If a pre-base matra character had been reordered before applying basic
+ * features, the glyph can be moved closer to the main consonant based on
+ * whether half-forms had been formed. Actual position for the matra is
+ * defined as “after last standalone halant glyph, after initial matra
+ * position and before the main consonant”. If ZWJ or ZWNJ follow this
* halant, position is moved after it.
*
* IMPLEMENTATION NOTES:
*
- * It looks like the last sentence is wrong. Testing, with Windows
- 7 Uniscribe
+ * It looks like the last sentence is wrong. Testing, with Windows 7 Uniscribe
* and Devanagari shows that the behavior is best described as:
*
- * "If ZWJ follows this halant, matra is NOT repositioned after
- this halant.
+ * "If ZWJ follows this halant, matra is NOT repositioned after this halant.
* If ZWNJ follows this halant, position is moved after it."
*
* Test case, with Adobe Devanagari or Nirmala UI:
@@ -27739,13 +27854,12 @@ Date: Tue Jul 3 14:29:25 2018 +0430
*
* U+091F,U+094D,U+200D,U+092F,U+093F
* (Matra does NOT move, stays to the left.)
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1070
-
+
Test case added with Adobe Devanagari.
- src/hb-ot-shape-complex-indic.cc | 37
- +++++++++++++++++++++
+ src/hb-ot-shape-complex-indic.cc | 37 +++++++++++++++++++++
.../8116e5d8fedfbec74e45dc350d2416d810bed8c4.ttf | Bin 0 -> 4364 bytes
.../data/in-house/tests/indic-joiners.tests | 4 +++
3 files changed, 41 insertions(+)
@@ -27775,11 +27889,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 3 12:38:21 2018 +0430
Disable .dfont code for now
-
+
The get_table imple was wrong, as table offsets in a dfont are
relative to the resource. We were treating them as relative to
the big blob itself. To be fixed.
-
+
Part of https://github.com/harfbuzz/harfbuzz/pull/1085
src/hb-open-file-private.hh | 6 +++---
@@ -27790,7 +27904,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sun Jul 1 15:32:43 2018 +0430
Fix trak table apply logic
-
+
In collaboration with Behdad
src/hb-aat-layout-trak-table.hh | 4 ++--
@@ -27802,8 +27916,7 @@ Date: Sun Jul 1 14:32:00 2018 +0430
Support dfont font files (#949)
- src/hb-open-file-private.hh | 196
- ++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-open-file-private.hh | 196 ++++++++++++++++++++++++++++++++++++++++++++
src/hb-open-type-private.hh | 1 +
src/main.cc | 3 +
3 files changed, 200 insertions(+)
@@ -27812,8 +27925,7 @@ commit 5d8cafcf6a47ce73afff06499f6be23c72ab6797
Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sun Jul 1 01:54:14 2018 +0430
- Improve nommap naming and use C style comments on create_from_file
- (#1084)
+ Improve nommap naming and use C style comments on create_from_file (#1084)
.circleci/config.yml | 2 +-
src/hb-blob.cc | 16 ++++++++--------
@@ -27824,23 +27936,19 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jun 30 15:59:25 2018 +0430
Adjust MarkBasePos heuristic in presence of MultipleSubst
-
+
From the issue:
- "In this font, the virama,ya first forms a ligature, then decomposes
- back to
+ "In this font, the virama,ya first forms a ligature, then decomposes back to
virama,ya. This causes those two to be marked parts of a MultipleSubst
- sequence. When attaching the matra, we look for the first of the
- MultipleSubst
- sequence because that's where we attach to (because of eg #740). In
- this case,
- the first glyph in the MultipleSubst sequence is a mark, so we skip
- it and
+ sequence. When attaching the matra, we look for the first of the MultipleSubst
+ sequence because that's where we attach to (because of eg #740). In this case,
+ the first glyph in the MultipleSubst sequence is a mark, so we skip it and
attach to the base char before it."
-
+
Font in question is Nirmala UI from Windows 10. Test sequence:
-
+
U+0926,U+094D,U+092F,U+0941
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1020
src/hb-ot-layout-gpos-table.hh | 5 ++++-
@@ -27851,7 +27959,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jun 30 12:28:03 2018 +0430
[indic] Tweak for old-spec Bengali and halant-ya-halant
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1073
src/hb-ot-shape-complex-indic.cc | 13 ++++++++++---
@@ -27861,8 +27969,7 @@ commit 9541c9dae10156fb61e4786545d1976cdcfb6bda
Author: punchcutter <zarijoscha@gmail.com>
Date: Sun Jun 24 22:54:57 2018 -0700
- Rebase and update USE overrides for Bhaiksuki Gap Fillers and
- Grantha Anusvara
+ Rebase and update USE overrides for Bhaiksuki Gap Fillers and Grantha Anusvara
src/gen-use-table.py | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
@@ -27872,10 +27979,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jun 30 09:16:54 2018 +0430
[khmer] Fix infinite-loop in cluster merging
-
+
Indic shaper already had this check. We removed it when forking
Khmer shaper by mistake.
-
+
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1464623
src/hb-ot-shape-complex-khmer.cc | 31 +++++++++++++++++--------------
@@ -27886,7 +27993,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Thu Jun 28 14:32:36 2018 +0430
armcc compatibility, don't use EINTR if doesn't exist
-
+
Fixes #1081
src/hb-blob.cc | 2 ++
@@ -27897,7 +28004,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Thu Jun 28 13:22:21 2018 +0430
Minor on hb_blob_create_from_file, reuse ferror result
-
+
Oops
src/hb-blob.cc | 2 +-
@@ -27926,7 +28033,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed Jun 27 14:13:26 2018 +0430
Minor touches on hb_blob_create_from_file (#1079)
-
+
* Handle EINTR on fallback reader
* Increase fallback reader limitation size limitation to 2 << 28
* Ensure _O_BINARY does exist if MMAP is used on Windows
@@ -27940,7 +28047,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 26 18:00:58 2018 -0400
Make round() fallback portable to systems that do have round()
-
+
Makes compiling without HAVE_ROUND on systems that do have it work.
src/hb-private.hh | 3 ++-
@@ -27951,9 +28058,8 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Jun 26 10:46:10 2018 +0430
Minor on hb_blob_create_from_file
-
- Add one more "unlikely" annotation and use explicit nullptr check
- for more consistency.
+
+ Add one more "unlikely" annotation and use explicit nullptr check for more consistency.
src/hb-blob.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -27964,8 +28070,7 @@ Date: Fri Jun 22 15:29:34 2018 -0700
[subset] Add fuzzer test case that caused a timeout to the corpus.
- ...testcase-minimized-hb-subset-fuzzer-5750092395970560 | Bin 0 ->
- 72435 bytes
+ ...testcase-minimized-hb-subset-fuzzer-5750092395970560 | Bin 0 -> 72435 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit 35ce8f31d37cf7c2a1f8265d36ba4c2c9a3efb2c
@@ -27973,15 +28078,13 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Mon Jun 25 22:23:43 2018 +0430
Unify our pipe reader with the fallback reader (#1068)
-
- And assign one bot to use the path always using NOMMAPFILEREADER
- token.
-
+
+ And assign one bot to use the path always using NOMMAPFILEREADER token.
+
It's limited to 200mb so no more fun with using /dev/zero on hb-view!
.circleci/config.yml | 6 +-
- src/hb-blob.cc | 152
- ++++++++++++++++++++++-----------------------------
+ src/hb-blob.cc | 152 ++++++++++++++++++++++-----------------------------
2 files changed, 68 insertions(+), 90 deletions(-)
commit f57804a8a596e88843ddc8b88afac7526349b89b
@@ -27990,8 +28093,7 @@ Date: Mon Jun 25 18:45:49 2018 +0430
Resolve ttx absolute path before use (#1075)
- test/subset/run-tests.py | 101
- ++++++++++++++++++++++++++---------------------
+ test/subset/run-tests.py | 101 ++++++++++++++++++++++++++---------------------
1 file changed, 57 insertions(+), 44 deletions(-)
commit 159ddb872986f121818e816d2ea75d271075ba1f
@@ -28008,10 +28110,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jun 23 10:32:28 2018 -0400
In Coverage iterator, bail out if table smells
-
+
In particular, if CoverageFormat2 has unsorted ranges, bail out.
Otherwise, 64k ranges of each 64k glyphs can DoS closure() method.
-
+
We can do the same for CoverageFormat1, but that one does not expose
the quadratic behavior, so, fine.
@@ -28023,17 +28125,14 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Mon Jun 18 20:35:40 2018 +0430
Support pipe and friends on hb_blob_create_from_file (#1061)
-
- With this hb-view/hb-shape support pipes and possibly socket and
- named pipe
+
+ With this hb-view/hb-shape support pipes and possibly socket and named pipe
also, anything fails just on mmap.
-
+
We can later do the same for Windows also.
-
- This however reveals two issues, the fact most of our bots don't
- have HAVE_MMAP and using
- this instead the other fread/fopen reader can make failure on CI. I
- should look at them separately
+
+ This however reveals two issues, the fact most of our bots don't have HAVE_MMAP and using
+ this instead the other fread/fopen reader can make failure on CI. I should look at them separately
this change however is very low risk I believe.
src/hb-blob.cc | 44 +++++++++++++++++++++++++++++++++++++++++++-
@@ -28044,12 +28143,9 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Mon Jun 18 19:59:33 2018 +0430
Revert file blob sanitization and index checking (#1062)
-
- As
- https://github.com/harfbuzz/harfbuzz/pull/1059#issuecomment-397912812
- we
- like to still work with blobs that harfbuzz itself can't handle
- directly that are failing sanitization
+
+ As https://github.com/harfbuzz/harfbuzz/pull/1059#issuecomment-397912812 we
+ like to still work with blobs that harfbuzz itself can't handle directly that are failing sanitization
currently apparently.
util/options.cc | 12 ++----------
@@ -28060,9 +28156,8 @@ commit c53697d3f2a3fae8b68ec4c5146c7000a07e0963
Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sun Jun 17 17:04:55 2018 +0430
- Verbose fail when something is wrong with hb-shape/hb-view input
- font file (#1059)
-
+ Verbose fail when something is wrong with hb-shape/hb-view input font file (#1059)
+
This checks if the blob isn't empty and uses `hb_face_count`
to see if the font file passes the simple font file sanitization
so can detect if the input is actually a font and checks also
@@ -28076,20 +28171,20 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sun Jun 17 16:49:34 2018 +0430
Fix reading fonts from stdin (#1060)
-
+
We were passing the font path directly to freetype so rendering
was broken when we are getting the font from stdin.
-
+
This fixes it by using FT_New_Memory_Face instead.
-
+
This fixes:
* build/util/hb-view /dev/stdin text < font.ttf
* build/util/hb-view - text < font.ttf
* cat font.ttf | build/util/hb-view - text
-
+
but doesn't work on
* cat font.ttf | build/util/hb-view /dev/stdin text
-
+
which I will try to fix separately.
util/helper-cairo.cc | 14 ++++++++++----
@@ -28123,11 +28218,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 12 19:20:20 2018 -0400
Move hb-version.h generation to Makefile
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/864
-
- Unfortunately 1.7.7 and 1.8.0 went out with the wrong hb-version.h
- contents.
+
+ Unfortunately 1.7.7 and 1.8.0 went out with the wrong hb-version.h contents.
configure.ac | 1 -
src/Makefile.am | 21 ++++++++++++++++-----
@@ -28139,7 +28233,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 12 18:24:54 2018 -0400
[subset] Remove HB_SUBSET_BUILTIN
-
+
Just include hb-static.cc in libharfbuzz-subset.so source list as
well. Those building it built-in will include hb-static.cc once
already. No need for any gymnastics.
@@ -28208,7 +28302,7 @@ Author: Jonathan Kew <jfkthame@gmail.com>
Date: Mon Jun 11 20:55:14 2018 -0700
[hb-set] Don't shrink vectors until after processing their contents.
-
+
Fixes #1054.
src/hb-set-private.hh | 10 +++++++---
@@ -28219,9 +28313,8 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Mon Jun 11 03:47:43 2018 +0430
Fetch the updated dwrite_1.h header from a better place
-
- Following to
- https://ci.appveyor.com/project/harfbuzz/harfbuzz/build/1.0.1693/job/mfkjdhcdykjuqdfc
+
+ Following to https://ci.appveyor.com/project/harfbuzz/harfbuzz/build/1.0.1693/job/mfkjdhcdykjuqdfc
appveyor.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -28231,7 +28324,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jun 10 17:22:38 2018 -0400
More fixes for SunStudio 12.6 build
-
+
Followup to https://github.com/harfbuzz/harfbuzz/pull/1053
src/hb-ft.cc | 8 ++++----
@@ -28275,8 +28368,7 @@ Date: Thu Jun 7 15:32:52 2018 -0700
test/api/fonts/Roboto-Regular.gsub.fi.ttf | Bin 0 -> 2652 bytes
test/api/fonts/Roboto-Regular.gsub.fil.ttf | Bin 0 -> 3228 bytes
test/api/fonts/Roboto-Regular.nogsub.fi.ttf | Bin 0 -> 1856 bytes
- test/api/test-subset-glyf.c | 52
- ++++++++++++++++++++++++++++
+ test/api/test-subset-glyf.c | 52 ++++++++++++++++++++++++++++
4 files changed, 52 insertions(+)
commit 37eab27be3b88079614f66e484c700bb2d40af10
@@ -28316,8 +28408,7 @@ commit 57badadb769d0bcdbee00afce3af4972bc5c6bf1
Author: Garret Rieger <grieger@google.com>
Date: Wed Jun 6 16:02:51 2018 -0700
- [subset] add a new closure call to hb-ot-layout that can compute
- the closure over multiple lookups.
+ [subset] add a new closure call to hb-ot-layout that can compute the closure over multiple lookups.
src/hb-ot-layout.cc | 26 ++++++++++++++++++++++++++
src/hb-ot-layout.h | 6 ++++++
@@ -28329,7 +28420,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jun 6 16:46:50 2018 -0700
[set] Add is_subset
-
+
New API:
+hb_set_is_subset()
@@ -28365,7 +28456,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jun 6 15:23:35 2018 -0700
Compiler gymnastics
-
+
Part of https://github.com/harfbuzz/harfbuzz/issues/630
src/hb-private.hh | 3 +++
@@ -28376,18 +28467,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jun 6 14:55:30 2018 -0700
Move prime_for back into map
-
- This was causing problem on systems without visibility when map
- was used
+
+ This was causing problem on systems without visibility when map was used
from both libharfbuzz and libharfbuzz-subset. Sigh.
-
+
https://ci.appveyor.com/project/harfbuzz/harfbuzz/build/1.0.1669/job/dey47nmff0770vp3
- src/hb-map-private.hh | 53
- ++++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/hb-map-private.hh | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++-
src/hb-private.hh | 3 ---
- src/hb-static.cc | 51
- -------------------------------------------------
+ src/hb-static.cc | 51 -------------------------------------------------
3 files changed, 52 insertions(+), 55 deletions(-)
commit a2a1484ef93d5b5c3748b15219eca669d866b0a9
@@ -28395,9 +28483,8 @@ Author: David Corbett <corbett.dav@husky.neu.edu>
Date: Wed Jun 6 12:57:28 2018 -0400
Convert Consonant_Initial_Postfixed to CONS_FINAL
-
- Consonant_Initial_Postfixed was split off of
- Consonant_Succeeding_Repha,
+
+ Consonant_Initial_Postfixed was split off of Consonant_Succeeding_Repha,
so it should correspond to the same USE class, CONS_FINAL.
src/gen-use-table.py | 5 +++--
@@ -28419,12 +28506,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 5 17:59:31 2018 -0700
[ucdn] Update to Unicode 11
-
+
https://github.com/grigorig/ucdn/issues/19
src/hb-ucdn.cc | 7 +
- src/hb-ucdn/ucdn_db.h | 2754
- ++++++++++++++++++++++++++-----------------------
+ src/hb-ucdn/ucdn_db.h | 2754 ++++++++++++++++++++++++++-----------------------
2 files changed, 1479 insertions(+), 1282 deletions(-)
commit 060e6b4a13a4224de885214d374b079610224123
@@ -28432,7 +28518,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 5 17:31:46 2018 -0700
Update to Unicode 11.0.0
-
+
UCDN is not updated yet.
src/gen-use-table.py | 13 +++--
@@ -28442,8 +28528,7 @@ Date: Tue Jun 5 17:31:46 2018 -0700
src/hb-ot-shape-complex-indic-table.cc | 77 ++++++++++++++-------------
src/hb-ot-shape-complex-private.hh | 9 ++++
src/hb-ot-shape-complex-use-machine.rl | 2 +-
- src/hb-ot-shape-complex-use-table.cc | 94
- +++++++++++++++++++++------------
+ src/hb-ot-shape-complex-use-table.cc | 94 +++++++++++++++++++++------------
8 files changed, 170 insertions(+), 84 deletions(-)
commit 105a3b5e2d2ff228cdc1fbe8618f6c8fdfdabe9e
@@ -28484,7 +28569,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jun 4 16:47:45 2018 -0700
[khmer] Fix Coeng vs Halant confusion
-
+
Test suite results are unchanged (34).
src/hb-ot-shape-complex-khmer.cc | 6 +++---
@@ -28495,7 +28580,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Jun 5 22:50:53 2018 +0430
Fix hb_face_count build issue
-
+
I should've rebased #1002 before the merge, my bad
src/hb-face.cc | 2 +-
@@ -28506,16 +28591,15 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Jun 5 18:56:26 2018 +0430
Add hb_face_count, a new API (#1002)
-
+
Simply, it returns the number of faces on a font blob.
-
+
To be used on hb-sanitizer tool but other clients also
can benefit from it.
TODO | 2 -
docs/harfbuzz-sections.txt | 1 +
- src/hb-face.cc | 95
- ++++++++++++++++++++++++++++------------------
+ src/hb-face.cc | 95 ++++++++++++++++++++++++++++------------------
src/hb-face.h | 4 ++
4 files changed, 64 insertions(+), 38 deletions(-)
@@ -28524,17 +28608,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jun 4 15:40:43 2018 -0700
[sinhala] Move reph to after post-consonants
-
+
Apparently this changed between Win 7 and Win 10.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/967
-
+
To be continued in https://github.com/harfbuzz/harfbuzz/issues/1044
src/hb-ot-shape-complex-indic.cc | 2 +-
test/shaping/data/in-house/Makefile.sources | 1 +
- .../fonts/5af5361ed4d1e8305780b100e1730cb09132f8d1.ttf | Bin 0 ->
- 3152 bytes
+ .../fonts/5af5361ed4d1e8305780b100e1730cb09132f8d1.ttf | Bin 0 -> 3152 bytes
test/shaping/data/in-house/tests/sinhala.tests | 1 +
4 files changed, 3 insertions(+), 1 deletion(-)
@@ -28543,7 +28626,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jun 4 15:38:05 2018 -0700
[test] Fix record-test to use gids not glyph-names
-
+
as those might not match what FontTools think of the glyphs if font
does NOT have glyph names.
@@ -28555,11 +28638,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jun 2 20:30:09 2018 -0700
Remove DISALLOW_* from vector, set, and map
-
- Some of the build bots, still fail on this. I suppose mine pass
- because
+
+ Some of the build bots, still fail on this. I suppose mine pass because
I enable C++11...
-
+
Anyway, remove these again.
src/hb-map-private.hh | 3 ---
@@ -28573,7 +28655,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jun 2 15:30:59 2018 -0700
Fix fallout from 975bdd5ef562e37655067b703b2b9ca7481f4985
-
+
Ouch!
src/hb-ot-map-private.hh | 40 ++++++++++++++++++++++------------------
@@ -28624,7 +28706,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 1 17:32:07 2018 -0700
Another attempt at making every compiler happy...
-
+
Sigh.
src/hb-private.hh | 6 +++---
@@ -28636,11 +28718,9 @@ Date: Fri Jun 1 17:28:47 2018 -0700
[map] Move prime_for to hb-static
- src/hb-map-private.hh | 53
- +--------------------------------------------------
+ src/hb-map-private.hh | 53 +--------------------------------------------------
src/hb-private.hh | 2 ++
- src/hb-static.cc | 51
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-static.cc | 51 +++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 54 insertions(+), 52 deletions(-)
commit 33d6f46bbbb4fdee110f1cb024a37ed2e46e5e22
@@ -28666,11 +28746,9 @@ commit a070dfd333f411bf720120eb332f7da93077054f
Author: Garret Rieger <grieger@google.com>
Date: Thu May 31 16:47:39 2018 -0700
- [subset] Have the subset fuzzer pull the text string to subset to
- from the end of the fuzzer provided data.
+ [subset] Have the subset fuzzer pull the text string to subset to from the end of the fuzzer provided data.
- test/fuzzing/hb-subset-fuzzer.cc | 54
- +++++++++++++++++++++++++---------------
+ test/fuzzing/hb-subset-fuzzer.cc | 54 +++++++++++++++++++++++++---------------
1 file changed, 34 insertions(+), 20 deletions(-)
commit bb6f4adac70a161505953414aa85ba78cd993c65
@@ -28687,9 +28765,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 1 16:07:55 2018 -0700
Revert "Remove HB_DISALLOW_COPY_AND_ASSIGN"
-
+
This reverts commit ff92de766bf775bfdd3a01bda94de699180ff86a.
-
+
Revert that and remove ASSERT_POD. Let's see which bots are
unhappy with this configuration...
@@ -28724,11 +28802,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 31 20:03:00 2018 -0700
Rename in_error to !successful
-
+
Towards possibly using Null pool for some nil objects.
- src/hb-buffer-deserialize-json.hh | 758
- +++++++++++++++++------------------
+ src/hb-buffer-deserialize-json.hh | 758 +++++++++++++++++------------------
src/hb-buffer-deserialize-json.rl | 2 +-
src/hb-buffer-deserialize-text.hh | 510 +++++++++++------------
src/hb-buffer-deserialize-text.rl | 2 +-
@@ -28755,7 +28832,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 31 19:52:16 2018 -0700
Fix a whitespace inconsistency
-
+
Null() and Crap() are only places that there's no space before '('...
src/dump-fon.cc | 12 ++++++------
@@ -28778,7 +28855,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 31 19:28:04 2018 -0700
Use 0 as inert object reference value instead of -1
-
+
Towards using Null object for nil objects.
src/hb-object-private.hh | 2 +-
@@ -28789,7 +28866,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 31 17:58:40 2018 -0700
Add const OffsetTo<> dereference
-
+
Unused, but now that we have CrapPool, implement it.
src/hb-open-type-private.hh | 6 ++++++
@@ -28800,13 +28877,11 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Thu May 31 12:27:31 2018 +0430
Fix symbol export issue of prime_mod on Alpine bot
-
- Apparently our gcc-6.4.0 on Alpine Linux distribution doesn't like
- defining static const
+
+ Apparently our gcc-6.4.0 on Alpine Linux distribution doesn't like defining static const
inside a method, lets put that on outside the classes.
- src/hb-map-private.hh | 89
- ++++++++++++++++++++++++++-------------------------
+ src/hb-map-private.hh | 89 ++++++++++++++++++++++++++-------------------------
1 file changed, 45 insertions(+), 44 deletions(-)
commit 54800f8322e8ab106d801fc332b7e813c58138ac
@@ -28814,7 +28889,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 30 16:26:50 2018 -0700
[map] Mark prime_for HB_INTERNAL
-
+
Trying to see if it fixes gcc-4.2 bots.
src/hb-map-private.hh | 2 +-
@@ -28843,8 +28918,7 @@ Date: Wed May 30 12:23:51 2018 -0700
src/hb-ot-os2-table.hh | 35 +++--------
src/hb-ot-post-table.hh | 2 +-
src/hb-subset-glyf.cc | 9 ++-
- src/hb-subset-plan.cc | 159
- ++++++++++++++++--------------------------------
+ src/hb-subset-plan.cc | 159 ++++++++++++++++--------------------------------
src/hb-subset-plan.hh | 68 +++++++++++++--------
src/hb-subset.cc | 2 +-
11 files changed, 139 insertions(+), 188 deletions(-)
@@ -28854,7 +28928,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 30 14:02:49 2018 -0700
[map] Fix size calculation
-
+
Don't know why I thought I should subtract one there...
src/hb-map-private.hh | 2 +-
@@ -28865,15 +28939,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 29 18:48:45 2018 -0700
Remove HB_DISALLOW_COPY_AND_ASSIGN
-
+
llvm-gcc-4.2 bot had this problem:
- hb-private.hh:812: error: initializer specified for non-virtual method
- 'void hb_vector_t<Type, StaticSize>::operator=(const hb_vector_t<Type,
- StaticSize>&) [with Type = hb_user_data_array_t::hb_user_data_item_t,
- unsigned int StaticSize = 1u]'
-
- Removing the delete didn't work with a constructor. So, remove
- constructor.
+ hb-private.hh:812: error: initializer specified for non-virtual method 'void hb_vector_t<Type, StaticSize>::operator=(const hb_vector_t<Type, StaticSize>&) [with Type = hb_user_data_array_t::hb_user_data_item_t, unsigned int StaticSize = 1u]'
+
+ Removing the delete didn't work with a constructor. So, remove constructor.
Just disallow assignment. Still better than nothing.
src/hb-map-private.hh | 2 +-
@@ -28896,13 +28966,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 29 18:21:55 2018 -0700
Disable use of thread_local
-
+
Clang build was failing with:
-
- /usr/bin/ld: .libs/libharfbuzz_la-hb-blob.o: relocation R_X86_64_PC32
- against undefined hidden symbol `_ZTH12_hb_CrapPool' can not be used
- when making a shared object
-
+
+ /usr/bin/ld: .libs/libharfbuzz_la-hb-blob.o: relocation R_X86_64_PC32 against undefined hidden symbol `_ZTH12_hb_CrapPool' can not be used when making a shared object
+
Instead of fighting it, just disable use of it.
src/hb-private.hh | 4 ++--
@@ -28924,10 +28992,8 @@ Date: Tue May 29 18:13:13 2018 -0700
[map] Move prime_mod to header to avoid linkage issues in subset.so
- src/hb-map-private.hh | 53
- +++++++++++++++++++++++++++++++++++++++++++++++++--
- src/hb-map.cc | 52
- --------------------------------------------------
+ src/hb-map-private.hh | 53 +++++++++++++++++++++++++++++++++++++++++++++++++--
+ src/hb-map.cc | 52 --------------------------------------------------
2 files changed, 51 insertions(+), 54 deletions(-)
commit 6baebc5d559e15c7903a81f21be08b45537e7903
@@ -29029,7 +29095,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 29 16:45:06 2018 -0700
Revert "[map] Return bool from set()"
-
+
This reverts commit face7cf55d4895ffca314c8448c0a749a26cc182.
src/hb-map-private.hh | 7 +++----
@@ -29040,7 +29106,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 29 16:44:55 2018 -0700
Revert "[map] Make hb_map_set() return bool"
-
+
This reverts commit 7bf1980146cfc081b06264ac367b23ae9397adf1.
src/hb-map.cc | 4 ++--
@@ -29080,13 +29146,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 29 16:28:48 2018 -0700
[map] First try at implementing an integer-to-integer hashmap
-
+
Fully untested.
src/Makefile.sources | 3 +
src/hb-map-private.hh | 180 ++++++++++++++++++++++++++++++++
- src/hb-map.cc | 279
- ++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-map.cc | 279 ++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-map.h | 110 ++++++++++++++++++++
src/hb.h | 1 +
5 files changed, 573 insertions(+)
@@ -29096,7 +29161,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sat May 26 23:50:10 2018 +0430
[blob] Use MAP_NORESERVE if available (#1039)
-
+
MAP_NORESERVE is not available on macOS for example so set the flag
to zero if not defined on the headers.
@@ -29145,10 +29210,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 24 14:09:04 2018 -0700
Fix Uniscribe build
-
+
If a pointer type was passed to Null(), reinterpret_cast<> was
- complaining about qualifiers being removed. Turns out I need the
- const on
+ complaining about qualifiers being removed. Turns out I need the const on
the other side of "Type" to fix that. Also remove unused const from
NullPool type.
@@ -29174,7 +29238,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 24 11:46:57 2018 -0700
Mark CrapPool thread_local
-
+
Not sure if I like to keep it. For now, aim for correctness.
src/dump-emoji.cc | 2 +-
@@ -29190,7 +29254,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 24 11:33:15 2018 -0700
Add CrapPool
-
+
Common Regoin for Access Protection. Like the NullPool, but writable.
src/dump-emoji.cc | 1 +
@@ -29208,8 +29272,7 @@ Date: Wed May 23 20:12:23 2018 -0700
Move code around
- src/hb-private.hh | 91
- ++++++++++++++++++++++++++++++-------------------------
+ src/hb-private.hh | 91 ++++++++++++++++++++++++++++++-------------------------
1 file changed, 49 insertions(+), 42 deletions(-)
commit 65aeabd62275b37c6bb6715f3341e45625f4ba6e
@@ -29217,7 +29280,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 23 16:15:28 2018 -0700
Add hb_vector_t::push(const Type &v)
-
+
Makes for cleaner code.
src/hb-coretext.cc | 3 +--
@@ -29232,10 +29295,9 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed May 23 13:37:57 2018 +0430
[ci] Revive the SunCC bot
-
+
* Adds libnsl to the bot as it is now needed apparently
- * Disables hb-icu, apparently the newer ICU itself is not compatible
- with SunCC
+ * Disables hb-icu, apparently the newer ICU itself is not compatible with SunCC
.circleci/config.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -29245,7 +29307,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 22 22:00:05 2018 -0700
Actually enable vectorized operations
-
+
Fixup for previous commit. Was accidentally turned off.
src/hb-private.hh | 2 +-
@@ -29256,7 +29318,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 22 21:36:07 2018 -0700
Another try at smart vectorization
-
+
Make clang happy. Also, don't use anonymous union.
src/hb-private.hh | 36 +++++++++++++++++++++++++-----------
@@ -29267,7 +29329,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 22 21:06:22 2018 -0700
Try enabling vectorization smartly
-
+
We'll see if this sticks to the bots.
src/hb-private.hh | 25 +++++++++++++++++--------
@@ -29291,12 +29353,9 @@ Date: Tue May 22 18:28:13 2018 -0700
test/shaping/data/text-rendering-tests/DISABLED | 2 ++
test/shaping/data/text-rendering-tests/Makefile.sources | 2 ++
- .../text-rendering-tests/fonts/TestMORXTwentyeight.ttf | Bin 0 ->
- 2660 bytes
- .../text-rendering-tests/fonts/TestMORXTwentyseven.ttf | Bin 0 ->
- 2432 bytes
- .../data/text-rendering-tests/fonts/TestShapeKndaV3.ttf | Bin 0 ->
- 89400 bytes
+ .../text-rendering-tests/fonts/TestMORXTwentyeight.ttf | Bin 0 -> 2660 bytes
+ .../text-rendering-tests/fonts/TestMORXTwentyseven.ttf | Bin 0 -> 2432 bytes
+ .../data/text-rendering-tests/fonts/TestShapeKndaV3.ttf | Bin 0 -> 89400 bytes
.../data/text-rendering-tests/tests/MORX-27.tests | 3 +++
.../data/text-rendering-tests/tests/MORX-28.tests | 5 +++++
7 files changed, 12 insertions(+)
@@ -29306,11 +29365,9 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Fri May 11 22:44:44 2018 +0430
Minor, make CreateFile compatible with the disabled writable flag
-
- "writable" is not in use and probably we can go in the reverse
- direction
- and remove the flags that are useful for enabled writable, this
- is just
+
+ "writable" is not in use and probably we can go in the reverse direction
+ and remove the flags that are useful for enabled writable, this is just
for the sake of completeness however.
src/hb-blob.cc | 5 +++--
@@ -29321,7 +29378,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Fri May 11 14:36:41 2018 +0430
Remove unnecessary headers and definitions of hb-blob (#1028)
-
+
It removes io.h and other polyfills which we no longer need as 7e76d74
src/hb-blob.cc | 22 ++++------------------
@@ -29332,24 +29389,23 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Fri May 11 13:40:33 2018 +0430
Make hb_blob_create_from_file more portable (#1027)
-
+
This makes it compatible with ARMCC which I had access in
a collaboration with @imgtec, thanks!
-
+
Basically hb_blob_create_from_file features three code paths,
mmap, Win32 and fallback.
-
+
We had fallback implementation even before this but it was relied
to "open" which is not available on some environments. This change
improved the situtation by using only fopen and friends for
fallback path.
-
+
Interestingly we could use "open" on Windows but in fact it was
emulated by MSVCRT so I've completely split that from Unix path
now that we have a distinct path for fallback path also.
- src/hb-blob.cc | 64
- +++++++++++++++++++++++++++++++++++++++-------------------
+ src/hb-blob.cc | 64 +++++++++++++++++++++++++++++++++++++++-------------------
1 file changed, 43 insertions(+), 21 deletions(-)
commit e99d75ea9c4fe1f64d7f8408093741a682ed5243
@@ -29366,7 +29422,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 9 15:27:17 2018 -0700
Reinstante DEFINE_NULL_DATA
-
+
Seems like I messed up; buffer overrun got reported.
src/hb-open-type-private.hh | 2 ++
@@ -29378,9 +29434,8 @@ commit 93bdf9b2dfe18af0f1aa93b890f0be260f31d90e
Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed May 9 23:24:17 2018 +0430
- Use arrayZ on hb-coretext and hb-uniscribe and fix macOS/Win bots
- (#1024)
-
+ Use arrayZ on hb-coretext and hb-uniscribe and fix macOS/Win bots (#1024)
+
Following to 63f57f4
src/hb-coretext.cc | 2 +-
@@ -29402,8 +29457,7 @@ Date: Tue May 8 16:56:11 2018 -0700
src/hb-ot-color-cbdt-table.hh | 10 +++---
src/hb-ot-layout-common-private.hh | 12 +++----
src/hb-ot-layout-gsub-table.hh | 16 ++++-----
- src/hb-ot-layout-gsubgpos-private.hh | 64
- ++++++++++++++++++------------------
+ src/hb-ot-layout-gsubgpos-private.hh | 64 ++++++++++++++++++------------------
src/hb-ot-post-table.hh | 4 +--
src/hb-ot-var-avar-table.hh | 26 +++++++--------
src/hb-private.hh | 54 +++++++++++++++---------------
@@ -29416,7 +29470,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 8 16:42:45 2018 -0700
Use UnsizedArrayOf<> in one place where [VAR] was used
-
+
Trying to see how many can converted meaningfully.
src/hb-ot-layout-common-private.hh | 10 +++++-----
@@ -29428,7 +29482,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 8 15:21:09 2018 -0700
Merge pull request #1018 from googlefonts/cmap4
-
+
[subset] Add cmap format 4 subsetting.
commit 2a2e28e701319b4053a5c95f06c68f859e4ce99b
@@ -29466,8 +29520,7 @@ commit eba1c16a604d1be774f22541bf3e417f27a27c68
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 8 02:47:42 2018 -0700
- Always lock blob in sanitize. Remove blob->lock_as() in favor of
- blob->lock()
+ Always lock blob in sanitize. Remove blob->lock_as() in favor of blob->lock()
src/dump-emoji.cc | 4 ++--
src/dump-fon.cc | 2 +-
@@ -29522,8 +29575,7 @@ Date: Tue May 8 02:23:36 2018 -0700
src/dump-emoji.cc | 6 ++---
src/dump-fon.cc | 14 +++++------
src/hb-aat-layout.cc | 8 +++----
- src/hb-open-type-private.hh | 48
- +++-----------------------------------
+ src/hb-open-type-private.hh | 48 +++-----------------------------------
src/hb-ot-cmap-table.hh | 4 ++--
src/hb-ot-color.cc | 4 ++--
src/hb-ot-layout-common-private.hh | 13 ++++++++---
@@ -29560,9 +29612,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 8 01:47:05 2018 -0700
Allocate user-data-array on the heap
-
- This saves each object allocation 72 bytes. Now object overhead
- is just
+
+ This saves each object allocation 72 bytes. Now object overhead is just
16 bytes (on x86) instead of 88 bytes. Neat.
src/hb-object-private.hh | 36 ++++++++++++++++++++++++++++--------
@@ -29573,11 +29624,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 8 01:28:19 2018 -0700
Oops
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1023
- src/hb-blob-private.hh | 77
- ++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-blob-private.hh | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 77 insertions(+)
commit f673cfbd64d0c9d97123500a7b851b9cfc09deb3
@@ -29585,9 +29635,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 7 13:58:32 2018 -0700
Support scripts that are written both LTR and RTL
-
+
Right now only Old Italic is marked as such.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/1000
src/hb-buffer.cc | 4 ++++
@@ -29595,8 +29645,7 @@ Date: Mon May 7 13:58:32 2018 -0700
src/hb-ot-shape.cc | 7 +++++--
test/api/test-common.c | 1 +
test/shaping/data/in-house/Makefile.sources | 1 +
- .../fonts/73e84dac2fc6a2d1bc9250d1414353661088937d.ttf | Bin 0 ->
- 1136 bytes
+ .../fonts/73e84dac2fc6a2d1bc9250d1414353661088937d.ttf | Bin 0 -> 1136 bytes
test/shaping/data/in-house/tests/none-directional.tests | 3 +++
7 files changed, 20 insertions(+), 2 deletions(-)
@@ -29615,8 +29664,7 @@ Date: Thu May 3 22:14:54 2018 -0400
Move some blob functions to methods
- src/hb-blob.cc | 80
- +++++++++++++++++++++++++---------------------------------
+ src/hb-blob.cc | 80 +++++++++++++++++++++++++---------------------------------
1 file changed, 34 insertions(+), 46 deletions(-)
commit 5c64d61475f15d7f8de8993a52639735b2bcf750
@@ -29624,7 +29672,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 3 21:10:57 2018 -0400
Add hb-blob-private.hh
-
+
Towards making blob more memory-allocation-friendly
src/Makefile.sources | 1 +
@@ -29636,9 +29684,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 3 21:03:27 2018 -0400
[ot-layout] Remove unused members
-
- We should hang those off somewhere else. For now, the unused ones
- can go.
+
+ We should hang those off somewhere else. For now, the unused ones can go.
src/hb-aat-layout-common-private.hh | 2 +-
src/hb-aat-layout.cc | 6 ++++++
@@ -29651,9 +29698,8 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue May 8 01:05:15 2018 +0430
Set inline hidden flag only on shared library building
-
- To avoid need of CMP0063 which is not available on older CMake
- versions
+
+ To avoid need of CMP0063 which is not available on older CMake versions
CMakeLists.txt | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
@@ -29680,8 +29726,7 @@ commit 95eb0f3bafb7ab0e2451e3e2f8afc5008e18e88e
Author: Garret Rieger <grieger@google.com>
Date: Thu May 3 13:00:19 2018 -0700
- [subset] Switch to a non-log using implementation of caculating
- searchRangeZ, entrySelectorZ, and rangeShiftZ in cmap4.
+ [subset] Switch to a non-log using implementation of caculating searchRangeZ, entrySelectorZ, and rangeShiftZ in cmap4.
src/hb-ot-cmap-table.hh | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
@@ -29690,72 +29735,43 @@ commit b0d7971be0fa3c9393b04038b8d0a76398b0d8d7
Author: Garret Rieger <grieger@google.com>
Date: Thu May 3 11:22:51 2018 -0700
- [subset] Updated expected files for japanese subset integration
- tests to include cmap4.
-
- ...gular.default.3042,3044,3046,3048,304A,304B.ttf | Bin 3032 ->
- 3112 bytes
- ...gular.default.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 3268 ->
- 3356 bytes
- .../Mplus1p-Regular.default.61,63,65,6B.ttf | Bin 2584 ->
- 2656 bytes
- ...gular.default.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 3564 ->
- 3652 bytes
- .../japanese/Mplus1p-Regular.default.660E.ttf | Bin 2348 ->
- 2396 bytes
- ...ar.drop-hints.3042,3044,3046,3048,304A,304B.ttf | Bin 2304 ->
- 2384 bytes
- ...ar.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2540 ->
- 2628 bytes
- .../Mplus1p-Regular.drop-hints.61,63,65,6B.ttf | Bin 1856 ->
- 1928 bytes
- ...ar.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 2836 ->
- 2924 bytes
- .../japanese/Mplus1p-Regular.drop-hints.660E.ttf | Bin 1620 ->
- 1668 bytes
- test/subset/data/fonts/Mplus1p-Regular.ttf | Bin 1758820 ->
- 1757292 bytes
+ [subset] Updated expected files for japanese subset integration tests to include cmap4.
+
+ ...gular.default.3042,3044,3046,3048,304A,304B.ttf | Bin 3032 -> 3112 bytes
+ ...gular.default.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 3268 -> 3356 bytes
+ .../Mplus1p-Regular.default.61,63,65,6B.ttf | Bin 2584 -> 2656 bytes
+ ...gular.default.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 3564 -> 3652 bytes
+ .../japanese/Mplus1p-Regular.default.660E.ttf | Bin 2348 -> 2396 bytes
+ ...ar.drop-hints.3042,3044,3046,3048,304A,304B.ttf | Bin 2304 -> 2384 bytes
+ ...ar.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2540 -> 2628 bytes
+ .../Mplus1p-Regular.drop-hints.61,63,65,6B.ttf | Bin 1856 -> 1928 bytes
+ ...ar.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 2836 -> 2924 bytes
+ .../japanese/Mplus1p-Regular.drop-hints.660E.ttf | Bin 1620 -> 1668 bytes
+ test/subset/data/fonts/Mplus1p-Regular.ttf | Bin 1758820 -> 1757292 bytes
11 files changed, 0 insertions(+), 0 deletions(-)
commit 79479273170275447042aa50912acee74bbacdf6
Author: Garret Rieger <grieger@google.com>
Date: Thu May 3 11:18:02 2018 -0700
- [subset] Update expected files for subset integration tests to
- include cmap4.
-
- .../basics/Roboto-Regular.abc.default.61,62,63.ttf | Bin 2120 ->
- 2168 bytes
- .../basics/Roboto-Regular.abc.default.61,63.ttf | Bin 1932 ->
- 1988 bytes
- .../expected/basics/Roboto-Regular.abc.default.61.ttf | Bin 1744 ->
- 1792 bytes
- .../expected/basics/Roboto-Regular.abc.default.62.ttf | Bin 1692 ->
- 1740 bytes
- .../expected/basics/Roboto-Regular.abc.default.63.ttf | Bin 1668 ->
- 1716 bytes
- .../basics/Roboto-Regular.abc.drop-hints.61,62,63.ttf | Bin 876 ->
- 924 bytes
- .../basics/Roboto-Regular.abc.drop-hints.61,63.ttf | Bin 792 ->
- 848 bytes
- .../basics/Roboto-Regular.abc.drop-hints.61.ttf | Bin 684 ->
- 732 bytes
- .../basics/Roboto-Regular.abc.drop-hints.62.ttf | Bin 652 ->
- 700 bytes
- .../basics/Roboto-Regular.abc.drop-hints.63.ttf | Bin 656 ->
- 704 bytes
- .../Roboto-Regular.default.1FC,21,41,20,62,63.ttf | Bin 3700 ->
- 3772 bytes
- .../full-font/Roboto-Regular.default.61,62,63.ttf | Bin 3320 ->
- 3368 bytes
- .../Roboto-Regular.default.D7,D8,D9,DA,DE.ttf | Bin 3668 ->
- 3732 bytes
- .../Roboto-Regular.drop-hints.1FC,21,41,20,62,63.ttf | Bin 2152 ->
- 2224 bytes
- .../full-font/Roboto-Regular.drop-hints.61,62,63.ttf | Bin 1968 ->
- 2016 bytes
- .../Roboto-Regular.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 2188 ->
- 2252 bytes
+ [subset] Update expected files for subset integration tests to include cmap4.
+
+ .../basics/Roboto-Regular.abc.default.61,62,63.ttf | Bin 2120 -> 2168 bytes
+ .../basics/Roboto-Regular.abc.default.61,63.ttf | Bin 1932 -> 1988 bytes
+ .../expected/basics/Roboto-Regular.abc.default.61.ttf | Bin 1744 -> 1792 bytes
+ .../expected/basics/Roboto-Regular.abc.default.62.ttf | Bin 1692 -> 1740 bytes
+ .../expected/basics/Roboto-Regular.abc.default.63.ttf | Bin 1668 -> 1716 bytes
+ .../basics/Roboto-Regular.abc.drop-hints.61,62,63.ttf | Bin 876 -> 924 bytes
+ .../basics/Roboto-Regular.abc.drop-hints.61,63.ttf | Bin 792 -> 848 bytes
+ .../basics/Roboto-Regular.abc.drop-hints.61.ttf | Bin 684 -> 732 bytes
+ .../basics/Roboto-Regular.abc.drop-hints.62.ttf | Bin 652 -> 700 bytes
+ .../basics/Roboto-Regular.abc.drop-hints.63.ttf | Bin 656 -> 704 bytes
+ .../Roboto-Regular.default.1FC,21,41,20,62,63.ttf | Bin 3700 -> 3772 bytes
+ .../full-font/Roboto-Regular.default.61,62,63.ttf | Bin 3320 -> 3368 bytes
+ .../Roboto-Regular.default.D7,D8,D9,DA,DE.ttf | Bin 3668 -> 3732 bytes
+ .../Roboto-Regular.drop-hints.1FC,21,41,20,62,63.ttf | Bin 2152 -> 2224 bytes
+ .../full-font/Roboto-Regular.drop-hints.61,62,63.ttf | Bin 1968 -> 2016 bytes
+ .../Roboto-Regular.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 2188 -> 2252 bytes
16 files changed, 0 insertions(+), 0 deletions(-)
commit a8e7f9b958dcb4e00226f78d0ff83f031bc1323d
@@ -29772,8 +29788,7 @@ commit c817992f495cba21bf468014f22afe349fbc799f
Author: Garret Rieger <grieger@google.com>
Date: Thu May 3 10:53:20 2018 -0700
- [subset] Write out a format 4, plat 0 encoding record to match
- fontTools.
+ [subset] Write out a format 4, plat 0 encoding record to match fontTools.
src/hb-ot-cmap-table.hh | 24 +++++++++++++++---------
test/api/test-subset-cmap.c | 2 +-
@@ -29785,8 +29800,7 @@ Date: Wed May 2 18:50:56 2018 -0700
[subset] A few bug fixes for cmap format 4 subsetting.
- src/hb-ot-cmap-table.hh | 57
- ++++++++++++++++++++++++++++---------------------
+ src/hb-ot-cmap-table.hh | 57 ++++++++++++++++++++++++++++---------------------
1 file changed, 33 insertions(+), 24 deletions(-)
commit 81ea75f5c860ef682184bd2c9d0ff8b48251e3ce
@@ -29822,27 +29836,23 @@ Date: Wed May 2 16:12:04 2018 -0700
[subset] WIP cmap format 4 subsetting.
- src/hb-ot-cmap-table.hh | 104
- ++++++++++++++++++++++++++++++++++++++++--------
+ src/hb-ot-cmap-table.hh | 104 ++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 88 insertions(+), 16 deletions(-)
commit 0053d13283458996372f04bd501001d450523605
Author: Garret Rieger <grieger@google.com>
Date: Wed May 2 15:42:43 2018 -0700
- [subset] Refactor cmap subsetting to make it possible to add support
- for more sub tables.
+ [subset] Refactor cmap subsetting to make it possible to add support for more sub tables.
- src/hb-ot-cmap-table.hh | 161
- ++++++++++++++++++++++++++++++------------------
+ src/hb-ot-cmap-table.hh | 161 ++++++++++++++++++++++++++++++------------------
1 file changed, 102 insertions(+), 59 deletions(-)
commit 03b27548123756dfd9988a8fc74bc78733fb2c44
Author: Garret Rieger <grieger@google.com>
Date: Wed May 2 15:42:08 2018 -0700
- [subset] Add const to the hb_subset_plan_t input to a couple functions
- in hb-subset-plan.
+ [subset] Add const to the hb_subset_plan_t input to a couple functions in hb-subset-plan.
src/hb-subset-plan.cc | 4 ++--
src/hb-subset-plan.hh | 18 +++++++++---------
@@ -29853,7 +29863,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 2 14:59:14 2018 -0400
Rename some X-terminated members to Z-terminated
-
+
X-terminated means don't access this, it's not located correctly.
Z-terminated means this is a C array with no bound checking.
@@ -29869,7 +29879,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 2 12:56:21 2018 -0400
[set] Fix init/fini of set on the stack to call object init/fini
-
+
Part of https://github.com/harfbuzz/harfbuzz/issues/1017
src/hb-set-private.hh | 14 ++++++++++++--
@@ -29881,7 +29891,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 1 19:09:00 2018 -0400
Remove hb_auto_array_t
-
+
Part of https://github.com/harfbuzz/harfbuzz/issues/1017
src/hb-coretext.cc | 8 ++++----
@@ -29896,7 +29906,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 1 19:07:04 2018 -0400
s/hb_prealloced_array_t/hb_vector_t/g
-
+
Part of https://github.com/harfbuzz/harfbuzz/issues/1017
src/hb-ot-cmap-table.hh | 6 +++---
@@ -29917,7 +29927,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 1 19:05:58 2018 -0400
Add hb_auto_t
-
+
Part of https://github.com/harfbuzz/harfbuzz/issues/1017
src/hb-private.hh | 11 ++++++++---
@@ -29928,7 +29938,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 1 19:01:25 2018 -0400
s/finish/fini
-
+
For consistency.
src/hb-common.cc | 8 ++++----
@@ -29961,7 +29971,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 1 18:27:41 2018 -0400
[set] Cache population
-
+
Part of https://github.com/harfbuzz/harfbuzz/issues/1017
src/hb-set-private.hh | 24 +++++++++++++++++++++++-
@@ -29973,9 +29983,8 @@ Author: violet-sippial <38817272+violet-sippial@users.noreply.github.com>
Date: Sat Apr 28 20:29:13 2018 +0200
[subset] Do not compare ttx progress output in the tests
-
- Suppress progress messages of ttx. This avoids comparing this output
- to the reference file which lets the test fail.
+
+ Suppress progress messages of ttx. This avoids comparing this output to the reference file which lets the test fail.
test/subset/run-tests.py | 1 +
1 file changed, 1 insertion(+)
@@ -29994,13 +30003,12 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Fri Apr 13 12:43:29 2018 +0430
Don't decompose Bengali Rra and Rha
-
+
Fixes #779 and follow up to b01d9b3d90e892341ee4463f2eda4600850b97d8
src/hb-ot-shape-complex-indic.cc | 3 +++
test/shaping/data/in-house/Makefile.sources | 1 +
- .../fonts/932ad5132c2761297c74e9976fe25b08e5ffa10b.ttf | Bin 0 ->
- 22980 bytes
+ .../fonts/932ad5132c2761297c74e9976fe25b08e5ffa10b.ttf | Bin 0 -> 22980 bytes
test/shaping/data/in-house/tests/indic-decompose.tests | 1 +
4 files changed, 5 insertions(+)
@@ -30009,7 +30017,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed Apr 25 16:44:04 2018 +0430
Minor, improve file reading failing condition comment
-
+
https://bugzilla.gnome.org/show_bug.cgi?id=659212 for more context
src/hb-blob.cc | 3 ++-
@@ -30019,8 +30027,7 @@ commit 2eaba80cbd3afb32363da93ebf6e60b11509d3f8
Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Apr 24 09:04:15 2018 +0430
- Minor, re-add unused mark to some of ragel defined state machines
- (#1005)
+ Minor, re-add unused mark to some of ragel defined state machines (#1005)
src/hb-ot-shape-complex-indic-machine.hh | 2 +-
src/hb-ot-shape-complex-indic-machine.rl | 2 +-
@@ -30037,7 +30044,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Apr 24 08:11:13 2018 +0430
Minor, re-add unused mark for two TRACE_ macros
-
+
To revive Travis CI bot
src/hb-debug.hh | 4 ++--
@@ -30114,8 +30121,7 @@ Date: Fri Apr 20 21:12:58 2018 +0430
[aat/kerx] Minor (#1003)
- src/hb-aat-layout-kerx-table.hh | 46
- +++++++++++++++++++++--------------------
+ src/hb-aat-layout-kerx-table.hh | 46 +++++++++++++++++++++--------------------
1 file changed, 24 insertions(+), 22 deletions(-)
commit ce17340b23d96f543cd88e400e631bdb5656331c
@@ -30128,8 +30134,7 @@ Date: Fri Apr 20 10:29:06 2018 +0430
docs/harfbuzz-sections.txt | 1 +
src/dump-emoji.cc | 33 +----------
src/dump-fon.cc | 11 +---
- src/hb-blob.cc | 131
- ++++++++++++++++++++++++++++++++++++++++---
+ src/hb-blob.cc | 131 ++++++++++++++++++++++++++++++++++++++++---
src/hb-blob.h | 2 +
src/main.cc | 26 +--------
src/test-buffer-serialize.cc | 42 +-------------
@@ -30147,21 +30152,18 @@ commit 4fa1c6705a1bc5299adb5a848ceaf6ac8f33c0ba
Author: Garret Rieger <grieger@google.com>
Date: Thu Apr 19 15:30:35 2018 -0700
- [subset] Check instruction offsets in glyph to ensure they are
- in bounds.
+ [subset] Check instruction offsets in glyph to ensure they are in bounds.
src/hb-ot-glyf-table.hh | 18 ++++++++++--
.../oom-ccc61c92d589f895174cdef6ff2e3b20e9999a1a | Bin 0 -> 63302 bytes
- test/api/test-subset-glyf.c | 31
- +++++++++++++++++++++
+ test/api/test-subset-glyf.c | 31 +++++++++++++++++++++
3 files changed, 47 insertions(+), 2 deletions(-)
commit 3c97614598ecd0bbccb2c90a8e0e99f010952b76
Author: Garret Rieger <grieger@google.com>
Date: Thu Apr 19 13:39:57 2018 -0700
- [subset] In subset fuzzer run through drop hints and keep hints
- pathways.
+ [subset] In subset fuzzer run through drop hints and keep hints pathways.
test/fuzzing/hb-subset-fuzzer.cc | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
@@ -30171,9 +30173,9 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Thu Apr 19 23:41:37 2018 +0300
[util] Check all specified shapers are known (#993)
-
+
A bit brute force and requires all shapers to be known, not just one.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/956
util/options.cc | 22 ++++++++++++++++++++--
@@ -30185,10 +30187,8 @@ Date: Wed Apr 18 17:37:39 2018 -0700
[subset] Add integration tests for cmap breakge.
- .../full-font/Roboto-Regular.default.D7,D8,D9,DA,DE.ttf | Bin 0 ->
- 3668 bytes
- .../Roboto-Regular.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 0 ->
- 2188 bytes
+ .../full-font/Roboto-Regular.default.D7,D8,D9,DA,DE.ttf | Bin 0 -> 3668 bytes
+ .../Roboto-Regular.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 0 -> 2188 bytes
test/subset/data/tests/full-font.tests | 1 +
3 files changed, 1 insertion(+)
@@ -30199,8 +30199,7 @@ Date: Wed Apr 18 17:32:43 2018 -0700
[subset] Add a test for previous cmap breakage.
test/api/fonts/Roboto-Regular.D7,D8,D9,DA,DE.ttf | Bin 0 -> 2972 bytes
- test/api/test-subset-cmap.c | 23
- +++++++++++++++++++++++
+ test/api/test-subset-cmap.c | 23 +++++++++++++++++++++++
2 files changed, 23 insertions(+)
commit 5e318e09ba590eef7b7ec047d7857f7f1eb7d787
@@ -30208,8 +30207,7 @@ Author: Garret Rieger <grieger@google.com>
Date: Wed Apr 18 17:13:37 2018 -0700
[subset] Fix broken cmap creation.
- It was ignoring the restriction that gids must be consecutive to be
- placed into a single group.
+ It was ignoring the restriction that gids must be consecutive to be placed into a single group.
src/hb-ot-cmap-table.hh | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
@@ -30257,13 +30255,11 @@ commit c02b40e58f35ecd10c4945d2fa2b7074137c2c04
Author: Garret Rieger <grieger@google.com>
Date: Tue Apr 17 08:21:22 2018 -0600
- [subset] add a fuzzer target for subset_get_all_codepoints
- method. (#987)
+ [subset] add a fuzzer target for subset_get_all_codepoints method. (#987)
test/fuzzing/CMakeLists.txt | 7 ++++++-
test/fuzzing/Makefile.am | 16 ++++++++++++++++
- test/fuzzing/hb-subset-get-codepoints-fuzzer.cc | 24
- ++++++++++++++++++++++++
+ test/fuzzing/hb-subset-get-codepoints-fuzzer.cc | 24 ++++++++++++++++++++++++
test/fuzzing/run-subset-fuzzer-tests.py | 19 ++++++++++++++++++-
4 files changed, 64 insertions(+), 2 deletions(-)
@@ -30280,13 +30276,11 @@ commit 5dadbb0fa096574b6bccd75cced203baf615fedf
Author: Garret Rieger <grieger@google.com>
Date: Tue Apr 17 07:00:23 2018 -0600
- [subset] Add implementation of cmap format 12 codepoint
- listing. (#988)
+ [subset] Add implementation of cmap format 12 codepoint listing. (#988)
src/hb-ot-cmap-table.hh | 21 +++++++++++-
test/api/fonts/Roboto-Regular.abc.format12.ttf | Bin 0 -> 2412 bytes
- test/api/test-subset-codepoints.c | 44
- +++++++++++++++++++++++++
+ test/api/test-subset-codepoints.c | 44 +++++++++++++++++++++++++
3 files changed, 64 insertions(+), 1 deletion(-)
commit 6771e79bcc2166b5c03ca615d271c8508d692416
@@ -30294,9 +30288,8 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Apr 17 09:36:52 2018 +0430
Add pre-opentype font pages detection code (#986)
-
- As Khaled's finding on #981 this is the way Uniscribe detects those
- fonts. This is its detection part.
+
+ As Khaled's finding on #981 this is the way Uniscribe detects those fonts. This is its detection part.
src/hb-ot-os2-table.hh | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
@@ -30306,11 +30299,9 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Apr 17 09:13:35 2018 +0430
Make some of implicit header uses explicit (#989)
-
- Splitted from #950 and #986 IIRC Chromium had a policy about this
- encouraging it,
- not sure about automated way to detect and add them but for now lets
- have the needed
+
+ Splitted from #950 and #986 IIRC Chromium had a policy about this encouraging it,
+ not sure about automated way to detect and add them but for now lets have the needed
ones of them.
src/hb-aat-layout-morx-table.hh | 1 +
@@ -30326,9 +30317,8 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Apr 17 09:13:03 2018 +0430
Add round to F2DOT14 inner store setter (#990)
-
- It uses floor implicitly without it but explicit use of round will
- be more correct.
+
+ It uses floor implicitly without it but explicit use of round will be more correct.
src/hb-open-type-private.hh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -30337,8 +30327,7 @@ commit 39754fb65981fa8d11615e1dced852285ad09e4e
Author: Garret Rieger <grieger@google.com>
Date: Mon Apr 16 15:09:27 2018 -0700
- [subset] Don't assume the last segment in cmap 4 can be skipped,
- actually check it.
+ [subset] Don't assume the last segment in cmap 4 can be skipped, actually check it.
src/hb-ot-cmap-table.hh | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
@@ -30347,17 +30336,14 @@ commit 21a181af2bf1582991c55de5f9281494733c5d12
Author: Garret Rieger <grieger@google.com>
Date: Tue Apr 10 15:40:24 2018 -0700
- [subset] sketch out support for a call that lists all codepoints
- present in a font. Implement support for it in format 4 cmap sub
- table.
+ [subset] sketch out support for a call that lists all codepoints present in a font. Implement support for it in format 4 cmap sub table.
src/hb-ot-cmap-table.hh | 37 ++++++++++++++--
src/hb-subset.cc | 14 ++++++
src/hb-subset.h | 5 ++-
test/api/Makefile.am | 2 +
test/api/fonts/Roboto-Regular.abc.format4.ttf | Bin 0 -> 2424 bytes
- test/api/test-subset-codepoints.c | 59
- ++++++++++++++++++++++++++
+ test/api/test-subset-codepoints.c | 59 ++++++++++++++++++++++++++
6 files changed, 113 insertions(+), 4 deletions(-)
commit aef96e246cb695c4c83b8b6daed06a0d14fe1d32
@@ -30366,8 +30352,7 @@ Date: Mon Apr 16 18:30:25 2018 +0430
Further improvements on dump-fon (#985)
- src/dump-fon.cc | 153
- +++++++++++++++++++++++++++++++++++++++++++++-----------
+ src/dump-fon.cc | 153 +++++++++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 123 insertions(+), 30 deletions(-)
commit 67dfb1937b703b3f1dc45251f4f884abf35c8576
@@ -30377,8 +30362,7 @@ Date: Mon Apr 16 14:25:45 2018 +0430
Add dump-fon, a prototype on how to work with .fon/.fnt files (#981)
src/Makefile.am | 4 +
- src/dump-fon.cc | 475
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/dump-fon.cc | 475 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 479 insertions(+)
commit ce99dd04de830c8426af14c11dbee45f8bcc9e60
@@ -30407,7 +30391,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Fri Apr 13 23:19:19 2018 +0430
Merge pull request #979 from ebraminio/msvc05
-
+
Reinstate support for Visual Studio 2005
commit 8f4c12308a8d9e61922fb352e913acae46b28a88
@@ -30426,7 +30410,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Thu Apr 12 14:17:03 2018 +0430
Always enable atexit on Android (#971)
-
+
Obviously one can use a newer NDK for building an updated HarfBuzz
instead that now pretty old version however I am concerned if that
version checking is working with clang that is used with the newer
@@ -30565,8 +30549,7 @@ Date: Wed Apr 11 17:13:20 2018 +0430
src/hb-open-type-private.hh | 1 -
src/hb-ot-color-cbdt-table.hh | 10 +++++-----
src/hb-ot-color-cpal-table.hh | 4 ++--
- src/hb-ot-color-sbix-table.hh | 41
- ++++++++++++++++++++---------------------
+ src/hb-ot-color-sbix-table.hh | 41 ++++++++++++++++++++---------------------
src/hb-ot-color-svg-table.hh | 37 +++++++++++++++++++------------------
5 files changed, 46 insertions(+), 47 deletions(-)
@@ -30586,8 +30569,7 @@ Date: Tue Apr 10 00:53:50 2018 +0430
[colr/cpal] Improvements and add a sample renderer (#927)
src/Makefile.am | 13 ++-
- src/dump-emoji.cc | 181
- +++++++++++++++++++++++++++++++++++++++---
+ src/dump-emoji.cc | 181 +++++++++++++++++++++++++++++++++++++++---
src/hb-ot-color-colr-table.hh | 43 +++++++++-
src/hb-ot-color-cpal-table.hh | 70 +++++++++-------
4 files changed, 259 insertions(+), 48 deletions(-)
@@ -30597,9 +30579,8 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Apr 10 00:51:57 2018 +0430
[ci] Don't fail on brew warnings
-
- Not the best fix but it works and we don't care about brew warnings,
- so
+
+ Not the best fix but it works and we don't care about brew warnings, so
.travis.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -30620,8 +30601,7 @@ Date: Sun Apr 1 12:16:42 2018 +0430
[aat] Further improvements on feat (#948)
src/Makefile.sources | 2 +-
- ...t-feat-table.hh => hb-aat-layout-feat-table.hh} | 48
- +++++++++++-----------
+ ...t-feat-table.hh => hb-aat-layout-feat-table.hh} | 48 +++++++++++-----------
src/hb-aat-layout.cc | 2 +-
3 files changed, 25 insertions(+), 27 deletions(-)
@@ -30641,8 +30621,7 @@ Date: Sat Mar 31 16:51:36 2018 +0430
[aat] Implement feat table parsing (#947)
src/Makefile.sources | 3 +-
- src/hb-aat-feat-table.hh | 122
- +++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-aat-feat-table.hh | 122 +++++++++++++++++++++++++++++++++++++++++++++++
src/hb-aat-layout.cc | 1 +
3 files changed, 125 insertions(+), 1 deletion(-)
@@ -30651,7 +30630,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Mar 31 12:15:50 2018 +0200
Another try at fixing linker issue
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/880
configure.ac | 11 +++++++++--
@@ -30676,8 +30655,7 @@ Date: Fri Mar 30 21:57:10 2018 +0430
[aat] Implement gcid table parsing (#944)
src/Makefile.sources | 1 +
- src/hb-aat-gcid-table.hh | 73
- ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-aat-gcid-table.hh | 73 ++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-aat-layout.cc | 1 +
3 files changed, 75 insertions(+)
@@ -30688,8 +30666,7 @@ Date: Fri Mar 30 19:36:00 2018 +0430
[aat] Implement bsln table parsing (#943)
src/Makefile.sources | 1 +
- src/hb-aat-layout-bsln-table.hh | 156
- ++++++++++++++++++++++++++++++++++++++++
+ src/hb-aat-layout-bsln-table.hh | 156 ++++++++++++++++++++++++++++++++++++++++
src/hb-aat-layout.cc | 3 +-
3 files changed, 159 insertions(+), 1 deletion(-)
@@ -30699,8 +30676,7 @@ Date: Fri Mar 30 05:00:28 2018 +0430
Make atexit callbacks threadsafe (#930)
- src/hb-common.cc | 60
- +++++++++++++++++++++++++++++------------------------
+ src/hb-common.cc | 60 +++++++++++++++++++++++++++++------------------------
src/hb-ft.cc | 44 ++++++++++++++++++++++++---------------
src/hb-glib.cc | 7 ++++++-
src/hb-icu.cc | 7 ++++++-
@@ -30751,8 +30727,7 @@ Date: Thu Mar 29 12:48:47 2018 +0430
Make more gen-* scripts py3 compatible (#940)
src/Makefile.am | 2 +-
- src/gen-arabic-table.py | 163
- +++++++++++----------
+ src/gen-arabic-table.py | 163 +++++++++++----------
src/gen-def.py | 2 +-
src/gen-indic-table.py | 120 +++++++--------
src/gen-unicode-ranges.py | 8 +-
@@ -30775,8 +30750,7 @@ Date: Thu Mar 29 04:22:53 2018 +0430
Makefile.am | 3 ++-
README.python => README.python.md | 12 +++++++++---
- README.wine.md | 40
- +++++++++++++++++++++++++++++++++++++++
+ README.wine.md | 40 +++++++++++++++++++++++++++++++++++++++
RELEASING.md | 25 +++++++++++++-----------
4 files changed, 65 insertions(+), 15 deletions(-)
@@ -30785,7 +30759,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Mar 28 15:33:51 2018 -0700
[atexit] Make hb_languate_item_t *langs freeing threadsafe
-
+
Part of https://github.com/harfbuzz/harfbuzz/issues/923
src/hb-common.cc | 15 ++++++++++-----
@@ -30796,7 +30770,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Mar 28 14:06:58 2018 -0700
Fix one UBSan warning
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/935
src/hb-font-private.hh | 6 +++++-
@@ -30807,7 +30781,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Mar 28 13:38:51 2018 -0700
[uniscribe] Fixup for previous commit
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/934
src/hb-uniscribe.cc | 5 +++--
@@ -30818,13 +30792,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Mar 28 10:44:52 2018 -0700
[uniscribe] Fix assertion fail in checksum calc
-
- Program:
- Z:\Users\ebrahim\Desktop\harfbuzz\winbuild\util\.libs\hb-shape.exe
+
+ Program: Z:\Users\ebrahim\Desktop\harfbuzz\winbuild\util\.libs\hb-shape.exe
File: ../../src/hb-open-type-private.hh, Line 769
-
+
Expression: 0 == (Length & 3)
-
+
abnormal program termination
src/hb-uniscribe.cc | 2 +-
@@ -30836,21 +30809,18 @@ Date: Wed Mar 28 19:08:19 2018 +0430
Make gen-use-table.py py3 compatible (#932)
- src/gen-use-table.py | 105
- ++++++++++++++++++++++++++-------------------------
+ src/gen-use-table.py | 105 ++++++++++++++++++++++++++-------------------------
1 file changed, 53 insertions(+), 52 deletions(-)
commit 1c3372786c503f3f9108971dfa8956e4cb95f65d
Author: Garret Rieger <grieger@google.com>
Date: Tue Mar 27 10:42:19 2018 -0700
- [subset] fix infinite loop bug in looping through tables for
- subsetting.
+ [subset] fix infinite loop bug in looping through tables for subsetting.
src/hb-subset.cc | 2 +-
...ase-minimized-hb-subset-fuzzer-5521982557782016 | Bin 0 -> 1228 bytes
- test/api/test-subset.c | 23
- +++++++++++++++++++++
+ test/api/test-subset.c | 23 +++++++++++++++++++++
3 files changed, 24 insertions(+), 1 deletion(-)
commit 8fd55422c3fa2279991d93875d912fca4ee89cf5
@@ -30858,14 +30828,12 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Mar 27 16:57:09 2018 +0430
Implement an internal emojis dumper tool (#909)
-
- Later to be expanded to a more general tool but for now it only
- supports CBDT, SVG and CBDT.
+
+ Later to be expanded to a more general tool but for now it only supports CBDT, SVG and CBDT.
CMakeLists.txt | 2 +-
src/Makefile.am | 4 ++
- src/dump-emoji.cc | 141
- ++++++++++++++++++++++++++++++++++++++++++
+ src/dump-emoji.cc | 141 ++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-color-cbdt-table.hh | 71 +++++++++++++++++++++
src/hb-ot-color-sbix-table.hh | 79 ++++++++++++++---------
src/hb-ot-color-svg-table.hh | 56 ++++++++++++-----
@@ -30885,16 +30853,15 @@ Author: Garret Rieger <grieger@google.com>
Date: Mon Mar 26 20:56:56 2018 -0600
[subset] Couple of fixes for fuzzer discovered issues. (#924)
-
- * [subset] sanitize individual DeviceRecord's as part of hdmx
- sanitization.
-
+
+ * [subset] sanitize individual DeviceRecord's as part of hdmx sanitization.
+
* [subset] Fix out of bounds read with non-two byte align glyphs.
-
+
* [subset] Just use size_device_record >= DeviceRecord::min_size.
-
+
* [subset] Add TODO.
-
+
* [subset] Re-order checks in hdmx sanitize.
src/hb-ot-hdmx-table.hh | 1 +
@@ -30902,8 +30869,7 @@ Date: Mon Mar 26 20:56:56 2018 -0600
src/hb-subset.cc | 6 +++++-
...ase-minimized-hb-subset-fuzzer-5609911946838016 | Bin 0 -> 313 bytes
...ase-minimized-hb-subset-fuzzer-6651660668502016 | Bin 0 -> 15229 bytes
- test/api/test-subset-hdmx.c | 23
- +++++++++++++++++++++
+ test/api/test-subset-hdmx.c | 23 +++++++++++++++++++++
6 files changed, 32 insertions(+), 4 deletions(-)
commit 6f46883f5b74b206a3b77246891ab2ac57a27c4e
@@ -30929,7 +30895,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Mar 26 15:09:54 2018 -0700
Fix previous commit
-
+
Automake has this stupid behavior where if your Makefile.am has
syntactic error, it can get to a state that make succeeds but just
ignores broken Makefile.am. Ouch.
@@ -30942,12 +30908,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Mar 26 14:26:45 2018 -0700
Try fixing linking again
-
- Before 1.7.5, we were setting -fno-exceptions etc on CXXFLAGS. In
- 1.7.6
+
+ Before 1.7.5, we were setting -fno-exceptions etc on CXXFLAGS. In 1.7.6
we set it as CPPFLAGS. Try fixing. Also, I'm fairly sure it's safe to
set these unconditionally.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/880 (or so I hope)
src/Makefile.am | 19 +++++++------------
@@ -30959,7 +30924,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Mar 26 14:09:29 2018 -0700
Add HB_SUBSET_BUILTIN
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/865
src/hb-subset.cc | 2 +-
@@ -31013,8 +30978,7 @@ Date: Mon Mar 26 12:04:30 2018 +0430
src/Makefile.sources | 2 ++
src/hb-aat-layout-fmtx-table.hh | 6 ++--
src/hb-aat-layout-kerx-table.hh | 4 +--
- src/hb-aat-layout-ltag-table.hh | 80
- +++++++++++++++++++++++++++++++++++++++++
+ src/hb-aat-layout-ltag-table.hh | 80 +++++++++++++++++++++++++++++++++++++++++
src/hb-aat-layout-morx-table.hh | 4 +--
src/hb-aat-layout-trak-table.hh | 4 +--
src/hb-aat-layout.cc | 3 +-
@@ -31026,8 +30990,7 @@ Date: Sun Mar 25 23:56:02 2018 +0430
[aat/fmtx] Implement the table parsing (#910)
- src/hb-aat-layout-fmtx-table.hh | 67
- +++++++++++++++++++++++++++++++++++++++++
+ src/hb-aat-layout-fmtx-table.hh | 67 +++++++++++++++++++++++++++++++++++++++++
src/hb-aat-layout-trak-table.hh | 4 +--
src/hb-aat-layout.cc | 1 +
3 files changed, 70 insertions(+), 2 deletions(-)
@@ -31048,8 +31011,7 @@ Date: Sun Mar 25 18:19:23 2018 +0430
[dwrite] minor
src/dev-run.sh | 5 ++-
- src/hb-directwrite.cc | 118
- ++++++++++++++++++++------------------------------
+ src/hb-directwrite.cc | 118 ++++++++++++++++++++------------------------------
2 files changed, 50 insertions(+), 73 deletions(-)
commit ebccd019749e24e6c045518ee1ffbfc947744204
@@ -31057,7 +31019,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Mar 24 17:51:55 2018 -0700
More ULL fixes
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/901
src/hb-private.hh | 12 ++++++------
@@ -31068,7 +31030,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Mar 24 14:12:12 2018 -0700
Define uint64_t constants with ULL suffix
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/901
src/hb-private.hh | 2 +-
@@ -31079,12 +31041,12 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Mon Mar 12 13:33:03 2018 +0800
hb-private.hh: Add fallback implementation for round()
-
+
For pre-C99 compilers that do not support round(), we need to have a
simplistic implementation for it, when it is not detected during build
configuration, either via CMake or autotools, by using floor() and
ceil(), which are provided in the pre-C99 compilers.
-
+
Please see discussion at commit 86a0ac2 for more details for re-adding
this patch.
@@ -31096,7 +31058,7 @@ Author: Nikolaus Waxweiler <madigens@gmail.com>
Date: Fri Mar 23 19:38:11 2018 +0000
Policy 0063 must be enabled to have hidden inline visibility... (#900)
-
+
...on static builds.
CMakeLists.txt | 2 ++
@@ -31120,16 +31082,14 @@ Date: Thu Mar 22 16:04:38 2018 +0430
[dwrite] Replace rest of 'malloc/free's with 'new/delete' (#897)
- src/hb-directwrite.cc | 251
- +++++++++++++++++++++++++-------------------------
+ src/hb-directwrite.cc | 251 +++++++++++++++++++++++++-------------------------
1 file changed, 127 insertions(+), 124 deletions(-)
commit 3f55e0e74680c246819233a7250df612821698d7
Author: Garret Rieger <grieger@google.com>
Date: Tue Mar 20 17:36:52 2018 -0700
- [subset] Check for the Null table and not nullptr to detect failure
- to find a table in glyf accelerator.
+ [subset] Check for the Null table and not nullptr to detect failure to find a table in glyf accelerator.
src/hb-ot-glyf-table.hh | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
@@ -31147,12 +31107,10 @@ commit 139661404006b8be039436a81cb6b1a73ec44042
Author: Garret Rieger <grieger@google.com>
Date: Tue Mar 20 16:55:42 2018 -0700
- [subset] don't use pointers returned from push after array has
- resized in hb-subset-glyf.cc
+ [subset] don't use pointers returned from push after array has resized in hb-subset-glyf.cc
src/hb-subset-glyf.cc | 9 +++++++--
- .../crash-b577db318b30f2851828a4c9ef97cb30678b1b54 | Bin 0 ->
- 22473 bytes
+ .../crash-b577db318b30f2851828a4c9ef97cb30678b1b54 | Bin 0 -> 22473 bytes
2 files changed, 7 insertions(+), 2 deletions(-)
commit 3531efdb4c641ef543ea0686fef9289307d52096
@@ -31161,8 +31119,7 @@ Date: Tue Mar 20 16:31:21 2018 -0700
[subset] Fixed out of bounds read when subsetting hdmx.
- src/hb-ot-hdmx-table.hh | 30
- ++++++++++++++++-----
+ src/hb-ot-hdmx-table.hh | 30 ++++++++++++++++-----
.../crash-ccc61c92d589f895174cdef6ff2e3b20e9999a1a | Bin 0 -> 63302 bytes
test/api/test-subset-hdmx.c | 23 ++++++++++++++++
3 files changed, 47 insertions(+), 6 deletions(-)
@@ -31171,13 +31128,11 @@ commit e597436b994c0a553e85e4c2dbd74aa037e69b60
Author: Garret Rieger <grieger@google.com>
Date: Tue Mar 20 13:00:49 2018 -0700
- [subset] Disable glyf accelerator_t methods if it didn't successfully
- init.
+ [subset] Disable glyf accelerator_t methods if it didn't successfully init.
src/hb-ot-glyf-table.hh | 7 ++++++-
.../crash-4b60576767ee4d9fe1cc10959d89baf73d4e8249 | Bin 0 -> 3140 bytes
- test/api/test-subset.c | 23
- +++++++++++++++++++++
+ test/api/test-subset.c | 23 +++++++++++++++++++++
3 files changed, 29 insertions(+), 1 deletion(-)
commit 7251181b56af564e2a9444f002f8ac03f98c7ee3
@@ -31189,8 +31144,7 @@ Date: Tue Mar 20 11:21:06 2018 -0700
src/hb-subset.cc | 1 +
test/api/Makefile.am | 1 +
.../oom-6ef8c96d3710262511bcc730dce9c00e722cb653 | Bin 0 -> 24233 bytes
- test/api/test-subset.c | 62
- +++++++++++++++++++++
+ test/api/test-subset.c | 62 +++++++++++++++++++++
4 files changed, 64 insertions(+)
commit 1a94804d35d533d39849d21a177039c4cbfade98
@@ -31210,8 +31164,7 @@ Date: Mon Mar 19 17:47:57 2018 -0700
[subset] Add a test demonstrating a seg fault while subsetting hmtx.
.../crash-e4e0bb1458a91b692eba492c907ae1f94e635480 | Bin 0 -> 63302 bytes
- test/api/test-subset-hmtx.c | 22
- +++++++++++++++++++++
+ test/api/test-subset-hmtx.c | 22 +++++++++++++++++++++
2 files changed, 22 insertions(+)
commit b5c7d6cffc2098dafa06822b28a5fd4f6218b60c
@@ -31248,12 +31201,10 @@ commit 7b4333b090a3adf04519ec853456cafff07dedf0
Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Fri Mar 16 22:45:09 2018 +0330
- Do feature test before adding -Bsymbolic-functions, autotools part
- (#892)
+ Do feature test before adding -Bsymbolic-functions, autotools part (#892)
configure.ac | 2 +-
- m4/ax_check_link_flag.m4 | 74
- ++++++++++++++++++++++++++++++++++++++++++++++++
+ m4/ax_check_link_flag.m4 | 74 ++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 75 insertions(+), 1 deletion(-)
commit d68f00e4d8b061f56d3bd46d5ed1bc51406a4f1a
@@ -31270,7 +31221,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Fri Mar 16 22:39:58 2018 +0330
[cmake] Don't hide symbols by default (#891)
-
+
But keep use of cmake idiomatic way of making inlines hidden
CMakeLists.txt | 17 ++---------------
@@ -31280,8 +31231,7 @@ commit 584693e0cb3585a910b18d7916d7e554ecdf619a
Author: Garret Rieger <grieger@google.com>
Date: Thu Mar 15 18:27:01 2018 -0700
- [subset] Test not linking libharfbuzz-subset-fuzzing into
- hb-subset-fuzzer.
+ [subset] Test not linking libharfbuzz-subset-fuzzing into hb-subset-fuzzer.
test/fuzzing/Makefile.am | 2 +-
test/fuzzing/hb-subset-fuzzer.cc | 2 ++
@@ -31328,8 +31278,7 @@ commit 64bab8b3d009ed4327c2db9fa3425682de225810
Author: Garret Rieger <grieger@google.com>
Date: Thu Mar 15 16:12:00 2018 -0700
- [subset] Fix run-shape-fuzzer-tests.py. It was generating incorrect
- paths for input fonts.
+ [subset] Fix run-shape-fuzzer-tests.py. It was generating incorrect paths for input fonts.
test/fuzzing/run-shape-fuzzer-tests.py | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
@@ -31350,13 +31299,10 @@ Date: Thu Mar 15 13:04:31 2018 -0700
[subset] Rename hb-fuzzer -> hb-shape-fuzzer.
- test/fuzzing/CMakeLists.txt | 16
- ++++++++--------
- test/fuzzing/Makefile.am | 16
- ++++++++--------
+ test/fuzzing/CMakeLists.txt | 16 ++++++++--------
+ test/fuzzing/Makefile.am | 16 ++++++++--------
test/fuzzing/{hb-fuzzer.cc => hb-shape-fuzzer.cc} | 0
- .../{run-fuzzer-tests.py => run-shape-fuzzer-tests.py} | 12
- ++++++------
+ .../{run-fuzzer-tests.py => run-shape-fuzzer-tests.py} | 12 ++++++------
4 files changed, 22 insertions(+), 22 deletions(-)
commit 1e9bd6d5ff0af0189b6398c5e13cff11ee70762b
@@ -31372,13 +31318,11 @@ commit 474afaafd908a9c8174e05d693ac214ef2cc2597
Author: Garret Rieger <grieger@google.com>
Date: Wed Mar 14 19:15:33 2018 -0700
- [subset] Add a test runner for hb-subset-fuzzer and cmake build
- config.
+ [subset] Add a test runner for hb-subset-fuzzer and cmake build config.
test/fuzzing/CMakeLists.txt | 9 +++++++++
test/fuzzing/Makefile.am | 3 ++-
- test/fuzzing/run-subset-fuzzer-tests.py | 31
- +++++++++++++++++++++++++++++++
+ test/fuzzing/run-subset-fuzzer-tests.py | 31 +++++++++++++++++++++++++++++++
3 files changed, 42 insertions(+), 1 deletion(-)
commit aa9612d35f59f7f269fba4797c8da491844c56ec
@@ -31408,8 +31352,7 @@ Date: Mon Mar 12 16:08:16 2018 -0700
src/Makefile.am | 24 +++++++++++++++++++++++-
test/fuzzing/Makefile.am | 15 +++++++++++++++
- test/fuzzing/hb-subset-fuzzer.cc | 37
- +++++++++++++++++++++++++++++++++++++
+ test/fuzzing/hb-subset-fuzzer.cc | 37 +++++++++++++++++++++++++++++++++++++
3 files changed, 75 insertions(+), 1 deletion(-)
commit 127096e4748d6381339342fc2750dd540e815fa5
@@ -31417,9 +31360,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Mar 15 13:23:27 2018 -0700
[util] Remove line buffering
-
+
Something weird seems to be going on. Just kill it.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/888
configure.ac | 2 +-
@@ -31431,7 +31374,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Mar 15 09:05:22 2018 -0700
Remove extra stdbool includes
-
+
They are handled in our common header.
test/api/test-subset-post.c | 2 --
@@ -31456,8 +31399,7 @@ Date: Wed Mar 14 16:26:33 2018 +0100
[color/COLR] Simplify
- src/hb-ot-color-colr-table.hh | 48
- +++----------------------------------------
+ src/hb-ot-color-colr-table.hh | 48 +++----------------------------------------
1 file changed, 3 insertions(+), 45 deletions(-)
commit 6418ae4e8a3f4681cb4e7d54c589562930bc0678
@@ -31466,10 +31408,8 @@ Date: Wed Mar 14 16:18:42 2018 +0100
[color/COLR] Clean up
- src/hb-aat-layout-common-private.hh | 84
- -------------------------------------
- src/hb-open-type-private.hh | 84
- +++++++++++++++++++++++++++++++++++++
+ src/hb-aat-layout-common-private.hh | 84 -------------------------------------
+ src/hb-open-type-private.hh | 84 +++++++++++++++++++++++++++++++++++++
src/hb-ot-color-colr-table.hh | 30 ++++++-------
3 files changed, 99 insertions(+), 99 deletions(-)
@@ -31478,9 +31418,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Mar 14 16:08:12 2018 +0100
[color/COLR] Fix bad sanitize
-
- Bad bad bad bad code. Don't do that. If compiler's not happy,
- understand why.
+
+ Bad bad bad bad code. Don't do that. If compiler's not happy, understand why.
src/hb-ot-color-colr-table.hh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -31500,8 +31439,7 @@ Date: Wed Mar 14 15:52:53 2018 +0100
[color/cbdt] Clean up
- src/hb-ot-color-cbdt-table.hh | 112
- ++++++++++++++++++++----------------------
+ src/hb-ot-color-cbdt-table.hh | 112 ++++++++++++++++++++----------------------
1 file changed, 54 insertions(+), 58 deletions(-)
commit 86a0ac284fc4c2ce96354bfdf32878b6db5c77bd
@@ -31509,13 +31447,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Mar 14 15:51:33 2018 +0100
Revert "hb-private.hh: Add fallback implementation for round()"
-
+
This reverts commit b9dcbb1f8312d8606b230f75594d40b7d4087004.
-
- This is gross. Should be only done if a specific macro is defined. Not
- the other way
- around. This fails my build as autotools companions where not
- added anyway.
+
+ This is gross. Should be only done if a specific macro is defined. Not the other way
+ around. This fails my build as autotools companions where not added anyway.
src/hb-private.hh | 13 -------------
1 file changed, 13 deletions(-)
@@ -31526,7 +31462,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Thu Mar 15 11:40:52 2018 +0330
Merge pull request #886 from madig/only-export-visible-symbols
-
+
CMake: hide symbols by default on non-MSVC, define export attribute
commit 22de9bf56d80dbf6a13a06beafd21711bdab78af
@@ -31534,7 +31470,7 @@ Author: Nikolaus Waxweiler <nikolaus.waxweiler@daltonmaag.com>
Date: Wed Mar 14 10:29:24 2018 +0000
Enable implicit symbol hiding for all libraries, static and shared
-
+
This covers all built libraries now and both static and shared builds.
CMakeLists.txt | 35 +++++++++++++++++++++++------------
@@ -31563,7 +31499,7 @@ Author: Nikolaus Waxweiler <madigens@gmail.com>
Date: Wed Mar 14 00:50:32 2018 +0000
CMake: hide symbols by default on non-MSVC, define export attribute
-
+
This change makes sure that non-MSVC builds using CMake properly hide
non-exported functions.
@@ -31576,7 +31512,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed Mar 14 02:54:07 2018 +0330
Merge pull request #877 from fanc999/master.msvc
-
+
Fix CMake builds on Windows, MSVC in particular
commit 7c43adab6deb9302a24cc857c4aaa9b6b62215d2
@@ -31584,9 +31520,8 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Mon Mar 12 16:43:53 2018 +0800
CMake: Fix utility program installation
-
- Put in the utility program that was missed in installation by
- replacing
+
+ Put in the utility program that was missed in installation by replacing
the one that was duplicated.
CMakeLists.txt | 2 +-
@@ -31597,12 +31532,10 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Mon Mar 12 16:23:57 2018 +0800
CMake: Fix introspection on Windows
-
+
The list of source files to pass to g-ir-scanner is becoming too
- long for Windows, as Windows imposes a 8192-character limit for
- command
- lines, so we need to first transform that list into a listings
- file, and
+ long for Windows, as Windows imposes a 8192-character limit for command
+ lines, so we need to first transform that list into a listings file, and
then use the --filelist option for g-ir-scanner to build the
introspection files.
@@ -31614,11 +31547,11 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Mon Mar 12 13:48:55 2018 +0800
test/api: Fix building subset tests
-
+
Include stdbool.h in hb-setset-test.h instead of in the individual
sources, if it is found; otherwise use a simplistic fallback for it if
it is not found.
-
+
Also declare variables at the top of the block, to build on pre-C99
compiliers.
@@ -31635,7 +31568,7 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Mon Mar 12 13:38:01 2018 +0800
CMake: Fix running tests on Windows
-
+
For the API tests, output the test programs at $(TOP_BUILDDIR) so that
the freshly-built DLLs will be available for the test programs. For
those that are run through the Python wrapper scripts, use
@@ -31653,9 +31586,8 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Mon Mar 12 13:33:03 2018 +0800
hb-private.hh: Add fallback implementation for round()
-
- Add a simplistic round() implementation for our purposes, used
- when the
+
+ Add a simplistic round() implementation for our purposes, used when the
compiler does not support round() directly.
src/hb-private.hh | 13 +++++++++++++
@@ -31666,16 +31598,13 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Mon Mar 12 13:27:38 2018 +0800
configure.ac/CMake: Check for round() and stdbool.h
-
- Not all the compilers that HarfBuzz is buildable on supports round()
- and
- has the header stdbool.h, so we check for them and define HAVE_ROUND
- and
+
+ Not all the compilers that HarfBuzz is buildable on supports round() and
+ has the header stdbool.h, so we check for them and define HAVE_ROUND and
HAVE_STDBOOL_H repsectively in our CFLAGS so that we include them only
when they are found, or use fallback implementations when necessary.
-
- Also include FindPythonInterp earlier as we need PYTHON_EXECUTABLE
- to be
+
+ Also include FindPythonInterp earlier as we need PYTHON_EXECUTABLE to be
set for running the tests.
CMakeLists.txt | 12 ++++++++++--
@@ -31697,8 +31626,7 @@ Date: Sun Mar 11 20:38:40 2018 +0100
[sbix] Clean up
- src/hb-ot-color-sbix-table.hh | 70
- +++++++++++++++++++++++--------------------
+ src/hb-ot-color-sbix-table.hh | 70 +++++++++++++++++++++++--------------------
1 file changed, 37 insertions(+), 33 deletions(-)
commit 218fa7166e9626f2036d08882854a86d753e4192
@@ -31708,8 +31636,7 @@ Date: Sat Mar 10 11:13:52 2018 +0330
[ot-color] SVG table implementation (#874)
src/Makefile.sources | 3 +-
- src/hb-ot-color-svg-table.hh | 111
- +++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-color-svg-table.hh | 111 +++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-layout.cc | 1 +
3 files changed, 114 insertions(+), 1 deletion(-)
@@ -31720,8 +31647,7 @@ Date: Sat Mar 10 11:07:56 2018 +0330
[ot-color] sbix table implementation (#870)
src/Makefile.sources | 1 +
- src/hb-ot-color-sbix-table.hh | 128
- ++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-color-sbix-table.hh | 128 ++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-layout.cc | 1 +
3 files changed, 130 insertions(+)
@@ -31740,7 +31666,7 @@ Author: Garret Rieger <grieger@google.com>
Date: Fri Mar 9 12:06:52 2018 -0700
Merge pull request #872 from googlefonts/drop-tables
-
+
[subset] Drop the same tables by default as fontTools does.
commit 9206762bbd4033e97d6d35ef1cce1b7940fbc935
@@ -31748,7 +31674,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Fri Mar 9 15:43:03 2018 +0330
Make subset test runner compatible with py3
-
+
Fixes #873
test/subset/run-tests.py | 4 ++--
@@ -31759,7 +31685,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Fri Mar 9 15:25:59 2018 +0330
[ci] Enable subset tests on ArchLinux to test
-
+
This makes ArchLinux bots fail, a starting point to #873
.circleci/config.yml | 7 ++++---
@@ -31780,7 +31706,7 @@ Author: Garret Rieger <grieger@google.com>
Date: Thu Mar 8 15:50:25 2018 -0700
Merge pull request #871 from googlefonts/mplus
-
+
[subset] Add a Japanese font to the subset integration tests.
commit 8548fa152241d6c5b020146f97aac15934ba0065
@@ -31789,34 +31715,23 @@ Date: Wed Mar 7 12:37:03 2018 -0800
[subset] Drop cmap 12, platform 0 tables from Mplus1p expected files.
- ...-Regular.default.3042,3044,3046,3048,304A,304B.ttf | Bin 3040 ->
- 3032 bytes
- ...-Regular.default.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 3276 ->
- 3268 bytes
- .../japanese/Mplus1p-Regular.default.61,63,65,6B.ttf | Bin 2592 ->
- 2584 bytes
- ...-Regular.default.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 3572 ->
- 3564 bytes
- .../japanese/Mplus1p-Regular.default.660E.ttf | Bin 2356 ->
- 2348 bytes
- ...gular.drop-hints.3042,3044,3046,3048,304A,304B.ttf | Bin 2312 ->
- 2304 bytes
- ...gular.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2548 ->
- 2540 bytes
- .../Mplus1p-Regular.drop-hints.61,63,65,6B.ttf | Bin 1864 ->
- 1856 bytes
- ...gular.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 2844 ->
- 2836 bytes
- .../japanese/Mplus1p-Regular.drop-hints.660E.ttf | Bin 1628 ->
- 1620 bytes
+ ...-Regular.default.3042,3044,3046,3048,304A,304B.ttf | Bin 3040 -> 3032 bytes
+ ...-Regular.default.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 3276 -> 3268 bytes
+ .../japanese/Mplus1p-Regular.default.61,63,65,6B.ttf | Bin 2592 -> 2584 bytes
+ ...-Regular.default.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 3572 -> 3564 bytes
+ .../japanese/Mplus1p-Regular.default.660E.ttf | Bin 2356 -> 2348 bytes
+ ...gular.drop-hints.3042,3044,3046,3048,304A,304B.ttf | Bin 2312 -> 2304 bytes
+ ...gular.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2548 -> 2540 bytes
+ .../Mplus1p-Regular.drop-hints.61,63,65,6B.ttf | Bin 1864 -> 1856 bytes
+ ...gular.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 2844 -> 2836 bytes
+ .../japanese/Mplus1p-Regular.drop-hints.660E.ttf | Bin 1628 -> 1620 bytes
10 files changed, 0 insertions(+), 0 deletions(-)
commit 9b00b9a10d5fdfd2d9deb1b0e847695797b7e09b
Author: Garret Rieger <grieger@google.com>
Date: Tue Mar 6 17:47:40 2018 -0800
- [subset] Fix deadlock waiting for process output in subset test
- runner.
+ [subset] Fix deadlock waiting for process output in subset test runner.
test/subset/run-tests.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
@@ -31838,30 +31753,18 @@ Date: Thu Mar 1 18:20:00 2018 -0800
test/subset/data/Makefile.am | 1 +
test/subset/data/Makefile.sources | 1 +
- ...-Regular.default.3042,3044,3046,3048,304A,304B.ttf | Bin 0 ->
- 3040 bytes
- ...-Regular.default.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 0 ->
- 3276 bytes
- .../japanese/Mplus1p-Regular.default.61,63,65,6B.ttf | Bin 0 ->
- 2592 bytes
- ...-Regular.default.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 0 ->
- 3572 bytes
- .../japanese/Mplus1p-Regular.default.660E.ttf | Bin 0 ->
- 2356 bytes
- ...gular.drop-hints.3042,3044,3046,3048,304A,304B.ttf | Bin 0 ->
- 2312 bytes
- ...gular.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 0 ->
- 2548 bytes
- .../Mplus1p-Regular.drop-hints.61,63,65,6B.ttf | Bin 0 ->
- 1864 bytes
- ...gular.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 0 ->
- 2844 bytes
- .../japanese/Mplus1p-Regular.drop-hints.660E.ttf | Bin 0 ->
- 1628 bytes
- test/subset/data/fonts/Mplus1p-Regular.ttf | Bin 0 ->
- 1758820 bytes
- test/subset/data/tests/japanese.tests | 16
- ++++++++++++++++
+ ...-Regular.default.3042,3044,3046,3048,304A,304B.ttf | Bin 0 -> 3040 bytes
+ ...-Regular.default.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 0 -> 3276 bytes
+ .../japanese/Mplus1p-Regular.default.61,63,65,6B.ttf | Bin 0 -> 2592 bytes
+ ...-Regular.default.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 0 -> 3572 bytes
+ .../japanese/Mplus1p-Regular.default.660E.ttf | Bin 0 -> 2356 bytes
+ ...gular.drop-hints.3042,3044,3046,3048,304A,304B.ttf | Bin 0 -> 2312 bytes
+ ...gular.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 0 -> 2548 bytes
+ .../Mplus1p-Regular.drop-hints.61,63,65,6B.ttf | Bin 0 -> 1864 bytes
+ ...gular.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 0 -> 2844 bytes
+ .../japanese/Mplus1p-Regular.drop-hints.660E.ttf | Bin 0 -> 1628 bytes
+ test/subset/data/fonts/Mplus1p-Regular.ttf | Bin 0 -> 1758820 bytes
+ test/subset/data/tests/japanese.tests | 16 ++++++++++++++++
14 files changed, 18 insertions(+)
commit 2ebf4c69b18452caa0c871aebec9785e80348166
@@ -31870,15 +31773,14 @@ Author: Garret Rieger <grieger@google.com>
Date: Thu Mar 8 14:41:59 2018 -0700
Merge pull request #868 from googlefonts/post
-
+
[subset] Drop glyph names from post when subsetting.
commit 869ccac5ab69060f2db2893014b5538539fd4f45
Author: Garret Rieger <grieger@google.com>
Date: Thu Mar 8 11:06:49 2018 -0800
- [subset] use create_sub_blob instead of manually copying the post
- table.
+ [subset] use create_sub_blob instead of manually copying the post table.
src/hb-ot-post-table.hh | 20 +++++++-------------
1 file changed, 7 insertions(+), 13 deletions(-)
@@ -31890,10 +31792,8 @@ Date: Wed Mar 7 10:33:02 2018 -0800
[subset] Unit test to check that post subsetting drops glyph names.
test/api/Makefile.am | 2 +
- ...lus1p-Regular.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 3572 ->
- 3724 bytes
- test/api/test-subset-post.c | 61
- +++++++++++++++++++++
+ ...lus1p-Regular.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 3572 -> 3724 bytes
+ test/api/test-subset-post.c | 61 +++++++++++++++++++++
3 files changed, 63 insertions(+)
commit dd107699938740e261948e4b525fa0ad501beb03
@@ -31912,7 +31812,7 @@ Author: Garret Rieger <grieger@google.com>
Date: Wed Mar 7 12:36:00 2018 -0700
Merge pull request #867 from googlefonts/vmtx
-
+
[subset] Add vmtx subsetting.
commit 362f28240683fde395ff52f4fc1216fbc7131452
@@ -31952,8 +31852,7 @@ Date: Tue Mar 6 15:40:35 2018 -0800
test/api/Makefile.am | 2 +
...lus1p-Regular.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 0 -> 3572 bytes
test/api/fonts/Mplus1p-Regular.660E.ttf | Bin 0 -> 2356 bytes
- test/api/test-subset-vmtx.c | 100
- +++++++++++++++++++++
+ test/api/test-subset-vmtx.c | 100 +++++++++++++++++++++
4 files changed, 102 insertions(+)
commit 0e8f9430c83c076993a0c7a320713bb484051343
@@ -32009,13 +31908,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Mar 7 15:51:42 2018 +0100
Remove hb-ot-color.h
-
+
So I can make a release.
src/Makefile.sources | 1 -
src/hb-ot-color-cpal-table.hh | 48 +++++++++++++++++++++++++
- src/hb-ot-color.h | 81
- -------------------------------------------
+ src/hb-ot-color.h | 81 -------------------------------------------
src/hb-ot.h | 1 -
4 files changed, 48 insertions(+), 83 deletions(-)
@@ -32024,12 +31922,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Mar 7 15:31:15 2018 +0100
[ot] Remove hb-ot-base.h
-
+
BASE table API will go into hb-ot-layout.h.
src/Makefile.sources | 1 -
- src/hb-ot-base.h | 56
- ------------------------------------------
+ src/hb-ot-base.h | 56 ------------------------------------------
src/hb-ot-layout-base-table.hh | 1 -
src/hb-ot-layout.h | 16 ++++++++++++
src/hb-ot.h | 1 -
@@ -32040,9 +31937,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Mar 7 10:49:26 2018 +0100
[set] Fix algebra
-
+
Was totally b0rked. Ouch!
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/863
src/hb-set-private.hh | 20 +++++++++++++++++---
@@ -32053,9 +31950,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Mar 7 09:55:22 2018 +0100
[set] Minor
-
+
In preparation to fix https://github.com/harfbuzz/harfbuzz/issues/863
-
+
Binary operations are sets are completely broken. Ouch.
src/hb-set-private.hh | 21 ++++++++++++++-------
@@ -32103,13 +32000,12 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Mar 6 16:41:08 2018 +0330
[ot-color] Further improvements on COLR/CPAL implementation (#859)
-
+
* Implemented a bsearch on get_base_glyph_record
* Made get_color_record_argb actually work
src/hb-ot-color-colr-table.hh | 35 ++++++++++++++-----------
- src/hb-ot-color-cpal-table.hh | 59
- +++++++++++++++----------------------------
+ src/hb-ot-color-cpal-table.hh | 59 +++++++++++++++----------------------------
src/hb-ot-color.h | 12 ++-------
3 files changed, 42 insertions(+), 64 deletions(-)
@@ -32212,8 +32108,7 @@ Date: Sat Mar 3 22:55:09 2018 +0330
Enable coverage test on autotools (#857)
configure.ac | 1 +
- m4/ax_code_coverage.m4 | 264
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ m4/ax_code_coverage.m4 | 264 +++++++++++++++++++++++++++++++++++++++++++++++++
src/Makefile.am | 6 +-
3 files changed, 269 insertions(+), 2 deletions(-)
@@ -32236,8 +32131,7 @@ Date: Sat Mar 3 22:00:29 2018 +0330
[COLR/CPAL] Provide enough helper for rasterization (#855)
- src/hb-ot-colr-table.hh | 47
- ++++++++++++++++++++++++++++++++++++++++++++---
+ src/hb-ot-colr-table.hh | 47 ++++++++++++++++++++++++++++++++++++++++++++---
src/hb-ot-cpal-table.hh | 18 +++++++++++++++---
2 files changed, 59 insertions(+), 6 deletions(-)
@@ -32246,9 +32140,8 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sat Mar 3 01:05:59 2018 +0330
[COLR] Revert previous sanitization on the table
-
- That sanitization wasn't right, firstLayerIndex is an index from
- beginning of the Layer Records
+
+ That sanitization wasn't right, firstLayerIndex is an index from beginning of the Layer Records
not the table itself.
src/hb-ot-colr-table.hh | 23 ++++++-----------------
@@ -32269,8 +32162,7 @@ Date: Fri Mar 2 00:07:26 2018 +0330
[aat/kerx] Make parsing of the table actually work (#850)
- src/hb-aat-layout-kerx-table.hh | 298
- +++++++++++++++++-----------------------
+ src/hb-aat-layout-kerx-table.hh | 298 +++++++++++++++++-----------------------
1 file changed, 124 insertions(+), 174 deletions(-)
commit a570edcde2f89e59b5ccd4867a8c0eed084bf35d
@@ -32296,11 +32188,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 28 16:31:46 2018 -0800
[test] Add test suite for Brahmi Number Joiners
-
+
https://github.com/harfbuzz/harfbuzz/pull/660
- .../fonts/1ed7e9064f008f62de6ff0207bb4dd29409597a5.ttf | Bin 0 ->
- 2768 bytes
+ .../fonts/1ed7e9064f008f62de6ff0207bb4dd29409597a5.ttf | Bin 0 -> 2768 bytes
test/shaping/data/in-house/tests/use-syllable.tests | 1 +
test/shaping/record-test.sh | 2 +-
3 files changed, 2 insertions(+), 1 deletion(-)
@@ -32309,8 +32200,7 @@ commit b4ba71ea7ccce70e24138373774741c7f03dd24e
Author: Garret Rieger <grieger@google.com>
Date: Wed Feb 28 15:44:00 2018 -0800
- [subset] In subset integration test pass output through ots-sanitize
- if present.
+ [subset] In subset integration test pass output through ots-sanitize if present.
test/subset/run-tests.py | 25 +++++++++++++++++++++++--
1 file changed, 23 insertions(+), 2 deletions(-)
@@ -32321,7 +32211,7 @@ Author: rsheeter <rsheeter@google.com>
Date: Wed Feb 28 13:52:29 2018 -0800
Merge pull request #845 from googlefonts/drophints
-
+
[subset] drop hints from composites
commit b3f1a045a8b86747afce6bc154f2a166ea678efb
@@ -32347,7 +32237,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed Feb 28 15:43:23 2018 +0330
Use old project location of coverity
-
+
https://github.com/harfbuzz/harfbuzz/commit/8089711a61687d565f207c56d3d2b658f514d7ab#commitcomment-27835452
.travis.yml | 4 ++--
@@ -32359,7 +32249,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed Feb 28 13:30:17 2018 +0330
Merge pull request #847 from ebraminio/colr
-
+
[colr] Implement
commit f671f7f0a8caa7b5763e00146e1ec4b9a7258227
@@ -32371,8 +32261,7 @@ Date: Wed Feb 28 13:19:40 2018 +0330
src/Makefile.sources | 1 +
src/hb-ot-color.cc | 9 +++++
src/hb-ot-color.h | 9 -----
- src/hb-ot-colr-table.hh | 98
- +++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-colr-table.hh | 98 +++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-cpal-table.hh | 6 +--
src/hb-ot-layout-private.hh | 6 ++-
src/hb-ot-layout.cc | 11 +++--
@@ -32384,7 +32273,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed Feb 28 12:05:49 2018 +0330
Merge pull request #841 from ebraminio/color
-
+
Support CPAL table
commit 0eec33154a418fba97a08be7169b59e748b7e785
@@ -32393,8 +32282,7 @@ Date: Wed Feb 28 11:53:39 2018 +0330
[cmake] cleanup (#846)
- CMakeLists.txt | 70
- ++++++++++++++++++++-----------------------------
+ CMakeLists.txt | 70 ++++++++++++++++++++-----------------------------
test/api/CMakeLists.txt | 2 +-
2 files changed, 30 insertions(+), 42 deletions(-)
@@ -32408,8 +32296,7 @@ Date: Tue Feb 27 22:56:17 2018 +0330
src/Makefile.am | 1 -
src/hb-ot-color.cc | 70 +++----------
src/hb-ot-color.h | 31 +++---
- src/hb-ot-cpal-table.hh | 116
- +++++++++++++++------
+ src/hb-ot-cpal-table.hh | 116 +++++++++++++++------
src/hb-ot-layout-private.hh | 3 +-
src/hb-ot-layout.cc | 5 +-
test/api/hb-test.h | 2 +
@@ -32422,8 +32309,7 @@ commit 6836a821428b714b9f2e95d5c4ebbd73867d9a53
Author: Rod Sheeter <rsheeter@google.com>
Date: Tue Feb 27 20:51:12 2018 -0800
- [subset] remove WE_HAVE_INSTRUCTIONS from composites when dropping
- hints
+ [subset] remove WE_HAVE_INSTRUCTIONS from composites when dropping hints
src/hb-subset-glyf.cc | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
@@ -32435,8 +32321,7 @@ Date: Tue Feb 27 20:17:04 2018 -0800
[subset] update the test file for composite, fix an offset calculation
src/hb-ot-glyf-table.hh | 2 +-
- test/api/fonts/Roboto-Regular.components.1fc.nohints.ttf | Bin 0 ->
- 932 bytes
+ test/api/fonts/Roboto-Regular.components.1fc.nohints.ttf | Bin 0 -> 932 bytes
test/api/test-subset-glyf.c | 5 ++---
3 files changed, 3 insertions(+), 4 deletions(-)
@@ -32445,8 +32330,7 @@ Merge: b3790a65 904dd7be
Author: Rod Sheeter <rsheeter@google.com>
Date: Tue Feb 27 17:25:32 2018 -0800
- Merge branch 'expand-tests' of github.com:googlefonts/harfbuzz
- into drophints
+ Merge branch 'expand-tests' of github.com:googlefonts/harfbuzz into drophints
commit 904dd7beea756fd7429fad36f5c37321aedb4e81
Author: Garret Rieger <grieger@google.com>
@@ -32454,10 +32338,8 @@ Date: Tue Feb 27 14:33:36 2018 -0800
[subset] Add drop hinting profile to full-font.tests
- .../Roboto-Regular.drop-hints.1FC,21,41,20,62,63.ttf | Bin 0 ->
- 2152 bytes
- .../full-font/Roboto-Regular.drop-hints.61,62,63.ttf | Bin 0 ->
- 1968 bytes
+ .../Roboto-Regular.drop-hints.1FC,21,41,20,62,63.ttf | Bin 0 -> 2152 bytes
+ .../full-font/Roboto-Regular.drop-hints.61,62,63.ttf | Bin 0 -> 1968 bytes
test/subset/data/tests/full-font.tests | 1 +
3 files changed, 1 insertion(+)
@@ -32467,16 +32349,11 @@ Date: Tue Feb 27 14:28:50 2018 -0800
[subset] Add a drop hints profile to basics.tests
- .../basics/Roboto-Regular.abc.drop-hints.61,62,63.ttf | Bin 0 ->
- 876 bytes
- .../basics/Roboto-Regular.abc.drop-hints.61,63.ttf | Bin 0 ->
- 792 bytes
- .../expected/basics/Roboto-Regular.abc.drop-hints.61.ttf | Bin 0 ->
- 684 bytes
- .../expected/basics/Roboto-Regular.abc.drop-hints.62.ttf | Bin 0 ->
- 652 bytes
- .../expected/basics/Roboto-Regular.abc.drop-hints.63.ttf | Bin 0 ->
- 656 bytes
+ .../basics/Roboto-Regular.abc.drop-hints.61,62,63.ttf | Bin 0 -> 876 bytes
+ .../basics/Roboto-Regular.abc.drop-hints.61,63.ttf | Bin 0 -> 792 bytes
+ .../expected/basics/Roboto-Regular.abc.drop-hints.61.ttf | Bin 0 -> 684 bytes
+ .../expected/basics/Roboto-Regular.abc.drop-hints.62.ttf | Bin 0 -> 652 bytes
+ .../expected/basics/Roboto-Regular.abc.drop-hints.63.ttf | Bin 0 -> 656 bytes
test/subset/data/profiles/drop-hints.txt | 1 +
test/subset/data/tests/basics.tests | 1 +
7 files changed, 2 insertions(+)
@@ -32485,8 +32362,7 @@ commit 5241d7f4b999d5457de564bd950b60d70f9d0e19
Author: Garret Rieger <grieger@google.com>
Date: Tue Feb 27 13:15:40 2018 -0800
- [subset] apply subset profiles (flags) to the subset integration
- tests.
+ [subset] apply subset profiles (flags) to the subset integration tests.
test/subset/generate-expected-outputs.py | 27 ++++++++++++++-------------
test/subset/run-tests.py | 3 ++-
@@ -32509,12 +32385,9 @@ Date: Mon Feb 26 18:51:56 2018 -0800
[subset] Add subset integration tests using the full roboto font.
test/subset/data/Makefile.sources | 1 +
- .../Roboto-Regular.default.1FC,21,41,20,62,63.ttf | Bin 0 ->
- 3700 bytes
- .../full-font/Roboto-Regular.default.61,62,63.ttf | Bin 0 ->
- 3320 bytes
- test/subset/data/fonts/Roboto-Regular.ttf | Bin 0 ->
- 171676 bytes
+ .../Roboto-Regular.default.1FC,21,41,20,62,63.ttf | Bin 0 -> 3700 bytes
+ .../full-font/Roboto-Regular.default.61,62,63.ttf | Bin 0 -> 3320 bytes
+ test/subset/data/fonts/Roboto-Regular.ttf | Bin 0 -> 171676 bytes
test/subset/data/tests/full-font.tests | 10 ++++++++++
test/subset/generate-expected-outputs.py | 12 ++++++++----
6 files changed, 19 insertions(+), 4 deletions(-)
@@ -32525,14 +32398,10 @@ Date: Mon Feb 26 18:39:09 2018 -0800
[subset] Add some more variations of the basic test.
- .../basics/Roboto-Regular.abc.default.61,62,63.ttf | Bin 0 ->
- 2120 bytes
- .../expected/basics/Roboto-Regular.abc.default.61,63.ttf | Bin 0 ->
- 1932 bytes
- .../expected/basics/Roboto-Regular.abc.default.61.ttf | Bin 0 ->
- 1744 bytes
- .../expected/basics/Roboto-Regular.abc.default.63.ttf | Bin 0 ->
- 1668 bytes
+ .../basics/Roboto-Regular.abc.default.61,62,63.ttf | Bin 0 -> 2120 bytes
+ .../expected/basics/Roboto-Regular.abc.default.61,63.ttf | Bin 0 -> 1932 bytes
+ .../expected/basics/Roboto-Regular.abc.default.61.ttf | Bin 0 -> 1744 bytes
+ .../expected/basics/Roboto-Regular.abc.default.63.ttf | Bin 0 -> 1668 bytes
test/subset/data/tests/basics.tests | 4 ++++
5 files changed, 4 insertions(+)
@@ -32552,7 +32421,7 @@ Author: Garret Rieger <grieger@google.com>
Date: Tue Feb 27 17:06:27 2018 -0700
Merge pull request #842 from googlefonts/maxp
-
+
[subset] when dropping hints, clear hint related fields in maxp.
commit 921b65cbc29f0c2c9c13e9fb272dafe4c8a14591
@@ -32577,11 +32446,9 @@ commit a76344da796670f33b2fa48a9b1676545dac93c2
Author: Garret Rieger <grieger@google.com>
Date: Tue Feb 27 14:11:36 2018 -0800
- [subset] Add maxpV1Tail instead of defining a struct inside maxp
- for v1 data.
+ [subset] Add maxpV1Tail instead of defining a struct inside maxp for v1 data.
- src/hb-ot-maxp-table.hh | 81
- ++++++++++++++++++++++++++++++-------------------
+ src/hb-ot-maxp-table.hh | 81 ++++++++++++++++++++++++++++++-------------------
1 file changed, 49 insertions(+), 32 deletions(-)
commit f14d1b64c2d148ffdec95c17adbee3f185d5d436
@@ -32590,8 +32457,7 @@ Date: Tue Feb 27 13:49:00 2018 -0800
[subset] when dropping hints, clear hint related fields in maxp.
- src/hb-ot-maxp-table.hh | 43
- ++++++++++++++++++++++++++++++++++++++++---
+ src/hb-ot-maxp-table.hh | 43 ++++++++++++++++++++++++++++++++++++++++---
test/api/test-subset-glyf.c | 30 +++++++++++++++++++++++-------
2 files changed, 63 insertions(+), 10 deletions(-)
@@ -32601,8 +32467,7 @@ Date: Tue Feb 27 12:50:57 2018 -0800
[BASE] More
- src/hb-ot-layout-base-table.hh | 153
- ++++-------------------------------------
+ src/hb-ot-layout-base-table.hh | 153 ++++-------------------------------------
1 file changed, 12 insertions(+), 141 deletions(-)
commit 7a70c20fec6ece9e729dc2634e2896a8d8eb9962
@@ -32611,8 +32476,7 @@ Date: Tue Feb 27 12:45:26 2018 -0800
[BASE] Clean up first 29%
- src/hb-ot-layout-base-table.hh | 262
- +++++++++++++++++++----------------------
+ src/hb-ot-layout-base-table.hh | 262 +++++++++++++++++++----------------------
src/hb-ot-layout-gsub-table.hh | 2 +-
2 files changed, 125 insertions(+), 139 deletions(-)
@@ -32629,7 +32493,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Feb 27 11:41:12 2018 +0330
Merge pull request #838 from harfbuzz/BASE
-
+
BASE table
commit 0ad8c663e0b4602e2a413e77a8158bf8a46755d5
@@ -32640,8 +32504,7 @@ Date: Mon Feb 26 12:45:08 2018 +0330
src/hb-ot-base.h | 4 ++--
src/hb-ot-layout-base-table.hh | 20 +++++++++---------
- src/hb-ot-layout.cc | 48
- ++++++++++++++++++++----------------------
+ src/hb-ot-layout.cc | 48 ++++++++++++++++++++----------------------
3 files changed, 35 insertions(+), 37 deletions(-)
commit 4a1d51ef15a423706406f784a146078073147885
@@ -32650,15 +32513,14 @@ Author: rsheeter <rsheeter@google.com>
Date: Mon Feb 26 20:23:41 2018 -0800
Merge pull request #818 from googlefonts/drophints
-
+
[subset] Drop hints
commit 903771b6c7689b9eee9a11bac128c42f39833b2e
Author: Rod Sheeter <rsheeter@google.com>
Date: Mon Feb 26 19:50:06 2018 -0800
- [subset] clearer name for trim() and better comment about composite
- handling, per review feedback
+ [subset] clearer name for trim() and better comment about composite handling, per review feedback
src/hb-ot-glyf-table.hh | 8 +++++---
src/hb-subset-glyf.cc | 17 ++++++++---------
@@ -32670,7 +32532,7 @@ Author: Garret Rieger <grieger@google.com>
Date: Mon Feb 26 19:24:18 2018 -0700
Merge pull request #840 from googlefonts/os2
-
+
[subset] During os2 subsetting update ulUnicodeRange[]c
commit 44dc36dd82fc948a15e2ad0d605eb4a466b3553d
@@ -32706,8 +32568,7 @@ commit 0c0fe2ff8209228f2ddfce464b7b6f1b1ee1654a
Author: Garret Rieger <grieger@google.com>
Date: Mon Feb 26 17:47:10 2018 -0800
- [subset] Move util/generated-unicode-ranges.py to
- src/gen-unicode-ranges.py
+ [subset] Move util/generated-unicode-ranges.py to src/gen-unicode-ranges.py
util/generate-unicode-ranges.py => src/gen-unicode-ranges.py | 0
1 file changed, 0 insertions(+), 0 deletions(-)
@@ -32762,11 +32623,9 @@ commit ddc4f2b9fc5566e70558a57133289f84d467cc98
Author: Garret Rieger <grieger@google.com>
Date: Mon Feb 26 15:59:32 2018 -0800
- [subset] Add python util that was used to generated
- hb-ot-os2-unicode-ranges.hh
+ [subset] Add python util that was used to generated hb-ot-os2-unicode-ranges.hh
- util/generate-unicode-ranges.py | 50
- +++++++++++++++++++++++++++++++++++++++++
+ util/generate-unicode-ranges.py | 50 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
commit f757757eda5f00a89a156e3427bdf8c4313611ef
@@ -32797,23 +32656,19 @@ Date: Mon Feb 26 15:50:13 2018 -0800
src/Makefile.sources | 1 -
src/hb-ot-os2-table.hh | 23 ++++-
- src/hb-ot-os2-unicode-ranges.cc | 221
- ++--------------------------------------
- src/hb-ot-os2-unicode-ranges.hh | 210
- +++++++++++++++++++++++++++++++++++++-
+ src/hb-ot-os2-unicode-ranges.cc | 221 ++--------------------------------------
+ src/hb-ot-os2-unicode-ranges.hh | 210 +++++++++++++++++++++++++++++++++++++-
4 files changed, 236 insertions(+), 219 deletions(-)
commit a570142d0c6d819feeeeb9e209fc90a33c1c2b48
Author: Garret Rieger <grieger@google.com>
Date: Mon Feb 26 15:20:23 2018 -0800
- [subset] Move hb-ot-os2-unicode-ranges into a cc file with a helper
- methods and tests.
+ [subset] Move hb-ot-os2-unicode-ranges into a cc file with a helper methods and tests.
src/Makefile.am | 9 +-
src/Makefile.sources | 2 +
- src/hb-ot-os2-unicode-ranges.cc | 279
- ++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-os2-unicode-ranges.cc | 279 ++++++++++++++++++++++++++++++++++++++++
src/hb-ot-os2-unicode-ranges.hh | 189 +--------------------------
4 files changed, 292 insertions(+), 187 deletions(-)
@@ -32823,8 +32678,7 @@ Date: Fri Feb 23 18:35:41 2018 -0800
[subset] Add hb-ot-os2-unicode-ranges.hh, a map of os2 unicode ranges.
- src/hb-ot-os2-unicode-ranges.hh | 220
- ++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-os2-unicode-ranges.hh | 220 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 220 insertions(+)
commit 6c844ae8e89f52f5f40eace66bb987544fc316e3
@@ -32860,9 +32714,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Feb 26 01:04:16 2018 -0800
[aat/ankr] Minor
-
- DEFINE_SIZE_MIN is to be used only in rare cases. For fixed-size
- structs
+
+ DEFINE_SIZE_MIN is to be used only in rare cases. For fixed-size structs
we want DEFINE_SIZE_STATIC.
src/hb-aat-layout-ankr-table.hh | 2 +-
@@ -32892,8 +32745,7 @@ Date: Mon Feb 26 00:32:11 2018 -0800
[aat/trak] Simplify sanitize()
- src/hb-aat-layout-trak-table.hh | 67
- ++++++++++-------------------------------
+ src/hb-aat-layout-trak-table.hh | 67 ++++++++++-------------------------------
1 file changed, 16 insertions(+), 51 deletions(-)
commit f0bc6c0992c4302ae1a20f155ad256bfa331087c
@@ -32901,10 +32753,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Feb 26 00:18:17 2018 -0800
[aat/trak] Clean up
-
+
We always just used "unsigned int" for counter values. There's
no use for uint16_t outside of a struct.
-
+
Also, no need for explict casting where implicit does.
src/hb-aat-layout-trak-table.hh | 12 ++++++------
@@ -32917,8 +32769,7 @@ Date: Sun Feb 25 12:30:33 2018 +0330
[aat] trak sanitization
src/dev-run.sh | 4 +-
- src/hb-aat-layout-trak-table.hh | 95
- ++++++++++++++++++++++++++++++++---------
+ src/hb-aat-layout-trak-table.hh | 95 ++++++++++++++++++++++++++++++++---------
src/hb-aat-layout.cc | 2 +-
util/options.hh | 2 +-
4 files changed, 78 insertions(+), 25 deletions(-)
@@ -32928,7 +32779,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Mon Feb 26 11:29:48 2018 +0330
[aat] minor
-
+
Ops, this was done for testing
src/hb-aat-layout-ankr-table.hh | 2 +-
@@ -32949,11 +32800,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Feb 25 18:54:52 2018 -0800
[aat/trak] Minor
-
+
Maybe we should make DEFINE_* make structs uncopyable.
- src/hb-aat-layout-trak-table.hh | 56
- +++++++++++++++++++++++------------------
+ src/hb-aat-layout-trak-table.hh | 56 +++++++++++++++++++++++------------------
1 file changed, 32 insertions(+), 24 deletions(-)
commit ae14dd0fb0a176f6f0143690907b51626999d248
@@ -32963,8 +32813,7 @@ Date: Mon Feb 26 00:31:09 2018 +0330
[aat] Implement ankr
src/Makefile.sources | 3 +-
- src/hb-aat-layout-ankr-table.hh | 86
- +++++++++++++++++++++++++++++++++++++++++
+ src/hb-aat-layout-ankr-table.hh | 86 +++++++++++++++++++++++++++++++++++++++++
src/hb-aat-layout-kerx-table.hh | 2 +-
src/hb-aat-layout.cc | 37 +++++++++++++-----
src/hb-ot-layout-private.hh | 6 ++-
@@ -32979,8 +32828,7 @@ Date: Sun Feb 25 16:32:17 2018 -0800
src/Makefile.sources | 1 -
src/hb-ot-base.cc | 58 -----------------------
- src/hb-ot-layout-base-table.hh | 103
- ++++++++++++++++++++++++++++-------------
+ src/hb-ot-layout-base-table.hh | 103 ++++++++++++++++++++++++++++-------------
src/hb-ot-layout.cc | 34 ++++++++++++++
src/hb-ot-layout.h | 1 +
5 files changed, 105 insertions(+), 92 deletions(-)
@@ -33006,7 +32854,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Sat Feb 24 00:44:07 2018 +0200
Workaround for old automake on Travis Linux images
-
+
https://github.com/harfbuzz/harfbuzz/pull/821#issuecomment-368116538
.ci/fail.sh | 10 ++++++++--
@@ -33031,8 +32879,7 @@ Date: Sat Feb 24 12:49:42 2018 +0330
src/hb-aat-layout-kerx-table.hh | 7 ++++
src/hb-aat-layout-private.hh | 3 ++
- src/hb-aat-layout-trak-table.hh | 78
- +++++++++++++++++++++++++++++++++++++++--
+ src/hb-aat-layout-trak-table.hh | 78 +++++++++++++++++++++++++++++++++++++++--
src/hb-aat-layout.cc | 46 ++++++++++++++++++++++++
src/hb-open-type-private.hh | 4 +--
src/hb-ot-layout-private.hh | 22 ++++++++++++
@@ -33049,8 +32896,7 @@ Date: Fri Feb 23 22:51:17 2018 -0800
CMakeLists.txt | 36 ++++++++++++++--------------
src/Makefile.am | 8 +++----
src/Makefile.sources | 3 ---
- src/hb-version.h | 66
- ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-version.h | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 87 insertions(+), 26 deletions(-)
commit 5267520e078ed413df78f3a6781fd5370b6da63a
@@ -33077,8 +32923,7 @@ Merge: 1454d82a 83af6c23
Author: Rod Sheeter <rsheeter@google.com>
Date: Fri Feb 23 17:53:26 2018 -0800
- Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into
- drophints
+ Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into drophints
commit 1454d82a9d3d9a47901b3d92ff7f2c05c596c0d5
Author: Rod Sheeter <rsheeter@google.com>
@@ -33094,8 +32939,7 @@ commit 0ac8c0c1e6a6c076ce33b16baa173ff8763ac04e
Author: Rod Sheeter <rsheeter@google.com>
Date: Fri Feb 23 17:43:00 2018 -0800
- [subset] zero glyf and loca memory before writing so pads are
- clean. Test just the part of maxp we care about
+ [subset] zero glyf and loca memory before writing so pads are clean. Test just the part of maxp we care about
src/hb-ot-glyf-table.hh | 6 +++---
src/hb-subset-glyf.cc | 4 ++--
@@ -33108,7 +32952,7 @@ Author: Garret Rieger <grieger@google.com>
Date: Fri Feb 23 18:33:25 2018 -0700
Merge pull request #829 from googlefonts/test-checksum
-
+
[subset] Caclculate head table checksum adjustment
commit dc5c7927e75ea09461e46fe6e56897091b4b4f00
@@ -33116,12 +32960,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Feb 23 16:42:06 2018 -0800
[subset] Caclculate head table checksum adjustment
-
+
Test still fails, because we do not serialize tables in the same
order that fonttools subsetter does.
- src/hb-open-file-private.hh | 51
- ++++++++++++++++++++++++++++++++++-----------
+ src/hb-open-file-private.hh | 51 ++++++++++++++++++++++++++++++++++-----------
src/hb-ot-head-table.hh | 2 ++
src/hb-subset.cc | 2 ++
3 files changed, 43 insertions(+), 12 deletions(-)
@@ -33132,7 +32975,7 @@ Author: Garret Rieger <grieger@google.com>
Date: Fri Feb 23 17:59:08 2018 -0700
Merge pull request #828 from googlefonts/mem-fixes
-
+
[subset] Fix several memory leaks in subsetting.
commit ec2538c8803be254b6e09ca0ea724b07c35126da
@@ -33207,8 +33050,7 @@ Date: Fri Feb 23 16:55:53 2018 -0500
configure.ac | 2 ++
src/Makefile.am | 4 ++-
- src/harfbuzz-config.cmake.in | 82
- ++++++++++++++++++++++++++++++++++++++++++++
+ src/harfbuzz-config.cmake.in | 82 ++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 87 insertions(+), 1 deletion(-)
commit e0939d811f1fdeda9c5763e7e53887b3d3cb21eb
@@ -33216,18 +33058,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Feb 23 13:19:34 2018 -0800
Clean up check-defs and check-symbols (#821)
-
+
Also, call c++filt on their results.
-
+
Also build and fix and check harfbuzz-gobject.def
-
+
Also changes harfbuzz-gobject to distribute generated enum sources.
CMakeLists.txt | 3 +--
src/Makefile.am | 33 ++++++++++++++++------------
src/Makefile.sources | 9 +++++---
- src/check-defs.sh | 52
- ---------------------------------------------
+ src/check-defs.sh | 52 ---------------------------------------------
src/check-symbols.sh | 30 ++++++++++++++++++++------
src/hb-gobject-enums.h.tmpl | 3 ++-
src/hb-gobject-structs.h | 45 ++++++++++++++++++++++++++-------------
@@ -33239,8 +33080,7 @@ Date: Fri Feb 23 13:05:58 2018 -0800
[subset] clone trim logic from fonttools glyf handling
- src/hb-ot-glyf-table.hh | 92
- ++++++++++++++++++++++++++-
+ src/hb-ot-glyf-table.hh | 92 ++++++++++++++++++++++++++-
src/hb-subset-glyf.cc | 26 ++++----
src/hb-subset-plan.cc | 3 +
src/hb-subset.cc | 13 ++--
@@ -33255,7 +33095,7 @@ Author: Garret Rieger <grieger@google.com>
Date: Fri Feb 23 12:32:18 2018 -0700
Merge pull request #823 from googlefonts/hdmx
-
+
[subset] Add hdmx subsetting.
commit e15e41ef12e146333e355defef8db210378b5be0
@@ -33271,22 +33111,18 @@ commit 2b844803433bd1557a7fd0c93a91c66ef5319b21
Author: Garret Rieger <grieger@google.com>
Date: Thu Feb 22 18:38:44 2018 -0800
- [subset] Update expected files for subsetting integration test to
- not include cmap 4.
+ [subset] Update expected files for subsetting integration test to not include cmap 4.
- .../expected/basics/Roboto-Regular.abc.default.62.ttf | Bin 1740 ->
- 1692 bytes
+ .../expected/basics/Roboto-Regular.abc.default.62.ttf | Bin 1740 -> 1692 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit a88504c601ac95601730bd602861c13e5ac4fdd8
Author: Garret Rieger <grieger@google.com>
Date: Thu Feb 22 14:28:18 2018 -0800
- [subset] Fix checksum clearning in subset test diff. Add an updated
- expected file (has cmap4 restored).
+ [subset] Fix checksum clearning in subset test diff. Add an updated expected file (has cmap4 restored).
- .../expected/basics/Roboto-Regular.abc.default.62.ttf | Bin 1692 ->
- 1740 bytes
+ .../expected/basics/Roboto-Regular.abc.default.62.ttf | Bin 1692 -> 1740 bytes
test/subset/run-tests.py | 7 +++++--
2 files changed, 5 insertions(+), 2 deletions(-)
@@ -33294,8 +33130,7 @@ commit 537698b60131bd3d7999919a04596c41dda6b2e4
Author: Garret Rieger <grieger@google.com>
Date: Thu Feb 22 14:07:52 2018 -0800
- [subset] Don't compare actual to itself in Fix
- test/subset/run-tests. Print a diff on failure.
+ [subset] Don't compare actual to itself in Fix test/subset/run-tests. Print a diff on failure.
test/subset/run-tests.py | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
@@ -33323,11 +33158,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Feb 23 10:34:26 2018 -0800
[hdmx] Move DeviceRecord to toplevel again
-
+
More readable.
- src/hb-ot-hdmx-table.hh | 112
- ++++++++++++++++++++++++------------------------
+ src/hb-ot-hdmx-table.hh | 112 ++++++++++++++++++++++++------------------------
1 file changed, 57 insertions(+), 55 deletions(-)
commit 96d7805a9235443972c6b6c5cd9502283c8836e9
@@ -33373,8 +33207,7 @@ Date: Wed Feb 21 17:59:57 2018 -0800
[subset] Add a unit test for hdmx subsetting.
test/api/Makefile.am | 2 ++
- test/api/test-subset-hdmx.c | 81
- +++++++++++++++++++++++++++++++++++++++++++++
+ test/api/test-subset-hdmx.c | 81 +++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 83 insertions(+)
commit aa4aa2353c52f86fd56446de6b7ff86a9e990b9c
@@ -33392,8 +33225,7 @@ Date: Wed Feb 21 17:42:58 2018 -0800
[subset] Move DeviceRecord inside of hdmx.
- src/hb-ot-hdmx-table.hh | 98
- +++++++++++++++++++++++++------------------------
+ src/hb-ot-hdmx-table.hh | 98 +++++++++++++++++++++++++------------------------
1 file changed, 50 insertions(+), 48 deletions(-)
commit 6704cded65985b2de262bdd3bb0887929e5a3b0b
@@ -33418,8 +33250,7 @@ commit dddf44279f610e77e8b9a0819fd91f48802158b6
Author: Garret Rieger <grieger@google.com>
Date: Wed Feb 21 15:36:09 2018 -0800
- [subset] When serializing a DeviceRecord in hdmx pad to make 32
- bit aligned.
+ [subset] When serializing a DeviceRecord in hdmx pad to make 32 bit aligned.
src/hb-ot-hdmx-table.hh | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
@@ -33430,8 +33261,7 @@ Date: Wed Feb 21 15:15:22 2018 -0800
[subset] Begin implementing serialize for hdmx.
- src/hb-ot-hdmx-table.hh | 79
- +++++++++++++++++++++++++++++++++++++++++++++++--
+ src/hb-ot-hdmx-table.hh | 79 +++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 77 insertions(+), 2 deletions(-)
commit fe42862ab30d17483a1d0c2e2b1d859d01bbaff1
@@ -33441,8 +33271,7 @@ Date: Wed Feb 21 14:18:49 2018 -0800
[subset] Sketch out a basic hb-ot-hdmx.hh.
src/Makefile.sources | 1 +
- src/hb-ot-hdmx-table.hh | 77
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-hdmx-table.hh | 77 +++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-subset.cc | 1 +
3 files changed, 79 insertions(+)
@@ -33478,13 +33307,10 @@ commit 4f07437dfebd3dc5923f40154c6f1b7e1dce1bd4
Author: Rod Sheeter <rsheeter@google.com>
Date: Wed Feb 21 22:23:05 2018 -0800
- [subset] sketch out dropping in-glyf instructions. Sometimes yields
- differnet size glyphs than fonttools, possibly due to padding not
- being corrected
+ [subset] sketch out dropping in-glyf instructions. Sometimes yields differnet size glyphs than fonttools, possibly due to padding not being corrected
src/hb-ot-glyf-table.hh | 45 ++++++++++++++++
- src/hb-subset-glyf.cc | 78
- +++++++++++++++++++++------
+ src/hb-subset-glyf.cc | 78 +++++++++++++++++++++------
src/hb-subset-input.cc | 6 +++
src/hb-subset.h | 2 +
test/api/fonts/Roboto-Regular.ac.nohints.ttf | Bin 0 -> 1128 bytes
@@ -33509,11 +33335,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 21 14:38:02 2018 -0800
Add two more ragel-generated headers
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/817
- src/hb-buffer-deserialize-json.hh | 643
- ++++++++++++++++++++++++++++++++++++++
+ src/hb-buffer-deserialize-json.hh | 643 ++++++++++++++++++++++++++++++++++++++
src/hb-buffer-deserialize-text.hh | 571 +++++++++++++++++++++++++++++++++
2 files changed, 1214 insertions(+)
@@ -33521,8 +33346,7 @@ commit 74e0c13a4a55848e797242c02c8f067e587ea603
Author: Rod Sheeter <rsheeter@google.com>
Date: Wed Feb 21 11:19:18 2018 -0800
- [subset] drop hint tables if so flagged. Still need to dump glyf
- instructions.
+ [subset] drop hint tables if so flagged. Still need to dump glyf instructions.
src/hb-subset-plan.cc | 1 +
src/hb-subset-plan.hh | 2 ++
@@ -33538,7 +33362,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed Feb 21 22:13:58 2018 +0330
Add .editorconfig (#810)
-
+
More information: http://editorconfig.org/
.editorconfig | 18 ++++++++++++++++++
@@ -33579,8 +33403,7 @@ commit 2cc845f311b6dc4f0feda8b8fc5609fbd51b5923
Author: Garret Rieger <grieger@google.com>
Date: Tue Feb 20 18:13:41 2018 -0800
- [subset] fix calculation of range shiftz. Should be 16 * len -
- searchRange not 16 * (len - searchRange).
+ [subset] fix calculation of range shiftz. Should be 16 * len - searchRange not 16 * (len - searchRange).
src/hb-open-type-private.hh | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
@@ -33589,8 +33412,7 @@ commit 8e614ade5aef102baed56f91c2fcb1f3d1788ea9
Author: Garret Rieger <grieger@google.com>
Date: Tue Feb 20 17:36:54 2018 -0800
- [subset] Reverse table order for font serialization to match what
- OTS expects.
+ [subset] Reverse table order for font serialization to match what OTS expects.
src/hb-open-file-private.hh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -33599,8 +33421,7 @@ commit a998eeee4ad7bba4a1574c9735618891b6bd0948
Author: Garret Rieger <grieger@google.com>
Date: Tue Feb 20 16:48:52 2018 -0800
- [subset] sanity check glyph data writes during glyph subsetting to
- ensure they are inbounds.
+ [subset] sanity check glyph data writes during glyph subsetting to ensure they are inbounds.
src/hb-subset-glyf.cc | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
@@ -33611,8 +33432,7 @@ Date: Tue Feb 20 15:33:03 2018 -0800
[subset] Sanity check that loca writes are inbounds.
- src/hb-subset-glyf.cc | 55
- ++++++++++++++++++++++++++++++++++++++-------------
+ src/hb-subset-glyf.cc | 55 ++++++++++++++++++++++++++++++++++++++-------------
1 file changed, 41 insertions(+), 14 deletions(-)
commit 73e20ec6e9ad86bea023fc8b6fc10287889ed048
@@ -33621,7 +33441,7 @@ Author: Garret Rieger <grieger@google.com>
Date: Tue Feb 20 17:34:59 2018 -0700
Merge pull request #812 from googlefonts/cleanup
-
+
Clean up of glyf subsetting.
commit 6ae4013f2e53d6496507a58b715298fee4eadcee
@@ -33638,20 +33458,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 20 14:34:16 2018 -0800
Add Ragel-generated files to git
-
+
I know it's bad form; I know I've said no to this multiple times...
- But this is part of an experiment to see if we can make rolling
- HarfBuzz
+ But this is part of an experiment to see if we can make rolling HarfBuzz
into Chrome much faster. That will give us a lot more testing exposure
that currently Chrome does.
-
+
Doing this while those files are still considered ignored by our
gitignore rules; will see how that flies.
autogen.sh | 10 +-
src/Makefile.am | 3 +-
- src/hb-ot-shape-complex-indic-machine.hh | 1319
- ++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-indic-machine.hh | 1319 ++++++++++++++++++++++++++++
src/hb-ot-shape-complex-khmer-machine.hh | 294 +++++++
src/hb-ot-shape-complex-myanmar-machine.hh | 413 +++++++++
src/hb-ot-shape-complex-use-machine.hh | 502 +++++++++++
@@ -33673,10 +33491,8 @@ Date: Tue Feb 20 14:07:40 2018 -0800
[subset] Move glyf subsetting code into hb-ot-glyf-table.hh
- src/hb-ot-glyf-table.hh | 49
- +++++++++++++++++++++++++++++++++++++++++++++++-
- src/hb-subset.cc | 50
- +------------------------------------------------
+ src/hb-ot-glyf-table.hh | 49 +++++++++++++++++++++++++++++++++++++++++++++++-
+ src/hb-subset.cc | 50 +------------------------------------------------
2 files changed, 49 insertions(+), 50 deletions(-)
commit d1f16fce963092404bf0b59e449a3215ca031b54
@@ -33684,11 +33500,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 20 10:32:09 2018 -0800
Don't use %zu
-
- Some of our bots / compilers don't like it. Wasn't caught by bots
- because this
+
+ Some of our bots / compilers don't like it. Wasn't caught by bots because this
is only in debug code.
-
+
https://github.com/harfbuzz/harfbuzz/pull/809/commits/825ad378e0f0e6e6bb690894a0d5d25f198be21b
src/hb-ot-cmap-table.hh | 2 +-
@@ -33717,7 +33532,7 @@ Author: Dominik Röttsches <drott@chromium.org>
Date: Tue Feb 20 10:26:07 2018 +0200
Use %zu format specifier for size_t to fix cross platform build
-
+
Fixes Chromium Android builds, compare
https://ci.chromium.org/buildbot/tryserver.chromium.android/linux_android_rel_ng/491787
@@ -33740,8 +33555,7 @@ Date: Mon Feb 19 23:27:08 2018 +0330
[aat] First dig on 'trak'
src/Makefile.sources | 3 +-
- src/hb-aat-layout-trak-table.hh | 100
- ++++++++++++++++++++++++++++++++++++++++
+ src/hb-aat-layout-trak-table.hh | 100 ++++++++++++++++++++++++++++++++++++++++
src/hb-aat-layout.cc | 3 +-
src/hb-ot-layout-private.hh | 6 ++-
4 files changed, 108 insertions(+), 4 deletions(-)
@@ -33798,7 +33612,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Mon Feb 19 11:06:13 2018 +0330
Test debug builds on ArchLinux bot
-
+
Fixes #805
.circleci/config.yml | 6 +++---
@@ -33809,14 +33623,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Feb 18 17:28:53 2018 -0800
Limit how much work sanitize() can do
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6022
src/Makefile.am | 2 ++
- src/hb-open-type-private.hh | 16
- ++++++++++++++--
- .../233c1e252e737ca79e03a9fd56b71aaa4a230f2b.ttf | Bin 0 ->
- 1048576 bytes
+ src/hb-open-type-private.hh | 16 ++++++++++++++--
+ .../233c1e252e737ca79e03a9fd56b71aaa4a230f2b.ttf | Bin 0 -> 1048576 bytes
test/shaping/data/in-house/tests/fuzzed.tests | 1 +
4 files changed, 17 insertions(+), 2 deletions(-)
@@ -33834,7 +33646,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Feb 18 16:27:59 2018 -0800
Fix debug build
-
+
Context needs to be called 'c'. The TRACE_* rely on that.
src/hb-ot-cmap-table.hh | 22 +++++++++++-----------
@@ -33863,10 +33675,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Feb 18 15:57:09 2018 -0800
Readjust mark attachment heuristic a bit more
-
+
Previously adjusted logic could fail if nothing around was ligated,
and something moved. This should take care of that.
-
+
CC https://github.com/harfbuzz/harfbuzz/issues/740
src/hb-ot-layout-gpos-table.hh | 5 ++++-
@@ -33878,8 +33690,7 @@ Date: Sun Feb 18 15:42:25 2018 -0800
[test] Add test for https://github.com/harfbuzz/harfbuzz/issues/740
- .../fonts/573d3a3177c9a8646e94c8a0d7b224334340946a.ttf | Bin 0 ->
- 5680 bytes
+ .../fonts/573d3a3177c9a8646e94c8a0d7b224334340946a.ttf | Bin 0 -> 5680 bytes
test/shaping/data/in-house/tests/use.tests | 1 +
2 files changed, 1 insertion(+)
@@ -33890,8 +33701,7 @@ Date: Mon Feb 19 03:17:44 2018 +0330
[aat] First dig on 'kerx' (#704)
src/Makefile.sources | 1 +
- src/hb-aat-layout-kerx-table.hh | 377
- ++++++++++++++++++++++++++++++++++++++++
+ src/hb-aat-layout-kerx-table.hh | 377 ++++++++++++++++++++++++++++++++++++++++
src/hb-aat-layout.cc | 1 +
src/hb-ot-layout-private.hh | 2 +
4 files changed, 381 insertions(+)
@@ -33902,7 +33712,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Feb 18 14:04:33 2018 -0800
Merge pull request #796 from ebraminio/dev-run
-
+
Add a continuous builder using fswatch
commit e91644786bf7c278e75962b851d5d47011ff175c
@@ -33939,7 +33749,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sun Feb 18 23:25:15 2018 +0330
Another attempt on fixing coverity
-
+
I hope I am in a correct direction at least
.travis.yml | 5 ++---
@@ -33951,7 +33761,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Feb 18 11:35:51 2018 -0800
Merge pull request #800 from harfbuzz/bitops
-
+
Optimize set through optimized bit operations
commit 97a71102153d28982297a190739c7d82e76b109e
@@ -33959,7 +33769,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Feb 18 10:50:24 2018 -0800
Fix BitScanForward() usage
-
+
Should fix Win64 bot.
src/hb-private.hh | 4 ++--
@@ -33977,7 +33787,7 @@ Author: David Corbett <corbett.dav@husky.neu.edu>
Date: Fri Feb 16 12:08:55 2018 -0500
Do not mark the first glyph as unsafe to break
-
+
Fixes #791.
src/hb-buffer-private.hh | 3 +--
@@ -34019,11 +33829,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Feb 16 16:58:17 2018 -0800
Misc fixes
-
+
Should bring bag djgpp bot.
- src/hb-ot-os2-table.hh | 54
- +++++++++++++++++++++++++-------------------------
+ src/hb-ot-os2-table.hh | 54 +++++++++++++++++++++++++-------------------------
src/hb-subset-plan.cc | 16 +++++++--------
2 files changed, 34 insertions(+), 36 deletions(-)
@@ -34035,8 +33844,7 @@ Date: Fri Feb 16 17:02:51 2018 -0700
.../api/fonts/Roboto-Regular.components.subset.ttf | Bin 0 -> 2052 bytes
test/api/fonts/Roboto-Regular.components.ttf | Bin 0 -> 2572 bytes
- test/api/test-subset-glyf.c | 21
- +++++++++++++++++++++
+ test/api/test-subset-glyf.c | 21 +++++++++++++++++++++
3 files changed, 21 insertions(+)
commit c36d015b0e9c363431cd9d228b776ad419fde474
@@ -34052,8 +33860,7 @@ commit 2130392dcc30784ee34c487ab16316006c91f16d
Author: Garret Rieger <grieger@google.com>
Date: Fri Feb 16 17:01:00 2018 -0700
- [subset] Add support for updating reference gids in components to
- their new values.
+ [subset] Add support for updating reference gids in components to their new values.
src/hb-subset-glyf.cc | 38 +++++++++++++++++++++++++++++++++-----
1 file changed, 33 insertions(+), 5 deletions(-)
@@ -34062,11 +33869,9 @@ commit 49544eb860e523838892d6ce88eeca72ffd19da4
Author: Garret Rieger <grieger@google.com>
Date: Fri Feb 16 16:56:15 2018 -0700
- [subset] Refactor composite glyf iteration code into an Iterator
- outside of the accelerator.
+ [subset] Refactor composite glyf iteration code into an Iterator outside of the accelerator.
- src/hb-ot-glyf-table.hh | 110
- +++++++++++++++++++++++++-----------------------
+ src/hb-ot-glyf-table.hh | 110 +++++++++++++++++++++++++-----------------------
src/hb-subset-plan.cc | 6 +--
2 files changed, 60 insertions(+), 56 deletions(-)
@@ -34074,8 +33879,7 @@ commit dc6d67df1395faf38d7587b1dd3c6661ee7cd6f0
Author: Garret Rieger <grieger@google.com>
Date: Fri Feb 16 15:20:14 2018 -0700
- [subset] Use gids_to_retain_sorted to produce old gid -> new gid
- mapping since it now has the more complete set.
+ [subset] Use gids_to_retain_sorted to produce old gid -> new gid mapping since it now has the more complete set.
src/hb-subset-plan.cc | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
@@ -34094,8 +33898,7 @@ commit 58a54c9d4f72e228c012451c4469da730742d3d8
Author: Garret Rieger <grieger@google.com>
Date: Fri Feb 16 11:20:38 2018 -0700
- [subset] add constant to get_composite and in_table methods in
- hb-ot-glyf-table
+ [subset] add constant to get_composite and in_table methods in hb-ot-glyf-table
src/hb-ot-glyf-table.hh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -34113,11 +33916,9 @@ commit d3684141437fad6ebf5f9945f92125c9a42ea853
Author: Garret Rieger <grieger@google.com>
Date: Thu Feb 15 14:03:34 2018 -0800
- [subset] add helper methods to glyf accelerator for reading composite
- glyph information.
+ [subset] add helper methods to glyf accelerator for reading composite glyph information.
- src/hb-ot-glyf-table.hh | 115
- ++++++++++++++++++++++++++++++++++++++++++++++--
+ src/hb-ot-glyf-table.hh | 115 ++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 112 insertions(+), 3 deletions(-)
commit cd11107bb44ac719709e10264e9e6ba6a1cfae0c
@@ -34125,7 +33926,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Feb 16 18:28:58 2018 -0800
Another bitops fallback fix
-
+
I'm confident that all bugs are hashed out now.
src/hb-private.hh | 4 ++--
@@ -34146,8 +33947,7 @@ Date: Fri Feb 16 18:14:41 2018 -0800
[set] Implement iteration using bitop intrinsics
- src/hb-set-private.hh | 55
- ++++++++++++++++++---------------------------------
+ src/hb-set-private.hh | 55 ++++++++++++++++++---------------------------------
1 file changed, 19 insertions(+), 36 deletions(-)
commit 6a91a2eb04951f6e33706c2b8e9cd987b429fce9
@@ -34183,8 +33983,7 @@ Date: Fri Feb 16 16:52:09 2018 -0800
Flesh out other bit ops some more for 128bit as well
- src/hb-private.hh | 165
- +++++++++++++++++++++++++++++++++++++++++-------------
+ src/hb-private.hh | 165 +++++++++++++++++++++++++++++++++++++++++-------------
1 file changed, 126 insertions(+), 39 deletions(-)
commit 864a2dddae9eb1303c59d0d3717fce307a72a524
@@ -34192,7 +33991,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Feb 16 14:21:40 2018 -0800
Clean up bit functions
-
+
Compile all code-paths possible, to better catch errors.
Also enable MSVC ones on mingw which seems to support them.
@@ -34204,14 +34003,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Feb 16 16:06:17 2018 -0800
Improve _hb_popcount()
-
+
Support 128bit type.
configure.ac | 3 ++-
src/hb-ot-layout-gpos-table.hh | 2 +-
src/hb-ot-map.cc | 2 +-
- src/hb-private.hh | 61
- +++++++++++++++++++++++++++---------------
+ src/hb-private.hh | 61 +++++++++++++++++++++++++++---------------
4 files changed, 44 insertions(+), 24 deletions(-)
commit 7b5ce7404716a17f91ff86d374c7b76ee7ce3247
@@ -34230,9 +34028,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Feb 16 15:36:20 2018 -0800
Enable C99 if available
-
- Hopefully we can now mix-and-match code and declaration in the C
- test files.
+
+ Hopefully we can now mix-and-match code and declaration in the C test files.
configure.ac | 1 +
1 file changed, 1 insertion(+)
@@ -34243,7 +34040,7 @@ Author: rsheeter <rsheeter@google.com>
Date: Fri Feb 16 15:27:29 2018 -0800
Merge pull request #792 from googlefonts/master
-
+
Support more tables in subsetter
commit 882a3bf4abcdac60414db41d54dbbb7d2368c908
@@ -34271,9 +34068,8 @@ Author: Arkady Shapkin <arkady.shapkin@gmail.com>
Date: Fri Feb 16 21:45:08 2018 +0300
Remove checking macros __OPTIMIZE__ for MSVC
-
- Visual C++ compiler doesn't define macros __OPTIMIZE__ when
- optimizations enabled
+
+ Visual C++ compiler doesn't define macros __OPTIMIZE__ when optimizations enabled
src/hb-private.hh | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
@@ -34411,7 +34207,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Thu Feb 15 02:52:15 2018 +0200
Move collect_logs to .ci dir
-
+
Next to other CI scripts.
.collect_logs => .ci/collect-logs.sh | 0
@@ -34435,8 +34231,7 @@ Date: Wed Feb 14 19:36:33 2018 -0800
[subset] cmap space bracket
- src/hb-ot-cmap-table.hh | 72
- ++++++++++++++++++++++++-------------------------
+ src/hb-ot-cmap-table.hh | 72 ++++++++++++++++++++++++-------------------------
1 file changed, 36 insertions(+), 36 deletions(-)
commit e158739bfb9e5d60989e179fcc8744f3125e2067
@@ -34488,8 +34283,7 @@ commit 83f57e24bfc2000373192ec44b067fdd7dee8a65
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 14 18:43:53 2018 -0800
- [test] Reinstate
- test/shaping/data/in-house/tests/myanmar-syllable.tests
+ [test] Reinstate test/shaping/data/in-house/tests/myanmar-syllable.tests
test/shaping/data/in-house/tests/myanmar-syllable.tests | 1 +
1 file changed, 1 insertion(+)
@@ -34505,11 +34299,9 @@ commit 04c1ec2b7396c05f6e8afc9d87679422782aa1e8
Author: Garret Rieger <grieger@google.com>
Date: Wed Feb 14 17:00:18 2018 -0800
- [subset] Don't fail on different checksum adjustment in subsetting
- tests.
+ [subset] Don't fail on different checksum adjustment in subsetting tests.
- .../expected/basics/Roboto-Regular.abc.default.62.ttf | Bin 1740 ->
- 1692 bytes
+ .../expected/basics/Roboto-Regular.abc.default.62.ttf | Bin 1740 -> 1692 bytes
test/subset/run-tests.py | 8 ++++++++
2 files changed, 8 insertions(+)
@@ -34526,8 +34318,7 @@ commit b56c9384bcc177236debd26fdbbf14319e4c62b9
Author: Garret Rieger <grieger@google.com>
Date: Wed Feb 14 16:05:39 2018 -0800
- [subset] Add missing face reference in hb-subset-plan plus ensure
- all struct members are cleaned up on destroy.
+ [subset] Add missing face reference in hb-subset-plan plus ensure all struct members are cleaned up on destroy.
src/hb-subset-plan.cc | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
@@ -34536,8 +34327,7 @@ commit e0ffebead6230b8e1ee8dd97425505706321793e
Author: Garret Rieger <grieger@google.com>
Date: Wed Feb 14 16:01:08 2018 -0800
- [subset] In hb-subset-test use hb_set_union instead of manually
- copying set.
+ [subset] In hb-subset-test use hb_set_union instead of manually copying set.
test/api/hb-subset-test.h | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
@@ -34566,11 +34356,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 14 15:46:27 2018 -0800
Another linker tweaking
-
+
Trying to fix this warning:
- cc1: warning: command line option ‘-fno-threadsafe-statics’ is
- valid for C++/ObjC++ but not for C
-
+ cc1: warning: command line option ‘-fno-threadsafe-statics’ is valid for C++/ObjC++ but not for C
+
Let's see what the clang bots think of it.
src/Makefile.am | 4 ++--
@@ -34581,7 +34370,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 14 15:44:48 2018 -0800
[set] Tune size again
-
+
Switch from a 128+64 hierarchy, to 32+32. New page size is 1024.
This should make set iteration faster, without affecting other op
performances much.
@@ -34623,8 +34412,7 @@ commit 88d56e241bd6bb768656d77cf8f99ccc97fb2446
Author: Rod Sheeter <rsheeter@google.com>
Date: Wed Feb 14 15:20:43 2018 -0800
- [subset] Use a supplier instead of memcpy and fix a few unnecessary
- {}s for cmap
+ [subset] Use a supplier instead of memcpy and fix a few unnecessary {}s for cmap
src/hb-ot-cmap-table.hh | 24 ++++++------------------
1 file changed, 6 insertions(+), 18 deletions(-)
@@ -34655,8 +34443,7 @@ Date: Wed Feb 14 14:16:25 2018 -0800
src/hb-ot-cmap-table.hh | 19 +--
src/hb-ot-hhea-table.hh | 6 +-
- src/hb-ot-hmtx-table.hh | 163
- ++++++++++++++++++---
+ src/hb-ot-hmtx-table.hh | 163 ++++++++++++++++++---
src/hb-ot-maxp-table.hh | 8 +-
src/hb-ot-os2-table.hh | 8 +-
src/hb-subset-glyf.cc | 5 +-
@@ -34672,16 +34459,14 @@ Date: Wed Feb 14 14:16:25 2018 -0800
test/api/fonts/Inconsolata-Regular.ac.ttf | Bin 0 -> 4940 bytes
test/api/fonts/Inconsolata-Regular.ac.widerc.ttf | Bin 0 -> 4944 bytes
test/api/fonts/README | 2 +
- test/api/test-subset-hmtx.c | 164
- ++++++++++++++++++++++
+ test/api/test-subset-hmtx.c | 164 ++++++++++++++++++++++
19 files changed, 422 insertions(+), 79 deletions(-)
commit 20022575c658b29796db80c387641309d0c49586
Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Thu Feb 15 01:15:39 2018 +0330
- Redirect email notifications to another mailing list dedicated for
- this (#790)
+ Redirect email notifications to another mailing list dedicated for this (#790)
.travis.yml | 4 ++--
appveyor.yml | 5 +++++
@@ -34749,7 +34534,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 14 10:55:25 2018 -0800
[subset] Allow linking to libstdc++
-
+
We want to use it.
src/Makefile.am | 2 +-
@@ -34775,11 +34560,9 @@ commit b0eefacf4cb885f510f9551bf2e9216808ca61e8
Author: Garret Rieger <grieger@google.com>
Date: Mon Feb 12 18:15:58 2018 -0800
- [subset] Drop GSUB, GDEF, GPOS, and DSIG from subsetter expected
- test outputs.
+ [subset] Drop GSUB, GDEF, GPOS, and DSIG from subsetter expected test outputs.
- .../expected/basics/Roboto-Regular.abc.default.62.ttf | Bin 2460 ->
- 1740 bytes
+ .../expected/basics/Roboto-Regular.abc.default.62.ttf | Bin 2460 -> 1740 bytes
test/subset/generate-expected-outputs.py | 1 +
2 files changed, 1 insertion(+)
@@ -34811,8 +34594,7 @@ Date: Mon Feb 12 17:42:20 2018 -0800
test/api/Makefile.am | 2 ++
test/api/fonts/Roboto-Regular.b.ttf | Bin 0 -> 1996 bytes
- test/api/test-subset-os2.c | 59
- ++++++++++++++++++++++++++++++++++++
+ test/api/test-subset-os2.c | 59 ++++++++++++++++++++++++++++++++++++
3 files changed, 61 insertions(+)
commit 343dfe89655683966836e44afb4fd32c47377844
@@ -34828,8 +34610,7 @@ commit 24904383df03c472c865bd97bfe844f5e86a7172
Author: Garret Rieger <grieger@google.com>
Date: Mon Feb 12 17:31:01 2018 -0800
- [subset] Correct usFirstCharIndex and usLastCharIndex in OS2 table
- when subsetting.
+ [subset] Correct usFirstCharIndex and usLastCharIndex in OS2 table when subsetting.
src/hb-ot-os2-table.hh | 45 +++++++++++++++++++++++++++++++++++++++++++++
src/hb-subset.cc | 16 ++++++++++------
@@ -34849,14 +34630,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 14 01:00:10 2018 -0800
[set] Add backwards iterator
-
+
New API:
- hb_set_previous()
- hb_set_previous_range()
docs/harfbuzz-sections.txt | 2 ++
- src/hb-set-private.hh | 79
- +++++++++++++++++++++++++++++++++++++++++++++-
+ src/hb-set-private.hh | 79 +++++++++++++++++++++++++++++++++++++++++++++-
src/hb-set.cc | 49 +++++++++++++++++++++++++++-
src/hb-set.h | 19 ++++++++---
test/api/test-set.c | 53 +++++++++++++++++++++++++++++--
@@ -34876,7 +34656,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 13 22:12:36 2018 -0800
Add hb_blob_copy_writable_or_fail()
-
+
New API:
- hb_blob_copy_writable_or_fail()
@@ -34890,7 +34670,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 13 22:07:12 2018 -0800
[subset] Rename constructor to hb_subset_input_create_or_fail()
-
+
To signify that unlike rest of library, returns nullptr on failure.
src/hb-subset-input.cc | 6 ++----
@@ -34907,8 +34687,7 @@ Date: Tue Feb 13 21:46:28 2018 -0800
[use] Add dump-use-data
src/Makefile.am | 4 ++++
- src/dump-use-data.cc | 38
- ++++++++++++++++++++++++++++++++++
+ src/dump-use-data.cc | 38 ++++++++++++++++++++++++++++++++++
src/gen-use-table.py | 2 +-
src/hb-ot-shape-complex-use-private.hh | 2 +-
src/hb-ot-shape-complex-use-table.cc | 2 +-
@@ -34924,8 +34703,7 @@ Date: Tue Feb 13 21:41:51 2018 -0800
src/Makefile.am | 4 +
src/Makefile.sources | 1 +
src/dump-khmer-data.cc | 43 +++++++++++
- src/hb-ot-shape-complex-khmer-private.hh | 124
- +++++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-khmer-private.hh | 124 +++++++++++++++++++++++++++++++
src/hb-ot-shape-complex-khmer.cc | 98 +-----------------------
5 files changed, 173 insertions(+), 97 deletions(-)
@@ -34939,8 +34717,7 @@ Date: Tue Feb 13 21:38:15 2018 -0800
src/Makefile.sources | 1 +
src/dump-myanmar-data.cc | 43 ++++++++
src/hb-ot-shape-complex-indic-private.hh | 8 +-
- src/hb-ot-shape-complex-myanmar-private.hh | 171
- +++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-myanmar-private.hh | 171 +++++++++++++++++++++++++++++
src/hb-ot-shape-complex-myanmar.cc | 138 +----------------------
6 files changed, 225 insertions(+), 140 deletions(-)
@@ -34949,7 +34726,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 13 21:23:38 2018 -0800
[indic] Rename print-indic-table to dump-indic-data
-
+
Makes more sense given what this prints, err, dumps.
src/Makefile.am | 8 ++++----
@@ -34961,11 +34738,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 13 21:22:47 2018 -0800
[indic] Explicitly number indic_position_t
-
+
So it's easier to cross-reference from output of print-indic-table.
- src/hb-ot-shape-complex-indic-private.hh | 32
- ++++++++++++++++----------------
+ src/hb-ot-shape-complex-indic-private.hh | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
commit 8634846a0a1049c42ea84ca34402957c981b4c73
@@ -34983,11 +34759,9 @@ Date: Tue Feb 13 19:01:03 2018 -0800
[indic] Share some copy/pasta code
- src/hb-ot-shape-complex-indic-private.hh | 29
- +++++++++++++++++++++++++++--
+ src/hb-ot-shape-complex-indic-private.hh | 29 +++++++++++++++++++++++++++--
src/hb-ot-shape-complex-indic.cc | 27 ---------------------------
- src/hb-ot-shape-complex-khmer.cc | 30
- ++++++++----------------------
+ src/hb-ot-shape-complex-khmer.cc | 30 ++++++++----------------------
src/hb-ot-shape-complex-myanmar.cc | 19 ++-----------------
4 files changed, 37 insertions(+), 68 deletions(-)
@@ -34998,10 +34772,8 @@ Date: Tue Feb 13 18:54:26 2018 -0800
[indic] Add print-indic-table
src/Makefile.am | 14 ++-
- src/hb-ot-shape-complex-indic-private.hh | 185
- ++++++++++++++++++++++++++++++
- src/hb-ot-shape-complex-indic.cc | 187
- -------------------------------
+ src/hb-ot-shape-complex-indic-private.hh | 185 ++++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-indic.cc | 187 -------------------------------
src/print-indic-table.cc | 43 +++++++
4 files changed, 239 insertions(+), 190 deletions(-)
@@ -35010,7 +34782,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 13 16:35:30 2018 -0800
[subset] Fix loca offsets
-
+
Was writing source font's offsets. Ouch.
src/hb-subset-glyf.cc | 30 +++++++++++-------------------
@@ -35021,11 +34793,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 13 14:02:59 2018 -0800
Another tweak at libstdc++ things
-
+
To fix this warning:
-
- cc1: warning: command line option ‘-fno-threadsafe-statics’ is
- valid for C++/ObjC++ but not for C
+
+ cc1: warning: command line option ‘-fno-threadsafe-statics’ is valid for C++/ObjC++ but not for C
src/Makefile.am | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
@@ -35057,8 +34828,7 @@ Date: Tue Feb 13 13:50:50 2018 -0800
src/Makefile.sources | 1 +
src/hb-face.h | 1 -
src/hb-set.cc | 14 +++---
- src/hb-subset-input.cc | 109
- ++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-subset-input.cc | 109 ++++++++++++++++++++++++++++++++++++++++++++
src/hb-subset-plan.cc | 2 +-
src/hb-subset-private.hh | 11 ++++-
src/hb-subset.cc | 40 ++--------------
@@ -35073,7 +34843,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 13 13:39:50 2018 -0800
Disable threadsafe static's for all libraries
-
+
Even in libharfbuzz-subset, we still will handle our own threadsafety
for statics.
@@ -35103,7 +34873,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Feb 12 18:51:10 2018 -0800
[subset] Allocate bulk memory with malloc(), not calloc()
-
+
We use calloc() to allocate simple structs and set them to zero.
For bulk memory, use malloc() that doesn't zero.
@@ -35115,7 +34885,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Feb 12 18:48:51 2018 -0800
Use hb_face_get_upem() instead of face->get_upem()
-
+
Such that hmtx accelerator can be used from libharfbuzz-subset.
src/hb-ot-cbdt-table.hh | 2 +-
@@ -35127,7 +34897,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Feb 12 18:43:42 2018 -0800
[subset] Remove unreachable code
-
+
sanitizer.sanitize never return nullptr.
src/hb-subset.cc | 4 ----
@@ -35138,9 +34908,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Feb 12 18:41:36 2018 -0800
Allow libharfbuzz-subset to link to libstdc++
-
+
We want to use it instead of reinventing hashmap...
-
+
Also, don't change linker for ICU since libicu also uses libstdc++.
src/Makefile.am | 2 --
@@ -35185,8 +34955,7 @@ Date: Mon Feb 12 16:01:15 2018 -0800
.../Roboto-Regular.abc.cmap-format12-only.ttf | Bin 0 -> 2412 bytes
.../fonts/Roboto-Regular.ac.cmap-format12-only.ttf | Bin 0 -> 2212 bytes
test/api/hb-subset-test.h | 3 +-
- test/api/test-subset-cmap.c | 82
- +++++++++++++++++++++
+ test/api/test-subset-cmap.c | 82 +++++++++++++++++++++
test/api/test-subset-glyf.c | 5 +-
.../data/in-house/tests/myanmar-syllable.tests | 1 -
8 files changed, 87 insertions(+), 7 deletions(-)
@@ -35216,13 +34985,10 @@ commit 1639bdd33122dc8e5522b95c37660273d1fc609e
Author: Garret Rieger <grieger@google.com>
Date: Mon Feb 12 13:40:42 2018 -0800
- [subset] Remove test-subset, testing is planned to be done at the
- table level here with test/subset covering the complete subsetting
- operation.
+ [subset] Remove test-subset, testing is planned to be done at the table level here with test/subset covering the complete subsetting operation.
test/api/Makefile.am | 1 -
- test/api/test-subset.c | 73
- --------------------------------------------------
+ test/api/test-subset.c | 73 --------------------------------------------------
2 files changed, 74 deletions(-)
commit 4cdd1b16c99f2681eb11d626c4408eebcc1672be
@@ -35238,31 +35004,26 @@ commit 1714feef4f7ec9e758e65edcbe5d5591562f46ee
Author: Garret Rieger <grieger@google.com>
Date: Mon Feb 12 13:35:17 2018 -0800
- [subset] re-enable test-subset-glyf. Refactor to use common functions
- in hb-subset-test.h
+ [subset] re-enable test-subset-glyf. Refactor to use common functions in hb-subset-test.h
- test/api/test-subset-glyf.c | 109
- +++++++++++---------------------------------
+ test/api/test-subset-glyf.c | 109 +++++++++++---------------------------------
1 file changed, 27 insertions(+), 82 deletions(-)
commit d8d8bd8405ec0db781c4c2bbb7ebd6ff520b3c2d
Author: Garret Rieger <grieger@google.com>
Date: Mon Feb 12 13:33:55 2018 -0800
- [subset] Add some helper functions for writing tests around
- subsetting.
+ [subset] Add some helper functions for writing tests around subsetting.
test/api/Makefile.am | 2 +-
- test/api/hb-subset-test.h | 123
- ++++++++++++++++++++++++++++++++++++++++++++++
+ test/api/hb-subset-test.h | 123 ++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 124 insertions(+), 1 deletion(-)
commit e8318188c0e53a267a01c45b0fc8d29ad775738a
Author: Garret Rieger <grieger@google.com>
Date: Mon Feb 12 11:38:28 2018 -0800
- [subset] Fix loca generation, was previously writing the original
- glyph starting offset.
+ [subset] Fix loca generation, was previously writing the original glyph starting offset.
src/hb-subset-glyf.cc | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
@@ -35272,7 +35033,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Mon Feb 12 16:45:36 2018 +0200
Rename --with-stdcpp → --with-libstdc++
-
+
Also improve wording a bit and fix make check in --with-libstdc++=yes.
configure.ac | 11 ++++++-----
@@ -35356,8 +35117,7 @@ commit 91f0d51f0525097fef6173046379a89414cb515f
Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Mon Feb 12 17:20:12 2018 +0330
- Fix symbol exporting issue on msys2 and ✅ bringing all the bots
- (#781)
+ Fix symbol exporting issue on msys2 and ✅ bringing all the bots (#781)
src/Makefile.am | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
@@ -35426,13 +35186,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Feb 11 19:12:52 2018 -0800
Remove linker selection from hb-ucdn
-
- Since this is a convenience library, it's not actually linked. Or
- so I think.
+
+ Since this is a convenience library, it's not actually linked. Or so I think.
Hoping this might fix this Appveyor failure:
-
+
https://ci.appveyor.com/project/harfbuzz/harfbuzz/build/job/9884jyb5vryja9pw
-
+
Making all in hb-ucdn
make[4]: Entering directory '/c/projects/harfbuzz/src/hb-ucdn'
CC libhb_ucdn_la-ucdn.lo
@@ -35465,7 +35224,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Feb 11 18:28:10 2018 -0800
Add Sun compiler to no-visibility as well
-
+
Fixes https://github.com/harfbuzz/harfbuzz/pull/776
src/hb-private.hh | 2 +-
@@ -35485,7 +35244,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Feb 11 18:24:22 2018 -0800
Another try at fixing multiple-defintion of NullPool
-
+
This one might do it...
src/hb-open-type-private.hh | 6 +++++-
@@ -35505,7 +35264,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Feb 11 19:46:06 2018 -0600
[subset] Another fixup
-
+
I broke this in c31fcf4c58d96eb7d9781a986991b1a79ac7be44
src/hb-ot-cmap-table.hh | 2 +-
@@ -35517,7 +35276,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Feb 11 19:34:05 2018 -0600
Try at fixing multiple-definition of NullPool
-
+
If we don't have visibility, make NullPool static.
src/hb-open-type-private.hh | 8 +++++++-
@@ -35530,7 +35289,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Feb 11 19:01:44 2018 -0600
[subset] Use auto_array_t where it does make sense
-
+
Better fix for https://github.com/harfbuzz/harfbuzz/pull/775
src/hb-subset-plan.cc | 3 +--
@@ -35578,7 +35337,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Feb 10 21:50:26 2018 -0600
[gpos] Adjust mark attachment heuristic
-
+
Hopefully it...
fixes https://github.com/harfbuzz/harfbuzz/issues/740
@@ -35648,7 +35407,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Feb 10 15:40:03 2018 -0600
More fixes
-
+
test-subset-glyf still failing. No idea why :(
src/hb-subset.cc | 3 +--
@@ -35660,7 +35419,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Feb 10 15:17:28 2018 -0600
Fix more build issues
-
+
Hopefully most bots come back with this...
src/check-libstdc++.sh | 5 +++--
@@ -35686,9 +35445,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Feb 10 14:20:10 2018 -0600
[subset] Replace auto_array with prealloced_array
-
- auto_array has constructor/destructor. Cannot be used in POD object,
- as the clang
+
+ auto_array has constructor/destructor. Cannot be used in POD object, as the clang
bots all noticed...
src/hb-ot-cmap-table.hh | 8 ++++----
@@ -35788,9 +35546,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Feb 10 12:45:28 2018 -0600
[util] Use setlinebuf() if present
-
+
To work around mysterious bug on OS X.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/727
configure.ac | 6 ++----
@@ -35810,8 +35568,7 @@ commit d18decd2013f24f315dbd3b15cdd80c5a734e7e9
Author: Garret Rieger <grieger@google.com>
Date: Fri Feb 9 18:41:21 2018 -0800
- In glyf subsetting add suport for writing out a short loca table
- when possible.
+ In glyf subsetting add suport for writing out a short loca table when possible.
src/hb-subset-glyf.cc | 42 +++++++++++++++++++++++++++++++++---------
1 file changed, 33 insertions(+), 9 deletions(-)
@@ -35822,8 +35579,7 @@ Date: Fri Feb 9 17:33:34 2018 -0800
First pass at building a cmap
- src/hb-ot-cmap-table.hh | 103
- ++++++++++++++++++++++++++++++++++++++++++++----
+ src/hb-ot-cmap-table.hh | 103 ++++++++++++++++++++++++++++++++++++++++++++----
src/hb-subset.cc | 37 +++++++++--------
2 files changed, 115 insertions(+), 25 deletions(-)
@@ -35849,8 +35605,7 @@ commit 0089443756cdcef0182e55cf8480b96a64d31cc7
Author: Garret Rieger <grieger@google.com>
Date: Fri Feb 9 16:22:09 2018 -0800
- Keep a second set of glyph ids in subset plan which is sorted by
- glyph id and always has gid 0
+ Keep a second set of glyph ids in subset plan which is sorted by glyph id and always has gid 0
src/hb-subset-glyf.cc | 2 +-
src/hb-subset-plan.cc | 34 +++++++++++++++++++++++++---------
@@ -35863,8 +35618,7 @@ Date: Fri Feb 9 16:06:33 2018 -0800
Formatting for hb-subset-plan.
- src/hb-subset-plan.cc | 51
- +++++++++++++++++++++++++++------------------------
+ src/hb-subset-plan.cc | 51 +++++++++++++++++++++++++++------------------------
1 file changed, 27 insertions(+), 24 deletions(-)
commit 8cef3a61995317d3a5724221108647d7e66fe24a
@@ -35872,10 +35626,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Feb 9 16:04:23 2018 -0600
Try fixing build with Sun Studio
-
+
Trying to fix:
https://circleci.com/gh/harfbuzz/harfbuzz/6635
-
+
Also part of:
https://github.com/harfbuzz/harfbuzz/issues/630
@@ -35886,8 +35640,7 @@ commit 86aa4b3ba7cd075f01614874dae88a771b8c54fd
Author: Garret Rieger <grieger@google.com>
Date: Fri Feb 9 13:54:43 2018 -0800
- Return empty face on hb_subset failure instead of null. Plus some
- minor cleanups for _add_head_and_set_loca_version
+ Return empty face on hb_subset failure instead of null. Plus some minor cleanups for _add_head_and_set_loca_version
src/hb-subset.cc | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
@@ -35915,13 +35668,8 @@ Author: bungeman <bungeman@chromium.org>
Date: Thu Feb 1 13:31:25 2018 -0500
Documentation for HB_GLYPH_FLAG_UNSAFE_TO_BREAK.
-
- HB_GLYPH_FLAG_UNSAFE_TO_BREAK means that the glyph with this flag is
- somehow affected by the previous logical glyph (the previous index
- in the buffer if ltr and the next index if the buffer is rtl). If
- these two glyphs are separated by a break (line or otherwise) then the
- underlying text should be re-shaped on both sides up to corresponding
- position in the text of some glyph not marked with this flag.
+
+ HB_GLYPH_FLAG_UNSAFE_TO_BREAK means that the glyph with this flag is somehow affected by the previous logical glyph (the previous index in the buffer if ltr and the next index if the buffer is rtl). If these two glyphs are separated by a break (line or otherwise) then the underlying text should be re-shaped on both sides up to corresponding position in the text of some glyph not marked with this flag.
src/hb-buffer.h | 6 ++++++
1 file changed, 6 insertions(+)
@@ -35952,16 +35700,14 @@ Date: Fri Feb 9 11:05:17 2018 -0600
[test/text-rendering-tests] Update from upstream
- .../text-rendering-tests/fonts/TestMORXTwentysix.ttf | Bin 3260 ->
- 3252 bytes
+ .../text-rendering-tests/fonts/TestMORXTwentysix.ttf | Bin 3260 -> 3252 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit 1cd98d05e07498653ba60a68b6342d1a90429eba
Author: Rod Sheeter <rsheeter@google.com>
Date: Thu Feb 8 19:39:57 2018 -0800
- Create the groups for a cmap format12. Does not yet build the
- actual table.
+ Create the groups for a cmap format12. Does not yet build the actual table.
src/hb-ot-cmap-table.hh | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
@@ -35970,14 +35716,12 @@ commit 59c658c8d53481990fe0efa66422353d0687474b
Author: Rod Sheeter <rsheeter@google.com>
Date: Thu Feb 8 19:22:47 2018 -0800
- capture codepoints sorted so we can use them for cmap later. one
- day we will have a map
+ capture codepoints sorted so we can use them for cmap later. one day we will have a map
src/hb-ot-cmap-table.hh | 14 ---------
src/hb-private.hh | 61 +++++++++++++++++++++++++---------------
src/hb-subset-glyf.cc | 16 +++++------
- src/hb-subset-plan.cc | 75
- ++++++++++++++++++++++++++++++++++---------------
+ src/hb-subset-plan.cc | 75 ++++++++++++++++++++++++++++++++++---------------
src/hb-subset-plan.hh | 8 ++++--
src/hb-subset.cc | 29 ++++++++++++-------
6 files changed, 123 insertions(+), 80 deletions(-)
@@ -36013,8 +35757,7 @@ commit 5a34114f9685680d4a8cdf85a8ac90172c5620d7
Author: Garret Rieger <grieger@google.com>
Date: Thu Feb 8 18:32:24 2018 -0800
- Add an extra entry to the end of the loca table to identify the end
- of the last glyph's data.
+ Add an extra entry to the end of the loca table to identify the end of the last glyph's data.
src/hb-subset-glyf.cc | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
@@ -36026,8 +35769,7 @@ Date: Thu Feb 8 18:18:16 2018 -0800
Apply per table subsetting while building the new face in hb_subset.
src/hb-subset-glyf.cc | 1 +
- src/hb-subset.cc | 105
- ++++++++++++++++++++++++++++++--------------------
+ src/hb-subset.cc | 105 ++++++++++++++++++++++++++++++--------------------
2 files changed, 65 insertions(+), 41 deletions(-)
commit 3e81832432a1cae0dc28242bb6ff279753effd27
@@ -36093,8 +35835,7 @@ commit 42234424a0fc43d298be082b4c7b1e288e94bbb6
Author: Garret Rieger <grieger@google.com>
Date: Thu Feb 8 15:11:15 2018 -0800
- Fix include gaurds and include order in hb-subset-glyf and
- hb-subset-plan
+ Fix include gaurds and include order in hb-subset-glyf and hb-subset-plan
src/hb-subset-glyf.hh | 6 ++++--
src/hb-subset-plan.cc | 2 +-
@@ -36133,9 +35874,7 @@ commit f9420d9effcfb3464d4b99e54decb3d90e4a410d
Author: Garret Rieger <grieger@google.com>
Date: Thu Feb 8 11:30:36 2018 -0800
- In the hb-subset to fontTools comparison, use ttx to compare the
- fonts. This allows for some binary differences such as re-ordered
- tables.
+ In the hb-subset to fontTools comparison, use ttx to compare the fonts. This allows for some binary differences such as re-ordered tables.
test/subset/run-tests.py | 21 ++++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)
@@ -36146,8 +35885,7 @@ Date: Wed Feb 7 19:01:21 2018 -0800
Implement basic loca (long version only) subsetting.
- src/hb-subset-glyf.cc | 66
- +++++++++++++++++++++++++++++++++++----------------
+ src/hb-subset-glyf.cc | 66 +++++++++++++++++++++++++++++++++++----------------
1 file changed, 46 insertions(+), 20 deletions(-)
commit f9c665fed1347f7af6d36ba129f9d174f4ac54dc
@@ -36165,8 +35903,7 @@ commit f2ceb5ee4d745e0e6e754f0b0ea16b29dbedbf1b
Author: Garret Rieger <grieger@google.com>
Date: Wed Feb 7 16:47:31 2018 -0800
- Comment out failing assert in test-subset-glyf for now. Should be
- re-enabled once hb_subset is writing out a new face.
+ Comment out failing assert in test-subset-glyf for now. Should be re-enabled once hb_subset is writing out a new face.
test/api/test-subset-glyf.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
@@ -36180,8 +35917,7 @@ Date: Wed Feb 7 16:32:56 2018 -0800
test/api/Makefile.am | 4 +
test/api/fonts/Roboto-Regular.abc.ttf | Bin 0 -> 2460 bytes
test/api/fonts/Roboto-Regular.ac.ttf | Bin 0 -> 2268 bytes
- test/api/test-subset-glyf.c | 134
- ++++++++++++++++++++++++++++++++++
+ test/api/test-subset-glyf.c | 134 ++++++++++++++++++++++++++++++++++
4 files changed, 138 insertions(+)
commit 217ed5e3c885532fa8b332cc0d0f9cb4eef32e2b
@@ -36208,8 +35944,7 @@ commit 0859a006695097c2a66a07284f3cc5b8de8edb05
Author: Rod Sheeter <rsheeter@google.com>
Date: Wed Feb 7 15:59:36 2018 -0800
- sketch a subset<T> and call it for cmap. Add subset to cmap, albeit
- not working even for the msot basic case just yet
+ sketch a subset<T> and call it for cmap. Add subset to cmap, albeit not working even for the msot basic case just yet
src/hb-ot-cmap-table.hh | 18 ++++++++++++++++--
src/hb-subset.cc | 30 ++++++++++++++++++++++++++++++
@@ -36220,7 +35955,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 8 17:22:07 2018 -0600
Fix overflow in space fallback shaping
-
+
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=657466
src/hb-ot-shape-fallback.cc | 2 +-
@@ -36231,7 +35966,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 8 17:14:52 2018 -0600
Avoid undefined-behavior in fallback mark positioning
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5584
src/hb-ot-shape-fallback.cc | 11 ++++++-----
@@ -36274,10 +36009,8 @@ Date: Thu Feb 8 14:10:01 2018 -0600
test/shaping/data/text-rendering-tests/DISABLED | 2 ++
test/shaping/data/text-rendering-tests/Makefile.sources | 2 ++
- .../text-rendering-tests/fonts/TestMORXTwentyfive.ttf | Bin 0 ->
- 3260 bytes
- .../text-rendering-tests/fonts/TestMORXTwentysix.ttf | Bin 0 ->
- 3260 bytes
+ .../text-rendering-tests/fonts/TestMORXTwentyfive.ttf | Bin 0 -> 3260 bytes
+ .../text-rendering-tests/fonts/TestMORXTwentysix.ttf | Bin 0 -> 3260 bytes
.../data/text-rendering-tests/tests/MORX-25.tests | 9 +++++++++
.../data/text-rendering-tests/tests/MORX-26.tests | 2 ++
6 files changed, 15 insertions(+)
@@ -36334,14 +36067,12 @@ Date: Wed Feb 7 21:13:10 2018 -0600
[subset] Assemble font
- src/hb-open-file-private.hh | 50
- +++++++++++++++++++++++++++++++++++++++++++-
+ src/hb-open-file-private.hh | 50 +++++++++++++++++++++++++++++++++++++++++++-
src/hb-open-type-private.hh | 33 +++++++++++++++++++++++------
src/hb-ot-map-private.hh | 10 ++++-----
src/hb-private.hh | 20 +++++++++++-------
src/hb-set-private.hh | 8 +++----
- src/hb-subset.cc | 51
- +++++++++++++++++++++++++++++++++++++++------
+ src/hb-subset.cc | 51 +++++++++++++++++++++++++++++++++++++++------
test/api/test-subset.c | 9 ++++++--
7 files changed, 150 insertions(+), 31 deletions(-)
@@ -36350,7 +36081,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 7 18:07:45 2018 -0600
[set] Respect stride
-
+
Ouch!
src/hb-set-private.hh | 4 ++--
@@ -36379,9 +36110,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 7 16:44:52 2018 -0600
[subset] Create new face and copy all tables to it
-
- test-subset fails now because subset-face does not know how to
- compile itself.
+
+ test-subset fails now because subset-face does not know how to compile itself.
src/hb-subset.cc | 37 ++++++++++++++++++++++++++-----------
1 file changed, 26 insertions(+), 11 deletions(-)
@@ -36392,8 +36122,7 @@ Date: Wed Feb 7 13:28:11 2018 -0800
Refactor subset glyf to remove multiple calls to glyf.fini()
- src/hb-subset-glyf.cc | 52
- +++++++++++++++++++++++++++++----------------------
+ src/hb-subset-glyf.cc | 52 +++++++++++++++++++++++++++++----------------------
1 file changed, 30 insertions(+), 22 deletions(-)
commit 0a5d1440f829f07454592adde9dd3aa93ad74442
@@ -36402,8 +36131,7 @@ Date: Wed Feb 7 13:09:54 2018 -0800
Add implementation of glyf subsetting.
- src/hb-subset-glyf.cc | 81
- +++++++++++++++++++++++++++++++++++++++++++++++----
+ src/hb-subset-glyf.cc | 81 +++++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 76 insertions(+), 5 deletions(-)
commit 05d65baa1bb64664ba838993fd35f3899d52eb8d
@@ -36420,7 +36148,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 7 14:09:56 2018 -0600
Fix two undefined-behavior issues
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/761
Fixes https://github.com/harfbuzz/harfbuzz/issues/762
@@ -36453,13 +36181,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 7 13:47:35 2018 -0500
[subset] Add hb_subset_face
-
+
It's a hb_face_t that has add_table() and in the future knows how to
compile itself into a font blob.
src/hb-private.hh | 9 ++++++
- src/hb-subset.cc | 88
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-subset.cc | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 97 insertions(+)
commit af02812fc51812a7e2265a1100bbca1a5bf8af45
@@ -36471,8 +36198,7 @@ Date: Wed Feb 7 13:07:46 2018 -0500
src/hb-subset-plan.cc | 12 ++++++++---
src/hb-subset-plan.hh | 2 +-
src/hb-subset-private.hh | 10 ----------
- src/hb-subset.cc | 52
- ++++++++----------------------------------------
+ src/hb-subset.cc | 52 ++++++++----------------------------------------
src/hb-subset.h | 25 ++++++-----------------
test/api/test-subset.c | 9 +++++----
util/hb-subset.cc | 12 ++++++-----
@@ -36483,10 +36209,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 7 12:44:35 2018 -0500
Remove NullPool visibility hack
-
+
We keep a separate private NullPool in libharfbuzz-subset.so
- This can fire back later since now there are two separate null
- objects,
+ This can fire back later since now there are two separate null objects,
and comparisons to the null pool can be confused. Something to deal
with when it comes up. Ouch!
@@ -36498,8 +36223,7 @@ commit b95aa204ee284c47e63dc1e34b3c5b4bdf9e7ab7
Author: Rod Sheeter <rsheeter@google.com>
Date: Wed Feb 7 09:37:06 2018 -0800
- glyph ids to retain should most likely keep the glyph id not the
- codepoint
+ glyph ids to retain should most likely keep the glyph id not the codepoint
src/hb-subset-plan.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -36577,8 +36301,7 @@ commit d0ce3c66e2af2785203f7bbb1d4abca5c226045d
Author: Rod Sheeter <rsheeter@google.com>
Date: Tue Feb 6 16:58:35 2018 -0800
- Resolve codepoints:glyph ids. Does not compile; undefined reference
- to OT::_hb_NullPool
+ Resolve codepoints:glyph ids. Does not compile; undefined reference to OT::_hb_NullPool
src/hb-subset-plan.cc | 25 +++++++++++++++++++------
src/hb-subset-plan.hh | 2 +-
@@ -36623,8 +36346,7 @@ Date: Mon Feb 5 17:26:25 2018 -0800
Make hb-subset-plan private.
src/Makefile.sources | 2 +-
- src/hb-subset-plan.cc | 27
- ++++++++++++++++-----------
+ src/hb-subset-plan.cc | 27 ++++++++++++++++-----------
src/{hb-subset-plan.h => hb-subset-plan.hh} | 22 +++++++++++++---------
3 files changed, 30 insertions(+), 21 deletions(-)
@@ -36659,8 +36381,7 @@ Date: Mon Feb 5 15:22:30 2018 -0800
Add a basic sketch of hb-subset-plan.
src/Makefile.sources | 2 ++
- src/hb-subset-plan.cc | 72
- +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-subset-plan.cc | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-subset-plan.h | 49 +++++++++++++++++++++++++++++++++++
3 files changed, 123 insertions(+)
@@ -36679,7 +36400,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Feb 6 20:40:42 2018 +0330
[test] Fix test-subset on old distros (#758)
-
+
https://developer.gnome.org/glib/stable/glib-Testing.html#g-assert-cmpmem
test/api/test-subset.c | 4 ++++
@@ -36690,7 +36411,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 6 11:48:04 2018 -0500
[aat] Adjust unsafe-to-break logic some more
-
+
I believe I'm happy with it now.
src/hb-aat-layout-common-private.hh | 8 ++++----
@@ -36710,7 +36431,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 6 10:20:48 2018 -0500
[buffer] Tweak diff re glyph_flags again
-
+
We expect the buffer to have no flags that the reference doesn't...
Meh. Makes MORX tests pass now. Need to better define the behavior.
@@ -36740,7 +36461,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Feb 5 19:51:09 2018 -0500
Fix fallthrough compiler warning with gcc >= 7
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/755
src/hb-private.hh | 3 +++
@@ -36770,7 +36491,7 @@ Author: Garret Rieger <grieger@google.com>
Date: Mon Feb 5 15:35:13 2018 -0800
Merge pull request #754 from googlefonts/master
-
+
Fix build for subsetting code.
commit 2ea228935d41b55fed45b7423b69bc15b42e3abc
@@ -36786,8 +36507,7 @@ commit c25898eb54217e2a1c681233a6b9adcd7940652e
Author: Garret Rieger <grieger@google.com>
Date: Mon Feb 5 14:35:32 2018 -0800
- Switch to fopen() instead of open() in subset test. open wasn't
- compiling on windows.
+ Switch to fopen() instead of open() in subset test. open wasn't compiling on windows.
util/hb-subset.cc | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
@@ -36796,8 +36516,7 @@ commit fc04f11ce1999da042a39c5b271351223033292f
Author: Garret Rieger <grieger@google.com>
Date: Mon Feb 5 11:12:33 2018 -0800
- Rename HB_SUBSET_sources -> HB_SUBSET_CLI_sources to match what
- cmake is looking for.
+ Rename HB_SUBSET_sources -> HB_SUBSET_CLI_sources to match what cmake is looking for.
util/Makefile.am | 3 +--
util/Makefile.sources | 2 +-
@@ -36849,9 +36568,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Feb 4 20:01:35 2018 -0500
Merge pull request #745 from googlefonts/master
-
- Interface for hb_subset, skeleton for the hb-subset cli, and basic
- testing rigging.
+
+ Interface for hb_subset, skeleton for the hb-subset cli, and basic testing rigging.
commit 3615f344ec00059972d8ce75522022b5294764a7
Author: Behdad Esfahbod <behdad@behdad.org>
@@ -36861,8 +36579,7 @@ Date: Sun Feb 4 17:19:58 2018 -0500
test/shaping/data/text-rendering-tests/DISABLED | 1 +
test/shaping/data/text-rendering-tests/Makefile.sources | 3 ++-
- .../text-rendering-tests/fonts/TestMORXTwentythree.ttf | Bin 0 ->
- 1836 bytes
+ .../text-rendering-tests/fonts/TestMORXTwentythree.ttf | Bin 0 -> 1836 bytes
.../data/text-rendering-tests/tests/MORX-23.tests | 1 +
4 files changed, 4 insertions(+), 1 deletion(-)
@@ -36871,21 +36588,20 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Feb 4 14:58:02 2018 -0500
[aat] Fix unsafe-to-break
-
+
At any position, if state is not zero, mark unsafe-to-break before,
unless we can reason it safe.
-
+
At any position, if there's an action entry for end-of-text, mark
unsafe to break.
-
+
Also changes buffer diff impl to allow for flag differences as long
as the buffer glyph flags are superset of reference glyph flags.
-
+
With this, all MORX tests pass.
src/hb-aat-layout-common-private.hh | 31 +++++++++++++++++++++++++------
- src/hb-aat-layout-morx-table.hh | 35
- +++++++++++++++++++++++------------
+ src/hb-aat-layout-morx-table.hh | 35 +++++++++++++++++++++++------------
src/hb-buffer.cc | 2 +-
3 files changed, 49 insertions(+), 19 deletions(-)
@@ -36895,8 +36611,7 @@ Date: Sun Feb 4 12:31:24 2018 -0800
Actually call hb_subset
- util/hb-subset.cc | 51
- ++++++++++++++++++++++++++++++++++-----------------
+ util/hb-subset.cc | 51 ++++++++++++++++++++++++++++++++++-----------------
1 file changed, 34 insertions(+), 17 deletions(-)
commit 7b01761adef6f64f1139b30c985aa5f52314073a
@@ -36948,8 +36663,7 @@ Date: Thu Feb 1 18:22:14 2018 -0800
test/subset/run-tests.py | 15 +++---
util/Makefile.sources | 3 ++
- util/hb-subset.cc | 131
- +++++++++++++++++++++++++----------------------
+ util/hb-subset.cc | 131 +++++++++++++++++++++++++----------------------
3 files changed, 82 insertions(+), 67 deletions(-)
commit ede84ffa426edb950c4ec4f89833c85475a1c64f
@@ -37011,11 +36725,9 @@ commit a2965f2ea5428c19be54f998ef9152c5ff6975ea
Author: Garret Rieger <grieger@google.com>
Date: Wed Jan 31 14:53:09 2018 -0800
- Add a basic implementation of hb-subset to enable compilation of
- test-subset.
+ Add a basic implementation of hb-subset to enable compilation of test-subset.
- src/hb-subset.cc | 146
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-subset.cc | 146 +++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-subset.h | 5 +-
test/api/Makefile.am | 1 +
test/api/test-subset.c | 12 ++--
@@ -37025,11 +36737,9 @@ commit 38af23b8df1a84f24d379d27d1a1e20f9ce07f34
Author: Garret Rieger <grieger@google.com>
Date: Wed Jan 31 11:32:23 2018 -0800
- Make the expected output for subsetting basics test be equal to the
- input file for now.
+ Make the expected output for subsetting basics test be equal to the input file for now.
- .../expected/basics/Roboto-Regular.abc.default.62.ttf | Bin 1996 ->
- 2460 bytes
+ .../expected/basics/Roboto-Regular.abc.default.62.ttf | Bin 1996 -> 2460 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit b59c08eb045db2b6c952de81510b8159a4f72fb1
@@ -37038,20 +36748,17 @@ Date: Wed Jan 31 11:14:53 2018 -0800
Add the beginning of a unit test for hb-subset
- test/api/test-subset.c | 67
- ++++++++++++++++++++++++++++++++++++++++++++++++++
+ test/api/test-subset.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 67 insertions(+)
commit e9d154ac8ddd2712a34c53c95a17e469f95e5b30
Author: Rod Sheeter <rsheeter@google.com>
Date: Tue Jan 30 19:27:11 2018 -0800
- tweak test failure output. write to a temp file not stdout. test
- still fails because expected is not just an identical copy of input
+ tweak test failure output. write to a temp file not stdout. test still fails because expected is not just an identical copy of input
test/subset/run-tests.py | 41 +++++++++++++++++++++++++++----------
- util/hb-subset.cc | 53
- +++++++++++++++++++++++++++++++++---------------
+ util/hb-subset.cc | 53 +++++++++++++++++++++++++++++++++---------------
2 files changed, 67 insertions(+), 27 deletions(-)
commit cf403e1a53381f293aceac5cdbe031bbb2a7af77
@@ -37110,16 +36817,14 @@ Date: Fri Jan 26 16:57:42 2018 -0800
WIP test runner for subset tests.
- test/subset/run-tests.py | 64
- ++++++++++++++++++++++++++++++++++++++++++++++++
+ test/subset/run-tests.py | 64 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
commit cc46cd88a1b84b02694fa6d88c4286e93336f096
Author: Garret Rieger <grieger@google.com>
Date: Fri Jan 26 14:25:39 2018 -0800
- In generate-expected-outputs read the test definition with utf8
- encoding.
+ In generate-expected-outputs read the test definition with utf8 encoding.
test/subset/generate-expected-outputs.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
@@ -37128,16 +36833,14 @@ commit 4cdae914e2e2fff1ff91e2f42648a8acb82a5494
Author: Garret Rieger <grieger@google.com>
Date: Fri Jan 26 13:57:48 2018 -0800
- Add basic directory structure for subsetter integration tests. Plus
- a utility for generating expected output files.
+ Add basic directory structure for subsetter integration tests. Plus a utility for generating expected output files.
.../basics/Roboto-Regular.abc.default.62.ttf | Bin 0 -> 1996 bytes
test/subset/data/fonts/Roboto-Regular.abc.ttf | Bin 0 -> 2460 bytes
test/subset/data/profiles/default.txt | 0
test/subset/data/tests/basics.txt | 8 ++
test/subset/generate-expected-outputs.py | 40 ++++++++++
- test/subset/subset_test_suite.py | 82
- +++++++++++++++++++++
+ test/subset/subset_test_suite.py | 82 +++++++++++++++++++++
6 files changed, 130 insertions(+)
commit 9ccb8366f603a9e4a7a3c3f96420a19d4f6fb390
@@ -37149,8 +36852,7 @@ Date: Wed Jan 17 22:09:07 2018 -0800
src/Makefile.am | 2 ++
src/Makefile.sources | 4 +++
src/hb-subset.cc | 0
- src/hb-subset.h | 88
- +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-subset.h | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++
util/Makefile.am | 3 ++
util/Makefile.sources | 4 +++
util/hb-subset.cc | 61 +++++++++++++++++++++++++++++++++++
@@ -37161,9 +36863,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Feb 4 14:45:02 2018 -0500
[aat] More adjustment to ContextualSubtable
-
+
See comment.
-
+
With this, MORX-20 passes if I turn --verify off. Our unsafe-to-break
logic is currently broken in presence of end-of-text actions. That's,
ugh, extra work to fix. Let me try...
@@ -37194,7 +36896,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Feb 4 12:38:18 2018 -0500
[configure] Fix wording
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/741
configure.ac | 4 ++--
@@ -37205,7 +36907,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Feb 2 16:08:50 2018 -0500
[aat] In ContextualSubtable, mark mark after substituting mark
-
+
Fixes MORX-21.
src/hb-aat-layout-morx-table.hh | 16 ++++++++--------
@@ -37216,7 +36918,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Feb 2 15:53:25 2018 -0500
[aat] Fix ContextualSubtable sanitization
-
+
Fixes MORX-18, MORX-19, and MORX-22.
src/hb-aat-layout-morx-table.hh | 6 ++++--
@@ -37227,11 +36929,10 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Sun Feb 4 12:05:12 2018 +0200
Correctly show documentation build status
-
- Correctly show if building documentation is enabled or not in
- configure
+
+ Correctly show if building documentation is enabled or not in configure
summary.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/741
configure.ac | 2 +-
@@ -37242,7 +36943,7 @@ Author: Bruce Mitchener <bruce.mitchener@gmail.com>
Date: Sun Feb 4 01:26:57 2018 +0700
Enable use of atexit() on macOS and related platforms.
-
+
The atexit() man page indicates that this is expected to behave
in the expected way on unloading of shared libraries.
@@ -37279,8 +36980,7 @@ Date: Fri Feb 2 12:04:04 2018 -0500
src/hb-ot-shape-complex-myanmar.cc | 5 +++++
test/shaping/README.md | 10 +++++-----
test/shaping/data/in-house/Makefile.sources | 1 +
- .../fonts/af3086380b743099c54a3b11b96766039ea62fcd.ttf | Bin 0 ->
- 1536 bytes
+ .../fonts/af3086380b743099c54a3b11b96766039ea62fcd.ttf | Bin 0 -> 1536 bytes
test/shaping/data/in-house/tests/myanmar-syllable.tests | 1 +
6 files changed, 13 insertions(+), 6 deletions(-)
@@ -37324,7 +37024,7 @@ Author: Bruce Mitchener <bruce.mitchener@gmail.com>
Date: Wed Jan 31 22:24:51 2018 +0700
[ot-layout] Fix nullptr dereference.
-
+
If the `calloc` for `gsub_accels` or `gpos_accels` fails, then the
unlikely branch afterwards can be taken, which frees up the
`hb_ot_layout_t`, but since those fields can now be `nullptr`, then
@@ -37338,10 +37038,10 @@ Author: Bruce Mitchener <bruce.mitchener@gmail.com>
Date: Wed Jan 31 20:24:27 2018 +0700
[coretext] Fix memory leaks.
-
+
In `reference_table`, if the data is empty and we return early,
we still need to release the data object.
-
+
In `hb_coretext_shape`, there two edge cases where an early
return should release the attributed string.
@@ -37373,14 +37073,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 30 10:58:44 2018 -0800
[aat] Limit number of DontAdvance transitions
-
+
Remove the faulty loop-detection logic. Use max-ops for breaking
out of infinite loops or heavy work.
-
+
https://twitter.com/behdadesfahbod/status/958065026262183936
- src/hb-aat-layout-common-private.hh | 33
- ++-------------------------------
+ src/hb-aat-layout-common-private.hh | 33 ++-------------------------------
1 file changed, 2 insertions(+), 31 deletions(-)
commit e00743b47d25a2487b7f232a514a042e2962a089
@@ -37391,18 +37090,12 @@ Date: Mon Jan 29 10:07:05 2018 -0800
test/shaping/data/text-rendering-tests/DISABLED | 7 +++++++
test/shaping/data/text-rendering-tests/Makefile.sources | 7 +++++++
- .../data/text-rendering-tests/fonts/TestMORXEighteen.ttf | Bin 0 ->
- 3256 bytes
- .../text-rendering-tests/fonts/TestMORXSeventeen.ttf | Bin 0 ->
- 1788 bytes
- .../data/text-rendering-tests/fonts/TestMORXSixteen.ttf | Bin 0 ->
- 1812 bytes
- .../data/text-rendering-tests/fonts/TestMORXTwenty.ttf | Bin 0 ->
- 3232 bytes
- .../text-rendering-tests/fonts/TestMORXTwentyone.ttf | Bin 0 ->
- 3244 bytes
- .../text-rendering-tests/fonts/TestMORXTwentytwo.ttf | Bin 0 ->
- 3256 bytes
+ .../data/text-rendering-tests/fonts/TestMORXEighteen.ttf | Bin 0 -> 3256 bytes
+ .../text-rendering-tests/fonts/TestMORXSeventeen.ttf | Bin 0 -> 1788 bytes
+ .../data/text-rendering-tests/fonts/TestMORXSixteen.ttf | Bin 0 -> 1812 bytes
+ .../data/text-rendering-tests/fonts/TestMORXTwenty.ttf | Bin 0 -> 3232 bytes
+ .../text-rendering-tests/fonts/TestMORXTwentyone.ttf | Bin 0 -> 3244 bytes
+ .../text-rendering-tests/fonts/TestMORXTwentytwo.ttf | Bin 0 -> 3256 bytes
.../data/text-rendering-tests/tests/MORX-14.tests | 1 +
.../data/text-rendering-tests/tests/MORX-16.tests | 1 +
.../data/text-rendering-tests/tests/MORX-17.tests | 1 +
@@ -37446,7 +37139,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 26 18:14:05 2018 -0800
Misc warning fixes
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/712
src/hb-ot-layout-gsubgpos-private.hh | 9 ++++-----
@@ -37459,9 +37152,9 @@ Author: bungeman <bungeman@chromium.org>
Date: Fri Jan 26 13:38:06 2018 -0500
Use KernSubTableFormat2::rightClassTable
-
+
Issue originally reported at http://cppfiles.com/chromium.txt .
-
+
This fixes what appears to be a copy - paste issue which causes both
KernSubTableFormat2::rightClassTable and the 'right' argument to
KernSubTableFormat2::get_kerning to go unused.
@@ -37533,9 +37226,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 19 18:36:39 2018 -0800
[aat] Fix Ligature matching
-
- I hope... Makes "ffi" work with Zapfino. I'm not sure if doing it
- correctly though...
+
+ I hope... Makes "ffi" work with Zapfino. I'm not sure if doing it correctly though...
src/hb-aat-layout-morx-table.hh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -37554,12 +37246,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 19 18:08:56 2018 -0800
[aat] Implement LigatureSubtable
-
+
We form the Zapfino ligature now. Yay! No further testing done.
src/hb-aat-layout-common-private.hh | 25 ++++++---
- src/hb-aat-layout-morx-table.hh | 108
- +++++++++++++++++++++++++++++++++---
+ src/hb-aat-layout-morx-table.hh | 108 +++++++++++++++++++++++++++++++++---
2 files changed, 115 insertions(+), 18 deletions(-)
commit f07ce661a2056965c573c99bdb721c065563ea7b
@@ -37567,7 +37258,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 19 16:52:01 2018 -0800
[aat] Embed a sanitizer context in hb_aat_apply_context_t
-
+
For run-time checking.
src/hb-aat-layout-common-private.hh | 22 ++++++++++++++++------
@@ -37598,8 +37289,7 @@ Date: Wed Jan 17 16:46:51 2018 -0800
src/hb-aat-layout.cc | 2 +-
src/hb-ot-layout-gpos-table.hh | 48 ++++++++++++-------------
src/hb-ot-layout-gsub-table.hh | 24 ++++++-------
- src/hb-ot-layout-gsubgpos-private.hh | 58
- +++++++++++++++---------------
+ src/hb-ot-layout-gsubgpos-private.hh | 58 +++++++++++++++---------------
src/hb-ot-layout-private.hh | 4 +--
src/hb-ot-layout.cc | 16 ++++-----
src/hb-ot-shape-complex-arabic-fallback.hh | 2 +-
@@ -37631,13 +37321,13 @@ Author: Cosimo Lupo <cosimo@anthrotype.com>
Date: Thu Jan 18 22:49:40 2018 +0100
hb-common.cc: Hatran script is right-to-left (#714)
-
+
"Hatran is written from right to left horizontally"
-
+
http://www.unicode.org/L2/L2012/12312-n4324-hatran.pdf
-
+
This ancient script was added with Unicode 8.0.
-
+
Also this spreadsheet (referenced in an inline comment in the
source code) has it as RTL: http://goo.gl/x9ilM
@@ -37648,8 +37338,7 @@ commit 00806149b9b591e4ec15996d3d56bdbd60687821
Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Fri Jan 19 01:12:31 2018 +0330
- Improve avoiding C++ linkage, definition creation and cmake tests
- (#710)
+ Improve avoiding C++ linkage, definition creation and cmake tests (#710)
.circleci/config.yml | 4 ++--
CMakeLists.txt | 46 ++++++++++++++++++++++++++--------------------
@@ -37683,7 +37372,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 17 09:47:50 2018 -0800
Typo
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/711
util/options.cc | 2 +-
@@ -37722,7 +37411,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 15 20:46:58 2018 -0500
Disable MORX-13/14
-
+
Really, need better way to catch these :(.
test/shaping/data/text-rendering-tests/DISABLED | 2 ++
@@ -37734,7 +37423,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 15 20:44:10 2018 -0500
Disallow sanitize recursing into Extension subtables multiple times
-
+
Fixes https://oss-fuzz.com/v2/testcase-detail/5216838347653120
which is a stack overflow, not by way of infinite recursion, just
being deep. That's disallowed anyway, so catch it as it happens,
@@ -37779,8 +37468,7 @@ Date: Sun Jan 14 15:03:31 2018 -0500
[aat] Towards implementing LigatureSubtable
- src/hb-aat-layout-morx-table.hh | 61
- +++++++++++++++++++++++++++++++++++++++--
+ src/hb-aat-layout-morx-table.hh | 61 +++++++++++++++++++++++++++++++++++++++--
1 file changed, 58 insertions(+), 3 deletions(-)
commit c9e12a2b9b34d73d37def2261a5c1a7ef20b8349
@@ -37799,10 +37487,8 @@ Date: Sat Jan 13 14:44:39 2018 +0000
[test/text-rendering-tests] Update from upstream
test/shaping/data/text-rendering-tests/Makefile.sources | 2 ++
- .../data/text-rendering-tests/fonts/TestMORXFourteen.ttf | Bin 0 ->
- 1816 bytes
- .../data/text-rendering-tests/fonts/TestMORXThirteen.ttf | Bin 0 ->
- 1820 bytes
+ .../data/text-rendering-tests/fonts/TestMORXFourteen.ttf | Bin 0 -> 1816 bytes
+ .../data/text-rendering-tests/fonts/TestMORXThirteen.ttf | Bin 0 -> 1820 bytes
.../data/text-rendering-tests/tests/MORX-13.tests | 1 +
.../data/text-rendering-tests/tests/MORX-14.tests | 1 +
5 files changed, 4 insertions(+)
@@ -37812,9 +37498,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 12 12:04:53 2018 +0100
[aat] Fix some struct sizes
-
- I hate it that with my compiler at least, it doesn't catch totally
- uncompilable
+
+ I hate it that with my compiler at least, it doesn't catch totally uncompilable
statements in templates if they are not used...
src/hb-aat-layout-common-private.hh | 2 +-
@@ -37845,7 +37530,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 12 11:31:20 2018 +0100
[aat] Fix symbol visibility
-
+
Not sure why only one of the bots sees this as visible...
src/hb-aat-layout-morx-table.hh | 2 +-
@@ -37885,8 +37570,7 @@ Date: Fri Jan 12 11:09:21 2018 +0100
[aat] Detect infinite-loops in state machine
- src/hb-aat-layout-common-private.hh | 36
- +++++++++++++++++++++++++++++-------
+ src/hb-aat-layout-common-private.hh | 36 +++++++++++++++++++++++++++++-------
1 file changed, 29 insertions(+), 7 deletions(-)
commit d514f1480cffb81850ef212155c66ee9e0383350
@@ -37921,7 +37605,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 12 09:46:38 2018 +0100
Disable C++11
-
+
To better catch errors locally.
configure.ac | 2 +-
@@ -37932,9 +37616,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 12 09:45:42 2018 +0100
[aat] Fix more builds
-
- Maybe I should disable C++11 detection such that my compiler also
- catches
+
+ Maybe I should disable C++11 detection such that my compiler also catches
these. Doesn't look like we can switch to it for a while anyway...
src/hb-aat-layout-common-private.hh | 2 +-
@@ -37955,7 +37638,7 @@ Author: Ting-Wei Lan <lantw@src.gnome.org>
Date: Fri Jan 12 15:33:16 2018 +0800
Update _POSIX_C_SOURCE to the latest version
-
+
Defining _POSIX_C_SOURCE to an old version on FreeBSD can cause C99 to
be disabled in libc.
@@ -37968,8 +37651,7 @@ Date: Fri Jan 12 00:08:22 2018 +0100
[aat] Port RearrangementSubtable to StateTableDriver
- src/hb-aat-layout-morx-table.hh | 91
- ++++++++++++++++++++---------------------
+ src/hb-aat-layout-morx-table.hh | 91 ++++++++++++++++++++---------------------
1 file changed, 44 insertions(+), 47 deletions(-)
commit 117cfe7bb7cef682eb151b94f1eb12363ba3af67
@@ -37979,8 +37661,7 @@ Date: Fri Jan 12 00:01:36 2018 +0100
[aat] Add StateTableDriver and convert ContextualSubtable to it
src/hb-aat-layout-common-private.hh | 51 ++++++++++++++++++++
- src/hb-aat-layout-morx-table.hh | 93
- ++++++++++++++++++-------------------
+ src/hb-aat-layout-morx-table.hh | 93 ++++++++++++++++++-------------------
2 files changed, 95 insertions(+), 49 deletions(-)
commit 0d39ac224c680b1f0134b58e78391497fbe47370
@@ -37997,7 +37678,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 11 22:46:19 2018 +0100
[test] Disable MORX-12
-
+
Ouch. I need a better workflow for this.
test/shaping/data/text-rendering-tests/Makefile.sources | 1 -
@@ -38008,12 +37689,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 11 22:43:57 2018 +0100
[aat] Remove 'mort' support
-
+
It's dead, Jim!
src/hb-aat-layout-common-private.hh | 55 +++++-----------
- src/hb-aat-layout-morx-table.hh | 122
- ++++++++++--------------------------
+ src/hb-aat-layout-morx-table.hh | 122 ++++++++++--------------------------
2 files changed, 46 insertions(+), 131 deletions(-)
commit 7e2fed6d73f89986e5777028cdcd24e3baf2f86c
@@ -38021,10 +37701,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 11 19:25:21 2018 +0100
[aat] Allow DontAdvance
-
+
Apparently CoreText does allow these. To be done: detect infinite
loops.
-
+
Fixes MORX-12 test.
src/hb-aat-layout-morx-table.hh | 4 ++--
@@ -38038,8 +37718,7 @@ Date: Thu Jan 11 19:22:37 2018 +0100
test/shaping/data/text-rendering-tests/DISABLED | 1 +
test/shaping/data/text-rendering-tests/Makefile.sources | 2 ++
- .../data/text-rendering-tests/fonts/TestMORXTwelve.ttf | Bin 0 ->
- 2200 bytes
+ .../data/text-rendering-tests/fonts/TestMORXTwelve.ttf | Bin 0 -> 2200 bytes
.../data/text-rendering-tests/tests/MORX-12.tests | 3 +++
4 files changed, 6 insertions(+)
@@ -38050,8 +37729,7 @@ Date: Thu Jan 11 18:54:49 2018 +0100
[aat] Sanitize ContextualSubtable
src/hb-aat-layout-common-private.hh | 23 +++++++++++++++++++----
- src/hb-aat-layout-morx-table.hh | 34
- ++++++++++++++++++++++++----------
+ src/hb-aat-layout-morx-table.hh | 34 ++++++++++++++++++++++++----------
2 files changed, 43 insertions(+), 14 deletions(-)
commit 9b82aa19d812e70b7fade4b7669a9ce27855951e
@@ -38069,8 +37747,7 @@ Date: Thu Jan 11 18:15:53 2018 +0100
[aat] Sanitize StateTable
- src/hb-aat-layout-common-private.hh | 43
- ++++++++++++++++++++++++++++++++++---
+ src/hb-aat-layout-common-private.hh | 43 ++++++++++++++++++++++++++++++++++---
1 file changed, 40 insertions(+), 3 deletions(-)
commit 0e3b3379a04a67a22e44e17d6bf849359f4fca68
@@ -38096,7 +37773,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 11 17:57:46 2018 +0100
[buffer] Fix compiler warnings
-
+
line 323: Warning: info hides hb_buffer_t::info
...
@@ -38108,14 +37785,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 11 17:41:34 2018 +0100
[aat] Make bots happy
-
- Don't know why this is not caught by my compiler. Looks like clang
- catches it
+
+ Don't know why this is not caught by my compiler. Looks like clang catches it
while gcc doesn't.
-
+
In file included from ../src/hb-aat-layout-morx-table.hh:31:
- ../src/hb-aat-layout-common-private.hh:523:30: error: no member named
- 'static_size' in 'AAT::ContextualSubtable<AAT::MorxTypes>::EntryData'
+ ../src/hb-aat-layout-common-private.hh:523:30: error: no member named 'static_size' in 'AAT::ContextualSubtable<AAT::MorxTypes>::EntryData'
DEFINE_SIZE_STATIC (4 + T::static_size);
~~~^
@@ -38126,9 +37801,8 @@ commit f6be730994434e706cc27d68b796492d876e82b6
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 11 15:23:24 2018 +0100
- [aat] In NoncontextualSubtable, handle MarkLast with end-of-line
- transition
-
+ [aat] In NoncontextualSubtable, handle MarkLast with end-of-line transition
+
Fixes MORX-11 test.
src/hb-aat-layout-morx-table.hh | 4 ++--
@@ -38142,8 +37816,7 @@ Date: Thu Jan 11 15:18:22 2018 +0100
test/shaping/data/text-rendering-tests/DISABLED | 3 ++-
test/shaping/data/text-rendering-tests/Makefile.sources | 3 ++-
- .../data/text-rendering-tests/fonts/TestMORXEleven.ttf | Bin 0 ->
- 1624 bytes
+ .../data/text-rendering-tests/fonts/TestMORXEleven.ttf | Bin 0 -> 1624 bytes
.../data/text-rendering-tests/tests/MORX-11.tests | 1 +
4 files changed, 5 insertions(+), 2 deletions(-)
@@ -38152,11 +37825,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 11 15:15:07 2018 +0100
[aat] Implement ContextualSubtable
-
+
Tested with Zapfino and text "2nd". Sascha will create tests later.
- src/hb-aat-layout-morx-table.hh | 70
- ++++++++++++++++++++++++++++++++++++++---
+ src/hb-aat-layout-morx-table.hh | 70 ++++++++++++++++++++++++++++++++++++++---
1 file changed, 66 insertions(+), 4 deletions(-)
commit 335a9c1fe489db53549801b4996dd0f6f5eded62
@@ -38166,8 +37838,7 @@ Date: Thu Jan 11 14:50:47 2018 +0100
[aat] Towards implementing ContextualSubtable
src/hb-aat-layout-common-private.hh | 58 ++++++++++++++++++++++--
- src/hb-aat-layout-morx-table.hh | 88
- ++++++++++++++++++++++++++-----------
+ src/hb-aat-layout-morx-table.hh | 88 ++++++++++++++++++++++++++-----------
2 files changed, 117 insertions(+), 29 deletions(-)
commit 62348f647f7b1604e008dbed46a54eff245fc106
@@ -38175,7 +37846,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 11 12:00:28 2018 +0100
[aat] Implement end-of-text in state machine
-
+
Passes MORX-10 test now.
src/hb-aat-layout-morx-table.hh | 10 ++++++----
@@ -38188,10 +37859,8 @@ Date: Thu Jan 11 11:55:29 2018 +0100
[test/text-rendering-tests] Update from upstream
test/shaping/data/text-rendering-tests/DISABLED | 1 +
- test/shaping/data/text-rendering-tests/Makefile.sources | 11
- ++++++-----
- .../data/text-rendering-tests/fonts/TestMORXTen.ttf | Bin 0 ->
- 1620 bytes
+ test/shaping/data/text-rendering-tests/Makefile.sources | 11 ++++++-----
+ .../data/text-rendering-tests/fonts/TestMORXTen.ttf | Bin 0 -> 1620 bytes
.../data/text-rendering-tests/tests/MORX-10.tests | 1 +
4 files changed, 8 insertions(+), 5 deletions(-)
@@ -38218,7 +37887,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 11 11:49:07 2018 +0100
[aat] Generate finegrained unsafe-to-break in state-machine!
-
+
Neato.
src/hb-aat-layout-morx-table.hh | 11 +++++++++--
@@ -38248,10 +37917,8 @@ Date: Thu Jan 11 10:48:42 2018 +0100
[test/in-house] Add Makefile.sources
- test/shaping/data/in-house/Makefile.am | 46
- ++---------------------------
- test/shaping/data/in-house/Makefile.sources | 46
- +++++++++++++++++++++++++++++
+ test/shaping/data/in-house/Makefile.am | 46 ++---------------------------
+ test/shaping/data/in-house/Makefile.sources | 46 +++++++++++++++++++++++++++++
2 files changed, 48 insertions(+), 44 deletions(-)
commit 7c32e01d04deaab511d41f5dec0dfd9fc0469f39
@@ -38272,13 +37939,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 11 10:30:22 2018 +0100
[test/text-rendering-tests] Update from upstream
-
+
Also adds an update.sh script that does this automatically.
- test/shaping/data/text-rendering-tests/Makefile.am | 52
- +++------------------
- .../data/text-rendering-tests/Makefile.sources | 51
- ++++++++++++++++++++
+ test/shaping/data/text-rendering-tests/Makefile.am | 52 +++------------------
+ .../data/text-rendering-tests/Makefile.sources | 51 ++++++++++++++++++++
.../text-rendering-tests/fonts/TestMORXEight.ttf | Bin 0 -> 2184 bytes
.../text-rendering-tests/fonts/TestMORXNine.ttf | Bin 0 -> 1624 bytes
.../data/text-rendering-tests/tests/MORX-5.tests | 25 ++++++++++
@@ -38286,8 +37951,7 @@ Date: Thu Jan 11 10:30:22 2018 +0100
.../data/text-rendering-tests/tests/MORX-7.tests | 1 +
.../data/text-rendering-tests/tests/MORX-8.tests | 3 ++
.../data/text-rendering-tests/tests/MORX-9.tests | 1 +
- test/shaping/data/text-rendering-tests/update.sh | 48
- +++++++++++++++++++
+ test/shaping/data/text-rendering-tests/update.sh | 48 +++++++++++++++++++
10 files changed, 136 insertions(+), 46 deletions(-)
commit c861daacc4255d41d2358868b917277422949dc9
@@ -38326,7 +37990,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 11 09:57:55 2018 +0100
[aat] Mark state-machine-based lookup as completely unsafe-to-break
-
+
To be improved later.
src/hb-aat-layout-morx-table.hh | 2 ++
@@ -38339,8 +38003,7 @@ Date: Thu Jan 11 09:15:34 2018 +0100
[aat] Implement RearrangementSubtable
src/hb-aat-layout-common-private.hh | 89 ++++++++++++++++-
- src/hb-aat-layout-morx-table.hh | 192
- +++++++++++++++++++++++++++++++-----
+ src/hb-aat-layout-morx-table.hh | 192 +++++++++++++++++++++++++++++++-----
src/hb-open-type-private.hh | 2 -
src/hb-private.hh | 7 +-
4 files changed, 254 insertions(+), 36 deletions(-)
@@ -38350,7 +38013,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Thu Jan 11 12:33:22 2018 +0330
Move the #define of _GNU_SOURCE to the top of hb-private.hh (#697)
-
+
This fixes the build on Cygwin.
src/hb-private.hh | 4 ++--
@@ -38370,7 +38033,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Thu Jan 11 08:48:22 2018 +0330
[test] Better tests output by converting stderr to stdout (#696)
-
+
https://gitlab.kitware.com/cmake/cmake/issues/17630
test/shaping/run-tests.py | 18 +++++++++---------
@@ -38392,8 +38055,7 @@ Date: Wed Jan 10 23:51:56 2018 +0330
[cmake] Another try on making sure feature testing is working (#691)
- .circleci/config.yml | 131
- ++++++++++++++++++++++++++++-----------------------
+ .circleci/config.yml | 131 ++++++++++++++++++++++++++++-----------------------
CMakeLists.txt | 17 ++++---
2 files changed, 79 insertions(+), 69 deletions(-)
@@ -38411,7 +38073,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 10 13:54:36 2018 +0100
[util] Set stdio files to line buffering
-
+
So we can stream lines to hb-shape and read output.
util/options.cc | 4 ++++
@@ -38422,7 +38084,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 10 11:09:53 2018 +0100
[aat] Add Class subtable thingy
-
+
From old 'mort' table.
src/hb-aat-layout-common-private.hh | 24 ++++++++++++++++++++++++
@@ -38435,8 +38097,7 @@ Date: Wed Jan 10 15:45:12 2018 +0330
[cmake] Add header existence tests (#685)
.circleci/config.yml | 4 ++--
- CMakeLists.txt | 53
- ++++++++++++++++++++++++++++++---------------
+ CMakeLists.txt | 53 ++++++++++++++++++++++++++++++---------------
test/shaping/CMakeLists.txt | 1 -
3 files changed, 37 insertions(+), 21 deletions(-)
@@ -38454,7 +38115,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Wed Jan 10 07:12:07 2018 +0200
Improve HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES docs
-
+
Add the note about absolute glyph positions from the commit message.
src/hb-buffer.h | 3 ++-
@@ -38467,8 +38128,7 @@ Date: Wed Jan 10 05:40:43 2018 +0100
[test] Move test handling to sundirectories
configure.ac | 3 +
- test/shaping/Makefile.am | 98
- +---------------------
+ test/shaping/Makefile.am | 98 +---------------------
test/shaping/data/Makefile.am | 9 ++
test/shaping/data/in-house/Makefile.am | 58 +++++++++++++
test/shaping/data/text-rendering-tests/Makefile.am | 60 +++++++++++++
@@ -38488,13 +38148,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 10 05:13:47 2018 +0100
Calculate anchor positions in float, then round
-
+
Hoping to reduce rounding error, to make tests happier...
No luck.
src/hb-font-private.hh | 6 ++++++
- src/hb-ot-layout-gpos-table.hh | 44
- +++++++++++++++++++++---------------------
+ src/hb-ot-layout-gpos-table.hh | 44 +++++++++++++++++++++---------------------
2 files changed, 28 insertions(+), 22 deletions(-)
commit 0b28e1199d62765db4e855756b96022e423dcc17
@@ -38511,7 +38170,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 10 04:33:08 2018 +0100
Round, instead of floor, when applying variations
-
+
Hoping this would fix remaining text-rendering-tests failures,
but so far no luck.
@@ -38552,7 +38211,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 10 03:49:32 2018 +0100
[test] Another try
-
+
Making cmake happy this time.
test/shaping/Makefile.am | 4 +++-
@@ -38563,7 +38222,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 10 03:48:09 2018 +0100
[test] Fix text disabling
-
+
Ouch, make!
test/shaping/Makefile.am | 27 ++++++++++++++-------------
@@ -38592,11 +38251,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 10 03:35:20 2018 +0100
Add HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES
-
+
New API:
HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES
hb-shape / hb-view --remove-default-ignorables
-
+
One more text-rendering-tests test passing. Eleven failing.
src/hb-buffer.h | 17 ++++--
@@ -38640,11 +38299,9 @@ Date: Wed Jan 10 03:35:20 2018 +0100
.../data/text-rendering-tests/tests/SHBALI-1.tests | 44 +++++++-------
.../data/text-rendering-tests/tests/SHBALI-2.tests | 24 ++++----
.../data/text-rendering-tests/tests/SHBALI-3.tests | 18 +++---
- .../data/text-rendering-tests/tests/SHKNDA-1.tests | 68
- +++++++++++-----------
+ .../data/text-rendering-tests/tests/SHKNDA-1.tests | 68 +++++++++++-----------
.../data/text-rendering-tests/tests/SHKNDA-2.tests | 32 +++++-----
- .../data/text-rendering-tests/tests/SHKNDA-3.tests | 62
- ++++++++++----------
+ .../data/text-rendering-tests/tests/SHKNDA-3.tests | 62 ++++++++++----------
util/options.cc | 1 +
util/options.hh | 14 +++--
46 files changed, 435 insertions(+), 419 deletions(-)
@@ -38654,12 +38311,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 10 03:22:08 2018 +0100
[test/text-rendering-tests] Hook up font variations
-
+
Six more passing. Twelve failing now.
.../data/text-rendering-tests/extract-tests.py | 6 +++-
- .../data/text-rendering-tests/tests/AVAR-1.tests | 34
- +++++++++++-----------
+ .../data/text-rendering-tests/tests/AVAR-1.tests | 34 +++++++++++-----------
.../data/text-rendering-tests/tests/CFF2-1.tests | 18 ++++++------
.../data/text-rendering-tests/tests/CVAR-1.tests | 6 ++--
.../data/text-rendering-tests/tests/CVAR-2.tests | 6 ++--
@@ -38682,30 +38338,25 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 10 03:16:56 2018 +0100
[test] Add tests from text-rendering-tests repo
-
+
https://github.com/unicode-org/text-rendering-tests
test/shaping/Makefile.am | 44 ++++++++++++++-
.../fonts/AdobeVFPrototype-Subset.otf | Bin 0 -> 7096 bytes
- .../text-rendering-tests/fonts/FDArrayTest257.otf | Bin 0 -> 145212
- bytes
- .../fonts/FDArrayTest65535.otf | Bin 0 -> 492740
- bytes
+ .../text-rendering-tests/fonts/FDArrayTest257.otf | Bin 0 -> 145212 bytes
+ .../fonts/FDArrayTest65535.otf | Bin 0 -> 492740 bytes
.../fonts/NotoSansBalinese-Regular.ttf | Bin 0 -> 32304 bytes
.../fonts/NotoSansKannada-Regular.ttf | Bin 0 -> 83868 bytes
.../fonts/NotoSerifKannada-Regular.ttf | Bin 0 -> 96936 bytes
- .../text-rendering-tests/fonts/Selawik-README.md | 60
- +++++++++++++++++++++
- .../fonts/Selawik-variable.ttf | Bin 0 -> 481504
- bytes
+ .../text-rendering-tests/fonts/Selawik-README.md | 60 +++++++++++++++++++++
+ .../fonts/Selawik-variable.ttf | Bin 0 -> 481504 bytes
.../data/text-rendering-tests/fonts/TestAVAR.ttf | Bin 0 -> 1608 bytes
.../data/text-rendering-tests/fonts/TestCMAP14.otf | Bin 0 -> 1628 bytes
.../fonts/TestCMAPMacTurkish.ttf | Bin 0 -> 19644 bytes
.../text-rendering-tests/fonts/TestCVARGVAROne.ttf | Bin 0 -> 12336 bytes
.../text-rendering-tests/fonts/TestCVARGVARTwo.ttf | Bin 0 -> 12256 bytes
.../text-rendering-tests/fonts/TestGLYFOne.ttf | Bin 0 -> 1516 bytes
- .../text-rendering-tests/fonts/TestGPOSFour.ttf | Bin 0 -> 315020
- bytes
+ .../text-rendering-tests/fonts/TestGPOSFour.ttf | Bin 0 -> 315020 bytes
.../text-rendering-tests/fonts/TestGPOSOne.ttf | Bin 0 -> 10384 bytes
.../text-rendering-tests/fonts/TestGPOSThree.ttf | Bin 0 -> 3500 bytes
.../text-rendering-tests/fonts/TestGPOSTwo.otf | Bin 0 -> 1680 bytes
@@ -38723,8 +38374,7 @@ Date: Wed Jan 10 03:16:56 2018 +0100
.../text-rendering-tests/fonts/TestMORXOne.ttf | Bin 0 -> 2404 bytes
.../text-rendering-tests/fonts/TestMORXThree.ttf | Bin 0 -> 4104 bytes
.../text-rendering-tests/fonts/TestMORXTwo.ttf | Bin 0 -> 4960 bytes
- .../text-rendering-tests/fonts/TestShapeAran.ttf | Bin 0 -> 116044
- bytes
+ .../text-rendering-tests/fonts/TestShapeAran.ttf | Bin 0 -> 116044 bytes
.../text-rendering-tests/fonts/TestShapeEthi.ttf | Bin 0 -> 5292 bytes
.../data/text-rendering-tests/fonts/Zycon.ttf | Bin 0 -> 21036 bytes
.../data/text-rendering-tests/tests/AVAR-1.tests | 17 ++++++
@@ -38775,7 +38425,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 10 03:07:30 2018 +0100
Prefix int types with HB
-
+
Such a headache that Windows defines UINT8, ...; Just prefix it.
src/hb-aat-layout-common-private.hh | 29 +++---
@@ -38792,8 +38442,7 @@ Date: Wed Jan 10 03:07:30 2018 +0100
src/hb-ot-layout-gdef-table.hh | 22 ++---
src/hb-ot-layout-gpos-table.hh | 94 +++++++++----------
src/hb-ot-layout-gsub-table.hh | 30 +++---
- src/hb-ot-layout-gsubgpos-private.hh | 172
- +++++++++++++++++------------------
+ src/hb-ot-layout-gsubgpos-private.hh | 172 +++++++++++++++++------------------
src/hb-ot-math-table.hh | 26 +++---
src/hb-ot-maxp-table.hh | 2 +-
src/hb-ot-name-table.hh | 16 ++--
@@ -38810,15 +38459,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 10 02:56:29 2018 +0100
[aat] Try fixing VC bots
-
- c:\projects\harfbuzz\src\hb-aat-layout-common-private.hh(51):
- error C2872: 'UINT16': ambiguous symbol
- [C:\projects\harfbuzz\build\harfbuzz.vcxproj]
- C:\Program Files (x86)\Windows
- Kits\10\Include\10.0.14393.0\shared\basetsd.h(80): note: could be
- 'unsigned short UINT16'
- c:\projects\harfbuzz\src\hb-open-type-private.hh(648): note: or
- 'OT::UINT16'
+
+ c:\projects\harfbuzz\src\hb-aat-layout-common-private.hh(51): error C2872: 'UINT16': ambiguous symbol [C:\projects\harfbuzz\build\harfbuzz.vcxproj]
+ C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\shared\basetsd.h(80): note: could be 'unsigned short UINT16'
+ c:\projects\harfbuzz\src\hb-open-type-private.hh(648): note: or 'OT::UINT16'
src/hb-aat-layout-common-private.hh | 3 +++
src/hb-aat-layout-morx-table.hh | 3 +++
@@ -38829,7 +38473,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 10 02:49:36 2018 +0100
Disable processing of morx table in ot shaper
-
+
So I can merge this to master...
src/hb-ot-shape.cc | 4 ++--
@@ -38840,14 +38484,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 10 02:48:04 2018 +0100
[util] Add hb-shape --ned
-
- For not displaying extra data: no clusters, no advance. Just data
- pertaining
+
+ For not displaying extra data: no clusters, no advance. Just data pertaining
to where glyphs end up on the screen.
test/shaping/data/text-rendering-tests/extract-tests.py | 2 +-
- util/options.cc | 13
- +++++++++++++
+ util/options.cc | 13 +++++++++++++
2 files changed, 14 insertions(+), 1 deletion(-)
commit 7020130665316365c288d0960fc288faa8f5bdf7
@@ -38873,10 +38515,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 10 02:20:14 2018 +0100
Add option to buffer serialization to not output glyph advances
-
+
When advances are not printed, glyph offsets reflect absolute glyph
positions.
-
+
New API:
HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES
hb-shape --no-advances
@@ -38893,13 +38535,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 10 01:54:12 2018 +0100
[test] Add script for extracting tests from text-rendering-tests
-
+
Work in progress...
-
+
https://github.com/unicode-org/text-rendering-tests
- .../data/text-rendering-tests/extract-tests.py | 45
- ++++++++++++++++++++++
+ .../data/text-rendering-tests/extract-tests.py | 45 ++++++++++++++++++++++
1 file changed, 45 insertions(+)
commit 6b4d63f295f419f55983a8fc72f582802f55b09f
@@ -38916,9 +38557,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 9 23:15:54 2018 +0100
[test] Simplify test runner
-
+
Always pass hb-shape as first argument to run-tests.py.
-
+
Also require automake 1.13.
configure.ac | 3 +--
@@ -38941,12 +38582,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 9 21:58:57 2018 +0100
[test] Reorganize test suite
-
+
In anticipation of importing more test suites.
test/fuzzing/run-fuzzer-tests.py | 2 +-
- test/shaping/Makefile.am | 86
- +++++++++---------
+ test/shaping/Makefile.am | 86 +++++++++---------
test/shaping/{fonts => data/in-house}/COPYING | 7 +-
.../0509e80afb379d16560e9e47bdd7d888bebdebc6.ttf | Bin
.../051d92f8bc6ff724511b296c27623f824de256e9.ttf | Bin
@@ -39094,8 +38734,7 @@ Date: Tue Jan 9 21:58:57 2018 +0100
test/shaping/data/in-house/tests/use-marchen.tests | 35 ++++++++
.../shaping/data/in-house/tests/use-syllable.tests | 7 ++
test/shaping/data/in-house/tests/use.tests | 4 +
- .../data/in-house/tests/variations-rvrn.tests | 100
- +++++++++++++++++++++
+ .../data/in-house/tests/variations-rvrn.tests | 100 +++++++++++++++++++++
test/shaping/data/in-house/tests/vertical.tests | 3 +
.../data/in-house/tests/zero-width-marks.tests | 11 +++
test/shaping/run-tests.py | 48 ++++------
@@ -39137,8 +38776,7 @@ Date: Tue Jan 9 21:58:57 2018 +0100
test/shaping/tests/misc/use-marchen.tests | 35 --------
test/shaping/tests/misc/use-syllable.tests | 7 --
test/shaping/tests/misc/use.tests | 4 -
- test/shaping/tests/misc/variations-rvrn.tests | 100
- ---------------------
+ test/shaping/tests/misc/variations-rvrn.tests | 100 ---------------------
test/shaping/tests/misc/vertical.tests | 3 -
test/shaping/tests/misc/zero-width-marks.tests | 11 ---
.../script-arabic/language-persian/mehran.txt | 14 +--
@@ -39360,8 +38998,7 @@ Date: Tue Jan 9 21:58:57 2018 +0100
.../script-tibetan/misc/contractions.txt | 0
.../shaper-tibetan/script-tibetan/misc/misc.txt | 0
.../shaper-use/script-batak/misc.txt | 0
- .../shaper-use/script-buginese/misc.txt | 92
- +++++++++----------
+ .../shaper-use/script-buginese/misc.txt | 92 +++++++++----------
.../shaper-use/script-cham/misc.txt | 0
.../shaper-use/script-kaithi/misc.txt | 0
.../shaper-use/script-kharoshti/misc.txt | 0
@@ -39399,8 +39036,7 @@ Date: Tue Jan 9 18:23:19 2018 +0100
[test] Move test files around
test/fuzzing/run-fuzzer-tests.py | 2 +-
- test/shaping/Makefile.am | 82
- +++++++++++-----------
+ test/shaping/Makefile.am | 82 +++++++++++-----------
.../tests/{ => misc}/arabic-fallback-shaping.tests | 0
.../tests/{ => misc}/arabic-feature-order.tests | 0
.../tests/{ => misc}/arabic-like-joining.tests | 0
@@ -39449,13 +39085,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 9 17:55:17 2018 +0100
[aat/morx] Implement NoncontextualSubtables
-
- Also makes hb-ot-shape call morx for now instead of GSUB... Just
- for testing.
+
+ Also makes hb-ot-shape call morx for now instead of GSUB... Just for testing.
src/hb-aat-layout-common-private.hh | 34 +++++++--------
- src/hb-aat-layout-morx-table.hh | 82
- ++++++++++++++++++++++++++++++++++---
+ src/hb-aat-layout-morx-table.hh | 82 ++++++++++++++++++++++++++++++++++---
src/hb-aat-layout-private.hh | 3 ++
src/hb-aat-layout.cc | 13 +++++-
src/hb-ot-shape.cc | 6 +++
@@ -39475,11 +39109,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 9 15:48:51 2018 +0100
[aat] Implement Lookup table
-
+
Untested, but compiles.
- src/hb-aat-layout-common-private.hh | 308
- +++++++++++++++++++++++++++++++++++-
+ src/hb-aat-layout-common-private.hh | 308 +++++++++++++++++++++++++++++++++++-
src/hb-aat-layout-morx-table.hh | 9 +-
src/hb-aat-layout.cc | 14 ++
src/hb-face.cc | 6 +-
@@ -39521,8 +39154,7 @@ Date: Thu Aug 17 16:55:54 2017 -0700
[aat] Start implementing common table formats
src/Makefile.sources | 2 +
- src/hb-aat-layout-common-private.hh | 134
- ++++++++++++++++++++++++++++++++++++
+ src/hb-aat-layout-common-private.hh | 134 ++++++++++++++++++++++++++++++++++++
src/hb-aat-layout-morx-table.hh | 1 +
src/hb-aat-layout-private.hh | 37 ++++++++++
src/hb-aat-layout.cc | 1 +
@@ -39535,8 +39167,7 @@ Date: Mon Aug 14 17:24:36 2017 -0700
[aat] Start implementing Apple AAT morx table
src/Makefile.sources | 2 +
- src/hb-aat-layout-morx-table.hh | 275
- ++++++++++++++++++++++++++++++++++++++++
+ src/hb-aat-layout-morx-table.hh | 275 ++++++++++++++++++++++++++++++++++++++++
src/hb-aat-layout.cc | 42 ++++++
src/hb-open-type-private.hh | 5 +
src/hb-ot-layout-private.hh | 5 +
@@ -39567,7 +39198,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 5 18:09:29 2018 +0000
[khmer] Relax!
-
+
Apparently we don't use OT_A either.
src/hb-ot-shape-complex-khmer-machine.rl | 3 +--
@@ -39596,9 +39227,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 5 18:03:00 2018 +0000
[khmer] Simplify grammar some more
-
+
Numbers down (from 38):
-
+
KHMER: 299090 out of 299124 tests passed. 34 failed (0.0113665%)
src/hb-ot-shape-complex-khmer-machine.rl | 2 +-
@@ -39627,9 +39258,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 5 17:57:39 2018 +0000
[khmer] Relax number of consonants / matras allowed
-
+
New numbers (down from 39):
-
+
KHMER: 299086 out of 299124 tests passed. 38 failed (0.0127038%)
src/hb-ot-shape-complex-khmer-machine.rl | 6 +++---
@@ -39640,9 +39271,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 5 17:52:24 2018 +0000
[khmer] Allow Independent Vowels where stacked consonants are allowed
-
+
New numbers (down from 44):
-
+
KHMER: 299085 out of 299124 tests passed. 39 failed (0.0130381%)
src/hb-ot-shape-complex-khmer-machine.rl | 4 ++--
@@ -39722,8 +39353,7 @@ Date: Fri Jan 5 17:21:55 2018 +0000
[khmer] Shave off some more from the grammar
src/hb-ot-shape-complex-khmer-machine.rl | 9 ++-------
- src/hb-ot-shape-complex-khmer.cc | 34
- ++------------------------------
+ src/hb-ot-shape-complex-khmer.cc | 34 ++------------------------------
2 files changed, 4 insertions(+), 39 deletions(-)
commit 014494d5c0469fe6b3112db3fdb3f2f262673ba1
@@ -39759,7 +39389,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 5 17:06:29 2018 +0000
[khmer] Better fix for dangling final Coeng
-
+
This is how 1471cfee3bb2734dc44c58471362851ad27e8bd8 should have
been done.
@@ -39780,7 +39410,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 5 17:01:37 2018 +0000
[khmer] Remove forced_rakar from grammar
-
+
Used by Sinhala only.
src/hb-ot-shape-complex-khmer-machine.rl | 3 +--
@@ -39792,9 +39422,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 5 16:34:20 2018 +0000
[khmer] Allow a dangling final Coeng after matras
-
+
Uniscribe seems to allow that. New numbers:
-
+
KHMER: 299080 out of 299124 tests passed. 44 failed (0.0147096%)
src/hb-ot-shape-complex-khmer-machine.rl | 2 +-
@@ -39806,8 +39436,7 @@ Date: Fri Jan 5 16:28:00 2018 +0000
[khmer] Remove some more unused code
- src/hb-ot-shape-complex-khmer.cc | 49
- ++--------------------------------------
+ src/hb-ot-shape-complex-khmer.cc | 49 ++--------------------------------------
1 file changed, 2 insertions(+), 47 deletions(-)
commit bfad6ab897a38aedc82de694ee1a17132f90b25e
@@ -39816,8 +39445,7 @@ Date: Fri Jan 5 16:13:09 2018 +0000
[khmer] Remove features not used by Khmer
- src/hb-ot-shape-complex-khmer.cc | 60
- ++++------------------------------------
+ src/hb-ot-shape-complex-khmer.cc | 60 ++++------------------------------------
1 file changed, 5 insertions(+), 55 deletions(-)
commit 92a99ce084b19dff32d434de446144f0c4796803
@@ -39835,8 +39463,7 @@ Date: Fri Jan 5 16:06:53 2018 +0000
[khmer] Remove non-Khmer matra positioning code
- src/hb-ot-shape-complex-khmer.cc | 76
- +++++++---------------------------------
+ src/hb-ot-shape-complex-khmer.cc | 76 +++++++---------------------------------
1 file changed, 12 insertions(+), 64 deletions(-)
commit f8553c898a414298403c335f8d2ed6c588a1189f
@@ -39863,8 +39490,7 @@ Date: Fri Jan 5 16:01:17 2018 +0000
[khmer] Remove indic_config->reph_pos
- src/hb-ot-shape-complex-khmer.cc | 333
- ++-------------------------------------
+ src/hb-ot-shape-complex-khmer.cc | 333 ++-------------------------------------
1 file changed, 10 insertions(+), 323 deletions(-)
commit ffcd6c7efd21bf89b41ddbf148b05672a42ecadd
@@ -39873,8 +39499,7 @@ Date: Fri Jan 5 15:50:05 2018 +0000
[khmer] Remove indic_config->base_pos
- src/hb-ot-shape-complex-khmer.cc | 229
- ++-------------------------------------
+ src/hb-ot-shape-complex-khmer.cc | 229 ++-------------------------------------
1 file changed, 7 insertions(+), 222 deletions(-)
commit 0c91638d48d6fb86d1e30fb94c15785707395b42
@@ -39883,8 +39508,7 @@ Date: Fri Jan 5 15:45:30 2018 +0000
[khmer] Remove other scripts
- src/hb-ot-shape-complex-khmer.cc | 131
- ++++++++++-----------------------------
+ src/hb-ot-shape-complex-khmer.cc | 131 ++++++++++-----------------------------
1 file changed, 34 insertions(+), 97 deletions(-)
commit 4c0199c573f79be5f40e7d4f8433ef6a1c9c24b2
@@ -39911,8 +39535,7 @@ Date: Fri Jan 5 15:41:31 2018 +0000
[khmer] Remove indic_config->has_old_spec
- src/hb-ot-shape-complex-khmer.cc | 157
- ++++++---------------------------------
+ src/hb-ot-shape-complex-khmer.cc | 157 ++++++---------------------------------
1 file changed, 21 insertions(+), 136 deletions(-)
commit 961ebf85f1e7d417e056c3927ee73857f6f4cde6
@@ -39923,8 +39546,7 @@ Date: Fri Jan 5 15:36:53 2018 +0000
src/hb-ot-shape-complex-indic-private.hh | 1 -
src/hb-ot-shape-complex-khmer-machine.rl | 7 +++----
- src/hb-ot-shape-complex-khmer.cc | 32
- ++++++++++++++++----------------
+ src/hb-ot-shape-complex-khmer.cc | 32 ++++++++++++++++----------------
3 files changed, 19 insertions(+), 21 deletions(-)
commit 9761f9d78214323b9ad58dd0b8ba41851c9e2d54
@@ -39932,12 +39554,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 5 15:33:11 2018 +0000
[indic] Remove more Khmer-specific stuff from Indic shaper
-
+
No numbers changed.
src/hb-ot-shape-complex-indic-machine.rl | 8 ++---
- src/hb-ot-shape-complex-indic.cc | 57
- ++++++++++++--------------------
+ src/hb-ot-shape-complex-indic.cc | 57 ++++++++++++--------------------
2 files changed, 25 insertions(+), 40 deletions(-)
commit 075895364435ee88936696bcb5457283c4bb1a29
@@ -39946,8 +39567,7 @@ Date: Fri Jan 5 15:08:28 2018 +0000
[indic] Remove main Khmer stuff
- src/hb-ot-shape-complex-indic.cc | 73
- ++--------------------------------------
+ src/hb-ot-shape-complex-indic.cc | 73 ++--------------------------------------
1 file changed, 2 insertions(+), 71 deletions(-)
commit dcf4d95fea45e19fbb3b39f0211b2aa96a907473
@@ -39955,21 +39575,20 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 5 14:54:31 2018 +0000
[khmer] Split off Khmer shaper from Indic
-
+
Towards fixing https://github.com/harfbuzz/harfbuzz/issues/667
The Khmer spec is different enough from other Indic ones to require
its own grammar.
-
+
No change in functionality. Test numbers are:
-
+
BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366355 out of 366457 tests passed. 102 failed (0.0278341%)
GURMUKHI: 60729 out of 60747 tests passed. 18 failed (0.0296311%)
KANNADA: 951300 out of 951913 tests passed. 613 failed (0.0643966%)
KHMER: 299071 out of 299124 tests passed. 53 failed (0.0177184%)
- MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed
- (0.0188871%)
+ MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
@@ -39977,8 +39596,7 @@ Date: Fri Jan 5 14:54:31 2018 +0000
src/Makefile.sources | 3 +
src/hb-ot-shape-complex-khmer-machine.rl | 130 +++
- src/hb-ot-shape-complex-khmer.cc | 1867
- ++++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-khmer.cc | 1867 ++++++++++++++++++++++++++++++
src/hb-ot-shape-complex-private.hh | 5 +-
4 files changed, 2003 insertions(+), 2 deletions(-)
@@ -39996,11 +39614,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 5 13:20:21 2018 +0000
[ot] Fix VariationStore evaluation algorithm
-
+
Ouch! Missing coords should still be evaluated as coord=0, which
most of the time results in a factor of 0. We were skipping these,
which was equivalent to a factor of 1.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/652
src/hb-ot-layout-common-private.hh | 5 +++--
@@ -40030,8 +39648,7 @@ Date: Fri Jan 5 12:55:39 2018 +0000
Add test font for previous commit
- .../sha1sum/21b7fb9c1eeae260473809fbc1fe330f66a507cd.ttf | Bin 0 ->
- 4816 bytes
+ .../sha1sum/21b7fb9c1eeae260473809fbc1fe330f66a507cd.ttf | Bin 0 -> 4816 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
commit 127bcc6ece4da64e807f652dd84a17c6a8c5e300
@@ -40046,18 +39663,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 5 12:46:12 2018 +0000
Improve CGJ skipping logic
-
+
Previously we made CGJ unskippable. Now, if CGJ did NOT prevent
any reordering, allow skipping over it. To make this work we
had to make changes to the Arabic mark reordering algorithm
implementation to renumber moved MCM marks. See comments.
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/554
src/hb-buffer-private.hh | 1 +
src/hb-ot-layout-private.hh | 11 ++++++++-
- src/hb-ot-shape-complex-arabic.cc | 37
- ++++++++++++++++++++++--------
+ src/hb-ot-shape-complex-arabic.cc | 37 ++++++++++++++++++++++--------
src/hb-ot-shape-normalize.cc | 30 +++++++++++++-----------
test/shaping/tests/arabic-mark-order.tests | 4 ++++
5 files changed, 58 insertions(+), 25 deletions(-)
@@ -40069,8 +39685,7 @@ Date: Fri Jan 5 12:42:20 2018 +0330
Improve tests (#679)
.circleci/config.yml | 2 +-
- CMakeLists.txt | 52
- +++++++++++++++++++++++++++++++++++----------
+ CMakeLists.txt | 52 +++++++++++++++++++++++++++++++++++----------
autogen.sh | 6 ++++--
src/Makefile.am | 3 +--
src/check-defs.sh | 2 +-
@@ -40095,15 +39710,13 @@ Author: Bruce Mitchener <bruce.mitchener@gmail.com>
Date: Thu Jan 4 18:40:10 2018 +0700
atomics: Favor compiler primitives over macOS APIs. (#676)
-
+
In macOS 10.12, the `OSMemoryBarrier` and related APIs were deprecated
- in favor of using `std::atomic`. On the way to supporting
- `std::atomic`,
+ in favor of using `std::atomic`. On the way to supporting `std::atomic`,
we can favor using the "Intel primitives" which are also available on
macOS.
- src/hb-atomic-private.hh | 46
- +++++++++++++++++++++++-----------------------
+ src/hb-atomic-private.hh | 46 +++++++++++++++++++++++-----------------------
1 file changed, 23 insertions(+), 23 deletions(-)
commit 4f80078eb035054db0f6e33cf4f7345c6c85cb12
@@ -40111,7 +39724,7 @@ Author: Bruce Mitchener <bruce.mitchener@gmail.com>
Date: Thu Jan 4 18:37:35 2018 +0700
[cmake] Colorize output when using cmake + ninja. (#674)
-
+
Due to how ninja runs clang and gcc, it doesn't colorize the output
like make does. This forces color output in this situation.
@@ -40140,8 +39753,7 @@ Date: Wed Jan 3 14:27:34 2018 +0000
[use] Simplify more
src/gen-use-table.py | 11 +------
- src/hb-ot-shape-complex-use-table.cc | 62
- +++++++++++++++++++++---------------
+ src/hb-ot-shape-complex-use-table.cc | 62 +++++++++++++++++++++---------------
2 files changed, 38 insertions(+), 35 deletions(-)
commit 877d15e73c24159b26bb7cc6d2f62045d445d0fc
@@ -40149,7 +39761,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 3 14:24:44 2018 +0000
[use] Simplify
-
+
Fixes https://github.com/harfbuzz/harfbuzz/pull/661
src/gen-use-table.py | 2 +-
@@ -40161,7 +39773,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 3 14:22:07 2018 +0000
[use] Fix Brahmi Number Joiner 1107F
-
+
Fixes https://github.com/harfbuzz/harfbuzz/pull/660
src/gen-indic-table.py | 6 +++---
@@ -40242,8 +39854,7 @@ Date: Fri Dec 29 23:13:29 2017 +0330
[cmake] Run fuzzing and shaping tests (#666)
.circleci/config.yml | 2 +-
- CMakeLists.txt | 59
- ++++++++++++++++++++++++----------------
+ CMakeLists.txt | 59 ++++++++++++++++++++++++----------------
appveyor.yml | 4 +--
test/CMakeLists.txt | 5 ++++
test/api/CMakeLists.txt | 48 +++++++++++++-------------------
@@ -40261,8 +39872,7 @@ Date: Mon Dec 25 22:01:28 2017 +0330
[cmake] Use GNUInstallDirs values (#665)
- CMakeLists.txt | 170
- ++++++++++++++++++++++++++++-----------------------------
+ CMakeLists.txt | 170 ++++++++++++++++++++++++++++-----------------------------
1 file changed, 85 insertions(+), 85 deletions(-)
commit 7d397c5d5ca684fae824a61dabf5bc422d0a516b
@@ -40293,8 +39903,7 @@ Date: Wed Nov 22 16:32:52 2017 -0500
src/gen-use-table.py | 3 +++
src/hb-ot-shape-complex-use-table.cc | 2 +-
- .../sha1sum/59a585a63b3df608fbeef00956c8c108deec7de6.ttf | Bin 0 ->
- 1164 bytes
+ .../sha1sum/59a585a63b3df608fbeef00956c8c108deec7de6.ttf | Bin 0 -> 1164 bytes
test/shaping/tests/use-syllable.tests | 1 +
4 files changed, 5 insertions(+), 1 deletion(-)
@@ -40312,7 +39921,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 24 16:05:07 2017 -0500
[use] Allow ZWJ before/after Halant
-
+
https://github.com/harfbuzz/harfbuzz/issues/542#issuecomment-353169729
src/hb-ot-shape-complex-use-machine.rl | 3 ++-
@@ -40360,7 +39969,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Dec 19 14:48:26 2017 -0500
[set] Handle nil set in add_range() / add_sorted_array()
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/657
src/hb-set-private.hh | 5 +++--
@@ -40381,7 +39990,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 17 12:32:33 2017 -0500
[coretext] In hb_coretext_font_create() set ptem
-
+
Otherwise setting the CTFont was ineffective as it would have been
recreated anyway unless font size was set to 18 CSS points.
@@ -40402,17 +40011,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Dec 16 11:11:18 2017 -0500
[collect_glyphs] Bail if input data looks like garbage
-
- Specificaly, when a range or sorted array has unexpected order,
- we take that as
- font data being garbage and bail out. This fixes significant slowdown
- on a bad
+
+ Specificaly, when a range or sorted array has unexpected order, we take that as
+ font data being garbage and bail out. This fixes significant slowdown on a bad
version of Chandas font which has a 600KB GPOS with garbage inside.
-
- Later on, I like to add a maximum-work counter for collect_glyphs
- to protect
+
+ Later on, I like to add a maximum-work counter for collect_glyphs to protect
against malicious fonts as well.
-
+
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=794896
src/hb-ot-layout-common-private.hh | 14 +++++++-------
@@ -40424,11 +40030,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Dec 16 11:36:16 2017 -0500
[set] Optimize add_array() / add_sorted_array()
-
+
Does page lookup as needed.
- src/hb-set-private.hh | 54
- ++++++++++++++++++++++++++++++++++++---------------
+ src/hb-set-private.hh | 54 ++++++++++++++++++++++++++++++++++++---------------
1 file changed, 38 insertions(+), 16 deletions(-)
commit 71e6adf1e2d65eb905a0ba247672fe36169955ef
@@ -40437,8 +40042,7 @@ Date: Sat Dec 16 11:07:37 2017 -0500
[collect_glyphs] handle ClassDef better
- src/hb-ot-layout-common-private.hh | 63
- ++++++++++++++++++++++++++++++------
+ src/hb-ot-layout-common-private.hh | 63 ++++++++++++++++++++++++++++++------
src/hb-ot-layout-gdef-table.hh | 2 +-
src/hb-ot-layout-gpos-table.hh | 5 +--
src/hb-ot-layout-gsubgpos-private.hh | 2 +-
@@ -40449,7 +40053,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Dec 16 06:18:07 2017 -0800
[collect_glyphs] In PairPosFornat2 do not collect classDef1
-
+
The coverage already covered that.
src/hb-ot-layout-gpos-table.hh | 8 ++------
@@ -40460,18 +40064,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Dec 16 06:12:06 2017 -0800
More work towards improving collect_glyphs() against bad input
-
- The three "XXXXX"'s should be switched to false. Doing that
- separately for ease
+
+ The three "XXXXX"'s should be switched to false. Doing that separately for ease
of bisecting...
src/hb-ot-layout-common-private.hh | 7 +++----
src/hb-ot-layout-gpos-table.hh | 25 ++++++++++---------------
- src/hb-ot-layout-gsub-table.hh | 35
- +++++++++++++----------------------
+ src/hb-ot-layout-gsub-table.hh | 35 +++++++++++++----------------------
src/hb-set-digest-private.hh | 6 ++++--
- src/hb-set-private.hh | 36
- ++++++++++++++++++------------------
+ src/hb-set-private.hh | 36 ++++++++++++++++++------------------
5 files changed, 48 insertions(+), 61 deletions(-)
commit 5d02572034e3dafbe87000fd0aa34b858bd95075
@@ -40479,23 +40080,21 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 14 19:33:55 2017 -0800
[set] Add add_sorted_array()
-
- Not optimized to use sortedness yet. Also start putting in place
- infra
+
+ Not optimized to use sortedness yet. Also start putting in place infra
to faster reject bad data.
-
+
A version of Chandas.ttf found on some Chrome bots has 660kb of GPOS,
mostly junk. That is causing 48 million of set->add() calls in
collect_glyphs(), which is insane.
-
+
In the upcoming commits, I'll be speeding that up by optimizing
add_sorted_array(), while also reducing work by rejecting out-of-sort
arrays quickly and propagate the rejection.
-
+
Part of https://bugs.chromium.org/p/chromium/issues/detail?id=794896
- src/hb-ot-layout-common-private.hh | 51
- +++++++++++++++++++++++-------------
+ src/hb-ot-layout-common-private.hh | 51 +++++++++++++++++++++++-------------
src/hb-ot-layout-gdef-table.hh | 2 +-
src/hb-ot-layout-gpos-table.hh | 10 +++----
src/hb-ot-layout-gsubgpos-private.hh | 2 +-
@@ -40508,7 +40107,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 14 19:04:55 2017 -0800
[set] Reduce number of preallocated pages from 8 to 1
-
+
Now that pagesize is 8192, this feels better.
src/hb-set-private.hh | 2 +-
@@ -40538,13 +40137,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 14 13:30:38 2017 -0800
[set] Change pagesize from 512 bits to 8192 bits
-
+
Fixes perf regression on some heavy fonts in Chrome's FT+HB
interaction.
-
+
See:
https://bugs.chromium.org/p/chromium/issues/detail?id=782220
-
+
More work to be done:
https://bugs.chromium.org/p/chromium/issues/detail?id=794896
@@ -40556,9 +40155,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 13 13:12:20 2017 -0800
[set] Add add_array()
-
- To be used to optimize adding a whole bunch of (sorted) items at
- the same time,
+
+ To be used to optimize adding a whole bunch of (sorted) items at the same time,
as in CoverageFormat1.
src/hb-ot-layout-common-private.hh | 4 +---
@@ -40591,8 +40189,7 @@ Date: Thu Dec 7 11:22:55 2017 +0330
Rewrite run-tests in python (#647)
test/shaping/Makefile.am | 4 +-
- test/shaping/run-tests.py | 115
- ++++++++++++++++++++++++++++++++++++++++++++++
+ test/shaping/run-tests.py | 115 ++++++++++++++++++++++++++++++++++++++++++++++
test/shaping/run-tests.sh | 65 --------------------------
3 files changed, 117 insertions(+), 67 deletions(-)
@@ -40601,13 +40198,12 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Wed Dec 6 21:08:20 2017 +0200
[ci] Sort out Travis configuration
-
+
Use a matrix to avoid a gazillion if's.
.ci/deploy-docs.sh | 2 ++
.ci/run-coveralls.sh | 14 +++++++++++
- .travis.yml | 69
- ++++++++++++++++++++++++++++++++--------------------
+ .travis.yml | 69 ++++++++++++++++++++++++++++++++--------------------
3 files changed, 58 insertions(+), 27 deletions(-)
commit 5a6d2b986a02fc47fa9dcbb330e6949af8e375ff
@@ -40675,7 +40271,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Dec 5 13:12:11 2017 -0800
[debug] Use %p to print pointers
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/640
src/hb-debug.hh | 2 +-
@@ -40704,7 +40300,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Dec 5 09:01:28 2017 -0800
Silence unused-variables warning on MSVC
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/635
src/hb-private.hh | 2 ++
@@ -40732,9 +40328,8 @@ commit 0fd89dc61c6a26253aa9bb85e8dfd9faded11440
Author: Olivier Blin <olivier.blin@softathome.com>
Date: Mon Dec 4 18:58:41 2017 +0100
- [hb-ft] Fix build when Multiple Master font support is disabled
- in freetype
-
+ [hb-ft] Fix build when Multiple Master font support is disabled in freetype
+
FT_Set_Var_Blend_Coordinates() is not available when "Multiple Master
font interface" is disabled in freetype's modules.cfg
@@ -40767,9 +40362,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Dec 2 15:14:26 2017 -0800
[set] Fix recent changes
-
+
Ouch!
-
+
Add tests.
test/api/test-set.c | 24 ++++++++++++++++++++++++
@@ -40789,14 +40384,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 28 23:11:34 2017 -0800
[coretext] Add hb_coretext_font_create()
-
+
Fixes https://github.com/harfbuzz/harfbuzz/issues/628
-
+
New API:
hb_coretext_font_create()
- src/hb-coretext.cc | 55
- ++++++++++++++++++++++++++++++++++--------------------
+ src/hb-coretext.cc | 55 ++++++++++++++++++++++++++++++++++--------------------
src/hb-coretext.h | 3 +++
2 files changed, 38 insertions(+), 20 deletions(-)
@@ -40805,11 +40399,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Dec 1 13:56:06 2017 -0800
[set] Optimize add_range() some more
-
- It's as good as it gets, and seems to be on par with previous set
- implementation
+
+ It's as good as it gets, and seems to be on par with previous set implementation
in my benchmark.
-
+
Would be great if someone can double-check my bitops.
src/hb-set-private.hh | 16 +++++++++++++---
@@ -40820,15 +40413,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Dec 1 13:34:14 2017 -0800
[set] Optimize add_range()
-
+
With new set implementation, this became really costy. Optimize it.
There's more to be done, but this shaves off most of the fat.
+
+ Part of fixing https://bugs.chromium.org/p/chromium/issues/detail?id=782220
- Part of fixing
- https://bugs.chromium.org/p/chromium/issues/detail?id=782220
-
- src/hb-set-private.hh | 56
- +++++++++++++++++++++++++++++++++++++--------------
+ src/hb-set-private.hh | 56 +++++++++++++++++++++++++++++++++++++--------------
1 file changed, 41 insertions(+), 15 deletions(-)
commit be9e307a889e04d198042ad39949d3971232ab26
@@ -40845,11 +40436,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 29 16:18:18 2017 -0800
Add another test for previous commit
-
+
From https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4273
- .../sha1sum/bbf4a308c402f0678c3e82844892a4da2ebe598f.ttf | Bin 0 ->
- 204 bytes
+ .../sha1sum/bbf4a308c402f0678c3e82844892a4da2ebe598f.ttf | Bin 0 -> 204 bytes
test/shaping/tests/fuzzed.tests | 1 +
2 files changed, 1 insertion(+)
@@ -40857,19 +40447,15 @@ commit 16fba5b2158a0e093e6df32637eba5058942e299
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 29 16:08:11 2017 -0800
- [ot] Fix Extension type recurse to disallow recursing to another
- Extension
-
- Particularly hazardous if the second layer mixes forward and backward
- lookups.
-
+ [ot] Fix Extension type recurse to disallow recursing to another Extension
+
+ Particularly hazardous if the second layer mixes forward and backward lookups.
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4336
src/hb-ot-layout-gsub-table.hh | 6 ++++--
- .../sha1sum/9d8a94a67932a3ab75a596fc8b5c6d0392ca9e49.ttf | Bin 0 ->
- 4545 bytes
- .../sha1sum/ef2511f215aa3ca847cbfffbf861793b42170875.ttf | Bin 0 ->
- 1152 bytes
+ .../sha1sum/9d8a94a67932a3ab75a596fc8b5c6d0392ca9e49.ttf | Bin 0 -> 4545 bytes
+ .../sha1sum/ef2511f215aa3ca847cbfffbf861793b42170875.ttf | Bin 0 -> 1152 bytes
test/shaping/tests/fuzzed.tests | 2 ++
4 files changed, 6 insertions(+), 2 deletions(-)
@@ -40878,7 +40464,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 29 14:20:09 2017 -0800
Try fixing Mac build with 10.12
-
+
Related
https://github.com/harfbuzz/harfbuzz/issues/345
https://github.com/harfbuzz/harfbuzz/pull/629
@@ -40900,12 +40486,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 21 16:36:07 2017 -0800
[doc] Optimize HarfBuzz.png; add HarfBuzz.svg
-
+
SVG is unused. Just keeping it here.
docs/HarfBuzz.png | Bin 14203 -> 8814 bytes
- docs/HarfBuzz.svg | 277
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ docs/HarfBuzz.svg | 277 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 277 insertions(+)
commit 77efdecadddbd68bbbc0ff85ac84e24976ad4d4f
@@ -40937,8 +40522,7 @@ Date: Tue Nov 21 14:16:10 2017 -0500
src/gen-use-table.py | 3 +++
src/hb-ot-shape-complex-use-table.cc | 2 +-
- .../sha1sum/373e67bf41ca264e260a9716162b71a23549e885.ttf | Bin 0 ->
- 1164 bytes
+ .../sha1sum/373e67bf41ca264e260a9716162b71a23549e885.ttf | Bin 0 -> 1164 bytes
test/shaping/tests/use-syllable.tests | 1 +
4 files changed, 5 insertions(+), 1 deletion(-)
@@ -40946,8 +40530,7 @@ commit cd8c62fd41ca824c5db3c55fd1faa20318ca0bf9
Author: ebraminio <ebrahim@gnu.org>
Date: Tue Nov 21 01:07:26 2017 -0500
- [ci] Add Oracle Developer Studio (former Sun Studio) based compiler
- (#621)
+ [ci] Add Oracle Developer Studio (former Sun Studio) based compiler (#621)
.circleci/config.yml | 11 +++++++++++
1 file changed, 11 insertions(+)
@@ -40957,12 +40540,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 20 19:43:22 2017 -0800
Fix fallback positioning of double diacritic marks
-
+
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=787284
src/hb-ot-shape-fallback.cc | 4 ++--
- .../sha1sum/856ff9562451293cbeff6f396d4e3877c4f0a436.ttf | Bin 0 ->
- 892 bytes
+ .../sha1sum/856ff9562451293cbeff6f396d4e3877c4f0a436.ttf | Bin 0 -> 892 bytes
test/shaping/tests/fallback-positioning.tests | 1 +
3 files changed, 3 insertions(+), 2 deletions(-)
@@ -40984,8 +40566,7 @@ Date: Mon Nov 20 15:07:48 2017 -0800
docs/harfbuzz-docs.xml | 2 +-
...anual-buffers-language-script-and-direction.xml | 10 +++----
docs/usermanual-fonts-and-faces.xml | 2 +-
- docs/usermanual-hello-harfbuzz.xml | 34
- +++++++++++-----------
+ docs/usermanual-hello-harfbuzz.xml | 34 +++++++++++-----------
docs/usermanual-install-harfbuzz.xml | 2 +-
docs/usermanual-what-is-harfbuzz.xml | 20 ++++++-------
6 files changed, 35 insertions(+), 35 deletions(-)
@@ -40997,8 +40578,7 @@ Date: Mon Nov 20 13:19:34 2017 -0500
Categorize U+0C80 as Consonant_Placeholder
src/hb-ot-shape-complex-indic.cc | 1 +
- .../sha1sum/81c368a33816fb20e9f647e8f24e2180f4720263.ttf | Bin 0 ->
- 1152 bytes
+ .../sha1sum/81c368a33816fb20e9f647e8f24e2180f4720263.ttf | Bin 0 -> 1152 bytes
test/shaping/tests/indic-syllable.tests | 1 +
3 files changed, 2 insertions(+)
@@ -41043,9 +40623,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 14 21:53:48 2017 -0800
Limit how much recursion GSUB/GPOS does
-
+
This only counts recursions right now. Good start.
-
+
Hopefully...
Fixes https://github.com/behdad/harfbuzz/issues/429
@@ -41096,8 +40676,7 @@ Date: Tue Nov 14 21:06:07 2017 -0800
src/hb-ot-layout-gdef-table.hh | 22 ++--
src/hb-ot-layout-gpos-table.hh | 94 ++++++++--------
src/hb-ot-layout-gsub-table.hh | 30 +++---
- src/hb-ot-layout-gsubgpos-private.hh | 172
- +++++++++++++++---------------
+ src/hb-ot-layout-gsubgpos-private.hh | 172 +++++++++++++++---------------
src/hb-ot-math-table.hh | 26 ++---
src/hb-ot-maxp-table.hh | 2 +-
src/hb-ot-name-table.hh | 16 +--
@@ -41126,7 +40705,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 14 20:25:29 2017 -0800
[glyf] Try fixing undefined-behavior
-
+
Might fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1463
src/hb-ot-glyf-table.hh | 17 ++++++++---------
@@ -41137,9 +40716,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 14 20:22:05 2017 -0800
[ot] Remove unneeded TODO item
-
+
Looks like hb-ot-font is complete after all!
-
+
CFF font names and CFF glyph metrics don't work though...
src/hb-ot-font.cc | 2 +-
@@ -41150,7 +40729,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 14 20:16:45 2017 -0800
[hmtx] Use curiously recurring template pattern
-
+
https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern
src/hb-ot-font.cc | 11 ++++-------
@@ -41163,8 +40742,7 @@ Date: Tue Nov 14 20:06:19 2017 -0800
[ot] Move hb_ot_face_cmap_accelerator_t
- src/hb-ot-cmap-table.hh | 149
- +++++++++++++++++++++++++++++++++++++++++++++---
+ src/hb-ot-cmap-table.hh | 149 +++++++++++++++++++++++++++++++++++++++++++++---
src/hb-ot-font.cc | 130 +-----------------------------------------
2 files changed, 142 insertions(+), 137 deletions(-)
@@ -41174,8 +40752,7 @@ Date: Tue Nov 14 20:02:24 2017 -0800
Shuffle
- src/hb-ot-hmtx-table.hh | 76
- ++++++++++++++++++++++++-------------------------
+ src/hb-ot-hmtx-table.hh | 76 ++++++++++++++++++++++++-------------------------
1 file changed, 38 insertions(+), 38 deletions(-)
commit a85d7ead04aff81d2f9df9110316892dbbefe1c2
@@ -41184,10 +40761,8 @@ Date: Tue Nov 14 20:00:34 2017 -0800
[ot] Move hb_ot_face_metrics_accelerator_t
- src/hb-ot-font.cc | 108
- +-----------------------------------------------
- src/hb-ot-hmtx-table.hh | 108
- +++++++++++++++++++++++++++++++++++++++++++++++-
+ src/hb-ot-font.cc | 108 +-----------------------------------------------
+ src/hb-ot-hmtx-table.hh | 108 +++++++++++++++++++++++++++++++++++++++++++++++-
2 files changed, 109 insertions(+), 107 deletions(-)
commit f00a94e1ec73c08d4bde1f50bff57d2dc9583ca8
@@ -41207,8 +40782,7 @@ Date: Tue Nov 14 19:52:09 2017 -0800
[ot] Move hb_ot_face_glyf_accelerator_t
src/hb-ot-font.cc | 75 +----------------------------------
- src/hb-ot-glyf-table.hh | 103
- +++++++++++++++++++++++++++++++++++++++++-------
+ src/hb-ot-glyf-table.hh | 103 +++++++++++++++++++++++++++++++++++++++++-------
2 files changed, 90 insertions(+), 88 deletions(-)
commit c4e18e54dc5ffecac7b327bde9f52dd0927d6a08
@@ -41217,10 +40791,8 @@ Date: Tue Nov 14 19:47:31 2017 -0800
[ot] Move hb_ot_face_cbdt_accelerator_t
- src/hb-ot-cbdt-table.hh | 85
- +++++++++++++++++++++++++++++++++++++++++++++++
- src/hb-ot-font.cc | 87
- +------------------------------------------------
+ src/hb-ot-cbdt-table.hh | 85 +++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-font.cc | 87 +------------------------------------------------
src/hb-ot-post-table.hh | 1 +
3 files changed, 87 insertions(+), 86 deletions(-)
@@ -41258,11 +40830,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 14 15:56:21 2017 -0800
Add test for previous commit
-
+
At some point we should run tests under valgrind...
- .../sha1sum/dd9f0c7c7c36f75a18be0cab1cddf8f3ab0f366b.ttf | Bin 0 ->
- 2786 bytes
+ .../sha1sum/dd9f0c7c7c36f75a18be0cab1cddf8f3ab0f366b.ttf | Bin 0 -> 2786 bytes
test/shaping/tests/fuzzed.tests | 3 ++-
2 files changed, 2 insertions(+), 1 deletion(-)
@@ -41271,7 +40842,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 14 15:47:55 2017 -0800
Fix invalid buffer access in OOM times
-
+
Hopefully fully fixes
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1856
@@ -41303,8 +40874,7 @@ Date: Thu Nov 2 10:59:25 2017 -0400
Allow U+20F0 in USE clusters
src/gen-use-table.py | 4 +++
- src/hb-ot-shape-complex-use-table.cc | 34
- +++++++++++++--------
+ src/hb-ot-shape-complex-use-table.cc | 34 +++++++++++++--------
.../074a5ae6b19de8f29772fdd5df2d3d833f81f5e6.ttf | Bin 0 -> 2296 bytes
test/shaping/tests/use-syllable.tests | 1 +
4 files changed, 26 insertions(+), 13 deletions(-)
@@ -41324,15 +40894,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 14 10:59:54 2017 -0800
Revert "[glib/ucdn/icu/ft/ot] Make returned funcs inert"
-
+
This reverts commit 5daf3bd4494cce6b4fb074533be9e99c4d9e0edd.
-
+
If other atexit callbacks try to destruct the objects we destruct
in atexit callbacks, bad things will happen.
-
+
I'll come up with some other way to catch premature destruction
of HB-owned objects.
-
+
Fixes https://github.com/behdad/harfbuzz/issues/618
src/hb-ft.cc | 3 ---
@@ -41357,11 +40927,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 13 20:25:02 2017 -0800
Clean up GlyphID
-
+
After 4a27c17ea0234dfe33e62f5830d9f92c26d48d30 we do not need
the special GlyphID.cmp(hb_codepoint_t), so just make GlyphID
a typedef.
-
+
Fixes https://github.com/behdad/harfbuzz/issues/612
src/hb-open-type-private.hh | 5 +----
@@ -41372,7 +40942,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 13 15:04:13 2017 -0800
Implement strtod_l() on MSVC
-
+
Patch from Jean Ghali on mailing list.
src/hb-common.cc | 21 +++++++++++++++------
@@ -41392,11 +40962,10 @@ commit e4da38020021a92afa4062ed676f286945070dc4
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 10 17:14:27 2017 -0800
- [coretext/uniscribe/directwrite/graphite/fallback] Update for
- unsafe-to-break
-
+ [coretext/uniscribe/directwrite/graphite/fallback] Update for unsafe-to-break
+
Fixes https://github.com/behdad/harfbuzz/issues/615
-
+
We'll see which bots I broke.
src/hb-buffer-private.hh | 17 +++++++++++++++--
@@ -41421,14 +40990,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 9 18:09:40 2017 -0800
[kern] Fix invalid memory access if offset is zero
-
+
If offset is zero, we return Null() object. Wasn't prepared for that.
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4088
src/hb-ot-kern-table.hh | 9 +++++----
- .../sha1sum/243798dd281c1c77c065958e1ff467420faa9bde.ttf | Bin 0 ->
- 225 bytes
+ .../sha1sum/243798dd281c1c77c065958e1ff467420faa9bde.ttf | Bin 0 -> 225 bytes
test/shaping/tests/fuzzed.tests | 1 +
3 files changed, 6 insertions(+), 4 deletions(-)
@@ -41437,7 +41005,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Fri Nov 3 14:27:33 2017 +0200
[test] Use glyph ids instead of forcing ft funcs
-
+
We were using ft funcs because these are CFF fonts, but we can avoid
glyph names instead and keep testing both ot and ft.
@@ -41450,13 +41018,11 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Thu Nov 2 09:45:06 2017 +0200
[test] Fix another instance of component rounding
-
+
See https://github.com/behdad/harfbuzz/pull/590#issuecomment-341194673
- .../sha1sum/7ef276fc886ea502a03b9b0e5c8b547d5dc2b61c.ttf | Bin 784 ->
- 0 bytes
- .../sha1sum/8228d035fcd65d62ec9728fb34f42c63be93a5d3.ttf | Bin 0 ->
- 784 bytes
+ .../sha1sum/7ef276fc886ea502a03b9b0e5c8b547d5dc2b61c.ttf | Bin 784 -> 0 bytes
+ .../sha1sum/8228d035fcd65d62ec9728fb34f42c63be93a5d3.ttf | Bin 0 -> 784 bytes
test/shaping/tests/fallback-positioning.tests | 3 +--
3 files changed, 1 insertion(+), 2 deletions(-)
@@ -41465,7 +41031,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 8 17:04:31 2017 -0800
Fix indexing in unsafe-to-break marking for 'stch' feature
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4099
src/hb-ot-shape-complex-arabic.cc | 2 +-
@@ -41476,7 +41042,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 8 17:03:55 2017 -0800
[tests/arabic-stch.tests] Don't show flags
-
+
We don't need to test the actual flag values. For unsafe-to-break,
the --verify in run-tests.sh checks what we are interested in.
@@ -41498,11 +41064,9 @@ Date: Wed Nov 8 13:15:27 2017 -0500
Mark non-initial left matras as unsafe to break
- src/hb-ot-shape-complex-indic.cc | 14
- +++++++++-----
+ src/hb-ot-shape-complex-indic.cc | 14 +++++++++-----
test/shaping/Makefile.am | 1 +
- .../sha1sum/1a3d8f381387dd29be1e897e4b5100ac8b4829e1.ttf | Bin 0 ->
- 1380 bytes
+ .../sha1sum/1a3d8f381387dd29be1e897e4b5100ac8b4829e1.ttf | Bin 0 -> 1380 bytes
test/shaping/tests/indic-init.tests | 1 +
4 files changed, 11 insertions(+), 5 deletions(-)
@@ -41520,7 +41084,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 6 15:28:24 2017 -0500
[kern] Allow subtables longer than 64kb
-
+
Apparently calibri.ttf does this:
https://github.com/fonttools/fonttools/pull/1094#discussion_r148933791
@@ -41535,8 +41099,7 @@ Date: Sat Nov 4 12:01:11 2017 -0400
[kern] Towards implementing format-2
src/hb-open-type-private.hh | 4 +--
- src/hb-ot-kern-table.hh | 69
- +++++++++++++++++++++++++++------------------
+ src/hb-ot-kern-table.hh | 69 +++++++++++++++++++++++++++------------------
2 files changed, 42 insertions(+), 31 deletions(-)
commit 74e82adaea08ced18493e3341823dbd5b6cd493e
@@ -41547,8 +41110,7 @@ Date: Mon Nov 6 14:41:55 2017 -0500
src/hb-ot-shape-complex-arabic.cc | 1 +
test/shaping/Makefile.am | 1 +
- .../sha1sum/d9b8bc10985f24796826c29f7ccba3d0ae11ec02.ttf | Bin 0 ->
- 1420 bytes
+ .../sha1sum/d9b8bc10985f24796826c29f7ccba3d0ae11ec02.ttf | Bin 0 -> 1420 bytes
test/shaping/tests/arabic-stch.tests | 1 +
4 files changed, 3 insertions(+)
@@ -41557,7 +41119,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 3 20:34:11 2017 -0400
[configure] Fix gobject default value in help output
-
+
Fixes https://github.com/behdad/harfbuzz/issues/607
configure.ac | 2 +-
@@ -41568,11 +41130,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 3 17:16:26 2017 -0400
Simplify tracing code when tracing is disabled
-
+
Fixes https://github.com/behdad/harfbuzz/pull/605
- src/hb-debug.hh | 58
- +++++++++++++++++++++++++++++-------
+ src/hb-debug.hh | 58 +++++++++++++++++++++++++++++-------
src/hb-ot-layout-gsubgpos-private.hh | 10 +++----
2 files changed, 52 insertions(+), 16 deletions(-)
@@ -41581,14 +41142,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 3 16:57:30 2017 -0400
Consolidate debug stuff into hb-debug.hh
-
+
Part of fixing https://github.com/behdad/harfbuzz/pull/605
src/Makefile.sources | 1 +
src/hb-blob.cc | 7 +-
src/hb-coretext.cc | 8 +-
- src/hb-debug.hh | 383
- +++++++++++++++++++++++++++++++++++
+ src/hb-debug.hh | 383 +++++++++++++++++++++++++++++++++++
src/hb-directwrite.cc | 6 +-
src/hb-ft.cc | 7 +-
src/hb-object-private.hh | 8 +-
@@ -41616,7 +41176,7 @@ Author: Unknown <kunda@scribus.net>
Date: Fri Nov 3 09:05:00 2017 -0400
Trivial typos
-
+
Found using `codespell -i 3 -w -I '../harf-whitelist.txt'`
whereas the whitelist contents were:
```
@@ -41665,9 +41225,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 1 19:41:29 2017 -0600
[ot] Hook up horizontal kerning to kern table
-
+
Seems to work. Yay!
-
+
Still to do: run kerning if GPOS doesn't have 'kern' feature.
src/hb-ot-font.cc | 2 +-
@@ -41678,12 +41238,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 1 19:33:09 2017 -0600
[kern] More...
-
+
Almost there.
src/hb-ot-font.cc | 14 +++++++++
- src/hb-ot-kern-table.hh | 75
- ++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/hb-ot-kern-table.hh | 75 ++++++++++++++++++++++++++++++++++++++++++++++++-
2 files changed, 88 insertions(+), 1 deletion(-)
commit 49c0f35580946c74bc64dae2d2c65c7834e46ab2
@@ -41710,8 +41269,7 @@ Date: Wed Nov 1 18:12:26 2017 -0600
[kern] Implement Format0
- src/hb-ot-kern-table.hh | 51
- +++++++++++++++++++++++++++++++++++++++++++------
+ src/hb-ot-kern-table.hh | 51 +++++++++++++++++++++++++++++++++++++++++++------
1 file changed, 45 insertions(+), 6 deletions(-)
commit ac3d937c6cb0e2c7e019aa391b02da25aa6970de
@@ -41720,8 +41278,7 @@ Date: Wed Nov 1 17:54:56 2017 -0600
[kern] Implement some more
- src/hb-ot-kern-table.hh | 98
- ++++++++++++++++++++++++++++++++++++++-----------
+ src/hb-ot-kern-table.hh | 98 ++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 77 insertions(+), 21 deletions(-)
commit 2a16f647ae4c5115a356ba82245c77e0d01fcebf
@@ -41729,15 +41286,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 1 17:31:29 2017 -0600
[kern] Start implementing kern table
-
- Pushing this out early to catch bot errors since I'm using template
- tricks
+
+ Pushing this out early to catch bot errors since I'm using template tricks
we were not using in HarfBuzz before.
src/Makefile.sources | 1 +
src/hb-ot-font.cc | 1 +
- src/hb-ot-kern-table.hh | 184
- ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-kern-table.hh | 184 ++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 186 insertions(+)
commit 292ef2675edb2cb579210183e77ac30335318a21
@@ -41763,17 +41318,14 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Wed Nov 1 20:49:42 2017 +0200
[test] Fix difference between ft and ot font funcs
-
- See
- https://github.com/behdad/harfbuzz/pull/590#issuecomment-341194673.
-
+
+ See https://github.com/behdad/harfbuzz/pull/590#issuecomment-341194673.
+
I simply removed the composite glyph and use the referenced simple
glyph directly.
- .../sha1sum/4fac3929fc3332834e93673780ec0fe94342d193.ttf | Bin 0 ->
- 804 bytes
- .../sha1sum/6466d38c62e73a39202435a4f73bf5d6acbb73c0.ttf | Bin 824 ->
- 0 bytes
+ .../sha1sum/4fac3929fc3332834e93673780ec0fe94342d193.ttf | Bin 0 -> 804 bytes
+ .../sha1sum/6466d38c62e73a39202435a4f73bf5d6acbb73c0.ttf | Bin 824 -> 0 bytes
test/shaping/tests/cluster.tests | 2 +-
3 files changed, 1 insertion(+), 1 deletion(-)
@@ -41782,7 +41334,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Wed Nov 1 20:33:43 2017 +0200
Revert "[test] We don’t care about glyph positions here"
-
+
This reverts commit 70137e2b4b46918d9608f824a4b4b5cef2819158.
test/shaping/tests/cluster.tests | 4 ++--
@@ -41802,14 +41354,12 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Wed Nov 1 12:03:39 2017 +0200
[test] We don’t care about glyph positions here
-
- Freetype and OT font functions give different positions for some
- glyphs
+
+ Freetype and OT font functions give different positions for some glyphs
in this font (OT seems to be correct), but that is not what we are
interested in in this test.
-
- See
- https://github.com/behdad/harfbuzz/pull/590#issuecomment-341045223.
+
+ See https://github.com/behdad/harfbuzz/pull/590#issuecomment-341045223.
test/shaping/tests/cluster.tests | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -41819,7 +41369,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Wed Nov 1 10:34:36 2017 +0200
[test] Use ft functions for this test
-
+
https://github.com/behdad/harfbuzz/pull/590#issuecomment-340967271
test/shaping/tests/vertical.tests | 2 +-
@@ -41830,9 +41380,8 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Mon Oct 30 22:02:50 2017 +0200
[test] Always use ft font funcs for these tests
-
- These are CFF fonts and ot functions don’t support CFF glyph
- names yet.
+
+ These are CFF fonts and ot functions don’t support CFF glyph names yet.
The next commit will run all tests with ot functions.
test/shaping/tests/indic-consonant-with-stacker.tests | 8 ++++----
@@ -41865,7 +41414,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 1 01:15:27 2017 -0600
[CircleCI] Ignore gh-pages branch
-
+
https://github.com/behdad/harfbuzz/pull/592
.circleci/config.yml | 4 ++++
@@ -41947,8 +41496,7 @@ Date: Fri Oct 27 12:14:00 2017 -0400
Categorize Grantha candrabindu for use in Tamil
src/hb-ot-shape-complex-indic.cc | 2 +-
- .../sha1sum/b151cfcdaa77585d77f17a42158e0873fc8e2633.ttf | Bin 0 ->
- 1120 bytes
+ .../sha1sum/b151cfcdaa77585d77f17a42158e0873fc8e2633.ttf | Bin 0 -> 1120 bytes
test/shaping/tests/indic-script-extensions.tests | 1 +
3 files changed, 2 insertions(+), 1 deletion(-)
@@ -41957,7 +41505,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 31 14:25:46 2017 -0600
[CircleCI] Fix build
-
+
Fixes https://github.com/behdad/harfbuzz/issues/589
.circleci/config.yml | 6 +++---
@@ -41975,11 +41523,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 31 14:02:32 2017 -0600
Simplify hb-sort-r.hh
-
+
See https://github.com/behdad/harfbuzz/pull/592
- src/hb-sort-r.hh | 147
- ++++++-------------------------------------------------
+ src/hb-sort-r.hh | 147 ++++++-------------------------------------------------
1 file changed, 14 insertions(+), 133 deletions(-)
commit b7982c9e65e0b58616cc8264dd52cac37753ef79
@@ -41988,8 +41535,7 @@ Date: Tue Oct 31 12:42:08 2017 -0700
[ci] Add CircleCI for cross-compiling (#592)
- .circleci/config.yml | 61
- ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ .circleci/config.yml | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++
README | 1 +
2 files changed, 62 insertions(+)
@@ -41998,7 +41544,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 31 13:18:21 2017 -0600
Define _GNU_SOURCE
-
+
Might help with https://github.com/behdad/harfbuzz/pull/592
Ie. bringing in qsort_r() prototype always.
@@ -42010,7 +41556,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 31 11:17:43 2017 -0600
[coretext/uniscribe] Fix build
-
+
https://travis-ci.org/behdad/harfbuzz/jobs/295039536#L3468
https://ci.appveyor.com/project/behdad/harfbuzz/build/1.0.697/job/dr1ujlntxafeqbej#L142
@@ -42023,7 +41569,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 30 14:11:59 2017 -0600
Fix Windows build
-
+
(And prevent it from happening in the future.)
src/hb-ot-layout.cc | 1 +
@@ -42035,11 +41581,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 30 13:15:05 2017 -0600
[post] Implement glyph_from_name()
-
+
This concludes https://github.com/behdad/harfbuzz/pull/568
- src/hb-ot-post-table.hh | 119
- ++++++++++++++++++++++++++++++++++++------------
+ src/hb-ot-post-table.hh | 119 ++++++++++++++++++++++++++++++++++++------------
src/hb-private.hh | 10 ++--
src/hb-sort-r.hh | 2 +-
3 files changed, 96 insertions(+), 35 deletions(-)
@@ -42080,8 +41625,7 @@ Date: Mon Oct 30 09:46:36 2017 -0600
[post] Minor; towards implementing get_glyph_from_name()
- src/hb-ot-post-table.hh | 56
- +++++++++++++++++++++++++++----------------------
+ src/hb-ot-post-table.hh | 56 +++++++++++++++++++++++++++----------------------
1 file changed, 31 insertions(+), 25 deletions(-)
commit 977679f229a10868dc668294082bd82125e4fe48
@@ -42114,8 +41658,7 @@ Date: Sun Oct 29 16:38:58 2017 -0600
Add hb-sort-r, a portable qsort_r() replacement
src/Makefile.sources | 1 +
- src/hb-sort-r.hh | 227
- +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-sort-r.hh | 227 +++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 228 insertions(+)
commit 923a8f520addba095384b975ba8934e5a18fb696
@@ -42141,12 +41684,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Oct 28 19:54:04 2017 -0600
[ot] Speed up get_glyph_name()
-
+
get_glyph_from_name() coming soon.
src/hb-ot-font.cc | 13 ++--
- src/hb-ot-post-table.hh | 160
- +++++++++++++++++++------------------------
+ src/hb-ot-post-table.hh | 160 +++++++++++++++++++------------------------
src/test-buffer-serialize.cc | 4 +-
3 files changed, 81 insertions(+), 96 deletions(-)
@@ -42164,7 +41706,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Oct 28 12:00:49 2017 -0600
More nullptr fix
-
+
Fixes https://github.com/behdad/harfbuzz/issues/585
src/test.cc | 4 +---
@@ -42175,7 +41717,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 27 16:34:01 2017 -0600
[glib/ucdn/icu/ft/ot] Make returned funcs inert
-
+
Such that client cannot accidentally destroy them, even though that
will be a bug in their code...
@@ -42192,7 +41734,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 27 16:03:51 2017 -0600
Fix previous commit
-
+
Oops.
src/hb-glib.cc | 2 +-
@@ -42216,7 +41758,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 27 15:13:50 2017 -0600
Correctly mark NullPool const
-
+
Saves some more code size as well!
src/hb-open-type-private.hh | 2 +-
@@ -42229,7 +41771,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 27 15:09:22 2017 -0600
Reduce prealloced number of user-data items from 2 to 1
-
+
Even 1 is too many but putting 0 breaks compile. Saves 3k in .so
src/hb-private.hh | 2 +-
@@ -42240,7 +41782,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 27 15:01:40 2017 -0600
Make the NullPool HB_INTERNAL shared
-
+
Saves 2k of .bss section.
src/hb-open-type-private.hh | 10 ++++++----
@@ -42253,7 +41795,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 27 14:42:59 2017 -0600
[ot] Remove shaper name
-
+
In ten years we never used them...
src/hb-ot-shape-complex-arabic.cc | 1 -
@@ -42273,7 +41815,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 27 14:29:12 2017 -0600
Fix IntType.cmp() to avoid narrowing down integer types
-
+
Fixes https://github.com/behdad/harfbuzz/issues/571
src/hb-open-type-private.hh | 5 +++--
@@ -42284,12 +41826,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 27 10:29:25 2017 -0600
Make c++11 optional
-
+
Fixes https://github.com/behdad/harfbuzz/issues/585
configure.ac | 4 +-
- m4/ax_cxx_compile_stdcxx.m4 | 982
- ++++++++++++++++++++++++++++++++++++++++++++
+ m4/ax_cxx_compile_stdcxx.m4 | 982 ++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 983 insertions(+), 3 deletions(-)
commit 6c4689704071a76c49be819b8034feaf93e26a42
@@ -42315,7 +41856,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 27 09:29:20 2017 -0600
Use NULL instead of polyfill, if nullptr is not available
-
+
Part of fixing https://github.com/behdad/harfbuzz/issues/585
src/hb-private.hh | 22 +++-------------------
@@ -42326,7 +41867,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 27 09:22:30 2017 -0600
Include hb-private.hh more consistently
-
+
Part of fixing https://github.com/behdad/harfbuzz/issues/585
src/test-buffer-serialize.cc | 4 +---
@@ -42346,7 +41887,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 27 00:25:11 2017 -0600
Towards compiling with pre-C++11 compilers and nullptr fallback
-
+
https://github.com/behdad/harfbuzz/issues/585
src/hb-atomic-private.hh | 4 ++--
@@ -42359,8 +41900,7 @@ Date: Thu Oct 26 20:34:04 2017 -0600
[post] Make format1 names array avoid relocations
src/Makefile.sources | 1 +
- src/hb-ot-post-macroman.hh | 294
- +++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-post-macroman.hh | 294 +++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-post-table.hh | 55 ++-------
3 files changed, 305 insertions(+), 45 deletions(-)
@@ -42369,13 +41909,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 26 19:48:33 2017 -0600
Add hb-string-array.hh
-
+
Used to build static string arrays that use no relocation.
src/Makefile.sources | 1 +
src/hb-private.hh | 6 ++--
- src/hb-string-array.hh | 74
- ++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-string-array.hh | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 79 insertions(+), 2 deletions(-)
commit 6f08b12bc38166dee2f9740d396d617b32e887a3
@@ -42411,7 +41950,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 26 11:43:33 2017 -0600
Fix warning
-
+
https://github.com/behdad/harfbuzz/commit/49a41dc75931cc2d2f7e74b7801f8cc327039e8e#commitcomment-25203194
test/api/test-set.c | 5 +++--
@@ -42422,7 +41961,7 @@ Author: Jonathan Kew <jfkthame@gmail.com>
Date: Thu Oct 26 16:59:50 2017 +0100
[set] Fix page_map[] indexing in backward loop.
-
+
Fixes https://github.com/behdad/harfbuzz/issues/579.
src/hb-set-private.hh | 4 ++--
@@ -42442,7 +41981,7 @@ Author: Jonathan Kew <jfkthame@gmail.com>
Date: Thu Oct 26 17:54:55 2017 +0100
[test] Additional coverage in test_set_iter.
-
+
This adds a couple extra entries to the set used, such that iteration
would fail in 1.6.2 due to the bug in hb_set_t::page_t::next().
@@ -42463,7 +42002,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 25 18:22:47 2017 -0600
[post] Oops!
-
+
https://ci.appveyor.com/project/behdad/harfbuzz/build/1.0.668/job/ikfj8peowgrp059t
src/hb-ot-post-table.hh | 4 ++--
@@ -42474,12 +42013,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 25 17:40:50 2017 -0600
[post] Touch up and fixes
-
+
The get_glyph_from_name() is incorrect; needs fixing.
src/hb-ot-font.cc | 9 ++--
- src/hb-ot-post-table.hh | 139
- +++++++++++++++++++++++++++---------------------
+ src/hb-ot-post-table.hh | 139 +++++++++++++++++++++++++++---------------------
2 files changed, 81 insertions(+), 67 deletions(-)
commit d9e166f74c3ba3128c9ef3ccd8d7799e67f14eab
@@ -42489,8 +42027,7 @@ Date: Wed Oct 18 20:49:16 2017 +0200
[ot-font] Implement hb_ot_get_glyph_from_name
src/hb-ot-font.cc | 22 ++++++++++++++++++-
- src/hb-ot-post-table.hh | 58
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-post-table.hh | 58 +++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 79 insertions(+), 1 deletion(-)
commit 9d4d2fb9af446d5d41058fbb1da8117b3af048d3
@@ -42498,14 +42035,12 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Mon Oct 16 10:05:42 2017 +0200
[ot-font] Implement hb_ot_get_glyph_name
-
- Turns out we already have support for “post” table, it just
- needed to be
+
+ Turns out we already have support for “post” table, it just needed to be
activated and put in use.
src/hb-ot-font.cc | 46 ++++++++++++-
- src/hb-ot-post-table.hh | 96
- +++++++++++++++++++++++++++
+ src/hb-ot-post-table.hh | 96 +++++++++++++++++++++++++++
test/shaping/tests/fallback-positioning.tests | 2 +-
test/shaping/tests/indic-syllable.tests | 2 +-
test/shaping/tests/use.tests | 2 +-
@@ -42523,7 +42058,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 25 16:17:45 2017 -0600
[test] Add more hb-set tests
-
+
https://github.com/behdad/harfbuzz/issues/579
test/api/test-set.c | 40 ++++++++++++++++++++++++++++++++++++++++
@@ -42562,7 +42097,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 25 12:09:11 2017 -0400
Check for headers in builddir first, in check-*.sh
-
+
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=103346
src/check-c-linkage-decls.sh | 4 ++--
@@ -42576,12 +42111,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 24 10:06:25 2017 -0400
check-externs.sh: Make output more verbose
-
+
Trying to figure out why this is failing on some Debian bots:
https://bugs.freedesktop.org/show_bug.cgi?id=103346
-
- Maybe I should check for GNU grep specifically now that I'm using
- -n as well.
+
+ Maybe I should check for GNU grep specifically now that I'm using -n as well.
src/check-externs.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
@@ -42610,10 +42144,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 23 14:26:48 2017 -0400
[set] Fix crash
-
- Ouch! That's what happens when one plays with increment/decrement
- operators!
-
+
+ Ouch! That's what happens when one plays with increment/decrement operators!
+
Fixes https://github.com/behdad/harfbuzz/issues/578
src/hb-set-private.hh | 10 ++++++----
@@ -42625,8 +42158,7 @@ Date: Mon Oct 23 13:10:21 2017 -0400
[RELEASING] Format
- RELEASING.md | 67
- +++++++++++++++++++++++++++++++++++++++++++-----------------
+ RELEASING.md | 67 +++++++++++++++++++++++++++++++++++++++++++-----------------
1 file changed, 48 insertions(+), 19 deletions(-)
commit 6a2e1649debd992211bf96ef80d075d2d04a49ed
@@ -42634,7 +42166,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 23 13:01:34 2017 -0400
[doap] Switch to github issues
-
+
https://github.com/behdad/harfbuzz/pull/575#issuecomment-338514596
harfbuzz.doap | 2 +-
@@ -42645,7 +42177,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 23 13:00:36 2017 -0400
[RELEASING] Minor
-
+
https://github.com/behdad/harfbuzz/pull/575
RELEASING.md | 4 ++--
@@ -42665,7 +42197,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 23 08:36:40 2017 -0400
[set] Don't use major()
-
+
Fixes https://github.com/behdad/harfbuzz/issues/577
src/hb-set-private.hh | 10 +++++-----
@@ -42676,7 +42208,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 23 08:34:30 2017 -0400
[set] Don't use PAGE_SIZE
-
+
Fixes https://github.com/behdad/harfbuzz/issues/576
src/hb-set-private.hh | 12 ++++++------
@@ -42704,7 +42236,7 @@ Author: ebraminio <ebrahim@gnu.org>
Date: Mon Oct 23 01:48:22 2017 +0330
Merge pull request #575 from behdad/releasing-edit
-
+
Clarify the last step of release
commit 19923279abd4c7615e8b02e05a02ba18f5c0b298
@@ -42785,7 +42317,7 @@ Author: ebraminio <ebrahim@gnu.org>
Date: Sat Oct 21 10:19:55 2017 +0330
Merge pull request #572 from fanc999/master.msvc
-
+
builds: Support HarfBuzz-GObject and introspection in CMake builds
commit d8adaa97fbf33071b8a4b5c05c3f2f15f2fd22ea
@@ -42793,10 +42325,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 20 13:57:43 2017 -0400
Another try at fixing build bots
-
- hb-ot-shape.cc:287:18: error: comparison of constant 32 with
- expression of type 'hb_unicode_general_category_t' is always true
- [-Werror,-Wtautological-constant-out-of-range-compare]
+
+ hb-ot-shape.cc:287:18: error: comparison of constant 32 with expression of type 'hb_unicode_general_category_t' is always true [-Werror,-Wtautological-constant-out-of-range-compare]
src/hb-private.hh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -42806,7 +42336,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 19 11:39:52 2017 -0700
Remove FLAG_SAFE()
-
+
No flag is safe, over time... See previous commit.
src/hb-ot-shape-complex-arabic.cc | 4 ++--
@@ -42821,12 +42351,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 19 11:35:51 2017 -0700
[myanmar] Fix unsafe usage of FLAG_SAFE()
-
+
The commit f559c633073f63b9d87cb2440048b4413cfa1c05 caused
"undefined-shift" errors in Myanmar shaper as we changed the
numeric value of type D from 19 to 32 there, making the
"FLAG_SAFE (info.myanmar_category())" wrong.
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3546
src/hb-ot-shape-complex-myanmar.cc | 2 +-
@@ -42837,13 +42367,11 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Thu Oct 19 18:36:32 2017 +0800
CMake builds: Support introspection builds
-
- This adds support for introspection builds on Windows that is
- enabled by
- the HB_HAVE_INTROSPECTION option, which will also enable
- HB_HAVE_GOBJECT
+
+ This adds support for introspection builds on Windows that is enabled by
+ the HB_HAVE_INTROSPECTION option, which will also enable HB_HAVE_GOBJECT
(and so HB_HAVE_GLIB) as they are required for introspection.
-
+
In order for this to work one must ensure that the Python installation
listed in PYTHON_EXECUTABLE is the same Python release series that was
used to build _giscanner.pyd (the Python module that is used by
@@ -42852,8 +42380,7 @@ Date: Thu Oct 19 18:36:32 2017 +0800
are not in the standard PATH and PKG_CONFIG_PATH, which is actually
in-line with the *NIX builds.
- CMakeLists.txt | 161
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
+ CMakeLists.txt | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 154 insertions(+), 7 deletions(-)
commit 53db221259b5eea4d2244321b2fe96beb39aef7d
@@ -42861,28 +42388,24 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Wed Oct 18 15:43:57 2017 +0800
CMake: Support building HarfBuzz-GObject
-
+
This adds support to the CMake build files to support building
HarfBuzz-GObject, which is actually a little bit complicated,
as we need to:
-
+
-Run glib-mkenums, which is a Python (for newer GLib/GObject) or PERL
(for older, pre 2.53.4, GLib/GObject) script. This matters more for
- Visual Studio builds as shebang lines are not supported, so we
- need to
+ Visual Studio builds as shebang lines are not supported, so we need to
test-run it with PERL or Python to determine which is the correct
interpretor to use.
-
+
-Next, we need to replace strings in the sources that we obtain from
- running glib-mkenums. So, the solution here is to use a small
- utility
- CMake script for our purposes here, to maintain maximum
- compatibility.
-
+ running glib-mkenums. So, the solution here is to use a small utility
+ CMake script for our purposes here, to maintain maximum compatibility.
+
-Ensure that things do work in the Visual Studio IDE builds.
- CMakeLists.txt | 128
- +++++++++++++++++++++++++++++++++++++++++++++
+ CMakeLists.txt | 128 +++++++++++++++++++++++++++++++++++++++++++++
Makefile.am | 1 +
replace-enum-strings.cmake | 21 ++++++++
3 files changed, 150 insertions(+)
@@ -42892,13 +42415,13 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Wed Oct 18 22:27:28 2017 +0800
CMake builds: Fix builds
-
+
Include the fallback sources in the build, and update
src/Makefile.sources so that it can be read by the CMake build files.
-
+
Fix a typo in the DirectWrite configure option so that we can properly
enable DirectWrite builds.
-
+
Also, when building the utility program, install them as well.
CMakeLists.txt | 21 ++++++++++++++++++++-
@@ -42919,13 +42442,12 @@ Author: Fredrik Roubert <fredrik@roubert.name>
Date: Tue Oct 17 15:06:31 2017 -0700
Switch from ICU deprecated unorm_normalize to unorm2_normalize. (#569)
-
+
The new unorm2_normalize has been public API since ICU 4.4, while
the old unorm_normalize has been deprecated since ICU 56.
-
+
Now, beginning with ICU 60, unorm_normalize will also be annotated
- U_DEPRECATED and trigger the compiler -Wdeprecated-declarations
- warning.
+ U_DEPRECATED and trigger the compiler -Wdeprecated-declarations warning.
src/hb-icu.cc | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
@@ -42944,10 +42466,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 17 11:16:36 2017 -0700
Try fixing build on VC
-
- c:\projects\harfbuzz\src\hb-set-private.hh(151): error C2327:
- 'hb_set_t::page_t::v': is not a type name, static, or enumerator
- [C:\projects\harfbuzz\build\harfbuzz.vcxproj]
+
+ c:\projects\harfbuzz\src\hb-set-private.hh(151): error C2327: 'hb_set_t::page_t::v': is not a type name, static, or enumerator [C:\projects\harfbuzz\build\harfbuzz.vcxproj]
src/hb-set-private.hh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -42957,7 +42477,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 17 11:14:48 2017 -0700
[coretext] Fix build
-
+
error: static_assert expression is not an integral constant expression
src/hb-coretext.cc | 2 +-
@@ -42986,7 +42506,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 15 18:20:25 2017 -0400
[set] Disable vectorization
-
+
Fixes clang "non-const reference cannot bind to vector element" error.
src/hb-set-private.hh | 4 +++-
@@ -43034,10 +42554,8 @@ Date: Sun Oct 15 16:21:03 2017 -0400
Properly detect vector_size attribute and use fallback otherwise
- src/hb-private.hh | 67
- +++++++++++++++++++++++++++++++++++++++++++++++++++
- src/hb-set-private.hh | 62
- ++---------------------------------------------
+ src/hb-private.hh | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-set-private.hh | 62 ++---------------------------------------------
2 files changed, 69 insertions(+), 60 deletions(-)
commit f8a0ec50e23264fdfe9e3a5a2e0453a87f415b3d
@@ -43046,8 +42564,7 @@ Date: Sun Oct 15 16:10:35 2017 -0400
[set] Add fallback implementation of int-vector type
- src/hb-set-private.hh | 64
- ++++++++++++++++++++++++++++++++++++---------------
+ src/hb-set-private.hh | 64 ++++++++++++++++++++++++++++++++++++---------------
1 file changed, 45 insertions(+), 19 deletions(-)
commit deed4a48d15d4a475f8695aa3269547adf63867a
@@ -43055,12 +42572,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 15 16:53:09 2017 +0200
Faster hb_set_t
-
+
Fixes https://github.com/behdad/harfbuzz/pull/23
src/hb-private.hh | 56 ++++---
- src/hb-set-private.hh | 431
- +++++++++++++++++++++++++++++++++++++++++---------
+ src/hb-set-private.hh | 431 +++++++++++++++++++++++++++++++++++++++++---------
test/api/test-set.c | 6 -
3 files changed, 391 insertions(+), 102 deletions(-)
@@ -43110,8 +42626,7 @@ Date: Sun Oct 15 14:10:34 2017 +0200
Remove unused hb_cache_t
src/Makefile.sources | 1 -
- src/hb-cache-private.hh | 74
- -------------------------------------------------
+ src/hb-cache-private.hh | 74 -------------------------------------------------
src/hb-ft.cc | 2 --
3 files changed, 77 deletions(-)
@@ -43121,8 +42636,7 @@ Date: Sun Oct 15 14:09:46 2017 +0200
Remove unused hb_frozen_set_t
- src/hb-set-private.hh | 55
- ---------------------------------------------------
+ src/hb-set-private.hh | 55 ---------------------------------------------------
1 file changed, 55 deletions(-)
commit 826a1daf2f2075459ff25a20ed8abec030d95c52
@@ -43133,8 +42647,7 @@ Date: Sun Oct 15 14:09:05 2017 +0200
src/Makefile.sources | 1 +
src/hb-ot-layout-private.hh | 2 +-
- src/hb-set-digest-private.hh | 144
- +++++++++++++++++++++++++++++++++++++++++++
+ src/hb-set-digest-private.hh | 144 +++++++++++++++++++++++++++++++++++++++++++
src/hb-set-private.hh | 113 ---------------------------------
4 files changed, 146 insertions(+), 114 deletions(-)
@@ -43233,8 +42746,7 @@ Date: Sun Oct 15 12:11:08 2017 +0200
util/hb-shape.cc | 14 ++--
util/helper-cairo.cc | 12 ++--
util/main-font-text.hh | 4 +-
- util/options.cc | 110
- ++++++++++++++---------------
+ util/options.cc | 110 ++++++++++++++---------------
util/options.hh | 56 +++++++--------
util/shape-consumer.hh | 10 +--
65 files changed, 563 insertions(+), 568 deletions(-)
@@ -43268,8 +42780,7 @@ Date: Sun Oct 15 12:02:00 2017 +0200
src/hb-ot-shape-complex-arabic-fallback.hh | 6 +++---
src/hb-ot-shape-complex-indic.cc | 2 +-
src/hb-ot-shape-complex-use.cc | 2 +-
- src/hb-private.hh | 34
- +++++++++++++-----------------
+ src/hb-private.hh | 34 +++++++++++++-----------------
src/hb-set-private.hh | 8 +++----
src/hb-uniscribe.cc | 2 +-
util/options.cc | 3 ++-
@@ -43280,7 +42791,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 15 11:24:35 2017 +0200
Add polyfill for static_assert and nullptr
-
+
Also fix hb_assert_constant_t.
src/hb-private.hh | 38 ++++++++++++++++++++++++++++++++++----
@@ -43291,7 +42802,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 15 10:55:32 2017 +0200
[util] Include hb-private.hh
-
+
Simplifies compatibility issues by centralizing all boilerplate code
in hb-private.hh.
@@ -43303,16 +42814,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 15 10:48:19 2017 +0200
Never skip over CGJ
-
+
We might want to tweak this some more. For now, never skipping over
it is better behavior than always skipping.
-
+
Part of https://github.com/behdad/harfbuzz/issues/554
- src/hb-ot-layout-private.hh | 19
- +++++++++++--------
- .../bf962d3202883a820aed019d9b5c1838c2ff69c6.ttf | Bin 0 ->
- 2468 bytes
+ src/hb-ot-layout-private.hh | 19 +++++++++++--------
+ .../bf962d3202883a820aed019d9b5c1838c2ff69c6.ttf | Bin 0 -> 2468 bytes
test/shaping/tests/default-ignorables.tests | 1 +
3 files changed, 12 insertions(+), 8 deletions(-)
@@ -43350,7 +42859,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 13 10:21:07 2017 +0200
[coretext] Pass correct font size to CoreText
-
+
CoreText "point"s are not typographic points, but CSS pixels. Ie.
they are 96 per inch, not 72 per inch.
@@ -43369,14 +42878,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 12 14:07:37 2017 +0200
[indic] Special-case Kannada Ra,H,ZWJ sequence
-
+
Fixes https://github.com/behdad/harfbuzz/issues/435
- src/hb-ot-shape-complex-indic.cc | 15
- +++++++++++++++
+ src/hb-ot-shape-complex-indic.cc | 15 +++++++++++++++
test/shaping/Makefile.am | 1 +
- .../sha1sum/3cae6bfe5b57c07ba81ddbd54c02fe4f3a1e3bf6.ttf | Bin 0 ->
- 2984 bytes
+ .../sha1sum/3cae6bfe5b57c07ba81ddbd54c02fe4f3a1e3bf6.ttf | Bin 0 -> 2984 bytes
test/shaping/tests/indic-special-cases.tests | 3 +++
4 files changed, 19 insertions(+)
@@ -43384,14 +42891,11 @@ commit 40b05d7b770b8045f176f66231c412b32482d874
Author: n8willis <n8willis@users.noreply.github.com>
Date: Thu Oct 12 12:48:48 2017 +0100
- Replacing 'cluster' with 'syllable' when comments describe certain
- Indic shaping behavior (#563)
-
- * Clarified wording of syllable/cluster behavior in Uniscribe in
- final_reordering; changed one other probable typo.
-
- * Additional syllable/cluster swap in comments for final reordering
- and for initial-reordering matra decomposition.
+ Replacing 'cluster' with 'syllable' when comments describe certain Indic shaping behavior (#563)
+
+ * Clarified wording of syllable/cluster behavior in Uniscribe in final_reordering; changed one other probable typo.
+
+ * Additional syllable/cluster swap in comments for final reordering and for initial-reordering matra decomposition.
src/hb-ot-shape-complex-indic.cc | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
@@ -43419,7 +42923,7 @@ Author: Dominik Röttsches <drott@chromium.org>
Date: Thu Oct 12 11:49:37 2017 +0200
[coretext] Activate tracking for system fonts
-
+
Another attempt at fully fixing
https://github.com/behdad/harfbuzz/issues/360
@@ -43431,13 +42935,11 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Thu Oct 12 12:05:08 2017 +0300
CMakelists.txt fix for Freetype builds (#564)
-
- Instead of searching for freetype using pkg-config, use the
- FindFreetype
- feature of CMake. This allows for better integration with other
- projects
+
+ Instead of searching for freetype using pkg-config, use the FindFreetype
+ feature of CMake. This allows for better integration with other projects
that make use of CMake.
-
+
Fixes https://github.com/behdad/harfbuzz/issues/518
CMakeLists.txt | 24 +++++++-----------------
@@ -43448,9 +42950,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 12 10:46:09 2017 +0200
[coretext] Use fabsf() instead of abs()
-
+
Fixes bots.
-
+
Link libharfbuzz.so with -lm. Surprising that we survived without
it so far!
@@ -43473,8 +42975,7 @@ Date: Thu Oct 12 12:11:47 2017 +0330
win32/Makefile.vc | 67 ------------
win32/README.txt | 97 -----------------
win32/build-rules-msvc.mak | 130 -----------------------
- win32/config-msvc.mak | 230
- ----------------------------------------
+ win32/config-msvc.mak | 230 ----------------------------------------
win32/config.h.win32.in | 158 ---------------------------
win32/create-lists-msvc.mak | 147 -------------------------
win32/create-lists.bat | 42 --------
@@ -43495,15 +42996,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 12 10:33:16 2017 +0200
[ft] Add hb_ft_font_changed()
-
- When the font size or variations settings on underlying FT_Face
- change,
- one can call hb_ft_font_changed() and continue using hb_font
- created using
+
+ When the font size or variations settings on underlying FT_Face change,
+ one can call hb_ft_font_changed() and continue using hb_font created using
hb_ft_font_create().
-
+
Fixes https://github.com/behdad/harfbuzz/issues/559
-
+
New API:
hb_ft_font_changed()
@@ -43517,10 +43016,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 11 17:22:44 2017 +0200
Add hb_face_get_table_tags()
-
+
New API:
hb_face_get_table_tags()
-
+
Fixes https://github.com/behdad/harfbuzz/issues/560
src/hb-face.cc | 29 +++++++++++++++++++++++++++++
@@ -43533,7 +43032,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 11 15:51:31 2017 +0200
Remove cast of functions to (hb_destroy_func_t)
-
+
Fixes https://github.com/behdad/harfbuzz/issues/474
src/hb-blob.cc | 8 +++++++-
@@ -43595,7 +43094,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 11 15:02:48 2017 +0200
[coretext-aat] Also pass through CoreText if font has kerx table
-
+
SFNSText has kerx table which apparently is applied.
src/hb-coretext.cc | 20 +++++++++-----------
@@ -43617,7 +43116,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 11 13:35:32 2017 +0200
Merge branch 'coretext-optical-sizing'
-
+
Should fix https://github.com/behdad/harfbuzz/issues/360
commit a5ebe1d4aec41bc5e289a7969e5e5f7bb57733b6
@@ -43625,7 +43124,7 @@ Author: Dominik Röttsches <drott@chromium.org>
Date: Wed Oct 11 13:32:38 2017 +0200
[coretext] Recreate CTFont if pt size changed
-
+
Attempt at fixing #360
src/hb-coretext.cc | 5 +++--
@@ -43654,13 +43153,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 11 13:05:59 2017 +0200
[coretext] Move CT_Font to font data
-
+
Towards implementing optical sizing. Untested; won't compile.
-
+
https://github.com/behdad/harfbuzz/issues/360
- src/hb-coretext.cc | 85
- ++++++++++++++++++++++++------------------------------
+ src/hb-coretext.cc | 85 ++++++++++++++++++++++++------------------------------
1 file changed, 37 insertions(+), 48 deletions(-)
commit f9b4c6570a4725eec5393f86e6468a189ac8c6be
@@ -43677,7 +43175,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 11 12:43:46 2017 +0200
Infrastructure for creating CTFont with correct font size
-
+
https://github.com/behdad/harfbuzz/issues/360
src/hb-shaper-private.hh | 12 ++++++++++++
@@ -43697,10 +43195,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 11 12:23:35 2017 +0200
Remove dirty tracking
-
+
Turns out I don't need this to resolve CoreText optical sizing
issue after all.
-
+
https://github.com/behdad/harfbuzz/issues/360
src/hb-face-private.hh | 9 ---------
@@ -43714,11 +43212,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 11 11:47:47 2017 +0200
Add hb_font_[sg]et_ptem() to set/get point size on font
-
+
New API:
hb_font_set_ptem()
hb_font_get_ptem()
-
+
Needed for hb-coretext optical sizing:
https://github.com/behdad/harfbuzz/issues/360
@@ -43751,7 +43249,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Oct 7 12:56:53 2017 +0200
Add check for HB_EXTERNs
-
+
https://github.com/behdad/harfbuzz/pull/555
src/Makefile.am | 1 +
@@ -43762,41 +43260,33 @@ commit 48a9406839f086735a05a2f1a07987b8a6bd6d33
Author: fanc999 <fanc999@yahoo.com.tw>
Date: Sat Oct 7 18:57:14 2017 +0800
- Fix build of HarfBuzz tools and HarfBuzz-GObject on Visual Studio
- (#555)
-
+ Fix build of HarfBuzz tools and HarfBuzz-GObject on Visual Studio (#555)
+
* hb-buffer.h: Mark hb_buffer_diff() for export
-
+
This will fix the tools builds on Visual Studio, as the symbol is used
by the tools.
-
+
* build: Adapt NMake Makefiles for GLib 2.53.4 or later
-
+
glib-mkenums was ported from a PERL script to a Python script, so we
- need to update how we generate the enum sources for HarfBuzz-GObject
- in
- the NMake builds. Let this be known in the build documentation
- for MSVC
+ need to update how we generate the enum sources for HarfBuzz-GObject in
+ the NMake builds. Let this be known in the build documentation for MSVC
builds.
-
- One of the problems with the underlying cmd.exe that the NMake
- Makefiles
+
+ One of the problems with the underlying cmd.exe that the NMake Makefiles
run on is that shebang lines are not recognized, so we need to to test
run the script with Python and see whether it succeeded by outputing a
source file that is larger than 0 in file size (since running the PERL
version of the script will clearly fail and cause an empty file to be
created).
-
- If it succeeds, we then run a small Python utility script that
- makes the
- necessary string replacements, and we are done. If that fails,
- then we
- run the glib-mkenums script with PERL, and do the replacements
- with the
+
+ If it succeeds, we then run a small Python utility script that makes the
+ necessary string replacements, and we are done. If that fails, then we
+ run the glib-mkenums script with PERL, and do the replacements with the
PERL one-liners as we did before.
-
- We need to make replace.py use latin-1 encoding when using Python
- 3.x to
+
+ We need to make replace.py use latin-1 encoding when using Python 3.x to
cope with the copyright sign that is in the generated enum sources.
src/hb-buffer.h | 2 +-
@@ -43813,7 +43303,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 4 16:59:22 2017 +0200
[ot] Remove 'mal' and 'gle' lang tags
-
+
Fixes https://github.com/behdad/harfbuzz/issues/477
src/hb-ot-tag.cc | 2 --
@@ -43824,13 +43314,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 4 15:06:48 2017 +0200
Improve performance of ligature component matching
-
- This O(N^2) was introduced in
- 8b2c94c43fd335b944d5e5487265706b8e0f9041.
+
+ This O(N^2) was introduced in 8b2c94c43fd335b944d5e5487265706b8e0f9041.
Make it O(N).
- src/hb-ot-layout-gsubgpos-private.hh | 37
- +++++++++++++++++++++++-------------
+ src/hb-ot-layout-gsubgpos-private.hh | 37 +++++++++++++++++++++++-------------
1 file changed, 24 insertions(+), 13 deletions(-)
commit ab8d70ec7023e51ba6fd7267d2b41c5f95ef0787
@@ -43838,11 +43326,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 4 14:47:10 2017 +0200
[arabic] Implement Unicode Arabic Mark Ordering Algorithm UTR#53
-
+
Fixes https://github.com/behdad/harfbuzz/issues/509
- src/hb-ot-shape-complex-arabic.cc | 75
- +++++++++++++++++++++
+ src/hb-ot-shape-complex-arabic.cc | 75 +++++++++++++++++++++
src/hb-ot-shape-complex-default.cc | 1 +
src/hb-ot-shape-complex-hangul.cc | 1 +
src/hb-ot-shape-complex-hebrew.cc | 1 +
@@ -43875,17 +43362,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 4 13:20:33 2017 +0200
Adjust normalizer for out-of-order marks
-
+
We are going to implement Unicode Arabic Mark Ordering Algorithm:
-
+
http://www.unicode.org/reports/tr53/tr53-1.pdf
-
+
which will reorder marks out of their sorted ccc order. Adjust
normalizer to stop combining as soon as dangerous ordering is
detected.
- src/hb-ot-shape-normalize.cc | 62
- ++++++++++++++++++++++++++------------------
+ src/hb-ot-shape-normalize.cc | 62 ++++++++++++++++++++++++++------------------
1 file changed, 37 insertions(+), 25 deletions(-)
commit a252ad61f077c3b7bbfd8335e1b105a57beb58ce
@@ -43902,9 +43388,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 4 13:06:51 2017 +0200
Revert "Treat HAMZA ABOVE similar to SHADD for sorting purposes"
-
+
This reverts commit 5a330575768f5a213072230b9ec8faabac9c5737.
-
+
Proper fix coming soon.
src/hb-unicode-private.hh | 4 ----
@@ -43915,7 +43401,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 4 11:33:47 2017 +0200
Shorthand format controls should not be ignored
-
+
Fixes https://github.com/behdad/harfbuzz/issues/503
src/hb-unicode-private.hh | 4 ++--
@@ -43926,7 +43412,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 4 11:28:04 2017 +0200
Add Chinantec language tags
-
+
Fixes https://github.com/behdad/harfbuzz/issues/516
src/hb-ot-tag.cc | 14 ++++++++++++++
@@ -43937,11 +43423,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 3 17:22:43 2017 +0200
Fix GPOS v_origin ordering
-
- This should affect mark attachment in vertical text. I have no font
- to test,
+
+ This should affect mark attachment in vertical text. I have no font to test,
but this sounds the right order.
-
+
Noticed while debugging https://github.com/behdad/harfbuzz/issues/532
src/hb-ot-shape.cc | 44 ++++++++++++++++++++------------------------
@@ -43952,7 +43437,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 3 16:00:18 2017 +0200
[indic] Fix shaping of U+0AFB GUJARATI SIGN SHADDA
-
+
Fixes https://github.com/behdad/harfbuzz/issues/552
src/hb-ot-shape-complex-indic-private.hh | 2 +-
@@ -43964,7 +43449,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 3 15:20:07 2017 +0200
[indic] Implement Consonent_With_Stacker
-
+
Fixes https://github.com/behdad/harfbuzz/issues/528
src/hb-ot-shape-complex-indic-machine.rl | 5 +++--
@@ -43978,7 +43463,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 3 14:57:14 2017 +0200
[use] Implement Consonant_With_Stacker
-
+
Related to https://github.com/behdad/harfbuzz/issues/528
src/gen-use-table.py | 7 ++++---
@@ -43994,8 +43479,7 @@ Date: Tue Oct 3 08:07:02 2017 -0400
Test Consonant_With_Stacker in Kannada (#530)
test/shaping/Makefile.am | 1 +
- test/shaping/fonts/COPYING | 100
- +++++++++++++++++++++
+ test/shaping/fonts/COPYING | 100 +++++++++++++++++++++
.../341421e629668b1a1242245d39238ca48432d35d.ttf | Bin 0 -> 1084 bytes
.../55c88ebbe938680b08f92c3de20713183e0c7481.ttf | Bin 0 -> 3300 bytes
.../663aef6b019dbf45ffd74089e2b5f2496ceceb18.ttf | Bin 0 -> 1204 bytes
@@ -44008,18 +43492,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 3 13:46:25 2017 +0200
Tweak mark-base attachment
-
+
Apparently a base glyph can also become an attached component of a
ligature if the ligature-forming lookup used IgnoreBase. This was
being confused with a non-first component of a MultipleSubst and
hence not matched for mark-attachment. Tweak test to fix.
-
+
Fixes https://github.com/behdad/harfbuzz/issues/543
src/hb-ot-layout-gpos-table.hh | 4 +++-
test/shaping/Makefile.am | 1 +
- .../sha1sum/98b7887cff91f722b92a8ff800120954606354f9.ttf | Bin 0 ->
- 1168 bytes
+ .../sha1sum/98b7887cff91f722b92a8ff800120954606354f9.ttf | Bin 0 -> 1168 bytes
test/shaping/tests/mark-attachment.tests | 1 +
4 files changed, 5 insertions(+), 1 deletion(-)
@@ -44045,7 +43528,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 3 13:22:07 2017 +0200
Make bots happy
-
+
Fixes https://github.com/behdad/harfbuzz/issues/551
test/shaping/tests/indic-syllable.tests | 2 +-
@@ -44056,9 +43539,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 3 13:14:17 2017 +0200
Tweak input matching some more
-
+
Followup to 8b2c94c43fd335b944d5e5487265706b8e0f9041
-
+
Allow matching sequences of marks attached to different ligatures,
as supposedly the base of the subsequent marks were already jumped
over.
@@ -44081,30 +43564,26 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 2 20:28:56 2017 +0200
Add test for U+0A51
-
+
New Indic numbers are:
-
+
BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366355 out of 366457 tests passed. 102 failed (0.0278341%)
GURMUKHI: 60729 out of 60747 tests passed. 18 failed (0.0296311%)
KANNADA: 951201 out of 951913 tests passed. 712 failed (0.0747968%)
KHMER: 299071 out of 299124 tests passed. 53 failed (0.0177184%)
- MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed
- (0.0188871%)
+ MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
-
- Before 71c0a1429db7c7e7e32507be248c9457e1cbfc7d GURMUKHI used to be
- at 15,
- because Uniscribe seems to allow this character standalone, but
- that looks
+
+ Before 71c0a1429db7c7e7e32507be248c9457e1cbfc7d GURMUKHI used to be at 15,
+ because Uniscribe seems to allow this character standalone, but that looks
wrong.
- .../sha1sum/1735326da89f0818cd8c51a0600e9789812c0f94.ttf | Bin 0 ->
- 1008 bytes
+ .../sha1sum/1735326da89f0818cd8c51a0600e9789812c0f94.ttf | Bin 0 -> 1008 bytes
test/shaping/tests/indic-syllable.tests | 2 ++
2 files changed, 2 insertions(+)
@@ -44113,23 +43592,20 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 2 20:02:45 2017 +0200
Tweak ligature component matching for ligature formation
-
- If two marks want to ligate and they belong to different components
- of the
- same ligature glyph, and said ligature glyph is to be ignored
- according to
+
+ If two marks want to ligate and they belong to different components of the
+ same ligature glyph, and said ligature glyph is to be ignored according to
mark-filtering rules, then allow.
-
+
Example Burmese senquence:
-
+
U+1004,U+103A,U+1039,U+101B,U+103D,U+102D
-
+
Test font provided by Norbert Lindenberg.
-
+
Fixes https://github.com/behdad/harfbuzz/issues/545
- src/hb-ot-layout-gsubgpos-private.hh | 59
- +++++++++++++++++----
+ src/hb-ot-layout-gsubgpos-private.hh | 59 +++++++++++++++++----
.../a6c76d1bafde4a0b1026ebcc932d2e5c6fd02442.ttf | Bin 0 -> 1384 bytes
test/shaping/tests/ligature-id.tests | 1 +
3 files changed, 51 insertions(+), 9 deletions(-)
@@ -44139,15 +43615,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 2 18:56:10 2017 +0200
[indic] Fix shaping of U+0A51
-
+
Mark it as matra below to allow the sequence U+0A15, U+0A51, U+0A47.
Oh well...
-
+
Fixes https://github.com/behdad/harfbuzz/issues/524
src/hb-ot-shape-complex-indic.cc | 6 ++++++
- .../sha1sum/85fe0be440c64ac77699e21c2f1bd933a919167e.ttf | Bin 0 ->
- 1224 bytes
+ .../sha1sum/85fe0be440c64ac77699e21c2f1bd933a919167e.ttf | Bin 0 -> 1224 bytes
test/shaping/tests/indic-syllable.tests | 1 +
3 files changed, 7 insertions(+)
@@ -44157,8 +43632,7 @@ Date: Mon Oct 2 18:30:05 2017 +0200
[ucdn] Oops!
- src/hb-ucdn/{unicodedata_db.h => ucdn_db.h} | 4324
- ++++++++++++++-------------
+ src/hb-ucdn/{unicodedata_db.h => ucdn_db.h} | 4324 ++++++++++++++-------------
1 file changed, 2175 insertions(+), 2149 deletions(-)
commit cbec0cd65e1787b20ea55dd5583a7444938bd381
@@ -44194,7 +43668,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 2 18:20:51 2017 +0200
[use] Hack to fix shaping of U+1A7F
-
+
Fixes https://github.com/behdad/harfbuzz/issues/525
src/gen-use-table.py | 3 +++
@@ -44206,14 +43680,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 2 17:15:46 2017 +0200
[ucdn] Update to Unicode 10
-
+
Update to commit c000ebf79c095a7d58cf90090bde5715592c4834
plus this bug-fix: https://github.com/grigorig/ucdn/issues/18
src/hb-ucdn.cc | 4 +++
src/hb-ucdn/Makefile.sources | 2 +-
- src/hb-ucdn/ucdn.c | 69
- ++++++++++++++++++++++----------------------
+ src/hb-ucdn/ucdn.c | 69 ++++++++++++++++++++++----------------------
src/hb-ucdn/ucdn.h | 7 +++++
4 files changed, 47 insertions(+), 35 deletions(-)
@@ -44224,8 +43697,7 @@ Date: Mon Oct 2 17:02:39 2017 +0200
[use] Update to Unicode 10
src/gen-use-table.py | 5 +--
- src/hb-ot-shape-complex-use-table.cc | 69
- ++++++++++++++++++++++++++----------
+ src/hb-ot-shape-complex-use-table.cc | 69 ++++++++++++++++++++++++++----------
2 files changed, 54 insertions(+), 20 deletions(-)
commit 29c244aff6e3c359796bb033496c14ad5537dbe0
@@ -44253,8 +43725,7 @@ Date: Mon Oct 2 10:00:31 2017 -0400
[indic] Update table to Unicode 10
- src/hb-ot-shape-complex-indic-table.cc | 70
- +++++++++++++++++-----------------
+ src/hb-ot-shape-complex-indic-table.cc | 70 +++++++++++++++++-----------------
1 file changed, 36 insertions(+), 34 deletions(-)
commit cc79b666bc4a81a0342ed1e706dd7db109739dc5
@@ -44262,11 +43733,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 2 09:19:15 2017 -0400
[indic] Add test for 1a0a356a0f2b2932581e4fd0437c01c058f4f6d1
-
+
https://github.com/behdad/harfbuzz/issues/538
- .../sha1sum/87f85d17d26f1fe9ad28d7365101958edaefb967.ttf | Bin 0 ->
- 1000 bytes
+ .../sha1sum/87f85d17d26f1fe9ad28d7365101958edaefb967.ttf | Bin 0 -> 1000 bytes
test/shaping/tests/indic-syllable.tests | 1 +
2 files changed, 1 insertion(+)
@@ -44294,7 +43764,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 2 08:49:23 2017 -0400
[indic] Categorize U+0980 BENGALI ANJI as placeholder
-
+
Fixes https://github.com/behdad/harfbuzz/issues/538
src/hb-ot-shape-complex-indic.cc | 1 +
@@ -44304,11 +43774,9 @@ commit 19e77e01bc13f44138e1d50533327d314dd0a018
Author: jfkthame <jfkthame@gmail.com>
Date: Mon Oct 2 13:08:49 2017 +0100
- [shape-plan] Don't look for a cached plan if variation coords are
- specified. Fixes #549. (#550)
-
- This is a temporary hack just to avoid incorrect shaping results,
- pending proper support
+ [shape-plan] Don't look for a cached plan if variation coords are specified. Fixes #549. (#550)
+
+ This is a temporary hack just to avoid incorrect shaping results, pending proper support
for caching shape-plans with variation coordinates.
src/hb-shape-plan.cc | 16 +++++++++-------
@@ -44329,8 +43797,7 @@ Date: Sun Oct 1 19:35:24 2017 +0330
Add release checklist (#529)
- RELEASING.md | 96
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ RELEASING.md | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 96 insertions(+)
commit 66128d3cfb12705530141b5a4bd2706f0cbb9fc5
@@ -44338,9 +43805,9 @@ Author: mhosken <mhosken@users.noreply.github.com>
Date: Wed Sep 27 01:29:45 2017 +0700
Fix missing xscale in rtl graphite unpacking (#541)
-
+
* Fix missing xscale in rtl graphite unpacking
-
+
* Oops didn't need to mess with yscale
src/hb-graphite2.cc | 2 +-
@@ -44350,16 +43817,13 @@ commit 3ca69c8c32b8408dd9f8e6e866cd07e58c0d79b7
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Sep 14 20:50:35 2017 -0400
- Use strtod_l() to correctly parse decimal numbers in French &
- other locales
-
+ Use strtod_l() to correctly parse decimal numbers in French & other locales
+
Test with, eg.:
- $ LC_ALL=fr_FR.utf-8 ./hb-view NotoSansArabic-VF.ttf بهداد
- --variations wght=1.2
+ $ LC_ALL=fr_FR.utf-8 ./hb-view NotoSansArabic-VF.ttf بهداد --variations wght=1.2
configure.ac | 4 ++--
- src/hb-common.cc | 53
- +++++++++++++++++++++++++++++++++++++++++++++++++++--
+ src/hb-common.cc | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++--
2 files changed, 53 insertions(+), 4 deletions(-)
commit 9355218f582a6c2425cadcb868204f81b17d5767
@@ -44367,7 +43831,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Sep 9 11:21:07 2017 -0700
[util] Add a few shorthand forms for commandline options
-
+
-o, -O, -u, -v, -V
util/options.cc | 10 +++++-----
@@ -44388,9 +43852,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 4 20:14:13 2017 -0700
Fix buffer_diff for empty buffers
-
+
If buffers are empty, content type should be ignored.
-
+
This fixes last of the failing tests: fuzzed.tests. Green again!
src/hb-buffer.cc | 2 +-
@@ -44403,7 +43867,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 4 20:04:59 2017 -0700
[unsafe-to-break] Fix unsafe-to-break for cluster-level=1
-
+
Fixes tests/shaping/tests/cluster.tests
src/hb-ot-shape.cc | 17 +++++++++++------
@@ -44423,12 +43887,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 1 19:09:54 2017 -0700
[util] Add --unicodes to hb-view / hb-shape
-
+
Fixes https://github.com/behdad/harfbuzz/issues/154
test/shaping/hb_test_tools.py | 2 +-
- util/options.cc | 65
- ++++++++++++++++++++++++++++++++++++++++++-
+ util/options.cc | 65 ++++++++++++++++++++++++++++++++++++++++++-
2 files changed, 65 insertions(+), 2 deletions(-)
commit 0e5b475d98dd67e927534508fe2cd8dc9765e24e
@@ -44463,13 +43926,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 1 10:34:21 2017 -0700
[indic] Treat Consonant_With_Stacker as consonant
-
+
Fixes https://github.com/behdad/harfbuzz/issues/528
"Kannada JIHVAMULIYA and UPADHMANIYA insert dotted circles"
src/hb-ot-shape-complex-indic-private.hh | 2 +-
- .../sha1sum/3d0b77a2360aa6faa1385aaa510509ab70dfbeff.ttf | Bin 0 ->
- 988 bytes
+ .../sha1sum/3d0b77a2360aa6faa1385aaa510509ab70dfbeff.ttf | Bin 0 -> 988 bytes
test/shaping/tests/indic-syllable.tests | 3 ++-
3 files changed, 3 insertions(+), 2 deletions(-)
@@ -44478,7 +43940,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 30 17:28:22 2017 -0700
[unsafe-to-break] Mark during fraction-slash formation
-
+
Fixes tests/automatic-fractions.tests
src/hb-ot-shape.cc | 2 ++
@@ -44489,11 +43951,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 30 17:25:10 2017 -0700
[util] Fix cluster sweeping during --verify
-
- If *I* get this wrong in 2017, I have no idea how others get their
- head around
+
+ If *I* get this wrong in 2017, I have no idea how others get their head around
cluster math...
-
+
Fixes tests/arabic-fallback-shaping.tests
util/options.hh | 11 ++++++++---
@@ -44514,11 +43975,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 30 16:45:06 2017 -0700
hb_buffer_diff() tweak
-
- I like to have a mode where CONTAINS_NOTDEF and CONTAINS_DOTTEDCIRCLE
- are not
- returned. Abused a value of -1 for that. hb-shape now uses it.
- Fixes two
+
+ I like to have a mode where CONTAINS_NOTDEF and CONTAINS_DOTTEDCIRCLE are not
+ returned. Abused a value of -1 for that. hb-shape now uses it. Fixes two
of the six tests failing with --verify in test/shaping/run-tests.sh.
src/hb-buffer.cc | 16 ++++++++--------
@@ -44552,7 +44011,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 23 14:35:58 2017 -0700
[test] Add --verify to hb-shape
-
+
Disabled for now. Will enable and fix failures after next release.
test/shaping/run-tests.sh | 3 ++-
@@ -44563,7 +44022,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 23 13:12:54 2017 -0700
Add hb_glyph_info_get_glyph_flags()
-
+
New API.
src/hb-buffer.cc | 17 +++++++++++++++++
@@ -44574,8 +44033,7 @@ commit 3e8f4f145255a905029c6b5cb8f40e6dcca096f3
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 22 17:56:25 2017 -0700
- Rename HB_BUFFER_DIFF_FLAG_MASK_MISMATCH to
- HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH
+ Rename HB_BUFFER_DIFF_FLAG_MASK_MISMATCH to HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH
src/hb-buffer.cc | 2 +-
src/hb-buffer.h | 2 +-
@@ -44615,11 +44073,9 @@ Author: Emil A Eklund (eae) <eae@eae.net>
Date: Tue Aug 15 16:25:18 2017 -0700
Fix signed/unsigned warning (#522)
-
- Change hb_buffer_diff to explicitly cast result of abs to unsigned
- when
- comparing with position_fuzz to avoid unsafe signed/unsigned
- comparions
+
+ Change hb_buffer_diff to explicitly cast result of abs to unsigned when
+ comparing with position_fuzz to avoid unsafe signed/unsigned comparions
warnings on windows.
src/hb-buffer.cc | 8 ++++----
@@ -44660,19 +44116,18 @@ Author: Jonathan Kew <jfkthame@gmail.com>
Date: Sat Jul 19 23:09:09 2014 +0100
Add function to compare two buffers
-
+
Based on patch from Jonathan Kew.
-
+
Needs more cleaning up and documentation.
-
+
New API:
hb_buffer_diff_flags_t
hb_buffer_diff()
src/hb-buffer-private.hh | 1 +
src/hb-buffer-serialize.cc | 4 +--
- src/hb-buffer.cc | 82
- ++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-buffer.cc | 82 ++++++++++++++++++++++++++++++++++++++++++++++
src/hb-buffer.h | 39 ++++++++++++++++++++++
4 files changed, 124 insertions(+), 2 deletions(-)
@@ -44702,14 +44157,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 11 19:51:06 2017 -0700
[unsafe-to-break] Towards verifying unsafe-to-break in --verify
-
+
We break and shape fragments and reconstruct shape result from them.
Remains to compare to original buffer. Going to add some buffer
comparison API and use here, instead of open-coding.
src/hb-buffer.cc | 5 ++-
- util/options.hh | 131
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ util/options.hh | 131 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
2 files changed, 133 insertions(+), 3 deletions(-)
commit 6ce25f57c663f86326262a5ff7a42288f358ed51
@@ -44717,7 +44171,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 11 19:31:05 2017 -0700
Fix hb_buffer_append()
-
+
Ouch!
src/hb-buffer.cc | 2 +-
@@ -44728,11 +44182,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 11 19:06:07 2017 -0700
[unsafe-to-break] Copy flag to all glyphs in a cluster
-
+
Makes consumption easier.
- src/hb-buffer-private.hh | 46
- +++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-buffer-private.hh | 46 +++++++++++++++++++++++++++++++++++++++++++++
src/hb-buffer.cc | 28 ++++++---------------------
src/hb-ot-layout-private.hh | 3 +--
src/hb-ot-shape.cc | 27 ++++++++++++++++++++++++++
@@ -44743,9 +44196,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 11 18:24:27 2017 -0700
[unsafe-to-break] Mark unsafe is cluster merging is disabled
-
- We were relying on cluster merges not requiring unsafe flagging
- because
+
+ We were relying on cluster merges not requiring unsafe flagging because
they get merged. If cluster level requests no merging, then we flag
unsafe when merge would have happened.
@@ -44758,8 +44210,7 @@ Date: Fri Aug 11 15:52:06 2017 -0700
New API: hb_buffer_append()
- src/hb-buffer.cc | 52
- +++++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/hb-buffer.cc | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++-
src/hb-buffer.h | 6 ++++++
2 files changed, 57 insertions(+), 1 deletion(-)
@@ -44768,9 +44219,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 11 15:12:25 2017 -0700
[util] Add --verify to hb-shape / hb-view that verifies shape results
-
- Right now it checks for monotone cluster values. Other checks to
- be added.
+
+ Right now it checks for monotone cluster values. Other checks to be added.
util/hb-shape.cc | 7 ++-----
util/options.cc | 2 ++
@@ -44783,9 +44233,8 @@ commit 14a639ea592cba971e5548f0942dd395c602c7a8
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 11 11:30:39 2017 -0700
- [unsafe-to-break] Fix Use-of-uninitialized-value in
- unsafe_to_break_set_mask
-
+ [unsafe-to-break] Fix Use-of-uninitialized-value in unsafe_to_break_set_mask
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3011
src/hb-ot-shape-complex-hangul.cc | 2 +-
@@ -44858,8 +44307,7 @@ commit e2a2b5b229c92f1de3b9c3ea111cd1ffa75b18fc
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 10 20:10:12 2017 -0700
- [unsafe-to-break] Be careful with flag propagation when merging
- clusters
+ [unsafe-to-break] Be careful with flag propagation when merging clusters
src/hb-buffer-private.hh | 13 +++++++++++++
src/hb-buffer.cc | 17 ++++++++++-------
@@ -44871,7 +44319,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 10 19:58:05 2017 -0700
Set mask to 0, instead of 1, by default
-
+
This shouldn't matter.
src/hb-buffer.cc | 2 +-
@@ -44912,11 +44360,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 4 19:51:22 2016 +0200
[unsafe-to-break] Simplify logic
-
+
Always use the algorithm for non-monotone case. It's more robust.
- src/hb-buffer.cc | 57
- +++++++++++++-------------------------------------------
+ src/hb-buffer.cc | 57 +++++++++++++-------------------------------------------
1 file changed, 13 insertions(+), 44 deletions(-)
commit 40bd7e9a1cf422b17f15d0f66547bde9098e6ef3
@@ -44924,17 +44371,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 2 14:47:45 2016 +0200
[unsafe-to-break] Add UNSAFE_TO_BREAK flag
-
+
Not all shapers code is updated to set this properly.
GSUB and Arabic shaper are updated.
GPOS and other shapers are NOT.
-
+
Fixes https://github.com/behdad/harfbuzz/issues/224
src/hb-buffer-private.hh | 26 ++++++++------
src/hb-buffer-serialize.cc | 24 +++++++++----
- src/hb-buffer.cc | 67
- ++++++++++++++++++++++++++++++++++++
+ src/hb-buffer.cc | 67 ++++++++++++++++++++++++++++++++++++
src/hb-buffer.h | 10 ++++--
src/hb-ot-layout-gsub-table.hh | 7 ++--
src/hb-ot-layout-gsubgpos-private.hh | 27 ++++++++++-----
@@ -44977,7 +44423,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 9 17:23:28 2017 -0700
Treat HAMZA ABOVE similar to SHADD for sorting purposes
-
+
Part of https://github.com/behdad/harfbuzz/issues/509
src/hb-unicode-private.hh | 4 ++++
@@ -44988,9 +44434,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 9 17:09:21 2017 -0700
Protect against div-by-zero in CBDT extent code
-
+
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1452#c5
-
+
CC https://github.com/behdad/harfbuzz/issues/139
src/hb-ft.cc | 4 ++--
@@ -45007,8 +44453,7 @@ Date: Tue Aug 8 18:37:03 2017 -0700
test/shaping/Makefile.am | 1 +
.../d23d76ea0909c14972796937ba072b5a40c1e257.ttf | Bin 0 -> 1812 bytes
test/shaping/record-test.sh | 1 +
- test/shaping/tests/variations-rvrn.tests | 100
- +++++++++++++++++++++
+ test/shaping/tests/variations-rvrn.tests | 100 +++++++++++++++++++++
4 files changed, 102 insertions(+)
commit 7917792f01603f91b703d12e12d8baced655a615
@@ -45026,11 +44471,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 7 21:37:07 2017 -0700
Two fixes to avar mapping
-
+
1. Handle segment with two entries correctly,
-
+
2. Fix rounding math. Ouch!
-
+
Fixes https://github.com/behdad/harfbuzz/issues/521
src/hb-ot-var-avar-table.hh | 13 +++++++++----
@@ -45041,7 +44486,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 3 12:34:15 2017 +0100
[check-defs/symbols.sh] Drop empty-symbol lines
-
+
Fixes https://github.com/behdad/harfbuzz/issues/510
src/check-defs.sh | 2 +-
@@ -45053,7 +44498,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 19 17:20:55 2017 -0700
[hb-shape] Rename --show-messages to --trace
-
+
https://github.com/behdad/harfbuzz/issues/506
util/hb-shape.cc | 2 +-
@@ -45066,17 +44511,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 18 19:14:19 2017 -0700
[hb-shape] Improve shaping-debug output
-
- Before, that was printed using --debug (and in both hb-shape and
- hb-view).
- Changed it, now hb-shape has a new command-line argument called
- --show-messages.
- When invoked, it also respects other output formatting options.
- The messages
- are better formatted and printed to te same place that hb-shape
- output is
+
+ Before, that was printed using --debug (and in both hb-shape and hb-view).
+ Changed it, now hb-shape has a new command-line argument called --show-messages.
+ When invoked, it also respects other output formatting options. The messages
+ are better formatted and printed to te same place that hb-shape output is
directed to. Previously they were written to stderr.
-
+
Fixes https://github.com/behdad/harfbuzz/issues/506
util/hb-ot-shape-closure.cc | 10 +++++++---
@@ -45112,12 +44553,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 14 17:34:47 2017 +0100
[arabic] Adjust feature order again
-
+
Fixes https://github.com/behdad/harfbuzz/issues/505
src/hb-ot-shape-complex-arabic.cc | 7 ++++++-
- .../sha1sum/bf39b0e91ef9807f15a9e283a21a14a209fd2cfc.ttf | Bin 0 ->
- 7312 bytes
+ .../sha1sum/bf39b0e91ef9807f15a9e283a21a14a209fd2cfc.ttf | Bin 0 -> 7312 bytes
test/shaping/tests/arabic-feature-order.tests | 1 +
3 files changed, 7 insertions(+), 1 deletion(-)
@@ -45126,15 +44566,14 @@ Author: Cosimo Lupo <cosimo@anthrotype.com>
Date: Fri Jul 14 17:11:46 2017 +0100
[coretext] Allow to disable kern (#508)
-
+
* Minor
-
+
* [coretext] Fix leak
-
+
* [coretext] Do not reset num_features
-
- * [coretext] allow to disable kern; re-enabling doesn't seem to
- be working
+
+ * [coretext] allow to disable kern; re-enabling doesn't seem to be working
src/hb-coretext.cc | 41 ++++++++++++++++++++++++++++++++---------
1 file changed, 32 insertions(+), 9 deletions(-)
@@ -45144,12 +44583,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 14 17:01:27 2017 +0100
[use] Allow up to two medial-below letters
-
+
Fixes https://github.com/behdad/harfbuzz/issues/376
src/hb-ot-shape-complex-use-machine.rl | 3 ++-
- .../sha1sum/e68a88939e0f06e34d2bc911f09b70890289c8fd.ttf | Bin 0 ->
- 2192 bytes
+ .../sha1sum/e68a88939e0f06e34d2bc911f09b70890289c8fd.ttf | Bin 0 -> 2192 bytes
test/shaping/tests/use-syllable.tests | 3 +++
3 files changed, 5 insertions(+), 1 deletion(-)
@@ -45158,10 +44596,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 14 16:38:51 2017 +0100
[use] Fix shaping of U+AA29 CHAM VOWEL SIGN AA
-
+
Part of https://github.com/behdad/harfbuzz/issues/376
Also see https://github.com/roozbehp/unicode-data/issues/6
-
+
Test added, using NotoSansCham built from Noto Phase III sources.
src/gen-arabic-table.py | 2 +-
@@ -45169,8 +44607,7 @@ Date: Fri Jul 14 16:38:51 2017 +0100
src/gen-use-table.py | 8 +++++---
src/hb-ot-shape-complex-use-table.cc | 4 ++--
test/shaping/Makefile.am | 1 +
- .../sha1sum/96490dd2ff81233b335a650e7eb660e0e7b2eeea.ttf | Bin 0 ->
- 1368 bytes
+ .../sha1sum/96490dd2ff81233b335a650e7eb660e0e7b2eeea.ttf | Bin 0 -> 1368 bytes
test/shaping/tests/use-syllable.tests | 1 +
7 files changed, 11 insertions(+), 7 deletions(-)
@@ -45192,8 +44629,7 @@ Date: Fri Jul 14 15:50:22 2017 +0100
src/hb-ot-shape-complex-indic-private.hh | 2 +-
src/hb-ot-shape-complex-indic.cc | 8 ++++++++
test/shaping/Makefile.am | 1 +
- .../sha1sum/54674a3111d209fb6be0ed31745314b7a8d2c244.ttf | Bin 0 ->
- 1352 bytes
+ .../sha1sum/54674a3111d209fb6be0ed31745314b7a8d2c244.ttf | Bin 0 -> 1352 bytes
test/shaping/tests/indic-syllable.tests | 1 +
5 files changed, 11 insertions(+), 1 deletion(-)
@@ -45202,34 +44638,32 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 14 14:14:35 2017 +0100
[indic] Disable automatic ZWNJ handling for Indic features
-
+
Fixes https://github.com/behdad/harfbuzz/issues/294
-
+
Also fixes a bunch of other Indic issues. Test results after:
-
+
BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366355 out of 366457 tests passed. 102 failed (0.0278341%)
GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%)
KANNADA: 951201 out of 951913 tests passed. 712 failed (0.0747968%)
KHMER: 299071 out of 299124 tests passed. 53 failed (0.0177184%)
- MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed
- (0.0188871%)
+ MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
-
+
Before:
-
+
BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%)
GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%)
KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%)
KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%)
- MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed
- (0.0188871%)
+ MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
@@ -45237,8 +44671,7 @@ Date: Fri Jul 14 14:14:35 2017 +0100
src/hb-ot-shape-complex-indic.cc | 4 ++--
test/shaping/Makefile.am | 1 +
- .../sha1sum/f443753e8ffe8e8aae606cfba158e00334b6efb1.ttf | Bin 0 ->
- 3972 bytes
+ .../sha1sum/f443753e8ffe8e8aae606cfba158e00334b6efb1.ttf | Bin 0 -> 3972 bytes
test/shaping/tests/indic-joiners.tests | 2 ++
4 files changed, 5 insertions(+), 2 deletions(-)
@@ -45246,13 +44679,11 @@ commit cdf1fd0627c5517c948ca05d2e9427c3e441adf9
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 14 12:43:34 2017 +0100
- [indic] Add infrastructure to disable ZWNJ-skipping in
- context-matching
-
+ [indic] Add infrastructure to disable ZWNJ-skipping in context-matching
+
Not used yet.
- src/hb-ot-layout-gsubgpos-private.hh | 45
- ++++++++++++++++++++----------------
+ src/hb-ot-layout-gsubgpos-private.hh | 45 ++++++++++++++++++++----------------
src/hb-ot-layout.cc | 1 +
src/hb-ot-map-private.hh | 10 +++++---
src/hb-ot-map.cc | 8 +++++--
@@ -45263,27 +44694,21 @@ Author: Dominik Schlösser <dominik.schloesser@gmail.com>
Date: Fri Jul 14 13:14:55 2017 +0200
Shaping tests for Tibetan vowels (#446)
-
+
* Shaping tests for Tibetan vowels
-
- * Test-cases for the Dzongkha contractions with multiple vowel-signs
- added.
-
+
+ * Test-cases for the Dzongkha contractions with multiple vowel-signs added.
+
* going to be removed
-
- * Extended contraction-test-cases to all test cases in
- contractions.txt that actually use multiple-vowels (113 cases)
+
+ * Extended contraction-test-cases to all test cases in contractions.txt that actually use multiple-vowels (113 cases)
test/shaping/Makefile.am | 3 ++
- .../2de1ab4907ab688c0cfc236b0bf51151db38bf2e.ttf | Bin 0 -> 125256
- bytes
+ .../2de1ab4907ab688c0cfc236b0bf51151db38bf2e.ttf | Bin 0 -> 125256 bytes
.../82f4f3b57bb55344e72e70231380202a52af5805.ttf | Bin 0 -> 11116 bytes
- .../a02a7f0ad42c2922cb37ad1358c9df4eb81f1bca.ttf | Bin 0 -> 106096
- bytes
- test/shaping/tests/tibetan-contractions-1.tests | 60
- +++++++++++++++++++++
- test/shaping/tests/tibetan-contractions-2.tests | 53
- ++++++++++++++++++
+ .../a02a7f0ad42c2922cb37ad1358c9df4eb81f1bca.ttf | Bin 0 -> 106096 bytes
+ test/shaping/tests/tibetan-contractions-1.tests | 60 +++++++++++++++++++++
+ test/shaping/tests/tibetan-contractions-2.tests | 53 ++++++++++++++++++
test/shaping/tests/tibetan-vowels.tests | 11 ++++
7 files changed, 127 insertions(+)
@@ -45292,15 +44717,14 @@ Author: Dominik Schlösser <dominik.schloesser@gmail.com>
Date: Fri Jul 14 13:14:23 2017 +0200
Fix for reordering of Tibetan vowel u (#443)
-
+
* Undone change for Tibetan vowel u
-
+
* removed comment on reordering that became invalid with roll-back
-
+
* Support for Dzongkha contractions with multiple vowel-signs
-
- * Removed non-functional and unnecessary defines for
- HB_MODIFIED_COMBINING_CLASS_CCC138,140
+
+ * Removed non-functional and unnecessary defines for HB_MODIFIED_COMBINING_CLASS_CCC138,140
src/hb-unicode-private.hh | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
@@ -45310,21 +44734,17 @@ Author: fanc999 <fanc999@yahoo.com.tw>
Date: Wed Jun 21 22:19:57 2017 +0800
Win32/NMake builds: Support builds from GIT (#498)
-
+
Add Python scripts to generate the full win32/config.h.win32 and
src/hb-version.h which can be used to build directly from a GIT
- checkout. Since the scripts are currently intended for building
- from a
+ checkout. Since the scripts are currently intended for building from a
GIT checkout, these are not distributed in the release tarballs.
-
- Also, support the re-build of Ragel-generated .hh headers using
- the NMake
- build system, and allow one to specify the path of the Ragel
- executable
+
+ Also, support the re-build of Ragel-generated .hh headers using the NMake
+ build system, and allow one to specify the path of the Ragel executable
if a suitable one cannot be found in the PATH.
-
- Update the Win32/NMake build documentation to let people know
- about how
+
+ Update the Win32/NMake build documentation to let people know about how
these mechanisms can be utilized.
win32/README.txt | 20 ++++++-
@@ -45333,10 +44753,8 @@ Date: Wed Jun 21 22:19:57 2017 +0800
win32/create-lists-msvc.mak | 9 ++++
win32/generate-msvc.mak | 6 +++
win32/info-msvc.mak | 8 ++-
- win32/pc_base.py | 124
- ++++++++++++++++++++++++++++++++++++++++++++
- win32/replace.py | 115
- ++++++++++++++++++++++++++++++++++++++++
+ win32/pc_base.py | 124 ++++++++++++++++++++++++++++++++++++++++++++
+ win32/replace.py | 115 ++++++++++++++++++++++++++++++++++++++++
win32/setup.py | 62 ++++++++++++++++++++++
9 files changed, 353 insertions(+), 3 deletions(-)
@@ -45358,8 +44776,7 @@ Date: Mon Jun 19 14:47:09 2017 +0430
src/hb-ot-shape-complex-indic.cc | 12 +++++-----
src/hb-ot-shape-complex-myanmar.cc | 2 +-
src/hb-ot-shape-complex-thai.cc | 12 +++++-----
- src/hb-ot-shape-complex-use-table.cc | 42
- ++++++++++++++++-----------------
+ src/hb-ot-shape-complex-use-table.cc | 42 ++++++++++++++++-----------------
src/hb-unicode-private.hh | 16 ++++++-------
src/hb-utf-private.hh | 18 +++++++-------
15 files changed, 110 insertions(+), 86 deletions(-)
@@ -45387,7 +44804,7 @@ Author: Sebastian Rasmussen <sebras@gmail.com>
Date: Mon May 29 12:53:30 2017 -0500
Avoid using strdup inside library. (#488)
-
+
If an application provides a malloc replacement through
hb_malloc_impl() it is important that it is used to allocate
everything, but the use of strdup() circumvents this and
@@ -45403,17 +44820,15 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Wed May 17 21:32:47 2017 +0300
Do not skip TAG characters in glyph substitution (#487)
-
+
Hide them like Mongolian Free Variation Selectors instead.
-
+
Fixes https://github.com/behdad/harfbuzz/issues/463
src/hb-ot-layout-gsubgpos-private.hh | 2 +-
- src/hb-ot-layout-private.hh | 13
- +++++++++----
+ src/hb-ot-layout-private.hh | 13 +++++++++----
test/shaping/Makefile.am | 1 +
- .../sha1sum/53374c7ca3657be37efde7ed02ae34229a56ae1f.ttf | Bin 0 ->
- 5044 bytes
+ .../sha1sum/53374c7ca3657be37efde7ed02ae34229a56ae1f.ttf | Bin 0 -> 5044 bytes
test/shaping/tests/emoji-flag-tags.tests | 2 ++
5 files changed, 13 insertions(+), 5 deletions(-)
@@ -45469,8 +44884,7 @@ Date: Wed Apr 19 22:59:46 2017 +0430
[cmake] Final touches (#473)
- CMakeLists.txt | 113
- +++++++++++++++++++++++++++------------------------------
+ CMakeLists.txt | 113 +++++++++++++++++++++++++++------------------------------
1 file changed, 54 insertions(+), 59 deletions(-)
commit aacca37590656e235218557ea509eb5624dfbff9
@@ -45478,15 +44892,14 @@ Author: Chris Peterson <cpeterson@mozilla.com>
Date: Mon Apr 17 23:25:24 2017 -0700
Fix clang -Wcomma warnings (#471) (#472)
-
+
clang's new -Wcomma compiler option warns about possible misuse of the
comma operator such as between two statements.
-
+
hb-common.cc:190:9 [-Wcomma] possible misuse of comma operator here
hb-ot-layout-gsubgpos-private.hh:345:30 [-Wcomma] possible misuse of
comma operator here
- hb-shape-plan.cc:438:26 [-Wcomma] possible misuse of comma operator
- here
+ hb-shape-plan.cc:438:26 [-Wcomma] possible misuse of comma operator here
src/hb-common.cc | 6 ++++--
src/hb-ot-layout-gsubgpos-private.hh | 2 +-
@@ -45497,8 +44910,7 @@ commit 4d7c52066b5b205b20ba2679cb57a4e593942102
Author: ebraminio <ebrahim@gnu.org>
Date: Mon Apr 17 15:53:46 2017 +0430
- [cmake] Remove HB_DISABLE_DEPRECATED as it seems needed for pango
- build (#470)
+ [cmake] Remove HB_DISABLE_DEPRECATED as it seems needed for pango build (#470)
CMakeLists.txt | 2 --
1 file changed, 2 deletions(-)
@@ -45508,7 +44920,7 @@ Author: William Hua <william@attente.ca>
Date: Mon Apr 17 01:33:42 2017 -0400
Use absolute paths of ragel generated headers (#467)
-
+
https://github.com/behdad/harfbuzz/issues/455
src/Makefile.am | 4 ++--
@@ -45564,9 +44976,8 @@ Author: jfkthame <jfkthame@gmail.com>
Date: Tue Apr 11 22:29:13 2017 +0100
Blacklist GDEF table in additional Tahoma versions. (#459)
-
- There are more broken versions of Tahoma out there on various
- Windows releases,
+
+ There are more broken versions of Tahoma out there on various Windows releases,
so we need to add them to our blacklist to avoid broken rendering.
See https://bugzilla.mozilla.org/show_bug.cgi?id=1279925 for details.
@@ -45579,8 +44990,7 @@ Date: Tue Apr 11 23:18:18 2017 +0430
[cmake] Improve third party libraries support (#461)
- CMakeLists.txt | 57
- ++++++++++++++++++++++++++++++++++++--------
+ CMakeLists.txt | 57 ++++++++++++++++++++++++++++++++++++--------
src/hb-ucdn/Makefile.sources | 5 +++-
2 files changed, 51 insertions(+), 11 deletions(-)
@@ -45590,8 +45000,7 @@ Date: Tue Apr 11 21:32:14 2017 +0430
[cmake] Add utils build support (#460)
- CMakeLists.txt | 150
- +++++++++++++++++++++++++++++++++++++++++----------------
+ CMakeLists.txt | 150 +++++++++++++++++++++++++++++++++++++++++----------------
1 file changed, 108 insertions(+), 42 deletions(-)
commit bc1244e2395f844b2b41315cb1eef29570e46b29
@@ -45599,14 +45008,12 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Thu Apr 6 18:44:28 2017 +0800
NMake Makefiles: Fix ICU builds
-
+
Fix the check conditions in config-msvc.mak and info-msvc.mak so that
- the ICU items does indeed get built into the HarfBuzz main DLL,
- and that
+ the ICU items does indeed get built into the HarfBuzz main DLL, and that
the correct configuration info is displayed.
-
- Also update the checks in detectenv-msvc.mak so that we can detect
- that
+
+ Also update the checks in detectenv-msvc.mak so that we can detect that
we are using Visual Studio 2017 (although the 2015-built binaries use
the same CRT DLL as the 2017 ones).
@@ -45629,11 +45036,9 @@ commit d2acaf6d729727f47c5aacf7ee40097580b6f18d
Author: ebraminio <ebrahim@gnu.org>
Date: Wed Apr 5 02:21:23 2017 -0700
- Split ragel generated files lists and remove hardcoded rl files lists
- (#453)
+ Split ragel generated files lists and remove hardcoded rl files lists (#453)
- CMakeLists.txt | 126
- +++++++++++++++++++++-----------------------------
+ CMakeLists.txt | 126 +++++++++++++++++++++-----------------------------
src/Makefile.am | 2 +
src/Makefile.sources | 16 +++++--
win32/config-msvc.mak | 8 ++--
@@ -45645,8 +45050,7 @@ Date: Tue Apr 4 15:03:51 2017 +0430
Add CMake build support (#444)
- CMakeLists.txt | 254
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ CMakeLists.txt | 254 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Makefile.am | 1 +
appveyor.yml | 61 +++++++++-----
3 files changed, 295 insertions(+), 21 deletions(-)
@@ -45656,7 +45060,7 @@ Author: jfkthame <jfkthame@gmail.com>
Date: Mon Apr 3 12:22:39 2017 +0100
avoid UBSan warning in get_stage_lookups (#450)
-
+
See https://bugzilla.mozilla.org/show_bug.cgi?id=1336600
src/hb-ot-map-private.hh | 2 +-
@@ -45666,8 +45070,7 @@ commit 8d256841ca7462fd596329abf6f71bafb56fd621
Author: Dominik Schloesser <dsc@dosc.net>
Date: Sun Mar 26 09:22:34 2017 +0200
- Current fonttools (3.9.1) generate subset-file called font.subset.ttf
- instead of older font.ttf.subset
+ Current fonttools (3.9.1) generate subset-file called font.subset.ttf instead of older font.ttf.subset
test/shaping/record-test.sh | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
@@ -45686,7 +45089,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Sun Mar 26 10:48:53 2017 +0200
[tools] Make hb-unicode-code work with Python 3
-
+
Related to https://github.com/behdad/harfbuzz/pull/445
test/shaping/hb_test_tools.py | 13 ++++++++++++-
@@ -45697,7 +45100,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Mar 24 10:24:52 2017 -0700
Blacklist more versions of Padauk
-
+
Patch from Phil Race.
src/hb-ot-layout.cc | 8 ++++++++
@@ -45708,9 +45111,8 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Thu Mar 23 00:35:36 2017 +0200
[ci] Fix msys2 build on AppVeyor
-
- For whatever reason the env variables need to be the Windows way
- or they
+
+ For whatever reason the env variables need to be the Windows way or they
end up being empty.
appveyor.yml | 2 +-
@@ -45730,11 +45132,9 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Fri Feb 24 17:58:25 2017 +0800
src/hb-common.cc: Fix build on older Visual Studio
-
- Visual Studio only supported strtof() from Visual Studio 2013
- onwards, so
- use strtod() instead to do the operation, which should do the
- same thing,
+
+ Visual Studio only supported strtof() from Visual Studio 2013 onwards, so
+ use strtod() instead to do the operation, which should do the same thing,
sans going to a double, not a float.
src/hb-common.cc | 4 ++++
@@ -45745,22 +45145,18 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Fri Feb 24 17:47:44 2017 +0800
Visual Studio builds: Fix Introspection when UCDN enabled
-
+
The sources in src/hb-ucdn and not included correctly into the NMake
- Makefiles, as we need their explicit relative location as we pass
- all the
+ Makefiles, as we need their explicit relative location as we pass all the
sources we used into the introspection scanner. This was not an issue
before as we excluded the UCDN sources in the build when we enabled
introspection (meaning GLib is enabled), but since we default on using
- UCDN on all builds unless explicitly disabled, we need to deal
- with this.
-
- This did not affect builds using UCDN without introspection due to
- the use
+ UCDN on all builds unless explicitly disabled, we need to deal with this.
+
+ This did not affect builds using UCDN without introspection due to the use
of NMake batch rules.
-
- Fix this by creating a NMake Makefile module on-the-fly with the
- correct
+
+ Fix this by creating a NMake Makefile module on-the-fly with the correct
subdir info, and using that list in there instead.
win32/Makefile.vc | 15 +++++++++++++++
@@ -45772,16 +45168,14 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Thu Feb 23 13:02:49 2017 +0800
Update Visual Studio builds for UCDN usage
-
+
We now use UCDN by default, so make it so in the build files; however
don't hardcode HAVE_UCDN as one may still opt not to use it (but pass
- it in as a CFLAG unless one explicitly disables UCDN by using
- NO_UCDN=1
+ it in as a CFLAG unless one explicitly disables UCDN by using NO_UCDN=1
on the NMake command line).
-
+
Note that we are not blocking builds where UCDN is disabled along with
- GLib and ICU, as that will trigger a build error anyways which
- will tell
+ GLib and ICU, as that will trigger a build error anyways which will tell
the user what needs to be done to remedy this.
win32/README.txt | 6 +++---
@@ -45804,16 +45198,14 @@ commit 47e7a1800fba9b8bf042a1f4976a15ab012ebfc7
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Mar 10 13:23:02 2017 -0800
- Revert "Fix Context lookup application when moving back after a
- glyph delete"
-
+ Revert "Fix Context lookup application when moving back after a glyph delete"
+
This reverts commit b9b005f3a44ccf78a45b212b126287b69b9f4b40.
-
+
This introduced invalid access cases. Revert until I fix correctly.
src/hb-ot-layout-gsubgpos-private.hh | 7 ++++---
- .../sha1sum/5bbf3712e6f79775c66a4407837a90e591efbef2.ttf | Bin 6400 ->
- 0 bytes
+ .../sha1sum/5bbf3712e6f79775c66a4407837a90e591efbef2.ttf | Bin 6400 -> 0 bytes
test/shaping/tests/context-matching.tests | 1 -
3 files changed, 4 insertions(+), 4 deletions(-)
@@ -45822,7 +45214,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Mar 7 18:13:28 2017 -0800
Fix buffer serialize of empty buffer
-
+
Ouch!
src/hb-buffer-serialize.cc | 2 ++
@@ -45864,10 +45256,8 @@ Date: Sun Mar 5 14:53:39 2017 +0100
BASE: start api
src/Makefile.sources | 2 ++
- src/hb-ot-base.cc | 58
- ++++++++++++++++++++++++++++++++++++++++++
- src/hb-ot-base.h | 56
- ++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-base.cc | 58 ++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-base.h | 56 ++++++++++++++++++++++++++++++++++++++++
src/hb-ot-layout-base-table.hh | 15 ++---------
4 files changed, 118 insertions(+), 13 deletions(-)
@@ -45885,13 +45275,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Mar 1 14:27:23 2017 -0800
Fix Context lookup application when moving back after a glyph delete
-
+
This was broken forever, since days that we did not allow moving
tape backwards. Works now. Reported by Doug Felt.
src/hb-ot-layout-gsubgpos-private.hh | 7 +++----
- .../sha1sum/5bbf3712e6f79775c66a4407837a90e591efbef2.ttf | Bin 0 ->
- 6400 bytes
+ .../sha1sum/5bbf3712e6f79775c66a4407837a90e591efbef2.ttf | Bin 0 -> 6400 bytes
test/shaping/tests/context-matching.tests | 1 +
3 files changed, 4 insertions(+), 4 deletions(-)
@@ -45910,8 +45299,7 @@ Date: Sun Feb 26 15:07:53 2017 +0100
BASE: first complete version
- src/hb-ot-layout-base-table.hh | 444
- +++++++++++++++++++++++++++++------------
+ src/hb-ot-layout-base-table.hh | 444 +++++++++++++++++++++++++++++------------
1 file changed, 317 insertions(+), 127 deletions(-)
commit a11501444cfc4854bfe2b1d3ce0fc5a957e959d8
@@ -45920,14 +45308,10 @@ Date: Sat Feb 25 13:37:54 2017 -0800
Add few tests found by libFuzzer and oss-fuzz
- .../sha1sum/a34a9191d9376bda419836effeef7e75c1386016.ttf | Bin 0 ->
- 1010 bytes
- .../sha1sum/a69118c2c2ada48ff803d9149daa54c9ebdae30e.ttf | Bin 0 ->
- 820 bytes
- .../sha1sum/b6acef662e0beb8d5fcf5b61c6b0ca69537b7402.ttf | Bin 0 ->
- 3301 bytes
- .../sha1sum/e88c339237f52d21e01c55f01b9c1b4cc14a0467.ttf | Bin 0 ->
- 515 bytes
+ .../sha1sum/a34a9191d9376bda419836effeef7e75c1386016.ttf | Bin 0 -> 1010 bytes
+ .../sha1sum/a69118c2c2ada48ff803d9149daa54c9ebdae30e.ttf | Bin 0 -> 820 bytes
+ .../sha1sum/b6acef662e0beb8d5fcf5b61c6b0ca69537b7402.ttf | Bin 0 -> 3301 bytes
+ .../sha1sum/e88c339237f52d21e01c55f01b9c1b4cc14a0467.ttf | Bin 0 -> 515 bytes
test/shaping/tests/fuzzed.tests | 4 ++++
5 files changed, 4 insertions(+)
@@ -45936,10 +45320,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Feb 25 13:30:38 2017 -0800
Fix buffer-overrun with Bengali reph positioning code
-
+
This has no security implications whatsoever since we always keep
and extra element at the end of buffer, just in case.
-
+
Discovered by oss-fuzz
CC https://github.com/behdad/harfbuzz/issues/139
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=660
@@ -45953,8 +45337,7 @@ Date: Sat Feb 25 20:41:05 2017 +0100
BASE: WIP: more access functions
- src/hb-ot-layout-base-table.hh | 212
- +++++++++++++++++++++++++++++++++++++----
+ src/hb-ot-layout-base-table.hh | 212 +++++++++++++++++++++++++++++++++++++----
1 file changed, 191 insertions(+), 21 deletions(-)
commit 6685d281d6f50bf046bbfef4a5263e15d15f2f02
@@ -45973,8 +45356,7 @@ Date: Sat Feb 25 17:08:01 2017 +0100
BASE: align member's names
- src/hb-ot-layout-base-table.hh | 70
- +++++++++++++++++++++---------------------
+ src/hb-ot-layout-base-table.hh | 70 +++++++++++++++++++++---------------------
1 file changed, 35 insertions(+), 35 deletions(-)
commit 499b4bef2a5b6d49374ab4977509d1fbf7bd6038
@@ -45983,8 +45365,7 @@ Date: Sat Feb 25 16:48:22 2017 +0100
BASE: more consistent naming (with spec and Harfbuzz code base)
- src/hb-ot-layout-base-table.hh | 44
- +++++++++++++++++++++---------------------
+ src/hb-ot-layout-base-table.hh | 44 +++++++++++++++++++++---------------------
1 file changed, 22 insertions(+), 22 deletions(-)
commit a0bdd546c584eb7c7ea3ca7e19a178723e6fe77f
@@ -46002,8 +45383,7 @@ Date: Sat Feb 25 16:19:35 2017 +0100
BASE: sanitize
- src/hb-ot-layout-base-table.hh | 151
- ++++++++++++++++++++++++++++++++++++++++-
+ src/hb-ot-layout-base-table.hh | 151 ++++++++++++++++++++++++++++++++++++++++-
1 file changed, 148 insertions(+), 3 deletions(-)
commit a657f23ca31237d652b5c101ed24194b6aeadaf8
@@ -46011,7 +45391,7 @@ Author: Dominik Röttsches <d-r@roettsches.de>
Date: Mon Feb 20 21:52:07 2017 +0200
Blacklist another instance of Padauk (#419)
-
+
In https://crbug.com/681813 another instance of Padauk was identified
triggering collapsed glyphs. Blacklist this version by patching
hb-ot-layout.cc to print out gdef, gsub, and gpos table length, then
@@ -46027,8 +45407,7 @@ Date: Sun Feb 19 10:12:22 2017 +0100
compile, move into hb-ot-layout.cc
src/hb-ot-font.cc | 1 -
- src/hb-ot-layout-base-table.hh | 57
- +++++++++++++++++++++++++++++++-----------
+ src/hb-ot-layout-base-table.hh | 57 +++++++++++++++++++++++++++++++-----------
src/hb-ot-layout.cc | 1 +
3 files changed, 43 insertions(+), 16 deletions(-)
@@ -46037,9 +45416,8 @@ Author: Elie Roux <elie.roux@telecom-bretagne.eu>
Date: Sun Feb 19 08:48:22 2017 +0100
hb-ot-base-table.hh -> hb-ot-layout-base-table.hh
-
- per
- https://github.com/behdad/harfbuzz/issues/418#issuecomment-280873811
+
+ per https://github.com/behdad/harfbuzz/issues/418#issuecomment-280873811
src/Makefile.sources | 2 +-
src/hb-ot-font.cc | 2 +-
@@ -46053,8 +45431,7 @@ Date: Sat Feb 18 19:54:33 2017 +0100
bootstraping structure
src/Makefile.sources | 1 +
- src/hb-ot-base-table.hh | 238
- ++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-base-table.hh | 238 ++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-font.cc | 1 +
src/hb-ot-layout-private.hh | 2 +
4 files changed, 242 insertions(+)
@@ -46073,22 +45450,19 @@ Author: jfkthame <jfkthame@gmail.com>
Date: Fri Feb 17 03:03:24 2017 +0000
Guard against underflow when adjusting length (#421)
-
+
* Guard against underflow when adjusting length
-
- With the fuzz-testcase in mozilla bug 1295299, we end up with a
- recursed lookup that removes 3 items, when `match_positions[idx]`
- is 0, which results in (unsigned) `end` wrapping to a huge value.
-
+
+ With the fuzz-testcase in mozilla bug 1295299, we end up with a recursed lookup that removes 3 items, when `match_positions[idx]` is 0, which results in (unsigned) `end` wrapping to a huge value.
+
Making `end` a signed int is probably the simplest route to a fix.
-
+
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1295299.
-
+
* Add testcase for #421.
src/hb-ot-layout-gsubgpos-private.hh | 6 +++---
- .../sha1sum/558661aa659912f4d30ecd27bd09835171a8e2b0.ttf | Bin 0 ->
- 1358 bytes
+ .../sha1sum/558661aa659912f4d30ecd27bd09835171a8e2b0.ttf | Bin 0 -> 1358 bytes
test/shaping/tests/fuzzed.tests | 1 +
3 files changed, 4 insertions(+), 3 deletions(-)
@@ -46096,22 +45470,18 @@ commit 45766b673f427bb791c9d5886cadedfac0447066
Author: jfkthame <jfkthame@gmail.com>
Date: Thu Feb 16 17:40:21 2017 +0000
- [indic] Add support for Grantha marks that may be used in Tamil to
- th… (#401)
-
- * [indic] Add support for Grantha marks that may be used in Tamil
- to the Indic table.
-
+ [indic] Add support for Grantha marks that may be used in Tamil to th… (#401)
+
+ * [indic] Add support for Grantha marks that may be used in Tamil to the Indic table.
+
See https://bugzilla.mozilla.org/show_bug.cgi?id=1331339.
-
+
Testcase: U+0BA4,U+0BC6,U+1133c,U+0BAA,U+1133c,U+0BC6,U+1133c
-
- * [indic] Add test for Grantha nukta that is allowed in Tamil by
- ScriptExtensions.txt
+
+ * [indic] Add test for Grantha nukta that is allowed in Tamil by ScriptExtensions.txt
src/hb-ot-shape-complex-indic-table.cc | 7 +++++++
- .../sha1sum/3493e92eaded2661cadde752a39f9d58b11f0326.ttf | Bin 0 ->
- 1400 bytes
+ .../sha1sum/3493e92eaded2661cadde752a39f9d58b11f0326.ttf | Bin 0 -> 1400 bytes
test/shaping/tests/indic-script-extensions.tests | 1 +
3 files changed, 8 insertions(+)
@@ -46130,7 +45500,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 8 14:36:18 2017 -0800
Merge pull request #357 from khaledhosny/graphite-scale
-
+
[graphite] Fix shaping with varying font sizes
commit 7c47474f209bdf84cf87844c277ed711cad78196
@@ -46138,7 +45508,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 8 14:33:28 2017 -0800
Set LC_ALL instead of LANG when creating harfbuzz.def
-
+
Hopefully fixes Travis faliure?
https://github.com/behdad/harfbuzz/pull/413#issuecomment-278481882
https://travis-ci.org/khaledhosny/harfbuzz/jobs/199785332#L1065
@@ -46151,16 +45521,15 @@ Author: Philip Withnall <philip@tecnocode.co.uk>
Date: Wed Feb 8 21:56:57 2017 +0000
hb-font: Fix a potentially undefined use of memcmp() (#413)
-
- While it’s fine to call memcmp(x, 0, 0) in practice, the C99
- standard
+
+ While it’s fine to call memcmp(x, 0, 0) in practice, the C99 standard
explicitly says that this is not allowed: even if the length is zero,
the pointer arguments must be valid.
-
+
http://stackoverflow.com/a/16363034
-
+
Coverity ID: 141178
-
+
Signed-off-by: Philip Withnall <withnall@endlessm.com>
src/hb-font.cc | 3 ++-
@@ -46171,11 +45540,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 7 18:25:12 2017 -0800
Update ax_pthread.m4 to latest upstream version
-
+
Might help with https://github.com/behdad/harfbuzz/issues/399
- m4/ax_pthread.m4 | 394
- ++++++++++++++++++++++++++++++++++++++++---------------
+ m4/ax_pthread.m4 | 394 ++++++++++++++++++++++++++++++++++++++++---------------
1 file changed, 285 insertions(+), 109 deletions(-)
commit a6ced90efccf869defc0b310effca220f01cf318
@@ -46183,7 +45551,7 @@ Author: Philip Withnall <philip@tecnocode.co.uk>
Date: Wed Feb 8 02:18:33 2017 +0000
test: Fix some memory leaks in test-font.c (#409)
-
+
Coverity IDs: 141039, 141040, 141041
test/api/test-font.c | 35 ++++++++++++++++++++++++++++++-----
@@ -46194,7 +45562,7 @@ Author: Philip Withnall <philip@tecnocode.co.uk>
Date: Wed Feb 8 02:17:48 2017 +0000
util: Add missing field initialisers in constructor (#410)
-
+
Coverity ID: 141042
util/hb-shape.cc | 4 +++-
@@ -46205,7 +45573,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 7 16:53:21 2017 -0800
Silence Coverity warning
-
+
Fixes https://github.com/behdad/harfbuzz/issues/408
src/hb-ot-shape-complex-arabic.cc | 2 +-
@@ -46266,7 +45634,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Feb 3 10:39:40 2017 -0800
Add new API hb_font_set_face()
-
+
For completeness.
src/hb-font.cc | 29 +++++++++++++++++++++++++++++
@@ -46277,8 +45645,7 @@ commit 4ec19319ab195d852708661e12da2a6485fce544
Author: jfkthame <jfkthame@gmail.com>
Date: Thu Feb 2 18:48:23 2017 +0000
- Add Win10 Anniversary Update version of Tahoma to GDEF
- blacklist. (#412)
+ Add Win10 Anniversary Update version of Tahoma to GDEF blacklist. (#412)
src/hb-ot-layout.cc | 4 ++++
1 file changed, 4 insertions(+)
@@ -46288,7 +45655,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 1 11:57:21 2017 -0800
Minor
-
+
Fixes https://github.com/behdad/harfbuzz/issues/411
src/hb-fallback-shape.cc | 2 +-
@@ -46300,15 +45667,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 26 14:50:14 2017 -0800
Route Adlam through Arabic shaper
-
+
Fixes joined Adlam rendering.
-
+
Fixes https://github.com/googlei18n/noto-fonts/issues/828
src/hb-ot-shape-complex-private.hh | 3 +++
test/shaping/Makefile.am | 1 +
- .../5dfad7735c6a67085f1b90d4d497e32907db4c78.ttf | Bin 0 ->
- 21160 bytes
+ .../5dfad7735c6a67085f1b90d4d497e32907db4c78.ttf | Bin 0 -> 21160 bytes
test/shaping/tests/arabic-like-joining.tests | 1 +
4 files changed, 5 insertions(+)
@@ -46326,13 +45692,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 23 23:42:53 2017 -0800
[var] Implement MVAR table
-
+
Unhooked. Untested.
src/Makefile.sources | 1 +
src/hb-font.cc | 2 +-
- src/hb-ot-var-mvar-table.hh | 110
- ++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-var-mvar-table.hh | 110 ++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-var.cc | 1 +
4 files changed, 113 insertions(+), 1 deletion(-)
@@ -46360,7 +45725,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 23 17:55:31 2017 -0800
[var] Hook up advance variations to hb-ot-font
-
+
Yay, works!
src/hb-ot-font.cc | 6 +++++-
@@ -46390,12 +45755,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 23 11:56:08 2017 -0800
[var] Implement DeltaSetIndexMap and advance delta fetching
-
+
Not hooked up to hb-ot-font yet.
src/hb-ot-layout-common-private.hh | 8 ++++++
- src/hb-ot-var-hvar-table.hh | 56
- ++++++++++++++++++++++++++++++++++++--
+ src/hb-ot-var-hvar-table.hh | 56 ++++++++++++++++++++++++++++++++++++--
2 files changed, 61 insertions(+), 3 deletions(-)
commit 7b399f73efa76cd97131fd123a9a1566f8639cfd
@@ -46408,8 +45772,7 @@ Date: Mon Jan 23 11:41:43 2017 -0800
src/hb-ot-font.cc | 1 +
src/hb-ot-var-avar-table.hh | 1 -
src/hb-ot-var-fvar-table.hh | 1 -
- src/hb-ot-var-hvar-table.hh | 115
- ++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-var-hvar-table.hh | 115 ++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 117 insertions(+), 2 deletions(-)
commit b732c53eb5bd0c2cc86f35a9d9623c92579a0b8c
@@ -46443,7 +45806,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jan 22 20:16:51 2017 -0800
[var] Remove HB_OT_TAG_fvar/avar
-
+
We're not going to define public macros for tags for tables.
There's little use to those and they are implementation detail.
@@ -46478,12 +45841,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jan 22 19:41:33 2017 -0800
[var] Implement 'avar' table mapping
-
+
Untested!
src/hb-ot-math.cc | 2 --
- src/hb-ot-var-avar-table.hh | 46
- ++++++++++++++++++++++++++++++++++++++++++++-
+ src/hb-ot-var-avar-table.hh | 46 ++++++++++++++++++++++++++++++++++++++++++++-
src/hb-ot-var.cc | 23 +++++++++++++++--------
3 files changed, 60 insertions(+), 11 deletions(-)
@@ -46493,8 +45855,7 @@ Date: Sun Jan 22 19:01:07 2017 -0800
[var] Flesh out --variations documentation
- util/options.cc | 53
- ++++++++++++++---------------------------------------
+ util/options.cc | 53 ++++++++++++++---------------------------------------
1 file changed, 14 insertions(+), 39 deletions(-)
commit 5ec96d30cad1592b5e468bd8ad1832dbaf0ad32b
@@ -46502,10 +45863,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jan 22 18:52:00 2017 -0800
[var] Adjust API in prep for 'avar' implementation
-
+
The 'avar' table does not allow random access to axis maps,
so change API to avoid quadratic-time implementation.
-
+
Removed -hb_ot_var_normalize_axis_value(), added
+hb_ot_var_normalize_variations() and
+hb_ot_var_normalize_coords() instead.
@@ -46513,8 +45874,7 @@ Date: Sun Jan 22 18:52:00 2017 -0800
docs/harfbuzz-sections.txt | 3 ++-
src/Makefile.sources | 1 +
src/hb-font.cc | 20 +++++---------------
- src/hb-ot-var.cc | 45
- +++++++++++++++++++++++++++++++++++++++------
+ src/hb-ot-var.cc | 45 +++++++++++++++++++++++++++++++++++++++------
src/hb-ot-var.h | 16 ++++++++++++----
5 files changed, 59 insertions(+), 26 deletions(-)
@@ -46524,8 +45884,7 @@ Date: Sun Jan 22 18:22:40 2017 -0800
[var] Stub implementation of avar table
- src/hb-ot-var-avar-table.hh | 99
- +++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-var-avar-table.hh | 99 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 99 insertions(+)
commit 7647a05a0b37c53465560952b412db4e590f2716
@@ -46573,7 +45932,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jan 22 16:41:45 2017 -0800
[hb-ft] Remove use of variable-length array
-
+
Hopefully also fixes build failure on msvc.
src/hb-ft.cc | 33 +++++++++++++++++++++------------
@@ -46584,7 +45943,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jan 21 18:10:08 2017 -0800
[var] Hook up variations to FreeType face
-
+
hb-view correctly renders variations with ft font-funcs now.
hb-ot-font needs HVAR implementation.
@@ -46597,14 +45956,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jan 21 17:51:41 2017 -0800
[util] Add --variations
-
- Is hooked up to the font, but not to FreeType, so raster doesn't
- show yet.
-
+
+ Is hooked up to the font, but not to FreeType, so raster doesn't show yet.
+
Documentation needs to be done.
- util/options.cc | 91
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ util/options.cc | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
util/options.hh | 8 ++++-
2 files changed, 98 insertions(+), 1 deletion(-)
@@ -46613,7 +45970,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jan 21 17:41:37 2017 -0800
[var] Rename var_coord to variation
-
+
Looks much better.
src/hb-common.cc | 36 ++++++++++++++++++------------------
@@ -46697,8 +46054,7 @@ Date: Fri Jan 20 20:30:03 2017 -0800
[var] Add hb_var_coord_t and parsing routines
- src/hb-common.cc | 94
- +++++++++++++++++++++++++++++++++++++++++++++++++++++---
+ src/hb-common.cc | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
src/hb-common.h | 15 ++++++++-
2 files changed, 103 insertions(+), 6 deletions(-)
@@ -46708,11 +46064,9 @@ Date: Fri Jan 20 20:16:53 2017 -0800
Move code around
- src/hb-common.cc | 250
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-common.cc | 250 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-common.h | 18 ++++
- src/hb-shape.cc | 248
- ------------------------------------------------------
+ src/hb-shape.cc | 248 ------------------------------------------------------
src/hb-shape.h | 16 ----
4 files changed, 268 insertions(+), 264 deletions(-)
@@ -46723,8 +46077,7 @@ Date: Fri Jan 20 19:57:27 2017 -0800
[var] Flesh out some more
src/Makefile.am | 2 ++
- src/hb-ot-var-fvar-table.hh | 69
- ++++++++++++++++++++++++++++++++-------------
+ src/hb-ot-var-fvar-table.hh | 69 ++++++++++++++++++++++++++++++++-------------
src/hb-ot-var.cc | 39 ++++++++++++++++++++++++-
src/hb-ot-var.h | 21 +++++++++-----
4 files changed, 104 insertions(+), 27 deletions(-)
@@ -46735,8 +46088,7 @@ Date: Fri Jan 20 19:14:54 2017 -0800
[var] Flesh out a bit
- src/hb-ot-var-fvar-table.hh | 72
- ++++++++++++++++++++++++++++++++++++---------
+ src/hb-ot-var-fvar-table.hh | 72 ++++++++++++++++++++++++++++++++++++---------
src/hb-ot-var.h | 10 ++++++-
2 files changed, 67 insertions(+), 15 deletions(-)
@@ -46772,14 +46124,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 19 19:35:48 2017 -0800
Start adding hb-ot-var.h and implementation
-
+
Supports enumerating variation axes, normalizing values, etc.
src/Makefile.sources | 3 +
src/hb-ot-layout-private.hh | 6 ++
src/hb-ot-layout.cc | 4 ++
- src/hb-ot-var-fvar-table.hh | 133
- ++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-var-fvar-table.hh | 133 ++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-var.cc | 63 +++++++++++++++++++++
src/hb-ot-var.h | 81 +++++++++++++++++++++++++++
src/hb-ot.h | 1 +
@@ -46835,19 +46186,16 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Wed Jan 18 22:48:13 2017 +0200
[ot] Fix automatic fraction for RTL scripts (#405)
-
+
The numbers for right-to-left scripts are processed also from right to
- left, so the order of applying “numr” and “dnom” features
- should be
+ left, so the order of applying “numr” and “dnom” features should be
reversed in such case.
-
+
Fixes https://github.com/behdad/harfbuzz/issues/395
- src/hb-ot-shape.cc | 16
- ++++++++++++++--
+ src/hb-ot-shape.cc | 16 ++++++++++++++--
test/shaping/Makefile.am | 1 +
- .../15dfc433a135a658b9f4b1a861b5cdd9658ccbb9.ttf | Bin 0 ->
- 4936 bytes
+ .../15dfc433a135a658b9f4b1a861b5cdd9658ccbb9.ttf | Bin 0 -> 4936 bytes
test/shaping/tests/automatic-fractions.tests | 3 +++
4 files changed, 18 insertions(+), 2 deletions(-)
@@ -46856,11 +46204,10 @@ Author: Sascha Brawer <sascha@brawer.ch>
Date: Wed Jan 18 13:51:02 2017 +0100
Update language tags to OpenType 1.8.1 (#403)
-
+
Resolves https://github.com/behdad/harfbuzz/issues/324
- src/hb-ot-tag.cc | 77
- ++++++++++++++++++++++++++++++++++++++++++++------
+ src/hb-ot-tag.cc | 77 ++++++++++++++++++++++++++++++++++++++++++++------
test/api/test-ot-tag.c | 58 +++++++++++++++++++++++++++++++++++++
2 files changed, 126 insertions(+), 9 deletions(-)
@@ -46900,10 +46247,8 @@ Date: Mon Jan 9 22:22:37 2017 -0800
Move lazy-loader to more generic place
- src/hb-open-type-private.hh | 47
- ++++++++++++++++++++++++++++++++++++++++++++
- src/hb-ot-font.cc | 48
- ++-------------------------------------------
+ src/hb-open-type-private.hh | 47 ++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-font.cc | 48 ++-------------------------------------------
2 files changed, 49 insertions(+), 46 deletions(-)
commit ac274331c285e1b42632870e150e1d66a9e21933
@@ -46958,10 +46303,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 9 00:00:49 2017 -0800
Minor
-
+
Should be enough to get -hangul.cc out of SOURCES in Firefox build:
https://dxr.mozilla.org/mozilla-central/source/gfx/harfbuzz/src/moz.build
-
+
No one else should care!
src/hb-ot-shape-complex-hangul.cc | 2 +-
@@ -46972,15 +46317,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jan 8 23:55:54 2017 -0800
[USE] Remove non-canonical decompositions
-
- We have had added this in Indic shaper to assist shaping these
- scripts.
+
+ We have had added this in Indic shaper to assist shaping these scripts.
In Universal Shaping Engine however, it is up to font designer to
decompose them. Hence moving them from Indic shaper to USE was
wrong.
-
+
Fixup for f6ba63b2e8eb577385f70758efdd3b8408c8a9cb
-
+
Part of fixing https://github.com/behdad/harfbuzz/issues/387
src/hb-ot-shape-complex-use.cc | 22 ----------------------
@@ -46991,7 +46335,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Fri Nov 11 02:16:39 2016 +0200
[graphite] Stop creating unused gr_face
-
+
It is unused after previous commit, hb_graphite2_font_get_gr_font()
makes no sense now so deprecating it.
@@ -47004,9 +46348,9 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Sun Oct 30 20:16:41 2016 +0200
[graphite] Fix shaping with varying font sizes
-
+
Shape using design units and scale the output.
-
+
See https://bugs.documentfoundation.org/show_bug.cgi?id=103403#c7
src/hb-graphite2.cc | 27 +++++++++++++++------------
@@ -47027,13 +46371,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 5 20:20:06 2017 -0800
Add tests for USE using Marchen font and text
-
+
From http://www.babelstone.co.uk/Fonts/Marchen.html
test/shaping/Makefile.am | 1 +
.../85414f2552b654585b7a8d13dcc3e8fd9f7970a3.ttf | Bin 0 -> 66936 bytes
- test/shaping/tests/use-marchen.tests | 35
- +++++++++++++++++++++
+ test/shaping/tests/use-marchen.tests | 35 +++++++++++++++++++++
3 files changed, 36 insertions(+)
commit 53543f8b3e19456279c86f711feba42ce976668c
@@ -47041,9 +46384,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 5 20:12:32 2017 -0800
Ship UCDN and use it by default
-
+
So we are not relying on version of Unicode data in glib...
-
+
Fixes https://github.com/behdad/harfbuzz/issues/386
Fixes https://github.com/behdad/harfbuzz/issues/388
@@ -47069,8 +46412,7 @@ Date: Tue Jan 3 05:55:09 2017 +0100
src/Makefile.sources | 1 +
src/hb-ot-layout.cc | 244 ---------------------------------------------
- src/hb-ot-math.cc | 272
- +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-math.cc | 272 +++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 273 insertions(+), 244 deletions(-)
commit e053ccc5bb7268fe5900dd364d906638c58b2908
@@ -47078,12 +46420,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 28 15:51:57 2016 -0500
Remove Android.mk
-
+
Android uses its own file these days and third-party developers should
be using the autotools-based system against Android NDK.
- Android.mk | 107
- ------------------------------------------------------------
+ Android.mk | 107 ------------------------------------------------------------
Makefile.am | 1 -
2 files changed, 108 deletions(-)
@@ -47092,11 +46433,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 28 13:46:21 2016 -0500
Remove Tibetan decomposition rules from Indic shaper
-
+
The decomposition is very obscure and unlikely to help
any fonts. Just remove it since Uniscribe probably doesn't
do this either.
-
+
Fixes https://github.com/behdad/harfbuzz/issues/382
src/hb-ot-shape-complex-indic.cc | 4 ----
@@ -47107,7 +46448,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 28 13:45:32 2016 -0500
Port decompositions from Indic to USE shaper
-
+
Part of https://github.com/behdad/harfbuzz/issues/382
src/hb-ot-shape-complex-indic.cc | 16 ----------------
@@ -47119,10 +46460,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 26 14:11:59 2016 -0500
[indic] Remove Chakma decomposition rule from Indic shaper
-
+
This is now added to USE:
https://github.com/behdad/harfbuzz/pull/383
-
+
See:
https://github.com/behdad/harfbuzz/issues/381
https://github.com/behdad/harfbuzz/issues/382
@@ -47144,9 +46485,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 26 14:52:08 2016 -0500
Revert "[indic] Remove redundant Chakma decomposition rule"
-
+
This reverts commit 805f76fc002d703acfcc4c5727f0b4d1baecefaa.
-
+
Need to investigate why having this rule (with the reversed order)
fixes decomposition as reported by punchcutter:
https://github.com/behdad/harfbuzz/issues/381#issuecomment-269237796
@@ -47159,10 +46500,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 26 14:11:59 2016 -0500
[indic] Remove redundant Chakma decomposition rule
-
+
This was not used BTW since Chakma doesn't go through Indic shaper
anymore.
-
+
See:
https://github.com/behdad/harfbuzz/issues/381
https://github.com/behdad/harfbuzz/issues/382
@@ -47184,14 +46525,12 @@ Author: nvelinov <nikola.velinov@rwth-aachen.de>
Date: Sat Dec 24 02:46:37 2016 +0100
Compilation Error for ASSERT_STATIC on Some Compilers (#380)
-
+
* this pointer in type definitions is not interpreted as a constant.
- This rule is not enforced strictly by all compilers, but the Green
- Hills Software compiler will regard this as an error.
-
+ This rule is not enforced strictly by all compilers, but the Green Hills Software compiler will regard this as an error.
+
* Merging branches for the DEFINE_SIZE_UNION macro
- Adding check for the existence of static_size field in the tested
- member.
+ Adding check for the existence of static_size field in the tested member.
src/hb-open-type-private.hh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -47201,19 +46540,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 22 14:40:19 2016 -0600
Disable OTL processing for Hebrew if GPOS doesn't have Hebrew subtable
-
+
New approach to fix this:
https://github.com/behdad/harfbuzz/commit/69f9fbc4200442a35484d3c790ae8f4979be5d60
-
+
Previous approach was reverted as it was too broad. See context:
https://github.com/behdad/harfbuzz/issues/347#issuecomment-267838368
-
- With U+05E9,U+05B8,U+05C1,U+05DC and Arial Unicode, we now (correctly)
- disable
- GDEF and GPOS, so we get results very close to Uniscribe, but
- slightly different
+
+ With U+05E9,U+05B8,U+05C1,U+05DC and Arial Unicode, we now (correctly) disable
+ GDEF and GPOS, so we get results very close to Uniscribe, but slightly different
since our fallback position logic is not exactly the same:
-
+
Before: [gid1166=3+991|gid1142=0+737|gid5798=0+1434]
After: [gid1166=3+991|gid1142=0@402,-26+0|gid5798=0+1434]
Uniscribe: [gid1166=3+991|gid1142=0@348,0+0|gid5798=0+1434]
@@ -47235,13 +46572,11 @@ commit 1a0f4aa6dfee69236b422f7c8825eff940f45c19
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 22 13:33:54 2016 -0600
- Revert "Synthesize GDEF glyph class for any glyph that does not have
- one in GDEF"
-
+ Revert "Synthesize GDEF glyph class for any glyph that does not have one in GDEF"
+
This reverts commit 69f9fbc4200442a35484d3c790ae8f4979be5d60.
-
- See
- https://github.com/behdad/harfbuzz/issues/347#issuecomment-268873401
+
+ See https://github.com/behdad/harfbuzz/issues/347#issuecomment-268873401
Fixes https://github.com/behdad/harfbuzz/issues/347
src/hb-ot-layout-gsub-table.hh | 22 ++--------------------
@@ -47253,15 +46588,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 21 23:10:43 2016 -0600
Fix assert fail with contextual matching
-
+
As discovered by libFuzzer / Chromium fuzzing.
-
+
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=659496
CC https://github.com/behdad/harfbuzz/issues/139
src/hb-ot-layout-gsubgpos-private.hh | 6 +++++-
- .../sha1sum/217a934cfe15c548b572c203dceb2befdf026462.ttf | Bin 0 ->
- 1384 bytes
+ .../sha1sum/217a934cfe15c548b572c203dceb2befdf026462.ttf | Bin 0 -> 1384 bytes
test/shaping/tests/fuzzed.tests | 1 +
3 files changed, 6 insertions(+), 1 deletion(-)
@@ -47279,7 +46613,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 21 15:51:28 2016 -0600
Avoid infinite loop in CoverageFormat2 iteration with bad fonts
-
+
Fixes https://github.com/behdad/harfbuzz/issues/363
src/hb-ot-layout-common-private.hh | 29 ++++++++++++++++++-----------
@@ -47310,11 +46644,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Dec 20 15:01:16 2016 -0600
Protect collect_glyphs() and closure() against malicious DDOS fonts
-
+
Fixes https://github.com/behdad/harfbuzz/issues/363
- src/hb-ot-layout-gsub-table.hh | 58
- ++++++++++++++++++++++++++++++++++--------
+ src/hb-ot-layout-gsub-table.hh | 58 ++++++++++++++++++++++++++++++++++--------
1 file changed, 48 insertions(+), 10 deletions(-)
commit 1c98ff87c76536553e53c131e75aba33033ee3a0
@@ -47322,23 +46655,23 @@ Author: Mike Hommey <mh@glandium.org>
Date: Fri Sep 30 18:15:37 2016 +0900
Support building with older glib versions
-
+
It is desirable to be able to build against older versions of glib.
-
+
fd7a245 changed the configure check to require glib > 2.38 for
G_TEST_DIST. Before that, version 2.16 was required, but in fact,
since aafe395, G_PASTE is being used, which was introduced in 2.19.1.
And since 0ef179e2, hb-glib uses GBytes, which were introduced in
2.31.10.
-
+
2.19.1 is rather old, but 2.38 is rather new. For Firefox, building
against 2.22 is still supported, although we could probably get away
with bumping that to 2.28. Either way, GBytes is not available.
-
+
Arguably, if you build against a glib that doesn't support GBytes,
you're not going to use the hb_glib_blob_create function, so we hide
the function when building against such a glib.
-
+
As for G_TEST_DIST, when building against versions of glib that don't
support it, we can fallback to the previous behavior, which, AIUI, was
just making the test not work when building in a separate directory.
@@ -47354,7 +46687,7 @@ Author: Volker H. Simonis <volker.simonis@gmail.com>
Date: Wed Dec 14 18:56:17 2016 +0100
Minor fixes to pacify Coverity code scan
-
+
Fixes https://github.com/behdad/harfbuzz/pull/377
src/hb-ot-font.cc | 6 +++++-
@@ -47367,8 +46700,7 @@ Date: Sat Dec 17 10:30:40 2016 +0330
[dwrite] Provide an experimental API for justification (#279)
- src/hb-directwrite.cc | 48
- ++++++++++++++++++++++++++++++++++++++++--------
+ src/hb-directwrite.cc | 48 ++++++++++++++++++++++++++++++++++++++++--------
src/hb-directwrite.h | 4 ++++
2 files changed, 44 insertions(+), 8 deletions(-)
@@ -47438,7 +46770,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Sep 10 04:52:34 2016 -0700
[GX] Make FeatureVariations actually work
-
+
Yay!!!!
src/hb-ot-layout-common-private.hh | 19 +++++++------------
@@ -47450,7 +46782,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Sep 10 03:57:24 2016 -0700
[GX] Hook up feature variations
-
+
Shape-plan caching is not implemented.
src/hb-coretext.cc | 8 +++-
@@ -47463,8 +46795,7 @@ Date: Sat Sep 10 03:57:24 2016 -0700
src/hb-ot-shape-private.hh | 6 ++-
src/hb-ot-shape.cc | 9 ++--
src/hb-shape-plan-private.hh | 9 +++-
- src/hb-shape-plan.cc | 102
- +++++++++++++++++++++++++++++++++++++++----
+ src/hb-shape-plan.cc | 102 +++++++++++++++++++++++++++++++++++++++----
src/hb-shape-plan.h | 19 ++++++++
src/hb-shape.cc | 5 ++-
src/hb-uniscribe.cc | 4 +-
@@ -47500,8 +46831,7 @@ Date: Sat Sep 10 02:44:20 2016 -0700
Shuffle code around
- src/hb-ot-map.cc | 81
- ++++++++++++++++++++++++++++----------------------------
+ src/hb-ot-map.cc | 81 ++++++++++++++++++++++++++++----------------------------
1 file changed, 41 insertions(+), 40 deletions(-)
commit bde5e3959c0ffdb92db87668035b01aaee9b2352
@@ -47509,7 +46839,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Sep 10 02:43:20 2016 -0700
Move add_lookups from map to map-builder
-
+
In prep for more changes.
src/hb-ot-map-private.hh | 15 ++++++++-------
@@ -47521,7 +46851,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Sep 10 02:11:05 2016 -0700
[GX] Remove (partial) support for anisotropic variations
-
+
It doesn't always work, not part of FreeType, and we were not going
to expose it in the API anyway. Can always be added later.
@@ -47544,11 +46874,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Sep 10 01:24:28 2016 -0700
[GX] Implement Feature Variations
-
+
Not hooked up to shaper yet.
- src/hb-ot-layout-common-private.hh | 168
- ++++++++++++++++++++++++++++++++++-
+ src/hb-ot-layout-common-private.hh | 168 ++++++++++++++++++++++++++++++++++-
src/hb-ot-layout-gdef-table.hh | 1 -
src/hb-ot-layout-gpos-table.hh | 2 -
src/hb-ot-layout-gsub-table.hh | 2 -
@@ -47560,7 +46889,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Sep 10 00:25:16 2016 -0700
[GX] Fix another x/y thinko
-
+
Thanks Werner!
src/hb-ot-layout-common-private.hh | 2 +-
@@ -47583,13 +46912,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Sep 10 00:01:10 2016 -0700
[GX] Fix build with some compilers
-
- Eg.
- https://ci.appveyor.com/project/behdad/harfbuzz/build/1.0.48/job/o9mnd33kcdeeg30r
-
- hb-open-type-private.hh:103:29: error: static data member
- 'OT::Device::<anonymous union>::<anonymous struct>::static_size'
- in unnamed class [-fpermissive]
+
+ Eg. https://ci.appveyor.com/project/behdad/harfbuzz/build/1.0.48/job/o9mnd33kcdeeg30r
+
+ hb-open-type-private.hh:103:29: error: static data member 'OT::Device::<anonymous union>::<anonymous struct>::static_size' in unnamed class [-fpermissive]
src/hb-ot-layout-common-private.hh | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
@@ -47618,7 +46944,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 9 22:23:34 2016 -0700
[GX] Add new API hb_font_set_var_coords_normalized()
-
+
Will probably change.
src/hb-font.cc | 23 +++++++++++++++++++++++
@@ -47630,13 +46956,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 9 17:03:11 2016 -0700
[GX] Hook up GPOS to Variation Store stored in GDEF
-
+
Untested.
src/hb-ot-layout-common-private.hh | 22 ++++++++++----------
src/hb-ot-layout-gdef-table.hh | 27 +++++++++++++++---------
- src/hb-ot-layout-gpos-table.hh | 40
- ++++++++++++++++--------------------
+ src/hb-ot-layout-gpos-table.hh | 40 ++++++++++++++++--------------------
src/hb-ot-layout-gsubgpos-private.hh | 2 ++
4 files changed, 48 insertions(+), 43 deletions(-)
@@ -47654,11 +46979,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 9 16:27:03 2016 -0700
[GX] Pass apply-context down to get_anchor()
-
+
Needed to access GDEF for varStore.
- src/hb-ot-layout-gpos-table.hh | 57
- ++++++++++++++++++++++--------------------
+ src/hb-ot-layout-gpos-table.hh | 57 ++++++++++++++++++++++--------------------
1 file changed, 30 insertions(+), 27 deletions(-)
commit f0c3fd8c9ab402be923fe0845fb51d99841829b6
@@ -47666,7 +46990,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 9 16:22:45 2016 -0700
[GX] Add varStore member to GDEF
-
+
Still not hooked up from GPOS.
src/hb-ot-layout-gdef-table.hh | 17 ++++++++++++++---
@@ -47686,11 +47010,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 9 15:40:15 2016 -0700
[GX] Port variation stuff to Variation Store design
-
+
Not hooked up to GDEF yet.
- src/hb-ot-layout-common-private.hh | 294
- +++++++++++++++++++++++--------------
+ src/hb-ot-layout-common-private.hh | 294 +++++++++++++++++++++++--------------
src/hb-ot-layout-gpos-table.hh | 2 +-
2 files changed, 184 insertions(+), 112 deletions(-)
@@ -47707,15 +47030,13 @@ commit 8dddc231cf9d934eb93a39f2657717cbdad43a64
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 9 13:17:33 2016 -0700
- [GX] Revert "[GX] Add VariationAlternates, to allow conditional
- lookups in GSUB/GPOS"
-
+ [GX] Revert "[GX] Add VariationAlternates, to allow conditional lookups in GSUB/GPOS"
+
This reverts commit 2859f1c7174d6f7ae5dcf0db5411bc0182b21594.
We are going in a different direction.
src/hb-open-type-private.hh | 1 -
- src/hb-ot-layout-common-private.hh | 99
- +-------------------------------------
+ src/hb-ot-layout-common-private.hh | 99 +-------------------------------------
2 files changed, 2 insertions(+), 98 deletions(-)
commit bb4d2e6ed562c248fff15313a013d49e38a18789
@@ -47732,26 +47053,23 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Mar 18 15:52:24 2016 -0700
[GX] Add compact VariationDevice implementation
-
+
Add compact format that uses signed bytes instead of shorts.
src/hb-open-type-private.hh | 1 +
- src/hb-ot-layout-common-private.hh | 35
- ++++++++++++++++++++++++-----------
+ src/hb-ot-layout-common-private.hh | 35 ++++++++++++++++++++++++-----------
2 files changed, 25 insertions(+), 11 deletions(-)
commit 71b06fd392680b6fcfece60d8a83ba6c56eada09
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Mar 12 23:49:09 2016 -0800
- [GX] Add VariationAlternates, to allow conditional lookups in
- GSUB/GPOS
-
+ [GX] Add VariationAlternates, to allow conditional lookups in GSUB/GPOS
+
Not hooked up to runtime yet.
src/hb-open-type-private.hh | 1 +
- src/hb-ot-layout-common-private.hh | 99
- +++++++++++++++++++++++++++++++++++++-
+ src/hb-ot-layout-common-private.hh | 99 +++++++++++++++++++++++++++++++++++++-
2 files changed, 98 insertions(+), 2 deletions(-)
commit 976eeb8e025e2b7601a91e661d6e9a88bf8afbd2
@@ -47787,8 +47105,7 @@ Date: Wed Mar 2 12:21:36 2016 +0900
[GX] Hookup VariationDevice to Device table implementation
- src/hb-ot-layout-common-private.hh | 65
- +++++++++++++++++++++++++++++++++++++-
+ src/hb-ot-layout-common-private.hh | 65 +++++++++++++++++++++++++++++++++++++-
1 file changed, 64 insertions(+), 1 deletion(-)
commit a0c2366075fcb894212b9bf137e4dd34bb65537c
@@ -47796,7 +47113,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Mar 1 19:42:24 2016 +0900
[GX] Break out early if factor is zero
-
+
Also disable sanity-checking of variation records.
src/hb-ot-layout-common-private.hh | 9 ++++++++-
@@ -47807,7 +47124,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Mar 1 19:29:36 2016 +0900
[GX] Towards anisotropic interpolation
-
+
Also hookup to ValueRecord and Anchors.
src/hb-font-private.hh | 5 +++--
@@ -47824,8 +47141,7 @@ Date: Tue Mar 1 19:12:08 2016 +0900
src/hb-font-private.hh | 10 ++++
src/hb-font.cc | 3 +
- src/hb-ot-layout-common-private.hh | 113
- +++++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout-common-private.hh | 113 +++++++++++++++++++++++++++++++++++++
3 files changed, 126 insertions(+)
commit b843c6d8b66c2833cd35407ee494546465e6d775
@@ -47843,7 +47159,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 4 20:28:38 2016 -0800
[hb-fuzzer] Get glyph extents for output glyphs
-
+
To exercise glyph-extents codepaths (glyf / CBLC+CBDT).
test/fuzzing/hb-fuzzer.cc | 13 +++++++++++++
@@ -47856,8 +47172,7 @@ Date: Sun Dec 4 19:55:17 2016 -0800
[CBDT] Add test for fetching glyph extents
test/shaping/Makefile.am | 1 +
- .../sha1sum/ee39587d13b2afa5499cc79e45780aa79293bbd4.ttf | Bin 0 ->
- 3724 bytes
+ .../sha1sum/ee39587d13b2afa5499cc79e45780aa79293bbd4.ttf | Bin 0 -> 3724 bytes
test/shaping/tests/color-fonts.tests | 1 +
3 files changed, 2 insertions(+)
@@ -47895,8 +47210,7 @@ Date: Sun Dec 4 19:12:52 2016 -0800
[cbdt] Move some more code around
- src/hb-ot-cbdt-table.hh | 61
- ++++++++++++++++++++++++++++++++++---------------
+ src/hb-ot-cbdt-table.hh | 61 ++++++++++++++++++++++++++++++++++---------------
src/hb-ot-font.cc | 18 ++++++---------
2 files changed, 49 insertions(+), 30 deletions(-)
@@ -47905,7 +47219,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 4 18:56:24 2016 -0800
[cbdt] Fix sign bug
-
+
Was introduced in d495fc5e38038f4cfb20425b1109324fa70bf2f9
src/hb-ot-cbdt-table.hh | 2 +-
@@ -47916,7 +47230,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Dec 2 22:43:05 2016 -0800
[cbdt] Last of sanitization fixes
-
+
Should be all good now..
src/hb-ot-font.cc | 23 ++++++++++++++++-------
@@ -47927,11 +47241,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Dec 2 21:36:42 2016 -0800
[cbdt] Clean up some more
-
+
Almost there..
- src/hb-ot-cbdt-table.hh | 134
- +++++++++++++++++++++++++++++++++++++++++++-----
+ src/hb-ot-cbdt-table.hh | 134 +++++++++++++++++++++++++++++++++++++++++++-----
src/hb-ot-font.cc | 38 ++++----------
2 files changed, 131 insertions(+), 41 deletions(-)
@@ -47941,8 +47254,7 @@ Date: Fri Dec 2 20:12:57 2016 -0800
[cbdt] More sanitize work
- src/hb-ot-cbdt-table.hh | 65
- +++++++++++++++++++++++++++++--------------------
+ src/hb-ot-cbdt-table.hh | 65 +++++++++++++++++++++++++++++--------------------
src/hb-ot-font.cc | 46 ++++++++++++++++++----------------
2 files changed, 63 insertions(+), 48 deletions(-)
@@ -47961,8 +47273,7 @@ Date: Fri Dec 2 19:25:54 2016 -0800
[cbdt] Start fixing sanitization (or lack thereof)
- src/hb-ot-cbdt-table.hh | 77
- ++++++++++++++++++++++++++++++++++++-------------
+ src/hb-ot-cbdt-table.hh | 77 ++++++++++++++++++++++++++++++++++++-------------
src/hb-ot-font.cc | 22 +++++++-------
2 files changed, 68 insertions(+), 31 deletions(-)
@@ -47992,14 +47303,13 @@ Author: Seigo Nonaka <nona@google.com>
Date: Fri Dec 2 15:03:50 2016 -0800
Introduce get_extent support for color bitmap font. (#351)
-
+
hb_font_get_glyph_extents now works for color bitmap fonts.
Currently only font having index format 1 and image format 17
is supported.
src/Makefile.sources | 1 +
- src/hb-ot-ebdt-table.hh | 193
- ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-ebdt-table.hh | 193 ++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-font.cc | 96 ++++++++++++++++++++++++
3 files changed, 290 insertions(+)
@@ -48007,8 +47317,7 @@ commit 261837e7202ec584f653f379851e1c6457396b07
Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Fri Oct 28 21:49:11 2016 +0330
- Fix "nmake install" when ADDITIONAL_LIB_DIR is provided and test it
- on CI (#356)
+ Fix "nmake install" when ADDITIONAL_LIB_DIR is provided and test it on CI (#356)
appveyor.yml | 1 +
win32/detectenv-msvc.mak | 4 ++--
@@ -48021,8 +47330,7 @@ Date: Wed Oct 26 18:27:48 2016 +0200
[tests] Add tests for vertical origin with ft and ot font-funcs
- .../sha1sum/f9b1dd4dcb515e757789a22cb4241107746fd3d0.ttf | Bin 0 ->
- 1004 bytes
+ .../sha1sum/f9b1dd4dcb515e757789a22cb4241107746fd3d0.ttf | Bin 0 -> 1004 bytes
test/shaping/tests/vertical.tests | 2 ++
2 files changed, 2 insertions(+)
@@ -48059,8 +47367,7 @@ Date: Wed Oct 26 17:44:16 2016 +0200
Fix vertical glyph origin with hb-ot-font
- src/hb-font-private.hh | 51
- ++++++++++++++++++++++++++++----------------------
+ src/hb-font-private.hh | 51 ++++++++++++++++++++++++++++----------------------
1 file changed, 29 insertions(+), 22 deletions(-)
commit b3b0816d5fc00298621f738cf400de60f8a42c5d
@@ -48068,7 +47375,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 26 17:19:07 2016 +0200
Fix vertical font metrics
-
+
Ouch!
src/hb-font-private.hh | 4 ++--
@@ -48118,7 +47425,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Tue Oct 25 00:31:36 2016 +0300
Merge pull request #352 from fred-wang/makefile-am
-
+
Remove inexistent file ttx file from test/api/Makefile.am
commit c3fa5d0e03b57be131c66ea8720806c946d0e10f
@@ -48136,7 +47443,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sat Oct 22 12:23:05 2016 +0330
Merge pull request #349 from ebraminio/mergebackvcpkgpatches
-
+
[ci] Enable hb-freetype on Windows build tests
commit 755a0c20798e3c3e6bb933a28e38f9667fccdadc
@@ -48164,7 +47471,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Fri Oct 14 13:54:55 2016 +0330
Merge pull request #340 from ebraminio/nouniscribe
-
+
Make Uniscribe optional on nmake win32 builds
commit d8e2eb9ee0f47af7e90056d8db5949d10a88786a
@@ -48172,15 +47479,12 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Sun Oct 9 09:06:05 2016 +0330
Make Uniscribe optional on nmake win32 builds
-
- Most of harfbuzz clients don't need Uniscribe and DirectWrite support
- at all
- as harfbuzz is a replacement for Uniscribe so Chromium and Firefox
- are using
+
+ Most of harfbuzz clients don't need Uniscribe and DirectWrite support at all
+ as harfbuzz is a replacement for Uniscribe so Chromium and Firefox are using
harfbuzz without them on Windows.
-
- This removal also helps win32 nmake clients to have reduced binary
- size and
+
+ This removal also helps win32 nmake clients to have reduced binary size and
libs count.
appveyor.yml | 2 +-
@@ -48195,7 +47499,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 11 13:45:22 2016 -0700
Fix configure on iOS
-
+
Fixes https://github.com/behdad/harfbuzz/issues/342
configure.ac | 3 ++-
@@ -48207,7 +47511,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Oct 11 17:23:41 2016 +0330
Merge pull request #344 from ebraminio/fixmacci
-
+
[ci] Whitelist more symbols and unbreak mac CI
commit bef240b36ee9086b0d92e351e4c5118c0bbb5df6
@@ -48215,7 +47519,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Mon Oct 10 17:27:52 2016 +0330
[ci] Whitelist more symbols and unbreak mac CI
-
+
Thanks to @khaledhosny, actually this is his work :)
src/check-symbols.sh | 4 ++--
@@ -48226,7 +47530,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 4 14:53:17 2016 -0700
LFS (large file system?) support in hb-*shap*, hb-view
-
+
Fixes https://github.com/behdad/harfbuzz/issues/336
configure.ac | 3 +++
@@ -48277,7 +47581,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 27 17:15:59 2016 +0200
Merge branch 'math'
-
+
Supercedes https://github.com/behdad/harfbuzz/pull/326
Fixes https://github.com/behdad/harfbuzz/pull/331
@@ -48296,7 +47600,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 27 16:44:22 2016 +0200
[MATH] Rename hb_math_*_t types to hb_ot_math_*_t
-
+
With this, I believe MATH table API is not ready to be merged.
docs/harfbuzz-sections.txt | 6 +++---
@@ -48322,8 +47626,7 @@ Date: Tue Sep 27 15:28:35 2016 +0200
Document API for MathVariants (#330)
- src/hb-ot-layout.cc | 56
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout.cc | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 56 insertions(+)
commit 8d622f1114d6a0eca1786b94c7fc1a0bcd87f74b
@@ -48332,8 +47635,7 @@ Date: Tue Sep 27 13:53:34 2016 +0200
Add tests for get_mathvariant (#329)
- test/api/test-ot-math.c | 160
- ++++++++++++++++++++++++++++++++++++++++++++++++
+ test/api/test-ot-math.c | 160 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 160 insertions(+)
commit f73a87d9a8c76a181794b74b527ea268048f78e3
@@ -48352,8 +47654,7 @@ Date: Tue Sep 27 13:18:00 2016 +0200
Add tests for hb_ot_math_get_glyph_variants (#328)
- test/api/test-ot-math.c | 126
- ++++++++++++++++++++++++++++++++++++++++++++++++
+ test/api/test-ot-math.c | 126 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 126 insertions(+)
commit f16bf6c2dacf5b9c82b2d1ffacc092cc396189a7
@@ -48378,12 +47679,9 @@ commit edcfa789bf92c18f5badad31c0ad04a6a77d7226
Author: Frédéric Wang <fred.wang@free.fr>
Date: Tue Sep 27 11:02:08 2016 +0200
- test-ot-math: Use different scales for vertical
- and horizontal directions and add test for
- hb_ot_math_get_min_connector_overlap. (#327)
+ test-ot-math: Use different scales for vertical and horizontal directions and add test for hb_ot_math_get_min_connector_overlap. (#327)
- test/api/test-ot-math.c | 81
- ++++++++++++++++++++++++++++++-------------------
+ test/api/test-ot-math.c | 81 ++++++++++++++++++++++++++++++-------------------
1 file changed, 49 insertions(+), 32 deletions(-)
commit bc19f7fe20e89823dba07a46c3d48c7406b781b6
@@ -48401,8 +47699,7 @@ Date: Mon Sep 26 22:18:41 2016 +0200
[MATH] Enable tests for glyph-assembly italics-correction
- test/api/test-ot-math.c | 49
- ++++++++++++++++++++++++++++++-------------------
+ test/api/test-ot-math.c | 49 ++++++++++++++++++++++++++++++-------------------
1 file changed, 30 insertions(+), 19 deletions(-)
commit 86106c7528d9bff8de6bc3e1487be780c31ea4fd
@@ -48415,10 +47712,8 @@ Date: Mon Sep 26 22:12:48 2016 +0200
src/hb-ot-layout.cc | 69 ++++----
src/hb-ot-math.h | 56 +++---
test/api/Makefile.am | 6 +-
- test/api/test-ot-layout-math.c | 382
- -----------------------------------------
- test/api/test-ot-math.c | 381
- ++++++++++++++++++++++++++++++++++++++++
+ test/api/test-ot-layout-math.c | 382 -----------------------------------------
+ test/api/test-ot-math.c | 381 ++++++++++++++++++++++++++++++++++++++++
6 files changed, 447 insertions(+), 457 deletions(-)
commit 1ba767cd4e3606beb9dc59806b83b1e61f5958d4
@@ -48427,10 +47722,8 @@ Date: Mon Sep 26 21:57:14 2016 +0200
[MATH] Move API from hb-ot-layout.h to hb-ot-math.h
- src/hb-ot-layout.h | 52
- --------------------------------------------------
- src/hb-ot-math.h | 56
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout.h | 52 --------------------------------------------------
+ src/hb-ot-math.h | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot.h | 1 +
3 files changed, 57 insertions(+), 52 deletions(-)
@@ -48449,8 +47742,7 @@ Date: Mon Sep 26 21:46:05 2016 +0200
[MATH] Wire up get_glyph_assembly()
- src/hb-ot-layout-math-table.hh | 64
- ++++++++++++++++++++++++++++++++++++++----
+ src/hb-ot-layout-math-table.hh | 64 ++++++++++++++++++++++++++++++++++++++----
src/hb-ot-layout.cc | 26 +++++++++--------
src/hb-ot-layout.h | 14 ++++-----
3 files changed, 81 insertions(+), 23 deletions(-)
@@ -48462,8 +47754,7 @@ Date: Mon Sep 26 21:22:48 2016 +0200
[MATH] Wire up get_glyph_variants()
src/hb-font-private.hh | 11 ++-
- src/hb-ot-layout-math-table.hh | 178
- +++++++++++++++++++----------------------
+ src/hb-ot-layout-math-table.hh | 178 +++++++++++++++++++----------------------
src/hb-ot-layout.cc | 7 +-
src/hb-ot-layout.h | 2 +-
4 files changed, 95 insertions(+), 103 deletions(-)
@@ -48476,8 +47767,7 @@ Date: Mon Sep 26 17:51:47 2016 +0100
src/hb-font-private.hh | 4 +++
src/hb-ot-layout-math-table.hh | 10 ++----
- src/hb-ot-layout.cc | 73
- +++++++++++++++---------------------------
+ src/hb-ot-layout.cc | 73 +++++++++++++++---------------------------
src/hb-ot-layout.h | 20 ++++++++++++
src/hb-ot-math.h | 18 +++++++++++
5 files changed, 71 insertions(+), 54 deletions(-)
@@ -48497,8 +47787,7 @@ Date: Thu Aug 25 11:17:50 2016 +0200
MATH table: Add API to access math variants.
- src/hb-ot-layout-math-table.hh | 253
- +++++++++++++++++++++++++++++++-
+ src/hb-ot-layout-math-table.hh | 253 +++++++++++++++++++++++++++++++-
src/hb-ot-layout-private.hh | 10 ++
src/hb-ot-layout.cc | 54 +++++++
test/api/fonts/MathTestFontPartial4.otf | Bin 0 -> 14360 bytes
@@ -48539,7 +47828,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 26 12:18:32 2016 +0100
[MATH] Clean up get_top_accent_attachment()
-
+
Note, the function now returns "half of horizontal advance width"
if top accent attachment for glyph is not explicitly defined.
This is what the spec requires. Updated tests.
@@ -48568,8 +47857,7 @@ Date: Mon Sep 26 12:07:29 2016 +0100
[MATH] Clean up a bit more
src/hb-ot-layout-math-table.hh | 12 +--------
- src/hb-ot-layout.cc | 57
- ++++++++++++++++--------------------------
+ src/hb-ot-layout.cc | 57 ++++++++++++++++--------------------------
2 files changed, 22 insertions(+), 47 deletions(-)
commit 54c0cc38fba24fa4370231408ba121589b190a28
@@ -48588,8 +47876,7 @@ Date: Mon Sep 26 11:47:05 2016 +0100
[MATH] Cleanup previous commit a bit
- src/hb-ot-layout-math-table.hh | 186
- ++++++++++++++++++++---------------------
+ src/hb-ot-layout-math-table.hh | 186 ++++++++++++++++++++---------------------
src/hb-ot-layout.cc | 30 +++----
src/hb-ot-layout.h | 14 ++--
3 files changed, 113 insertions(+), 117 deletions(-)
@@ -48600,8 +47887,7 @@ Date: Thu Aug 25 11:15:31 2016 +0200
MATH Table: Add API to access glyph info.
- src/hb-ot-layout-math-table.hh | 271
- +++++++++++++++++++++++++++++++-
+ src/hb-ot-layout-math-table.hh | 271 +++++++++++++++++++++++++++++++-
src/hb-ot-layout.cc | 114 ++++++++++++++
src/hb-ot-layout.h | 18 +++
src/hb-ot-math.h | 7 +
@@ -48636,8 +47922,7 @@ Date: Thu Aug 25 11:06:41 2016 +0200
MATH Table: Add API to access math contants.
src/Makefile.sources | 1 +
- src/hb-ot-layout-math-table.hh | 146
- +++++++++++++++++++++++++++++++++++-
+ src/hb-ot-layout-math-table.hh | 146 +++++++++++++++++++++++++++++++++++-
src/hb-ot-layout.cc | 25 ++++++
src/hb-ot-layout.h | 5 ++
src/hb-ot-math.h | 100 ++++++++++++++++++++++++
@@ -48672,8 +47957,7 @@ Date: Thu Aug 25 10:47:15 2016 +0200
test/api/Makefile.am | 14 ++++-
test/api/fonts/MathTestFontEmpty.otf | Bin 0 -> 14320 bytes
test/api/fonts/MathTestFontNone.otf | Bin 0 -> 14284 bytes
- test/api/test-ot-layout-math.c | 98
- +++++++++++++++++++++++++++++++++++
+ test/api/test-ot-layout-math.c | 98 +++++++++++++++++++++++++++++++++++
9 files changed, 227 insertions(+), 1 deletion(-)
commit 02bfd965af588640250c47f344ad3096c8a373e0
@@ -48681,7 +47965,7 @@ Author: Gregory Morse <gregory.morse@live.com>
Date: Mon Sep 12 10:22:15 2016 +0200
Update detectenv-msvc.mak (#316)
-
+
Windows x86 ARM capability
win32/detectenv-msvc.mak | 3 +++
@@ -48720,7 +48004,7 @@ Author: Dominik Röttsches <d-r@roettsches.de>
Date: Wed Sep 7 23:56:57 2016 +0300
Do reconfigure the cascade list for Emoji font on OS X 10.9.5 (#313)
-
+
This seems to fix crash issues on 10.9.5 reported on Chrome, compare
crbug.com/549610
@@ -48732,7 +48016,7 @@ Author: Dominik Röttsches <d-r@roettsches.de>
Date: Mon Sep 5 11:27:25 2016 +0300
Blacklist Padauk 2.80 and 3.00 (#311)
-
+
According to comments in issue #305 broken GDEF tables lead
to incorrect rendering of Latin characters. Blacklisting
this font.
@@ -48784,7 +48068,7 @@ Author: Sascha Brawer <sascha@brawer.ch>
Date: Thu Aug 18 22:33:14 2016 +0200
Merge pull request #303 from behdad/fonnapa
-
+
Support Americanist Phonetic Notation
commit e7ecbba2cc3c9369c5e7dc7296cb210018aca3bb
@@ -48792,10 +48076,10 @@ Author: Sascha Brawer <sascha@brawer.ch>
Date: Thu Aug 18 12:48:38 2016 +0200
Support Americanist Phonetic Notation
-
+
OpenType language system tag: `APPH`
https://www.microsoft.com/typography/otspec/languagetags.htm
-
+
IETF BCP47 variant tag: `fonnapa`
http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
@@ -48809,7 +48093,7 @@ Author: Sascha Brawer <sascha@brawer.ch>
Date: Thu Aug 18 13:59:38 2016 +0200
Merge pull request #302 from khaledhosny/master
-
+
[travis] Fix MacOS libtool issue
commit a0f1b44b6c0e3b1e6a1ba63dde2be22e0425353f
@@ -48826,7 +48110,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Tue Aug 16 02:49:48 2016 +0200
[travis] Fix MacOS libtool issue
-
+
Reveals another MacOS build breakage in the Core Text shaper.
.travis.yml | 1 +
@@ -48855,13 +48139,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 8 18:06:09 2016 -0700
Add tests for Chinese language tags
-
+
Using font from https://github.com/behdad/harfbuzz/issues/300
- .../sha1sum/6991b13ce889466be6de3f66e891de2bc0f117ee.ttf | Bin 0 ->
- 5596 bytes
- test/shaping/tests/language-tags.tests | 12
- ++++++++++++
+ .../sha1sum/6991b13ce889466be6de3f66e891de2bc0f117ee.ttf | Bin 0 -> 5596 bytes
+ test/shaping/tests/language-tags.tests | 12 ++++++++++++
2 files changed, 12 insertions(+)
commit 37f21bdbb75c98d741e749b7f1e0f367941aef4e
@@ -48869,7 +48151,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 8 17:57:06 2016 -0700
Map Macao to ZHH lang tag
-
+
Fixes https://github.com/behdad/harfbuzz/issues/300
src/hb-ot-tag.cc | 3 ++-
@@ -48880,10 +48162,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 8 17:28:54 2016 -0700
Limit bits-per-feature to eight
-
+
Limits number of alternatives per glyph per feature to 255, so be it.
- That's better than possibly breaking shaping because of one bad
- feature
+ That's better than possibly breaking shaping because of one bad feature
value.
src/hb-ot-map.cc | 3 ++-
@@ -48894,14 +48175,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 8 17:24:04 2016 -0700
Fix sign of shift operators
-
+
This one:
-
+
map->mask = (1 << (next_bit + bits_needed)) - (1 << next_bit);
-
+
before the fix, the shift was done as an int, causing overflow
if it ever got to 1 << 31. Sprinkle 'u's around.
-
+
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=634805
src/hb-buffer-private.hh | 6 +++---
@@ -48921,7 +48202,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 8 16:51:08 2016 -0700
Map zh-Hant-HK to ZHH
-
+
Fixes https://github.com/behdad/harfbuzz/issues/300
src/hb-ot-tag.cc | 4 +++-
@@ -48932,7 +48213,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Fri Jul 22 02:26:54 2016 +0300
Don’t build UCDN support when building with GLib (#296)
-
+
Regression from: b424b6c372dfe4c0ed75a49761eb34a416819446.
configure.ac | 2 +-
@@ -48943,7 +48224,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 22 17:41:43 2016 -0700
[coretext] "Fix" crashes on CoreText < 10.10
-
+
Fixes https://github.com/behdad/harfbuzz/issues/297
src/hb-coretext.cc | 8 ++++++++
@@ -48964,15 +48245,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 21 01:23:33 2016 -0700
[ucdn] Update to Unicode 9.0.0
-
+
Fixes https://github.com/grigorig/ucdn/issues/12
src/hb-ucdn.cc | 6 +
src/hb-ucdn/README | 1 -
src/hb-ucdn/ucdn.c | 80 +-
src/hb-ucdn/ucdn.h | 98 +-
- src/hb-ucdn/unicodedata_db.h | 4750
- +++++++++++++++++++++++-------------------
+ src/hb-ucdn/unicodedata_db.h | 4750 +++++++++++++++++++++++-------------------
5 files changed, 2783 insertions(+), 2152 deletions(-)
commit f3f6c1ccbf89e15cda03e0c3a2df4297e98adf60
@@ -48980,21 +48260,16 @@ Author: jfkthame <jfkthame@gmail.com>
Date: Thu Jun 16 00:10:42 2016 +0100
Blacklist GDEF tables of more fonts
-
- This is based on bug reports that have been filed against Firefox
- since it
- updated to a version of harfbuzz that uses zeroing by GDEF rather
- than by
- Unicode. I'm sure there are a bunch more font versions that should
- also be
- included; these are just the ones I have on hand and have confirmed
- as having
+
+ This is based on bug reports that have been filed against Firefox since it
+ updated to a version of harfbuzz that uses zeroing by GDEF rather than by
+ Unicode. I'm sure there are a bunch more font versions that should also be
+ included; these are just the ones I have on hand and have confirmed as having
bad GDEF data.
-
- Given how the list here is growing, I think we should reconsider
- the approach,
+
+ Given how the list here is growing, I think we should reconsider the approach,
and perhaps revert to zeroing by Unicode instead.
-
+
Fixes https://github.com/behdad/harfbuzz/issues/264
Fixes https://github.com/behdad/harfbuzz/pull/266
@@ -49006,7 +48281,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 20 02:35:54 2016 -0700
Implement symbol cmap in ft and ot fonts
-
+
Fixes https://github.com/behdad/harfbuzz/issues/236
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=627953
@@ -49019,7 +48294,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 20 01:43:56 2016 -0700
Clean up buffer area when rewinding
-
+
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=614647
If allocation fails, we might be leaving junk behind. At least
clear it up.
@@ -49049,13 +48324,10 @@ commit 6bf9db4f1e1d51f9acb5e37b89caa8f4d275e7ce
Author: Birunthan Mohanathas <birunthan@mohanathas.com>
Date: Mon Jul 11 13:38:23 2016 -0700
- [ft] Fix unsafe cast of FT_Done_Face in
- hb_ft_{face,font}_create_referenced (#289)
-
- Prior to this change the function `FT_Error FT_Done_Face(FT_Face
- *)` was
- called through a pointer with the signature `void (void *)`
- resulting in
+ [ft] Fix unsafe cast of FT_Done_Face in hb_ft_{face,font}_create_referenced (#289)
+
+ Prior to this change the function `FT_Error FT_Done_Face(FT_Face *)` was
+ called through a pointer with the signature `void (void *)` resulting in
undefined behaviour.
src/hb-ft.cc | 12 +++++++++---
@@ -49076,7 +48348,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 1 17:09:28 2016 -0700
Merge pull request #286 from khaledhosny/gi-tag_from_string
-
+
[introspection] Fix hb_tag_from_string annotation
commit e4d451ee55a57e1231b4076fcd1e87994f6b9528
@@ -49093,7 +48365,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jun 30 11:01:22 2016 -0700
[python] Use utf-32 / utf-16 based on build of Python
-
+
Fixes https://github.com/behdad/harfbuzz/pull/271
src/sample.py | 22 +++++++++++++++++++++-
@@ -49114,7 +48386,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jun 30 09:41:03 2016 -0700
Merge pull request #268 from drott/conflictingFontFix
-
+
Discard reconfigured CTFont if URL changes
commit 1bea49eb4b7a94ab6222f9c3c40320cbdb247b2d
@@ -49129,7 +48401,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 28 21:00:37 2016 -0700
[gobject] Fix a few warnings
-
+
Part of https://github.com/behdad/harfbuzz/issues/277
src/hb-buffer.cc | 2 +-
@@ -49144,7 +48416,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 28 21:15:28 2016 -0700
Merge pull request #280 from behdad/revert-271-patch-2
-
+
Revert "use utf32"
commit ae9054c740631e36b7582b44c5afb42ff4509461
@@ -49169,7 +48441,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jun 27 14:33:27 2016 -0400
Merge pull request #273 from ebraminio/master
-
+
[dwrite] Use stream font loader instead GDI interop
commit 8179ff5d7ba4a140cf6743729a22072800e98a79
@@ -49177,7 +48449,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Mon Jun 27 03:54:15 2016 +0430
[dwrite] Don't allocate more than needed
-
+
Addressing Nikolay Sivov reviews on harfbuzz mailing list
src/hb-directwrite.cc | 15 ++++++---------
@@ -49188,11 +48460,11 @@ Author: Sascha Brawer <sascha@brawer.ch>
Date: Fri Jun 24 16:42:27 2016 +0200
[CPAL] Return 0xFFFF as name id for unnamed palettes
-
+
The name id 0 is used as Copyright notice. It's quite unlikely that a
font supplies a color palette with the exact same name as the font's
copyright notice, but the API should not prevent this.
-
+
Also, try to fix a problem with GObject introspection, where the
auto-generated Python bindings could not return palette colors.
@@ -49205,7 +48477,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Fri Jun 24 12:23:25 2016 +0430
[dwrite] Delete remained objects
-
+
No longer noticeable memory increase on create/destroy iterations,
highly better than current state of uniscribe backend
@@ -49217,9 +48489,8 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Fri Jun 24 11:42:01 2016 +0430
[dwrite] Release allocated blob on face destroy
-
- This reduces memory consumption of my iterated font create/destroy
- cycle test
+
+ This reduces memory consumption of my iterated font create/destroy cycle test
significantly and makes it much better than uniscribe backend even
src/hb-directwrite.cc | 5 ++++-
@@ -49229,11 +48500,9 @@ commit f3f0ea980a359343ac0e3d359a95855c2cf7be25
Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Thu Jun 23 16:41:37 2016 +0430
- [dwrite] Remove ifdefs without breaking execution on old Windows
- versions
+ [dwrite] Remove ifdefs without breaking execution on old Windows versions
- src/hb-directwrite.cc | 205
- +++++++++++++++++++++++++-------------------------
+ src/hb-directwrite.cc | 205 +++++++++++++++++++++++++-------------------------
1 file changed, 103 insertions(+), 102 deletions(-)
commit 6b861dbd8b3662d0fa0e51fad1736d72192da868
@@ -49241,12 +48510,11 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Tue Jun 21 13:57:26 2016 +0430
[dwrite] Use stream font loader instead GDI interop
-
+
With help of
https://dxr.mozilla.org/mozilla-central/source/gfx/2d/NativeFontResourceDWrite.cpp
- src/hb-directwrite.cc | 350
- +++++++++++++++++++-------------------------------
+ src/hb-directwrite.cc | 350 +++++++++++++++++++-------------------------------
src/hb-directwrite.h | 2 +-
2 files changed, 135 insertions(+), 217 deletions(-)
@@ -49274,8 +48542,7 @@ Date: Mon Apr 25 18:20:57 2016 +0200
src/hb-ot.h | 1 +
test/api/Makefile.am | 1 +
test/api/hb-test.h | 30 ++
- test/api/test-ot-color.c | 318
- +++++++++++++++++++++
+ test/api/test-ot-color.c | 318 +++++++++++++++++++++
.../319f5d7ebffbefc5c5e6569f8cea73444d7a7268.ttf | Bin 0 -> 2128 bytes
.../e90374e5e439e00725b4fe7a8d73db57c5a97f82.ttf | Bin 0 -> 1948 bytes
14 files changed, 804 insertions(+), 1 deletion(-)
@@ -49295,7 +48562,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Sun Jun 19 00:08:51 2016 +0300
Merge pull request #270 from khaledhosny/travis-failure
-
+
Fix make check on Travis
commit 988350586f607c7a46bbb658a2abecfd004f41fb
@@ -49303,12 +48570,11 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Sat Jun 18 21:12:19 2016 +0200
[tests] Workaround Python 2 “narrow” builds
-
- The so-called Python 2 “narrow” builds support UCS2 only, this
- is a
+
+ The so-called Python 2 “narrow” builds support UCS2 only, this is a
workaround to allow unichr to work with any Unicode character in such
builds. This fixes Travis-CI failure as it has narrow Python 2 builds.
-
+
Copied from:
https://github.com/behdad/fonttools/blob/master/Lib/fontTools/misc/py23.py
@@ -49320,7 +48586,7 @@ Author: Dominik Röttsches <drott@chromium.org>
Date: Thu Jun 16 14:19:39 2016 +0200
Discard reconfigured CTFont if URL changes
-
+
Fixes https://github.com/behdad/harfbuzz/issues/267
src/hb-coretext.cc | 24 +++++++++++++++++++++---
@@ -49331,7 +48597,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jun 6 23:08:54 2016 -0700
Round, not truncate, when scaling values
-
+
Fixes https://github.com/behdad/harfbuzz/issues/255
src/hb-font-private.hh | 8 +++++++-
@@ -49342,7 +48608,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jun 6 15:58:41 2016 -0700
Change bugreport URL to github
-
+
That's where everything is happening these days.
configure.ac | 2 +-
@@ -49373,7 +48639,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 6 17:56:07 2016 +0100
[myanmar] Handle U+AA74..U+AA76
-
+
Fixes https://github.com/behdad/harfbuzz/issues/218
src/hb-ot-shape-complex-myanmar.cc | 5 +++++
@@ -49397,8 +48663,7 @@ Date: Fri May 6 17:41:49 2016 +0100
src/gen-use-table.py | 29 +++--
src/hb-ot-shape-complex-use-machine.rl | 15 +--
src/hb-ot-shape-complex-use-private.hh | 1 -
- src/hb-ot-shape-complex-use-table.cc | 142
- ++++++++++-----------
+ src/hb-ot-shape-complex-use-table.cc | 142 ++++++++++-----------
src/hb-ot-shape-complex-use.cc | 11 +-
.../6ff0fbead4462d9f229167b4e6839eceb8465058.ttf | Bin 0 -> 1148 bytes
test/shaping/tests/use.tests | 1 +
@@ -49419,7 +48684,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 6 17:17:00 2016 +0100
[use] Fix 'Number-joiner terminated cluster' to use HN instead of H
-
+
From draft update to USE.
src/hb-ot-shape-complex-use-machine.rl | 2 +-
@@ -49430,9 +48695,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 6 16:19:19 2016 +0100
Allow MultipleSubst to delete glyph
-
+
Fixes https://github.com/behdad/harfbuzz/issues/253
-
+
Hopefully we got the logic right.
src/hb-ot-layout-gsub-table.hh | 17 +++++++----------
@@ -49445,8 +48710,7 @@ Date: Fri May 6 16:05:07 2016 +0100
[indic] Remove more unused logic after Javanese is gone
- src/hb-ot-shape-complex-indic.cc | 50
- +++++++++++++++-------------------------
+ src/hb-ot-shape-complex-indic.cc | 50 +++++++++++++++-------------------------
1 file changed, 18 insertions(+), 32 deletions(-)
commit 8b5d6e755b271d0d22b31a7726d5bfbf2aae8b2f
@@ -49465,23 +48729,22 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 6 15:52:27 2016 +0100
[indic/use] Move Javanese from Indic shaper to USE
-
+
Fixes https://github.com/behdad/harfbuzz/issues/243
-
+
With javatext.ttf, the reodering medial Ra gets its advance width
zero'ed in Uniscribe implementation, and the font adds the advance
back. Our Indic shaper does not do that, but USE does. So, route
Javanese through USE. That's what Microsoft does anyway. Test:
-
+
U+A9A5,U+A9BA
-
+
This also seems to fix the following sequence, and variations thereof:
-
+
U+A99F,U+A9C0,U+A9A2,U+A9BF
src/gen-indic-table.py | 1 -
- src/hb-ot-shape-complex-indic-table.cc | 23
- ++++------------------
+ src/hb-ot-shape-complex-indic-table.cc | 23 ++++------------------
src/hb-ot-shape-complex-private.hh | 5 +----
.../south-east-asian/script-javanese/misc.txt | 1 +
4 files changed, 6 insertions(+), 24 deletions(-)
@@ -49492,8 +48755,7 @@ Date: Fri May 6 15:39:02 2016 +0100
Add Javanese sample text
- .../south-east-asian/script-javanese/misc.txt | 53
- ++++++++++++++++++++++
+ .../south-east-asian/script-javanese/misc.txt | 53 ++++++++++++++++++++++
1 file changed, 53 insertions(+)
commit e21921a68a959b7e929f71a4260a6cbe055ab4e6
@@ -49512,8 +48774,7 @@ Date: Fri May 6 11:50:02 2016 +0100
[indic] Remove data for scripts that don't go thorough this shaper
src/gen-indic-table.py | 29 +-
- src/hb-ot-shape-complex-indic-table.cc | 604
- +--------------------------------
+ src/hb-ot-shape-complex-indic-table.cc | 604 +--------------------------------
2 files changed, 43 insertions(+), 590 deletions(-)
commit 7cd9269f4eba7b85cd72301a3fc39fab42a4e439
@@ -49521,12 +48782,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 6 11:34:46 2016 +0100
Update tables to Unicode 9.0.0 beta
-
+
Fixes https://github.com/behdad/harfbuzz/issues/251
src/hb-ot-shape-complex-arabic-table.hh | 56 ++++++++-----
- src/hb-ot-shape-complex-indic-table.cc | 137
- +++++++++++++++++++++++---------
+ src/hb-ot-shape-complex-indic-table.cc | 137 +++++++++++++++++++++++---------
src/hb-ot-shape-complex-use-table.cc | 86 ++++++++++++++------
3 files changed, 196 insertions(+), 83 deletions(-)
@@ -49544,7 +48804,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 6 12:08:18 2016 +0100
Add Unicode 9 beta scripts
-
+
These are frozen, so good time to add.
src/hb-common.cc | 3 +++
@@ -49577,7 +48837,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 2 10:29:12 2016 +0200
[ot-font] Remove unused 'post' table include for now
-
+
To make a release...
src/hb-ot-font.cc | 2 +-
@@ -49589,10 +48849,8 @@ Date: Mon May 2 10:28:24 2016 +0200
[tests] Fix test
- test/shaping/Makefile.am |
- 2 +-
- .../tests/{fallback-positioning.test => fallback-positioning.tests}
- | 0
+ test/shaping/Makefile.am | 2 +-
+ .../tests/{fallback-positioning.test => fallback-positioning.tests} | 0
2 files changed, 1 insertion(+), 1 deletion(-)
commit f00ab2a33ab34ba64f38cbbe65830c770a3e071e
@@ -49600,15 +48858,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 2 10:24:00 2016 +0200
[hb-ot-font] Make 'glyf' table loading lazy
-
- Apparently some clients have reference-table callbacks that copy
- the table.
- As such, avoid loading 'glyf' table which is only needed if fallback
- positioning
+
+ Apparently some clients have reference-table callbacks that copy the table.
+ As such, avoid loading 'glyf' table which is only needed if fallback positioning
happens.
- src/hb-ot-font.cc | 45
- ++++++++++++++++++++-
+ src/hb-ot-font.cc | 45 ++++++++++++++++++++-
test/shaping/Makefile.am | 1 +
.../7ef276fc886ea502a03b9b0e5c8b547d5dc2b61c.ttf | Bin 0 -> 784 bytes
test/shaping/tests/fallback-positioning.test | 2 +
@@ -49623,8 +48878,7 @@ Date: Sat Apr 30 19:20:56 2016 +0200
src/Makefile.sources | 1 +
src/hb-open-type-private.hh | 12 ++++-
src/hb-ot-font.cc | 1 +
- src/hb-ot-post-table.hh | 119
- ++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-post-table.hh | 119 ++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 132 insertions(+), 1 deletion(-)
commit 9abaaac409b8e3a0a9182b67dc384133013f7878
@@ -49639,9 +48893,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 27 03:11:41 2016 -0700
[tibetan] Reorder marks to better match Uniscribe
-
+
Fixes https://github.com/behdad/harfbuzz/issues/237
-
+
Note that Uniscribe enforces a certain syllable order. We don't.
But with this change, I get all of the tibetan contractions pass
with Microsoft Himalaya font.
@@ -49654,11 +48908,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 27 02:44:35 2016 -0700
[test] Add text for Tibetan shorthand contractions
-
+
From http://www.babelstone.co.uk/Tibetan/Contractions.html
- .../script-tibetan/misc/contractions.txt | 612
- +++++++++++++++++++++
+ .../script-tibetan/misc/contractions.txt | 612 +++++++++++++++++++++
1 file changed, 612 insertions(+)
commit 264b7a728a41becfbf23ce258fc2a3af19d0cbbe
@@ -49667,7 +48920,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Wed Apr 27 03:48:23 2016 +0300
Merge pull request #247 from khaledhosny/update-opentype-language-tags
-
+
Update opentype language tags
commit adafdcddced076da4bfa3114a00e15a387aaf1f7
@@ -49676,8 +48929,7 @@ Date: Sat Nov 7 23:37:21 2015 +0000
Mass-added “difficult” tags – to be curated.
- src/hb-ot-tag.cc | 69
- +++++++++++++++++++++++++++++---------------------------
+ src/hb-ot-tag.cc | 69 +++++++++++++++++++++++++++++---------------------------
1 file changed, 36 insertions(+), 33 deletions(-)
commit 3d6a2c0d7d9f6c5b3097f78c1123f9e59dcc76e2
@@ -49686,8 +48938,7 @@ Date: Sat Nov 7 22:59:13 2015 +0000
Initial import of missing OpenType 1.7 language tags.
- src/hb-ot-tag.cc | 67
- +++++++++++++++++++++++++++++++++++++++++++++++++++-----
+ src/hb-ot-tag.cc | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 61 insertions(+), 6 deletions(-)
commit 7e2da035f68e46ce8f4759b67b4ed3a1b211d793
@@ -49704,12 +48955,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Apr 26 16:41:17 2016 -0700
Do NOT ignore Mongolian Free Variation Selectors during matching
-
+
Fixes https://github.com/behdad/harfbuzz/issues/234
src/hb-ot-layout-gsubgpos-private.hh | 2 +-
- src/hb-ot-layout-private.hh | 23
- +++++++++++++++++++--
+ src/hb-ot-layout-private.hh | 23 +++++++++++++++++++--
src/hb-ot-shape-complex-arabic.cc | 2 +-
.../a34a7b00f22ffb5fd7eef6933b81c7e71bc2cdfb.ttf | Bin 0 -> 3700 bytes
.../tests/mongolian-variation-selector.tests | 1 +
@@ -49720,7 +48970,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Apr 26 16:02:04 2016 -0700
Move ZWJ/ZWNJ bits to top byte of unicode_props()
-
+
To make room to remember Mongolian Free Variation Selectors.
Part of fixing https://github.com/behdad/harfbuzz/issues/234
@@ -49751,7 +49001,7 @@ Author: Sascha Brawer <sascha@brawer.ch>
Date: Tue Apr 26 11:38:16 2016 +0200
Merge pull request #245 from KonstantinRitt/fixes/ce
-
+
Unbreak build on Windows CE
commit 5069062d0a9342bb716eebf3ddc1efad91924caa
@@ -49759,7 +49009,7 @@ Author: Konstantin Ritt <ritt.ks@gmail.com>
Date: Tue Apr 26 12:02:26 2016 +0400
Unbreak build on Windows CE
-
+
0475ef2f97e3035a2eea9a0f96031331e07e8e29 broke the build by using
vsnprintf(), which is not defined on Windows CE
@@ -49809,7 +49059,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Apr 8 13:16:33 2016 -0700
Merge pull request #239 from ebraminio/dwfix
-
+
Improve DirectWrite backend
commit d3134a66ad551ded726db9528d3c25459088f105
@@ -49838,8 +49088,7 @@ Date: Mon Apr 4 16:24:27 2016 -0700
Add test for 6dd80faf0dcb3e8a8915c3a25da44e2a67cb0cd8
test/shaping/Makefile.am | 1 +
- .../f22416c692720a7d46fadf4af99f4c9e094f00b9.ttf | Bin 0 ->
- 16736 bytes
+ .../f22416c692720a7d46fadf4af99f4c9e094f00b9.ttf | Bin 0 -> 16736 bytes
test/shaping/tests/mark-filtering-sets.tests | 5 +++++
3 files changed, 6 insertions(+)
@@ -49857,9 +49106,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 4 14:34:25 2016 -0700
Fix FixedVersion::to_int()
-
+
Ouch. Had broken it in 9a13ed453ef96822a47d6e6f58332b87f38d5c59
-
+
Fixes https://github.com/behdad/harfbuzz/issues/238
Will add test soon.
@@ -49881,19 +49130,16 @@ Date: Fri Apr 1 15:47:07 2016 +0000
Use standard types instead Windows favourites ones
- src/hb-directwrite.cc | 100
- +++++++++++++++++++++++++-------------------------
+ src/hb-directwrite.cc | 100 +++++++++++++++++++++++++-------------------------
1 file changed, 50 insertions(+), 50 deletions(-)
commit adf20ba0d18d1506e633dcd9b4827a6c93abcadd
Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Fri Apr 1 15:36:40 2016 +0000
- Limit GetJustifiedGlyphs only to scripts with custom justification
- character
+ Limit GetJustifiedGlyphs only to scripts with custom justification character
- src/hb-directwrite.cc | 98
- +++++++++++++++++++++++++++++++--------------------
+ src/hb-directwrite.cc | 98 +++++++++++++++++++++++++++++++--------------------
1 file changed, 60 insertions(+), 38 deletions(-)
commit 32ae9d1b3ffbe7e26e654437a56a26a95fe9f5a6
@@ -49902,8 +49148,7 @@ Date: Fri Apr 1 06:39:57 2016 +0000
Add justification support
- src/hb-directwrite.cc | 321
- ++++++++++++++++++++++++++++++++------------------
+ src/hb-directwrite.cc | 321 ++++++++++++++++++++++++++++++++------------------
1 file changed, 205 insertions(+), 116 deletions(-)
commit 10c3d9e41520595c88dd2a8321590e03ce8fcf47
@@ -49912,8 +49157,7 @@ Date: Thu Mar 31 18:19:44 2016 +0000
Basic opentype features support
- src/hb-directwrite.cc | 62
- ++++++++++++++++++++++++++++++++++-----------------
+ src/hb-directwrite.cc | 62 ++++++++++++++++++++++++++++++++++-----------------
1 file changed, 42 insertions(+), 20 deletions(-)
commit d129897120d3ad414220d603557c15a60aa69fa6
@@ -49922,8 +49166,7 @@ Date: Thu Mar 31 13:45:37 2016 +0000
Refactor and remove dupe getglyphs call
- src/hb-directwrite.cc | 106
- ++++++++++++++++++++++++--------------------------
+ src/hb-directwrite.cc | 106 ++++++++++++++++++++++++--------------------------
1 file changed, 51 insertions(+), 55 deletions(-)
commit 5f1a8961008b93f72acc47336109af3a64e248d0
@@ -49949,7 +49192,7 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Wed Mar 30 20:15:09 2016 +0000
Make DirectWrite backend to work with different font sizes
-
+
Actually copyedited same logic from Uniscribe to make it just work
src/hb-directwrite.cc | 7 ++++++-
@@ -49969,43 +49212,40 @@ commit 69f9fbc4200442a35484d3c790ae8f4979be5d60
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Mar 17 11:59:43 2016 -0700
- Synthesize GDEF glyph class for any glyph that does not have one
- in GDEF
-
+ Synthesize GDEF glyph class for any glyph that does not have one in GDEF
+
Previously we only synthesized GDEF glyph classes if the glyphClassDef
array in GDEF was null. This worked well enough, and is indeed what
- OpenType requires: "If the font does not include a GlyphClassDef
- table,
+ OpenType requires: "If the font does not include a GlyphClassDef table,
the client must define and maintain this information when using the
GSUB and GPOS tables." That sentence does not quite make sense since
one needs Unicode properties as well, but is close enough.
-
+
However, looks like Arial Unicode as shipped on WinXP, does have GDEF
glyph class array, but defines no classes for Hebrew. This results
- in Hebrew marks not getting their widths zeroed. So, with this
- change,
+ in Hebrew marks not getting their widths zeroed. So, with this change,
we synthesize glyph class for any glyph that is not specified in the
GDEF glyph class table. Since, from our point of view, a glyph not
being listed in that table is a font bug, any unwanted consequence of
this change is a font bug :).
-
+
Note that we still don't get the same rendering as Uniscribe, since
Uniscribe seems to do fallback positioning as well, even though the
font does have a GPOS table (which does NOT cover Hebrew!). We are
not going to try to match that though.
-
+
Test string for Arial Unicode:
-
+
U+05E9,U+05B8,U+05C1,U+05DC
-
+
Before: [gid1166=3+991|gid1142=0+737|gid5798=0+1434]
After: [gid1166=3+991|gid1142=0+0|gid5798=0+1434]
Uniscribe: [gid1166=3+991|gid1142=0@348,0+0|gid5798=0+1434]
-
+
Note that our new output matches what we were generating until July
2014, because the Hebrew shaper used to zero mark advances based on
Unicode, NOT GDEF. That's 9e834e29e0b657f0555df1ab9cea79ff7abcf08d.
-
+
Reported by Greg Douglas.
src/hb-ot-layout-gsub-table.hh | 22 ++++++++++++++++++++--
@@ -50018,7 +49258,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Mar 12 19:15:15 2016 -0800
Merge pull request #232 from c0nk/wip-icu
-
+
Add --with-icu=builtin option; fix compile error
commit 01ea9eaac373d9f3de6e56c1ca26cdcd259ecc8e
@@ -50026,7 +49266,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Mar 11 18:50:02 2016 -0800
[build] Use tar-ustar instead of tar-pax
-
+
The default tar-v7 is not good enough for us (99 char filename
limit), so I have had bumped to tar-pax. We got one complaint
that someone's tar couldn't handle tar-pax. Set to tar-ustar
@@ -50049,7 +49289,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Mar 8 12:16:41 2016 -0800
Remove default clause in minor switch statements
-
+
Bending to clang warnings...
https://bugs.chromium.org/p/chromium/issues/detail?id=593057
@@ -50063,7 +49303,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Mar 4 17:20:35 2016 -0800
Merge pull request #231 from KonstantinRitt/post123buildfix
-
+
Fix build with HB_DISABLE_DEPRECATED
commit 731a430cd36caabcef04e099b21ebc6daedd536f
@@ -50071,16 +49311,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Mar 2 13:32:42 2016 -0800
Fix requiredFeature stage handling logic
-
+
Originally the way Jonathan had written this was correct in
"continue"ing:
-
+
https://github.com/jfkthame/harfbuzz/commit/35e28c7a733eaffcd9f062b18d7db9fbb3d990fc#diff-ead86a33a5cc9ad7f6e6381031a0baddR199
-
+
When I rewrote his patch, I messed it up:
-
+
https://github.com/behdad/harfbuzz/commit/da132937989acb4d8ca9bd41c79f98750e7dda30#diff-ead86a33a5cc9ad7f6e6381031a0baddR209
-
+
the intended behavior was NOT to set found=TRUE and NOT to continue.
This was resulting in feature_index[table_index] being left unset.
Oops!
@@ -50102,7 +49342,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Mar 1 16:41:26 2016 +0900
Use FWORD and UFWORD when it makes sense
-
+
I had forgotten about those types.
src/hb-ot-glyf-table.hh | 8 ++++----
@@ -50114,7 +49354,7 @@ Author: Kal Conley <kcconley@gmail.com>
Date: Fri Feb 26 00:36:17 2016 +0100
Fix missing ICU #include
-
+
Fix compile error in hb-icu.cc when ICU configured with
U_NO_DEFAULT_INCLUDE_UTF_HEADERS=1
@@ -50136,7 +49376,7 @@ Author: Konstantin Ritt <ritt.ks@gmail.com>
Date: Thu Feb 25 18:55:28 2016 +0400
Fix build with HB_DISABLE_DEPRECATED
-
+
When HB_DISABLE_DEPRECATED is defined, no code from hb-deprecated.h
should be used, even from within HB itself.
@@ -50148,15 +49388,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 25 14:40:09 2016 +0900
Speed up buffer variable allocation sanity check
-
+
This makes defining HB_NDEBUG much less relevant, to the
point of irrelevance. Sorry about all the fuss in previous
release!
- src/hb-buffer-private.hh | 67
- ++++++++++++++++++++++++++++-----------------
- src/hb-buffer.cc | 70
- ------------------------------------------------
+ src/hb-buffer-private.hh | 67 ++++++++++++++++++++++++++++-----------------
+ src/hb-buffer.cc | 70 ------------------------------------------------
2 files changed, 43 insertions(+), 94 deletions(-)
commit 91dd11565221bdb108c138662ea013aac14bb968
@@ -50164,16 +49402,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 25 13:56:47 2016 +0900
Add HB_NDEBUG
-
+
API changes:
- If NDEBUG is defined, define HB_NDEBUG
- Disable costlier sanity checks if HB_NDEBUG is defined.
-
+
In 1.2.3 introduced some code to disable costly sanity checks if
NDEBUG is defined. NDEBUG, however, disables all assert()s as
well. With HB_NDEBUG, one can disable costlier checks but keep
assert()s.
-
+
I'll probably add a way to define HB_NDEBUG automatically in
release tarballs. But for now, production systems that do NOT
define NDEBUG, are encouraged to define HB_NDEBUG for our build.
@@ -50199,7 +49437,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 25 12:23:02 2016 +0900
Disable internal buffer variable bookkeeping in NDEBUG builds
-
+
Saves some sweet time and binary size!
src/Makefile.am | 1 +
@@ -50221,7 +49459,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 25 11:20:05 2016 +0900
[test] Pass closure to hb_font_set_glyph_func()
-
+
Exercises fix in c335fd7986fe360ab8e1c032c9b988d0d30511eb
test/api/test-shape.c | 2 +-
@@ -50232,7 +49470,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 25 11:11:15 2016 +0900
Blacklist GDEF table of timesi.ttf and timesbi.ttf on Win 7
-
+
See discussion:
https://lists.freedesktop.org/archives/harfbuzz/2016-February/005489.html
@@ -50243,8 +49481,7 @@ commit c335fd7986fe360ab8e1c032c9b988d0d30511eb
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 25 09:16:05 2016 +0900
- In trampoline implementation of get_glyph(), don't destroy user
- data twice!
+ In trampoline implementation of get_glyph(), don't destroy user data twice!
src/hb-font.cc | 41 +++++++++++++++++++++++++++--------------
1 file changed, 27 insertions(+), 14 deletions(-)
@@ -50255,8 +49492,7 @@ Date: Wed Feb 24 20:27:13 2016 +0900
[ot-font] Accelerate cmap format4 get_glyph
- src/hb-ot-cmap-table.hh | 111
- ++++++++++++++++++++++++++++--------------------
+ src/hb-ot-cmap-table.hh | 111 ++++++++++++++++++++++++++++--------------------
src/hb-ot-font.cc | 14 +++++-
2 files changed, 77 insertions(+), 48 deletions(-)
@@ -50284,7 +49520,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 24 19:10:06 2016 +0900
[TODO] Update
-
+
This file is rather obsolete. Still, give it a refresh.
TODO | 16 ++--------------
@@ -50294,9 +49530,8 @@ commit 8b5bc141cd3a6bfcea3c91a882a630426876ceb3
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 24 19:05:23 2016 +0900
- Add get_nominal_glyph() and get_variation_glyph() instead of
- get_glyph()
-
+ Add get_nominal_glyph() and get_variation_glyph() instead of get_glyph()
+
New API:
- hb_font_get_nominal_glyph_func_t
- hb_font_get_variation_glyph_func_t
@@ -50304,11 +49539,11 @@ Date: Wed Feb 24 19:05:23 2016 +0900
- hb_font_funcs_set_variation_glyph_func()
- hb_font_get_nominal_glyph()
- hb_font_get_variation_glyph()
-
+
Deprecated API:
- hb_font_get_glyph_func_t
- hb_font_funcs_set_glyph_func()
-
+
Clients that implement their own font-funcs are encouraged to replace
their get_glyph() implementation with a get_nominal_glyph() and
get_variation_glyph() pair. The variation version can assume that
@@ -50317,8 +49552,7 @@ Date: Wed Feb 24 19:05:23 2016 +0900
src/hb-deprecated.h | 10 ++
src/hb-fallback-shape.cc | 4 +-
src/hb-font-private.hh | 26 +++--
- src/hb-font.cc | 203
- ++++++++++++++++++++++++++++++++++---
+ src/hb-font.cc | 203 ++++++++++++++++++++++++++++++++++---
src/hb-font.h | 55 +++++++---
src/hb-ft.cc | 38 ++++---
src/hb-ot-font.cc | 57 +++++++----
@@ -50345,7 +49579,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 24 16:06:40 2016 +0900
Fix recent test
-
+
Not sure why the FT functions were returning advance 1024. This
caused failure on drone.io. Switch to hb-ot-font and disable
glyph names.
@@ -50367,19 +49601,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 24 15:53:40 2016 +0900
Partially revert 86c68c7a2c971efe8e35b1f1bd99401dc8b688d2
-
+
That commit moved the advance adjustment for mark positioning to
be applied immediately, instead of doing late before. This breaks
if mark advances are zeroed late, like in Arabic. Also, easier to
hit it in RTL scripts since a single mark with non-zero advance is
enough to hit the bug, whereas in LTR, at least two marks are needed.
-
+
This reopens https://github.com/behdad/harfbuzz/issues/211
The cursive+mark interaction is broken again. To be fixed in a
different way.
- src/hb-ot-layout-gpos-table.hh | 28
- ++++++++++++----------------
+ src/hb-ot-layout-gpos-table.hh | 28 ++++++++++++----------------
test/shaping/tests/cursive-positioning.tests | 2 +-
2 files changed, 13 insertions(+), 17 deletions(-)
@@ -50388,12 +49621,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 24 15:52:37 2016 +0900
Add test for mark positioning in rtl with non-zero mark advance
-
+
Apparently I broke this 86c68c7a2c971efe8e35b1f1bd99401dc8b688d2.
Fix coming.
- .../sha1sum/07f054357ff8638bac3711b422a1e31180bba863.ttf | Bin 0 ->
- 848 bytes
+ .../sha1sum/07f054357ff8638bac3711b422a1e31180bba863.ttf | Bin 0 -> 848 bytes
test/shaping/tests/cursive-positioning.tests | 1 +
2 files changed, 1 insertion(+)
@@ -50449,12 +49681,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 23 13:45:38 2016 +0900
Remove MANIFEST files
-
+
They are unused currently. We can add later if we hook them up
to anything useful.
- test/shaping/fonts/sha1sum/MANIFEST | 52
- ----------------------
+ test/shaping/fonts/sha1sum/MANIFEST | 52 ----------------------
test/shaping/tests/MANIFEST | 19 --------
test/shaping/texts/MANIFEST | 1 -
test/shaping/texts/in-tree/MANIFEST | 9 ----
@@ -50587,14 +49818,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Feb 22 18:22:44 2016 +0900
In cluster-level=0, group ZWJ/ZWNJ with previous cluster
-
+
This better emulates Unicode grapheme clusters.
-
- Note that Uniscribe does NOT do this, but should be harmless with
- most clients,
- and improve fallback with clients that use HarfBuzz cluster as unit
- of fallback.
-
+
+ Note that Uniscribe does NOT do this, but should be harmless with most clients,
+ and improve fallback with clients that use HarfBuzz cluster as unit of fallback.
+
Fixes https://github.com/behdad/harfbuzz/issues/217
src/hb-ot-layout-private.hh | 6 ++++++
@@ -50619,8 +49848,7 @@ Date: Mon Feb 22 15:56:29 2016 +0900
[coretext] Move CTFont construction to face_data
- src/hb-coretext.cc | 66
- +++++++++++++++++++++++++-----------------------------
+ src/hb-coretext.cc | 66 +++++++++++++++++++++++++-----------------------------
1 file changed, 30 insertions(+), 36 deletions(-)
commit ba3d49d9a56932d341bf1916a30f322be665e3a6
@@ -50629,8 +49857,7 @@ Date: Mon Feb 22 15:50:12 2016 +0900
[coretext] Move code around
- src/hb-coretext.cc | 70
- +++++++++++++++++++++++++++++++-----------------------
+ src/hb-coretext.cc | 70 +++++++++++++++++++++++++++++++-----------------------
1 file changed, 40 insertions(+), 30 deletions(-)
commit 90194efb8480d58c55b7a19962624c7aadbdca63
@@ -50691,8 +49918,7 @@ Date: Mon Feb 22 15:28:37 2016 +0900
[coretext] Move code around
- src/hb-coretext.cc | 109
- ++++++++++++++++++++++++++++++-----------------------
+ src/hb-coretext.cc | 109 ++++++++++++++++++++++++++++++-----------------------
1 file changed, 62 insertions(+), 47 deletions(-)
commit 04c64431530a4a6d9ebd33674c4665a8e6d25bdd
@@ -50719,7 +49945,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Feb 22 14:59:39 2016 +0900
[coretext] Fix shaping with varying font size
-
+
Fixes https://github.com/libass/libass/issues/212
src/hb-coretext.cc | 8 ++++----
@@ -50740,14 +49966,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Feb 19 15:13:07 2016 +0700
[fuzzing] Add test for recent fix
-
+
Test from https://github.com/behdad/harfbuzz/issues/223
+
+ I forgot that we do run hb-fuzzer on tests in shaping/tests/fuzzed.tests.
- I forgot that we do run hb-fuzzer on tests in
- shaping/tests/fuzzed.tests.
-
- .../sha1sum/205edd09bd3d141cc9580f650109556cc28b22cb.ttf | Bin 0 ->
- 1966 bytes
+ .../sha1sum/205edd09bd3d141cc9580f650109556cc28b22cb.ttf | Bin 0 -> 1966 bytes
test/shaping/fonts/sha1sum/MANIFEST | 1 +
test/shaping/tests/fuzzed.tests | 1 +
3 files changed, 2 insertions(+)
@@ -50775,13 +49999,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Feb 19 14:52:31 2016 +0700
Avoid buffer->move_to() in case of buffer error
-
+
Fixes https://github.com/behdad/harfbuzz/issues/223
-
- Right now we cannot test this because it has to be tested using
- hb-fuzzer.
- We should move all fuzzing tests from test/shaping/tests/fuzzed.tests
- to
+
+ Right now we cannot test this because it has to be tested using hb-fuzzer.
+ We should move all fuzzing tests from test/shaping/tests/fuzzed.tests to
test/fuzzing/ and have its own test runner. At that point, should add
test from this issue as well.
@@ -50794,7 +50016,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Feb 19 14:43:39 2016 +0700
[fuzzing] Make "make hb-fuzzer" build lib dependency
-
+
Not going to do with util/, but is convenient here.
test/fuzzing/Makefile.am | 3 +++
@@ -50805,7 +50027,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 18 19:31:51 2016 +0700
Remove pointless overflow check in pointer math
-
+
Fixes https://github.com/behdad/harfbuzz/issues/227
src/hb-blob.cc | 1 -
@@ -50816,7 +50038,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 18 17:06:25 2016 +0700
Emoji skin tone modifiers need to be treated as combining marks
-
+
Fixes https://github.com/behdad/harfbuzz/issues/169
src/hb-ot-layout-private.hh | 15 ++++++++++++++-
@@ -50828,16 +50050,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 16 17:16:33 2016 +0700
[USE] Zero mark advances by GDEF early
-
+
This is what Microsoft's implementation does. Marks that need advance
- need to add it back using 'dist' or other feature in GPOS.
- Update tests to
+ need to add it back using 'dist' or other feature in GPOS. Update tests to
match.
src/hb-ot-shape-complex-use.cc | 2 +-
test/shaping/fonts/sha1sum/MANIFEST | 1 +
- .../sha1sum/f518eb6f6b5eec2946c9fbbbde44e45d46f5e2ac.ttf | Bin 0 ->
- 1356 bytes
+ .../sha1sum/f518eb6f6b5eec2946c9fbbbde44e45d46f5e2ac.ttf | Bin 0 -> 1356 bytes
test/shaping/tests/context-matching.tests | 2 +-
test/shaping/tests/use.tests | 2 ++
5 files changed, 5 insertions(+), 2 deletions(-)
@@ -50847,57 +50067,52 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 16 16:07:20 2016 +0700
[GPOS] Fix interaction of mark attachments and cursive chaining
-
+
Fixes https://github.com/behdad/harfbuzz/issues/211
-
+
What happens in that bug is that a mark is attached to base first,
then a second mark is cursive-chained to the first mark. This only
"works" because it's in the Indic shaper where mark advances are
not zeroed.
-
+
Before, we didn't allow cursive to run on marks at all. Fix that.
We also where updating mark major offsets at the end of GPOS, such
that changes in advance of base will not change the mark attachment
- position. That was superior to the alternative (which is what
- Uniscribe
+ position. That was superior to the alternative (which is what Uniscribe
does BTW), but made it hard to apply cursive to the mark after it
was positioned. We could track major-direction offset changes and
apply that to cursive in the post process, but that's a much trickier
thing to do than the fix here, which is to immediately apply the
major-direction advance-width offsets... Ie.:
-
+
https://github.com/behdad/harfbuzz/issues/211#issuecomment-183194739
-
- If this breaks any fonts, the font should be fixed to do mark
- attachment
+
+ If this breaks any fonts, the font should be fixed to do mark attachment
after all the advances are set up first (kerning, etc).
-
+
Finally, this, still doesn't make us match Uniscribe, for I explained
in that bug. Looks like Uniscribe applies minor-direction cursive
adjustment immediate as well. We don't, and we like it our way, at
least for now. Eg. the sequence in the test case does this:
-
+
- The first subscript attaches with mark-to-base, moving in x only,
- - The second subscript attaches with cursive attachment to first
- subscript
+ - The second subscript attaches with cursive attachment to first subscript
moving in x only,
- A final context rule moves the first subscript up by 104 units.
-
+
The way we do, the final shift-up, also shifts up the second subscript
mark because it's cursively-attached. Uniscribe doesn't. We get:
-
+
[ttaorya=0+1307|casubscriptorya=0@-242,104+-231|casubscriptnarroworya=0@20,104+507]
-
+
while Uniscribe gets:
-
+
[ttaorya=0+1307|casubscriptorya=0@-242,104+-211|casubscriptnarroworya=0+487]
-
- note the different y-offset of the last glyph. In our view,
- after cursive,
+
+ note the different y-offset of the last glyph. In our view, after cursive,
things move together, period.
- src/hb-ot-layout-gpos-table.hh | 31
- +++++++++++----------
+ src/hb-ot-layout-gpos-table.hh | 31 +++++++++++----------
.../706c5d7b625f207bc0d874c67237aad6f1e9cd6f.ttf | Bin 0 -> 3868 bytes
test/shaping/fonts/sha1sum/MANIFEST | 1 +
test/shaping/tests/cursive-positioning.tests | 1 +
@@ -50917,7 +50132,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 11 16:57:52 2016 +0700
[GPOS] Minor
-
+
No effect.
src/hb-ot-layout-gpos-table.hh | 8 ++++----
@@ -50928,21 +50143,19 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 11 16:48:13 2016 +0700
[GPOS] Merge fixing of offsets for cursive and mark attachments
-
+
Part of fixing https://github.com/behdad/harfbuzz/issues/211
src/hb-buffer-private.hh | 3 +-
- src/hb-ot-layout-gpos-table.hh | 73
- ++++++++++++++++++------------------------
+ src/hb-ot-layout-gpos-table.hh | 73 ++++++++++++++++++------------------------
2 files changed, 33 insertions(+), 43 deletions(-)
commit 7d8d58ac81fe267e29ea68cdc6f4a4fa8c22d40f
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 11 16:34:28 2016 +0700
- [GPOS] Divide position_finish() into two phases, for advances
- and offsets
-
+ [GPOS] Divide position_finish() into two phases, for advances and offsets
+
Right now the position_finish_advances() is empty. To be used for
spacing attachments proposal later.
@@ -50968,7 +50181,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 11 15:28:55 2016 +0700
[GPOS] Add harmless recursion in fix_mark_attachment()
-
+
Will do nothing. Just useful for merging two functions.
src/hb-ot-layout-gpos-table.hh | 2 ++
@@ -50979,11 +50192,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 11 15:25:28 2016 +0700
[GPOS] Merge attach_chain() and cursive_chain()
-
+
Differentiate, using new attach_type().
- src/hb-ot-layout-gpos-table.hh | 50
- +++++++++++++++++++++++++++---------------
+ src/hb-ot-layout-gpos-table.hh | 50 +++++++++++++++++++++++++++---------------
1 file changed, 32 insertions(+), 18 deletions(-)
commit 806ad8dc65931ab7893bff7d5592a67a9bd237ca
@@ -50999,11 +50211,9 @@ commit 0f6278d1fbb75856132f1fa2d29648979f033316
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 11 14:49:10 2016 +0700
- [GPOS] Negate sign of attach_lookback(), and rename it to
- attach_chain()
-
- No behavior change. Preparing to unify how cursive and mark
- attachments
+ [GPOS] Negate sign of attach_lookback(), and rename it to attach_chain()
+
+ No behavior change. Preparing to unify how cursive and mark attachments
work.
src/hb-ot-layout-gpos-table.hh | 17 +++++++++--------
@@ -51013,12 +50223,10 @@ commit 5b5dc2c0406d8180e72d97a54334c722fda325b1
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 11 12:15:38 2016 +0700
- [tests] Add test for advance zeroing of an ASCII letter marked as
- mark in GDEF
+ [tests] Add test for advance zeroing of an ASCII letter marked as mark in GDEF
test/shaping/fonts/sha1sum/MANIFEST | 1 +
- .../sha1sum/a98e908e2ed21b22228ea59ebcc0f05034c86f2e.ttf | Bin 0 ->
- 1016 bytes
+ .../sha1sum/a98e908e2ed21b22228ea59ebcc0f05034c86f2e.ttf | Bin 0 -> 1016 bytes
test/shaping/tests/zero-width-marks.tests | 1 +
3 files changed, 2 insertions(+)
@@ -51027,7 +50235,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 11 12:14:27 2016 +0700
Remove font-dependent ASCII-only perf hack
-
+
Is confusing. I already hit it myself. Remove. We can optimize
ASCII based on Unicode properties. But should not do based on
assumptions on the font.
@@ -51050,21 +50258,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 10 18:39:59 2016 +0700
[tests] Fix fonts in cc4a78bf22c4a735b84c89b04be3bb531f42135e
-
+
They had an invalid LookupFlag (32).
- .../sha1sum/0dd3a51c3ea50997cb1f72515d1060408f8b4b59.ttf | Bin 1412 ->
- 0 bytes
- .../sha1sum/56cfd0e18d07f41c38e9598545a6d369127fc6f9.ttf | Bin 0 ->
- 1412 bytes
- .../sha1sum/828114d00931885bc25abf7cdb878b2914a2e743.ttf | Bin 1448 ->
- 0 bytes
- .../sha1sum/894e96a367f00c196d82e6243673a1d4414f4f6a.ttf | Bin 1448 ->
- 0 bytes
- .../sha1sum/cc5f3d2d717fb6bd4dfae1c16d48a2cb8e12233b.ttf | Bin 0 ->
- 1448 bytes
- .../sha1sum/ffa0f5d2d9025486d8469d8b1fdd983e7632499b.ttf | Bin 0 ->
- 1448 bytes
+ .../sha1sum/0dd3a51c3ea50997cb1f72515d1060408f8b4b59.ttf | Bin 1412 -> 0 bytes
+ .../sha1sum/56cfd0e18d07f41c38e9598545a6d369127fc6f9.ttf | Bin 0 -> 1412 bytes
+ .../sha1sum/828114d00931885bc25abf7cdb878b2914a2e743.ttf | Bin 1448 -> 0 bytes
+ .../sha1sum/894e96a367f00c196d82e6243673a1d4414f4f6a.ttf | Bin 1448 -> 0 bytes
+ .../sha1sum/cc5f3d2d717fb6bd4dfae1c16d48a2cb8e12233b.ttf | Bin 0 -> 1448 bytes
+ .../sha1sum/ffa0f5d2d9025486d8469d8b1fdd983e7632499b.ttf | Bin 0 -> 1448 bytes
6 files changed, 0 insertions(+), 0 deletions(-)
commit eaadcbbc53e02838c847e53ef214a55d6915d677
@@ -51083,15 +50285,11 @@ Date: Wed Feb 10 18:24:08 2016 +0700
[tests] Add tests for Latin mark zeroing
- .../sha1sum/0dd3a51c3ea50997cb1f72515d1060408f8b4b59.ttf | Bin 0 ->
- 1412 bytes
- .../sha1sum/828114d00931885bc25abf7cdb878b2914a2e743.ttf | Bin 0 ->
- 1448 bytes
- .../sha1sum/894e96a367f00c196d82e6243673a1d4414f4f6a.ttf | Bin 0 ->
- 1448 bytes
+ .../sha1sum/0dd3a51c3ea50997cb1f72515d1060408f8b4b59.ttf | Bin 0 -> 1412 bytes
+ .../sha1sum/828114d00931885bc25abf7cdb878b2914a2e743.ttf | Bin 0 -> 1448 bytes
+ .../sha1sum/894e96a367f00c196d82e6243673a1d4414f4f6a.ttf | Bin 0 -> 1448 bytes
test/shaping/fonts/sha1sum/MANIFEST | 4 ++++
- .../sha1sum/fcdcffbdf1c4c97c05308d7600e4c283eb47dbca.ttf | Bin 0 ->
- 1344 bytes
+ .../sha1sum/fcdcffbdf1c4c97c05308d7600e4c283eb47dbca.ttf | Bin 0 -> 1344 bytes
test/shaping/tests/zero-width-marks.tests | 4 ++++
6 files changed, 8 insertions(+)
@@ -51101,15 +50299,11 @@ Date: Wed Feb 10 18:20:02 2016 +0700
[tests] Add tests for Thai mark zeroing
- .../sha1sum/45855bc8d46332b39c4ab9e2ee1a26b1f896da6b.ttf | Bin 0 ->
- 1088 bytes
- .../sha1sum/7a37dc4d5bf018456aea291cee06daf004c0221c.ttf | Bin 0 ->
- 1080 bytes
- .../sha1sum/8099955657a54e9ee38a6ba1d6f950ce58e3cc25.ttf | Bin 0 ->
- 1024 bytes
+ .../sha1sum/45855bc8d46332b39c4ab9e2ee1a26b1f896da6b.ttf | Bin 0 -> 1088 bytes
+ .../sha1sum/7a37dc4d5bf018456aea291cee06daf004c0221c.ttf | Bin 0 -> 1080 bytes
+ .../sha1sum/8099955657a54e9ee38a6ba1d6f950ce58e3cc25.ttf | Bin 0 -> 1024 bytes
test/shaping/fonts/sha1sum/MANIFEST | 4 ++++
- .../sha1sum/bb0c53752e85c3d28973ebc913287b8987d3dfe8.ttf | Bin 0 ->
- 976 bytes
+ .../sha1sum/bb0c53752e85c3d28973ebc913287b8987d3dfe8.ttf | Bin 0 -> 976 bytes
test/shaping/tests/zero-width-marks.tests | 4 ++++
6 files changed, 8 insertions(+)
@@ -51118,7 +50312,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 10 18:10:15 2016 +0700
Change default mark advance zeroing behavior from Unicode to GDEF
-
+
See thread at:
https://lists.freedesktop.org/archives/harfbuzz/2016-February/005462.html
@@ -51142,7 +50336,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 10 11:11:36 2016 +0700
Merge pull request #164 from fanc999/msvc.build
-
+
Enable Build of HarfBuzz under Visual Studio using NMake Makefiles
commit a168db4739148459bc33c7dae88e73efa0153d72
@@ -51159,16 +50353,12 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Wed Dec 9 14:57:15 2015 +0800
MSVC builds: Add support to build DirectWrite shaping backend
-
+
Add into the NMake Makefiles to build the DirectWrite shaping backend,
- but as PR #134 mentions, this is considered to be in an experimental
- state,
- so don't include this in the build by default for now. This is
- most probably
- going to replace the Uniscribe backend eventually, since DirectWrite
- is meant
- to be Uniscribe's replacement, and is needed for Windows Store apps
- if a
+ but as PR #134 mentions, this is considered to be in an experimental state,
+ so don't include this in the build by default for now. This is most probably
+ going to replace the Uniscribe backend eventually, since DirectWrite is meant
+ to be Uniscribe's replacement, and is needed for Windows Store apps if a
system shaping API is to be used.
win32/README.txt | 4 ++++
@@ -51182,7 +50372,7 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Wed Feb 3 18:31:23 2016 +0800
build: Build the DirectWrite sources if requested
-
+
This adds to the autotools build system so that the (experimental)
DirectWrite support for HarfBuzz is built (and dist'ed).
@@ -51196,32 +50386,23 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Tue Nov 3 19:00:42 2015 +0800
build: Support Visual Studio builds using NMake
-
- This adds a set of NMake Makefiles that can be used to build
- HarfBuzz, from
+
+ This adds a set of NMake Makefiles that can be used to build HarfBuzz, from
the standard basic build building the minimal HarfBuzz DLL (consisting
- of OpenType, fallback and Uniscribe support only), to a full
- fledged build
- consisting of GLib and FreeType support, as well as building the
- utilities,
+ of OpenType, fallback and Uniscribe support only), to a full fledged build
+ consisting of GLib and FreeType support, as well as building the utilities,
the test programs in src/ and test/api, and HarfBuzz-ICU and
- HarfBuzz-GObject, and up to building the introspection files.
- This means a
- flexible build mechanism is supported here, so anything that is
- supported
+ HarfBuzz-GObject, and up to building the introspection files. This means a
+ flexible build mechanism is supported here, so anything that is supported
for a Windows build (code-wise), should all be supported by this build
system.
-
- As in an earlier commit, the source listings are shared with the
- autotools
- builds with the various Makefile.sources in src/, src/hb-ucdn and
- util/, and
- this set of NMake Makefiles will transform these lists into the
- form they
+
+ As in an earlier commit, the source listings are shared with the autotools
+ builds with the various Makefile.sources in src/, src/hb-ucdn and util/, and
+ this set of NMake Makefiles will transform these lists into the form they
want.
-
- In the current form, all the test programs in test/api pass, and
- this has
+
+ In the current form, all the test programs in test/api pass, and this has
been checked successfully with 'make -j8 distcheck'.
BUILD.md | 4 +-
@@ -51231,8 +50412,7 @@ Date: Tue Nov 3 19:00:42 2015 +0800
win32/Makefile.vc | 52 +++++++++++
win32/README.txt | 75 ++++++++++++++++
win32/build-rules-msvc.mak | 140 ++++++++++++++++++++++++++++++
- win32/config-msvc.mak | 188
- ++++++++++++++++++++++++++++++++++++++++
+ win32/config-msvc.mak | 188 ++++++++++++++++++++++++++++++++++++++++
win32/create-lists-msvc.mak | 151 ++++++++++++++++++++++++++++++++
win32/create-lists.bat | 42 +++++++++
win32/detectenv-msvc.mak | 136 +++++++++++++++++++++++++++++
@@ -51248,21 +50428,17 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Tue Nov 3 18:52:46 2015 +0800
MSVC builds: Add a pre-configured config.h(.win32) template
-
- This adds a pre-configured config.h template that can be used
- for Visual
- Studio builds, where autotools is not normally available. This has
- the
+
+ This adds a pre-configured config.h template that can be used for Visual
+ Studio builds, where autotools is not normally available. This has the
configs that are suitable for Visual Studio builds, as well as all the
features used for Windows builds enabled (HAVE_OT, HAVE_FALLBACK and
HAVE_UNISCRIBE).
-
- Note that the optional features are not enabled here, they are
- enabled by
+
+ Note that the optional features are not enabled here, they are enabled by
/D's (or -D's) in the NMake Makefiles as requested.
- win32/config.h.win32.in | 155
- ++++++++++++++++++++++++++++++++++++++++++++++++
+ win32/config.h.win32.in | 155 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 155 insertions(+)
commit 35ded3af74a5bc4b038a07308354d5f7501ae3c7
@@ -51270,14 +50446,13 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Tue Nov 3 16:56:27 2015 +0800
build: Move source listings into separate Makefile snippets
-
+
This moves all the source listings in src/Makefile.am,
src/hb-ucdn/Makefile.am and util/Makefile.am into separate Makefile
snippets, so that they may be shared between different Makefile-based
build systems, such as NMake for Visual Studio.
- src/Makefile.am | 165
- +++++++++----------------------------------
+ src/Makefile.am | 165 +++++++++----------------------------------
src/Makefile.sources | 147 ++++++++++++++++++++++++++++++++++++++
src/hb-ucdn/Makefile.am | 6 +-
src/hb-ucdn/Makefile.sources | 4 ++
@@ -51290,7 +50465,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 2 16:39:19 2016 +0800
Fix more hangs in case of buffer allocation errors
-
+
Hopefully
fixes https://github.com/behdad/harfbuzz/issues/214
@@ -51305,7 +50480,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 2 12:33:32 2016 +0800
Merge pull request #222 from n8willis/master
-
+
Add usermanual chapter on cluster levels
commit 498574e6c1a83bbd2768925af6e39806fe1ea8bb
@@ -51324,8 +50499,7 @@ Date: Thu Jan 28 12:14:12 2016 -0600
Added initial usermanual chapter on cluster levels.
docs/harfbuzz-docs.xml | 1 +
- docs/usermanual-clusters.xml | 304
- +++++++++++++++++++++++++++++++++++++++++++
+ docs/usermanual-clusters.xml | 304 +++++++++++++++++++++++++++++++++++++++++++
2 files changed, 305 insertions(+)
commit 9a6a33ccbea8a2e23e779bd955958fa41974c1c7
@@ -51334,7 +50508,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 18 12:47:18 2016 +0100
Merge pull request #216 from mhosken/master
-
+
Refactor graphite2 to make ovleraps into negative width spaces
commit 146fe252c3ebd0253344ce20981554e40926497b
@@ -51343,8 +50517,7 @@ Date: Sat Jan 16 17:24:00 2016 -0600
Refactor graphite2 to make ovleraps into negative width spaces
- src/hb-graphite2.cc | 71
- ++++++++++++++++++++++++++++++++---------------------
+ src/hb-graphite2.cc | 71 ++++++++++++++++++++++++++++++++---------------------
1 file changed, 43 insertions(+), 28 deletions(-)
commit d05b783322d90208b2ddf06a5ebffc7c301be3d7
@@ -51352,7 +50525,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 12 16:17:21 2016 +0000
Fix compiler warning
-
+
Fixes https://github.com/behdad/harfbuzz/issues/212
src/hb-ot-tag.cc | 2 +-
@@ -51372,9 +50545,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 11 18:31:04 2016 +0000
[fuzzing] Fuzz input text
-
+
Very rudimentary right now, but will get kcc's bot going.
-
+
From
https://github.com/behdad/harfbuzz/issues/139#issuecomment-163580783
@@ -51386,22 +50559,21 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 11 17:38:41 2016 +0000
[OT] Get list of lookup subtables once and loop through them
-
+
This speeds up shaping the Amiri font by over 15%.
-
+
This was primarily needed for my work on OpenType GX, since
we will be collecting only sublookups that are "active" for
current font instance; but it's a nice boost in general as
well.
-
+
We might, in the future, collect subtables in the lookup_accel.
That would also allow us to do a per-subtbale set-digest, which
should speed things up some more, specially for ContextChainFormat3
lookups... Amiri, for example, contains one lookup with 53
subtables!
- src/hb-ot-layout.cc | 120
- +++++++++++++++++++++++++++++++++++-----------------
+ src/hb-ot-layout.cc | 120 +++++++++++++++++++++++++++++++++++-----------------
1 file changed, 81 insertions(+), 39 deletions(-)
commit 11441291bbf4326dca9b14ec3e9cad3d4d229303
@@ -51428,7 +50600,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 11 12:28:37 2016 +0000
[coretext] Speed up CoreText font fallback
-
+
Fixes https://code.google.com/p/chromium/issues/detail?id=547912
src/hb-coretext.cc | 45 ++++++++++++++++++++++++++++++++++++++++-----
@@ -51457,7 +50629,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 7 19:11:41 2016 +0000
Add 9 reserved entries to hb_font_extents_t
-
+
Might add italic-angle, underline/strikethrough-position/thickness
in the future. Do this before new struct goes into a release.
@@ -51469,7 +50641,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 6 12:29:50 2016 +0000
[uniscribe] Fix negative advance
-
+
This happens with at least one test font I have.
src/hb-uniscribe.cc | 2 +-
@@ -51494,7 +50666,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 5 13:26:20 2016 +0000
Increase sanitize edit count from 8 to 32
-
+
See previous commit.
src/hb-open-type-private.hh | 2 +-
@@ -51505,14 +50677,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 5 13:23:45 2016 +0000
Don't count fixing-up FeatureParams offset as error
-
+
The font Garamond Premier Pro Caption (and possibly many other
Adobe fonts), have many FeatureParamsSize tables with the old
wrong offset. We handle fixing those up, but they were still
contributing to edit_count, and when I reduced HB_SANITIZE_MAX_EDIT
from 100 to 8 in 14c2de321826c36037adde859ccca3e2011325a9, these
fonts were now getting GPOS dropped and hence kerning disabled.
-
+
Fix, by not counting edits made towareds offset fix-up. I'll
also increase edit count again, in the next commit.
@@ -51534,7 +50706,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jan 2 00:59:14 2016 +0000
Merge pull request #208 from khaledhosny/travis-trusty
-
+
[travis] Try building on Trusty
commit 4b4948d360a2141e0ffda2994aa308645dc32f59
@@ -51542,7 +50714,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Sat Jan 2 00:36:19 2016 +0400
[travis] Try building on Trusty
-
+
Trusty has gtk-doc 1.20 which has better markdown support which should
fix some of the brokenness in the newly added documentation. The build
seems to be as fast as the current container-based build on Precise.
@@ -51555,7 +50727,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 1 19:06:43 2016 +0000
[travis] Only run coveralls if testing behdad/harfbuzz
-
+
Fixes failures in others' forks, like:
https://travis-ci.org/khaledhosny/harfbuzz/jobs/99719710#L3912
@@ -51568,7 +50740,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 1 16:44:01 2016 +0000
Merge pull request #207 from khaledhosny/docs-4
-
+
[docs] More buffers documentation
commit 9ab9f974d42e0001966e243a23a64e6aefbd4764
@@ -51578,10 +50750,8 @@ Date: Fri Jan 1 20:38:21 2016 +0400
[docs] More buffers documentation
docs/harfbuzz-sections.txt | 4 +-
- src/hb-buffer-serialize.cc | 85
- ++++++++++++++++++++++++++++++-------------
- src/hb-buffer.cc | 91
- +++++++++++++++++++++++++++++++++++-----------
+ src/hb-buffer-serialize.cc | 85 ++++++++++++++++++++++++++++++-------------
+ src/hb-buffer.cc | 91 +++++++++++++++++++++++++++++++++++-----------
src/hb-buffer.h | 78 +++++++++++++++++++++++++--------------
src/hb-shape.cc | 10 +++--
5 files changed, 187 insertions(+), 81 deletions(-)
@@ -51592,7 +50762,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 30 22:20:14 2015 +0100
Merge pull request #205 from khaledhosny/more-docs
-
+
More docs
commit d7ed6f50b4ff13a94701131913d931f13a4d1266
@@ -51601,7 +50771,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 30 22:20:00 2015 +0100
Merge pull request #206 from nico/patch-3
-
+
Remove unused HB_SHAPER_DATA_ENSURE_DECLARE lines.
commit a7f0e25dafa90bd21b01c38cb0782ade54b75cdc
@@ -51609,12 +50779,8 @@ Author: Nico Weber <nicolasweber@gmx.de>
Date: Wed Dec 30 16:05:52 2015 -0500
Remove unused HB_SHAPER_DATA_ENSURE_DECLARE lines.
-
- The coretext_aat shaper delegates to the regular coretext_..._ensure()
- functions, so coretext_aat_..._ensure() functions defined by these
- macros are unused. The compiler warns about them, which in turn can
- confuse people to think that the coretext_aat_..._ensure() functions
- weren't called by accident.
+
+ The coretext_aat shaper delegates to the regular coretext_..._ensure() functions, so coretext_aat_..._ensure() functions defined by these macros are unused. The compiler warns about them, which in turn can confuse people to think that the coretext_aat_..._ensure() functions weren't called by accident.
src/hb-coretext.cc | 4 ----
1 file changed, 4 deletions(-)
@@ -51624,13 +50790,11 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Wed Dec 30 22:57:04 2015 +0400
[docs] Reduce gtkdoc-check errors
-
- Now it is just reporting one error about “503 undocumented or
- incomplete
+
+ Now it is just reporting one error about “503 undocumented or incomplete
symbols”, that will be the easy part I guess.
- docs/harfbuzz-docs.xml | 74
- ++++++++++++++++++++++++++++++++++++++++++++++
+ docs/harfbuzz-docs.xml | 74 ++++++++++++++++++++++++++++++++++++++++++++++
docs/harfbuzz-sections.txt | 40 +++++++++++++++++++++++++
2 files changed, 114 insertions(+)
@@ -51649,7 +50813,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 30 16:44:19 2015 +0100
Merge pull request #203 from nico/patch-1
-
+
Remove unused `retry:` label.
commit 266bfa3772e75fedcd93db22bf8672a13ad7a7d9
@@ -51694,7 +50858,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 30 15:45:43 2015 +0100
[docs] Shuffling code around in deploy-docs.sh
-
+
Temporarily makes it rebuild docs on every change again.
.ci/deploy-docs.sh | 46 +++++++++++++++++++++++++++-------------------
@@ -51706,7 +50870,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 30 15:13:37 2015 +0100
Merge pull request #202 from khaledhosny/doc-fixes
-
+
Doc fixes
commit fb192c263e17081c87f4cc971274d9be42f19513
@@ -51717,8 +50881,7 @@ Date: Wed Dec 30 15:05:50 2015 +0400
docs/harfbuzz-sections.txt | 2 ++
src/hb-buffer.cc | 7 +++---
- src/hb-buffer.h | 56
- ++++++++++++++++++++++++++++++++++++++++++++--
+ src/hb-buffer.h | 56 ++++++++++++++++++++++++++++++++++++++++++++--
3 files changed, 60 insertions(+), 5 deletions(-)
commit 8ab797c5b86c33eab6ee024471fd3c147325d26a
@@ -51728,8 +50891,7 @@ Date: Tue Dec 29 17:42:16 2015 +0400
[docs] A bit more buffers documentation
docs/harfbuzz-sections.txt | 60 +++++++++++++++---------------
- src/hb-buffer.cc | 93
- +++++++++++++++++++++++++++++++---------------
+ src/hb-buffer.cc | 93 +++++++++++++++++++++++++++++++---------------
src/hb-buffer.h | 7 +++-
src/hb-common.cc | 43 +++++++++++++--------
src/hb-common.h | 15 +++++---
@@ -51740,12 +50902,11 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Tue Dec 29 15:21:20 2015 +0400
[docs] Some documentation on buffers
-
+
Some of it (create, reference, destroy) are adapted from Cairo docs.
docs/harfbuzz-sections.txt | 55 +++++++-------
- src/hb-buffer.cc | 174
- +++++++++++++++++++++++++++------------------
+ src/hb-buffer.cc | 174 +++++++++++++++++++++++++++------------------
2 files changed, 132 insertions(+), 97 deletions(-)
commit d7bf9d05c519a369a7b3a02e9ed5ecc05a20cd3e
@@ -51753,7 +50914,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Tue Dec 29 02:23:24 2015 +0400
[docs] Fix comment syntax
-
+
To lower the number of gtk-doc warnings.
.travis.yml | 2 +-
@@ -51767,9 +50928,8 @@ Author: Nico Weber <nicolasweber@gmx.de>
Date: Mon Dec 28 21:31:28 2015 -0500
Remove unused `retry:` label.
-
- Fixes a -Wunused-label warning when building harfbuzz with clang
- -Wall.
+
+ Fixes a -Wunused-label warning when building harfbuzz with clang -Wall.
src/hb-coretext.cc | 1 -
1 file changed, 1 deletion(-)
@@ -51779,7 +50939,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Tue Dec 29 02:15:21 2015 +0400
[docs] Ignore the new HB_EXTERN decoration
-
+
Otherwise, almost all API functions are not extracted.
docs/Makefile.am | 3 ++-
@@ -51799,7 +50959,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Sat Dec 26 06:35:08 2015 +0400
[travis] Build docs only on tagged revisions
-
+
Lets see if it works…
.ci/deploy-docs.sh | 4 +++-
@@ -51810,9 +50970,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Dec 25 18:41:41 2015 +0100
[travis] Remove secure var
-
- I've set up a secure var for behdad/harfbuzz through Travis web
- interface, no need
+
+ I've set up a secure var for behdad/harfbuzz through Travis web interface, no need
to set the var here.
.ci/deploy-docs.sh | 2 +-
@@ -51825,7 +50984,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Dec 25 18:21:08 2015 +0100
Merge pull request #199 from behdad/travis-docs
-
+
Deploy docs to gh-pages branch from Travis builds
commit 6173c2a6fc6ea0bf812f7f398770b5342974f9bf
@@ -51833,18 +50992,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Dec 25 18:18:23 2015 +0100
Fix flaky test
-
- This test font had a upem of 769, which results in rounding-related
- errors with
+
+ This test font had a upem of 769, which results in rounding-related errors with
the FreeType font funcs. Change the upem to 1024 to fix that.
-
+
Fixes https://github.com/behdad/harfbuzz/issues/201
- ...> 1c2fb74c1b2aa173262734c1f616148f1648cfd6.ttf} | Bin 4064 ->
- 4064 bytes
+ ...> 1c2fb74c1b2aa173262734c1f616148f1648cfd6.ttf} | Bin 4064 -> 4064 bytes
test/shaping/fonts/sha1sum/MANIFEST | 2 +-
- test/shaping/tests/ligature-id.tests | 70
- ++++++++++-----------
+ test/shaping/tests/ligature-id.tests | 70 ++++++++++-----------
3 files changed, 36 insertions(+), 36 deletions(-)
commit 3fcae6d82da389c9944386a8ab41eb1c13b99330
@@ -51864,8 +51020,7 @@ Date: Wed Dec 23 01:29:48 2015 +0400
docs/Makefile.am | 1 +
docs/harfbuzz-docs.xml | 15 ++++----
- docs/usermanual-install-harfbuzz.xml | 70
- ++++++++++++++++++++++++++++++++++++
+ docs/usermanual-install-harfbuzz.xml | 70 ++++++++++++++++++++++++++++++++++++
3 files changed, 80 insertions(+), 6 deletions(-)
commit 493a92220844c8996be67c8a7a2c5447942fe2c1
@@ -51873,14 +51028,12 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Wed Dec 23 00:33:41 2015 +0400
Rename user manual files
-
+
Use chapter ids instead of numbers, so that we can reorder them,
introduce new ones etc. without the numbers becoming out of date.
- docs/Makefile.am | 12
- ++++++------
- docs/harfbuzz-docs.xml | 12
- ++++++------
+ docs/Makefile.am | 12 ++++++------
+ docs/harfbuzz-docs.xml | 12 ++++++------
... => usermanual-buffers-language-script-and-direction.xml} | 0
docs/{usermanual-ch04.xml => usermanual-fonts-and-faces.xml} | 0
...{usermanual-ch06.xml => usermanual-glyph-information.xml} | 0
@@ -51905,7 +51058,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Mon Dec 14 23:33:51 2015 +0400
Deploy docs to gh-pages branch from Travis builds
-
+
Build docs in Travis and push them to the gh-pages branch, which makes
them available at http://behdad.github.io/harfbuzz/
@@ -51918,7 +51071,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 23 14:50:53 2015 +0100
[layout] Collect coverage glyphs in PairPos
-
+
Apparently class=0 is used for ClassDef1. See:
https://github.com/adobe-type-tools/afdko/issues/90
@@ -51939,16 +51092,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Dec 18 18:17:07 2015 +0000
[buffer] Add debugging, aka, message, API
-
- Currently just announces lookup applications. Message-API *will*
- change.
- hb-shape / hb-view are updated to print-out messages to stder
- if --debug
+
+ Currently just announces lookup applications. Message-API *will* change.
+ hb-shape / hb-view are updated to print-out messages to stder if --debug
is specified.
src/hb-buffer-private.hh | 18 ++++++++++++++++++
- src/hb-buffer.cc | 44
- ++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-buffer.cc | 44 ++++++++++++++++++++++++++++++++++++++++++++
src/hb-buffer.h | 15 +++++++++++++++
src/hb-ot-layout.cc | 12 ++----------
util/main-font-text.hh | 18 ++++++++++++++++++
@@ -51968,8 +51118,7 @@ commit 862b1644e9469a7e70555141f53729409d50d0d2
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Dec 18 13:54:06 2015 +0000
- [use] Only set syllable-based topographical features if not
- Arabic-joining
+ [use] Only set syllable-based topographical features if not Arabic-joining
src/hb-ot-shape-complex-use.cc | 3 +++
1 file changed, 3 insertions(+)
@@ -51979,18 +51128,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Dec 18 13:47:16 2015 +0000
[indic] Followup fix for Malayalam context matching
-
+
We regeressed Malayalam in 508cc3d3cfcfb0383df0fe795cc28db4e0fd5729
This brings down the failures to 198 (from 750).
-
+
BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%)
GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%)
KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%)
KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%)
- MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed
- (0.0188871%)
+ MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
@@ -52005,31 +51153,28 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Dec 18 11:05:11 2015 +0000
[indic] Update data tables to Unicode 8.0
-
- Test stats remain unchanged, except for Malayalam, which we
- investigate:
-
+
+ Test stats remain unchanged, except for Malayalam, which we investigate:
+
BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%)
GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%)
KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%)
KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%)
- MALAYALAM: 1047584 out of 1048334 tests passed. 750 failed
- (0.0715421%)
+ MALAYALAM: 1047584 out of 1048334 tests passed. 750 failed (0.0715421%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
-
+
Myanmar, compared to Windows 10 mmrtext.ttf:
-
+
MYANMAR: 1123865 out of 1123883 tests passed. 18 failed (0.00160159%)
src/gen-indic-table.py | 1 +
src/hb-ot-shape-complex-indic-private.hh | 40 ++--
- src/hb-ot-shape-complex-indic-table.cc | 372
- ++++++++++++++++++-------------
+ src/hb-ot-shape-complex-indic-table.cc | 372 ++++++++++++++++++-------------
src/hb-ot-shape-complex-indic.cc | 23 +-
src/hb-ot-shape-complex-myanmar.cc | 4 +
5 files changed, 244 insertions(+), 196 deletions(-)
@@ -52039,7 +51184,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 17 17:47:35 2015 +0000
Remove HB_OT_SHAPE_ZERO_WIDTH_MARKS_DEFAULT
-
+
The DEFAULT naming wasn't helpful, so just remove it.
src/hb-ot-shape-complex-default.cc | 2 +-
@@ -52053,14 +51198,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 17 17:31:17 2015 +0000
[indic] Allow context when matching for Malayalam new-spec
-
+
Test sequence:
U+0995,U+09CD,U+09B0
-
- With Nirmala shipped on Windows 10, this failed to form the below
- form.
+
+ With Nirmala shipped on Windows 10, this failed to form the below form.
Works now.
-
+
Reported by Sairus.
src/hb-ot-shape-complex-indic.cc | 11 +++++++++--
@@ -52071,14 +51215,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 17 16:57:47 2015 +0000
[uniscribe] Handle E_NOT_SUFFICIENT_BUFFER as well as E_OUTOFMEMORY
-
+
On Windows 10 we are seeing that other error message...
-
+
Test sequence: U+0995,U+-9CD,U+09B0
- With Nirmala shipped on Windows 10, this failed to form the below
- form.
+ With Nirmala shipped on Windows 10, this failed to form the below form.
Works now.
-
+
Reported by Sairus.
src/hb-uniscribe.cc | 2 +-
@@ -52089,7 +51232,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 17 16:28:38 2015 +0000
[util] Use O_BINARY instead of _O_BINARY
-
+
The latter doesn't seem to be available in Cygwin. I'm surprised it
compiled before...
@@ -52100,9 +51243,8 @@ commit 100fbeaf196515774c985ee839d0fa0695f9a6fa
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 17 15:23:09 2015 +0000
- Fix ligature component of a mark happening after a ligature within
- a ligature!
-
+ Fix ligature component of a mark happening after a ligature within a ligature!
+
Say, if we are ligating "A B_C m D", then previously 'm' was being
attached to 'B' in the combined A_B_C_D ligature. Now we attach it
to 'C'. No test for this though :(.
@@ -52115,14 +51257,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 17 15:21:14 2015 +0000
Improve ligature-component handling
-
+
We use three bits for lig_id these days, so we finally got a report of
two separate ligatures with the same lig_id happening adjacent to each
other, and then the component-handling code was breaking things.
- Protect against that by ignoring same-lig-id but lig-comp=0 glyphs
- after
+ Protect against that by ignoring same-lig-id but lig-comp=0 glyphs after
a new ligature.
-
+
Fixes https://github.com/behdad/harfbuzz/issues/198
src/hb-ot-layout-gsubgpos-private.hh | 12 +++++--
@@ -52130,8 +51271,7 @@ Date: Thu Dec 17 15:21:14 2015 +0000
test/shaping/fonts/sha1sum/MANIFEST | 1 +
.../c78d1f25ea1df1210414f2fe2e0e1e53082bba76.ttf | Bin 0 -> 4064 bytes
test/shaping/tests/MANIFEST | 1 +
- test/shaping/tests/ligature-id.tests | 35
- +++++++++++++++++++++
+ test/shaping/tests/ligature-id.tests | 35 +++++++++++++++++++++
6 files changed, 47 insertions(+), 3 deletions(-)
commit 2ab0de9fbd03231b647345b01e31b136e2e00978
@@ -52139,7 +51279,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 17 11:59:15 2015 +0000
[use] Fix halant detection
-
+
Before, we were just checking the use_category(). This detects as
halant a ligature that had the halant as first glyph (as seen in
NotoSansBalinese.) Change that to use the is_ligated() glyph prop
@@ -52147,16 +51287,14 @@ Date: Thu Dec 17 11:59:15 2015 +0000
the rphf / pref tests. So we need to make sure the "ligated" bit
survives those tests. Since those only check the "substituted" bit,
we now only clear that bit for them and "ligated" survives.
-
+
Fixes https://github.com/behdad/harfbuzz/issues/180
src/hb-ot-layout-private.hh | 6 ++----
- src/hb-ot-shape-complex-use.cc | 19
- ++++++++++++-------
+ src/hb-ot-shape-complex-use.cc | 19 ++++++++++++-------
test/shaping/Makefile.am | 1 +
test/shaping/fonts/sha1sum/MANIFEST | 1 +
- .../fbb6c84c9e1fe0c39e152fbe845e51fd81f6748e.ttf | Bin 0 ->
- 2616 bytes
+ .../fbb6c84c9e1fe0c39e152fbe845e51fd81f6748e.ttf | Bin 0 -> 2616 bytes
test/shaping/tests/MANIFEST | 1 +
test/shaping/tests/use.tests | 1 +
7 files changed, 18 insertions(+), 11 deletions(-)
@@ -52166,7 +51304,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 17 11:04:33 2015 +0000
[arabic] Use glyph advance width in apply_stch() instead of extents
-
+
That seems to be what Windows is doing, and makes more sense.
src/hb-ot-shape-complex-arabic.cc | 24 +++++++-----------------
@@ -52177,7 +51315,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 16 17:08:36 2015 +0100
Fix Since: tags for new API
-
+
https://github.com/behdad/harfbuzz/commit/e1d4d0f1dbd8518b5672245c05d73f22a9ed03ea#commitcomment-15006653
src/hb-font.cc | 6 +++---
@@ -52189,7 +51327,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 14 14:19:03 2015 +0100
Merge pull request #196 from srl295/aix
-
+
AIX fixes
commit a13b023dbfd0532e8cd74c356fbbd4453d0ffaa0
@@ -52197,14 +51335,14 @@ Author: Steven R. Loomis <srloomis@us.ibm.com>
Date: Fri Dec 11 10:21:27 2015 -0800
AIX fixes
-
+
- use '-w' instead of '\<...\>' for check-header-guards
grep manpage says these are the same
-
+
- put '-q' first in the grep options
-
+
- move VAR into hb-private.hh
-
+
- hb-font-private.hh - use [VAR] instead of [] for variable array
src/check-header-guards.sh | 5 ++---
@@ -52228,7 +51366,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 10 16:56:07 2015 +0100
Merge branch 'font-extents'
-
+
Fixes https://github.com/behdad/harfbuzz/pull/165
commit 808d3fc0eadd379909f2a0308fd3db474f1efde8
@@ -52264,7 +51402,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 10 15:54:42 2015 +0100
Add atomic ops for AIX
-
+
Patch from Volker Simonis.
src/hb-atomic-private.hh | 25 +++++++++++++++++++++++++
@@ -52275,28 +51413,19 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 7 21:38:47 2015 +0100
Remove final pause from Arabic shaper
-
- Back in the old days, we used to apply 'calt' and 'cswh' in Arabic
- shaper,
- with a pause in between. Then we disabled the 'cswh' because
- Microsoft
+
+ Back in the old days, we used to apply 'calt' and 'cswh' in Arabic shaper,
+ with a pause in between. Then we disabled the 'cswh' because Microsoft
disabled it, but forgot to remove the unnecessary pause. Do that now.
-
- This has the benefit that it fixes shaping with monbaiti from
- Windows 10.
- In that version of that font, the lookups from 'calt' are duplicated
- in
- 'rclt', and Mongolian was changed to go through Universal Shaping
- Engine.
- We still use the Arabic shaper for Mongolian. With a pause after
- 'calt',
- we were applying the duplicate lookups from 'calt' and 'rclt' twice.
- It
+
+ This has the benefit that it fixes shaping with monbaiti from Windows 10.
+ In that version of that font, the lookups from 'calt' are duplicated in
+ 'rclt', and Mongolian was changed to go through Universal Shaping Engine.
+ We still use the Arabic shaper for Mongolian. With a pause after 'calt',
+ we were applying the duplicate lookups from 'calt' and 'rclt' twice. It
happened to be the case that these lookups were NOT idempotent. So we
- were getting wrong shaping. See thread "Windows 10 monbaiti.ttf
- upgrade
- (5.01 -> 5.51) caused loss of diacritical marks when shaped with
- harfbuz"
+ were getting wrong shaping. See thread "Windows 10 monbaiti.ttf upgrade
+ (5.01 -> 5.51) caused loss of diacritical marks when shaped with harfbuz"
on the mailing list. This fixes that.
src/hb-ot-shape-complex-arabic.cc | 2 +-
@@ -52308,7 +51437,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 7 10:44:08 2015 +0100
Merge pull request #192 from behdad/jfkthame-stch
-
+
[issue 191] Make apply_stch() give a more precise fit
commit 255df6801201fb22402420f7b7b7ea8b042df8ba
@@ -52316,7 +51445,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 7 10:34:47 2015 +0100
Fix undefined behavior in cmp function
-
+
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=93274
src/hb-ot-map-private.hh | 3 ++-
@@ -52327,7 +51456,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 7 10:30:43 2015 +0100
Fix sorting order of ot_languages array
-
+
Looks like the original sort was wrongly done.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=93275
@@ -52339,7 +51468,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 7 10:28:46 2015 +0100
Add test to make sure ot-languages array is sorted
-
+
Currently fails. Part of
https://bugs.freedesktop.org/show_bug.cgi?id=93275
@@ -52353,7 +51482,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 7 09:34:58 2015 +0100
Merge pull request #134 from ebraminio/dwrite
-
+
Add working but less prefect DirectWrite backend
commit a7ffe3535836032dba5559080dffeec79473197b
@@ -52361,11 +51490,8 @@ Author: jfkthame <jfkthame@gmail.com>
Date: Sat Dec 5 17:47:37 2015 +0000
Make apply_stch() give a more precise fit
-
- This aims to make Syriac Abbr Mark sizing more accurate when repeating
- segments are used, by adding an extra repeat and tightening up the
- spacing slightly rather than leaving a shortfall corresponding to
- a partial repeat-width.
+
+ This aims to make Syriac Abbr Mark sizing more accurate when repeating segments are used, by adding an extra repeat and tightening up the spacing slightly rather than leaving a shortfall corresponding to a partial repeat-width.
src/hb-ot-shape-complex-arabic.cc | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
@@ -52375,7 +51501,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 30 16:53:21 2015 -0800
src/test.cc: wrong field printed
-
+
Fixes https://github.com/behdad/harfbuzz/issues/188
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=93182
@@ -52389,8 +51515,7 @@ Date: Mon Oct 26 16:23:22 2015 +0900
Get font ascender and descender metrics from OS/2 table.
src/hb-font-private.hh | 39 ++++++++++++++++++-
- src/hb-font.cc | 102
- ++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/hb-font.cc | 102 ++++++++++++++++++++++++++++++++++++++++++++++++-
src/hb-font.h | 62 ++++++++++++++++++++++++++++--
src/hb-ft.cc | 21 ++++++++++
src/hb-ot-font.cc | 58 ++++++++++++++++++++++++++--
@@ -52403,8 +51528,7 @@ Date: Mon Oct 26 16:22:38 2015 +0900
Parse the OS/2 table.
src/Makefile.am | 1 +
- src/hb-ot-os2-table.hh | 105
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-os2-table.hh | 105 +++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 106 insertions(+)
commit d44d52bd0da033865641dfd39d94852119fd4fd7
@@ -52443,8 +51567,7 @@ commit ea512f71084296be3bd893f78650def894066de0
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 26 19:22:22 2015 -0500
- Use C-style casts instead of compare to 0, to convert hb_bool_t
- to bool
+ Use C-style casts instead of compare to 0, to convert hb_bool_t to bool
src/hb-common.cc | 2 +-
src/hb-fallback-shape.cc | 2 +-
@@ -52463,11 +51586,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 26 18:48:42 2015 -0500
Fix vertical GPOS
-
+
This was brorken earlier, though, it's really hard to notice it.
Unlike the glyph_h_origin(), an unset glyph_v_origin() does NOT
mean that the vertical origin is at 0,0.
-
+
Related to https://github.com/behdad/harfbuzz/issues/187
src/hb-ot-shape.cc | 13 ++++++++-----
@@ -52480,8 +51603,7 @@ Date: Thu Nov 26 18:48:30 2015 -0500
Add tests for previous commit
test/shaping/Makefile.am | 1 +
- .../sha1sum/49c9f7485c1392fa09a1b801bc2ffea79275f22e.ttf | Bin 0 ->
- 1496 bytes
+ .../sha1sum/49c9f7485c1392fa09a1b801bc2ffea79275f22e.ttf | Bin 0 -> 1496 bytes
test/shaping/fonts/sha1sum/MANIFEST | 1 +
test/shaping/tests/MANIFEST | 1 +
test/shaping/tests/simple.tests | 2 ++
@@ -52492,12 +51614,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 26 18:43:15 2015 -0500
Make nil glyph_h_origin() function return true
-
+
Fixes https://github.com/behdad/harfbuzz/issues/187
-
+
Funcs implementations that have a non-zero horizontal origin must
implement the glyph_h_origin() callback, nothing new here.
-
+
Other implementations (all I know of!) can simply not set
glyph_h_origin() now. I did that for hb-ot and hb-ft in
44f82750807475aa5b16099ccccd917d488df703, though that broke the
@@ -52512,7 +51634,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 24 15:38:43 2015 -0600
Merge pull request #114 from ThePhD/vc++-fixes
-
+
Fix all VC++ warnings and errors
commit b344af80ca95b9eddfd6017aa6ae103388d6b5f8
@@ -52521,7 +51643,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 24 15:30:27 2015 -0600
Merge pull request #177 from fanc999/exporting
-
+
Enable use of compiler directives to export symbols
commit 662acd26d10c38e96a9afcdaab2cb2979794966f
@@ -52530,7 +51652,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 24 15:29:44 2015 -0600
Merge pull request #181 from mhosken/master
-
+
Fix y_scale problems in hb-gr
commit b24e93e3a4d98111c4684fa08e9080b471881d5c
@@ -52549,7 +51671,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Tue Nov 24 18:37:35 2015 +0400
Merge pull request #185 from khaledhosny/travis-osx
-
+
[travis] Enable Mac OS X support
commit d538201918e6932ef7645f8d5b2c3491954936f8
@@ -52557,7 +51679,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Tue Nov 24 12:46:35 2015 +0400
[travis] Enable Mac OS X support
-
+
Fixes https://github.com/behdad/harfbuzz/issues/182
.travis.yml | 22 ++++++++++++++++------
@@ -52568,7 +51690,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 23 16:46:14 2015 -0600
[travis] Remove coverity scan
-
+
I never could get it to work, and it's a proprietary platform.
.travis.yml | 11 -----------
@@ -52589,20 +51711,17 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Thu Nov 19 18:34:12 2015 +0800
Public headers: Decorate public symbols with HB_EXTERN
-
+
This prepares the headers for exporting symbols using visibility
- attributes or __declspec(dllexport), so that we do not need to
- maintain
- symbols listing files, as this is what was and is done in GLib
- and GTK+.
+ attributes or __declspec(dllexport), so that we do not need to maintain
+ symbols listing files, as this is what was and is done in GLib and GTK+.
src/hb-blob.h | 24 +++++-----
src/hb-buffer.h | 100 +++++++++++++++++++-------------------
src/hb-common.h | 22 ++++-----
src/hb-coretext.h | 6 +--
src/hb-face.h | 34 ++++++-------
- src/hb-font.h | 114
- ++++++++++++++++++++++----------------------
+ src/hb-font.h | 114 ++++++++++++++++++++++----------------------
src/hb-ft.h | 18 +++----
src/hb-glib.h | 8 ++--
src/hb-gobject-enums.h.tmpl | 2 +-
@@ -52637,7 +51756,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 20 13:28:42 2015 -0800
Merge pull request #176 from behdad/missing-braces
-
+
Add braces for subobject initializer in _hb_font_funcs_nil
commit 1dc32ea4d2f294f9d1ae1c8fd19fb75f9278223b
@@ -52654,16 +51773,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 20 13:21:29 2015 -0800
Define HB_MARK_AS_FLAG_T as a macro instead of using templates
-
- The generic template operator overloading was causing more problems
- than it
+
+ The generic template operator overloading was causing more problems than it
solved. Eg:
-
+
https://github.com/behdad/harfbuzz/pull/163
https://github.com/behdad/harfbuzz/issues/175
-
+
So, just use macros.
-
+
Fixes https://github.com/behdad/harfbuzz/issues/175
Fixes https://github.com/behdad/harfbuzz/pull/178
@@ -52675,9 +51793,8 @@ Author: jfkthame <jfkthame@gmail.com>
Date: Fri Nov 20 08:43:49 2015 +0000
Add braces for subobject initializer in _hb_font_funcs_nil
-
- To avoid triggering -Wmissing-braces; see
- https://bugzilla.mozilla.org/show_bug.cgi?id=1226175#c8
+
+ To avoid triggering -Wmissing-braces; see https://bugzilla.mozilla.org/show_bug.cgi?id=1226175#c8
src/hb-font.cc | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
@@ -52687,17 +51804,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 19 12:39:09 2015 -0800
Do not allow recursiving to same position and same lookup
-
+
This is just to make it harder to be extremely slow. There definitely
are ways still, just harder. Oh well... how do we tame this problem
without solving halting problem?!
-
+
Fixes https://github.com/behdad/harfbuzz/issues/174
src/hb-ot-layout-gsubgpos-private.hh | 5 +++++
test/shaping/fonts/sha1sum/MANIFEST | 1 +
- .../sha1sum/fab39d60d758cb586db5a504f218442cd1395725.ttf | Bin 0 ->
- 1894 bytes
+ .../sha1sum/fab39d60d758cb586db5a504f218442cd1395725.ttf | Bin 0 -> 1894 bytes
test/shaping/tests/fuzzed.tests | 1 +
4 files changed, 7 insertions(+)
@@ -52715,9 +51831,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 19 11:59:03 2015 -0800
Revert "Fix hang in OOM situations"
-
+
This reverts commit f0599db761d7fc2d585d86e757a797f75ebc7499.
-
+
Commit abadc1717d997b69f987fdf1be9e12156d2d13d6 provides a better
fix for this.
@@ -52729,9 +51845,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 19 11:50:58 2015 -0800
Revert "Make sure we make progress in OOM situations"
-
+
This reverts commit 68b507a3c3c62c28c38e13fee733702bb703b6ca.
-
+
Commit abadc1717d997b69f987fdf1be9e12156d2d13d6 provides a better
fix for this.
@@ -52763,10 +51879,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 18 23:23:35 2015 -0800
[travis] Only coverity-scan the coverity_scan branch
-
+
This essentially disables coverity-scan right now, until we find
a pattern to continuously submit branches there.
-
+
For background reasoning, see:
Fixes https://github.com/behdad/harfbuzz/issues/171
@@ -52778,16 +51894,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 18 23:09:13 2015 -0800
Add tests for previous two commits
-
+
To fully test what these are supposed to test, they should be run
against libharfbuzz-fuzzing.la instead of libharfbuzz.la, but for
now just record the files.
- .../sha1sum/43979b90b2dd929723cf4fe1715990bcb9c9a56b.ttf | Bin 0 ->
- 1804 bytes
+ .../sha1sum/43979b90b2dd929723cf4fe1715990bcb9c9a56b.ttf | Bin 0 -> 1804 bytes
test/shaping/fonts/sha1sum/MANIFEST | 2 ++
- .../sha1sum/b9e2aaa0d75fcef6971ec3a96d806ba4a6b31fe2.ttf | Bin 0 ->
- 1804 bytes
+ .../sha1sum/b9e2aaa0d75fcef6971ec3a96d806ba4a6b31fe2.ttf | Bin 0 -> 1804 bytes
test/shaping/tests/fuzzed.tests | 2 ++
4 files changed, 4 insertions(+)
@@ -52796,9 +51910,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 18 23:04:45 2015 -0800
Fix another move_to assertion failure
-
+
If buf->idx is at end, don't set end past it...
-
+
Fixes https://github.com/behdad/harfbuzz/issues/173
src/hb-ot-layout-gsubgpos-private.hh | 2 +-
@@ -52809,7 +51923,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 18 17:52:08 2015 -0800
Try to better handle OOM situations
-
+
Fixes assert fail in https://github.com/behdad/harfbuzz/issues/161
with libharfbuzz-fuzzing.
@@ -52837,7 +51951,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 18 16:27:32 2015 -0800
Enable building a bounded version of the library for fuzzing
-
+
test/fuzzing/hb-fuzzer links against libharfbuzz-fuzzing.so now.
src/Makefile.am | 16 ++++++++++++++++
@@ -52860,7 +51974,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 17 18:40:10 2015 -0800
Merge pull request #163 from fanc999/msvc.src
-
+
Update the sources so they will compile under Visual Studio
commit 167c3271778cd1a8c4433b9d2230901ce17c099e
@@ -52868,24 +51982,17 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Mon Nov 9 17:17:56 2015 +0800
Fix build on MSVC >= 2012
-
+
Use the DEFINE_ENUM_FLAG_OPERATORS macro in winnt.h on Visual Studio,
- which defines the bitwise operators for the enumerations that we
- want to
- mark as hb_mark_as_flags_t, which will take care of the situation
- on newer
- Visual Studio (>= 2012), where the build breaks with C2057 errors
- as the
- underlying types of the enumerations is not clear to the compiler
- when we
+ which defines the bitwise operators for the enumerations that we want to
+ mark as hb_mark_as_flags_t, which will take care of the situation on newer
+ Visual Studio (>= 2012), where the build breaks with C2057 errors as the
+ underlying types of the enumerations is not clear to the compiler when we
do a bitwise op within the declaration of the enumerations themselves.
-
- Also disable the C4200 (nonstandard extension used : zero-sized
- array in
- struct/union) and C4800 ('type' : forcing value to bool 'true' or
- 'false'
- (performance warning)) warnings as the C4200 is the intended
- scenario and
+
+ Also disable the C4200 (nonstandard extension used : zero-sized array in
+ struct/union) and C4800 ('type' : forcing value to bool 'true' or 'false'
+ (performance warning)) warnings as the C4200 is the intended scenario and
C4800 is harmless but is so far an unavoidable side effect of using
DEFINE_ENUM_FLAG_OPERATORS.
@@ -52901,7 +52008,7 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Fri Nov 6 14:28:30 2015 +0800
hb-ot-shape-complex-arabic.cc: Fix build on Visual Studio
-
+
Visual Studio does not like declaring a enum variable within a for
statement, so fix the build by declaring the enum before doing the for
loop.
@@ -52914,11 +52021,9 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Tue Nov 3 18:49:34 2015 +0800
MSVC builds: Add fallback implementation for pre-2013 MSVC
-
- Pre-2013 MSVC does not have scalbn() and scalbnf(), which are used
- in the
- utility programs. Add fallback implementations for these, which
- can be
+
+ Pre-2013 MSVC does not have scalbn() and scalbnf(), which are used in the
+ utility programs. Add fallback implementations for these, which can be
used when necessary.
util/options.hh | 17 +++++++++++++++++
@@ -52929,19 +52034,18 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Mon Nov 2 16:55:29 2015 +0800
util: Fix build on Visual Studio
-
+
Use the fallback implementation for lround() only on pre-2013 Visual
Studio, and ensure we are clear about the types of the parameters for
lround() and scalbnf(), since Visual Studio can be quite picky on
ambiguous parameter types. Also, use g_ascii_strcasecmp() rather than
strcasecmp() as we are already using GLib for this code and we are
assured that g_ascii_strcasemp() is available.
-
+
For scalbnf() on pre-2013 Visaul Studio, a fallback implementation is
- needed, but use another forced-included header for those compilers,
- which
+ needed, but use another forced-included header for those compilers, which
will be added later.
-
+
Also use (char)27 on Visual Studio builds as '\e' is not a recognized
escape sequence, which will do the same thing.
@@ -52954,8 +52058,7 @@ commit e97835ad43f5c68e8cb29599246cae0f4461d663
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 10 11:37:01 2015 -0800
- [util] Fix crash when --output-file is specified but not
- --output-format
+ [util] Fix crash when --output-file is specified but not --output-format
util/options.hh | 3 +++
1 file changed, 3 insertions(+)
@@ -52966,7 +52069,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 7 07:50:58 2015 -0800
Merge pull request #167 from KonstantinRitt/unicode_cp_opt
-
+
Micro optimizations to UTF-16 and UTF-32 codecs
commit 04ff23e73d847ab3a5da0e9fac4fbca19aefd284
@@ -52974,7 +52077,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 6 16:29:44 2015 -0800
[arabic] Improve stretch length calculation
-
+
Err on the side of being too short, than too wide. Reduces chance
of overlaps with neighboring glyphs.
@@ -52986,14 +52089,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 6 16:27:44 2015 -0800
[arabic] Don't stretch over cased letters
-
+
Addresses
https://github.com/behdad/harfbuzz/commit/6e6f82b6f3dde0fc6c3c7d991d9ec6cfff57823d#commitcomment-14248516
- src/hb-ot-shape-complex-arabic.cc | 24
- +++++++++++++++++++++-
- src/hb-unicode-private.hh | 20
- ------------------
+ src/hb-ot-shape-complex-arabic.cc | 24 +++++++++++++++++++++-
+ src/hb-unicode-private.hh | 20 ------------------
.../script-syriac/misc/abbreviation-mark.txt | 4 ++--
3 files changed, 25 insertions(+), 23 deletions(-)
@@ -53002,9 +52103,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 6 16:18:09 2015 -0800
Revert "Don't process lookups if buffer is in error"
-
+
This reverts commit f92bd86cc8c11d262d1830c631cb7c63fc9d4bc8.
-
+
We don't want to be like cairo, where as soon as there's an error,
nothing works anymore. So, lets process lookups as long as there's
no new memory needed. That's also a model that hides fewer bugs.
@@ -53017,7 +52118,7 @@ Author: Konstantin Ritt <ritt.ks@gmail.com>
Date: Sat Nov 7 02:00:04 2015 +0400
Micro optimization to hb_utf16_t and hb_utf32_t ::prev()
-
+
Implement reverse lookup instead of re-using next()
src/hb-utf-private.hh | 29 +++++++++++++++++++----------
@@ -53065,11 +52166,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 6 00:01:24 2015 -0800
[fuzzing] Add test case for OOM
-
+
From https://github.com/behdad/harfbuzz/issues/161
- .../sha1sum/3511ff5c1647150595846ac414c595cccac34f18.ttf | Bin 0 ->
- 1483 bytes
+ .../sha1sum/3511ff5c1647150595846ac414c595cccac34f18.ttf | Bin 0 -> 1483 bytes
test/shaping/fonts/sha1sum/MANIFEST | 2 +-
test/shaping/tests/fuzzed.tests | 1 +
3 files changed, 2 insertions(+), 1 deletion(-)
@@ -53079,7 +52179,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 5 23:52:41 2015 -0800
Fix hang in OOM situations
-
+
Fixes https://github.com/behdad/harfbuzz/issues/161
src/hb-buffer-private.hh | 6 +++++-
@@ -53099,7 +52199,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 5 23:44:59 2015 -0800
Limit buffer max size growth
-
+
https://github.com/behdad/harfbuzz/issues/161
src/hb-buffer-private.hh | 11 +++++++++++
@@ -53116,8 +52216,7 @@ Date: Thu Nov 5 23:08:50 2015 -0800
configure.ac | 1 +
test/Makefile.am | 2 +-
- test/fuzzing/Makefile.am | 44
- ++++++++++++++++++++++++++++++++++++++++++++
+ test/fuzzing/Makefile.am | 44 ++++++++++++++++++++++++++++++++++++++++++++
test/fuzzing/README | 2 ++
test/fuzzing/hb-fuzzer.cc | 4 ++--
5 files changed, 50 insertions(+), 3 deletions(-)
@@ -53127,7 +52226,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 5 22:50:52 2015 -0800
[fuzzer] Add README
-
+
https://github.com/behdad/harfbuzz/issues/139#issuecomment-154202645
test/fuzzing/README | 21 +++++++++++++++++++++
@@ -53138,16 +52237,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 5 17:29:03 2015 -0800
Implement SYRIAC ABBREVIATION MARK with 'stch' feature
-
+
The feature is enabled for any character in the Arabic shaper.
We should experiment with using it for Arabic subtending marks.
Though, that has a directionality problem as well, since those
are used with digits...
-
+
Fixes https://github.com/behdad/harfbuzz/issues/141
- src/hb-ot-shape-complex-arabic.cc | 219
- ++++++++++++++++++++-
+ src/hb-ot-shape-complex-arabic.cc | 219 ++++++++++++++++++++-
src/hb-unicode-private.hh | 19 ++
.../shaper-arabic/script-syriac/misc/MANIFEST | 1 +
.../script-syriac/misc/abbreviation-mark.txt | 11 ++
@@ -53158,7 +52256,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 5 17:33:57 2015 -0800
[ft] Fix extents with negative scales
-
+
Fixes https://github.com/behdad/harfbuzz/issues/162
src/hb-ft.cc | 10 ++++++++++
@@ -53178,9 +52276,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 5 13:24:15 2015 -0800
Add new shaper method postprocess_glyphs()
-
+
Unused currently. To be used for Syriac stretch implementation.
-
+
https://github.com/behdad/harfbuzz/issues/141
src/hb-ot-shape-complex-arabic.cc | 3 ++-
@@ -53212,7 +52310,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 4 22:55:11 2015 -0800
Don't try zeroing marks by GDEF if there are no non-ASCII
-
+
This one is a hack, but should be ok.
src/hb-ot-shape.cc | 4 ++++
@@ -53242,7 +52340,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 4 22:42:41 2015 -0800
Skip GPOS cursive / attachment adjustmnent if none happened
-
+
I'm starting to really like how free these new scratch_flags are.
src/hb-ot-layout-gpos-table.hh | 3 +++
@@ -53271,7 +52369,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 4 22:00:25 2015 -0800
Move variable-sized struct member to end
-
+
Hopefully makes clang build happy
src/hb-font-private.hh | 21 ++++++++++-----------
@@ -53292,7 +52390,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 4 21:42:55 2015 -0800
Add font->has_...() to check for individual nil font funcs
-
+
Hopefully this wouldn't break any compiler. There was some magic
moments to getting this to compile...
@@ -53305,11 +52403,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 4 21:16:26 2015 -0800
Minor reshaping of hb_font_funcs_t implementation
-
+
In anticipation of further changes. No functional changes.
- src/hb-font-private.hh | 80
- ++++++++++++++++++++++++++------------------------
+ src/hb-font-private.hh | 80 ++++++++++++++++++++++++++------------------------
src/hb-font.cc | 4 +--
2 files changed, 43 insertions(+), 41 deletions(-)
@@ -53328,8 +52425,7 @@ Date: Wed Nov 4 20:47:42 2015 -0800
[ot] Remove font funcs that do nothing
- src/hb-ot-font.cc | 95
- ++++---------------------------------------------------
+ src/hb-ot-font.cc | 95 ++++---------------------------------------------------
1 file changed, 7 insertions(+), 88 deletions(-)
commit 75ea2daa1d9bbe235cd4a8570efb1913d58c3c62
@@ -53364,12 +52460,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 4 20:22:44 2015 -0800
Separate nil font-funcs from parent-peeking font-funcs
-
+
API change: all fonts created with hb_font_create() now inherit from
(ie have parent) hb_font_get_empty().
- src/hb-font.cc | 211
- +++++++++++++++++++++++++++++++++++----------------
+ src/hb-font.cc | 211 +++++++++++++++++++++++++++++++++++----------------
test/api/test-font.c | 2 +-
2 files changed, 145 insertions(+), 68 deletions(-)
@@ -53378,12 +52473,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 4 19:28:17 2015 -0800
Optimize positioning direction calculations
-
+
It makes the binary smaller AND faster. Yumm!
src/hb-font-private.hh | 40 +++++++++++++++++++++++++++++++++++++++
- src/hb-ot-shape.cc | 51
- +++++++++++++++++++++++++++-----------------------
+ src/hb-ot-shape.cc | 51 +++++++++++++++++++++++++++-----------------------
2 files changed, 68 insertions(+), 23 deletions(-)
commit e3e4bb011ae1a2f1ba05e7ea450595b185304bec
@@ -53402,7 +52496,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 4 18:46:22 2015 -0800
Optimize runs without Default_Ignorable's
-
+
Now that we have a buffer-wide scratch flags facility, use it to
optimize away a few passes.
@@ -53418,10 +52512,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 4 18:00:57 2015 -0800
Limit max edits during sanitize to 8
-
+
Used to be 100. If a tabe needs more than one or two edits, it's
probably completely bogus...
-
+
Might help with speeding up fuzzing for
https://github.com/behdad/harfbuzz/issues/157
@@ -53442,7 +52536,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 4 17:45:06 2015 -0800
If font doesn't support U+2011, fall back to U+2010
-
+
Test passes now.
src/hb-ot-shape-normalize.cc | 10 ++++++++++
@@ -53454,8 +52548,7 @@ Date: Wed Nov 4 17:43:36 2015 -0800
Untangle if/else waterfall
- src/hb-ot-shape-normalize.cc | 40
- +++++++++++++++++++++++++++-------------
+ src/hb-ot-shape-normalize.cc | 40 +++++++++++++++++++++++++++-------------
1 file changed, 27 insertions(+), 13 deletions(-)
commit 04fd8517f85ae9aa05b44f25578d2b19abfef7cb
@@ -53463,13 +52556,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 4 17:38:22 2015 -0800
Add tests for hyphen fallback
-
+
U+2011 is <noBreak> equivaent of U+2010, so we should do the fallback
for it. Currently fails.
test/shaping/Makefile.am | 1 +
- .../sha1sum/1c04a16f32a39c26c851b7fc014d2e8d298ba2b8.ttf | Bin 0 ->
- 820 bytes
+ .../sha1sum/1c04a16f32a39c26c851b7fc014d2e8d298ba2b8.ttf | Bin 0 -> 820 bytes
test/shaping/fonts/sha1sum/MANIFEST | 2 ++
test/shaping/tests/MANIFEST | 1 +
test/shaping/tests/hyphens.tests | 2 ++
@@ -53489,20 +52581,19 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 4 17:27:07 2015 -0800
Adjust the width of various spaces if font does not cover them
-
+
See discussion here:
https://github.com/behdad/harfbuzz/commit/81ef4f407d9c7bd98cf62cef951dc538b13442eb
-
+
There's no way to disable this fallback, but I don't think it would
be needed. Let's hope for the best!
-
+
Fixes https://github.com/behdad/harfbuzz/issues/153
src/hb-buffer-private.hh | 7 ++++
src/hb-buffer.cc | 2 ++
src/hb-ot-shape-fallback-private.hh | 4 +++
- src/hb-ot-shape-fallback.cc | 67
- +++++++++++++++++++++++++++++++++++++
+ src/hb-ot-shape-fallback.cc | 67 +++++++++++++++++++++++++++++++++++++
src/hb-ot-shape-normalize.cc | 1 +
src/hb-ot-shape.cc | 3 ++
src/hb-unicode-private.hh | 56 +++++++++++++++++--------------
@@ -53528,23 +52619,21 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 4 14:48:46 2015 -0800
Normalize various spaces to space if font doesn't support
-
+
This resurrects the space fallback feature, after I disabled
the compatibility decomposition. Now I can release HarfBuzz
again without breaking Pango!
-
+
It also remembers which space character it was, such that later
on we can approximate the width of this particular space
character. That part is not implemented yet.
-
+
We normalize all GC=Zs chars except for U+1680 OGHA SPACE MARK,
which is better left alone.
- src/hb-ot-layout-private.hh | 47
- +++------------------
+ src/hb-ot-layout-private.hh | 47 +++------------------
src/hb-ot-shape-normalize.cc | 12 +++++-
- src/hb-unicode-private.hh | 40
- ++++++++++++++++++
+ src/hb-unicode-private.hh | 40 ++++++++++++++++++
test/shaping/Makefile.am | 1 +
.../1c2c3fc37b2d4c3cb2ef726c6cdaaabd4b7f3eb9.ttf | Bin 0 -> 316 bytes
test/shaping/fonts/sha1sum/MANIFEST | 1 +
@@ -53575,7 +52664,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 4 14:46:10 2015 -0800
Fix typo!
-
+
Ouch! Fortunately that function was unused.
src/hb-buffer-private.hh | 2 +-
@@ -53586,11 +52675,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 4 14:18:39 2015 -0800
Add Unicode space category
-
+
Unused so far.
- src/hb-ot-layout-private.hh | 78
- +++++++++++++++++++++++++++++++++++++++++++--
+ src/hb-ot-layout-private.hh | 78 +++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 76 insertions(+), 2 deletions(-)
commit 8249ec3f86510fd24462ce71ed64a6978f0ade17
@@ -53617,7 +52705,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 4 13:17:33 2015 -0800
Add _hb_glyph_info_is_unicode_mark()
-
+
Unused right now.
src/hb-ot-layout-private.hh | 6 ++++++
@@ -53647,22 +52735,21 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 3 12:15:12 2015 -0800
[ot-font] Fix hmtx table length checking, *again*
-
+
Exactly the same problem that I fixed in
63ef0b41dc48d6112d1918c1b1de9de8ea90adb5
-
+
I rewrote the table checking yesterday in
67f8821fb25d9bd55719f5e29a582ae1af4b02b3
and introduced the exact same issue again. :(
Good thing we have ongoing fuzzing going now. Was discovered
immediately by libFuzzer. Thanks kcc!
-
+
https://github.com/behdad/harfbuzz/issues/139#issuecomment-153449473
Fixes https://github.com/behdad/harfbuzz/issues/156
src/hb-ot-font.cc | 4 ++--
- .../sha1sum/8240789f6d12d4cfc4b5e8e6f246c3701bcf861f.ttf | Bin 0 ->
- 633 bytes
+ .../sha1sum/8240789f6d12d4cfc4b5e8e6f246c3701bcf861f.ttf | Bin 0 -> 633 bytes
test/shaping/fonts/sha1sum/MANIFEST | 1 +
test/shaping/tests/fuzzed.tests | 1 +
4 files changed, 4 insertions(+), 2 deletions(-)
@@ -53676,8 +52763,7 @@ Date: Tue Nov 3 11:34:47 2015 -0800
util/helper-cairo.cc | 7 +++++--
util/main-font-text.hh | 22 ++++++++++++++++++---
util/options.cc | 21 ++++++++++----------
- util/options.hh | 53
- +++++++++++++++++++++++++++++++++-----------------
+ util/options.hh | 53 +++++++++++++++++++++++++++++++++-----------------
4 files changed, 70 insertions(+), 33 deletions(-)
commit 642135f3b2d6d6eb800153c76c4718239733c0e6
@@ -53685,11 +52771,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 3 11:26:34 2015 -0800
[util] In --debug mode, duplicate font data
-
+
This has the effect that the font data will end up in a memory
section malloc()ed exactly to its size. This gives us better
valgrind detection of out-of-bounds access.
-
+
Previously, the font data was placed in a mmap()ed section or
GString-allocated area, which didn't have proper protections
at the end when running under valgrind.
@@ -53711,7 +52797,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 2 17:52:45 2015 -0800
Remove irrelevant comment
-
+
I tried moving the is_default_ignorable() function to an INTERNAL
function. That made the binary size grow by 5k AND things got a
tad bit slower!
@@ -53734,11 +52820,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 2 17:36:51 2015 -0800
Combine unicode_props0/1 into a uint16
-
+
Slightly faster. In prep for more changes.
- src/hb-ot-layout-private.hh | 55
- ++++++++++++++++++++++++---------------------
+ src/hb-ot-layout-private.hh | 55 ++++++++++++++++++++++++---------------------
1 file changed, 29 insertions(+), 26 deletions(-)
commit 71277185454482cff9b0c10b85c416eb4d6e0ed9
@@ -53746,9 +52831,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 2 17:27:48 2015 -0800
[perf] Only call combining_class() for marks
-
- Saves some time. Also preparing for reusing the ccc byte for
- other stuff.
+
+ Saves some time. Also preparing for reusing the ccc byte for other stuff.
src/hb-ot-layout-private.hh | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
@@ -53758,7 +52842,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 2 15:43:08 2015 -0800
Make max context-length and max nesting level configurable
-
+
...at compile time.
src/hb-ot-layout-common-private.hh | 10 ++++++++--
@@ -53771,9 +52855,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 2 15:37:29 2015 -0800
[ot] Make bad-hmtx handling match FreeType
-
- Also route fuzzing-related tests through hb-ot-font, to reduce
- dependency
+
+ Also route fuzzing-related tests through hb-ot-font, to reduce dependency
on FreeType behavior for badly-broken fonts. Fixes failing test with
FreeType master.
@@ -53804,7 +52887,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 21 17:20:55 2015 -0200
Disable compatibility decomposition usage during normalization
-
+
Fixes https://github.com/behdad/harfbuzz/issues/152
src/hb-ot-shape-normalize.cc | 24 ------------------------
@@ -53815,7 +52898,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 21 11:23:12 2015 -0200
Fix two more -Wshadow warnings
-
+
https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
src/hb-open-type-private.hh | 10 +++++-----
@@ -53826,7 +52909,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 21 11:20:55 2015 -0200
Fix one more -Wshadow warning
-
+
https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
src/hb-ot-layout-gsubgpos-private.hh | 6 +++---
@@ -53837,7 +52920,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 21 11:16:49 2015 -0200
Fix a few more -Wshadow-local warnings
-
+
https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
src/hb-ot-shape-complex-indic.cc | 10 +++++-----
@@ -53850,7 +52933,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 21 11:13:21 2015 -0200
Fix one -Wshadow-compatible-local warning
-
+
From https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
src/hb-ot-shape-complex-indic.cc | 4 ++--
@@ -53861,9 +52944,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 21 11:10:10 2015 -0200
Avoid unnecessary cast to 64-bit
-
+
Fixes https://github.com/behdad/harfbuzz/issues/146
-
+
Or I think it should.
src/hb-private.hh | 2 +-
@@ -53874,7 +52957,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 21 11:04:28 2015 -0200
Add HB_FALLTHROUGH
-
+
Borrowed from https://bugzilla.mozilla.org/show_bug.cgi?id=1215411
src/hb-ot-shape-complex-indic.cc | 2 +-
@@ -53889,8 +52972,7 @@ Date: Fri Sep 11 09:48:12 2015 +0430
Add a prototype of DirectWrite as a shaping backend
- src/hb-directwrite.cc | 827
- ++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-directwrite.cc | 827 ++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-directwrite.h | 34 +++
src/hb-shaper-list.hh | 3 +
3 files changed, 864 insertions(+)
@@ -53919,7 +53001,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 20 15:19:41 2015 -0200
Merge pull request #148 from ebraminio/inst
-
+
Add BUILD.md based on harfbuzz.org docs
commit 904b0dc3811464cf61dc9457664de95ee4f61a86
@@ -53928,7 +53010,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 19 16:59:43 2015 -0200
Merge pull request #147 from ebraminio/dockerci
-
+
[ci] change to docker infrastructure
commit ba096bcc28ca80e2096e0a15191848fcd175e395
@@ -53963,16 +53045,15 @@ commit ca97ea7aa2cb7186f432aaba76f4f151aa90c1d0
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 15 20:20:22 2015 -0300
- [ft] Revert change-of-behavior of hb_ft_font_create() introduced
- in 1.0.5
-
+ [ft] Revert change-of-behavior of hb_ft_font_create() introduced in 1.0.5
+
The default FreeType load flags where changed from FT_LOAD_NO_HINTING
to FT_LOAD_DEFAULT in 2a9627c5641cd000e2adff0e42a0dc687b53ec70.
This is crashing HarfBuzz-enabled FreeType as I suppose it causes
infinite recursion between HB and FT autohinter...
-
+
Revert the behavior change.
-
+
Fixes https://github.com/behdad/harfbuzz/issues/143
src/hb-ft.cc | 2 +-
@@ -53983,15 +53064,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 15 12:55:57 2015 -0300
Add tests for a couple of fixed issues found by libFuzzer
-
+
From:
https://github.com/behdad/harfbuzz/issues/139#issuecomment-147616887
https://github.com/behdad/harfbuzz/issues/139#issuecomment-148289957
- .../sha1sum/375d6ae32a3cbe52fbf81a4e5777e3377675d5a3.ttf | Bin 0 ->
- 1024 bytes
- .../sha1sum/641bd9db850193064d17575053ae2bf8ec149ddc.ttf | Bin 0 ->
- 305 bytes
+ .../sha1sum/375d6ae32a3cbe52fbf81a4e5777e3377675d5a3.ttf | Bin 0 -> 1024 bytes
+ .../sha1sum/641bd9db850193064d17575053ae2bf8ec149ddc.ttf | Bin 0 -> 305 bytes
test/shaping/fonts/sha1sum/MANIFEST | 2 ++
test/shaping/tests/fuzzed.tests | 2 ++
4 files changed, 4 insertions(+)
@@ -54001,9 +53080,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 15 12:47:22 2015 -0300
[ot-font] Fix hmtx wrong table length check
-
+
Discovered by libFuzzer. Ouch!
-
+
https://github.com/behdad/harfbuzz/issues/139#issuecomment-148289957
src/hb-ot-font.cc | 2 +-
@@ -54014,11 +53093,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 13 23:33:28 2015 -0300
Reduce max nesting level from 8 to 6
-
+
We probably should implement better system to catch cyclic lookups.
But for now, this speeds up worst case behavior with broken fonts
considerably without compromising legitimate usecases.
-
+
https://github.com/behdad/harfbuzz/issues/139#issuecomment-147788447
src/hb-ot-layout-common-private.hh | 2 +-
@@ -54039,7 +53118,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 13 10:32:56 2015 -0300
[ot-font] Fix leak
-
+
https://github.com/behdad/harfbuzz/issues/139#issuecomment-147616887
src/hb-ot-font.cc | 1 +
@@ -54051,8 +53130,7 @@ Date: Tue Oct 13 00:33:59 2015 -0400
Add test for previous commit
- .../sha1sum/0509e80afb379d16560e9e47bdd7d888bebdebc6.ttf | Bin 0 ->
- 61 bytes
+ .../sha1sum/0509e80afb379d16560e9e47bdd7d888bebdebc6.ttf | Bin 0 -> 61 bytes
test/shaping/fonts/sha1sum/MANIFEST | 1 +
test/shaping/tests/fuzzed.tests | 1 +
3 files changed, 2 insertions(+)
@@ -54062,9 +53140,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 13 00:30:50 2015 -0400
Fix another memory access issue discovered by libFuzzer
-
- Fixes
- https://github.com/behdad/harfbuzz/issues/139#issuecomment-146984679
+
+ Fixes https://github.com/behdad/harfbuzz/issues/139#issuecomment-146984679
src/hb-ot-layout-gpos-table.hh | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
@@ -54074,11 +53151,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 12 17:39:52 2015 -0400
[fuzz] Add fuzzing script from kcc@
-
+
https://github.com/behdad/harfbuzz/issues/139
- test/fuzzing/hb-fuzzer.cc | 47
- +++++++++++++++++++++++++++++++++++++++++++++++
+ test/fuzzing/hb-fuzzer.cc | 47 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
commit cc6ea308d4c99b9dd6d625fa3a9b0ef62fa2614f
@@ -54096,8 +53172,7 @@ Date: Sun Oct 11 21:41:04 2015 -0400
Add test for ee9b0b6cb5fdb08671ab064f26c299135f828260
- .../sha1sum/5a5daf5eb5a4db77a2baa3ad9c7a6ed6e0655fa8.ttf | Bin 0 ->
- 61 bytes
+ .../sha1sum/5a5daf5eb5a4db77a2baa3ad9c7a6ed6e0655fa8.ttf | Bin 0 -> 61 bytes
test/shaping/fonts/sha1sum/MANIFEST | 1 +
test/shaping/tests/fuzzed.tests | 1 +
3 files changed, 2 insertions(+)
@@ -54116,7 +53191,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 9 14:23:15 2015 -0400
Fix another sanitize bug
-
+
Also discovered by "libFuzzer".
src/hb-open-type-private.hh | 2 +-
@@ -54129,8 +53204,7 @@ Date: Fri Oct 9 12:34:02 2015 -0400
Add test for previous fix
test/shaping/Makefile.am | 1 +
- .../sha1sum/1a6f1687b7a221f9f2c834b0b360d3c8463b6daf.ttf | Bin 0 ->
- 64 bytes
+ .../sha1sum/1a6f1687b7a221f9f2c834b0b360d3c8463b6daf.ttf | Bin 0 -> 64 bytes
test/shaping/fonts/sha1sum/MANIFEST | 1 +
test/shaping/tests/MANIFEST | 1 +
test/shaping/tests/fuzzed.tests | 1 +
@@ -54141,10 +53215,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 9 12:25:55 2015 -0400
Fix return value of sanitize when subformat is not readable
-
+
This is a fix on top of the previous issue fixed in
c917965b9e6fe2b21ed6c51559673288fa3af4b7.
-
+
This was caught by "libFuzzer" testing.
src/hb-open-type-private.hh | 2 ++
@@ -54160,8 +53234,7 @@ Date: Fri Oct 9 12:20:58 2015 -0400
Add hb_dispatch_context_t
src/hb-open-type-private.hh | 26 ++++++++++++++++++++++----
- src/hb-ot-layout-gsubgpos-private.hh | 36
- ++++++++++++------------------------
+ src/hb-ot-layout-gsubgpos-private.hh | 36 ++++++++++++------------------------
src/hb-ot-layout.cc | 8 +++-----
3 files changed, 37 insertions(+), 33 deletions(-)
@@ -54170,7 +53243,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 8 12:51:02 2015 -0400
Add hb_font_set_parent()
-
+
No reason to not have it. Makes life easier later.
We (hb-ft, hb-ot-font, etc) can use this API to inject new
parent into a font...
@@ -54194,15 +53267,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 7 17:33:20 2015 -0400
[ft] API: Add hb_font_[sg]et_load_flags() API
-
+
This changes the default load_flags of fonts created using
hb_ft_font_create() from NO_HINTING to DEFAULT. Hope that doesn't
break too much client code.
-
+
Code calling hb_ft_font_set_funcs() is unaffected.
- src/hb-ft.cc | 163
- +++++++++++++++++++++++++++++++++++++++--------------------
+ src/hb-ft.cc | 163 +++++++++++++++++++++++++++++++++++++++--------------------
src/hb-ft.h | 13 +++--
2 files changed, 118 insertions(+), 58 deletions(-)
@@ -54220,9 +53292,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Oct 3 13:20:55 2015 +0100
Allow compiling with custom allocators
-
- User can define hb_malloc_impl, etc, to name of custom allocator
- functions
+
+ User can define hb_malloc_impl, etc, to name of custom allocator functions
that have the same signature as malloc.
src/hb-private.hh | 17 +++++++++++++++++
@@ -54233,7 +53304,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 2 14:38:20 2015 +0100
Default font scale to face upem
-
+
Makes for a better default and avoids nasty inheritance issues.
See mailing list thread "Default hb_font_t scale".
@@ -54246,7 +53317,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 2 14:21:29 2015 +0100
Make hb_font_create_sub_font() NOT make parent immutable
-
+
We don't rely on that. However, whenever hb_font_make_immutable()
is called, it makes its parenting chain immutable.
@@ -54259,7 +53330,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 2 08:21:12 2015 +0100
Fix hb-ot-shape-normalize with empty buffer
-
+
Part of https://github.com/behdad/harfbuzz/issues/136
src/hb-ot-shape-normalize.cc | 2 ++
@@ -54281,10 +53352,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 2 07:25:52 2015 +0100
Fix segfault with empty buffer in hb_shape_plan_execute()
-
- Move the empty-buffer check from hb_shape_full() to
- hb_shape_plan_execute().
-
+
+ Move the empty-buffer check from hb_shape_full() to hb_shape_plan_execute().
+
Reported by Simon Cozens.
src/hb-shape-plan.cc | 9 +++++++--
@@ -54306,7 +53376,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 29 14:57:02 2015 +0100
Define return_trace()
-
+
Not functional change (expected!).
src/hb-open-file-private.hh | 20 +--
@@ -54319,8 +53389,7 @@ Date: Tue Sep 29 14:57:02 2015 +0100
src/hb-ot-layout-common-private.hh | 108 ++++++-------
src/hb-ot-layout-gdef-table.hh | 44 ++---
src/hb-ot-layout-gpos-table.hh | 252 +++++++++++++++--------------
- src/hb-ot-layout-gsub-table.hh | 304
- ++++++++++++++++++-----------------
+ src/hb-ot-layout-gsub-table.hh | 304 ++++++++++++++++++-----------------
src/hb-ot-layout-gsubgpos-private.hh | 205 +++++++++++------------
src/hb-ot-layout-jstf-table.hh | 35 ++--
src/hb-ot-maxp-table.hh | 5 +-
@@ -54333,9 +53402,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 29 14:45:35 2015 +0100
Add missing returns
-
+
Fixes possible invalid read of two bytes.
-
+
Reported by Behzad Najjarpour Jabbari, Secunia Research.
src/hb-ot-layout-gpos-table.hh | 14 +++++++-------
@@ -54348,7 +53417,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 29 14:34:56 2015 +0100
Micro-optimize hb_language_from_string()
-
+
As measured / improved by Benson Limketkai.
src/hb-common.cc | 10 +++++-----
@@ -54359,13 +53428,13 @@ Author: Sascha Brawer <sascha@brawer.ch>
Date: Sun Jun 28 03:29:47 2015 +0200
Handle language tags that indicate phonetic IPA transcription
-
+
The BCP-47 registry defines a variant subtag "fonipa" that can be used
in combination with arbitrary other language tags. For example,
"rm-CH-fonipa-sursilv" indicates the Sursilvan dialect of Romansh
as used in Switzerland, transcribed used the International Phonetic
Alphabet.
-
+
http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
src/hb-ot-tag.cc | 15 ++++++++++++++-
@@ -54377,13 +53446,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Sep 3 15:53:22 2015 +0430
Fix Since tags
-
+
Fixes https://github.com/behdad/harfbuzz/issues/103
src/hb-blob.cc | 24 +++++++++----------
src/hb-buffer-serialize.cc | 10 ++++----
- src/hb-buffer.cc | 58
- +++++++++++++++++++++++-----------------------
+ src/hb-buffer.cc | 58 +++++++++++++++++++++++-----------------------
src/hb-buffer.h | 9 +++++++
src/hb-common.cc | 24 +++++++++----------
src/hb-common.h | 3 +++
@@ -54404,16 +53472,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Sep 3 14:55:59 2015 +0430
Fix Since: version tags on font and face APIs
-
- A while back we marked every API as version:1.0. We should fix
- them all
+
+ A while back we marked every API as version:1.0. We should fix them all
to reflect real version they were introduced. This is a start.
-
+
Patch from Nikolay Sivov.
src/hb-face.cc | 22 ++++++++---------
- src/hb-font.cc | 76
- +++++++++++++++++++++++++++++-----------------------------
+ src/hb-font.cc | 76 +++++++++++++++++++++++++++++-----------------------------
2 files changed, 49 insertions(+), 49 deletions(-)
commit 7f5405397406a24c5a001b5ef43dcf4d6926415e
@@ -54476,7 +53542,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 1 16:15:25 2015 +0100
[myanmar] Use buffer->sort() to sort cluster
-
+
This can possibly produce more granular clusters.
src/hb-ot-shape-complex-myanmar.cc | 3 +--
@@ -54487,7 +53553,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 1 16:13:32 2015 +0100
[OT] Merge clusters when reordering marks for normalization
-
+
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=541608
and cluster test.
@@ -54501,12 +53567,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 1 16:12:44 2015 +0100
[tests] Add Hebrew test for normalization under cluster-level=1
-
+
Currently fails.
https://bugzilla.gnome.org/show_bug.cgi?id=541608
- .../sha1sum/43ef465752be9af900745f72fe29cb853a1401a5.ttf | Bin 0 ->
- 4272 bytes
+ .../sha1sum/43ef465752be9af900745f72fe29cb853a1401a5.ttf | Bin 0 -> 4272 bytes
test/shaping/fonts/sha1sum/MANIFEST | 1 +
test/shaping/tests/cluster.tests | 1 +
3 files changed, 2 insertions(+)
@@ -54525,7 +53590,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 1 15:07:52 2015 +0100
Use insertion-sort instead of bubble-sort
-
+
Needed for upcoming merge-clusters fix.
src/hb-buffer.cc | 4 +--
@@ -54533,8 +53598,7 @@ Date: Tue Sep 1 15:07:52 2015 +0100
src/hb-ot-shape-complex-indic.cc | 2 +-
src/hb-ot-shape-complex-myanmar.cc | 2 +-
src/hb-ot-shape-normalize.cc | 6 ++--
- src/hb-private.hh | 56
- +++++++++++++-----------------
+ src/hb-private.hh | 56 +++++++++++++-----------------
6 files changed, 34 insertions(+), 42 deletions(-)
commit fad2674874591b4a1df822603144c8864f5364c1
@@ -54564,13 +53628,11 @@ Date: Mon Aug 31 19:18:10 2015 +0100
[docs] Move docs/reference/ contents into docs/
configure.ac | 3 +-
- docs/Makefile.am | 117
- ++++++++++++++++++++++++++-
+ docs/Makefile.am | 117 ++++++++++++++++++++++++++-
docs/{reference => }/harfbuzz-docs.xml | 0
docs/{reference => }/harfbuzz-overrides.txt | 0
docs/{reference => }/harfbuzz-sections.txt | 0
- docs/reference/Makefile.am | 118
- ----------------------------
+ docs/reference/Makefile.am | 118 ----------------------------
docs/{reference => }/usermanual-ch01.xml | 0
docs/{reference => }/usermanual-ch02.xml | 0
docs/{reference => }/usermanual-ch03.xml | 0
@@ -54602,7 +53664,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 31 10:46:01 2015 +0100
Merge pull request #131 from simoncozens/docs
-
+
Use gtk-doc to build user's manual as well as reference
commit 01e16e88f50b65b82dcb84773f532f18a351319f
@@ -54611,8 +53673,7 @@ Date: Mon Aug 31 10:40:17 2015 +0100
Combine user / reference information into gtk-doc generated manual.
- docs/reference/harfbuzz-docs.xml | 91
- +++++++++++++++++++++++-----------------
+ docs/reference/harfbuzz-docs.xml | 91 +++++++++++++++++++++++-----------------
1 file changed, 52 insertions(+), 39 deletions(-)
commit 11a07c4729174e1d4af028103ecb0a351e4c2707
@@ -54652,7 +53713,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 31 09:53:16 2015 +0100
Merge pull request #129 from simoncozens/docs
-
+
First two chapters. More to follow.
commit 31594b98af0c9181982c77d8d3803753007f8fd4
@@ -54660,7 +53721,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Aug 30 17:33:04 2015 +0100
[test] Fix test-object
-
+
See previous commit.
test/api/test-object.c | 4 ----
@@ -54671,19 +53732,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Aug 30 17:29:21 2015 +0100
Poison freed objects such that double-free is detected
-
- Previously we were setting refcount of freed objects to the inert
- value, which
- was harmful because it caused further destroy()s of the freed object
- to NOT
- call free() and hence hide the bug. Indeed, after eb0bf3ae6688b7
- test-object
- was double-free'ing objects and this was never caught on Linux.
- It only was
+
+ Previously we were setting refcount of freed objects to the inert value, which
+ was harmful because it caused further destroy()s of the freed object to NOT
+ call free() and hence hide the bug. Indeed, after eb0bf3ae6688b7 test-object
+ was double-free'ing objects and this was never caught on Linux. It only was
caught as crashing on Mac.
-
- Now we poison refcount upon freeing and check that it's valid
- whenever reading
+
+ Now we poison refcount upon freeing and check that it's valid whenever reading
it. Makes test-object fail now.
src/hb-object-private.hh | 21 ++++++++++++++++-----
@@ -54695,8 +53751,7 @@ Date: Sat Aug 29 08:21:18 2015 +0100
Current state and skeleton outline
- docs/usermanual-ch03.xml | 77
- ++++++++++++++++++++++++++++++++++++++++++++++++
+ docs/usermanual-ch03.xml | 77 ++++++++++++++++++++++++++++++++++++++++++++++++
docs/usermanual-ch04.xml | 18 +++++++++++
docs/usermanual-ch05.xml | 13 ++++++++
docs/usermanual-ch06.xml | 8 +++++
@@ -54707,7 +53762,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 25 20:24:59 2015 +0100
[GPOS] Fix cursive connection with mix of RTL and non-RTL lookups
-
+
See thread "Issue with cursive attachment" started by Khaled.
Turned out fixing this wasn't as bad as I had assumed. I like the
new code better; we now have a theoretical model of cursive
@@ -54721,17 +53776,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 25 20:28:39 2015 +0100
[test] Add test for cursive-positioning with mixed directions
-
+
Fails now. Fix coming. See thread "Issue with cursive attachment"
started by Khaled. Test fonts were made by modifying test font
from Khaled to add more anchors.
test/shaping/Makefile.am | 1 +
- .../sha1sum/298c9e1d955f10f6f72c6915c3c6ff9bf9695cec.ttf | Bin 0 ->
- 2520 bytes
+ .../sha1sum/298c9e1d955f10f6f72c6915c3c6ff9bf9695cec.ttf | Bin 0 -> 2520 bytes
test/shaping/fonts/sha1sum/MANIFEST | 2 ++
- .../sha1sum/c4e48b0886ef460f532fb49f00047ec92c432ec0.ttf | Bin 0 ->
- 2512 bytes
+ .../sha1sum/c4e48b0886ef460f532fb49f00047ec92c432ec0.ttf | Bin 0 -> 2512 bytes
test/shaping/tests/MANIFEST | 1 +
test/shaping/tests/cursive-positioning.tests | 2 ++
6 files changed, 6 insertions(+)
@@ -54743,8 +53796,7 @@ Date: Tue Aug 25 19:57:15 2015 +0100
First two chapters. More to follow.
docs/usermanual-ch01.xml | 115 ++++++++++++++++++++++++++++++
- docs/usermanual-ch02.xml | 182
- +++++++++++++++++++++++++++++++++++++++++++++++
+ docs/usermanual-ch02.xml | 182 +++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 297 insertions(+)
commit 58f2a73fb95af42e264a91cdef7bb5a89e965601
@@ -54752,7 +53804,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 25 18:55:34 2015 +0100
[GPOS] Rewrite cursive attachment slightly differently
-
+
In anticipation for upcoming fix for bug reported by
Khaled in thread "Issue with cursive attachment".
@@ -54764,11 +53816,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 24 13:49:55 2015 +0100
Add API/cmdline to show glyph extents when serializing buffer
-
+
New API: HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS
-
+
hb-shape now accepts --show-extents.
-
+
Patch from Simon Cozens.
src/hb-buffer-serialize.cc | 17 +++++++++++++++++
@@ -54792,15 +53844,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Aug 23 14:42:20 2015 +0100
[ot-font] Implement glyph_extents() for TrueType fonts
-
+
This brings ot-fonts into almost-complete shape and mostly in par with
ft font.
src/Makefile.am | 1 +
src/hb-font.h | 9 +++--
src/hb-ot-font.cc | 90 +++++++++++++++++++++++++++++++++++++++--
- src/hb-ot-glyf-table.hh | 104
- ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-glyf-table.hh | 104 ++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-head-table.hh | 3 +-
5 files changed, 198 insertions(+), 9 deletions(-)
@@ -54818,7 +53869,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 20 15:39:53 2015 +0100
[coretext] Use i32 instead of u32 as well
-
+
Shouldn't cause *any* functional changes, but is more correct.
src/hb-coretext.cc | 20 ++++++++++----------
@@ -54829,7 +53880,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 20 15:39:06 2015 +0100
[uniscribe] Fix negative offsets
-
+
Ouch!
src/hb-uniscribe.cc | 8 ++++----
@@ -54859,7 +53910,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 19 13:20:31 2015 +0100
[uniscribe] Fix font scale handling
-
+
By default shape at upem (or ppem), and scale results.
Similar to work done in CoreText backend, but using upem as default.
@@ -54871,7 +53922,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 18 18:55:03 2015 +0100
Commented-out code to print buffer before each lookup
-
+
To be turned into a useful HB_DEBUG_SHAPE infrastructure...
src/hb-ot-layout.cc | 12 ++++++++++++
@@ -54882,7 +53933,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 18 18:47:02 2015 +0100
Allow serializing buffer with output-buffer being used
-
+
Ie, don't call get_positions() if positions are not
requested for serialization.
@@ -54894,7 +53945,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 18 18:42:47 2015 +0100
[ot] Change buffer content type right after we map to glyphs
-
+
Needed for upcoming debug output changes.
src/hb-ot-shape.cc | 2 ++
@@ -54914,7 +53965,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 18 15:55:09 2015 +0100
Don't declare dependency on freetype in harfbuzz.pc
-
+
See comments.
src/Makefile.am | 7 ++++++-
@@ -54937,7 +53988,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 18 10:22:16 2015 +0100
[coretext] Remove assert that kicks in on Mac OS 10.6
-
+
http://crbug.com/419769
src/hb-coretext.cc | 18 ++++++++++++++----
@@ -54973,7 +54024,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 11 12:58:49 2015 +0200
Add Libs.private and Requires.private to harfbuzz.pc
-
+
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=64501
configure.ac | 12 +++++++++---
@@ -54986,7 +54037,7 @@ Author: jfkthame <jfkthame@gmail.com>
Date: Fri Aug 7 17:55:03 2015 +0100
Don't rely on .cluster in _hb_ot_shape_normalize()
-
+
Fixes https://github.com/behdad/harfbuzz/pull/124
src/hb-ot-shape-normalize.cc | 2 +-
@@ -54997,9 +54048,9 @@ Author: jfkthame <jfkthame@gmail.com>
Date: Fri Aug 7 17:51:28 2015 +0100
Don't rely on .cluster field in fallback_position
-
+
Fixes tests/cluster.
-
+
Fixes https://github.com/behdad/harfbuzz/pull/123
src/hb-ot-shape-fallback.cc | 5 ++---
@@ -55010,13 +54061,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 8 18:02:18 2015 +0200
[tests] Add test for fallback positioning with cluster_level > 0
-
+
For https://github.com/behdad/harfbuzz/pull/123
Currently fails. Fix coming.
test/shaping/Makefile.am | 1 +
- .../sha1sum/6466d38c62e73a39202435a4f73bf5d6acbb73c0.ttf | Bin 0 ->
- 824 bytes
+ .../sha1sum/6466d38c62e73a39202435a4f73bf5d6acbb73c0.ttf | Bin 0 -> 824 bytes
test/shaping/fonts/sha1sum/MANIFEST | 1 +
test/shaping/tests/MANIFEST | 1 +
test/shaping/tests/cluster.tests | 1 +
@@ -55026,9 +54076,8 @@ commit bd22a5cfae24b3b9253bccaeb139e698e74cd0c3
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 7 11:13:27 2015 +0200
- Bug 91559 - HarfBuzz 1.0.1: Inconsistent DLL files
- specified/created...
-
+ Bug 91559 - HarfBuzz 1.0.1: Inconsistent DLL files specified/created...
+
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=91559
src/Makefile.am | 2 +-
@@ -55040,7 +54089,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 3 22:47:18 2015 +0300
Merge pull request #122 from RomainNaour/static-fix
-
+
fix static linking with icu-uc
commit 160f635523d596f61e292776f638d4eb09673463
@@ -55048,14 +54097,14 @@ Author: Romain Naour <romain.naour@openwide.fr>
Date: Wed Jul 22 23:26:23 2015 +0200
fix static linking with icu-uc
-
+
When linking test-unicode statically it needs $(ICU_LIBS)
which contains all required flags.
Especially -lstdc++.
-
+
Fixes:
http://autobuild.buildroot.net/results/210/2107f9dfb39eeb6559fb4271c7af8b39aef521ca/
-
+
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
test/api/Makefile.am | 2 +-
@@ -55122,15 +54171,13 @@ Author: Grigori Goronzy <greg@chown.ath.cx>
Date: Wed Jul 8 23:28:11 2015 +0200
Update UCDN to upstream commit 8af93f30
-
- This adds support for Unicode 8.0 and fixes a bug with wrong
- properties
+
+ This adds support for Unicode 8.0 and fixes a bug with wrong properties
for ranges of codepoints.
src/hb-ucdn.cc | 6 +
src/hb-ucdn/ucdn.h | 6 +
- src/hb-ucdn/unicodedata_db.h | 2167
- +++++++++++++++++++++---------------------
+ src/hb-ucdn/unicodedata_db.h | 2167 +++++++++++++++++++++---------------------
3 files changed, 1118 insertions(+), 1061 deletions(-)
commit 786ba45847127b9cd4d9c0c01ae0e6c61f3a8e06
@@ -55138,11 +54185,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 23 13:04:34 2015 +0100
[test] Encode Kharoshti text
-
+
Ouch!
- .../in-tree/shaper-use/script-kharoshti/misc.txt | 72
- +++++++++++-----------
+ .../in-tree/shaper-use/script-kharoshti/misc.txt | 72 +++++++++++-----------
1 file changed, 36 insertions(+), 36 deletions(-)
commit b4231255032e243153a6f32cf8c93c158cb0bf6a
@@ -55155,8 +54201,7 @@ Date: Thu Jul 23 13:01:55 2015 +0100
.../texts/in-tree/shaper-use/script-batak/MANIFEST | 1 +
.../texts/in-tree/shaper-use/script-batak/misc.txt | 9 +++
.../in-tree/shaper-use/script-buginese/MANIFEST | 1 +
- .../in-tree/shaper-use/script-buginese/misc.txt | 70
- ++++++++++++++++++++++
+ .../in-tree/shaper-use/script-buginese/misc.txt | 70 ++++++++++++++++++++++
5 files changed, 83 insertions(+)
commit b8c159ffccad090974a2b97be0a0140fa09af132
@@ -55165,26 +54210,16 @@ Date: Thu Jul 23 12:59:17 2015 +0100
[test] Remove shaper-sea texts under shaper-use
- test/shaping/texts/in-tree/MANIFEST |
- 1 -
- test/shaping/texts/in-tree/shaper-sea/MANIFEST |
- 2 --
- test/shaping/texts/in-tree/shaper-sea/script-cham/MANIFEST |
- 1 -
- test/shaping/texts/in-tree/shaper-sea/script-tai-tham/MANIFEST |
- 1 -
- test/shaping/texts/in-tree/shaper-use/MANIFEST |
- 2 ++
- .../{shaper-sea/script-cham/misc => shaper-use/script-cham}/MANIFEST
- | 0
- .../{shaper-sea/script-cham/misc => shaper-use/script-cham}/misc.txt
- | 0
- .../script-tai-tham/misc => shaper-use/script-tai-tham}/MANIFEST
- | 0
- .../script-tai-tham/misc => shaper-use/script-tai-tham}/misc.txt
- | 0
- .../script-tai-tham/misc => shaper-use/script-tai-tham}/torture.txt
- | 0
+ test/shaping/texts/in-tree/MANIFEST | 1 -
+ test/shaping/texts/in-tree/shaper-sea/MANIFEST | 2 --
+ test/shaping/texts/in-tree/shaper-sea/script-cham/MANIFEST | 1 -
+ test/shaping/texts/in-tree/shaper-sea/script-tai-tham/MANIFEST | 1 -
+ test/shaping/texts/in-tree/shaper-use/MANIFEST | 2 ++
+ .../{shaper-sea/script-cham/misc => shaper-use/script-cham}/MANIFEST | 0
+ .../{shaper-sea/script-cham/misc => shaper-use/script-cham}/misc.txt | 0
+ .../script-tai-tham/misc => shaper-use/script-tai-tham}/MANIFEST | 0
+ .../script-tai-tham/misc => shaper-use/script-tai-tham}/misc.txt | 0
+ .../script-tai-tham/misc => shaper-use/script-tai-tham}/torture.txt | 0
10 files changed, 2 insertions(+), 5 deletions(-)
commit 67ba7320cc5545baeacfcff64cea338223b9bd6d
@@ -55192,17 +54227,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 23 12:58:21 2015 +0100
[test] Remove New Tai Lue texts
-
+
New Tai Lue changed encoding to visual, boring, model.
- test/shaping/texts/in-tree/shaper-sea/MANIFEST |
- 1 -
- test/shaping/texts/in-tree/shaper-sea/script-new-tai-lue/MANIFEST |
- 1 -
- test/shaping/texts/in-tree/shaper-sea/script-new-tai-lue/misc/MANIFEST |
- 1 -
- test/shaping/texts/in-tree/shaper-sea/script-new-tai-lue/misc/misc.txt |
- 1 -
+ test/shaping/texts/in-tree/shaper-sea/MANIFEST | 1 -
+ test/shaping/texts/in-tree/shaper-sea/script-new-tai-lue/MANIFEST | 1 -
+ test/shaping/texts/in-tree/shaper-sea/script-new-tai-lue/misc/MANIFEST | 1 -
+ test/shaping/texts/in-tree/shaper-sea/script-new-tai-lue/misc/misc.txt | 1 -
4 files changed, 4 deletions(-)
commit c81d957a264539dfe3252f9a94ee066c4a44edf4
@@ -55212,8 +54243,7 @@ Date: Thu Jul 23 12:50:48 2015 +0100
[test] Add tests for improved 'vert' feature
test/shaping/Makefile.am | 1 +
- .../sha1sum/191826b9643e3f124d865d617ae609db6a2ce203.ttf | Bin 0 ->
- 2140 bytes
+ .../sha1sum/191826b9643e3f124d865d617ae609db6a2ce203.ttf | Bin 0 -> 2140 bytes
test/shaping/fonts/sha1sum/MANIFEST | 1 +
test/shaping/tests/MANIFEST | 1 +
test/shaping/tests/vertical.tests | 1 +
@@ -55224,7 +54254,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 23 12:49:09 2015 +0100
[test] Add recently added test
-
+
Ouch.
test/shaping/Makefile.am | 1 +
@@ -55236,8 +54266,7 @@ Date: Thu Jul 23 12:14:03 2015 +0100
[test] Support additional options to hb-shape in micro-test suite
- test/shaping/record-test.sh | 47
- ++++++++++++++++++----
+ test/shaping/record-test.sh | 47 ++++++++++++++++++----
test/shaping/run-tests.sh | 9 ++++-
test/shaping/tests/arabic-fallback-shaping.tests | 2 +-
test/shaping/tests/arabic-feature-order.tests | 6 +--
@@ -55255,9 +54284,8 @@ commit 0f98fe88f42471eb8fb28d08d45eca9cd8303f7a
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 23 11:52:11 2015 +0100
- [ot] Search globally for 'vert' feature if not found in specified
- script/lang
-
+ [ot] Search globally for 'vert' feature if not found in specified script/lang
+
Fixes https://github.com/behdad/harfbuzz/issues/63
src/hb-ot-layout-private.hh | 9 +++++++++
@@ -55309,8 +54337,7 @@ Date: Wed Jul 22 18:44:59 2015 +0100
Add test case for deleting default ignorables with positioning
- .../sha1sum/051d92f8bc6ff724511b296c27623f824de256e9.ttf | Bin 0 ->
- 2028 bytes
+ .../sha1sum/051d92f8bc6ff724511b296c27623f824de256e9.ttf | Bin 0 -> 2028 bytes
test/shaping/fonts/sha1sum/MANIFEST | 1 +
test/shaping/tests/MANIFEST | 1 +
test/shaping/tests/default-ignorables.tests | 1 +
@@ -55320,9 +54347,8 @@ commit 8cfbc304ee563ec96e402beed34b10b6c0950a6a
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 22 18:41:10 2015 +0100
- Fix hide-default-ignorables after
- f0010dfd01ef4a927b0bdc175dd4e343a8637174
-
+ Fix hide-default-ignorables after f0010dfd01ef4a927b0bdc175dd4e343a8637174
+
We can't delete things before hb_ot_layout_position_finish(). So,
just zero the advance before it, and remove later.
@@ -55334,13 +54360,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 22 18:28:39 2015 +0100
Fix hide-ignorables if font doesn't have space glyph
-
+
Was broken by 82b521aeb7cc73879b44ca4278d6fa8b4347527f, as we have
positioning data by then and can't use the output buffer. Ouch!
src/hb-buffer-private.hh | 18 ------------------
- src/hb-ot-shape.cc | 44
- +++++++++++++++++++++++++++++++++++---------
+ src/hb-ot-shape.cc | 44 +++++++++++++++++++++++++++++++++++---------
2 files changed, 35 insertions(+), 27 deletions(-)
commit 4ba796b26ee62de0d2830a550f3aa3b4aecf6f59
@@ -55359,16 +54384,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 22 17:36:23 2015 +0100
[ot] Hide default-ignorables before finishing off positioning
-
+
For example, fixes the following sequence with Arial XP:
628 25cc 651 25cc 64e 3a 20 628 651 34f 64e
628 25cc 64e 25cc 651 3a 20 628 64e 34f 651
-
+
Discovered as part of:
https://bugs.freedesktop.org/show_bug.cgi?id=85873
- src/hb-ot-shape.cc | 125
- +++++++++++++++++++++++++++--------------------------
+ src/hb-ot-shape.cc | 125 +++++++++++++++++++++++++++--------------------------
1 file changed, 63 insertions(+), 62 deletions(-)
commit 376d587f36b4ff10342ee6ca3bacd73532ea44c8
@@ -55376,15 +54400,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 22 16:51:12 2015 +0100
Implement more granular cluster-merging
-
+
TODO: Documentation.
-
+
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=71445
NEWS | 8 +++++++
src/hb-buffer-private.hh | 1 +
- src/hb-buffer.cc | 46
- ++++++++++++++++++++++++++++++++++-----
+ src/hb-buffer.cc | 46 ++++++++++++++++++++++++++++++++++-----
src/hb-buffer.h | 12 ++++++++++
src/hb-ot-shape-complex-hangul.cc | 13 +++++------
src/hb-ot-shape.cc | 7 ++++++
@@ -55416,8 +54439,7 @@ commit 7b8b63adc5e0389fc4cf2720ef7e5804ab6c29cc
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 22 15:24:26 2015 +0100
- [ot] Don't mirror character if font doesn't support mirrored
- character!
+ [ot] Don't mirror character if font doesn't support mirrored character!
src/hb-ot-shape.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -55427,11 +54449,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 22 14:28:25 2015 +0100
[graphite2] Fix bunch of stuff
-
+
Based on patch from Martin Hosken, with review from Jonathan and I.
- src/hb-graphite2.cc | 82
- +++++++++++++++++++++++++++++++++++------------------
+ src/hb-graphite2.cc | 82 +++++++++++++++++++++++++++++++++++------------------
1 file changed, 54 insertions(+), 28 deletions(-)
commit ea7f8414e34d4b5efc7b98974637c08f75440f0e
@@ -55448,12 +54469,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 22 13:27:06 2015 +0100
[USE] Implement topographical features for non-Arabic-joining scripts
-
+
This works per-syllable as per the spec, but we think it should be per
spacing/base/??? glyph instead.
- src/hb-ot-shape-complex-use.cc | 87
- ++++++++++++++++++++++++++++++++++++++----
+ src/hb-ot-shape-complex-use.cc | 87 ++++++++++++++++++++++++++++++++++++++----
1 file changed, 80 insertions(+), 7 deletions(-)
commit ecb0b24ef3f8177e7c789f45a2e858bd67e31be3
@@ -55462,8 +54482,7 @@ Date: Wed Jul 22 12:02:09 2015 +0100
Use foreach_cluster in Indic shaper
- src/hb-ot-shape-complex-indic.cc | 90
- +++++++++-------------------------------
+ src/hb-ot-shape-complex-indic.cc | 90 +++++++++-------------------------------
1 file changed, 19 insertions(+), 71 deletions(-)
commit 56f71ff98890fc4fd13e8d9743dc34c4b9407309
@@ -55472,8 +54491,7 @@ Date: Wed Jul 22 11:58:11 2015 +0100
Use foreach_syllable in Myanmar shaper
- src/hb-ot-shape-complex-myanmar.cc | 62
- ++++++++------------------------------
+ src/hb-ot-shape-complex-myanmar.cc | 62 ++++++++------------------------------
1 file changed, 12 insertions(+), 50 deletions(-)
commit ac596511a8c9eeaeb455ca16b5b9c5f1b9923b3a
@@ -55481,12 +54499,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 22 11:54:02 2015 +0100
Add foreach_syllable
-
+
Use it in USE.
src/hb-ot-layout-private.hh | 24 ++++++++
- src/hb-ot-shape-complex-use.cc | 129
- +++++++++++++----------------------------
+ src/hb-ot-shape-complex-use.cc | 129 +++++++++++++----------------------------
2 files changed, 64 insertions(+), 89 deletions(-)
commit 8ba9e689680f7685c04cfe7c6019222bdf0c52b0
@@ -55495,8 +54512,7 @@ Date: Wed Jul 22 11:16:01 2015 +0100
[USE] Do Arabic-like shaping
- src/hb-ot-shape-complex-use.cc | 77
- ++++++++++++++++++++++++++++++++++++++++--
+ src/hb-ot-shape-complex-use.cc | 77 ++++++++++++++++++++++++++++++++++++++++--
1 file changed, 75 insertions(+), 2 deletions(-)
commit 9daf2dfb6bd5683fd951bdf166c8b87938257e52
@@ -55506,8 +54522,7 @@ Date: Wed Jul 22 10:32:30 2015 +0100
Add hb-ot-shape-complex-arabic-private.hh
src/Makefile.am | 1 +
- src/hb-ot-shape-complex-arabic-private.hh | 50
- +++++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-arabic-private.hh | 50 +++++++++++++++++++++++++++++++
src/hb-ot-shape-complex-arabic.cc | 37 +++++++++++++----------
3 files changed, 73 insertions(+), 15 deletions(-)
@@ -55525,7 +54540,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 21 18:09:40 2015 +0100
[USE] Don't compose split matras
-
+
Same logic as in Indic shaper.
src/hb-ot-shape-complex-use.cc | 15 ++++++++++++++-
@@ -55539,8 +54554,7 @@ Date: Tue Jul 21 17:47:06 2015 +0100
src/Makefile.am | 4 -
src/hb-ot-shape-complex-sea-machine.rl | 102 ---------
- src/hb-ot-shape-complex-sea.cc | 380
- ---------------------------------
+ src/hb-ot-shape-complex-sea.cc | 380 ---------------------------------
3 files changed, 486 deletions(-)
commit db1e9cdd41ff7c97c29b4d9b64b2351ed0ef0403
@@ -55557,7 +54571,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 21 17:31:43 2015 +0100
[USE] Only use USE shaper if script system is not DFLT
-
+
Same logic as Indic and SEA.
src/hb-ot-shape-complex-private.hh | 13 ++++++++++---
@@ -55568,15 +54582,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 21 17:24:18 2015 +0100
Route misc untested scripts through USE shaper instead of Indic
-
- These were never tested with Indic shaper, and indeed wouldn't
- work there
- because they didn't have their viramas and other config defined.
- They are
+
+ These were never tested with Indic shaper, and indeed wouldn't work there
+ because they didn't have their viramas and other config defined. They are
all also supported by MS through USE, so route them there.
- src/hb-ot-shape-complex-private.hh | 91
- +++++---------------------------------
+ src/hb-ot-shape-complex-private.hh | 91 +++++---------------------------------
1 file changed, 11 insertions(+), 80 deletions(-)
commit 40c4a991c7ea18017273ff8993eecc3953869e69
@@ -55584,7 +54595,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 21 17:14:54 2015 +0100
[USE] Implement dotted-circle
-
+
This makes USE feature-complete as far as the Indic-like features
are concerned.
@@ -55610,8 +54621,7 @@ Date: Tue Jul 21 16:46:37 2015 +0100
[USE] Fix-up variation selectors and word joiner in table
src/gen-use-table.py | 7 ++++++-
- src/hb-ot-shape-complex-use-table.cc | 34
- +++++++++++++++++++++++-----------
+ src/hb-ot-shape-complex-use-table.cc | 34 +++++++++++++++++++++++-----------
2 files changed, 29 insertions(+), 12 deletions(-)
commit ad7178227f16abc17456f122deac1508031cbbc3
@@ -55621,8 +54631,7 @@ Date: Tue Jul 21 16:43:27 2015 +0100
[USE] Use a couple warnings
src/gen-use-table.py | 20 ++++-----
- src/hb-ot-shape-complex-use-table.cc | 82
- ++++++++++++++++++------------------
+ src/hb-ot-shape-complex-use-table.cc | 82 ++++++++++++++++++------------------
2 files changed, 51 insertions(+), 51 deletions(-)
commit a85c4da9b1750c2f994f9f85226a3e755fafe50b
@@ -55631,8 +54640,7 @@ Date: Tue Jul 21 16:07:10 2015 +0100
[USE] Move rphf
- src/hb-ot-shape-complex-use.cc | 105
- ++++++++++++++---------------------------
+ src/hb-ot-shape-complex-use.cc | 105 ++++++++++++++---------------------------
1 file changed, 35 insertions(+), 70 deletions(-)
commit 5b5617e0664e59770910d04d15175f643a5ffb73
@@ -55640,7 +54648,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 21 15:52:15 2015 +0100
Add FLAG_UNSAFE()
-
+
Unused right now.
src/hb-private.hh | 1 +
@@ -55651,7 +54659,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 21 15:50:02 2015 +0100
Add FLAG_SAFE() for values known to be small-enough
-
+
And add check to FLAG()
src/hb-ot-shape-complex-arabic.cc | 2 +-
@@ -55696,8 +54704,7 @@ Date: Tue Jul 21 14:51:45 2015 +0100
[USE] Use use_category() for rphf/pref memory
- src/hb-ot-shape-complex-use.cc | 63
- +++++++++++++++---------------------------
+ src/hb-ot-shape-complex-use.cc | 63 +++++++++++++++---------------------------
1 file changed, 22 insertions(+), 41 deletions(-)
commit 595936ec25e9c0924851bd1aa1af5eed3723b54f
@@ -55705,12 +54712,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 21 14:15:35 2015 +0100
[USE] Hook of rphf and pref custom processing
-
+
Still no reordering.
src/hb-ot-layout-private.hh | 8 ++
- src/hb-ot-shape-complex-use.cc | 181
- +++++++++++++++++++++++++++++++++++++++--
+ src/hb-ot-shape-complex-use.cc | 181 +++++++++++++++++++++++++++++++++++++++--
2 files changed, 181 insertions(+), 8 deletions(-)
commit ba72801325e4bd58f7597938d4409762c9fa530c
@@ -55729,8 +54735,7 @@ Date: Tue Jul 21 10:24:32 2015 +0100
[USE] Set up features
- src/hb-ot-shape-complex-use.cc | 68
- +++++++++++++++++++++++-------------------
+ src/hb-ot-shape-complex-use.cc | 68 +++++++++++++++++++++++-------------------
1 file changed, 38 insertions(+), 30 deletions(-)
commit 52a957795697085a5d379921ddd8aa6cf2f1a99d
@@ -55738,12 +54743,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 21 10:02:04 2015 +0100
[USE] Hook up new scripts to USE shaper
-
+
Don't reroute scripts that we were routing to other shapers
before (just yet).
- src/hb-ot-shape-complex-private.hh | 71
- ++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-private.hh | 71 ++++++++++++++++++++++++++++++++++++++
1 file changed, 71 insertions(+)
commit b4c0829bc18b696f140a260fa2e1089d10164519
@@ -55752,8 +54756,7 @@ Date: Tue Jul 21 09:31:19 2015 +0100
[USE] Remove unused Unicode data enums from USE C++ side
- src/hb-ot-shape-complex-use-private.hh | 66
- +---------------------------------
+ src/hb-ot-shape-complex-use-private.hh | 66 +---------------------------------
src/hb-ot-shape-complex-use.cc | 14 ++------
2 files changed, 3 insertions(+), 77 deletions(-)
@@ -55762,12 +54765,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 20 18:01:10 2015 +0100
[USE] Finish converting Unicode positional categories to USE
-
+
Even compiles.
src/gen-use-table.py | 114 +++++-
- src/hb-ot-shape-complex-use-table.cc | 702
- ++++++++++++++++++-----------------
+ src/hb-ot-shape-complex-use-table.cc | 702 ++++++++++++++++++-----------------
2 files changed, 467 insertions(+), 349 deletions(-)
commit ad725552521273a1f571f04bc96a04221c3e067a
@@ -55775,12 +54777,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 20 17:00:06 2015 +0100
[USE] Map from Unicode data to USE syllabic categories
-
+
Positional sub-categories not applied yet.
src/gen-use-table.py | 128 ++--
- src/hb-ot-shape-complex-use-table.cc | 1062
- ++++++++++++----------------------
+ src/hb-ot-shape-complex-use-table.cc | 1062 ++++++++++++----------------------
2 files changed, 409 insertions(+), 781 deletions(-)
commit 20e246e674155d5fb6527722fc3ef3accf2413df
@@ -55790,8 +54791,7 @@ Date: Mon Jul 20 15:56:19 2015 +0100
[USE] Start moving Unicode-to-USE mapping into Python code
src/Makefile.am | 2 +-
- src/gen-use-table.py | 176
- +++++++++++++++++++++++++++++++++--
+ src/gen-use-table.py | 176 +++++++++++++++++++++++++++++++++--
src/hb-ot-shape-complex-use-table.cc | 3 +-
3 files changed, 169 insertions(+), 12 deletions(-)
@@ -55800,7 +54800,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 20 15:33:25 2015 +0100
[USE] Fix Number clusters
-
+
The spec wrongly has "H" where "HN" is meant.
src/hb-ot-shape-complex-use-machine.rl | 4 ++--
@@ -55813,8 +54813,7 @@ Date: Mon Jul 20 14:24:55 2015 +0100
[USE] Start putting together the shaper body
src/hb-ot-shape-complex-use-private.hh | 2 +-
- src/hb-ot-shape-complex-use.cc | 339
- +++++++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-use.cc | 339 +++++++++++++++++++++++++++++++++
2 files changed, 340 insertions(+), 1 deletion(-)
commit e0eabd7f67462ac34fbfc749d897be478fbd1224
@@ -55822,13 +54821,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 20 13:30:51 2015 +0100
[USE] Put a Ragel machine together
-
+
Grammar from the spec!
- src/hb-ot-shape-complex-use-machine.rl | 169
- +++++++++++++++++++++++++++++++++
- src/hb-ot-shape-complex-use-private.hh | 160
- +++++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-use-machine.rl | 169 +++++++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-use-private.hh | 160 +++++++++++++++++++++++++++++++
2 files changed, 329 insertions(+)
commit fd74b939b176f47d34d34b3d33e2a09d255c2d9e
@@ -55859,8 +54856,7 @@ Date: Mon Jul 20 11:57:44 2015 +0100
test/shaping/texts/in-tree/MANIFEST | 1 +
test/shaping/texts/in-tree/shaper-use/MANIFEST | 1 +
.../in-tree/shaper-use/script-kharoshti/MANIFEST | 1 +
- .../in-tree/shaper-use/script-kharoshti/misc.txt | 36
- ++++++++++++++++++++++
+ .../in-tree/shaper-use/script-kharoshti/misc.txt | 36 ++++++++++++++++++++++
4 files changed, 39 insertions(+)
commit c48ff288522f33dc6c78520de0a0a74306630895
@@ -55870,8 +54866,7 @@ Date: Mon Jul 20 11:46:17 2015 +0100
[USE] Build Universal Shaping Engine data table from Unicode 8 files
src/gen-use-table.py | 35 +-
- src/hb-ot-shape-complex-use-table.cc | 1016
- ++++++++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-use-table.cc | 1016 ++++++++++++++++++++++++++++++++++
2 files changed, 1032 insertions(+), 19 deletions(-)
commit e2c95116e1423f83a692d6170553d0cc95733d24
@@ -55881,8 +54876,7 @@ Date: Mon Jul 20 11:32:48 2015 +0100
[USE] Add Universal Shaping Engine to Makefile
src/Makefile.am | 23 +++-
- src/gen-use-table.py | 237
- +++++++++++++++++++++++++++++++++
+ src/gen-use-table.py | 237 +++++++++++++++++++++++++++++++++
src/hb-ot-shape-complex-use-machine.rl | 0
src/hb-ot-shape-complex-use-private.hh | 0
src/hb-ot-shape-complex-use-table.cc | 0
@@ -55903,7 +54897,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 15 01:36:39 2015 +0100
Add Unicode 8.0 scripts
-
+
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1183209
src/hb-common.cc | 3 +++
@@ -55915,16 +54909,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jul 5 22:43:17 2015 +0100
Fix pragma usage
-
+
https://bugs.freedesktop.org/show_bug.cgi?id=91228
-
+
Commit cdcdfe61b97a0a48ccf834b6d924d187da9609be changed two `#pragma
- message` to `#pragma error` in hb-unicode.cc, however MSVC uses
- #error,
+ message` to `#pragma error` in hb-unicode.cc, however MSVC uses #error,
just like the #else branch. `#pragma error` is an unknown pragma so
MSVC does not fail the build because of it, which I believe was the
intention of that commit.
-
+
If it's meant to be an #error, then the #ifdef for _MSC_VER can be
removed entirely.
@@ -55945,8 +54938,7 @@ commit e0a828ecbd708757d67977f7e92a6f4c1b0b92fd
Author: ThePhD <phdofthehouse@gmail.com>
Date: Tue Jun 23 09:07:17 2015 -0400
- Back to using regular `strdup`, with an `hb-private.hh` fix that
- special-cases VC++'s
+ Back to using regular `strdup`, with an `hb-private.hh` fix that special-cases VC++'s
definition and usage of the words
src/hb-common.cc | 2 +-
@@ -55975,7 +54967,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 19 13:31:49 2015 -0700
When removing default-ignorables, merge clusters
-
+
Fixes test-shape, and:
https://code.google.com/p/chromium/issues/detail?id=497578
@@ -55989,15 +54981,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 19 11:57:57 2015 -0700
Rewrite hide_default_ignorables
-
+
Separate the loops for the two cases of replacing with space
and deleting. For deleting, use the out-buffer machinery.
-
+
Needed for upcoming cluster merge fix.
src/hb-buffer-private.hh | 18 ++++++++++++++
- src/hb-ot-shape.cc | 65
- +++++++++++++++++++++++++++++-------------------
+ src/hb-ot-shape.cc | 65 +++++++++++++++++++++++++++++-------------------
2 files changed, 57 insertions(+), 26 deletions(-)
commit b3a2f6afbac1956b65f29a17b9dc896e86135329
@@ -56005,15 +54996,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jun 18 17:15:33 2015 -0700
[test] Add test for cluster merging
-
- Based on test from
- https://code.google.com/p/chromium/issues/detail?id=497578
-
+
+ Based on test from https://code.google.com/p/chromium/issues/detail?id=497578
+
Currently fails. Basically, if there's a default_ignorable at the
- start of text, and font has no space glyph, we remove the
- default_ignorable,
+ start of text, and font has no space glyph, we remove the default_ignorable,
and that makes the first char in text to correspond to no cluster.
-
+
Fix coming.
test/api/test-shape.c | 43 +++++++++++++++++++++++++++++++++++++++++++
@@ -56034,7 +55023,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jun 18 10:55:13 2015 -0700
[util] Disable hb-fc-list for now
-
+
Until I figure out what to do about the API, and finalize
the tool.
@@ -56046,7 +55035,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 12 17:46:06 2015 -0700
[bindings] Fix hb_language_get_default() and hb_ot_tag_to_language()
-
+
Part of https://github.com/behdad/harfbuzz/issues/91
src/hb-common.cc | 2 +-
@@ -56058,7 +55047,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 12 17:37:41 2015 -0700
[TravisCI] Hook up Coverity
-
+
First try...
.travis.yml | 13 +++++++++++++
@@ -56078,7 +55067,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jun 10 10:57:46 2015 -0700
Fix warnings: "member call on null pointer of type"
-
+
https://bugzilla.mozilla.org/show_bug.cgi?id=1167119
src/hb-private.hh | 4 ++--
@@ -56108,7 +55097,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jun 1 13:27:37 2015 -0700
Merge pull request #111 from brawer/since
-
+
Fix "Since:" tags
commit 01c3a88543850c87483fd8671044df53b368c520
@@ -56116,7 +55105,7 @@ Author: Sascha Brawer <sascha@brawer.ch>
Date: Mon Jun 1 13:22:01 2015 +0200
Fix "Since:" tags
-
+
Based on data from http://upstream-tracker.org/versions/harfbuzz.html
Resolves #103
@@ -56131,8 +55120,7 @@ Date: Mon Jun 1 13:22:01 2015 +0200
src/hb-ot-font.cc | 3 +++
src/hb-ot-layout.cc | 30 ++++++++++++++++++++++++++++
src/hb-ot-shape.cc | 6 ++++++
- src/hb-set.cc | 52
- ++++++++++++++++++++++++------------------------
+ src/hb-set.cc | 52 ++++++++++++++++++++++++------------------------
src/hb-shape-plan.cc | 18 ++++++++---------
src/hb-shape.cc | 8 ++++----
src/hb-unicode.cc | 6 +++---
@@ -56144,15 +55132,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 21 14:00:15 2015 -0700
Fix unary minus operator applied to unsigned int
-
+
Applying unary minus operator to unsigned int causes the following
warning on MSVS:
-
- warning C4146: unary minus operator applied to unsigned type,
- result still unsigned
-
+
+ warning C4146: unary minus operator applied to unsigned type, result still unsigned
+
Based on patch from Koji Ishi.
-
+
Fixes https://github.com/behdad/harfbuzz/pull/110
src/hb-ot-font.cc | 2 +-
@@ -56163,16 +55150,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 19 17:42:30 2015 -0700
[gobject] Remove hb_language_t workarounds for g-i shortcomings
-
+
Using latest gobject-introspection, I don't seem to be having this
problem anymore:
-
+
https://bugzilla.gnome.org/show_bug.cgi?id=707656
-
- Removing that kludge makes language_t behave more like the way I
- expect it
+
+ Removing that kludge makes language_t behave more like the way I expect it
in Python.
-
+
Also fixes:
https://github.com/behdad/harfbuzz/issues/91
@@ -56185,11 +55171,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 19 17:20:58 2015 -0700
[gobject] Macroize value types
-
+
Fixes user_data_t
- src/hb-gobject-structs.cc | 73
- +++++++++++------------------------------------
+ src/hb-gobject-structs.cc | 73 +++++++++++------------------------------------
1 file changed, 17 insertions(+), 56 deletions(-)
commit 9df099b4837df722e738675af318efcc9ac39a78
@@ -56216,7 +55201,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 7 10:46:42 2015 -0700
Merge pull request #105 from ebraminio/master
-
+
Fix Travis CI config to pass again
commit 74139f9839f69ea3e7a1d17627f52fea6c06d58a
@@ -56242,7 +55227,7 @@ Author: Roozbeh Pournader <roozbeh@google.com>
Date: Tue May 5 22:31:19 2015 -0700
[minor] Remove comment about Navajo OpenType code.
-
+
Apparently the code is already standardized:
https://www.microsoft.com/typography/otspec/languagetags.htm
@@ -56255,7 +55240,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 5 14:49:47 2015 -0700
Merge pull request #102 from roozbehp/master
-
+
Add OpenType language tag 'NAV ' for Navajo.
commit c60f3c8e1156fe7328d42851013cca97333c3bf7
@@ -56272,7 +55257,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 4 23:09:51 2015 -0700
[travis] Comment out gobject-introspection again
-
+
Apparently the version on Travis is 1.32.0, while we require 1.34.0.
.travis.yml | 4 ++--
@@ -56301,12 +55286,11 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Wed Jan 8 02:28:55 2014 +0200
Some attempt into initial hb-shape documentation
-
+
Very anaemic, needs to descripe the format understood by
hb_feature_from_string() etc., but it is just start.
- src/hb-shape.cc | 70
- ++++++++++++++++++++++++++++++++++++++-------------------
+ src/hb-shape.cc | 70 ++++++++++++++++++++++++++++++++++++++-------------------
src/hb-shape.h | 3 ---
2 files changed, 47 insertions(+), 26 deletions(-)
@@ -56325,7 +55309,7 @@ Author: Roozbeh Pournader <roozbeh@google.com>
Date: Wed Apr 29 09:32:42 2015 -0700
Add OpenType language tag 'NAV ' for Navajo.
-
+
The code is not standardized yet, but is used in some Google fonts.
src/hb-ot-tag.cc | 1 +
@@ -56354,7 +55338,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 23 14:32:33 2015 -0700
[test] Ignor 'n' and 'i' in hb-unicode-encode
-
+
Allows accepting uniXXXX format.
test/shaping/hb_test_tools.py | 2 +-
@@ -56374,7 +55358,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Apr 21 19:21:32 2015 -0700
[coretext] Fix positioning with trailing whitespace
-
+
Fixes https://code.google.com/p/chromium/issues/detail?id=476913
src/hb-coretext.cc | 11 +++++++++++
@@ -56394,9 +55378,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Apr 14 13:32:22 2015 -0700
Revert "Add MSVC pragma for UTF-8 source code"
-
+
This reverts commit 89cbd4d9533011fb5487caa99a0cd58923e7cf59.
-
+
See discussion:
https://bugzilla.gnome.org/show_bug.cgi?id=747772
@@ -56418,7 +55402,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 13 23:40:35 2015 -0700
Merge pull request #86 from cpfair/hb-shape-output-help-improvement
-
+
Improve hb-shape/hb-view's help text w.r.t. output options
commit 89cbd4d9533011fb5487caa99a0cd58923e7cf59
@@ -56426,7 +55410,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 13 12:27:08 2015 -0700
Add MSVC pragma for UTF-8 source code
-
+
Not sure we have any right now; motivated by this:
https://bugzilla.gnome.org/show_bug.cgi?id=747772
@@ -56439,7 +55423,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Apr 10 14:34:05 2015 -0700
Merge pull request #99 from khaledhosny/introspection-fixes2
-
+
More ntrospection fixes
commit 22524a514f6609a2bc009b6035f6b5b932c719c7
@@ -56447,7 +55431,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Fri Apr 10 18:14:45 2015 +0200
[bindings] Fix hb_buffer_get_segment_properties
-
+
Annotate the output parameter.
src/hb-buffer.cc | 2 +-
@@ -56466,7 +55450,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Apr 10 12:19:57 2015 -0700
Merge pull request #98 from KonstantinRitt/WEC2013
-
+
Fix build on WEC2013
commit 04f89e8f7dfdb882e8c98afb613cba3f1d02ed7d
@@ -56474,7 +55458,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Fri Apr 10 17:49:01 2015 +0200
[bindings] Fix ownership of returned hb_language_t
-
+
It should not be freed by the caller.
src/hb-buffer.cc | 2 +-
@@ -56486,7 +55470,7 @@ Author: Konstantin Ritt <ritt.ks@gmail.com>
Date: Fri Apr 10 17:18:01 2015 +0400
Fix build on WEC2013
-
+
Based on patch from Björn Breitmeyer
src/hb-private.hh | 4 +++-
@@ -56497,15 +55481,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 6 16:49:51 2014 -0400
[utils] Add hb-fc-list
-
+
This is a tool that lists all fonts that can render a given string.
It uses hb_shape() to do so, and as such is aware of HarfBuzz's
normalizer.
configure.ac | 19 +++++
util/Makefile.am | 15 ++++
- util/hb-fc-list.c | 222
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ util/hb-fc-list.c | 222 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
util/hb-fc.cc | 149 ++++++++++++++++++++++++++++++++++++
util/hb-fc.h | 46 +++++++++++
5 files changed, 451 insertions(+)
@@ -56515,14 +55498,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 6 15:36:41 2014 -0400
Relax inert checks
-
+
Previously, when creating an object from inert inputs (eg:
"hb_font_create(hb_face_get_empty())") we returned the inert
empty object. This is not helpful as there are legitimate
usecases to do that.
-
+
We now never return the inert object unless allocation failed.
-
+
Tests are revised to reflect.
src/hb-face.cc | 4 ++--
@@ -56538,8 +55521,7 @@ Date: Thu Apr 9 15:52:26 2015 -0700
[util/hb-view] Fix rendering with all combinations of negative scales
- util/view-cairo.cc | 90
- ++++++++++++++++++++++++++++--------------------------
+ util/view-cairo.cc | 90 ++++++++++++++++++++++++++++--------------------------
util/view-cairo.hh | 2 --
2 files changed, 47 insertions(+), 45 deletions(-)
@@ -56556,11 +55538,10 @@ commit a664810e38b479e05ea32cac263cb5730629f9d8
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 9 15:04:42 2015 -0700
- [util] Accept comma as well as space when separating components
- of args
-
+ [util] Accept comma as well as space when separating components of args
+
Applies to --font-size and --margin.
-
+
Hopefully the scanf usage here doesn't have compatibility issues
(star being counted in the return value, etc).
@@ -56599,7 +55580,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 8 14:39:00 2015 -0700
Fix warnings
-
+
Part of https://github.com/behdad/harfbuzz/pull/68
src/hb-ot-font.cc | 4 ++--
@@ -56611,7 +55592,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 8 13:25:04 2015 -0700
Err, instead of warn, if mutex / atomic / unicode funcs are missing
-
+
Hopefully this results in fewer badly built HarfBuzz integrations.
src/hb-unicode.cc | 8 ++++----
@@ -56633,17 +55614,16 @@ Author: Konstantin Ritt <ritt.ks@gmail.com>
Date: Sat Mar 28 00:49:33 2015 +0400
Minor refactoring to the atomics implementation
-
+
s/atomic_int/atomic_int_impl/ and s/atomic_ptr/atomic_ptr_impl/
to bring it in par with hb_mutex_impl_t, then re-introduce
hb_atomic_int_t as a wrapper around hb_atomic_int_impl_t.
-
+
In hb_reference_count_t, make it clear the non-atomic get and set
are intentional due to nature of the cases they are used in
(comparison to -1 and the debug output/tracing).
- src/hb-atomic-private.hh | 86
- +++++++++++++++++++++++++++++++-----------------
+ src/hb-atomic-private.hh | 86 +++++++++++++++++++++++++++++++-----------------
src/hb-mutex-private.hh | 4 ++-
src/hb-object-private.hh | 21 ++++++------
3 files changed, 69 insertions(+), 42 deletions(-)
@@ -56662,7 +55642,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 8 12:49:38 2015 -0700
Allow implementing atomic and mutex ops in config
-
+
Motivated by
https://github.com/behdad/harfbuzz/pull/92
@@ -56684,9 +55664,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 6 14:51:31 2015 -0700
[test] Use /usr/bin/env python instead of /usr/bin/python
-
+
Bug 76494 - #!/usr/bin/python in testsuite
-
+
https://bugs.freedesktop.org/show_bug.cgi?id=76494
test/shaping/hb-diff | 2 +-
@@ -56708,7 +55688,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 6 14:41:32 2015 -0700
Merge pull request #93 from ebraminio/archpy3
-
+
Make hb_test_tools.py compatible with python 3
commit ce01ad7c2f5a259030f4dbec746f85522aa9c3f9
@@ -56734,15 +55714,14 @@ Author: Ebrahim Byagowi <ebrahim@gnu.org>
Date: Mon Mar 30 03:27:14 2015 +0430
Make hb_test_tools.py compatible with python 3
-
+
On ArchLinux, /usr/bin/python is linked to python 3 so
HarfBuzz `make check` is broken there.
-
+
This makes hb_test_tools.py compatible with python 3 while
no breaking it on python 2.
- test/shaping/hb_test_tools.py | 44
- ++++++++++++++++++++++++-------------------
+ test/shaping/hb_test_tools.py | 44 ++++++++++++++++++++++++-------------------
1 file changed, 25 insertions(+), 19 deletions(-)
commit aee685086c8fde6f6c4590e483a177c19f222540
@@ -56750,7 +55729,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Mar 26 14:13:53 2015 -0400
Fix VC++ /analyze warnings
-
+
out\debug\hb-buffer-deserialize-text.rl(47) : warning C6001: Using
uninitialized memory 'pos'.
@@ -56763,7 +55742,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Mar 22 16:18:57 2015 -0400
Merge pull request #90 from khaledhosny/introspection-fixes
-
+
[bindings] Fix *_from_string functions
commit a394bb66707184c995fe2d08c80e98220e6ec0b0
@@ -56771,7 +55750,7 @@ Author: Khaled Hosny <khaledhosny@eglug.org>
Date: Sun Mar 22 20:29:10 2015 +0200
[bindings] Fix *_from_string functions
-
+
Without the element-type they will be getting garbage, at least with
Python.
@@ -56795,9 +55774,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Mar 20 16:08:38 2015 -0400
Fix reverse_range() for empty range
-
+
Fixes coretext notdef loop consisting of all default_ignorable glyphs
-
+
https://code.google.com/p/chromium/issues/detail?id=464755
src/hb-buffer.cc | 2 +-
@@ -56808,7 +55787,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Mar 4 15:47:25 2015 -0800
Fix previous commit
-
+
I misunderstood how which works.
autogen.sh | 2 +-
@@ -56819,7 +55798,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Mar 4 15:43:05 2015 -0800
Accept glibtoolize as libtoolize
-
+
Of course, we don't really run it, autoreconf does. We just
err if neither is available. glibtoolize is the name it is
shipped under on OS X. Reported by Adam.
@@ -56851,7 +55830,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Mar 2 16:06:55 2015 -0800
Fix reverse_range() to only reverse alt array if positions are used
-
+
In hb-coretext, when we were using scratch buffer for book-keeping,
a reverse_range() caused by the notdef-insertion loop could mess up
our log_clusters. Ouch!
@@ -56864,7 +55843,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 26 13:58:32 2015 -0800
Better error message if libtool is not installed
-
+
Fixes https://github.com/behdad/harfbuzz/pull/88
autogen.sh | 9 +++++++--
@@ -56938,12 +55917,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Feb 21 12:50:01 2015 +0300
[layout] Fix comparison of GlyphID and hb_codepoint_t
-
+
Before, the IntType::cmp functions providing this and was truncating
the hb_codepoint_t to 16bits before comparison. I have no idea how
this was never discovered, and I'm too lazy to try to reproduce this
- with Pango (which uses non-16bit codepoint numbers for missing
- glyphs).
+ with Pango (which uses non-16bit codepoint numbers for missing glyphs).
src/hb-open-type-private.hh | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
@@ -56979,11 +55957,9 @@ commit 640b66c6348653bfd7cf88ea9caa2133c0eb949f
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 19 17:30:05 2015 +0300
- [layout] If lookup has only one subtable, move the forward loop down
- to subtable
-
- I was hoping to see a nice speedup, but it resulted in a very
- minor one.
+ [layout] If lookup has only one subtable, move the forward loop down to subtable
+
+ I was hoping to see a nice speedup, but it resulted in a very minor one.
src/hb-ot-layout.cc | 33 ++++++++++++++++++++++++++++++++-
1 file changed, 32 insertions(+), 1 deletion(-)
@@ -56994,8 +55970,7 @@ Date: Thu Feb 19 17:15:05 2015 +0300
[layout] Add apply_forward / apply_backward
- src/hb-ot-layout.cc | 69
- +++++++++++++++++++++++++++++++++++------------------
+ src/hb-ot-layout.cc | 69 +++++++++++++++++++++++++++++++++++------------------
1 file changed, 46 insertions(+), 23 deletions(-)
commit 1d4a328472f094c0d75a062f6e176c6b1875cfdc
@@ -57059,7 +56034,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 19 10:40:23 2015 +0300
[layout] Don't check glyph props against lookup flags when recursing
-
+
Shouldn't be needed. I have a hard time imagining this breaking any
legitimate use case.
@@ -57072,16 +56047,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 19 10:29:41 2015 +0300
[layout] Port sanitize() to use dispatch()
-
+
Needed some rework of Extension table. Hopefully I got it right, and
the new template usage doesn't break any compilers...
src/hb-open-type-private.hh | 5 ++-
- src/hb-ot-layout-gpos-table.hh | 82
- +----------------------------------
+ src/hb-ot-layout-gpos-table.hh | 82 +----------------------------------
src/hb-ot-layout-gsub-table.hh | 72 ++-----------------------------
- src/hb-ot-layout-gsubgpos-private.hh | 84
- ++++++++++++------------------------
+ src/hb-ot-layout-gsubgpos-private.hh | 84 ++++++++++++------------------------
4 files changed, 37 insertions(+), 206 deletions(-)
commit 758fb20630f84c3d373cda37974b88f16c02995e
@@ -57141,7 +56114,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 17 18:14:17 2015 +0300
[layout] Add may_dispatch()
-
+
No functional change right now.
src/hb-ot-layout-gpos-table.hh | 7 +++++++
@@ -57154,9 +56127,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 17 17:27:44 2015 +0300
Make sanitize() a const method
-
- This makes a lot of code safer. We only try modifying the object
- in one
+
+ This makes a lot of code safer. We only try modifying the object in one
place, after making sure it's safe to do so. So, do a const_cast<> in
that one place...
@@ -57168,8 +56140,7 @@ Date: Tue Feb 17 17:27:44 2015 +0300
src/hb-ot-hmtx-table.hh | 3 +-
src/hb-ot-layout-common-private.hh | 58 ++++++++++++-------
src/hb-ot-layout-gdef-table.hh | 30 ++++++----
- src/hb-ot-layout-gpos-table.hh | 108
- +++++++++++++++++++++++------------
+ src/hb-ot-layout-gpos-table.hh | 108 +++++++++++++++++++++++------------
src/hb-ot-layout-gsub-table.hh | 58 ++++++++++++-------
src/hb-ot-layout-gsubgpos-private.hh | 65 +++++++++++++--------
src/hb-ot-layout-jstf-table.hh | 12 ++--
@@ -57202,9 +56173,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 29 13:59:42 2015 +0100
[layout] Allocate iters in the context
-
+
Can be further optimized, but I think I didn't break anything.
-
+
Saves another 3% off Roboto shaping.
src/hb-ot-layout-gpos-table.hh | 18 ++++++------------
@@ -57228,7 +56199,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 29 13:40:39 2015 +0100
[lookup] Add skippy_iter.reset()
-
+
Towards reducing the cost of initializing skippy_iter()
src/hb-ot-layout-gpos-table.hh | 18 ++++++++++++------
@@ -57242,8 +56213,7 @@ Date: Thu Jan 29 13:32:05 2015 +0100
[layout] Shuffle code around
- src/hb-ot-layout-gsubgpos-private.hh | 111
- ++++++++++++++++++-----------------
+ src/hb-ot-layout-gsubgpos-private.hh | 111 ++++++++++++++++++-----------------
1 file changed, 56 insertions(+), 55 deletions(-)
commit 696266981df5ef6c62ad0115133dad1d6c1d9acc
@@ -57253,8 +56223,7 @@ Date: Thu Jan 29 13:08:41 2015 +0100
[layout] Merge forward and backward iterators
src/hb-ot-layout-gpos-table.hh | 12 +++---
- src/hb-ot-layout-gsubgpos-private.hh | 71
- ++++++++----------------------------
+ src/hb-ot-layout-gsubgpos-private.hh | 71 ++++++++----------------------------
src/hb-ot-shape-fallback.cc | 2 +-
3 files changed, 23 insertions(+), 62 deletions(-)
@@ -57263,7 +56232,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 29 13:05:25 2015 +0100
[layout] Fix backward reject()
-
+
Has no functional effect since reject was never used with
match_glyph_data.
@@ -57285,21 +56254,21 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 29 11:08:43 2015 +0100
[lookup] Don't initialize skippy if coverage match fails
-
+
Currently:
-
+
- Initializing skippy is very expensive,
-
+
- Our lookup accelerator (using set-digests) can be very ineffecite,
-
+
As such, we end up many times initializing skippy but then failing
coverage check. Reordering fixes that.
-
+
When, later, we fix our accelerator to have truly small false-positive
rate (for example by using the frozen-sets), then we might want to
reorder these checks such that we wouldn't calculate coverage number
if skippy is going to fail.
-
+
This shows a 5% speedup with Roboto already.
src/hb-ot-layout-gpos-table.hh | 15 ++++++---------
@@ -57329,14 +56298,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 28 21:46:07 2015 -0800
Add hb_frozen_set_t
-
+
I experimented with replacing use of hb_set_digest_t with this new
hb_frozen_set_t, hoping to get a huge speedup for busy lookups
(like kern lookup in Roboto), but I only got 6% speendup in Roboto
and 4% in NotoNastaliqUrduDraft :(.
- src/hb-set-private.hh | 57
- ++++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/hb-set-private.hh | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 56 insertions(+), 1 deletion(-)
commit 241eac9559465fa79f396570af4e87f455b7e9d5
@@ -57365,7 +56333,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 25 15:34:34 2015 -0800
Merge pull request #85 from KonstantinRitt/define_inline
-
+
Fix build with MSVC on CE
commit 9ee176ee978e6668c4faf00028811ce70979122e
@@ -57390,8 +56358,7 @@ commit 9e867b64467c46eea5cc9b1d5a9404a1221bbbfc
Author: Collin Fair <cpf@cpfx.ca>
Date: Sat Feb 14 09:32:04 2015 -0500
- Remove reference to --help-output-content in --help-output (as
- --help-output-format's options aren't available in hb-view)
+ Remove reference to --help-output-content in --help-output (as --help-output-format's options aren't available in hb-view)
util/options.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -57400,8 +56367,7 @@ commit 1d55ffeb66381889f11ebb9039ca4ec2ca5efbab
Author: Collin Fair <cpf@cpfx.ca>
Date: Sat Feb 14 09:29:35 2015 -0500
- Add serialization syntax documentation. Clarify naming and wording
- in --help-output/--help-format
+ Add serialization syntax documentation. Clarify naming and wording in --help-output/--help-format
util/options.cc | 30 ++++++++++++++++--------------
1 file changed, 16 insertions(+), 14 deletions(-)
@@ -57411,26 +56377,23 @@ Author: Konstantin Ritt <ritt.ks@gmail.com>
Date: Sat Feb 14 00:58:51 2015 +0400
Fix build with MSVC on CE
-
+
This code is C++ only. There isn't a single C++ compiler that fails to
understand the "inline" keyword, since it's required by C++98. Any
compiler older than C++98 is likely to choke on the template usage
further down, so this isn't necessary.
-
+
Moreover, the C++ standard says you cannot define macros.
- [lib.macro.names] says "Nor shall such a translation unit define
- macros
+ [lib.macro.names] says "Nor shall such a translation unit define macros
for names lexically identical to keywords." -- technically, it's a
- promise that the Standard Library headers won't do it, the wording
- means
+ promise that the Standard Library headers won't do it, the wording means
that the entire translation unit won't do it, which implies no source
can do it.
-
+
MSVC complains about it:
- fatal error C1189: #error : The C++ Standard Library forbids
- macroizing
+ fatal error C1189: #error : The C++ Standard Library forbids macroizing
keywords. Enable warning C4005 to find the forbidden macro.
-
+
Author: Thiago Macieira <thiago.macieira@intel.com>
src/hb-private.hh | 10 ----------
@@ -57450,7 +56413,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 28 10:51:33 2015 -0800
[coretext] Don't generate notdef glyph for default-ignorables
-
+
As discovered on Chrome Mac:
https://code.google.com/p/chromium/issues/detail?id=452326
@@ -57463,16 +56426,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 28 10:43:32 2015 -0800
[coretext] Unbreak glyph positioning in presence of notdef runs
-
+
As discovered on Chrome Mac:
https://code.google.com/p/chromium/issues/detail?id=452326
-
+
This was originally broken in:
-
+
commit 5a0eed3b50629be4826e4e9428f2c3255195395d
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 11 23:47:16 2014 -0400
-
+
[coretext] Implement vertical shaping
src/hb-coretext.cc | 35 +++++++++++++++++++++++++++--------
@@ -57510,25 +56473,21 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 26 14:25:52 2015 -0800
[API] Add hb_buffer_add_latin1()
-
+
This is by no ways to promote non-Unicode encodings. This is an entry
point that takes Unicode codepoints that happen to all be the first
- 256 characters and hence fit in 8bit strings. This is useful eg
- in Chrome
+ 256 characters and hence fit in 8bit strings. This is useful eg in Chrome
where strings that can fit in 8bit are implemented that way, and this
avoids copying into UTF-8 or UTF-16.
-
- Perhaps we should rename this to hb_buffer_add_codepoints8().
- I'm also
- curious if anyone would be really interested in
- hb_buffer_add_codepoints16().
-
+
+ Perhaps we should rename this to hb_buffer_add_codepoints8(). I'm also
+ curious if anyone would be really interested in hb_buffer_add_codepoints16().
+
Please discuss!
src/hb-buffer.cc | 36 +++++++++++++++++++++++++-------
src/hb-buffer.h | 8 ++++++++
- src/hb-utf-private.hh | 57
- ++++++++++++++++++++++++++++++++++++++-------------
+ src/hb-utf-private.hh | 57 ++++++++++++++++++++++++++++++++++++++-------------
3 files changed, 80 insertions(+), 21 deletions(-)
commit 78c6e86c04f12154c88b9f9264d0bd50b721699b
@@ -57546,7 +56505,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jan 25 13:06:03 2015 -0800
Merge pull request #81 from KonstantinRitt/fixes/build/win8phone
-
+
winrt_buildfixes
commit f3537b620b0a7392ea27f01f465c5ba79459c858
@@ -57554,7 +56513,7 @@ Author: Konstantin Ritt <ritt.ks@gmail.com>
Date: Sun Jan 25 09:50:51 2015 +0400
Move some code around
-
+
Just to keep Windows specific workarounds in a single place.
src/hb-private.hh | 25 ++++++++++++-------------
@@ -57565,7 +56524,7 @@ Author: Konstantin Ritt <ritt.ks@gmail.com>
Date: Sun Jan 25 08:16:26 2015 +0400
Do not define MemoryBarrier on WinCE
-
+
There is a _HBMemoryBarrier() wrapper function that emulates
MemoryBarrier() behavior when it is not defined.
@@ -57577,10 +56536,10 @@ Author: Konstantin Ritt <ritt.ks@gmail.com>
Date: Sun Jan 25 08:13:24 2015 +0400
Fix build on WinRT
-
+
There is no environment (like WinCE) and the basic version
of InitializeCriticalSection is unsupported.
-
+
https://codereview.qt-project.org/#/c/92496/
src/hb-mutex-private.hh | 4 ++++
@@ -57620,7 +56579,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 21 18:50:57 2015 -0800
[coretext] Fix scaling
-
+
Before we were not accounting for possible differences in x_scale and
y_scale, as well as the signs of those. All should be in good shape
now.
@@ -57669,7 +56628,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 20 12:30:45 2015 -0800
[util] Add --font-size to hb-shape
-
+
Also makes hb-view to use 8 bits of subpixel precision and shape at
requested size, instead of always shaping at upem and scaling results.
@@ -57679,8 +56638,7 @@ Date: Tue Jan 20 12:30:45 2015 -0800
util/helper-cairo.cc | 16 ++++++++--------
util/helper-cairo.hh | 5 ++---
util/main-font-text.hh | 4 ++--
- util/options.cc | 44
- +++++++++++++++++++++++++++++++++++++++++---
+ util/options.cc | 44 +++++++++++++++++++++++++++++++++++++++++---
util/options.hh | 16 ++++++++++++----
util/view-cairo.cc | 2 +-
util/view-cairo.hh | 8 ++++----
@@ -57700,10 +56658,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 19 17:00:31 2015 -0800
When matching second glyph of kerning pairs, use bsearch
-
+
Roboto has glyphs (like 'F') that have 200 kerning pairs.
Add a handcoded bsearch instead of previous linear search.
-
+
This doesn't show much speedup though, apparently we spend the
bulk of the time somewhere before here.
@@ -57725,7 +56683,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 19 16:15:00 2015 -0800
Merge pull request #77 from roozbehp/master
-
+
Change New Tai Lue shaping engine from SEA to default
commit 5eb939ddfe9ef217da2e48d7d0f1f4b7501714ad
@@ -57733,15 +56691,15 @@ Author: Roozbeh Pournader <roozbeh@google.com>
Date: Sun Jan 18 14:30:08 2015 -0800
Change New Tai Lue shaping engine from SEA to default
-
+
This is to reflect the UTC decision to change the encoding model of
New Tai Lue from logical to visual to be similar to Thai, Lao, and
Tai Viet: http://www.unicode.org/L2/L2014/14250.htm#141-C26
-
+
The visual encoding is already the current practice of encoding New
Tai Lue on the web anyway:
http://www.unicode.org/L2/L2014/14195-newtailue.txt
-
+
Fixes behdad/harfbuzz#66.
src/hb-ot-shape-complex-private.hh | 2 +-
@@ -57754,8 +56712,7 @@ Date: Sat Jan 17 20:16:56 2015 -0800
[indic] Fix out-of-bounds access
src/gen-indic-table.py | 2 +-
- src/hb-ot-shape-complex-indic-table.cc | 36
- +++++++++++++++++-----------------
+ src/hb-ot-shape-complex-indic-table.cc | 36 +++++++++++++++++-----------------
2 files changed, 19 insertions(+), 19 deletions(-)
commit 238d6a38f2ceb7d8dceec9365a823f032b3b9f7d
@@ -57772,7 +56729,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 6 19:16:38 2015 -0800
[bindings] Use hb_glib_blob_create() in sample
-
+
hb_blob_create() is considered C-only API.
src/hb-blob.cc | 8 ++++----
@@ -57814,7 +56771,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 6 14:05:26 2015 -0800
Fix up gobject-introspection a bit
-
+
Minimal shaping works now!
src/hb-blob.cc | 6 +++---
@@ -57827,9 +56784,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 5 14:43:13 2015 -0800
Remove hardcoded ICU include paths.
-
+
ICU exports them using LOCAL_EXPORT_C_INCLUDE_DIRS.
-
+
https://android-review.googlesource.com/#/c/121311/
Android.mk | 3 +--
@@ -57841,7 +56798,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jan 4 20:32:18 2015 -0800
Merge pull request #76 from cpeterso/cpeterso/Wunused-function
-
+
Add #ifdef HB_USE_ATEXIT to fix -Wunused-function warnings
commit fb85d618f5883458bacf0ecb0894772291a2d738
@@ -57862,7 +56819,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jan 3 21:55:30 2015 -0800
Merge pull request #75 from cpeterso/cpeterso/Wunused-value
-
+
Fix hb_atomic_ptr_cmpexch -Wunused-value warnings
commit d1897a98d8da40cffb57c07099a9a93cfeaacc36
@@ -57880,7 +56837,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 2 14:09:23 2015 -0800
Add missing va_end()
-
+
Fixes https://github.com/behdad/harfbuzz/pull/74
util/options.cc | 1 +
@@ -57891,16 +56848,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 28 18:56:15 2014 -0800
[ft] Don't set font ppem
-
+
For discussion see:
-
+
http://lists.freedesktop.org/archives/harfbuzz/2012-April/001905.html
-
- Over time we have had added NO_HINTING all over the place in hb-ft.
- Finish it off.
- Not setting ppem on hb-font disables get_contour_point() calls which
- is good anyway.
-
+
+ Over time we have had added NO_HINTING all over the place in hb-ft. Finish it off.
+ Not setting ppem on hb-font disables get_contour_point() calls which is good anyway.
+
See comments in the commit.
src/hb-ft.cc | 9 +++++++++
@@ -57910,63 +56865,46 @@ commit 350f3a02ce225e5d78db8ac96de1351ff9f96dd5
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 28 17:44:26 2014 -0800
- [ft] Add hb_ft_face_create_referenced() and
- hb_ft_font_create_referenced()
-
- When I originally wrote hb-ft, FreeType objects did not support
- reference
+ [ft] Add hb_ft_face_create_referenced() and hb_ft_font_create_referenced()
+
+ When I originally wrote hb-ft, FreeType objects did not support reference
counting. As such, hb_ft_face_create() and hb_ft_font_create() had a
- "destroy" callback and client was responsible for making sure
- FT_Face is
+ "destroy" callback and client was responsible for making sure FT_Face is
kept around as long as the hb-font/face are alive.
-
+
However, since this was not clearly documented, some clienets didn't
- correctly did that. In particular, some clients assumed that
- it's safe
- to destroy FT_Face and then hb_face_t. This, indeed, used to work,
- until
- 45fd9424c723f115ca98995b8f8a25185a6fc71d, which make face destroy
- access
+ correctly did that. In particular, some clients assumed that it's safe
+ to destroy FT_Face and then hb_face_t. This, indeed, used to work, until
+ 45fd9424c723f115ca98995b8f8a25185a6fc71d, which make face destroy access
font tables.
-
- Now, I fixed that issue in 395b35903e052aecc97d0807e4f813c64c0d2b0b
- since
- the access was not needed, but the problem remains that not all
- clients
+
+ Now, I fixed that issue in 395b35903e052aecc97d0807e4f813c64c0d2b0b since
+ the access was not needed, but the problem remains that not all clients
handle this correctly. See:
-
+
https://bugs.freedesktop.org/show_bug.cgi?id=86300
-
- Fortunately, FT_Reference_Face() was added to FreeType in 2010,
- and so we
+
+ Fortunately, FT_Reference_Face() was added to FreeType in 2010, and so we
can use it now. Originally I wanted to change hb_ft_face_create() and
- hb_ft_font_create() to reference the face if destroy==NULL was
- passed in.
- That would improve pretty much all clients, with little undesired
- effects.
- Except that FreeType itself, when compiled with HarfBuzz support,
- calls
- hb_ft_font_create() with destroy==NULL and saves the resulting
- hb-font on
+ hb_ft_font_create() to reference the face if destroy==NULL was passed in.
+ That would improve pretty much all clients, with little undesired effects.
+ Except that FreeType itself, when compiled with HarfBuzz support, calls
+ hb_ft_font_create() with destroy==NULL and saves the resulting hb-font on
the ft-face (why does it not free it immediately?). Making hb-face
- reference ft-face causes a cycling reference there. At least,
- that's my
+ reference ft-face causes a cycling reference there. At least, that's my
current understanding.
-
- At any rate, a cleaner approach, even if it means all clients will
- need a
+
+ At any rate, a cleaner approach, even if it means all clients will need a
change, is to introduce brand new API. Which this commit does.
-
- Some comments added to hb-ft.h, hoping to make future clients
- make better
+
+ Some comments added to hb-ft.h, hoping to make future clients make better
choices.
-
+
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=75299
configure.ac | 4 ++--
src/hb-ft.cc | 32 ++++++++++++++++++++++++++++++++
- src/hb-ft.h | 59
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/hb-ft.h | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
3 files changed, 92 insertions(+), 3 deletions(-)
commit 9a3b74884b2e41c7040611030f4336f13d18fd3e
@@ -57974,7 +56912,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 28 17:27:39 2014 -0800
Remove redundant check for FT_Face_GetCharVariantIndex
-
+
We require FreeType >= 2.8.3. This symbol was introduced earlier
than that.
@@ -57996,7 +56934,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 28 16:20:31 2014 -0800
[ft] Open blob in READONLY mode
-
+
HB_MEMORY_MODE_READONLY_MAY_MAKE_WRITABLE is deprecated and fairly
useless now.
@@ -58008,13 +56946,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 28 16:03:26 2014 -0800
Avoid accessing layout tables at face destruction
-
+
"Fixes" https://bugs.freedesktop.org/show_bug.cgi?id=86300
-
- Based on discussion someone else who had a similar issue, most
- probably
- the user is releasing FT_Face before destructing hb_face_t /
- hb_font_t.
+
+ Based on discussion someone else who had a similar issue, most probably
+ the user is releasing FT_Face before destructing hb_face_t / hb_font_t.
While that's a client bug, and while we can (and should) use FreeType
refcounting to help avoid that, it happens that we were accessing
the table when we didn't really have to. Avoid that.
@@ -58029,13 +56965,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 18 18:22:21 2014 -0800
Fail blob creation if length overflows or is too large
-
+
Fail if blob start plus length overflows; or if blob length
is greater than 2GB. It takes a while for fonts to get to that
size. In the mean time, it protects against bugs like this:
-
+
http://www.icu-project.org/trac/ticket/11450
-
+
Also avoids some weird issues with 32bit vs 64bit systems
as we accept length as unsigned int. As such, a length of
-1 will cause overflow on 32bit machines, but happily
@@ -58050,7 +56986,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 18 18:09:41 2014 -0800
Assert that blob length doesn't overflow address.
-
+
This will crash now, if blob was created with wrong length.
Check for that coming next commit.
@@ -58074,8 +57010,7 @@ Date: Fri Dec 12 21:07:53 2014 -0800
[otlayout] Mark variables that are C arrays as opposed to OT::ArrayOf
src/hb-ot-layout-gpos-table.hh | 24 +++++++--------
- src/hb-ot-layout-gsubgpos-private.hh | 60
- ++++++++++++++++++------------------
+ src/hb-ot-layout-gsubgpos-private.hh | 60 ++++++++++++++++++------------------
2 files changed, 42 insertions(+), 42 deletions(-)
commit 9df0a520306a491f973d42965597bfda6023e508
@@ -58150,24 +57085,23 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 10 12:05:24 2014 -0800
[indic] Allow ZWJ/ZWNJ before SM
-
+
In Oriya, a ZWJ/ZWNJ might be added before candrabindu to encourage
or stop ligation of the candrabindu. This is clearly specified in
the Unicode section on Oriya. Allow it there. Note that Uniscribe
doesn't allow this.
-
+
Micro tests added using Noto Sans Oriya draft.
-
+
No changes in numbers. Currently at:
-
+
BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%)
GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%)
KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%)
KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%)
- MALAYALAM: 1048147 out of 1048334 tests passed. 187 failed
- (0.0178378%)
+ MALAYALAM: 1048147 out of 1048334 tests passed. 187 failed (0.0178378%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
@@ -58175,8 +57109,7 @@ Date: Wed Dec 10 12:05:24 2014 -0800
src/hb-ot-shape-complex-indic-machine.rl | 2 +-
test/shaping/Makefile.am | 1 +
- .../sha1sum/5028afb650b1bb718ed2131e872fbcce57828fff.ttf | Bin 0 ->
- 4720 bytes
+ .../sha1sum/5028afb650b1bb718ed2131e872fbcce57828fff.ttf | Bin 0 -> 4720 bytes
test/shaping/fonts/sha1sum/MANIFEST | 1 +
test/shaping/tests/MANIFEST | 1 +
test/shaping/tests/indic-joiner-candrabindu.tests | 2 ++
@@ -58197,12 +57130,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 29 11:23:08 2014 -0700
In hb_ot_collect_glyphs(), don't recurse to a lookup more than once
-
+
Otherwise, we might process a lookup thousands of times, with no
benefit. This pathological case was hit by Noto Nastaliq Urdu Draft
in Firefox's code to determine whether space glyph is involved in
any GSUB/GPOS rules. A test page is at http://behdad.org/urdu
-
+
See:
https://bugzilla.mozilla.org/show_bug.cgi?id=1090869
@@ -58215,8 +57148,7 @@ Date: Tue Oct 14 21:26:13 2014 -0700
Move code around
- src/hb-open-type-private.hh | 50
- ++++++++++++++++++++++-----------------------
+ src/hb-open-type-private.hh | 50 ++++++++++++++++++++++-----------------------
1 file changed, 25 insertions(+), 25 deletions(-)
commit 666b42f73bd1f516657b206ef738108825bf239f
@@ -58224,11 +57156,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 14 21:24:59 2014 -0700
Move macros around
-
+
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=84491
- src/hb-open-type-private.hh | 63
- ++++++++++++++++++++++++++++++++++++++-------
+ src/hb-open-type-private.hh | 63 ++++++++++++++++++++++++++++++++++++++-------
src/hb-private.hh | 41 -----------------------------
src/hb-uniscribe.cc | 6 +++++
3 files changed, 60 insertions(+), 50 deletions(-)
@@ -58238,7 +57169,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 14 20:07:31 2014 -0700
Fix misc warnings
-
+
Fixes https://github.com/behdad/harfbuzz/pull/51
src/hb-buffer-deserialize-json.rl | 4 ++--
@@ -58450,7 +57381,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 1 12:41:03 2014 -0400
Don't use tmp files in Makefile
-
+
Useful for code-coverage generation of the ragel-generated files
as they will now contain the correct .hh filename in them.
@@ -58462,7 +57393,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 1 11:56:07 2014 -0400
check-static-inits: Filter out zero-length sections
-
+
When compiling with -O0, zero-sized constructors were showing up
and confusing the test.
@@ -58511,8 +57442,7 @@ Date: Thu Sep 25 17:45:49 2014 +0300
[ot-font] Add hb_ot_face_cmap_accelerator_t
- src/hb-ot-font.cc | 113
- +++++++++++++++++++++++++++++++-----------------------
+ src/hb-ot-font.cc | 113 +++++++++++++++++++++++++++++++-----------------------
1 file changed, 66 insertions(+), 47 deletions(-)
commit d088ccaf11d9475fe0d269ce130b1793b8a1ffbf
@@ -58539,8 +57469,7 @@ Date: Thu Sep 25 16:53:24 2014 +0300
[ot-font] Add metrics_accel_t
- src/hb-ot-font.cc | 111
- ++++++++++++++++++++++--------------------------
+ src/hb-ot-font.cc | 111 ++++++++++++++++++++++--------------------------
src/hb-ot-hhea-table.hh | 2 +-
src/hb-ot-hmtx-table.hh | 4 +-
3 files changed, 54 insertions(+), 63 deletions(-)
@@ -58552,8 +57481,7 @@ Date: Thu Sep 25 13:04:08 2014 +0300
[ot-font] Start adding vertical support
src/hb-ot-font.cc | 57 ++++++++++++++++++++++++++++++++++----------
- src/hb-ot-hhea-table.hh | 63
- ++++++++++++++++++++++++++-----------------------
+ src/hb-ot-hhea-table.hh | 63 ++++++++++++++++++++++++++-----------------------
src/hb-ot-hmtx-table.hh | 35 +++++++++++++++++----------
3 files changed, 100 insertions(+), 55 deletions(-)
@@ -58571,9 +57499,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 25 12:31:19 2014 -0400
[arabic] Don't #include __FILE__
-
+
Fine!
-
+
https://code.google.com/p/chromium/issues/detail?id=406957
src/hb-ot-shape-complex-arabic-win1256.hh | 2 +-
@@ -58584,7 +57512,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 25 11:48:12 2014 -0400
[arabic] Allow disabling win1256 fallback code
-
+
By defining HB_NO_WIN1256.
src/hb-ot-shape-complex-arabic-fallback.hh | 2 +-
@@ -58594,9 +57522,8 @@ commit 8a9319502141c09695461c386e54f998250420e9
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 22 12:06:57 2014 -0400
- [ot] Prefer Windows platform cmap tables / accept all Unicode
- encodingIDs
-
+ [ot] Prefer Windows platform cmap tables / accept all Unicode encodingIDs
+
Some fonts on the Mac ship with (0,1).
src/hb-ot-font.cc | 7 +++++--
@@ -58636,8 +57563,7 @@ Date: Thu Aug 14 13:25:55 2014 -0400
Simplify hb-object
- src/hb-object-private.hh | 118
- +++++++++++++++--------------------------------
+ src/hb-object-private.hh | 118 +++++++++++++++--------------------------------
1 file changed, 36 insertions(+), 82 deletions(-)
commit 9d861b81f349188a4507350398786a6e94038095
@@ -58646,8 +57572,7 @@ Date: Thu Aug 14 13:15:21 2014 -0400
Really fix clang build this time
- src/hb-object-private.hh | 141
- +++++++++++++++++++++++------------------------
+ src/hb-object-private.hh | 141 +++++++++++++++++++++++------------------------
1 file changed, 68 insertions(+), 73 deletions(-)
commit 272226f294382b0c6921b36e0e67fc53daa765d3
@@ -58655,7 +57580,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 14 13:11:33 2014 -0400
Revert "Fix build on clang after previous commit"
-
+
This reverts commit 9c80cbc87f23040a334e30c750f64523d9ef10c8.
src/hb-object-private.hh | 34 +++++++++++++---------------------
@@ -58675,7 +57600,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 14 13:05:36 2014 -0400
Rewrite this==NULL checks to avoid undefined behavior
-
+
Fixes https://code.google.com/p/chromium/issues/detail?id=403594
src/hb-object-private.hh | 18 ++++++++----------
@@ -58686,7 +57611,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 14 12:59:16 2014 -0400
Remove this==NULL check from face->reference_table()
-
+
Not supposed to happen, and apparently this is undefined in C++.
https://code.google.com/p/chromium/issues/detail?id=403594
@@ -58698,7 +57623,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 14 12:57:02 2014 -0400
Make hb_object_t members private
-
+
In preparation for fixing:
https://code.google.com/p/chromium/issues/detail?id=403594
@@ -58766,9 +57691,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 12 17:15:09 2014 -0400
[shape-plan] Fix typo!
-
- The only effect is, if shaper_list was not NULL and no shaper
- was found,
+
+ The only effect is, if shaper_list was not NULL and no shaper was found,
we now don't insert anything into cache and return earlier.
src/hb-shape-plan.cc | 2 +-
@@ -58805,11 +57729,10 @@ commit 8d5eebc0c6ada01128c6ee384340efdbef7ba29d
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 12 16:50:22 2014 -0400
- [shape-plan] Fix shape-plan caching with more than one requested
- shaper
-
+ [shape-plan] Fix shape-plan caching with more than one requested shaper
+
Wasn't breaking out of loop, ouch!
-
+
http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1246370.html
src/hb-shape-plan.cc | 9 ++++++---
@@ -58829,7 +57752,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 12 15:49:47 2014 -0400
[coretext] Fix buffer resizing
-
+
Was very broken. Now fixed and tested.
src/hb-coretext.cc | 17 +++++++++++++----
@@ -58849,9 +57772,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 12 13:12:31 2014 -0400
[wince] Two more Windows CE fixes
-
+
Report has it that it builds (and works) now:
-
+
https://codereview.qt-project.org/#/c/92087/
src/hb-mutex-private.hh | 2 +-
@@ -58863,19 +57786,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 12 10:32:41 2014 -0400
[coretext] Compare CGFont and PS name, if CTFont didn't match
-
+
See comments.
-
+
Fixes vertical text. CoreText backend is in very good shape now!
-
+
Also see:
5a0eed3b50629be4826e4e9428f2c3255195395d
25f4fb9b56bb3f8bec821571c78f8829e40daa54
-
+
Fixes http://github.com/behdad/harfbuzz/pull/36
- src/hb-coretext.cc | 54
- ++++++++++++++++++++++++++++++++++++++++++++++++------
+ src/hb-coretext.cc | 54 ++++++++++++++++++++++++++++++++++++++++++++++++------
1 file changed, 48 insertions(+), 6 deletions(-)
commit 5a0eed3b50629be4826e4e9428f2c3255195395d
@@ -58883,13 +57805,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 11 23:47:16 2014 -0400
[coretext] Implement vertical shaping
-
+
Currently doesn't work though, we detect font fallback. Apparently
matching on ct_font is not safe for this. Looks like commit
25f4fb9b56bb3f8bec821571c78f8829e40daa54 wasn't enough after all.
- src/hb-coretext.cc | 127
- ++++++++++++++++++++++++++++++++++-------------------
+ src/hb-coretext.cc | 127 ++++++++++++++++++++++++++++++++++-------------------
1 file changed, 81 insertions(+), 46 deletions(-)
commit 1b55077f03758e49f93b8bc1de678e96ea58718c
@@ -58897,7 +57818,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 11 20:45:12 2014 -0400
[coretext] Remove unnecessary alt_size
-
+
Wasn't needed after a6b8dc87421de33746b0b14d86d2d1532aec02af.
src/hb-coretext.cc | 4 ++--
@@ -58908,7 +57829,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 11 20:02:45 2014 -0400
[coretext] Use CFRunStatus
-
+
Assert that all runs had expected direction, and take hint for
non-monotone clusters.
@@ -58938,13 +57859,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 11 18:40:01 2014 -0400
API: Do not clear buffer-flags in hb_buffer_clear_contents()
-
+
After 763e5466c0a03a7c27020e1e2598e488612529a7, one doesn't
need to set flags for different pieces of text. The flags now
are something the client sets up once, depending on how it
actually uses the buffer. As such, don't clear it in
clear_contents().
-
+
Tests updated.
src/hb-buffer-private.hh | 4 +---
@@ -58966,7 +57887,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 11 17:46:50 2014 -0400
[coretext] Pass buffer direction to CoreText
-
+
Have to use a CTTypesetter for this.
src/hb-coretext.cc | 26 ++++++++++++++++++++++----
@@ -58977,7 +57898,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 11 17:46:12 2014 -0400
[coretext] Minor
-
+
It's hard to handle all possible NULL returns from CoreText. Add one
more...
@@ -58989,7 +57910,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 11 15:29:18 2014 -0400
[coretext] Attach marks to base clusters
-
+
Fixes https://githu.com/behdad/harfbuzz/issues/49
to the extent that it can be fixed.
@@ -59001,10 +57922,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 11 15:11:59 2014 -0400
[coretext] Use input clusters
-
+
Before, this shaper was returning UTF-16 cluster indices instead of
- returning whatever cluster values the user had had set up in the
- buffer.
+ returning whatever cluster values the user had had set up in the buffer.
Ouch!
src/hb-coretext.cc | 6 ++----
@@ -59015,14 +57935,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 11 15:08:19 2014 -0400
[coretext] Fix buffer resize handling
-
+
We can't really resize buffer and continue in this shaper as we are
using the scratch buffer for string_ref and log_cluster. Restructure
shaper to retry from (almost) scratch.
src/hb-buffer-private.hh | 3 +
- src/hb-coretext.cc | 428
- ++++++++++++++++++++++++++---------------------
+ src/hb-coretext.cc | 428 ++++++++++++++++++++++++++---------------------
2 files changed, 238 insertions(+), 193 deletions(-)
commit 9b3c60c88b118f01610ae7a608b138f79f2dc7be
@@ -59030,7 +57949,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 11 13:25:43 2014 -0400
[coretext] Always compute log_clusters
-
+
To be used soon.
src/hb-coretext.cc | 24 +++++++++++-------------
@@ -59069,7 +57988,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Aug 10 19:05:25 2014 -0400
[coretext] Fix fallback detection
-
+
Fixes http://github.com/behdad/harfbuzz/pull/36
src/hb-coretext.cc | 29 ++++++++++++++++++++---------
@@ -59080,11 +57999,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Aug 10 18:59:47 2014 -0400
[coretext] Fix last range
-
+
Test with:
-
- hb-view /Library/Fonts/Zapfino.ttf ZapfinoZapfino --features=-dlig[7:]
- --shaper=coretext
+
+ hb-view /Library/Fonts/Zapfino.ttf ZapfinoZapfino --features=-dlig[7:] --shaper=coretext
src/hb-coretext.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -59094,7 +58012,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Aug 10 18:52:07 2014 -0400
Fix hb_in_range() for types smaller than int
-
+
As exercised by hb-coretext .notdef code.
src/hb-private.hh | 4 +++-
@@ -59105,10 +58023,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Aug 10 18:04:50 2014 -0400
[wince] Try to fix some stuff on Windows CE
-
+
Based on errors seen here:
http://testresults.qt-project.org/ci/QtBase_dev_Integration/build_03837/wince70embedded-armv4i-msvc2008_Windows_7/log.txt.gz
-
+
Fully untested.
src/hb-private.hh | 8 ++++++++
@@ -59129,7 +58047,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Aug 10 17:40:24 2014 -0400
[coretext] Fix assert on Yosemite
-
+
Apparently those functions documented as sometimes returning NULL
actually exercise that right in OS X 10.10 Yosemite. The scratch
was too small for that. I *think* I fixed it, but haven't tested
@@ -59152,7 +58070,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 7 15:38:52 2014 -0400
[arabic] Bug 82306 - Mandaic had errors in its Unicode Joining_Type
-
+
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=82306
src/hb-ot-shape-complex-arabic-table.hh | 2 +-
@@ -59163,12 +58081,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 6 13:34:49 2014 -0400
Use atexit() only if it's safe to call from shared library
-
+
Apparently they are not (advertised as?) safe on BSD systems.
We ignore the case of static libraries.
-
+
Whitelisted on glibc, Android, and MSVC / mingw.
-
+
https://bugs.freedesktop.org/show_bug.cgi?id=82246
src/hb-common.cc | 4 ++--
@@ -59184,18 +58102,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 5 14:19:01 2014 -0400
[arabic] Fix fallback shaping regression
-
+
Was broken in 615d00ea252739da57edbd980ff27e573.
-
+
Fixes https://github.com/behdad/harfbuzz/pull/48
-
+
Micro-test added.
src/hb-ot-shape-complex-arabic.cc | 4 ++--
test/shaping/Makefile.am | 1 +
test/shaping/fonts/sha1sum/MANIFEST | 1 +
- .../sha1sum/df768b9c257e0c9c35786c47cae15c46571d56be.ttf | Bin 0 ->
- 6332 bytes
+ .../sha1sum/df768b9c257e0c9c35786c47cae15c46571d56be.ttf | Bin 0 -> 6332 bytes
test/shaping/tests/MANIFEST | 1 +
test/shaping/tests/arabic-fallback-shaping.tests | 1 +
6 files changed, 6 insertions(+), 2 deletions(-)
@@ -59224,7 +58141,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 2 17:18:46 2014 -0400
Make sure gsubgpos buffer vars are available during fallback_position
-
+
Add buffer var allocation asserts to a few key places.
src/hb-ot-layout-gpos-table.hh | 4 ++--
@@ -59241,7 +58158,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 2 16:31:16 2014 -0400
Disable 'liga' for vertical text
-
+
The reason we turned it on is because Kazuraki uses it. But that's
not reason enough. Until the OpenType spec gets its act together re
adding design-direction to lookups, this is better user experience.
@@ -59254,41 +58171,39 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 2 16:17:44 2014 -0400
Make it easier to use HB_BUFFER_FLAG_BOT/EOT
-
+
Previously, we expected users to provide BOT/EOT flags when the
text *segment* was at paragraph boundaries. This meant that for
clients that provide full paragraph to HarfBuzz (eg. Pango), they
had code like this:
-
+
hb_buffer_set_flags (hb_buffer,
(item_offset == 0 ? HB_BUFFER_FLAG_BOT : 0) |
- (item_offset + item_length == paragraph_length
- ?
+ (item_offset + item_length == paragraph_length ?
HB_BUFFER_FLAG_EOT : 0));
-
+
hb_buffer_add_utf8 (hb_buffer,
paragraph_text, paragraph_length,
item_offset, item_length);
-
+
After this change such clients can simply say:
-
+
hb_buffer_set_flags (hb_buffer,
HB_BUFFER_FLAG_BOT | HB_BUFFER_FLAG_EOT);
-
+
hb_buffer_add_utf8 (hb_buffer,
paragraph_text, paragraph_length,
item_offset, item_length);
-
+
Ie, HarfBuzz itself checks whether the segment is at the beginning/end
of the paragraph. Clients that only pass item-at-a-time to HarfBuzz
continue not setting any flags whatsoever.
-
+
Another way to put it is: if there's pre-context text in the buffer,
HarfBuzz ignores the BOT flag. If there's post-context, it ignores
EOT flag.
- src/hb-ot-shape-complex-arabic.cc | 40
- +++++++++++++++++++--------------------
+ src/hb-ot-shape-complex-arabic.cc | 40 +++++++++++++++++++--------------------
src/hb-ot-shape.cc | 1 +
2 files changed, 20 insertions(+), 21 deletions(-)
@@ -59313,13 +58228,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 1 19:05:33 2014 -0400
[arabic/win1256] Really fix lam-alef this time
-
+
https://bugzilla.mozilla.org/show_bug.cgi?id=1045139#c26
https://github.com/behdad/harfbuzz/commit/b276e897d17519a2c28f79d024904ac2bdd86bcf#commitcomment-7243499
src/hb-ot-shape-complex-arabic-fallback.hh | 2 +-
- src/hb-ot-shape-complex-arabic-win1256.hh | 49
- +++++++++---------------------
+ src/hb-ot-shape-complex-arabic-win1256.hh | 49 +++++++++---------------------
2 files changed, 15 insertions(+), 36 deletions(-)
commit 55977f2a462b7fa1248eab3787053dc82320d3e5
@@ -59327,13 +58241,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 1 16:14:33 2014 -0400
[arabic/win1256] Hook up lamMedi lookup
-
+
Restructure lookup array to accommodate.
-
+
https://bugzilla.mozilla.org/show_bug.cgi?id=1045139#c18
- src/hb-ot-shape-complex-arabic-fallback.hh | 26
- ++++++++++----------------
+ src/hb-ot-shape-complex-arabic-fallback.hh | 26 ++++++++++----------------
src/hb-ot-shape-complex-arabic-win1256.hh | 1 +
2 files changed, 11 insertions(+), 16 deletions(-)
@@ -59342,7 +58255,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 1 16:09:31 2014 -0400
[arabic/win1256] Fix TEH MARBUTA final form
-
+
https://bugzilla.mozilla.org/show_bug.cgi?id=1045139#c18
src/hb-ot-shape-complex-arabic-win1256.hh | 8 ++++----
@@ -59353,7 +58266,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 31 18:21:05 2014 -0400
[arabic/win1256] Fix shaping of JEEM, HAH, and KHAH
-
+
https://bugzilla.mozilla.org/show_bug.cgi?id=1045139#c16
src/hb-ot-shape-complex-arabic-win1256.hh | 22 ++++++++++++----------
@@ -59364,24 +58277,20 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 31 11:04:00 2014 -0400
[arabic/win1256] Remove GCC'ism
-
- The table can now compile independently too. If we cannot make
- it work
+
+ The table can now compile independently too. If we cannot make it work
on MSVC, we can always generate the data and distribute it.
-
+
The code now compiles cleanly with:
-
- gcc -c -xc -std=c99 -Werror -pedantic
- hb-ot-shape-complex-arabic-win1256.hh
- g++ -c -xc -std=c++1x -Werror -pedantic
- hb-ot-shape-complex-arabic-win1256.hh
-
+
+ gcc -c -xc -std=c99 -Werror -pedantic hb-ot-shape-complex-arabic-win1256.hh
+ g++ -c -xc -std=c++1x -Werror -pedantic hb-ot-shape-complex-arabic-win1256.hh
+
See:
https://github.com/behdad/harfbuzz/commit/a97f537cec209649302899975d76ca2b2661da7a#commitcomment-7218736
src/hb-ot-shape-complex-arabic-fallback.hh | 4 +-
- src/hb-ot-shape-complex-arabic-win1256.hh | 123
- +++++++++++++++++------------
+ src/hb-ot-shape-complex-arabic-win1256.hh | 123 +++++++++++++++++------------
2 files changed, 75 insertions(+), 52 deletions(-)
commit f28b1c823db2ad56fed356ef864a7508d23048b8
@@ -59389,26 +58298,23 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 30 02:15:44 2014 -0400
[arabic] Implement Windows-1256 private shaping
-
- Bug 1045139 - The Arabic text with "MS Sans Serif" font is rendered
- bad
+
+ Bug 1045139 - The Arabic text with "MS Sans Serif" font is rendered bad
https://bugzilla.mozilla.org/show_bug.cgi?id=1045139
-
+
This is only enabled on Windows platforms, and requires support from
Uniscribe to work. But for clients that do hook up to Uniscribe, this
- fixes shaping of Windows-1256-encoded bitmap fonts like "MS Sans
- Serif".
-
+ fixes shaping of Windows-1256-encoded bitmap fonts like "MS Sans Serif".
+
The code and table together have just less than a 1kb footprint when
enabled.
-
+
UNTESTED. I might even have broken regular Arabic fallback shaping.
src/Makefile.am | 1 +
src/check-includes.sh | 2 +-
src/hb-ot-shape-complex-arabic-fallback.hh | 125 +++++++++--
- src/hb-ot-shape-complex-arabic-win1256.hh | 328
- +++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-arabic-win1256.hh | 328 +++++++++++++++++++++++++++++
4 files changed, 442 insertions(+), 14 deletions(-)
commit ac53443f1cea83ed43a4e41a9fdb91902f7fae7b
@@ -59416,22 +58322,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 31 18:51:37 2014 -0400
[hangul] Don't apply 'calt'
-
+
See comments.
-
+
Micro-test added.
- src/hb-ot-shape-complex-hangul.cc | 11
- ++++++++++-
+ src/hb-ot-shape-complex-hangul.cc | 11 ++++++++++-
test/shaping/Makefile.am | 1 +
- .../sha1sum/757ebd573617a24aa9dfbf0b885c54875c6fe06b.ttf | Bin 0 ->
- 1804 bytes
- .../sha1sum/7e14e7883ed152baa158b80e207b66114c823a8b.ttf | Bin 0 ->
- 1644 bytes
+ .../sha1sum/757ebd573617a24aa9dfbf0b885c54875c6fe06b.ttf | Bin 0 -> 1804 bytes
+ .../sha1sum/7e14e7883ed152baa158b80e207b66114c823a8b.ttf | Bin 0 -> 1644 bytes
test/shaping/fonts/sha1sum/MANIFEST | 2 ++
test/shaping/tests/MANIFEST | 1 +
- test/shaping/tests/hangul-jamo.tests | 11
- +++++++++++
+ test/shaping/tests/hangul-jamo.tests | 11 +++++++++++
7 files changed, 25 insertions(+), 1 deletion(-)
commit 8292f96b2be173ebceb1b54426c271cfeaecd633
@@ -59457,20 +58359,19 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jul 26 20:34:01 2014 -0400
[hebrew] Zero mark advance by GDEF late
-
+
Seems to be what Uniscribe does.
-
+
At this point I think it's work checking our default...
-
+
Fixes Bug 76767 - Zeroing of advance of 2nd component of multiple
substitution with SBL Hebrew
https://bugs.freedesktop.org/show_bug.cgi?id=76767
-
+
Micro-test added.
src/hb-ot-shape-complex-hebrew.cc | 2 +-
- .../sha1sum/8454d22037f892e76614e1645d066689a0200e61.ttf | Bin 0 ->
- 6068 bytes
+ .../sha1sum/8454d22037f892e76614e1645d066689a0200e61.ttf | Bin 0 -> 6068 bytes
test/shaping/fonts/sha1sum/MANIFEST | 1 +
test/shaping/tests/zero-width-marks.tests | 1 +
4 files changed, 3 insertions(+), 1 deletion(-)
@@ -59480,23 +58381,21 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jul 26 19:17:44 2014 -0400
Add old-Myanmar shaper
-
+
Looks like Unsicribe responds to the 'mymr' tag by zeroing marks
GDEF_LATE instead of generic-shaper UNICODE_LATE. Implement that.
-
+
Fixes
Bug 81775 - Incorrect Rendering with harfbuzz-ng myanmar unicode
https://bugs.freedesktop.org/show_bug.cgi?id=81775
-
+
Micro-test added based on Padauk.
- src/hb-ot-shape-complex-myanmar.cc | 18
- ++++++++++++++++++
+ src/hb-ot-shape-complex-myanmar.cc | 18 ++++++++++++++++++
src/hb-ot-shape-complex-private.hh | 5 +++--
test/shaping/Makefile.am | 1 +
test/shaping/fonts/sha1sum/MANIFEST | 1 +
- .../bb9473d2403488714043bcfb946c9f78b86ad627.ttf | Bin 0 ->
- 3440 bytes
+ .../bb9473d2403488714043bcfb946c9f78b86ad627.ttf | Bin 0 -> 3440 bytes
test/shaping/tests/MANIFEST | 1 +
test/shaping/tests/zero-width-marks.tests | 1 +
7 files changed, 25 insertions(+), 2 deletions(-)
@@ -59534,7 +58433,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 25 12:30:47 2014 -0400
Fix snprintf() format
-
+
Patch from Maks Naumov.
Fixes https://github.com/behdad/harfbuzz/pull/22
@@ -59546,7 +58445,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 25 12:21:49 2014 -0400
Make sure broken feature strings are not partially parsed
-
+
If user doesn't check hb_feature_from_string() return value, we
don't want them to end up see the partially-parsed feature.
@@ -59558,7 +58457,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 25 12:15:33 2014 -0400
Allow quotation marks around feature tag in hb_feature_from_string()
-
+
With this, I believe we accept CSS feature strings completely.
src/hb-shape.cc | 24 +++++++++++++++++++++---
@@ -59587,7 +58486,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 25 12:01:22 2014 -0400
Allow on/off in hb_feature_from_string()
-
+
We now allow things like "dlig on" / "dlig=on".
src/hb-shape.cc | 26 ++++++++++++++++++++++++--
@@ -59598,7 +58497,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 25 11:56:01 2014 -0400
Remove duplicate definition of ISALNUM
-
+
It's defined in hb-private.h already.
src/hb-shape.cc | 2 --
@@ -59618,7 +58517,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 25 11:44:35 2014 -0400
Do not require the '=' in hb_feature_from_string()
-
+
Towards accepting CSS font-feature-settings strings.
src/hb-shape.cc | 6 +++++-
@@ -59638,9 +58537,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 25 11:18:11 2014 -0400
Minor warnings fixes
-
- Some systems insist on -Wmissing-field-initializers. We have
- too many,
+
+ Some systems insist on -Wmissing-field-initializers. We have too many,
by design. Fix a few easy ones.
src/hb-open-type-private.hh | 2 +-
@@ -59653,13 +58551,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 23 16:48:51 2014 -0400
[indic] Handle old-spec Malayalam reordering with final Halant
-
+
See comment.
-
+
Micro-tests added.
- src/hb-ot-shape-complex-indic.cc | 28
- +++++++++++++++++----
+ src/hb-ot-shape-complex-indic.cc | 28 +++++++++++++++++----
test/shaping/Makefile.am | 1 +
.../270b89df543a7e48e206a2d830c0e10e5265c630.ttf | Bin 0 -> 3428 bytes
.../57a9d9f83020155cbb1d2be1f43d82388cbecc88.ttf | Bin 0 -> 2272 bytes
@@ -59674,7 +58571,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 23 11:38:49 2014 -0400
Give CC to gir-scanner
-
+
From:
https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-harfbuzz/0001-give-cc-to-gir-scanner.all.patch
@@ -59705,7 +58602,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 22 16:26:27 2014 -0400
Disallow changing settings on immutable face
-
+
Ouch!
src/hb-face.cc | 8 ++++----
@@ -59718,7 +58615,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 21 11:12:54 2014 -0400
[win] Fix Cygwin build
-
+
https://github.com/behdad/harfbuzz/commit/db308280488c2ee11ba865a9922eb6a0c1abeef3#commitcomment-7077778
src/hb-private.hh | 2 +-
@@ -59729,7 +58626,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jul 20 01:17:40 2014 -0400
Add HB_TAG_MAX_SIGNED / _HB_SCRIPT_MAX_VALUE_SIGNED
-
+
To make C language police happy.
src/hb-common.h | 17 ++++++++++++-----
@@ -59740,7 +58637,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jul 19 17:31:23 2014 -0400
[gobject] Skip _HB_SCRIPT_MAX_VALUE
-
+
Fixes https://github.com/behdad/harfbuzz/pull/38
src/hb-common.h | 2 +-
@@ -59782,9 +58679,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jul 19 16:10:21 2014 -0400
More fixing MemoryBarrier() on Mingw32
-
+
Set requested windows header to Vista. See discussion:
-
+
https://github.com/behdad/harfbuzz/commit/fbb2847f541389f40718af71c4945024ae177ab2#commitcomment-7054700
src/hb-atomic-private.hh | 3 +++
@@ -59796,8 +58693,7 @@ Date: Fri Jul 18 14:42:50 2014 -0400
[test] Remove unused micro-font
- .../9d64156923a1b9fed1e05f74599c16563eca42d9.ttf | Bin 81968 ->
- 0 bytes
+ .../9d64156923a1b9fed1e05f74599c16563eca42d9.ttf | Bin 81968 -> 0 bytes
test/shaping/fonts/sha1sum/MANIFEST | 1 -
2 files changed, 1 deletion(-)
@@ -59806,15 +58702,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 18 14:37:49 2014 -0400
[test] Add more Mongolian variation selector tests
-
+
From
https://code.google.com/p/chromium/issues/detail?id=393896
- .../9d64156923a1b9fed1e05f74599c16563eca42d9.ttf | Bin 0 ->
- 81968 bytes
+ .../9d64156923a1b9fed1e05f74599c16563eca42d9.ttf | Bin 0 -> 81968 bytes
test/shaping/fonts/sha1sum/MANIFEST | 2 ++
- .../bb29ce50df2bdba2d10726427c6b7609bf460e04.ttf | Bin 0 ->
- 74856 bytes
+ .../bb29ce50df2bdba2d10726427c6b7609bf460e04.ttf | Bin 0 -> 74856 bytes
test/shaping/tests/mongolian-variation-selector.tests | 1 +
.../shaper-arabic/script-mongolian/misc/MANIFEST | 1 +
.../script-mongolian/misc/variation-selectors.txt | 8 ++++++++
@@ -59834,7 +58728,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 17 17:13:54 2014 -0400
[arabic] Disable 'cswh' again
-
+
Ouch!
src/hb-ot-shape-complex-arabic.cc | 2 +-
@@ -59864,14 +58758,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 17 13:36:09 2014 -0400
[arabic] Apply init/medi/isol/fini/... in separate stages
-
+
Follows the order of the Arabic/Syriac specs. Also don't stop
between rlig and calt in non-Arabic scripts.
-
+
Micro-tests for Arabic and Mongolian added for the latter.
- src/hb-ot-shape-complex-arabic.cc | 56
- +++++++++++++--------
+ src/hb-ot-shape-complex-arabic.cc | 56 +++++++++++++--------
test/shaping/Makefile.am | 2 +
.../813c2f8e5512187fd982417a7fb4286728e6f4a8.ttf | Bin 0 -> 3428 bytes
.../8a9fea2a7384f2116e5b84a9b31f83be7850ce21.ttf | Bin 0 -> 3428 bytes
@@ -59896,8 +58789,7 @@ Date: Thu Jul 17 14:22:11 2014 -0400
Micro optimization
- src/hb-fallback-shape.cc | 36
- +++++++++++++++++++-----------------
+ src/hb-fallback-shape.cc | 36 +++++++++++++++++++-----------------
src/hb-ot-shape-complex-arabic.cc | 19 +++++++++++--------
src/hb-ot-shape-complex-indic.cc | 15 ++++++++++-----
src/hb-ot-shape-complex-myanmar.cc | 7 +++++--
@@ -59911,17 +58803,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 17 14:16:38 2014 -0400
Another try to fix Mongolian free variation selectors
-
+
This reverts bf029281 and fixes it properly. That commit
was not enough as it was only inheriting the shaping_action
for prev_action, but not curr_action.
-
+
Micro-test added.
-
+
https://code.google.com/p/chromium/issues/detail?id=393896
- src/hb-ot-shape-complex-arabic.cc | 24
- +++++++++++++++------
+ src/hb-ot-shape-complex-arabic.cc | 24 +++++++++++++++------
src/hb-unicode-private.hh | 3 ++-
test/shaping/fonts/sha1sum/MANIFEST | 1 +
.../ef86fe710cfea877bbe0dbb6946a1f88d0661031.ttf | Bin 0 -> 2748 bytes
@@ -59932,16 +58823,15 @@ commit 5209c505061130854a2bfea8849928ade3ee92f3
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 17 12:23:44 2014 -0400
- Revert "Show U+FFFD REPLACEMENT CHARACTER for invalid Unicode
- codepoints"
-
+ Revert "Show U+FFFD REPLACEMENT CHARACTER for invalid Unicode codepoints"
+
We now handle U+FFFD replacement in hb_buffer_add_utf*(). Any other
manipulation can happen in user callbacks. No need for this.
-
+
https://github.com/behdad/harfbuzz/commit/efe74214bbb68eaa3d7621e73869b5d58210107e#commitcomment-7039404
-
+
This reverts commit efe74214bbb68eaa3d7621e73869b5d58210107e.
-
+
Conflicts:
src/hb-ot-shape-normalize.cc
@@ -59981,26 +58871,25 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 16 15:34:20 2014 -0400
New API: hb_buffer_[sg]et_replacement_codepoint()
-
+
With this change, we now by default replace broken UTF-8/16/32 bits
with U+FFFD. This can be changed by calling new API on the buffer.
Previously the replacement value used to be (hb_codepoint_t)-1.
-
+
Note that hb_buffer_clear_contents() does NOT reset the replacement
character.
-
+
See discussion here:
-
+
https://github.com/behdad/harfbuzz/commit/6f13b6d62daae4989e3cc2fe4b168e5c59650964
-
+
New API:
-
+
hb_buffer_set_replacement_codepoint()
hb_buffer_get_replacement_codepoint()
src/hb-buffer-private.hh | 1 +
- src/hb-buffer.cc | 45
- ++++++++++++++++++++++++++++++++++++++++++---
+ src/hb-buffer.cc | 45 ++++++++++++++++++++++++++++++++++++++++++---
src/hb-buffer.h | 15 ++++++++++++++-
src/hb-utf-private.hh | 34 ++++++++++++++++++++--------------
test/api/test-buffer.c | 26 +++++++++++++++-----------
@@ -60011,7 +58900,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 16 14:59:04 2014 -0400
New API hb_buffer_add_codepoints()
-
+
Like hb_buffer_add_utf32, but doesn't do any Unicode validation.
This is like what hb_buffer_add_utf32 used to be until a couple
commits ago.
@@ -60027,8 +58916,7 @@ Date: Wed Jul 16 14:49:55 2014 -0400
[buffer] Templatize UTF-* functions
src/hb-buffer.cc | 10 +-
- src/hb-utf-private.hh | 307
- ++++++++++++++++++++++++++------------------------
+ src/hb-utf-private.hh | 307 ++++++++++++++++++++++++++------------------------
2 files changed, 166 insertions(+), 151 deletions(-)
commit e634fed4285ce440d277345727ed01757df6d779
@@ -60036,12 +58924,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 16 14:17:26 2014 -0400
[buffer] Validate UTF-32 input
-
+
Same as what we do for UTF-8 and UTF-16.
src/hb-utf-private.hh | 13 +++++++++---
- test/api/test-buffer.c | 55
- ++++++++++++++++++++++++++++++++++++++++++++++++++
+ test/api/test-buffer.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 65 insertions(+), 3 deletions(-)
commit b98c5db32d15fcfb27ce2f6737203ce1ad124319
@@ -60060,8 +58947,7 @@ Date: Wed Jul 16 13:32:51 2014 -0400
[tests] Add record-test.sh
test/shaping/Makefile.am | 1 +
- test/shaping/record-test.sh | 49
- +++++++++++++++++++++++++++++++++++++++++++++
+ test/shaping/record-test.sh | 49 +++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 50 insertions(+)
commit 3b861421a772f52eb232ff93bd74b5a8214801ec
@@ -60069,30 +58955,26 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 16 13:22:05 2014 -0400
Fix Mongolian Variation Selectors for fonts without GDEF
-
+
Originally we fixed those in 79d1007a501fd63c0ba4d51038c513e6b8b94740.
- However, fonts like MongolianWhite don't have GDEF, but have
- IgnoreMarks
+ However, fonts like MongolianWhite don't have GDEF, but have IgnoreMarks
in their LigatureSubstitute init/etc features. We were synthesizing a
GDEF class of mark for Mongolian Variation Selectors and as such the
ligature lookups where not matching. Uniscribe doesn't do that.
-
+
I tried with more sophisticated fixes, like, if there is no GDEF and
a lookup-flag mismatch happens, instead of rejecting a match, try
skipping that glyph. That surely produces some interesting behavior,
- but since we don't want to support fonts missing GDEF more than
- we have
+ but since we don't want to support fonts missing GDEF more than we have
to, I went for this simpler fix which is to always mark
default-ignorables as base when synthesizing GDEF.
-
+
Micro-test added.
-
+
Fixes rest of https://bugs.freedesktop.org/show_bug.cgi?id=65258
- src/hb-ot-shape.cc | 13
- +++++++++++--
- .../sha1sum/37033cc5cf37bb223d7355153016b6ccece93b28.ttf | Bin 0 ->
- 2780 bytes
+ src/hb-ot-shape.cc | 13 +++++++++++--
+ .../sha1sum/37033cc5cf37bb223d7355153016b6ccece93b28.ttf | Bin 0 -> 2780 bytes
test/shaping/fonts/sha1sum/MANIFEST | 1 +
test/shaping/tests/MANIFEST | 1 +
test/shaping/tests/mongolian-variation-selector.tests | 1 +
@@ -60167,12 +59049,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 11 16:10:58 2014 -0400
Only accept well-formed UTF-8 sequences
-
+
Enable tests that were disabled before, and adjust one test,
and add more tests.
- src/hb-utf-private.hh | 93
- +++++++++++++++++++++++++++++++++-----------------
+ src/hb-utf-private.hh | 93 +++++++++++++++++++++++++++++++++-----------------
test/api/test-buffer.c | 9 +++--
2 files changed, 68 insertions(+), 34 deletions(-)
@@ -60190,14 +59071,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 11 15:05:36 2014 -0400
Use hb_in_range() for arabic and indic tables
-
+
Though, looks like gcc was smart enough to produce the same code
before...
src/gen-arabic-table.py | 18 +-
src/gen-indic-table.py | 10 +-
- src/hb-ot-shape-complex-arabic-table.hh | 420
- ++++++++++++++++----------------
+ src/hb-ot-shape-complex-arabic-table.hh | 420 ++++++++++++++++----------------
src/hb-ot-shape-complex-indic-table.cc | 88 +++----
4 files changed, 268 insertions(+), 268 deletions(-)
@@ -60206,7 +59086,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 11 14:54:42 2014 -0400
Mark unsigned integer literals with the u suffix
-
+
Simplifies hb_in_range() calls as the type can be inferred.
The rest is obsessiveness, I admit.
@@ -60231,8 +59111,7 @@ Date: Fri Jul 11 14:54:42 2014 -0400
src/hb-ot-shape-complex-arabic-fallback.hh | 2 +-
src/hb-ot-shape-complex-hangul.cc | 36 +++---
src/hb-ot-shape-complex-hebrew.cc | 134 ++++++++++-----------
- src/hb-ot-shape-complex-indic.cc | 182
- ++++++++++++++---------------
+ src/hb-ot-shape-complex-indic.cc | 182 ++++++++++++++---------------
src/hb-ot-shape-complex-myanmar.cc | 56 ++++-----
src/hb-ot-shape-complex-sea.cc | 8 +-
src/hb-ot-shape-complex-thai.cc | 84 ++++++-------
@@ -60250,7 +59129,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 11 14:18:01 2014 -0400
Simplify hb_in_range()
-
+
It's both faster and produces smaller code. Now I feel stupid for
not writing it this way before.
@@ -60271,15 +59150,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 11 11:59:48 2014 -0400
Show U+FFFD REPLACEMENT CHARACTER for invalid Unicode codepoints
-
+
Only if the font doesn't support it. Ie, this gives the user to
use non-Unicode codepoints as private values and return a meaningful
glyph for them. But if it's invalid and font callback doesn't
like it, and if font has U+FFFD, show that instead.
-
+
Font functions that do not want this automatic replacement to
happen should return true from get_glyph() if unicode > 0x10FFFF.
-
+
Replaces https://github.com/behdad/harfbuzz/pull/27
src/hb-ot-shape-normalize.cc | 7 +++++++
@@ -60289,9 +59168,8 @@ commit 6f13b6d62daae4989e3cc2fe4b168e5c59650964
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 10 19:31:40 2014 -0400
- When parsing UTF-16, generate invalid codepoint for lonely low
- surrogate
-
+ When parsing UTF-16, generate invalid codepoint for lonely low surrogate
+
Test passes now.
src/hb-utf-private.hh | 42 ++++++++++++++++++++++++++++--------------
@@ -60302,7 +59180,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 10 19:31:16 2014 -0400
[test-buffer] Add test for lonely low-surrogate
-
+
Currenty fails. Ouch!
test/api/test-buffer.c | 1 +
@@ -60323,7 +59201,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 10 19:20:35 2014 -0400
Fix lang matching logic
-
+
Previous code was broken logically, but harmless.
src/hb-ot-tag.cc | 2 +-
@@ -60354,7 +59232,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 9 19:09:08 2014 -0400
[Android.mk] Update for new ICU
-
+
https://android-review.googlesource.com/#/c/100722/1/Android.mk
Android.mk | 2 +-
@@ -60393,7 +59271,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 9 17:17:18 2014 -0400
Define _POSIX_C_SOURCE only if it is not defined
-
+
Fixes https://github.com/behdad/harfbuzz/pull/45
src/hb-blob.cc | 2 ++
@@ -60404,12 +59282,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 9 17:07:06 2014 -0400
[tests] Remove bash'ish
-
+
Apparently on travis-ci, bash is linked to dash, which doesn't
understand "let". Failing tests were not being noticed. See eg:
-
+
https://travis-ci.org/behdad/harfbuzz/jobs/29544211
-
+
Don't rely on bash.
test/shaping/run-tests.sh | 4 ++--
@@ -60429,15 +59307,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 9 16:51:38 2014 -0400
[ucdn] Update to Unicode 7.0.0 data
-
+
From http://github.com/behdad/ucdn
src/hb-ucdn.cc | 23 +
src/hb-ucdn/README | 1 +
src/hb-ucdn/ucdn.c | 2 +-
src/hb-ucdn/ucdn.h | 27 +
- src/hb-ucdn/unicodedata_db.h | 3711
- ++++++++++++++++++++++--------------------
+ src/hb-ucdn/unicodedata_db.h | 3711 ++++++++++++++++++++++--------------------
5 files changed, 2039 insertions(+), 1725 deletions(-)
commit 9d4ede3a97fff544a5ec2a671e49a92a79645b61
@@ -60472,7 +59349,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 8 20:02:29 2014 -0400
[util/hb-shape] Accept an empty output-format that would skip output
-
+
Useful for benchmarking, to avoid buffer serialization overhead (which
seems to by far dominate shaping!)
@@ -60493,13 +59370,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jul 5 15:50:18 2014 -0400
[util] Add option to set font function implementation to use
-
- Supports ft and ot right now. hb-view currently not rendering
- with ot.
+
+ Supports ft and ot right now. hb-view currently not rendering with ot.
Will fix after some clean up.
- util/options.cc | 76
- ++++++++++++++++++++++++++++++++++++++++++++++++++-------
+ util/options.cc | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
util/options.hh | 21 ++++++++++++++++
2 files changed, 88 insertions(+), 9 deletions(-)
@@ -60518,7 +59393,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 1 15:51:54 2014 -0400
Add Roozbeh to AUTHORS
-
+
He's been my shadow for all Indic-related changes in the last
few months.
@@ -60539,7 +59414,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jun 30 15:39:39 2014 -0400
[indic] Remove special-casing of U+1CF2,1CF3
-
+
These were introduced in a498565cedf0441ae723c5e5969f637d792a15e7,
but IndicSyllabicCategory has had the correct value already, so the
special code was never needed.
@@ -60552,15 +59427,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jun 30 15:24:02 2014 -0400
[indic-table] Update to Unicode 7.0 data
-
+
Touch code just enough to preserve previous syllable structure
and functionality as closely as possible. Many further cleanups
coming later.
src/gen-indic-table.py | 4 +
src/hb-ot-shape-complex-indic-private.hh | 23 +-
- src/hb-ot-shape-complex-indic-table.cc | 468
- ++++++++++++++++++++++---------
+ src/hb-ot-shape-complex-indic-table.cc | 468 ++++++++++++++++++++++---------
src/hb-ot-shape-complex-indic.cc | 21 --
src/hb-ot-shape-complex-myanmar.cc | 2 -
5 files changed, 355 insertions(+), 163 deletions(-)
@@ -60572,8 +59446,7 @@ Date: Mon Jun 30 14:30:54 2014 -0400
[indic-table] Fix category frequency counts in comments
src/gen-indic-table.py | 2 +-
- src/hb-ot-shape-complex-indic-table.cc | 46
- +++++++++++++++++-----------------
+ src/hb-ot-shape-complex-indic-table.cc | 46 +++++++++++++++++-----------------
2 files changed, 24 insertions(+), 24 deletions(-)
commit 5c4e3e9a57b6b735e7d72cbd5f4070cf024d7015
@@ -60582,8 +59455,7 @@ Date: Mon Jun 30 14:25:18 2014 -0400
Whitespace
- src/hb-ot-shape-complex-indic-private.hh | 76
- ++++++++++++++++----------------
+ src/hb-ot-shape-complex-indic-private.hh | 76 ++++++++++++++++----------------
1 file changed, 38 insertions(+), 38 deletions(-)
commit af528b6674bccac3efd13f8b33fcdc6aeb178f4c
@@ -60600,11 +59472,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 27 17:30:59 2014 -0400
Mark unsed members with a "Z" suffix
-
+
There may be more. There are members that are by definition
redundant or reserved and not needed, NOT what we *currently*
don't use.
-
+
I'm sure there's more...
src/hb-open-file-private.hh | 6 +++---
@@ -60627,8 +59499,7 @@ Date: Fri Jun 27 17:03:22 2014 -0400
[cmap] Implement subtable format 14
- src/hb-ot-cmap-table.hh | 147
- +++++++++++++++++++++++++++++++++++++++++++-----
+ src/hb-ot-cmap-table.hh | 147 +++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 133 insertions(+), 14 deletions(-)
commit 586b60622c33878f9ca4826b4ef07369d32bf039
@@ -60744,14 +59615,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 24 10:20:36 2014 -0600
Add back API removed recently
-
+
Add hb_ot_layout_language_get_required_feature_index() again, which
is used in Pango. This was removed in
da132937989acb4d8ca9bd41c79f98750e7dda30 in favor of
hb_ot_layout_language_get_required_feature().
-
+
API changes:
-
+
- Added hb_ot_layout_language_get_required_feature_index back.
src/hb-ot-layout.cc | 15 +++++++++++++++
@@ -60791,7 +59662,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jun 21 15:25:59 2014 -0600
[indic-table] Update to Unicode 6.3.0
-
+
Was from 6.2.0. It's a no-op. Committing for the record.
src/hb-ot-shape-complex-indic-table.cc | 12 ++++++------
@@ -60811,13 +59682,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jun 21 14:19:34 2014 -0600
[arabic-table] Update to Unicode 7.0
-
- Old table was from 6.2. Remove hard-coded Mongolian and Phags-pa
- data.
+
+ Old table was from 6.2. Remove hard-coded Mongolian and Phags-pa data.
This completes support for new scripts Manichian and Psaltar Pahlavi.
- src/hb-ot-shape-complex-arabic-table.hh | 72
- ++++++++++++++++++++++++++++-----
+ src/hb-ot-shape-complex-arabic-table.hh | 72 ++++++++++++++++++++++++++++-----
src/hb-ot-shape-complex-arabic.cc | 22 ----------
2 files changed, 63 insertions(+), 31 deletions(-)
@@ -60837,12 +59706,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jun 21 14:07:00 2014 -0600
[arabic-table] Further tune
-
+
In anticipation of Unicode 7.0 data coming in the next commit.
src/gen-arabic-table.py | 10 ++++++---
- src/hb-ot-shape-complex-arabic-table.hh | 38
- +++++++++++++++------------------
+ src/hb-ot-shape-complex-arabic-table.hh | 38 +++++++++++++++------------------
2 files changed, 24 insertions(+), 24 deletions(-)
commit a133e6067aaebc494c0156b5fac7f4a879e12dbe
@@ -60859,11 +59727,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 20 17:59:43 2014 -0400
[arabic-table] Use segmented table
-
+
No functional change.
- src/gen-arabic-table.py | 82
- +++++++++++++++++++++++----------
+ src/gen-arabic-table.py | 82 +++++++++++++++++++++++----------
src/hb-ot-shape-complex-arabic-table.hh | 53 ++++++++++++++-------
src/hb-ot-shape-complex-arabic.cc | 8 ++--
3 files changed, 97 insertions(+), 46 deletions(-)
@@ -60882,7 +59749,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 20 16:47:43 2014 -0400
[indic-table] Minor
-
+
No output change.
src/gen-indic-table.py | 7 +------
@@ -60893,12 +59760,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 20 16:30:10 2014 -0400
[arabic-table] Don't write comments
-
+
No functional change.
src/gen-arabic-table.py | 20 +-
- src/hb-ot-shape-complex-arabic-table.hh | 710
- ++------------------------------
+ src/hb-ot-shape-complex-arabic-table.hh | 710 ++------------------------------
2 files changed, 38 insertions(+), 692 deletions(-)
commit 200dfe3eb10feda2ad25940338b08011f4757ca4
@@ -60906,12 +59772,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 20 16:20:59 2014 -0400
[arabic-table] Use short names for values
-
+
No functional change.
src/gen-arabic-table.py | 16 +-
- src/hb-ot-shape-complex-arabic-table.hh | 1386
- ++++++++++++++++---------------
+ src/hb-ot-shape-complex-arabic-table.hh | 1386 ++++++++++++++++---------------
2 files changed, 716 insertions(+), 686 deletions(-)
commit 3f5327a41efcf50f64d9498ef3dfd6875ef6a5ab
@@ -60919,12 +59784,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 20 16:17:42 2014 -0400
[arabic-table] Read Blocks.txt and shuffle code around
-
+
No functional change.
src/Makefile.am | 2 +-
- src/gen-arabic-table.py | 80
- +++++++++++++++++++--------------
+ src/gen-arabic-table.py | 80 +++++++++++++++++++--------------
src/hb-ot-shape-complex-arabic-table.hh | 30 ++++++++-----
3 files changed, 67 insertions(+), 45 deletions(-)
@@ -60933,12 +59797,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 20 15:25:30 2014 -0400
[indic-table] Black-list Thai, Lao, and Tibetan
-
+
We don't need Indic table for those.
src/gen-indic-table.py | 3 ++
- src/hb-ot-shape-complex-indic-table.cc | 94
- +++++++---------------------------
+ src/hb-ot-shape-complex-indic-table.cc | 94 +++++++---------------------------
2 files changed, 21 insertions(+), 76 deletions(-)
commit 65ac2dae4f284f563b2dc476a21e2b5a48124de8
@@ -60948,8 +59811,7 @@ Date: Fri Jun 20 15:12:49 2014 -0400
[indic-table] Speed up lookup
src/gen-indic-table.py | 22 +++++++++---
- src/hb-ot-shape-complex-indic-table.cc | 61
- +++++++++++++++++++++++-----------
+ src/hb-ot-shape-complex-indic-table.cc | 61 +++++++++++++++++++++++-----------
2 files changed, 59 insertions(+), 24 deletions(-)
commit 64442a3f4c5c7be08893454742cad6bfe73cb8d7
@@ -60967,16 +59829,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 20 14:56:22 2014 -0400
[indic-table] Make table more compact by not covering full blocks
-
+
-#define indic_offset_total 4416
+#define indic_offset_total 3816
-
+
-}; /* Table occupancy: 60% */
+}; /* Table occupancy: 69% */
src/gen-indic-table.py | 24 ++++--
- src/hb-ot-shape-complex-indic-table.cc | 150
- +++++++++------------------------
+ src/hb-ot-shape-complex-indic-table.cc | 150 +++++++++------------------------
2 files changed, 57 insertions(+), 117 deletions(-)
commit 190a251479b3cfc68871ff1daf9a9d1abe3f86e6
@@ -60984,12 +59845,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 20 14:41:39 2014 -0400
[indic-table] Remove block range from data table
-
+
No functional change.
src/gen-indic-table.py | 4 +-
- src/hb-ot-shape-complex-indic-table.cc | 102
- ++++++++++++++++-----------------
+ src/hb-ot-shape-complex-indic-table.cc | 102 ++++++++++++++++-----------------
2 files changed, 54 insertions(+), 52 deletions(-)
commit 2b051c6057920c564c13c5d6a3e6dca93446fa12
@@ -60997,16 +59857,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 20 14:09:57 2014 -0400
Rename HB_VERSION_CHECK and hb_version_check to "atleast"
-
+
HB_VERSION_CHECK's comparison was originally written wrongly
by mistake. When API tests were written, they were also written
wrongly to pass given the wrong implementation... Sigh.
-
+
Given the purpose of this API, there's no point in fixing it
without renaming it. As such, rename.
-
+
API changes:
-
+
HB_VERSION_CHECK -> HB_VERSION_ATLEAST
hb_version_check -> hb_version_atleast
@@ -61030,27 +59890,25 @@ commit da132937989acb4d8ca9bd41c79f98750e7dda30
Author: Jonathan Kew <jfkthame@gmail.com>
Date: Sun Apr 27 14:05:24 2014 +0100
- Rework handling of requiredFeature to solve problem with rlig in
- arial.ttf from winxp
-
+ Rework handling of requiredFeature to solve problem with rlig in arial.ttf from winxp
+
https://bugzilla.mozilla.org/show_bug.cgi?id=986802
Fixes https://github.com/behdad/harfbuzz/pull/39
-
+
API Change:
-
+
-hb_ot_layout_language_get_required_feature_index
+hb_ot_layout_language_get_required_feature
-
+
New API takes an extra pointer argument. Pass NULL in to get
behavior of previous API.
-
+
Reworked by behdad
src/hb-ot-layout-gsubgpos-private.hh | 4 +--
src/hb-ot-layout.cc | 29 ++++++++++++---------
src/hb-ot-layout.h | 11 ++++----
- src/hb-ot-map.cc | 50
- ++++++++++++++++++++++++++----------
+ src/hb-ot-map.cc | 50 ++++++++++++++++++++++++++----------
src/main.cc | 4 +--
5 files changed, 64 insertions(+), 34 deletions(-)
@@ -61059,7 +59917,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jun 19 15:39:18 2014 -0400
Rename search() to bsearch() and lsearch()
-
+
Such that the complexity of the algorithm used is clear at
call site.
@@ -61073,7 +59931,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jun 19 15:30:18 2014 -0400
Rename sort() to qsort()
-
+
In an effort to make the algorithm used clear.
src/hb-coretext.cc | 4 ++--
@@ -61088,8 +59946,7 @@ Date: Wed Jun 18 12:29:23 2014 -0400
[unicode7] Update list of Default_Ignorable codepoints
- src/hb-unicode-private.hh | 66
- +++++++++++++++++++++--------------------------
+ src/hb-unicode-private.hh | 66 +++++++++++++++++++++--------------------------
1 file changed, 30 insertions(+), 36 deletions(-)
commit 7cfee3827636f0dff7df5c8975a4fadd1b4bfbd5
@@ -61097,7 +59954,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 28 15:09:30 2014 -0700
[unicode7] Route Manichaean and Psalter Pahlavi through Arabic shaper
-
+
Still needs update to joining table to fully work.
src/hb-ot-shape-complex-private.hh | 4 ++++
@@ -61144,21 +60001,19 @@ Author: Jonathan Kew <jfkthame@gmail.com>
Date: Tue Jun 10 13:10:30 2014 +0100
When zeroing mark widths for LTR, also adjust offset...
-
+
...so that they overstrike preceding glyph.
-
+
https://github.com/behdad/harfbuzz/pull/43
- src/hb-ot-shape.cc | 50
- +++++++++++++++++++++++++++++++++++++++-----------
+ src/hb-ot-shape.cc | 50 +++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 39 insertions(+), 11 deletions(-)
commit 80f7405a5208f88b8615aa4ce4c54ffeb16f04f8
Author: Jonathan Kew <jfkthame@gmail.com>
Date: Tue Jun 10 13:10:02 2014 +0100
- [Thai] set the correct general category on Nikhahit when decomposing
- Sara-Am.
+ [Thai] set the correct general category on Nikhahit when decomposing Sara-Am.
src/hb-ot-shape-complex-thai.cc | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
@@ -61168,21 +60023,20 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 6 17:55:02 2014 -0400
Fix base-position when 'pref' is NOT formed
-
+
If pre-base reordering Ra is NOT formed (or formed and then
broken up), we should consider that Ra as base. This is
observable when there's a left matra or dotreph that positions
before base.
-
+
Now, it might be that we shouldn't do this if the Ra happend
to form a below form. We can't quite deduce that right now...
-
+
Micro test added. Also at:
-
+
https://code.google.com/a/google.com/p/noto-alpha/issues/detail?id=186#c29
- src/hb-ot-shape-complex-indic.cc | 28
- +++++++++++++++++++--
+ src/hb-ot-shape-complex-indic.cc | 28 +++++++++++++++++++--
test/shaping/fonts/sha1sum/MANIFEST | 5 ++++
.../e207635780b42f898d58654b65098763e340f5c7.ttf | Bin 0 -> 3000 bytes
test/shaping/tests/indic-pref-blocking.tests | 3 ++-
@@ -61193,11 +60047,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 6 17:28:38 2014 -0400
[indic] Recover OT_H undergone ligation and multiplication
-
+
Sometimes font designers form half/pref/etc consonant forms
unconditionally and then undo that conditionally. Try to
recover the OT_H classification in those cases.
-
+
No test number changes expected.
src/hb-ot-layout-private.hh | 8 ++++++++
@@ -61209,7 +60063,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 6 17:19:35 2014 -0400
[indic] Improve base re-finding
-
+
No test numbers change.
src/hb-ot-shape-complex-indic.cc | 5 ++---
@@ -61229,7 +60083,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jun 9 14:17:33 2014 -0400
Fix commit 3f38c1137b6219a646da141b08463ffa922d4e35
-
+
Previous commit was not compiling with clang.
configure.ac | 4 ++--
@@ -61240,10 +60094,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 6 16:03:40 2014 -0400
Don't use -mstructure-size-boundary=8 on clang arm
-
+
As in building for Android / iPhone. Only set it if
struct{char} alignment is not 1.
-
+
NOT tested on an actual Arm architecture. Guess we'll know
when this makes it to people's build bots.
@@ -61264,28 +60118,26 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jun 4 16:57:42 2014 -0400
[indic] Don't reorder reph/pref if ligature was expanded
-
+
Normally if you want to, say, conditionally prevent a 'pref', you
would use blocking contextual matching. Some designers instead
form the 'pref' form, then undo it in context. To detect that
we now also remember glyphs that went through MultipleSubst.
-
+
In the only place that this is used, Uniscribe seems to only care
about the "last" transformation between Ligature and Multiple
substitions. Ie. if you ligate, expand, and ligate again, it
moves the pref, but if you ligate and expand it doesn't. That's
why we clear the MULTIPLIED bit when setting LIGATED.
-
+
Micro-test added. Test: U+0D2F,0D4D,0D30 with font from:
-
+
[1]
https://code.google.com/a/google.com/p/noto-alpha/issues/detail?id=186#c29
src/hb-ot-layout-gsub-table.hh | 2 +-
- src/hb-ot-layout-gsubgpos-private.hh | 20
- ++++++++++++++++----
- src/hb-ot-layout-private.hh | 16
- +++++++++++++++-
+ src/hb-ot-layout-gsubgpos-private.hh | 20 ++++++++++++++++----
+ src/hb-ot-layout-private.hh | 16 +++++++++++++++-
src/hb-ot-shape-complex-indic.cc | 4 ++--
test/shaping/Makefile.am | 5 ++++-
.../226bc2deab3846f1a682085f70c67d0421014144.ttf | Bin 0 -> 2828 bytes
@@ -61344,17 +60196,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jun 4 18:47:55 2014 -0400
[ot-font] Work around broken cmap subtable format 4 length
-
+
Roboto was hitting this. FreeType also has pretty much the
same code for this, in ttcmap.c:tt_cmap4_validate():
-
+
/* in certain fonts, the `length' field is invalid and goes */
/* out of bound. We try to correct this here... */
if ( table + length > valid->limit )
{
if ( valid->level >= FT_VALIDATE_TIGHT )
FT_INVALID_TOO_SHORT;
-
+
length = (FT_UInt)( valid->limit - table );
}
@@ -61376,7 +60228,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jun 4 18:17:29 2014 -0400
[ot-font] Don't select a Null cmap subtable
-
+
Can happen either in broken fonts, or as a result of sanitize().
src/hb-ot-cmap-table.hh | 2 +-
@@ -61387,7 +60239,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 3 17:57:00 2014 -0400
Fix some cppcheck warnings
-
+
Bug 77800 - cppcheck reports
src/hb-common.cc | 4 +++-
@@ -61411,8 +60263,7 @@ Date: Tue Jun 3 16:59:09 2014 -0400
Move code around
- src/hb-private.hh | 134
- ++++++++++++++++++++++++++----------------------------
+ src/hb-private.hh | 134 ++++++++++++++++++++++++++----------------------------
1 file changed, 65 insertions(+), 69 deletions(-)
commit 17c3b809f42aec34d83dba2e6229ad85804bebae
@@ -61420,9 +60271,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jun 2 15:08:18 2014 -0400
[indic] Treat U+A8E0..A8F1 as OT_A instead of OT_VD
-
+
Apparently they can intermix with other OT_A.
-
+
Test: U+0915,A8E2,1CD0
src/hb-ot-shape-complex-indic.cc | 2 +-
@@ -61433,9 +60284,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 30 17:38:14 2014 -0400
[graphite2] Fix cluster mapping
-
+
Patch from Martin Hosken. I expect this to fix the following bugs:
-
+
https://bugs.freedesktop.org/show_bug.cgi?id=75076
https://bugzilla.gnome.org/show_bug.cgi?id=723582
https://bugzilla.redhat.com/show_bug.cgi?id=998812
@@ -61458,13 +60309,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 29 15:34:26 2014 -0400
[indic] Allow decimal and Brahmi digits as placeholders
-
+
Tests: U+0967,0951 U+0031,093F
- src/hb-ot-shape-complex-indic.cc |
- 4 ++++
- .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt |
- 2 ++
+ src/hb-ot-shape-complex-indic.cc | 4 ++++
+ .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt | 2 ++
2 files changed, 6 insertions(+)
commit e8b5d64039614ecce472eda1a7a603736da25d86
@@ -61472,15 +60321,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 29 15:18:27 2014 -0400
[indic] Do NOT allow reph formation on placeholders
-
+
Only allow it on DOTTED CIRCLE. No effect on test numbers.
-
+
Test: U+0930,094D,00A0
- src/hb-ot-shape-complex-indic-machine.rl |
- 2 +-
- .../in-tree/shaper-indic/indic/script-devanagari/misc/dottedcircle.txt |
- 1 +
+ src/hb-ot-shape-complex-indic-machine.rl | 2 +-
+ .../in-tree/shaper-indic/indic/script-devanagari/misc/dottedcircle.txt | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
commit 52b562a6a058131c0103aaa5404d053e6465bb23
@@ -61488,7 +60335,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 27 18:18:23 2014 -0400
[indic] Clean up a bit
-
+
No functional change intended.
src/hb-ot-shape-complex-indic.cc | 17 +++++------------
@@ -61529,7 +60376,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 27 17:49:45 2014 -0400
[myanmar] Use OT_NBSP instead of OT_DOTTEDCIRCLE for OT_GB
-
+
No functional change.
src/hb-ot-shape-complex-myanmar-machine.rl | 2 +-
@@ -61552,7 +60399,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 27 17:39:01 2014 -0400
[indic] Treat U+0A72..0A73 like regular consonants
-
+
Unicode 6.x IndicSyllableCategory categorizes them as
placeholders, but they can subjoin.
@@ -61582,7 +60429,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 23 15:39:55 2014 -0400
[indic] Simplify grammar
-
+
No functional change.
src/hb-ot-shape-complex-indic-machine.rl | 7 +++----
@@ -61593,7 +60440,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 23 15:38:42 2014 -0400
[indic] Always start new syllable for Avagraha
-
+
In fact, the previous grammar was ambigious. No functional
change.
@@ -61605,7 +60452,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 23 15:33:13 2014 -0400
[indic] Rename avagraha cluster to symbol cluster
-
+
In anticipation of adding more characters to that class of clusters.
src/hb-ot-shape-complex-indic-machine.rl | 10 +++++-----
@@ -61654,7 +60501,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 22 19:12:10 2014 -0400
[indic] Treat U+1CE1 as a tone-mark too
-
+
It's spacing, but otherwise the same as the other ones.
src/hb-ot-shape-complex-indic.cc | 2 +-
@@ -61665,7 +60512,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 22 18:50:34 2014 -0400
[indic] Recategorize U+A8E0..A8F1 as OT_VD
-
+
Up to two of them come after all OT_A characters.
src/hb-ot-shape-complex-indic-machine.rl | 2 +-
@@ -61677,7 +60524,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 22 18:43:14 2014 -0400
[indic] Allow up to three tone marks
-
+
According to Roozbeh, there are valid combinations in Unicode
proposals for up to three. Previously we were allowing up to two.
@@ -61689,7 +60536,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 22 18:41:49 2014 -0400
[indic] Support more extended Devanagari tone marks
-
+
Also adjust U+0953,0954 handling.
src/hb-ot-shape-complex-indic.cc | 18 ++++++++++++------
@@ -61709,19 +60556,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 15 14:04:02 2014 -0600
[indic] Improve reph formation of Sinhala and Telugu
-
- Sinhala and Telugu use "explicit" reph. That is, the reph is
- formed by
- a Ra,H,ZWJ sequence. Previously, upon detecting this sequence,
- we were
+
+ Sinhala and Telugu use "explicit" reph. That is, the reph is formed by
+ a Ra,H,ZWJ sequence. Previously, upon detecting this sequence, we were
checking checking whether the 'rphf' feature applies to the first two
glyphs of the sequence. This is how the Microsoft fonts are designed.
However, testing with Noto shows that apparently Uniscribe also forms
the reph if the lookup ligates all three glyphs. So, try both
sequences.
-
+
Doesn't affect test results for Sinhala or Telugu.
-
+
https://code.google.com/a/google.com/p/noto-alpha/issues/detail?id=232
src/hb-ot-shape-complex-indic.cc | 9 +++++++--
@@ -61732,7 +60577,7 @@ Author: Oleg Oshmyan <chortos@inbox.lv>
Date: Wed May 14 22:10:09 2014 +0100
Fix build with --coretext on older OS X
-
+
Fixes https://github.com/behdad/harfbuzz/pull/40
src/hb-coretext.h | 2 +-
@@ -61743,11 +60588,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 14 16:44:39 2014 -0600
[myanmar] Allow MedialYa+Asat in the grammar
-
+
The grammar in the OT spec, and the existing Windows implementation
seem to be confused around where to allow Asat around the medial
consonants.
-
+
The previous grammar for medial group was allowing an Asat after
the medial group only if there was a medial Wa or Ha, but not if
there was only a medial Ya. This doesn't make sense to me and
@@ -61761,7 +60606,7 @@ Date: Wed May 14 16:44:39 2014 -0600
produce dotted-circle where Windows is not, this commit changes
the grammar to allow one Asat after the medial group no matter
what comes in the group.
-
+
Test: U+1002,103A,103B vs U+1002,103B,103A
src/hb-ot-shape-complex-myanmar-machine.rl | 2 +-
@@ -61772,12 +60617,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 14 16:44:16 2014 -0600
Add tests for Myanmar Asat+MedialYa and MedialYa+Asat sequences
-
+
One of them currently produces dotted-circle. Fix and detailed
message coming.
- test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/misc.txt |
- 2 ++
+ test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/misc.txt | 2 ++
1 file changed, 2 insertions(+)
commit c95587618c88d187be64f923033dae151cf820be
@@ -61814,8 +60658,7 @@ Date: Tue May 13 21:17:28 2014 -0400
[ot] Factor out code between cmap subtable format 6 and 10
- src/hb-ot-cmap-table.hh | 49
- ++++++++++---------------------------------------
+ src/hb-ot-cmap-table.hh | 49 ++++++++++---------------------------------------
1 file changed, 10 insertions(+), 39 deletions(-)
commit 1a8ffc512987c1ff1b4896549f80b145c85454a8
@@ -61833,8 +60676,7 @@ Date: Mon May 12 18:19:29 2014 -0400
[ot] Implement cmap subtable formats 6 and 10
- src/hb-ot-cmap-table.hh | 77
- +++++++++++++++++++++++++++++++++++++++++++++++--
+ src/hb-ot-cmap-table.hh | 77 +++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 74 insertions(+), 3 deletions(-)
commit d294a2cb165c4f20daa5624969067c51eb9aef58
@@ -61843,8 +60685,7 @@ Date: Mon May 12 17:58:31 2014 -0400
[ot] Implement cmap subtable format 13
- src/hb-ot-cmap-table.hh | 47
- +++++++++++++++++++++++++++++++++++++++++------
+ src/hb-ot-cmap-table.hh | 47 +++++++++++++++++++++++++++++++++++++++++------
1 file changed, 41 insertions(+), 6 deletions(-)
commit 0d75793fae95ed9f6b8522ae3af4fcdf397d8c36
@@ -61853,8 +60694,7 @@ Date: Mon May 12 17:51:15 2014 -0400
[ot] Implement cmap subtable format 12
- src/hb-ot-cmap-table.hh | 63
- +++++++++++++++++++++++++++++++++++++++++++++++--
+ src/hb-ot-cmap-table.hh | 63 +++++++++++++++++++++++++++++++++++++++++++++++--
src/hb-ot-font.cc | 5 ++++
2 files changed, 66 insertions(+), 2 deletions(-)
@@ -61874,8 +60714,7 @@ Date: Fri May 9 19:55:51 2014 -0400
[ot] Implement cmap subtable format 4
- src/hb-ot-cmap-table.hh | 52
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-cmap-table.hh | 52 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
commit 4719621f20dfd6a0377c650a7b4df223c18dc143
@@ -61894,8 +60733,7 @@ Date: Fri May 9 15:35:56 2014 -0400
[ot] Start implementing cmap table
src/Makefile.am | 1 +
- src/hb-ot-cmap-table.hh | 171
- ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-cmap-table.hh | 171 ++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-font.cc | 1 +
3 files changed, 173 insertions(+)
@@ -61941,7 +60779,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 28 14:29:39 2014 -0700
Add static storage classifier to inline functions
-
+
Before we were just relying on the compiler inlining them and not
leaving a trace in our public API. Try to fix. Hopefully not
breaking anyone's build.
@@ -61959,9 +60797,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 28 12:38:25 2014 -0700
[tibetan] Reorder PADMA sign to occur after other below marks
-
+
Based on suggestion from Andrew Glass.
-
+
Test: U+0F40,0FC6,0F83
src/hb-unicode-private.hh | 4 ++++
@@ -61972,11 +60810,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 28 12:43:42 2014 -0700
[test] Add test case for Tibetan sign PADMA
-
+
Currently fails.
- test/shaping/texts/in-tree/shaper-tibetan/script-tibetan/misc/misc.txt |
- 1 +
+ test/shaping/texts/in-tree/shaper-tibetan/script-tibetan/misc/misc.txt | 1 +
1 file changed, 1 insertion(+)
commit ee703bc3ef740c300718fca7a12c050c322dce19
@@ -61985,28 +60822,17 @@ Date: Mon Apr 28 12:43:18 2014 -0700
Reshuffle test data
- test/shaping/texts/in-tree/MANIFEST |
- 3 +++
- test/shaping/texts/in-tree/shaper-default/MANIFEST |
- 3 ---
- .../in-tree/{shaper-default => shaper-hangul}/script-hangul/MANIFEST
- | 0
- .../{shaper-default => shaper-hangul}/script-hangul/misc/MANIFEST
- | 0
- .../{shaper-default => shaper-hangul}/script-hangul/misc/misc.txt
- | 0
- .../in-tree/{shaper-default => shaper-hebrew}/script-hebrew/MANIFEST
- | 0
- .../{shaper-default => shaper-hebrew}/script-hebrew/misc/MANIFEST
- | 0
- .../script-hebrew/misc/diacritics.txt |
- 0
- .../in-tree/{shaper-default => shaper-tibetan}/script-tibetan/MANIFEST
- | 0
- .../{shaper-default => shaper-tibetan}/script-tibetan/misc/MANIFEST
- | 0
- .../{shaper-default => shaper-tibetan}/script-tibetan/misc/misc.txt
- | 0
+ test/shaping/texts/in-tree/MANIFEST | 3 +++
+ test/shaping/texts/in-tree/shaper-default/MANIFEST | 3 ---
+ .../in-tree/{shaper-default => shaper-hangul}/script-hangul/MANIFEST | 0
+ .../{shaper-default => shaper-hangul}/script-hangul/misc/MANIFEST | 0
+ .../{shaper-default => shaper-hangul}/script-hangul/misc/misc.txt | 0
+ .../in-tree/{shaper-default => shaper-hebrew}/script-hebrew/MANIFEST | 0
+ .../{shaper-default => shaper-hebrew}/script-hebrew/misc/MANIFEST | 0
+ .../script-hebrew/misc/diacritics.txt | 0
+ .../in-tree/{shaper-default => shaper-tibetan}/script-tibetan/MANIFEST | 0
+ .../{shaper-default => shaper-tibetan}/script-tibetan/misc/MANIFEST | 0
+ .../{shaper-default => shaper-tibetan}/script-tibetan/misc/misc.txt | 0
11 files changed, 3 insertions(+), 3 deletions(-)
commit b082ef373cefb35dd98b5f2f0b677ccc7806f51e
@@ -62023,54 +60849,40 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Apr 18 16:53:34 2014 -0700
[indic] Fix-up zero-context matching
-
+
commit b5a0f69e47ace468b06e21cf069a18ddcfcf6064
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 17 18:04:23 2013 +0200
-
- [indic] Pass zero-context=false to would_substitute for newer
- scripts
-
- For scripts without an old/new spec distinction, use
- zero-context=false.
- This changes behavior in Sinhala / Khmer, but doesn't seem
- to regress.
+
+ [indic] Pass zero-context=false to would_substitute for newer scripts
+
+ For scripts without an old/new spec distinction, use zero-context=false.
+ This changes behavior in Sinhala / Khmer, but doesn't seem to regress.
This will be useful and used in Javanese.
-
- The *intention* was to change zero-context from true to false for
- scripts that
- don't have old-vs-new specs. However, checking the code, looks
- like we
- essentially change zero-context to always be true; ie. we only
- changed things
+
+ The *intention* was to change zero-context from true to false for scripts that
+ don't have old-vs-new specs. However, checking the code, looks like we
+ essentially change zero-context to always be true; ie. we only changed things
for old-spec, and we broke them. That's what causes this bug:
-
+
https://bugs.freedesktop.org/show_bug.cgi?id=76705
-
+
The root of the bug is here:
-
- /* Use zero-context would_substitute() matching for new-spec of
- the main
- * Indic scripts, but not for old-spec or scripts with one spec
- only. */
- bool zero_context = indic_plan->config->has_old_spec ||
- !indic_plan->is_old_spec;
-
+
+ /* Use zero-context would_substitute() matching for new-spec of the main
+ * Indic scripts, but not for old-spec or scripts with one spec only. */
+ bool zero_context = indic_plan->config->has_old_spec || !indic_plan->is_old_spec;
+
Note that is_old_spec itself is:
-
- indic_plan->is_old_spec = indic_plan->config->has_old_spec &&
- ((plan->map.chosen_script[0] & 0x000000FF) != '2');
-
- It's easy to show that zero_context is now always true. What we
- really meant was:
-
- bool zero_context = indic_plan->config->has_old_spec &&
- !indic_plan->is_old_spec;
-
- Ie, "&&" instead of "||". We made this change supposedly to make
- Javanese
- work. But apparently we got it working regardless! So I'm going
- to fix this
+
+ indic_plan->is_old_spec = indic_plan->config->has_old_spec && ((plan->map.chosen_script[0] & 0x000000FF) != '2');
+
+ It's easy to show that zero_context is now always true. What we really meant was:
+
+ bool zero_context = indic_plan->config->has_old_spec && !indic_plan->is_old_spec;
+
+ Ie, "&&" instead of "||". We made this change supposedly to make Javanese
+ work. But apparently we got it working regardless! So I'm going to fix this
to only change the logic for old-spec and not touch other cases.
src/hb-ot-shape-complex-indic.cc | 4 ++--
@@ -62081,7 +60893,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 14 15:55:42 2014 -0700
Add HB_NO_MERGE_CLUSTERS
-
+
Disables any cluster-merging. Added for testing purposes while
we investigate what kind of API to add for this.
@@ -62094,8 +60906,7 @@ Date: Thu Apr 10 16:27:13 2014 -0700
Add Khmer test for U+17DD
- .../shaper-indic/south-east-asian/script-khmer/misc/other-marks.txt
- | 1 +
+ .../shaper-indic/south-east-asian/script-khmer/misc/other-marks.txt | 1 +
1 file changed, 1 insertion(+)
commit 50a00535ccac538bbf93358fd2d2442e4c12542f
@@ -62103,7 +60914,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 10 16:03:29 2014 -0700
Require gobject-introspection 1.34.0
-
+
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=75384
configure.ac | 2 +-
@@ -62114,7 +60925,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 9 16:38:26 2014 -0700
Further adjust check-defs and check-symbols for mipsel
-
+
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=74491
src/check-defs.sh | 2 +-
@@ -62126,7 +60937,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 9 16:33:32 2014 -0700
Tighten up check-static-inits.sh check
-
+
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=74490
src/check-static-inits.sh | 2 +-
@@ -62146,7 +60957,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Apr 8 16:03:35 2014 -0700
[indic] Support U+17DD KHMER SIGN ATTHACAN
-
+
As requested by Martin Hosken on the list.
src/hb-ot-shape-complex-indic.cc | 3 ++-
@@ -62157,7 +60968,7 @@ Author: Primiano Tucci <primiano@chromium.org>
Date: Wed Apr 2 11:35:27 2014 +0100
Use __aarch64__ for 64-bit ARM detection, not __arm64__
-
+
Many GCC versions don't define __arm64__
src/hb-atomic-private.hh | 2 +-
@@ -62181,8 +60992,7 @@ Date: Mon Mar 24 14:26:36 2014 -0700
src/Makefile.am | 3 +-
src/hb-glib.cc | 2 +-
src/hb-icu.cc | 2 +-
- src/hb-ot-font.cc | 260
- ++++++++++++++++++++++++++++++++++++
+ src/hb-ot-font.cc | 260 ++++++++++++++++++++++++++++++++++++
src/{hb-tt-font.cc => hb-ot-font.h} | 56 ++------
src/hb-ot-hhea-table.hh | 2 +-
src/hb-ot-hmtx-table.hh | 2 +-
@@ -62205,7 +61015,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Mar 21 12:53:08 2014 -0700
One more fix for build without gtk-doc
-
+
Fixes https://github.com/behdad/harfbuzz/pull/35
autogen.sh | 2 +-
@@ -62216,7 +61026,7 @@ Author: Konstantin Ritt <ritt.ks@gmail.com>
Date: Thu Mar 20 16:01:30 2014 +0200
Fix build with --coretext on iOS
-
+
On iOS CoreText and CoreGraphics are stand-alone frameworks
configure.ac | 23 +++++++++++++++++++----
@@ -62280,7 +61090,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Mar 16 20:22:42 2014 -0700
Don't use "register" storage class specifier
-
+
Fixes warnings.
https://bugzilla.mozilla.org/show_bug.cgi?id=984081
@@ -62292,9 +61102,8 @@ Author: jfkthame <jfkthame@gmail.com>
Date: Sun Mar 16 08:25:17 2014 +0000
wrap definition of free_langs() with HAVE_ATEXIT
-
- ...to avoid an unused function warning; see mozilla bug
- https://bugzilla.mozilla.org/show_bug.cgi?id=984081.
+
+ ...to avoid an unused function warning; see mozilla bug https://bugzilla.mozilla.org/show_bug.cgi?id=984081.
src/hb-common.cc | 2 ++
1 file changed, 2 insertions(+)
@@ -62304,11 +61113,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Mar 14 19:55:46 2014 -0700
[coretext] Add hb_coretext_face_create()
-
+
Not tested.
- src/hb-coretext.cc | 57
- +++++++++++++++++++++++++++++++++++++++++++++---------
+ src/hb-coretext.cc | 57 +++++++++++++++++++++++++++++++++++++++++++++---------
src/hb-coretext.h | 4 ++++
2 files changed, 52 insertions(+), 9 deletions(-)
@@ -62317,17 +61125,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Mar 14 19:37:55 2014 -0400
[coretext] Add coretext_aat shaper
-
+
This is a higher-priority shaper than default shaper ("ot"), but
only picks up fonts that have AAT "morx"/"mort" table.
-
+
Note that for this to work the font face's get_table() implementation
should know how to return the full font blob.
-
+
Based on patch from Konstantin Ritt.
- src/hb-coretext.cc | 94
- +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-coretext.cc | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-coretext.h | 4 +++
src/hb-shaper-list.hh | 4 +++
3 files changed, 102 insertions(+)
@@ -62337,7 +61144,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Mar 14 15:52:47 2014 -0700
If HAVE_ICU_BUILTIN is defined, use hb-icu Unicode callbacks
-
+
Useful for Android / Chrome / etc when ICU is built in the same
library as harfbuzz itself.
@@ -62359,10 +61166,8 @@ Date: Mon Mar 10 15:04:46 2014 -0700
Add Myanmar test case from OpenType Myanmar spec
- test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/MANIFEST |
- 1 +
- .../shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/otspec.txt |
- 2 ++
+ test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/MANIFEST | 1 +
+ .../shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/otspec.txt | 2 ++
2 files changed, 3 insertions(+)
commit 158985908981189a2fd4d15275a641286fc770fe
@@ -62371,12 +61176,9 @@ Date: Mon Mar 10 14:57:55 2014 -0700
Minor
- test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/MANIFEST
- | 1 -
- test/shaping/texts/in-tree/shaper-sea/script-tai-tham/misc/MANIFEST
- | 1 +
- .../script-myanmar => shaper-sea/script-tai-tham}/misc/torture.txt
- | 0
+ test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/MANIFEST | 1 -
+ test/shaping/texts/in-tree/shaper-sea/script-tai-tham/misc/MANIFEST | 1 +
+ .../script-myanmar => shaper-sea/script-tai-tham}/misc/torture.txt | 0
3 files changed, 1 insertion(+), 1 deletion(-)
commit bb8ffb581b89cf27fb8e0743b81bbda21654233e
@@ -62395,13 +61197,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 18 15:53:56 2014 -0500
Only do fallback Hebrew composition if no GPOS 'mark' available
-
+
Apparently some modern fonts have proper GPOS mark positioning
tables, but undesirable precomposed forms! See thread
"Hebrew composition to presentation forms" and:
-
+
http://tex.stackexchange.com/questions/156775/having-trouble-with-vowel-positioning-in-ezra-sil-xelatex
-
+
Test case: U+fb1d,05d9,05b4
src/hb-ot-shape-complex-hebrew.cc | 2 +-
@@ -62413,7 +61215,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 11 17:29:40 2014 -0500
Allow bootstrapping without gtk-doc
-
+
Seems like configure.ac is already able to handle it.
autogen.sh | 10 +++++-----
@@ -62442,7 +61244,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 5 08:22:06 2014 -0500
Improve MemoryBarrier() implementation
-
+
See thread "[HarfBuzz] compilation error of 0.9.26 with MinGW"
started by Werner.
@@ -62464,7 +61266,7 @@ Author: Jonathan Kew <jfkthame@gmail.com>
Date: Wed Jan 29 14:07:58 2014 +0000
Ensure hb_script_t can safely hold any hb_tag_t value it's given.
-
+
Fixes https://github.com/behdad/harfbuzz/pull/21
src/hb-common.h | 8 +++++++-
@@ -62475,7 +61277,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 28 17:29:42 2014 -0500
[coretext] Handle surrogate pairs when generating notdef glyphs
-
+
Fixes github.com/behdad/harfbuzz/pull/19
src/hb-coretext.cc | 18 ++++++++++++++----
@@ -62513,7 +61315,7 @@ Author: Konstantin Ritt <ritt.ks@gmail.com>
Date: Wed Jan 22 21:07:13 2014 +0200
Make it possible to disable the fallback shaper at configure time
-
+
The OT shaper supersedes the fallback shaper in every case
and the latter become an extra weight for 99.9% of users.
@@ -62527,7 +61329,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 23 14:18:49 2014 -0500
Fix clang warning 'private field 'xxx' is not used
-
+
Fixes https://github.com/behdad/harfbuzz/pull/16
src/hb-open-type-private.hh | 2 +-
@@ -62538,7 +61340,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 23 14:11:03 2014 -0500
Fix typo in _hb_buffer_serialize_glyphs_text()
-
+
Fixes https://github.com/behdad/harfbuzz/pull/17
src/hb-buffer-serialize.cc | 2 +-
@@ -62549,10 +61351,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 22 11:03:02 2014 -0500
[arabic] Disable 'cswh' by default
-
+
I believe Windows 8 disables it, and spec update dated
Jan 2014 also clearly says it's disabled by default:
-
+
http://www.microsoft.com/typography/OpenTypeDev/arabic/intro.htm#features
src/hb-ot-shape-complex-arabic.cc | 1 -
@@ -62573,7 +61375,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 22 04:43:51 2014 -0800
Merge pull request #13 from jfkthame/hangul-shaper
-
+
Tone-mark reordering and improved Old Hangul support
commit 62cb28dfc668cae9cbff826229bde2271e157927
@@ -62589,8 +61391,7 @@ commit 83d7e7915a5eaa8ff4c7014c319844e7dffd8225
Author: Jonathan Kew <jfkthame@gmail.com>
Date: Mon Jan 20 19:49:47 2014 +0000
- [hangul] Fix ordering of dotted circle with Hangul tone mark (reported
- by Dohyun Kim).
+ [hangul] Fix ordering of dotted circle with Hangul tone mark (reported by Dohyun Kim).
src/hb-ot-shape-complex-hangul.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -62599,8 +61400,7 @@ commit deef1862657d55b7ae8d45f4eecbe45c80785c4e
Author: Jonathan Kew <jfkthame@gmail.com>
Date: Mon Jan 20 10:38:27 2014 +0000
- [hangul] Don't force zero-width for marks - this is not wanted for
- the Jamo Filler glyphs.
+ [hangul] Don't force zero-width for marks - this is not wanted for the Jamo Filler glyphs.
src/hb-ot-shape-complex-hangul.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -62609,8 +61409,7 @@ commit 391934db0a171aeb2057ebcd4a38ed81621e7393
Author: Jonathan Kew <jfkthame@gmail.com>
Date: Mon Jan 20 10:37:32 2014 +0000
- [unicode] Exclude the Jamo Filler characters from Default_Ignorable,
- as some fonts want these to be visible/spacing glyphs.
+ [unicode] Exclude the Jamo Filler characters from Default_Ignorable, as some fonts want these to be visible/spacing glyphs.
src/hb-unicode-private.hh | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
@@ -62619,23 +61418,18 @@ commit 7244b3fc3bf9757dd094709d36bea68682264e20
Author: Jonathan Kew <jfkthame@gmail.com>
Date: Mon Jan 20 10:35:51 2014 +0000
- [hangul] Reorder Hangul tone mark to beginning of syllable, unless
- font implements it using a zero-width glyph.
+ [hangul] Reorder Hangul tone mark to beginning of syllable, unless font implements it using a zero-width glyph.
- src/hb-ot-shape-complex-hangul.cc | 59
- ++++++++++++++++++++++++++++++++++++++-
+ src/hb-ot-shape-complex-hangul.cc | 59 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 58 insertions(+), 1 deletion(-)
commit 103436838df3a77552d3d33fc4bd80f09d9bf079
Author: Jonathan Kew <jfkthame@gmail.com>
Date: Mon Jan 20 10:35:07 2014 +0000
- [hangul] Apply the appropriate *jmo features to decomposed
- syllables, including Old Hangul sequences that don't have Unicode
- compositions. Merge clusters in decomposed syllables.
+ [hangul] Apply the appropriate *jmo features to decomposed syllables, including Old Hangul sequences that don't have Unicode compositions. Merge clusters in decomposed syllables.
- src/hb-ot-shape-complex-hangul.cc | 197
- +++++++++++++++++++++++++++++++-------
+ src/hb-ot-shape-complex-hangul.cc | 197 +++++++++++++++++++++++++++++++-------
1 file changed, 165 insertions(+), 32 deletions(-)
commit 8fc1f7fe74a25bf8549f5edd79c7da6b720eb064
@@ -62643,7 +61437,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 2 17:04:04 2014 +0800
[ot/hangul] Don't decompose Hangul even when combining marks present
-
+
As discussed on
https://github.com/behdad/harfbuzz/pull/10#issuecomment-31442030
@@ -62657,7 +61451,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 2 14:33:10 2014 +0800
[ot] Simplify composing
-
+
Not tested. Ouch.
src/hb-ot-shape-normalize.cc | 5 +++--
@@ -62688,7 +61482,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 2 14:20:00 2014 +0800
[hangul] Fix decomposition logic
-
+
Seems to be working now.
src/hb-ot-shape-complex-hangul.cc | 19 ++++++++-----------
@@ -62699,7 +61493,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 2 14:04:30 2014 +0800
[hangul] Fix decomposition
-
+
Part of https://github.com/behdad/harfbuzz/pull/10
src/hb-ot-shape-complex-hangul.cc | 4 ++--
@@ -62710,7 +61504,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 2 14:01:56 2014 +0800
[hangul] Tighten up character categories
-
+
I had tried to expand to fill the blocks, but that sounds wrong in
retrospect.
@@ -62722,14 +61516,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Dec 31 16:49:15 2013 +0800
[ot] Separate out hebrew and tibetan shapers from default
-
+
Now default shaper is truly no-op.
src/Makefile.am | 2 +
- src/hb-ot-shape-complex-default.cc | 161
- +---------------------------------
- src/hb-ot-shape-complex-hebrew.cc | 172
- +++++++++++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-default.cc | 161 +---------------------------------
+ src/hb-ot-shape-complex-hebrew.cc | 172 +++++++++++++++++++++++++++++++++++++
src/hb-ot-shape-complex-private.hh | 17 +++-
src/hb-ot-shape-complex-tibetan.cc | 61 +++++++++++++
5 files changed, 251 insertions(+), 162 deletions(-)
@@ -62751,9 +61543,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Dec 31 16:04:35 2013 +0800
[ot] Simplify normalization_preference again
-
- No shaper has more than one behavior re this, so no need for
- a callback.
+
+ No shaper has more than one behavior re this, so no need for a callback.
src/hb-ot-shape-complex-arabic.cc | 2 +-
src/hb-ot-shape-complex-default.cc | 8 +-------
@@ -62771,18 +61562,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Dec 31 15:55:40 2013 +0800
[ot] Add Hangul shaper
-
+
Not exhaustively tested, but I think I got the intended logic
right.
-
+
The logic can perhaps be simplified. Maybe we should disabled
normalization with this shaper. Then again, for now focusing on
correctness.
src/Makefile.am | 1 +
src/hb-ot-shape-complex-default.cc | 13 ---
- src/hb-ot-shape-complex-hangul.cc | 232
- +++++++++++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-hangul.cc | 232 +++++++++++++++++++++++++++++++++++++
src/hb-ot-shape-complex-private.hh | 10 +-
src/hb-private.hh | 6 +
5 files changed, 240 insertions(+), 22 deletions(-)
@@ -62822,8 +61612,7 @@ Date: Sun Dec 22 08:02:11 2013 -0500
src/Makefile.am | 1 +
src/hb-ot-layout.h | 5 -----
- src/hb-ot-shape.h | 53
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-shape.h | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot.h | 9 +--------
4 files changed, 55 insertions(+), 13 deletions(-)
@@ -62871,21 +61660,20 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 22 16:17:54 2013 -0500
Bug 72698 - Automatically support frac / numr / dnom
-
+
When seeing U+2044 FRACTION SLASH in the text, find decimal
digits (Unicode General Category Decimal_Number) around it,
and mark the pre-slash digits with 'numr' feature, the post-slash
digits with 'dnom' feature, and the whole sequence with 'frac'
feature.
-
+
This beautifully renders fractions with major Windows fonts,
and any other font that implements those features (numr/dnom is
enough for most fonts.)
-
+
Not the fastest way to do this, but good enough for a start.
- src/hb-ot-shape.cc | 51
- +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-shape.cc | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
commit 014f369ec98fdbb3e7a2ef68aea2c4e017e7b680
@@ -62902,7 +61690,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Dec 21 00:18:18 2013 -0500
Initialize masks before mirroring
-
+
We were throwing away the rtlm feature mask set during
mirroring...
@@ -62956,7 +61744,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 5 18:19:35 2013 -0500
Drop required automake version back to 1.11.3
-
+
Work around broken automake-1.13 changes.
configure.ac | 3 ++-
@@ -62996,9 +61784,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 4 19:59:48 2013 -0500
Require automake 1.13
-
+
Fix tests build.
-
+
https://bugs.freedesktop.org/show_bug.cgi?id=71353
configure.ac | 2 +-
@@ -63010,7 +61798,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 2 20:41:41 2013 -0500
Revert "Karen" language mapping back to what it was before
-
+
https://bugzilla.mozilla.org/show_bug.cgi?id=941470
src/hb-ot-tag.cc | 4 ++--
@@ -63052,8 +61840,7 @@ Date: Mon Dec 2 05:22:00 2013 -0500
cache shape plans even if (global) user features are set
src/hb-shape-plan-private.hh | 3 +++
- src/hb-shape-plan.cc | 59
- ++++++++++++++++++++++++++++++++++++++++----
+ src/hb-shape-plan.cc | 59 ++++++++++++++++++++++++++++++++++++++++----
2 files changed, 57 insertions(+), 5 deletions(-)
commit 8ffa528f28a24ae85952ad1c1b0206e736bcfeab
@@ -63061,7 +61848,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 2 05:17:14 2013 -0500
Add note about unsafe shape_plan->face
-
+
Will fix by removing shape_plan->face completely.
src/hb-shape-plan.cc | 2 ++
@@ -63090,11 +61877,9 @@ Author: Khaled Hosny <khaledhosny.eglug.org>
Date: Fri Nov 29 19:01:56 2013 -0500
[coretext] Avoid font fallback with CoreText shaper
-
- CoreText does automatic font fallback (AKA "cascading") for
- characters
- not supported by the requested font, and provides no way to turn
- it off,
+
+ CoreText does automatic font fallback (AKA "cascading") for characters
+ not supported by the requested font, and provides no way to turn it off,
so detect if the returned run uses a font other than the requested one
and fill in the buffer with .notdef glyphs instead of random indices
glyph from a different font.
@@ -63134,15 +61919,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 25 18:10:38 2013 -0500
[myanmar] Allow punctuation clusters
-
+
The spec and Uniscribe don't allow these, but UTN#11
specifically says the sequence U+104B,U+1038 is valid.
As such, allow all "P V" sequences. There's about
eight sequences that match that structure, but Roozbeh
thinks it's fine to allow all of them.
-
+
Test case: U+104B, U+1038
-
+
https://bugs.freedesktop.org/show_bug.cgi?id=71947
src/hb-ot-shape-complex-myanmar-machine.rl | 3 +++
@@ -63154,12 +61939,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 25 18:03:34 2013 -0500
[myanmar] Mark U+104E MYANMAR SYMBOL AFOREMENTIONED as Consonant
-
+
The spec and Uniscribe treat it as consonant in the grammar, but
it's not in IndicSyllableCategory.txt, so fix up.
-
+
Test sequence: U+1004,U+103A,U+1039,U+104E
-
+
https://bugs.freedesktop.org/show_bug.cgi?id=71948
src/hb-ot-shape-complex-myanmar.cc | 4 ++++
@@ -63170,15 +61955,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 25 17:50:07 2013 -0500
[myanmar] Relax pwo-tone group a bit
-
+
This is broken sequence according to OpenType spec, Uniscribe,
and current HarfBuzz implementation. But Roozbeh says this
is a valid sequence, so allow it. There are multiple
"(DB As?)?" constructs in the grammar, but Roozbeh thinks only
this one needs changing.
-
+
Test case: 1014,1063,103A
-
+
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=71949
src/hb-ot-shape-complex-myanmar-machine.rl | 2 +-
@@ -63189,15 +61974,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 25 17:47:19 2013 -0500
Add more Myanmar test cases
-
+
All three are broken right now according to Roozbeh.
-
+
https://bugs.freedesktop.org/show_bug.cgi?id=71947
https://bugs.freedesktop.org/show_bug.cgi?id=71948
https://bugs.freedesktop.org/show_bug.cgi?id=71949
- .../shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/misc.txt |
- 4 ++++
+ .../shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/misc.txt | 4 ++++
1 file changed, 4 insertions(+)
commit 08c2d27d35093e07142168665139274ac99395e8
@@ -63205,13 +61989,12 @@ Author: Roozbeh Pournader <roozbeh@google.com>
Date: Sat Nov 23 21:39:31 2013 -0800
Added support for several new languages
-
+
Based on research into latest SIL and Windows fonts, pulling in
the latest OpenType language tag proposal from Microsoft, and updating
to latest language tags and names from ISO 639.
- src/hb-ot-tag.cc | 314
- +++++++++++++++++++++++++++++++++++++++++++------------
+ src/hb-ot-tag.cc | 314 +++++++++++++++++++++++++++++++++++++++++++------------
1 file changed, 247 insertions(+), 67 deletions(-)
commit 05511acd198d0c2157cdb41e1d36eac0b8075357
@@ -63219,7 +62002,7 @@ Author: Roozbeh Pournader <roozbeh@google.com>
Date: Sat Nov 23 15:19:07 2013 -0800
Added language tags for S'gaw Karen and Khamti
-
+
Tags based on support in Windows 8.1's 'Myanmar Text' font.
src/hb-ot-tag.cc | 2 ++
@@ -63239,7 +62022,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 15 13:05:38 2013 -0500
Set buffer content type to INVALID in hb_buffer_set_length(0)
-
+
Previously we were only setting this in hb_buffer_clear_contents(),
but set_length(0) is a valid way to reinitialize buffer to use with
new text.
@@ -63263,7 +62046,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 13 14:50:25 2013 -0500
Use long alignment for scratch buffer
-
+
Fixes last of scratch alignment warnings in hb-coretext.
src/hb-buffer-private.hh | 2 +-
@@ -63320,17 +62103,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 6 14:46:04 2013 -0500
Fix llvm warnings on Mac
-
+
Patch from Scott Fleischman. Warnings were:
-
+
harfbuzz/src/hb-font-private.hh:121:42: Implicit conversion loses
integer precision: 'long long' to 'hb_position_t' (aka 'int')
harfbuzz/src/hb-font-private.hh:126:42: Implicit conversion loses
integer precision: 'long long' to 'hb_position_t' (aka 'int')
harfbuzz/src/hb-font-private.hh:400:85: Implicit conversion loses
integer precision: 'long long' to 'hb_position_t' (aka 'int')
- harfbuzz/src/hb-ot-layout-common-private.hh:1115:37: Implicit
- conversion
+ harfbuzz/src/hb-ot-layout-common-private.hh:1115:37: Implicit conversion
loses integer precision: 'long long' to 'int'
harfbuzz/src/hb-ft.cc:421:97: Implicit conversion loses integer
precision: 'unsigned long long' to 'int'
@@ -63347,13 +62129,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 30 17:30:11 2013 +0000
[otlayout] Remove unused is_inplace()
-
+
Patch from Jonathan Kew.
src/hb-ot-layout-gpos-table.hh | 6 --
src/hb-ot-layout-gsub-table.hh | 56 ------------
- src/hb-ot-layout-gsubgpos-private.hh | 159
- -----------------------------------
+ src/hb-ot-layout-gsubgpos-private.hh | 159 -----------------------------------
3 files changed, 221 deletions(-)
commit 176fd17d02ac183af32a0e710ec32d25c9322021
@@ -63361,7 +62142,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 30 17:27:24 2013 +0000
Bug 70971 - Signed/unsigned compiler warnings on windows
-
+
Patch from Emil Eklund.
src/hb-buffer-serialize.cc | 8 ++++----
@@ -63412,9 +62193,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 28 19:26:02 2013 +0100
[otlayout] Optimize inplace
-
- See thread started by Jonathan with subject "an optimization for
- complex
+
+ See thread started by Jonathan with subject "an optimization for complex
fonts".
src/hb-ot-layout.cc | 6 +++---
@@ -63425,17 +62205,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 28 00:20:59 2013 +0100
Revert "Zero marks by GDEF for Tibetan"
-
+
This reverts commit d5bd0590ae2fbc7b0dee86385a565aef00ffb835.
-
+
The reasoning behind that logic was flawed and made under
a misunderstanding of the original problem, and caused
regressions as reported by Jonathan Kew in thread titled
"tibetan marks" in Oct 2013. Apparently I have had fixed
the original problem with this commit:
-
+
7e08f1258da229dfaf7e1c4b5c41e5bb83906cb0
-
+
So, revert the faulty commit and everything seems to be in good
shape.
@@ -63455,7 +62235,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 28 00:09:05 2013 +0100
Pass CPPFLAGS=-Werror to Travis-CI
-
+
We want default gcc / clang warnings to fail the CI build.
.travis.yml | 2 +-
@@ -63476,7 +62256,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 27 23:36:35 2013 +0100
Work with old and new glib
-
+
Avoids "deprecated" warnings.
src/test-buffer-serialize.cc | 7 +++++--
@@ -63493,11 +62273,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 27 23:24:50 2013 +0100
[indic] Adjust pref reordering logic
-
+
For Javanese (pref_len == 1) only reorder if it didn't ligate. That's
sensible, and what the spec says. For other Indic (pref_len > 1)
only reorder if ligated.
-
+
Doesn't change any test numbers.
src/hb-ot-shape-complex-indic.cc | 9 +++++++--
@@ -63508,13 +62288,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 27 21:04:55 2013 +0100
Optimize fallback kerning
-
+
Patch from Jonathan Kew. "These changes seem to yield a small but
just-about-measurable improvement with old fonts that lack GPOS
kerning."
- src/hb-ot-shape-fallback.cc | 47
- ++++++++++++++++++++++++++++-----------------
+ src/hb-ot-shape-fallback.cc | 47 ++++++++++++++++++++++++++++-----------------
1 file changed, 29 insertions(+), 18 deletions(-)
commit 133eeba6a32769ec1a7520e7c8a0d2eb1ad986f8
@@ -63522,7 +62301,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 27 00:24:59 2013 +0200
Minor
-
+
See:
https://github.com/prezi/harfbuzz-js/pull/1/files#r7032397
@@ -63534,7 +62313,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 24 11:46:33 2013 +0200
[indic] Fix CM2, really
-
+
Followup from 6e613f3365bf4e9fd778758c53e7de00c64beca1.
src/hb-ot-shape-complex-indic-machine.rl | 2 +-
@@ -63555,8 +62334,7 @@ Date: Fri Oct 18 19:33:09 2013 +0200
Refactor
- src/hb-ot-layout-gpos-table.hh | 120
- ++++++++++++++++++++++-------------------
+ src/hb-ot-layout-gpos-table.hh | 120 ++++++++++++++++++++++-------------------
src/hb-ot-layout.cc | 31 +++++------
src/hb-ot-shape-normalize.cc | 29 +++++-----
src/hb-ot-shape.cc | 82 ++++++++++++++++------------
@@ -63576,18 +62354,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 18 18:07:11 2013 +0200
[indic] Improve positioning of post-base bells and whistles
-
- Bug 58714 - Kannada u+0cb0 u+200d u+0ccd u+0c95 u+0cbe does not
- provide
+
+ Bug 58714 - Kannada u+0cb0 u+200d u+0ccd u+0c95 u+0cbe does not provide
same results as Windows8
https://bugs.freedesktop.org/show_bug.cgi?id=58714
-
+
Test with U+0CB0,U+200D,U+0CCD,U+0C95,U+0CBF and tunga.ttf.
-
+
Improves some scripts. Improves Bengali too, but numbers
are up because we produce better results than Uniscribe for some
sequences now.
-
+
New numbers:
BENGALI: 353724 out of 354188 tests passed. 464 failed (0.131004%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
@@ -63595,8 +62372,7 @@ Date: Fri Oct 18 18:07:11 2013 +0200
GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%)
KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%)
KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%)
- MALAYALAM: 1048140 out of 1048334 tests passed. 194 failed
- (0.0185056%)
+ MALAYALAM: 1048140 out of 1048334 tests passed. 194 failed (0.0185056%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
@@ -63610,7 +62386,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 18 16:44:54 2013 +0200
Zero marks by GDEF for Tibetan
-
+
See:
http://lists.freedesktop.org/archives/harfbuzz/2013-April/003101.html
@@ -63639,7 +62415,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 18 16:08:53 2013 +0200
[otfallback] Don't shift down above-marks too much
-
+
This seems to generate much better, almost-perfect, positioning for
Arabic as well as Latin above marks.
@@ -63651,7 +62427,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 18 15:57:36 2013 +0200
[otfallback] Never fallback-position a below-mark upwards
-
+
Test with WinXP times.ttf and U+05D9,U+05B5.
src/hb-ot-shape-fallback.cc | 6 ++++++
@@ -63671,12 +62447,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 18 02:27:00 2013 +0200
[indic] Add Javanese support!
-
+
Seems to be working just fine!
src/hb-ot-shape-complex-indic-machine.rl | 14 ++++++------
- src/hb-ot-shape-complex-indic-private.hh | 37
- ++++++++++++++++----------------
+ src/hb-ot-shape-complex-indic-private.hh | 37 ++++++++++++++++----------------
src/hb-ot-shape-complex-indic.cc | 9 ++++++--
3 files changed, 34 insertions(+), 26 deletions(-)
@@ -63685,7 +62460,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 18 11:17:42 2013 +0200
[ft] Round metrics instead of truncate
-
+
Lohit-Punjabi has a upem of 769! We were losing one unit in our
code, and FreeType is losing another one... Test with U+0A06.
Has an advance of 854 in the font. We were producing 852.
@@ -63699,9 +62474,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 18 02:14:53 2013 +0200
[indic] Swith pref logic to use _hb_glyph_info_substituted()
-
+
See comments from caveat! Seems to work fine.
-
+
This is useful for Javanese which has an atomically encoded pre-base
reordering Ra which should only be reordered if it was substituted
by the pref feature.
@@ -63723,7 +62498,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 18 01:11:05 2013 +0200
[otlayout] Add _hb_glyph_info_substituted()
-
+
Currently unused.
src/hb-ot-layout-private.hh | 6 ++++++
@@ -63734,7 +62509,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 18 01:09:08 2013 +0200
[otlayout] Switch over from old is_a_ligature() to IS_LIGATED
-
+
Impact should be minimal and positive.
src/hb-ot-layout-gsubgpos-private.hh | 2 +-
@@ -63749,7 +62524,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 18 01:05:58 2013 +0200
[otlayout] Add HB_OT_LAYOUT_GLYPH_PROPS_LIGATED
-
+
Currently unused.
src/hb-ot-layout-gsubgpos-private.hh | 15 ++++++++++-----
@@ -63761,7 +62536,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 18 00:45:59 2013 +0200
[otlayout] Add HB_OT_LAYOUT_GLYPH_PROPS_SUBSTITUTED
-
+
Currently unused.
src/hb-ot-layout-gsubgpos-private.hh | 5 +++--
@@ -63777,8 +62552,7 @@ Date: Fri Oct 18 00:42:39 2013 +0200
src/hb-ot-layout-gpos-table.hh | 16 +++----
src/hb-ot-layout-gsub-table.hh | 13 +++--
src/hb-ot-layout-gsubgpos-private.hh | 8 ++--
- src/hb-ot-layout-private.hh | 92
- ++++++++++++++++++++++++++++++++----
+ src/hb-ot-layout-private.hh | 92 ++++++++++++++++++++++++++++++++----
src/hb-ot-shape.cc | 8 ++--
5 files changed, 102 insertions(+), 35 deletions(-)
@@ -63787,7 +62561,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 18 00:21:59 2013 +0200
[otlayout] Add _hb_glyph_info_set_glyph_props()
-
+
No functional change.
src/hb-ot-layout-gsub-table.hh | 2 +-
@@ -63814,8 +62588,7 @@ Date: Fri Oct 18 00:02:43 2013 +0200
src/hb-ot-layout-gpos-table.hh | 18 +++++++-------
src/hb-ot-layout-gsub-table.hh | 2 +-
src/hb-ot-layout-gsubgpos-private.hh | 36 +++++++++++++--------------
- src/hb-ot-layout-private.hh | 48
- +++++++++++++++++++++---------------
+ src/hb-ot-layout-private.hh | 48 +++++++++++++++++++++---------------
src/hb-ot-shape-complex-indic.cc | 5 ++--
src/hb-ot-shape-complex-myanmar.cc | 2 +-
src/hb-ot-shape-fallback.cc | 8 +++---
@@ -63828,8 +62601,7 @@ Date: Thu Oct 17 21:16:20 2013 +0200
[otlayout] More shuffling
- src/hb-ot-layout-private.hh | 252
- +++++++++++++++++++++++---------------------
+ src/hb-ot-layout-private.hh | 252 +++++++++++++++++++++++---------------------
1 file changed, 130 insertions(+), 122 deletions(-)
commit 469524692bd0a258b28e63294c984e677a9c2477
@@ -63897,8 +62669,7 @@ Date: Thu Oct 17 19:07:53 2013 +0200
[indic] Towards supporting atomicly-encoded prebase-reorderings
- src/hb-ot-shape-complex-indic.cc | 65
- ++++++++++++++++++++++++----------------
+ src/hb-ot-shape-complex-indic.cc | 65 ++++++++++++++++++++++++----------------
1 file changed, 40 insertions(+), 25 deletions(-)
commit efed40b975110d78c9c505441e7e17a8c13e85c8
@@ -63925,7 +62696,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 17 18:16:14 2013 +0200
Route Buginese through the SEA shaper
-
+
Both Indic and SEA seem to do it just fine, but SEA is much
simpler.
@@ -63937,9 +62708,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 17 18:04:23 2013 +0200
[indic] Pass zero-context=false to would_substitute for newer scripts
-
- For scripts without an old/new spec distinction, use
- zero-context=false.
+
+ For scripts without an old/new spec distinction, use zero-context=false.
This changes behavior in Sinhala / Khmer, but doesn't seem to regress.
This will be useful and used in Javanese.
@@ -63960,7 +62730,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 17 16:49:06 2013 +0200
[indic] Add BASE_POS_LAST_SINHALA
-
+
Previously we planted this into the mode used for Khmer. There's not
really much in common between the two, so separate again.
@@ -63972,7 +62742,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 17 16:27:38 2013 +0200
[indic] Adjust Sinhala cluster merging under uniscribe
-
+
Similar to 190c8f2b60af0851bf692f653c1604cfbf0561a5 but for
Sinhala.
@@ -63985,8 +62755,7 @@ Date: Thu Oct 17 13:58:31 2013 +0200
[otlayout] Minor
- src/hb-ot-layout-gsubgpos-private.hh | 62
- +++++++++++++++++++-----------------
+ src/hb-ot-layout-gsubgpos-private.hh | 62 +++++++++++++++++++-----------------
1 file changed, 33 insertions(+), 29 deletions(-)
commit 6cc136f7531a45e71ea08a7dc8a2187172cb813d
@@ -64003,7 +62772,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 17 13:52:51 2013 +0200
[otlayout] Increase MAX_CONTEXT_LENGTH
-
+
It's cheap.
src/hb-ot-layout-common-private.hh | 2 +-
@@ -64014,7 +62783,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 17 13:49:51 2013 +0200
[otlayout] Simplify ligate_input()
-
+
Shouldn't change behavior at all, but is faster / more robust.
src/hb-ot-layout-gsub-table.hh | 16 +++++++---------
@@ -64035,10 +62804,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 17 13:05:05 2013 +0200
[indic] Apply calt,clig in the same stage as presentation features
-
+
Whic means these twp are applied per-syllable now. Apparently
in some Khmer fonts the clig interacts with presentation features.
-
+
Test case: U+1781,U+17D2,U+1789,U+17BB,U+17C6 with Mondulkiri-R.ttf
should produce one big ligature.
@@ -64050,7 +62819,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 17 12:24:55 2013 +0200
[indic] Fix pref vs blwf interaction
-
+
If a glyph can be both blwf and pref, we were wrongly sorting it
in the post position instead of below position.
@@ -64062,7 +62831,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 17 12:20:24 2013 +0200
[indic] Don't apply blwf before base under old-spec mode
-
+
Test case: U+09AC,U+09CD,U+09A6 with Lohit-Bengali 2.5.3.
src/hb-ot-shape-complex-indic.cc | 3 ++-
@@ -64073,7 +62842,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 17 12:01:50 2013 +0200
[otlayout] Fix up recent Context matching change
-
+
Commit 6b65a76b40522a4f57a6fedcbdfc5a4d736f1d3c. "end" was becoming
negative. Was trigerred by Lohit-Kannada 2.5.3 and the sequence:
U+0CB0,U+200D,U+0CBE,U+0CB7,U+0CCD,U+0C9F,U+0CCD,U+0CB0,U+0C97,U+0CB3
@@ -64097,18 +62866,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 16 19:06:29 2013 +0200
[indic] Misc harmless fixes!
-
+
First, we were abusing OT_VD instead of OT_A. Fix that
but moving OT_A in the grammar where it belongs (which
is different from what the spec says).
-
+
Also, only allow medial consonants after all other
consonants. This doesn't affect any current character.
-
+
Finally, fix Halant attachment in presence of medial
consonants. Again, this currently doesn't affect any
sequence.
-
+
I lied. There's Gurmukhi U+0A75 which is Consonant_Medial.
Uniscribe allows one of those in each of these positions:
before matras, after matras and before syllable modifiers,
@@ -64125,19 +62894,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 16 13:42:38 2013 +0200
[arabic] Make ZWJ prevent ligatures instead of facilitating it
-
+
Unicode 6.2.0 Section 16.2 / Figure 16.3 says:
-
+
"For backward compatibility, between Arabic characters a ZWJ acts just
like the sequence <ZWJ, ZWNJ, ZWJ>, preventing a ligature from forming
instead of requesting the use of a ligature that would not normally be
used. As a result, there is no plain text mechanism for requesting the
use of a ligature in Arabic text."
-
+
As such, we flip internal zwj to zwnj flags for GSUB matching, which
means it will block ligation in all features, unless the font
- explicitly matches U+200D glyph. This doesn't affect joining
- behavior.
+ explicitly matches U+200D glyph. This doesn't affect joining behavior.
src/hb-ot-layout-private.hh | 6 ++++++
src/hb-ot-shape-complex-arabic.cc | 18 ++++++++++++++++++
@@ -64158,8 +62926,7 @@ Date: Wed Oct 16 12:32:12 2013 +0200
[indic] More granular post-base cluster merging!
- src/hb-ot-shape-complex-indic.cc | 45
- ++++++++++++++++++++++++++++++++++------
+ src/hb-ot-shape-complex-indic.cc | 45 ++++++++++++++++++++++++++++++++++------
1 file changed, 39 insertions(+), 6 deletions(-)
commit 9cb59d460e80d769087045535a8d54ec9ed7985c
@@ -64167,7 +62934,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 16 11:34:07 2013 +0200
[indic] Fix cluster merging of left matras
-
+
The merge_clusters there was totally broken.
src/hb-ot-shape-complex-indic.cc | 2 +-
@@ -64178,7 +62945,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 16 11:33:18 2013 +0200
[indic] Adjust cluster merging under uniscribe mode for Tamil
-
+
Apparently Uniscribe Tamil shaper doesn't ship chubby clusters
for Tamil. Adjust to that.
@@ -64190,23 +62957,21 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 16 11:14:15 2013 +0200
[indic] Allow up to two syllable modifiers
-
+
Bug 70509 - Candrabindu+Visarga doesn't work in Devanagari
https://bugs.freedesktop.org/show_bug.cgi?id=70509
-
+
We categorize both bindus and visarga as syllable-modifiers.
OT spec doesn't actually say what characters go in the syllable
modifier category, and allows one. We just allow up to two now.
-
+
Test case: U+0930,U+0941,U+0901,U+0903
-
+
Uniscribe currently doesn't support that and produces a
dotted circle.
- src/hb-ot-shape-complex-indic-machine.rl |
- 2 +-
- .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt |
- 1 +
+ src/hb-ot-shape-complex-indic-machine.rl | 2 +-
+ .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
commit f5299eff5c0065d6329cd536c0ac339abea085b0
@@ -64214,7 +62979,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 15 18:13:07 2013 +0200
[indic] Simplify reph logic
-
+
*Shouldn't* break anything.
src/hb-ot-shape-complex-indic.cc | 11 +++--------
@@ -64225,14 +62990,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 15 18:08:05 2013 +0200
[indic] If Malayalam dot-reph formed a ligature, don't move it
-
+
Rachana-0.6 implements dot-reph by ligation, so we shouldn't move it.
Uniscribe doesn't either. Test case:
-
+
U+0D4E,U+0D1A,U+0D4D,U+0D1A,U+0D4D
- src/hb-ot-shape-complex-indic.cc | 23
- ++++++++++++++++------
+ src/hb-ot-shape-complex-indic.cc | 23 ++++++++++++++++------
.../indic/script-malayalam/misc/dot-reph.txt | 3 +++
2 files changed, 20 insertions(+), 6 deletions(-)
@@ -64251,8 +63015,7 @@ Date: Tue Oct 15 16:24:21 2013 +0200
[tests] Remove Myanmar micro-font and test
- .../sha1sum/ceadd106a8205214fbe7337ef9de32a862b59762.ttf | Bin 3040 ->
- 0 bytes
+ .../sha1sum/ceadd106a8205214fbe7337ef9de32a862b59762.ttf | Bin 3040 -> 0 bytes
test/shaping/tests/context-matching.tests | 1 -
2 files changed, 1 deletion(-)
@@ -64260,16 +63023,13 @@ commit eb10233b267909dee0245f126000e117f3b21c35
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 15 15:26:44 2013 +0200
- [indic] Apply 'kern' for all scripts except for Khmer in Uniscribe
- mode
-
+ [indic] Apply 'kern' for all scripts except for Khmer in Uniscribe mode
+
Seems to better match Uniscribe.
-
- Note: NotoSansTelugu-Regular has kern feature, so this fixes most
- of the
+
+ Note: NotoSansTelugu-Regular has kern feature, so this fixes most of the
positioning failures there, except for the kern pairs blocked by a
- (non-)joiner, in which case we (correctly) kern, but Uniscribe
- doesn't.
+ (non-)joiner, in which case we (correctly) kern, but Uniscribe doesn't.
src/hb-ot-shape-complex-indic.cc | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
@@ -64279,34 +63039,32 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 15 13:47:27 2013 +0200
[indic] Don't apply presentation features across syllables
-
+
More like Uniscribe... We still allow user-defined features to
work across syllables, but not pres,blws,abs,psts,etc.
-
+
This "regressed" Sinhala numbers by 11. These are cases were
there's Consonant followed by Ra,Halant,ZWJ at the of text.
The Ra,Halant,ZWJ ends up forming reph, which is wrong...
But before we were also ligating that reph with the previous
consonant. That's even more wrong. That's also what Uniscribe
does.
-
+
Current numbers:
-
+
BENGALI: 353732 out of 354188 tests passed. 456 failed (0.128745%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%)
GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%)
KANNADA: 951030 out of 951913 tests passed. 883 failed (0.0927606%)
KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%)
- MALAYALAM: 1048140 out of 1048334 tests passed. 194 failed
- (0.0185056%)
+ MALAYALAM: 1048140 out of 1048334 tests passed. 194 failed (0.0185056%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271655 out of 271847 tests passed. 192 failed (0.070628%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
- src/hb-ot-shape-complex-indic.cc | 21
- +++++++++++++++++----
+ src/hb-ot-shape-complex-indic.cc | 21 +++++++++++++++++----
.../shaper-indic/indic/script-sinhala/misc/misc.txt | 1 +
2 files changed, 18 insertions(+), 4 deletions(-)
@@ -64315,14 +63073,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 15 11:21:01 2013 +0200
[indic] Handle Avagraha
-
+
It can come either at the end(ish!) of the syllable, or independently.
When independent, it accepts a few bits and pieces.
src/hb-ot-shape-complex-indic-machine.rl | 5 ++++-
src/hb-ot-shape-complex-indic-private.hh | 5 +++--
- src/hb-ot-shape-complex-indic.cc | 14
- +++++++++++++-
+ src/hb-ot-shape-complex-indic.cc | 14 +++++++++++++-
.../shaper-indic/indic/script-devanagari/misc/misc.txt | 1 +
.../in-tree/shaper-indic/indic/script-telugu/misc/misc.txt | 1 +
5 files changed, 22 insertions(+), 4 deletions(-)
@@ -64341,21 +63098,20 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 15 12:15:49 2013 +0200
[indic] Some scripts like blwf applied to pre-base characters
-
+
...while some don't!
-
+
Improved Bengali, Devanagari, Gurmukhi, Malayalam.
-
+
Updated numbers:
-
+
BENGALI: 353732 out of 354188 tests passed. 456 failed (0.128745%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%)
GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%)
KANNADA: 951030 out of 951913 tests passed. 883 failed (0.0927606%)
KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%)
- MALAYALAM: 1048134 out of 1048334 tests passed. 200 failed
- (0.0190779%)
+ MALAYALAM: 1048134 out of 1048334 tests passed. 200 failed (0.0190779%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271666 out of 271847 tests passed. 181 failed (0.0665816%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
@@ -64378,13 +63134,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 14 18:51:39 2013 +0200
[otlayout] Fix (Chain)Context recursion!
-
+
Previously we only supported recursive sublookups with
ascending indices. We were also not correctly handling
non-1-to-1 recursed lookups.
-
+
Fix all that!
-
+
Fixes the three tests in test/shaping/tests/context-matching.tests,
which were derived from NotoSansBengali and NotoSansDevanagari
among others.
@@ -64393,8 +63149,7 @@ Date: Mon Oct 14 18:51:39 2013 +0200
src/hb-buffer.cc | 46 ++++++++++
src/hb-ot-layout-common-private.hh | 1 +
src/hb-ot-layout-gsub-table.hh | 1 +
- src/hb-ot-layout-gsubgpos-private.hh | 157
- +++++++++++++++++------------------
+ src/hb-ot-layout-gsubgpos-private.hh | 157 +++++++++++++++++------------------
5 files changed, 127 insertions(+), 82 deletions(-)
commit 841e20d083aec8d814cd8d90aa6ab60127c0d1f2
@@ -64402,13 +63157,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 14 18:47:51 2013 +0200
Add test suite for shaping results
-
+
The new test suite runs tests included under
hb/test/shaping/tests/*.tests, which themselves reference
font files stored by sha1sum under hb/test/shaping/fonts/sha1sum.
The fonts are produced using a subsetter to only include glyphs
needed to run the test.
-
+
Four initial tests are added for (Chain)Context matching,
of which three currently fail.
@@ -64417,8 +63172,7 @@ Date: Mon Oct 14 18:47:51 2013 +0200
.../ceadd106a8205214fbe7337ef9de32a862b59762.ttf | Bin 0 -> 3040 bytes
.../d629e7fedc0b350222d7987345fe61613fa3929a.ttf | Bin 0 -> 1768 bytes
.../f499fbc23865022234775c43503bba2e63978fe1.ttf | Bin 0 -> 3564 bytes
- test/shaping/run-tests.sh | 34
- +++++++++++++++++++++
+ test/shaping/run-tests.sh | 34 +++++++++++++++++++++
test/shaping/tests/MANIFEST | 1 +
test/shaping/tests/context-matching.tests | 4 +++
8 files changed, 48 insertions(+), 1 deletion(-)
@@ -64446,7 +63200,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 10 20:04:42 2013 +0200
Don't use g_mapped_file_unref()
-
+
Was introduced in glib 2.22.
src/test-buffer-serialize.cc | 2 +-
@@ -64471,7 +63225,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 3 14:54:50 2013 -0400
[OTLayout] Protect against out-of-range lookup indices
-
+
Filter them out when compiling map.
src/hb-ot-layout.cc | 17 +++++++++++++++++
@@ -64496,8 +63250,7 @@ Date: Mon Sep 30 08:55:52 2013 +0000
- use common src files for both static and shared libs
- remove empty LOCAL_SHARED_LIBRARIES
- Android.mk | 58
- +++++++++++++++++-----------------------------------------
+ Android.mk | 58 +++++++++++++++++-----------------------------------------
1 file changed, 17 insertions(+), 41 deletions(-)
commit 622bc3d829cab84c3a4148b88f2c91fee491ef39
@@ -64506,7 +63259,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Sep 29 13:31:58 2013 -0700
Merge pull request #4 from amarullz/master
-
+
Add build static library on Android.mk
commit 3d2c4f0c2ff8fab4262988aad65b170e5b479b20
@@ -64514,7 +63267,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 27 17:06:29 2013 -0400
Fix hiding of default_ignorables if font doesn't have space glyph
-
+
Based on patch from Jonathan Kew. See discussion on the list.
src/hb-ot-shape.cc | 40 ++++++++++++++++++++++++++++++----------
@@ -64525,7 +63278,7 @@ Author: Ahmad Amarullah <support@amarullz.com>
Date: Fri Sep 27 19:04:32 2013 +0700
Add build static library on Android.mk
-
+
Use UCDN instead ICU
HAVE Freetype
@@ -64537,7 +63290,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Sep 26 18:26:43 2013 -0400
[util] Don't use g_array_unref()
-
+
Was introduced in glib 2.22.
util/view-cairo.hh | 2 +-
@@ -64548,7 +63301,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Sep 26 16:48:42 2013 -0400
Bug 68990 - test-common fails on i686-linux
-
+
Fix use-after-end-of-scope.
src/hb-common.cc | 6 ++++--
@@ -64600,17 +63353,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 13 20:23:51 2013 -0400
[introspection] Annotate Unicode / font callbacks
-
+
Should move these out of the public header...
-
+
We're "clean" of introspection warnings now. Remaining ones are about
graphite2 / freetype types not being introspectable.
src/hb-blob.cc | 4 +-
src/hb-face.cc | 2 +-
src/hb-font.cc | 4 +-
- src/hb-font.h | 132
- +++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ src/hb-font.h | 132 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
src/hb-unicode.h | 106 ++++++++++++++++++++++++++++++++++++++++----
5 files changed, 231 insertions(+), 17 deletions(-)
@@ -64619,7 +63371,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 13 20:17:42 2013 -0400
Move code around
-
+
I believe I didn't break anything...
src/hb-ot-shape.cc | 22 +++++++++++-----------
@@ -64630,14 +63382,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Sep 12 20:56:32 2013 -0400
Remove contrib/ Python hand-coded binding stuff
-
+
gobject-introspection coming together.
contrib/README | 2 -
contrib/python/README | 10 --
contrib/python/lib/fontconfig.pyx | 47 ---------
- contrib/python/lib/harfbuzz.pyx | 213
- --------------------------------------
+ contrib/python/lib/harfbuzz.pyx | 213 --------------------------------------
contrib/python/scripts/hbtestfont | 116 ---------------------
contrib/python/setup.py | 39 -------
6 files changed, 427 deletions(-)
@@ -64666,7 +63417,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Sep 12 17:14:33 2013 -0400
[introspection] Disable constructors for now
-
+
Since our types are not associated with their methods, marking
constructors makes them inaccessible from bindings. Undo for now.
@@ -64692,8 +63443,7 @@ Date: Mon Sep 9 15:43:10 2013 -0400
src/hb-ot-layout-gdef-table.hh | 2 +-
src/hb-ot-layout-gpos-table.hh | 2 +-
src/hb-ot-layout-gsub-table.hh | 2 +-
- src/hb-ot-layout-jstf-table.hh | 229
- +++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout-jstf-table.hh | 229 +++++++++++++++++++++++++++++++++++++++++
src/hb-ot-layout.cc | 1 +
src/hb-ot-layout.h | 1 +
src/hb-ot-maxp-table.hh | 2 +-
@@ -64707,8 +63457,7 @@ Date: Fri Sep 6 17:35:57 2013 -0400
[docs/introspection] Some more annotations
- src/hb-common.cc | 151
- ++++++++++++++++++++++++++++++++++++++++++++++++++--
+ src/hb-common.cc | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++--
src/hb-font.cc | 16 +++---
src/hb-version.h.in | 19 -------
3 files changed, 155 insertions(+), 31 deletions(-)
@@ -64724,8 +63473,7 @@ Date: Fri Sep 6 15:40:22 2013 -0400
src/hb-buffer.cc | 307 ++++++++++++++++++++++++++-
src/hb-face.cc | 171 +++++++++++++++
src/hb-font-private.hh | 4 +-
- src/hb-font.cc | 504
- ++++++++++++++++++++++++++++++++++++++++++++-
+ src/hb-font.cc | 504 ++++++++++++++++++++++++++++++++++++++++++++-
src/hb-set.cc | 2 +-
src/hb-shape-plan.cc | 104 ++++++++++
src/hb-shape.cc | 56 +++++
@@ -64747,7 +63495,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 6 16:20:21 2013 -0400
Minor change to hb_language_t
-
+
Let me know if this breaks anyone's anything.
src/hb-common.cc | 2 +-
@@ -64761,8 +63509,7 @@ Date: Fri Sep 6 15:29:22 2013 -0400
Annotate hb-set a bit; add HB_SET_VALUE_INVALID
src/hb-set-private.hh | 20 +++--
- src/hb-set.cc | 244
- ++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-set.cc | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-set.h | 2 +
src/hb-version.h.in | 6 +-
test/api/test-set.c | 26 +++---
@@ -64792,8 +63539,7 @@ Date: Wed Sep 4 18:28:39 2013 -0400
[docs] Document a few symbols
- src/hb-blob.cc | 160
- +++++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/hb-blob.cc | 160 +++++++++++++++++++++++++++++++++++++++++++++++++++-
src/hb-buffer.cc | 78 ++++++++++++++++++++++++-
src/hb-version.h.in | 17 ++++++
3 files changed, 251 insertions(+), 4 deletions(-)
@@ -64812,9 +63558,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 3 20:11:01 2013 -0400
Revert "Round when scaling values"
-
+
This reverts commit 10f964623f003c70f6bdd33423420abda3820ce0.
-
+
See discussion with Khaled Hosny on mailing list. In short, since
integers here can be negative, and int division is "round towards
zero", proper rounding should take sign into account. Just skip
@@ -64838,10 +63584,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 3 20:01:40 2013 -0400
[gtk-doc] Remove hack for deleting tmpl/
-
+
This was introduced in 029f46bde7e39094d3decb46525e91a97c5cc02c
and was in fact a bug in gtk-doc master:
-
+
https://bugzilla.gnome.org/show_bug.cgi?id=707426
docs/reference/Makefile.am | 5 -----
@@ -64852,7 +63598,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 3 20:00:16 2013 -0400
[build] Fix EXTRA_DIST
-
+
I was under the impression that EXTRA_DISTs will happen regardless of
automake conditionals. Apparently I was wrong.
@@ -64882,7 +63628,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 30 19:38:47 2013 -0400
[gtk-doc] Generate version.xml from configure
-
+
Even though this is not what autoconf recommends, it reduces doc
rebuilds when version doesn't change but configure changes.
@@ -64896,7 +63642,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 30 19:32:10 2013 -0400
Remove hb-old and hb-icu-le test shapers
-
+
They've been disabled for a while and no one cared. We're past
the point to need them for testing, and if we ever need to
resurrect them again, well, they're in git graveyard somewhere.
@@ -64930,8 +63676,7 @@ Date: Fri Aug 30 19:32:10 2013 -0400
src/hb-old/harfbuzz-gdef.h | 140 -
src/hb-old/harfbuzz-global.h | 125 -
src/hb-old/harfbuzz-gpos-private.h | 729 ----
- src/hb-old/harfbuzz-gpos.c | 6094
- --------------------------------
+ src/hb-old/harfbuzz-gpos.c | 6094 --------------------------------
src/hb-old/harfbuzz-gpos.h | 155 -
src/hb-old/harfbuzz-greek.c | 447 ---
src/hb-old/harfbuzz-gsub-private.h | 483 ---
@@ -65000,11 +63745,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 28 13:43:54 2013 -0400
Remove gtk-doc.make
-
+
It's copied by gtk-docize.
- gtk-doc.make | 302
- -----------------------------------------------------------
+ gtk-doc.make | 302 -----------------------------------------------------------
1 file changed, 302 deletions(-)
commit 79d754efeef89543d51775b110e8bd49cf7e699b
@@ -65021,7 +63765,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 28 12:52:55 2013 -0400
Turn hb-gobject, and introspection off by default
-
+
Also enable bootstrapping without them.
configure.ac | 39 ++++++++++++++++++++++++++++++++++-----
@@ -65042,7 +63786,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 26 20:56:58 2013 -0400
[gobject] Flesh out hb-gobject
-
+
Move it to new harfbuzz-gobject library. Implement enums and
boxed types for object-types. Still have to do boxed types for
value types.
@@ -65055,10 +63799,8 @@ Date: Mon Aug 26 20:56:58 2013 -0400
src/harfbuzz-gobject.pc.in | 12 +++++
src/hb-gobject-enums.cc.tmpl | 11 +++--
src/hb-gobject-enums.h.tmpl | 55 +++++++++++++++++++++++
- src/hb-gobject-structs.cc | 84
- +++++++++++++++++++++++++++-------
- src/hb-gobject-structs.h | 87
- ++++++++++++++++++++++++++++++++++++
+ src/hb-gobject-structs.cc | 84 +++++++++++++++++++++++++++-------
+ src/hb-gobject-structs.h | 87 ++++++++++++++++++++++++++++++++++++
src/hb-gobject.h | 38 ++--------------
11 files changed, 333 insertions(+), 77 deletions(-)
@@ -65077,7 +63819,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 28 12:35:13 2013 -0400
[uniscribe] Fixed build with wide chars
-
+
https://github.com/blinkseb/harfbuzz/commit/f65dafa4138e1fb4395bf646fa33bb01a86a7e9a
src/hb-uniscribe.cc | 2 +-
@@ -65088,15 +63830,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 26 20:39:00 2013 -0400
Add hb-deprecated.h, and rename a couple enum values
-
+
Add deprecated alias for old name.
src/Makefile.am | 1 +
src/hb-buffer.cc | 4 ++--
src/hb-buffer.h | 8 +++----
src/hb-common.h | 5 -----
- src/hb-deprecated.h | 51
- ++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-deprecated.h | 51 ++++++++++++++++++++++++++++++++++++++++++++
src/hb.h | 1 +
src/test-buffer-serialize.cc | 2 +-
test/api/test-buffer.c | 2 +-
@@ -65110,7 +63851,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 26 18:49:07 2013 -0400
Separate face source code from font
-
+
Makes documentation / introspection easier.
Android.mk | 1 +
@@ -65118,8 +63859,7 @@ Date: Mon Aug 26 18:49:07 2013 -0400
docs/reference/harfbuzz-sections.txt | 6 +-
src/Makefile.am | 3 +
src/hb-face-private.hh | 108 ++++++++++++
- src/hb-face.cc | 311
- +++++++++++++++++++++++++++++++++++
+ src/hb-face.cc | 311 +++++++++++++++++++++++++++++++++++
src/hb-face.h | 117 +++++++++++++
src/hb-font-private.hh | 67 +-------
src/hb-font.cc | 269 ------------------------------
@@ -65159,7 +63899,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 27 11:44:09 2013 -0400
Fix possible snprintf OOM
-
+
https://bugzilla.redhat.com/show_bug.cgi?id=1001645
src/hb-buffer-serialize.cc | 14 +++++++-------
@@ -65201,7 +63941,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 26 17:49:36 2013 -0400
Add HB_DISABLE_DEPRECATED
-
+
That moment that you have to accept that you made API mistakes...
docs/reference/Makefile.am | 2 +-
@@ -65223,7 +63963,7 @@ Author: Anthony Carrico <acarrico@memebeam.org>
Date: Sun Feb 24 13:00:33 2013 -0500
[gtk-doc] Initial setup
-
+
Initial setup of gtk-doc. Straight forward setup following the gtk-doc
instructions. Ignore some troublesome types in src/hb-gobject.h. To
build use "./autogen.sh --enable-gtk-doc" then "make". Docs are in
@@ -65237,8 +63977,7 @@ Date: Sun Feb 24 13:00:33 2013 -0500
docs/reference/Makefile.am | 109 +++++++++
docs/reference/harfbuzz-docs.xml | 61 +++++
docs/reference/harfbuzz-overrides.txt | 0
- docs/reference/harfbuzz-sections.txt | 431
- ++++++++++++++++++++++++++++++++++
+ docs/reference/harfbuzz-sections.txt | 431 ++++++++++++++++++++++++++++++++++
gtk-doc.make | 302 ++++++++++++++++++++++++
src/Makefile.am | 2 +-
src/hb-gobject.h | 3 +-
@@ -65249,10 +63988,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 21 17:22:21 2013 -0400
[uniscribe] Ask Uniscribe to return shaping results in logical order
-
+
See discussion on the list in the thread "Arabic presentation forms
and the uniscribe backend".
-
+
Based on patch from Jonathan Kew.
src/hb-uniscribe.cc | 24 ++++++++++++------------
@@ -65272,26 +64011,25 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 12 00:33:28 2013 -0400
[coretext] Fully support user features
-
+
Based on patch from Jonathan Kew and data from Apple.
-
+
It's not working correctly though, and I suspect I'm hitting a bug in
CoreText. When I do this:
-
+
hb-shape /Library/Fonts/Zapfino.ttf ZapfinoZapfino --shaper coretext \
--features=-liga
-
+
I expect both ligatures to turn off, but only the second one does:
-
+
[Z_a_p_f_i_n_o=0+2333|Z=7+395|a=8+285|p_f=9+433|i=11+181|n=12+261|o=13+250]
-
+
whereas if I disable 'dlig' instead of 'liga', both are turned off.
Smells...
-
+
Doesn't resolve conflicting feature settings.
- src/hb-coretext.cc | 446
- +++++++++++++++++++++++++++++++++++++++++++++++-----
+ src/hb-coretext.cc | 446 +++++++++++++++++++++++++++++++++++++++++++++++-----
src/hb-uniscribe.cc | 2 +-
2 files changed, 404 insertions(+), 44 deletions(-)
@@ -65300,12 +64038,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 9 14:34:54 2013 -0400
Clean up list of Unicode scripts
-
+
Rename HB_SCRIPT_CANADIAN_ABORIGINAL to HB_SCRIPT_CANADIAN_SYLLABICS
and a macro for the old name.
- src/hb-common.h | 277
- ++++++++++++++++++++-----------------
+ src/hb-common.h | 277 ++++++++++++++++++++-----------------
src/hb-glib.cc | 2 +-
src/hb-ot-shape-complex-private.hh | 2 +
src/hb-ucdn.cc | 2 +-
@@ -65335,7 +64072,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 9 09:40:01 2013 -0400
Round when scaling values
-
+
Doesn't matter for most users since they should be working in a
fixed sub-pixel scale anyway (ie. 22.10, 26.6, 16.16, etc).
@@ -65366,7 +64103,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 9 09:28:32 2013 -0400
Remove vrt2, vkrn, vpal, and valt from default vertical features
-
+
See thread by John Dagget on the list.
TODO | 2 --
@@ -65378,13 +64115,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 7 21:08:54 2013 -0400
[coretext] Start adding support for features
-
- Unlike AAT, looks like with CoreText very few OT features can
- be mapped.
+
+ Unlike AAT, looks like with CoreText very few OT features can be mapped.
:(
- src/hb-coretext.cc | 65
- +++++++++++++++++++++++++++++++++++++++++++++---------
+ src/hb-coretext.cc | 65 +++++++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 54 insertions(+), 11 deletions(-)
commit bdd8873fd8ae5c794018f6edac242b0a8b62ff31
@@ -65392,9 +64127,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 7 17:58:25 2013 -0400
Revert "[Indic] don't apply 'calt' by default in Indic shaper"
-
+
This reverts commit 952121007c6f6f374e4cf1734ebcfe2d2d71c71c.
-
+
In light of discussion on the mailing list...
src/hb-ot-shape-complex-indic.cc | 4 ----
@@ -65405,12 +64140,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 7 17:26:13 2013 -0400
[uniscribe] Support feature ranges
-
+
As Khaled pointed out, right now setting any features, turns kern
and possibly other features off.
- src/hb-uniscribe.cc | 232
- ++++++++++++++++++++++++++++++++++++++++++++--------
+ src/hb-uniscribe.cc | 232 ++++++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 199 insertions(+), 33 deletions(-)
commit 627af695e48ef10b6e634c34b723f7e7013467f6
@@ -65436,11 +64170,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 6 14:45:36 2013 -0400
[uniscribe] Half-support user features
-
+
Turning features on globally works now.
- src/hb-uniscribe.cc | 54
- ++++++++++++++++++++++++++++++++++++++++++-----------
+ src/hb-uniscribe.cc | 54 ++++++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 43 insertions(+), 11 deletions(-)
commit 639afdc690c681a302080239a1967ce735ba5be5
@@ -65466,7 +64199,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 5 22:44:18 2013 -0400
Fix glyph closure with class==0
-
+
As reported by cibu. Untested.
src/hb-ot-layout-common-private.hh | 29 +++++++++++++++++++++++++++++
@@ -65477,7 +64210,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Aug 4 16:55:21 2013 -0400
Don't apply 'dlig' by default
-
+
Windows 8 doesn't, and the spec will be fixed.
src/hb-ot-shape-complex-arabic.cc | 1 -
@@ -65496,9 +64229,8 @@ commit c461371419d186811d4bfc768e26535f48a807f4
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 30 14:48:23 2013 -0400
- [CoreText] Don't leak the CTLine object (and everything that hangs
- off it)
-
+ [CoreText] Don't leak the CTLine object (and everything that hangs off it)
+
Patch from Jonathan Kew.
src/hb-coretext.cc | 2 ++
@@ -65518,7 +64250,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 26 10:33:06 2013 -0400
Apply 'mark' to Myanmar
-
+
According to Andrew Glass: "The issue with Myanmar <mark> feature was
fixed via a servicing patch as soon as Windows 8 became available."
@@ -65569,8 +64301,7 @@ Date: Sun Jul 21 17:05:02 2013 -0400
src/hb-open-type-private.hh | 10 ++++-
src/hb-ot-name-table.hh | 4 +-
- src/hb-uniscribe.cc | 107
- +++++++++++++++++++++++---------------------
+ src/hb-uniscribe.cc | 107 +++++++++++++++++++++++---------------------
3 files changed, 66 insertions(+), 55 deletions(-)
commit bdeea605fe597bff4430eaae3317189bb81ec76e
@@ -65596,18 +64327,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jul 21 16:06:49 2013 -0400
[uniscribe] Use unique font name
-
+
When installing per-process fonts using AddFontMemResourceEx(),
if a font with the same family name is already installed, sometimes
that one gets used. Which is problematic for us. As such, we
now mangle the font to install a new 'name' table with a unique
name, which we then use to choose the font.
-
+
Patch from Jonathan Kew.
configure.ac | 2 +-
- src/hb-uniscribe.cc | 136
- ++++++++++++++++++++++++++++++++++++++++++++--------
+ src/hb-uniscribe.cc | 136 ++++++++++++++++++++++++++++++++++++++++++++--------
2 files changed, 116 insertions(+), 22 deletions(-)
commit 8751de50831338ce550601c34c17d152ad89c1fd
@@ -65615,15 +64345,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 18 16:29:50 2013 -0400
Followup fix for 3f9e2dced298c3d00f31b2dfc38685bb071a3a22
-
+
During GSUB, if a ligation happens, subsequence context input matching
matches the new indexing. During GPOS however, the indices never
change. So just go one by one.
-
+
Fixes 'dist' positioning with mmrtext.ttf and the following sequence:
-
+
U+1014,U+1039,U+1011,U+1014,U+1039,U+1011,U+1014,U+1039,U+1011
-
+
Reported by Jonathan Kew.
src/hb-ot-layout-gsubgpos-private.hh | 8 ++++++++
@@ -65644,7 +64374,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 11 14:56:45 2013 -0400
[ft] hb_ft_get_glyph_from_name fails for the name of glyph id 0
-
+
Based on patch from Jonathan Kew, as reported on the mailing list.
src/hb-ft.cc | 9 +++++++++
@@ -65655,31 +64385,30 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 8 08:37:15 2013 -0600
[uniscribe] Fix buffer allocation
-
+
Email from Jonathan Kew:
-
+
My cygwin build kept aborting on certain test words when run with the
- uniscribe backend. Turned out this was caused by a bug in the
- allocation
+ uniscribe backend. Turned out this was caused by a bug in the allocation
of scratch buffers in hb-uniscribe.cc.
-
+
Commit 2a17f9568d9724e045d2c1d660e007f3acd747d9 introduced a new line
-
+
ALLOCATE_ARRAY (SCRIPT_VISATTR, vis_attr, glyphs_size);
-
+
but it failed to account for this in the computation of glyphs_size
(the number of glyphs for which scratch buffer space is available),
with the result that the vis_clusters array ends up overrunning the
end of the scratch buffer and clobbering the beginning of the buffer's
info[].
-
+
AFAICS, the vis_attr array is not actually used, so the simple fix is
to remove the line that allocates it. (If/when we -do- need to use
vis_attr for something, we'll need to add another term to the earlier
calculation of glyphs_size.)
-
+
With this patch, the uniscribe backend runs reliably again.
-
+
JK
src/hb-uniscribe.cc | 1 -
@@ -65690,7 +64419,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jun 26 20:57:58 2013 -0400
[Indic] Add Javanese config
-
+
We should add for other scripts too, send me the virama codepoint
and script name...
@@ -65702,7 +64431,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jun 26 20:14:18 2013 -0400
[OT] Collect requiredFeature only if features are not provided
-
+
As per Werner's report on the list.
src/hb-ot-layout.cc | 22 +++++++++++-----------
@@ -65713,7 +64442,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jun 26 19:46:55 2013 -0400
Fix contextual lookup recursion indexing
-
+
See email thread "Skipping Control for Attaching Marks using OpenType"
from earlier this month.
@@ -65726,7 +64455,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jun 22 08:04:05 2013 -0700
Merge pull request #3 from LogosBible/master
-
+
Destroy lookups before blobs.
commit 89312b7417c0198a0635ca6b7e8ea11f6af2a4f8
@@ -65734,9 +64463,8 @@ Author: Bradley Grainger <bgrainger@gmail.com>
Date: Fri Jun 21 15:02:18 2013 -0700
Destroy lookups before blobs.
-
- 'layout->gsub' may depend on data owned by 'layout->gsub_blob',
- so it must
+
+ 'layout->gsub' may depend on data owned by 'layout->gsub_blob', so it must
be deinitialized before the blob is destroyed.
src/hb-ot-layout.cc | 8 ++++----
@@ -65747,17 +64475,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jun 13 19:01:07 2013 -0400
If variation selector is not consumed by cmap, pass it on to GSUB
-
+
This changes the semantics of get_glyph() callback and expect that
callbacks return false if the requested variant is not available, and
then we will call them back with variation_selector=0 and will retain
the glyph for the selector in the glyph stream.
-
+
Apparently most Mongolian fonts implement the Mongolian Variation
Selectors using GSUB, not cmap.
-
+
https://bugs.freedesktop.org/show_bug.cgi?id=65258
-
+
Note that this doesn't fix the Mongolian shaping yet, because the way
that's implemented is that the, say, 'init' feature ligates the letter
and the variation-selector. However, since currently the variation
@@ -65781,7 +64509,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jun 10 14:39:51 2013 -0400
Fix misc warnings reported by cppcheck
-
+
https://bugs.freedesktop.org/show_bug.cgi?id=65544
src/hb-common.cc | 2 +-
@@ -65802,9 +64530,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jun 10 13:56:51 2013 -0400
Fix PKG_CHECK_MODULES usage
-
+
Oops.
-
+
Bug 65246 - Fix build without graphite2
configure.ac | 2 +-
@@ -65815,9 +64543,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jun 6 18:57:15 2013 -0400
Fix PKG_CHECK_MODULES usage
-
+
Bug 65246 - Fix build without graphite2
-
+
If we don't provide ACTION-IF-NOT-FOUND, configure aborts if it can't
find the libraries. We handle that ourselves so we don't want the
macro to abort.
@@ -65839,7 +64567,7 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Mon Jun 3 17:55:29 2013 +0800
util/ansi-print.cc: Use fallback implementation for lround on MSVC
-
+
Unfortuately Visual Studio (still) does not support the C99 function
lround, so provide a fallback implementation for it.
@@ -65869,7 +64597,7 @@ Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date: Mon Jun 3 17:49:37 2013 +0800
hb-uniscribe.cc: Re-enable build under Visual Studio
-
+
-Declare hinstLib at the top of block
-Fix the definitions of the typedefs of ScriptItemizeOpenType,
ScriptShapeOpenType and ScriptPlaceOpenType
@@ -65937,7 +64665,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 28 17:18:30 2013 -0400
Generate harfbuzz-icu.pc
-
+
Currently it only works with ICU that has .pc files. I'll
wait till someone complains before fixing it for icu-config
systems.
@@ -65975,12 +64703,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 28 13:10:51 2013 -0400
Bug 55494 - ScriptItemizeOpenType doesn't exists under Windows XP
-
+
Fallback to older API if OpenType variants are not available.
configure.ac | 14 +--
- src/hb-uniscribe.cc | 322
- +++++++++++++++++++++++++++++++++++++++++++---------
+ src/hb-uniscribe.cc | 322 +++++++++++++++++++++++++++++++++++++++++++---------
2 files changed, 271 insertions(+), 65 deletions(-)
commit f8087ffbadc83a15d59367ba82976eae675736a7
@@ -65997,7 +64724,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 27 19:33:36 2013 -0400
Add --with-freetype
-
+
Defaults to auto.
configure.ac | 12 +++++++++++-
@@ -66017,7 +64744,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 27 19:29:09 2013 -0400
Add --with-coretext
-
+
Defaults to no.
configure.ac | 12 +++++++++++-
@@ -66028,7 +64755,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 27 19:27:43 2013 -0400
Add --with-uniscribe
-
+
Defaults to no.
configure.ac | 55 +++++++++++++++++++++++++++++++++++++++----------------
@@ -66039,7 +64766,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 27 19:10:33 2013 -0400
Disable UCDN if glib is available
-
+
We only want UCDN if we don't have any other Unicode provider.
I'm going to remove ICU from the list of default Unicode providers
as part of moving hb-icu into its own library. As such, the only
@@ -66062,7 +64789,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 27 19:06:50 2013 -0400
Disable icu_le shaper
-
+
Will add a way to enable it later.
configure.ac | 3 ++-
@@ -66073,7 +64800,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 27 19:05:23 2013 -0400
Remove icu-config fallback for icu_le shaper
-
+
Bug 64878 - compile error with ICU but not ICU
configure.ac | 18 ------------------
@@ -66093,7 +64820,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 27 18:54:30 2013 -0400
Disable hb-old shaper
-
+
Will add proper way to enable it later.
configure.ac | 2 +-
@@ -66104,7 +64831,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 27 18:47:58 2013 -0400
Bug 65054 - Add configure option to enable/disable Graphite2
-
+
Add --with-graphite2. Defaults to off.
configure.ac | 20 +++++++++++++++-----
@@ -66124,13 +64851,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 27 14:48:34 2013 -0400
Don't zero advance of mark-non-mark ligatures
-
+
If there's a mark ligating forward with non-mark, they were
inheriting the GC of the mark and later get advance-zeroed.
Don't do that if there's any non-mark glyph in the ligature.
-
+
Sample test: U+1780,U+17D2,U+179F with Kh-Metal-Chrieng.ttf
-
+
Also:
Bug 58922 - Issue with mark advance zeroing in generic shaper
@@ -66168,7 +64895,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 23 15:43:02 2013 -0400
[icu_le] Fix scaling
-
+
Seems to work...
src/hb-icu-le.cc | 2 ++
@@ -66201,8 +64928,7 @@ Date: Mon May 20 09:18:52 2013 -0400
Minor refactoring
- src/hb-ot-shape.cc | 54
- ++++++++++++++++++++++++++++--------------------------
+ src/hb-ot-shape.cc | 54 ++++++++++++++++++++++++++++--------------------------
1 file changed, 28 insertions(+), 26 deletions(-)
commit 127daf15e0b2f509ebd29a104236c8b38884efb0
@@ -66210,7 +64936,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 20 09:11:35 2013 -0400
Arabic mark width-zeroing regression
-
+
Mozilla Bug 873902 - Display Arabic text with diacritics is bad
https://bugzilla.mozilla.org/show_bug.cgi?id=873902
@@ -66219,8 +64945,7 @@ Date: Mon May 20 09:11:35 2013 -0400
src/hb-ot-shape-complex-myanmar.cc | 2 +-
src/hb-ot-shape-complex-private.hh | 6 ++++--
src/hb-ot-shape-complex-thai.cc | 2 +-
- src/hb-ot-shape.cc | 36
- ++++++++++++++++++++++++++++--------
+ src/hb-ot-shape.cc | 36 ++++++++++++++++++++++++++++--------
6 files changed, 36 insertions(+), 14 deletions(-)
commit fa3d0a0ce60a9fcf2b7f906dec916463b1319eda
@@ -66228,7 +64953,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 14 15:30:55 2013 -0400
Bug 64476 - Typo in hb_set_t.get_min()
-
+
Fixes previous commit's test.
src/hb-set-private.hh | 2 +-
@@ -66239,9 +64964,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 14 15:30:17 2013 -0400
[test] Add test for hb_set_get_min() bug
-
+
Failing now.
-
+
Bug 64476 - Typo in hb_set_t.get_min()
test/api/test-set.c | 4 ++++
@@ -66264,8 +64989,7 @@ Date: Fri May 3 17:49:44 2013 -0400
src/hb-ot-layout-gpos-table.hh | 25 ---------------
src/hb-ot-layout-gsub-table.hh | 48 ----------------------------
- src/hb-ot-layout.cc | 72
- ++++++++++++++++++++++++++++++++++++++++--
+ src/hb-ot-layout.cc | 72 ++++++++++++++++++++++++++++++++++++++++--
3 files changed, 69 insertions(+), 76 deletions(-)
commit e015b8f2187d1102b9c34d1a63504e7b05ee20ee
@@ -66296,8 +65020,7 @@ Date: Wed Apr 24 16:42:05 2013 -0400
src/hb-ot-layout-gpos-table.hh | 8 +-
src/hb-ot-layout-gsub-table.hh | 58 ++++++++++++-
- src/hb-ot-layout-gsubgpos-private.hh | 158
- +++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout-gsubgpos-private.hh | 158 +++++++++++++++++++++++++++++++++++
3 files changed, 222 insertions(+), 2 deletions(-)
commit bac1dd6a0ff4d4fae4254506d38ae662b7e9dda7
@@ -66308,8 +65031,7 @@ Date: Thu May 2 18:52:24 2013 -0400
src/hb-ot-layout-gsubgpos-private.hh | 10 +--
src/hb-ot-layout-private.hh | 26 ++++----
- src/hb-ot-layout.cc | 100
- ++++++++++++++---------------
+ src/hb-ot-layout.cc | 100 ++++++++++++++---------------
src/hb-ot-map-private.hh | 7 +-
src/hb-ot-shape-complex-arabic-fallback.hh | 7 +-
src/hb-ot-shape-fallback.cc | 3 +-
@@ -66321,8 +65043,7 @@ Date: Thu May 2 18:18:24 2013 -0400
Move code around
- src/hb-ot-layout.cc | 52
- ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout.cc | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-map.cc | 43 -------------------------------------------
2 files changed, 52 insertions(+), 43 deletions(-)
@@ -66333,8 +65054,7 @@ Date: Thu May 2 18:06:51 2013 -0400
[OTLayout] Add hb_ot_layout_lookup_accelerator_t
src/hb-ot-layout-private.hh | 21 +++++++++++++++++--
- src/hb-ot-layout.cc | 33
- +++++++++++++++---------------
+ src/hb-ot-layout.cc | 33 +++++++++++++++---------------
src/hb-ot-shape-complex-arabic-fallback.hh | 10 +++++----
3 files changed, 41 insertions(+), 23 deletions(-)
@@ -66371,8 +65091,7 @@ Date: Thu May 2 15:27:53 2013 -0400
[OTLayout] Whitespace
- src/hb-ot-layout-gsub-table.hh | 56
- +++++++++++++++++++++---------------------
+ src/hb-ot-layout-gsub-table.hh | 56 +++++++++++++++++++++---------------------
1 file changed, 28 insertions(+), 28 deletions(-)
commit 3276c354daaff3acabecff11f8e4b5c54d53fc25
@@ -66382,8 +65101,7 @@ Date: Thu May 2 15:16:59 2013 -0400
[OTLayout] Minor refactoring
src/hb-ot-map-private.hh | 4 ++++
- src/hb-ot-map.cc | 46
- +++++++++++++++++++++++++---------------------
+ src/hb-ot-map.cc | 46 +++++++++++++++++++++++++---------------------
2 files changed, 29 insertions(+), 21 deletions(-)
commit ea86efa486a5076e9bf844239bccf86d67577f88
@@ -66429,7 +65147,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Apr 30 11:34:00 2013 -0400
Renamed DEBUG to something else
-
+
Some infrastructures use DEBUG as a generic symbol.
src/hb-buffer.cc | 6 +++---
@@ -66441,11 +65159,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 29 13:48:49 2013 -0400
Fix icu linking by requesting the library searchpath from icu-config
-
+
This is not ideal as we don't like -L/usr/lib in our linker line.
But this is only relevant to environments that don't have pkgconfig
files for ICU...
-
+
https://github.com/behdad/harfbuzz/pull/2
configure.ac | 4 ++--
@@ -66456,9 +65174,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 29 13:40:52 2013 -0400
Make both old autoconf and new automake happy
-
+
Sigh..
-
+
Bug 64039 - undefined macro AM_PROG_AR
configure.ac | 2 +-
@@ -66488,7 +65206,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Apr 21 15:19:38 2013 -0400
Rename "pause" to "stage"
-
+
The compile() function is starting to become illegible...
src/hb-ot-map-private.hh | 24 ++++++++++++------------
@@ -66509,9 +65227,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Apr 21 15:13:08 2013 -0400
Remove unneeded code
-
- We always push a pause at the end such that each lookup falls
- in exactly
+
+ We always push a pause at the end such that each lookup falls in exactly
one pause_map_t. Now, only if I can find a better name for that...
src/hb-ot-map-private.hh | 2 +-
@@ -66533,7 +65250,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Apr 19 14:33:17 2013 -0400
Hand-code bsearch in the hot inner loop.
-
+
Saves another 3 / 4 percent with Amiri.
src/hb-open-type-private.hh | 29 +++++++++++++++--------------
@@ -66562,7 +65279,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 17 23:04:03 2013 -0400
Obssesive optimization
-
+
Not measurable by any means, but conceptually this is faster since
the mask matches more often than the digest.
@@ -66575,7 +65292,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 17 19:01:49 2013 -0400
Remove HB_DEBUG_SET_DIGESTS
-
+
Wasn't correct with the new combiner. I should add it back somehow,
but for now the digests seem to be working very well...
@@ -66588,7 +65305,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 17 18:20:44 2013 -0400
Remove hb_set_digest_common_bits_t
-
+
Was unused.
src/hb-set-private.hh | 38 --------------------------------------
@@ -66599,7 +65316,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 17 18:19:21 2013 -0400
Improve hb_set_digest_t
-
+
Make Amiri rendering faster a whopping 45% again! Speends up pretty
much anything I tested.
@@ -66638,7 +65355,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Apr 16 23:13:10 2013 -0400
Speed up Speed up hb_set_digest_common_bits_t calcs
-
+
Correctly this time.
src/hb-set-private.hh | 8 +++++---
@@ -66649,11 +65366,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Apr 16 21:50:33 2013 -0400
Initialize set digests
-
- We were not initializing the digests properly and as a result
- they were
+
+ We were not initializing the digests properly and as a result they were
being initialized to zero, making digest1 to never do any useful work.
-
+
Speeds up Amiri shaping significantly.
src/hb-ot-layout.cc | 6 ++++++
@@ -66675,9 +65391,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Apr 16 21:47:40 2013 -0400
Revert "Speed up hb_set_digest_common_bits_t calcs"
-
+
This reverts commit 3d1b66a35e1ab3be19335705f310b278d76d66d2.
-
+
The calculations were buggy. It's not worth optimizing right now.
src/hb-set-private.hh | 6 +++---
@@ -66697,7 +65413,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 11 16:31:01 2013 -0400
[util] Add --num-iterations
-
+
Useful for profiling shapers.
util/options.cc | 1 +
@@ -66710,12 +65426,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 11 14:45:58 2013 -0400
[old] Speed up Unicode properties access in hb-old shaper
-
+
Just to be sure it's not punishing the old shaper performance
numbers. Doesn't seem to have a measurable effect.
- src/hb-old/harfbuzz-arabic.c | 44
- +++++++++++++++++++++---------------------
+ src/hb-old/harfbuzz-arabic.c | 44 +++++++++++++++++++++---------------------
src/hb-old/harfbuzz-external.h | 18 ++++++++---------
src/hb-old/harfbuzz-greek.c | 2 +-
src/hb-old/harfbuzz-hebrew.c | 2 +-
@@ -66775,7 +65490,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 4 23:06:54 2013 -0400
Don't compose Hangul jamo
-
+
See thread "an issue regarding discrepancy between Korean and Unicode
standards" on the mailing list for the rationale. In short: Uniscribe
doesn't, so fonts are designed to work without it.
@@ -66790,7 +65505,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 4 15:02:03 2013 -0400
Put back MemoryBarrier fallback implementation on MINGW32
-
+
This almost reverts 2761e8a632c14353f286708898be8df6ebad7407,
but only if under MINGW32, so it doesn't affect MSVC.
@@ -66802,27 +65517,26 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 4 14:25:36 2013 -0400
[Arabic] Zero marks by GDEF, not Unicode category
-
+
Testing shows that this is closer to what Uniscribe does.
-
+
Reported by Khaled Hosny:
-
+
"""
commit 568000274c8edb5f41bc4f876ce21fcc8bdaeed8
...
- This commit is causing a regression with Amiri, the string
- “هَٰذ” with
+ This commit is causing a regression with Amiri, the string “هَٰذ” with
Uniscribe and HarfBuzz before this commit, gives:
-
+
[uni0630.fina=3+965|uni0670.medi=0+600|uni064E=0@-256,0+0|uni0647.init=0+926]
-
+
But now it gives:
-
+
[uni0630.fina=3+965|uni0670.medi=0+0|uni064E=0@-256,0+0|uni0647.init=0+926]
-
+
i.e. uni0670.medi is zeroed though it has a base glyph GDEF class.
"""
-
+
The test case is U+0647,U+064E,U+0670,U+0630 with Amiri.
src/hb-ot-shape-complex-arabic.cc | 2 +-
@@ -66832,8 +65546,7 @@ commit 3b80674c50b8c3133848a4034f7106b2b9bfe224
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 4 12:06:46 2013 -0400
- Bug 63107 - FTBFS on ppc64: symbols marked with 'D' on powerpc64
- instead
+ Bug 63107 - FTBFS on ppc64: symbols marked with 'D' on powerpc64 instead
src/check-symbols.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -66843,7 +65556,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Apr 2 14:08:53 2013 -0400
[graphite2] Don't crash if language is not set
-
+
https://bugs.webkit.org/show_bug.cgi?id=113796
src/hb-graphite2.cc | 2 +-
@@ -66863,7 +65576,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Mar 21 16:26:39 2013 -0400
Remove gthread leftovers
-
+
We don't use gthread anymore, remove leftovers.
configure.ac | 6 ------
@@ -66895,11 +65608,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Mar 19 06:59:40 2013 -0400
Remove Hangul filler characters from Default_Ignorable chars
-
+
See discussion on mailing list.
- src/hb-unicode-private.hh |
- 10 +++++++---
+ src/hb-unicode-private.hh | 10 +++++++---
.../texts/in-tree/shaper-default/script-hangul/misc/misc.txt | 1 +
2 files changed, 8 insertions(+), 3 deletions(-)
@@ -66908,34 +65620,33 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Mar 19 05:53:26 2013 -0400
[Indic] Futher adjust ZWJ handling in Indic-like shapers
-
+
After the Ngapi hackfest work, we were assuming that fonts
won't use presentation features to choose specific forms
(eg. conjuncts). As such, we were using auto-joiner behavior
for such features. It proved to be troublesome as many fonts
used presentation forms ('pres') for example to form conjuncts,
which need to be disabled when a ZWJ is inserted.
-
+
Two examples:
-
+
U+0D2F,U+200D,U+0D4D,U+0D2F with kartika.ttf
U+0995,U+09CD,U+200D,U+09B7 with vrinda.ttf
-
+
What we do now is to never do magic to ZWJ during GSUB's main input
- match for Indic-style shapers. Note that backtrack/lookahead
- are still
+ match for Indic-style shapers. Note that backtrack/lookahead are still
matched liberally, as is GPOS. This seems to be an acceptable
compromise.
-
+
As to the bug that initially started this work, that one needs to
be fixed differently:
-
+
Bug 58714 - Kannada u+0cb0 u+200d u+0ccd u+0c95 u+0cbe does not
provide same results as Windows8
https://bugs.freedesktop.org/show_bug.cgi?id=58714
-
+
New numbers:
-
+
BENGALI: 353689 out of 354188 tests passed. 499 failed (0.140886%)
DEVANAGARI: 707305 out of 707394 tests passed. 89 failed (0.0125814%)
GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%)
@@ -66943,23 +65654,20 @@ Date: Tue Mar 19 05:53:26 2013 -0400
KANNADA: 951030 out of 951913 tests passed. 883 failed (0.0927606%)
KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%)
LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
- MALAYALAM: 1048102 out of 1048334 tests passed. 232 failed
- (0.0221304%)
+ MALAYALAM: 1048102 out of 1048334 tests passed. 232 failed (0.0221304%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271666 out of 271847 tests passed. 181 failed (0.0665816%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%)
- src/hb-ot-layout-gsubgpos-private.hh | 30
- ++++++++--------------
+ src/hb-ot-layout-gsubgpos-private.hh | 30 ++++++++--------------
src/hb-ot-layout-private.hh | 4 +--
src/hb-ot-layout.cc | 8 +++---
src/hb-ot-map-private.hh | 8 +++---
src/hb-ot-map.cc | 18 ++++++-------
src/hb-ot-shape-complex-arabic-fallback.hh | 2 +-
- src/hb-ot-shape-complex-indic.cc | 30
- +++++++++++-----------
+ src/hb-ot-shape-complex-indic.cc | 30 +++++++++++-----------
src/hb-ot-shape-complex-myanmar.cc | 4 +--
src/hb-ot-shape-complex-sea.cc | 4 +--
src/hb-ot-shape-fallback.cc | 2 +-
@@ -66990,10 +65698,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Mar 11 19:53:44 2013 -0400
Add build system fallback to icu-config
-
+
Ubuntu doesn't (or didn't until recently?) ship icu pkg-config
files. That's quite unfortunate. Work around it.
-
+
Bug 57608 - ICU Detection fallback for non-pkgconfig systems
configure.ac | 37 +++++++++++++++++++++++++++++++++++++
@@ -67013,27 +65721,26 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Mar 9 20:27:55 2013 -0500
[ft] Remove TODO item re FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH
-
+
That flag is redundant, deprecated, and ignored since April 2011.
From FreeType git log:
-
+
commit 8c82ec5b17d0cfc9b0876a2d848acc207a62a25a
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 21 08:21:37 2011 +0200
-
+
Always ignore global advance.
-
+
This makes FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH redundant,
- deprecated, and ignored. The new behavior is what every
- major user
+ deprecated, and ignored. The new behavior is what every major user
of FreeType has been requesting. Global advance is broken in many
CJK fonts. Just ignoring it by default makes most sense.
-
+
* src/truetype/ttdriver.c (tt_get_advances),
src/truetype/ttgload.c (TT_Get_HMetrics, TT_Get_VMetrics,
tt_get_metrics, compute_glyph_metrics, TT_Load_Glyph),
src/truetype/ttgload.h: Implement it.
-
+
* docs/CHANGES: Updated.
src/hb-ft.cc | 2 --
@@ -67055,8 +65762,7 @@ Date: Sat Mar 9 01:59:30 2013 -0500
[OTLayout] Move code around
src/hb-ot-layout-gpos-table.hh | 33 ++++++------
- src/hb-ot-layout-gsub-table.hh | 115
- +++++++++++++++++++++--------------------
+ src/hb-ot-layout-gsub-table.hh | 115 +++++++++++++++++++++--------------------
2 files changed, 75 insertions(+), 73 deletions(-)
commit 9c5a9ee967120c8a968a1160c420e03620d46c24
@@ -67066,10 +65772,8 @@ Date: Sat Mar 9 01:55:04 2013 -0500
[OTLayout] Rename process() to dispatch()
src/hb-open-type-private.hh | 2 +-
- src/hb-ot-layout-gpos-table.hh | 80
- ++++++++++++++++++------------------
- src/hb-ot-layout-gsub-table.hh | 78
- +++++++++++++++++------------------
+ src/hb-ot-layout-gpos-table.hh | 80 ++++++++++++++++++------------------
+ src/hb-ot-layout-gsub-table.hh | 78 +++++++++++++++++------------------
src/hb-ot-layout-gsubgpos-private.hh | 36 ++++++++--------
4 files changed, 98 insertions(+), 98 deletions(-)
@@ -67078,7 +65782,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Mar 7 20:51:30 2013 -0500
[win32] Remove MemoryBarrier() fallback implementation
-
+
I added these because the older mingw32 toolchain didn't have
MemoryBarrier(). The newer mingw-w64 toolchain however has.
As reported by John Emmas this was causing build failure with
@@ -67113,7 +65817,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Mar 6 20:05:34 2013 -0500
[build] Add AM_PROG_AR
-
+
Newer automake / libtools warns otherwise.
configure.ac | 1 +
@@ -67124,7 +65828,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Mar 6 19:37:31 2013 -0500
[FT] Just return if glyph name not found
-
+
The fallback happens in higher level already. No need to do here.
src/hb-ft.cc | 4 ++--
@@ -67144,19 +65848,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Mar 5 20:08:59 2013 -0500
[Indic] Work around fonts with broken new-spec tables
-
+
See comments, and this thread:
-
+
http://lists.freedesktop.org/archives/harfbuzz/2013-March/002990.html
-
+
Originally reported here:
-
+
https://code.google.com/p/chromium/issues/detail?id=96143
-
+
Doesn't change test suite numbers.
- src/hb-ot-shape-complex-indic.cc | 42
- +++++++++++++++++++++++++++-------------
+ src/hb-ot-shape-complex-indic.cc | 42 +++++++++++++++++++++++++++-------------
1 file changed, 29 insertions(+), 13 deletions(-)
commit dfb799f57572e8123035a42a30f93c7fc4d37692
@@ -67182,7 +65885,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Mar 5 01:37:44 2013 -0500
Add .travis.yml for continuous building with travis-ci.org
-
+
Notifications sent to IRC channel and mailing list.
.travis.yml | 12 ++++++++++++
@@ -67202,13 +65905,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Mar 4 20:56:15 2013 -0500
[git.mk] Update to commit efc928222179576270c5910416d8055dd7a97896
-
+
Move reusable list of files into variable definitions modules can
reuse
Makefile.am | 22 ++++------------------
- git.mk | 59
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
+ git.mk | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
2 files changed, 60 insertions(+), 21 deletions(-)
commit 66f7b3509a121b8f3289ad4c4aed2b5b10a6de2e
@@ -67225,7 +65927,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 27 20:40:54 2013 -0500
[Indic] Help compiler put indic_features table in .rodata
-
+
The overridden "or" operator was preventing the flag expression from
being const, and putting the table in .data instead or .rodata.
@@ -67248,12 +65950,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 27 18:39:37 2013 -0500
[buffer] Implement buffer deserialization for format=json
-
+
Using a ragel machine.
src/Makefile.am | 2 +
- src/hb-buffer-deserialize-json.rl | 129
- ++++++++++++++++++++++++++++++++++++++
+ src/hb-buffer-deserialize-json.rl | 129 ++++++++++++++++++++++++++++++++++++++
src/hb-buffer-deserialize-text.rl | 52 +--------------
src/hb-buffer-serialize.cc | 45 +++++++++++--
src/hb-private.hh | 6 +-
@@ -67266,12 +65967,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 27 17:59:28 2013 -0500
[buffer] Implement buffer deserialization for format=text
-
+
Using a ragel machine.
src/Makefile.am | 2 +
- src/hb-buffer-deserialize-text.rl | 169
- ++++++++++++++++++++++++++++++++++++++
+ src/hb-buffer-deserialize-text.rl | 169 ++++++++++++++++++++++++++++++++++++++
src/hb-buffer-private.hh | 3 +-
src/hb-buffer-serialize.cc | 36 +++-----
src/hb-buffer.cc | 13 ++-
@@ -67299,8 +65999,7 @@ Date: Wed Feb 27 13:01:02 2013 -0500
src/Makefile.am | 12 ++++-
src/hb-buffer-serialize.cc | 64 ++++++++++++++++++++++--
src/hb-buffer.h | 2 +-
- src/test-buffer-serialize.cc | 114
- +++++++++++++++++++++++++++++++++++++++++++
+ src/test-buffer-serialize.cc | 114 +++++++++++++++++++++++++++++++++++++++++++
4 files changed, 187 insertions(+), 5 deletions(-)
commit bcc8f32b4c46cd73f591924c64a6f63df6eaf9e7
@@ -67321,8 +66020,7 @@ Date: Wed Feb 27 11:06:36 2013 -0500
Android.mk | 1 +
src/Makefile.am | 1 +
- src/hb-buffer-serialize.cc | 251
- +++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-buffer-serialize.cc | 251 +++++++++++++++++++++++++++++++++++++++++++++
src/hb-buffer.cc | 228 ----------------------------------------
4 files changed, 253 insertions(+), 228 deletions(-)
@@ -67340,7 +66038,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 26 21:22:37 2013 -0500
[Indic] Sort pre-base reordering consonants with post-forms
-
+
Before, we were marking them as below-form for initial reordering.
However, there is a rule that says "post consonants should follow
below consonsnts" for base determination purposes. Malayalam has
@@ -67348,12 +66046,12 @@ Date: Tue Feb 26 21:22:37 2013 -0500
YA,Virama,YA,Virama,RA, the correct base is at index 0. But
because the code was seeing RA as a below-base, it was stopping at
the second YA as base, instead of jumping it as a post-base.
-
+
By treating prebase-reordering consonants like post-forms, this
is fixed.
-
+
MALAYALAM went down from 351 to 265. Other numbers didn't change:
-
+
BENGALI: 353686 out of 354188 tests passed. 502 failed (0.141733%)
DEVANAGARI: 707305 out of 707394 tests passed. 89 failed (0.0125814%)
GUJARATI: 366262 out of 366457 tests passed. 195 failed (0.0532122%)
@@ -67361,8 +66059,7 @@ Date: Tue Feb 26 21:22:37 2013 -0500
KANNADA: 950680 out of 951913 tests passed. 1233 failed (0.129529%)
KHMER: 299074 out of 299124 tests passed. 50 failed (0.0167155%)
LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
- MALAYALAM: 1048069 out of 1048334 tests passed. 265 failed
- (0.0252782%)
+ MALAYALAM: 1048069 out of 1048334 tests passed. 265 failed (0.0252782%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271539 out of 271847 tests passed. 308 failed (0.113299%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
@@ -67379,8 +66076,7 @@ Date: Tue Feb 26 19:35:50 2013 -0500
[tests] Add Malayalam tests frim cibu
.../indic/script-malayalam/misc/MANIFEST | 1 +
- .../indic/script-malayalam/misc/cibu.txt | 188
- +++++++++++++++++++++
+ .../indic/script-malayalam/misc/cibu.txt | 188 +++++++++++++++++++++
2 files changed, 189 insertions(+)
commit 1edc6b97b67363d55cfb5914c991ae54d42a6440
@@ -67397,7 +66093,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Feb 25 23:57:51 2013 -0500
Fix "comparison between signed and unsigned" warnings
-
+
Patch from Jonathan Kew.
src/hb-open-type-private.hh | 2 +-
@@ -67408,14 +66104,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Feb 25 19:09:57 2013 -0500
Give up sanitizing after 100 edit requests
-
+
Such fonts are *definitely* really broken. Give up.
Limits time spent in sanitize for extremely / deliberately broken
fonts. For example, two fonts with these md5sum / names:
-
+
9343f0a1b8c84b8123e7d201cae62ffd.ttf
eb8c978547f09d368fc204194fb34688.ttf
-
+
were spending over a second in sanitize! Not anymore.
src/hb-open-type-private.hh | 7 +++++++
@@ -67426,7 +66122,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Feb 25 19:04:56 2013 -0500
Add HB_DEBUG_VERBOSE
-
+
Only affects the verbosity of function name printing right now.
src/hb-private.hh | 6 +++++-
@@ -67448,8 +66144,7 @@ Date: Mon Feb 25 17:54:10 2013 -0500
Fix blob test to match c3ba49b6fa1865e8318926eaa6c0f2063d1053bb
- test/api/test-blob.c | 57
- ++++++++++++++++++++++++++++++++++++++++++++++------
+ test/api/test-blob.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++------
1 file changed, 51 insertions(+), 6 deletions(-)
commit c3ba49b6fa1865e8318926eaa6c0f2063d1053bb
@@ -67457,7 +66152,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Feb 25 17:06:35 2013 -0500
Always create sub-blobs in MEMORY_MODE_READONLY
-
+
This fixes a design bug with sanitize and sub-blobs that can
cause crashes. Jonathan and I found and debugged this issue
when we tested a corrupt font with the md5sum / filename:
@@ -67465,12 +66160,12 @@ Date: Mon Feb 25 17:06:35 2013 -0500
debugging we found out that the font has overlapping GSUB/GPOS
tables, and as such, sanitizing the second table can modify
the first one, which can cause all kinds of undefined behavior.
-
+
The correct way to fix this is to make sure sub-blobs are
always created readonly, since we consider the parent blob
to be a shared resource and can't modify it, even if it *is*
writable.
-
+
This essentially makes the READONLY_MAY_MAKE_WRITABLE mode
unused... Maybe we should simply remove / deprecate it.
@@ -67492,13 +66187,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 21 15:39:57 2013 -0500
Port TrueType-kerning to use skippy iterator
-
- It skips joiners and default ignorables now. Skips marks too,
- but only
+
+ It skips joiners and default ignorables now. Skips marks too, but only
if there is proper GDEF classes for marks.
- src/hb-ot-shape-fallback.cc | 50
- +++++++++++++++++++++++++--------------------
+ src/hb-ot-shape-fallback.cc | 50 +++++++++++++++++++++++++--------------------
1 file changed, 28 insertions(+), 22 deletions(-)
commit 722e8b857eafc52e07dee5d9b253b88ed5c5c8ed
@@ -67506,7 +66199,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 21 15:37:51 2013 -0500
Fixup previous commit
-
+
Was not decreasing num_items. Ouch!
src/hb-ot-layout-gsubgpos-private.hh | 12 ++++++++----
@@ -67519,10 +66212,8 @@ Date: Thu Feb 21 15:23:39 2013 -0500
Move code around
src/hb-ot-shape-fallback-private.hh | 5 +++++
- src/hb-ot-shape-fallback.cc | 40
- +++++++++++++++++++++++++++++++++++++
- src/hb-ot-shape.cc | 38
- +----------------------------------
+ src/hb-ot-shape-fallback.cc | 40 +++++++++++++++++++++++++++++++++++++
+ src/hb-ot-shape.cc | 38 +----------------------------------
3 files changed, 46 insertions(+), 37 deletions(-)
commit 2b2a6e8944144755ab641f2842e36d9a847719f3
@@ -67530,12 +66221,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 21 15:07:03 2013 -0500
[OTLayout] Correctly skip Default_Ignorable when match_func not set
-
+
When a match_func was not set on the matcher_t object (ie. from GPOS),
then the Default_Ignorables (including joiners) were never skipped.
This meant that they were not skipped as they should during GPOS
matching. Fix that.
-
+
A few Indic numbers have "regressed": BENGALI and DEVANAGARI went
up from 290 and 58 respectively, but in both cases new results are
superior to Uniscribe, as they apply GPOS when we weren't (and
@@ -67547,16 +66238,14 @@ Date: Thu Feb 21 15:07:03 2013 -0500
KANNADA: 950680 out of 951913 tests passed. 1233 failed (0.129529%)
KHMER: 299074 out of 299124 tests passed. 50 failed (0.0167155%)
LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
- MALAYALAM: 1047983 out of 1048334 tests passed. 351 failed
- (0.0334817%)
+ MALAYALAM: 1047983 out of 1048334 tests passed. 351 failed (0.0334817%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271539 out of 271847 tests passed. 308 failed (0.113299%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%)
- src/hb-ot-layout-gsubgpos-private.hh | 32
- ++++++++++++++++++++++----------
+ src/hb-ot-layout-gsubgpos-private.hh | 32 ++++++++++++++++++++++----------
1 file changed, 22 insertions(+), 10 deletions(-)
commit ff93ac8cb24cbc3d9dc1a2bfb0faa88950f4a507
@@ -67575,8 +66264,7 @@ Date: Tue Feb 19 00:58:10 2013 -0500
[tests] Add Myanmar torture tests from Martin Hosken
.../shaper-myanmar/script-myanmar/misc/MANIFEST | 1 +
- .../shaper-myanmar/script-myanmar/misc/torture.txt | 23
- ++++++++++++++++++++++
+ .../shaper-myanmar/script-myanmar/misc/torture.txt | 23 ++++++++++++++++++++++
2 files changed, 24 insertions(+)
commit a3df9a7bf87aeba7a3d6110cd5e01a65bd0b16d0
@@ -67584,27 +66272,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 19 00:50:46 2013 -0500
Minor
-
+
Moving files around
- test/shaping/texts/in-tree/MANIFEST |
- 2 --
- test/shaping/texts/in-tree/shaper-default/MANIFEST |
- 2 ++
- .../in-tree/{script-default => shaper-default/script-hangul}/MANIFEST
- | 0
- .../{script-default => shaper-default/script-hangul}/misc/MANIFEST
- | 0
- .../{shaper-hangul => shaper-default}/script-hangul/misc/misc.txt
- | 0
- .../script-hangul => shaper-default/script-tibetan}/MANIFEST |
- 0
- .../script-hangul => shaper-default/script-tibetan}/misc/MANIFEST
- | 0
- .../{script-default => shaper-default/script-tibetan}/misc/misc.txt
- | 0
- test/shaping/texts/in-tree/shaper-hangul/MANIFEST |
- 1 -
+ test/shaping/texts/in-tree/MANIFEST | 2 --
+ test/shaping/texts/in-tree/shaper-default/MANIFEST | 2 ++
+ .../in-tree/{script-default => shaper-default/script-hangul}/MANIFEST | 0
+ .../{script-default => shaper-default/script-hangul}/misc/MANIFEST | 0
+ .../{shaper-hangul => shaper-default}/script-hangul/misc/misc.txt | 0
+ .../script-hangul => shaper-default/script-tibetan}/MANIFEST | 0
+ .../script-hangul => shaper-default/script-tibetan}/misc/MANIFEST | 0
+ .../{script-default => shaper-default/script-tibetan}/misc/misc.txt | 0
+ test/shaping/texts/in-tree/shaper-hangul/MANIFEST | 1 -
9 files changed, 2 insertions(+), 3 deletions(-)
commit b1f440759161cb5a54e1b1b910f3a8383b8e8472
@@ -67612,15 +66291,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Feb 17 12:12:37 2013 -0500
[SEA] Fix order of pre-base reordering Ra and left matras
-
+
The code was confused because it was expecting left matra to have
POS_PRE_M, like we do in the Myanmar shaper, but that is not what
we were doing in this shaper. Rewrite to rely on category only.
-
+
Test case: U+AA06,U+AA34,U+AA2F
- src/hb-ot-shape-complex-sea.cc | 13
- +++++++------
+ src/hb-ot-shape-complex-sea.cc | 13 +++++++------
.../texts/in-tree/shaper-sea/script-cham/misc/misc.txt | 1 +
2 files changed, 8 insertions(+), 6 deletions(-)
@@ -67647,7 +66325,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Feb 15 09:33:10 2013 -0500
Remove TODO items that don't make sense
-
+
The spec says those features need to be disabled by default.
TODO | 2 --
@@ -67658,14 +66336,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Feb 15 09:27:02 2013 -0500
[Arabic] Fix shaping of left-joining 'Phags-Pa U+A872
-
+
This is the first character in Unicode to have Arabic left-joining
behavior. Update the machine to recognize that.
-
+
Test case: U+A840,U+A872,U+A840.
- src/hb-ot-shape-complex-arabic.cc | 40
- +++++++++++++++++++--------------------
+ src/hb-ot-shape-complex-arabic.cc | 40 +++++++++++++++++++--------------------
1 file changed, 19 insertions(+), 21 deletions(-)
commit 05ac87813d17d9ebbfa315eee3f80f25b53135c5
@@ -67675,8 +66352,7 @@ Date: Fri Feb 15 09:26:41 2013 -0500
[tests] Add Syriac Alaph shaping test cases
.../shaper-arabic/script-syriac/misc/MANIFEST | 1 +
- .../shaper-arabic/script-syriac/misc/alaph.txt | 98
- ++++++++++++++++++++++
+ .../shaper-arabic/script-syriac/misc/alaph.txt | 98 ++++++++++++++++++++++
2 files changed, 99 insertions(+)
commit c462b32dcb883a7aca066af24c4d28c7a2b7fa28
@@ -67684,12 +66360,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Feb 15 07:51:47 2013 -0500
Disable automatic segment properties guessing
-
+
Before, if one called hb_shape() without setting script, language, and
direction on the buffer, hb_shape() was calling
hb_buffer_guess_segment_properties() on the user's behalf to guess
these.
-
+
This is very dangerous, since any serious user of HarfBuzz must set
these properly (specially important is direction). So now, we don't
guess properties by default. People not setting direction will get
@@ -67718,13 +66394,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Feb 15 07:41:07 2013 -0500
Allow disabling of TrueType kerning
-
+
Responds to the same feature tag that GPOS kerning does:
'kern' for horizontal and 'vkrn' for vertical.
TODO | 2 --
- src/hb-ot-shape.cc | 55
- ++++++++++++++++++++++++++++++++++--------------------
+ src/hb-ot-shape.cc | 55 ++++++++++++++++++++++++++++++++++--------------------
2 files changed, 35 insertions(+), 22 deletions(-)
commit 398238a2526d322eb79e255c24634a275473920f
@@ -67732,9 +66407,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Feb 15 07:40:10 2013 -0500
Fix partial disabling of default-on features
-
- Surprisingly, if user ever tried to turn a default feature off
- partially
+
+ Surprisingly, if user ever tried to turn a default feature off partially
(say, disable liga for a range), the feature was being turned off
globally! Fixed now.
@@ -67745,20 +66419,16 @@ commit cb90b1bbe6d27ca6968b70d2dbfea7ab7fb73293
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Feb 15 07:02:08 2013 -0500
- [OTLayout] Respect syllable boundaries for backtrack/lookahead
- matching
-
+ [OTLayout] Respect syllable boundaries for backtrack/lookahead matching
+
Originally we meant to match backtrack/lookahead across syllable
boundaries. But a bug in the code meant that this was NOT done for
- backtrack. We "fixed" that in
- 2c7d0b6b80d412de3fddd443ed1a485ea1cbb03c,
+ backtrack. We "fixed" that in 2c7d0b6b80d412de3fddd443ed1a485ea1cbb03c,
but that broke Myanmar shaping.
-
- We now believe that for Indic-like shapers (which is where syllables
- are
+
+ We now believe that for Indic-like shapers (which is where syllables are
used), all basic shaping forms should be fully contained within their
- syllables, so now we limit backtrack/lookahead matching to the
- syllable
+ syllables, so now we limit backtrack/lookahead matching to the syllable
too. Unbreaks Myanmar.
src/hb-ot-layout-gsubgpos-private.hh | 4 ++--
@@ -67770,10 +66440,8 @@ Date: Fri Feb 15 06:22:26 2013 -0500
Minor refactoring
- src/hb-ot-shape-complex-myanmar.cc | 36
- ++++++++++--------------------------
- src/hb-ot-shape-complex-sea.cc | 37
- ++++++++++---------------------------
+ src/hb-ot-shape-complex-myanmar.cc | 36 ++++++++++--------------------------
+ src/hb-ot-shape-complex-sea.cc | 37 ++++++++++---------------------------
src/hb-ot-shape.cc | 17 ++++++-----------
3 files changed, 26 insertions(+), 64 deletions(-)
@@ -67781,33 +66449,32 @@ commit cfc507c5432e6327e8484b07b9e091212653bc92
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 14 10:40:12 2013 -0500
- [Indic-like] Disable automatic joiner handling for basic shaping
- features
-
+ [Indic-like] Disable automatic joiner handling for basic shaping features
+
Not for Arabic, but for Indic-like scripts. ZWJ/ZWNJ have special
meanings in those scripts, so let font lookups take full control.
-
+
This undoes the regression caused by automatic-joiners handling
introduced two commits ago.
-
+
We only disable automatic joiner handling for the "basic shaping
features" of Indic, Myanmar, and SEAsian shapers. The "presentation
forms" and other features are still applied with automatic-joiner
handling.
-
+
This change also changes the test suite failure statistics, such that
a few scripts show more "failures". The most affected is Kannada.
However, upon inspection, we believe that in most, if not all, of the
new failures, we are producing results superior to Uniscribe. Hard to
count those!
-
+
Here's an example of what is fixed by the recent joiner-handling
changes:
-
+
https://bugs.freedesktop.org/show_bug.cgi?id=58714
-
+
New numbers, for future reference:
-
+
BENGALI: 353892 out of 354188 tests passed. 296 failed (0.0835714%)
DEVANAGARI: 707336 out of 707394 tests passed. 58 failed (0.00819911%)
GUJARATI: 366262 out of 366457 tests passed. 195 failed (0.0532122%)
@@ -67815,21 +66482,18 @@ Date: Thu Feb 14 10:40:12 2013 -0500
KANNADA: 950680 out of 951913 tests passed. 1233 failed (0.129529%)
KHMER: 299074 out of 299124 tests passed. 50 failed (0.0167155%)
LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
- MALAYALAM: 1047983 out of 1048334 tests passed. 351 failed
- (0.0334817%)
+ MALAYALAM: 1047983 out of 1048334 tests passed. 351 failed (0.0334817%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271539 out of 271847 tests passed. 308 failed (0.113299%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%)
- src/hb-ot-layout-gsubgpos-private.hh | 35
- +++++++++++++++++++-----------
+ src/hb-ot-layout-gsubgpos-private.hh | 35 +++++++++++++++++++-----------
src/hb-ot-layout-private.hh | 6 +++--
src/hb-ot-layout.cc | 10 +++++----
src/hb-ot-map-private.hh | 12 ++++++----
- src/hb-ot-map.cc | 32
- +++++++++++++++++++++------
+ src/hb-ot-map.cc | 32 +++++++++++++++++++++------
src/hb-ot-shape-complex-arabic-fallback.hh | 2 +-
src/hb-ot-shape-complex-indic.cc | 29 +++++++++++++------------
src/hb-ot-shape-complex-myanmar.cc | 4 ++--
@@ -67841,7 +66505,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 14 10:46:52 2013 -0500
[OTLayout] Add fine-grained control over ZWJ matching
-
+
Not used yet. Next commit...
src/hb-ot-layout-gsubgpos-private.hh | 10 ++++++++--
@@ -67853,36 +66517,34 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 14 07:43:13 2013 -0500
[OTLayout] Ignore default-ignorables when matching GSUB/GPOS
-
+
When matching lookups, be smart about default-ignorable characters.
In particular:
-
+
Do nothing specific about ZWNJ, but for the other default-ignorables:
-
+
If the lookup in question uses the ignorable character in a sequence,
then match it as we used to do. However, if the sequence match will
fail because the default-ignorable blocked it, try skipping the
ignorable character and continue.
-
- The most immediate thing it means is that if Lam-Alef forms a
- ligature,
+
+ The most immediate thing it means is that if Lam-Alef forms a ligature,
then Lam-ZWJ-Alef will do to. Finally!
-
+
One exception: when matching for GPOS, or for backtrack/lookahead of
GSUB, we ignore ZWNJ too. That's the right thing to do.
-
+
It certainly is possible to build fonts that this feature will result
in undesirable glyphs, but it's hard to think of a real-world case
that that would happen.
-
+
This *does* break Indic shaping right now, since Indic Unicode has
specific rules for what ZWJ/ZWNJ mean, and skipping ZWJ is breaking
those rules. That will be fixed in upcoming commits.
src/hb-ot-layout-gpos-table.hh | 1 +
src/hb-ot-layout-gsub-table.hh | 2 +-
- src/hb-ot-layout-gsubgpos-private.hh | 279
- ++++++++++++++++++++++++-----------
+ src/hb-ot-layout-gsubgpos-private.hh | 279 ++++++++++++++++++++++++-----------
src/hb-ot-layout-private.hh | 45 ++++++
src/hb-ot-shape-private.hh | 44 ------
5 files changed, 237 insertions(+), 134 deletions(-)
@@ -67892,14 +66554,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 14 11:25:10 2013 -0500
Add hb_ot_map_feature_flags_t
-
+
Code cleanup. No (intended) functional change.
src/hb-ot-map-private.hh | 29 +++++++++++++++++---
src/hb-ot-map.cc | 24 ++++++++---------
src/hb-ot-shape-complex-arabic.cc | 4 +--
- src/hb-ot-shape-complex-indic.cc | 55
- +++++++++++++++++++-------------------
+ src/hb-ot-shape-complex-indic.cc | 55 +++++++++++++++++++-------------------
src/hb-ot-shape-complex-myanmar.cc | 4 +--
src/hb-ot-shape-complex-sea.cc | 2 +-
src/hb-ot-shape.cc | 6 +++--
@@ -67946,8 +66607,7 @@ Date: Thu Feb 14 07:41:03 2013 -0500
[OTLayout] Port apply_lookup to skippy_iter
- src/hb-ot-layout-gsubgpos-private.hh | 50
- +++++++++++++++++++++++++-----------
+ src/hb-ot-layout-gsubgpos-private.hh | 50 +++++++++++++++++++++++++-----------
1 file changed, 35 insertions(+), 15 deletions(-)
commit dfca269f069dae2f99990dac24da15d316eccb9f
@@ -67964,7 +66624,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 14 06:24:30 2013 -0500
[OTLayout] Minor fix for apply_lookup()
-
+
Should NOT change behavior, since first glyph is a match.
src/hb-ot-layout-gsubgpos-private.hh | 16 +++++++++-------
@@ -67986,7 +66646,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 13 12:10:08 2013 -0500
[OTLayou] Unbreak backtrack matching
-
+
Was introduced by 28b9d502bb69a8045818d5f6113ded9c59a56bd7.
src/hb-ot-layout-gsubgpos-private.hh | 7 +++----
@@ -68010,8 +66670,7 @@ Date: Wed Feb 13 11:13:06 2013 -0500
src/hb-ot-layout-gpos-table.hh | 21 ++++++++-----------
src/hb-ot-layout-gsub-table.hh | 7 +++----
- src/hb-ot-layout-gsubgpos-private.hh | 40
- ++++++++++++++----------------------
+ src/hb-ot-layout-gsubgpos-private.hh | 40 ++++++++++++++----------------------
3 files changed, 26 insertions(+), 42 deletions(-)
commit 6b1e3502e23c110dd810f854ba021f83baab1548
@@ -68019,7 +66678,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 13 11:02:54 2013 -0500
Remember ZWNJ
-
+
To be used in upcoming changes.
src/hb-ot-shape-private.hh | 11 +++++++++--
@@ -68039,11 +66698,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 13 09:26:55 2013 -0500
[Indic] Improve base finding in final_reordering
-
+
Fixes 5 Malayalam failures!
-
- MALAYALAM: 1048016 out of 1048334 tests passed. 318 failed
- (0.0303338%)
+
+ MALAYALAM: 1048016 out of 1048334 tests passed. 318 failed (0.0303338%)
src/hb-ot-shape-complex-indic.cc | 7 +++++++
1 file changed, 7 insertions(+)
@@ -68054,8 +66712,7 @@ Date: Wed Feb 13 08:29:21 2013 -0500
Add more dot-reph tests
- .../shaper-indic/indic/script-malayalam/misc/dot-reph.txt |
- 10 ++++++++++
+ .../shaper-indic/indic/script-malayalam/misc/dot-reph.txt | 10 ++++++++++
1 file changed, 10 insertions(+)
commit f22b7e77783fa2f44365e0fe6413c4474c07048d
@@ -68063,18 +66720,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 13 07:32:46 2013 -0500
[Indic] Track base position when reordering things
-
- Ouch, how did things ever work without this?! The added test that
- has a
- dot-reph as well as a pre-base reordering Ra perfectly demonstrates
- the
- bug (tested with Nirmala font from Win8 for example). Testing
- suggests
+
+ Ouch, how did things ever work without this?! The added test that has a
+ dot-reph as well as a pre-base reordering Ra perfectly demonstrates the
+ bug (tested with Nirmala font from Win8 for example). Testing suggests
that Win8 shaper has the *exact* same bug / behavior that we used to
have. Odd.
- src/hb-ot-shape-complex-indic.cc |
- 6 ++++++
+ src/hb-ot-shape-complex-indic.cc | 6 ++++++
.../in-tree/shaper-indic/indic/script-malayalam/misc/dot-reph.txt | 1 +
2 files changed, 7 insertions(+)
@@ -68083,7 +66736,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 13 05:59:06 2013 -0500
[SEA] Don't zero any mark advances
-
+
Keep the logic simple, easier to explain to font developers.
src/hb-ot-shape-complex-sea.cc | 2 +-
@@ -68094,11 +66747,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 13 05:57:24 2013 -0500
Further adjust mark advance zeroing
-
+
This is a followup to 568000274c8edb5f41bc4f876ce21fcc8bdaeed8.
Looks like in the Latin shaper, Uniscribe zeroes all Unicode NSM
advances *after* GPOS, not before. Match that.
-
+
Can be tested using DejaVu Sans Mono, since that font has GPOS
rules to zero the mark advances on its own.
@@ -68119,13 +66772,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 12 18:17:12 2013 -0500
[tests] Add tests for Devanagary Eyelash Ra
-
+
Currently broken with Sanskrit 2003 font.
- .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/MANIFEST |
- 1 +
- .../in-tree/shaper-indic/indic/script-devanagari/misc/eyelash.txt |
- 3 +++
+ .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/MANIFEST | 1 +
+ .../in-tree/shaper-indic/indic/script-devanagari/misc/eyelash.txt | 3 +++
2 files changed, 4 insertions(+)
commit 63e48bc33b68f940c351af623a55a4cf650db102
@@ -68133,7 +66784,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 12 17:57:49 2013 -0500
[Indic] Apply 'blwf' before 'half'
-
+
This reverts 167b625d988b74572d6b2f646c285b666b650d49. It didn't
matter before, but that's going to change with next commit.
@@ -68145,7 +66796,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 12 18:01:21 2013 -0500
[Indic] Apply 'vatu' before 'cjct'
-
+
This essentially reverts 1d6846db9ebf84561bb30a4e48c6c43184914099,
but that commit is from way back when. We should be better
following the spec order now again.
@@ -68158,7 +66809,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 12 16:29:25 2013 -0500
Didn't mean to push this out
-
+
Ouch!
test/shaping/hb_test_tools.py | 1 -
@@ -68170,8 +66821,7 @@ Date: Tue Feb 12 16:13:56 2013 -0500
[Myanmar] Use master Indic table for syllable data
- src/hb-ot-shape-complex-myanmar.cc | 144
- +++++++++----------------------------
+ src/hb-ot-shape-complex-myanmar.cc | 144 +++++++++----------------------------
test/shaping/hb_test_tools.py | 1 +
2 files changed, 35 insertions(+), 110 deletions(-)
@@ -68189,7 +66839,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 12 15:35:32 2013 -0500
Improve checks for setmode()
-
+
As reported by Jonathan, OS X has setmode() that is something other
than what setmode() is on Win32. So, limit invocation to Windows
platforms only.
@@ -68204,7 +66854,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 12 15:31:58 2013 -0500
Improve check for Windows platforms
-
+
Instead of checking for compiler, check for platform.
src/hb-atomic-private.hh | 2 +-
@@ -68225,13 +66875,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 12 15:26:45 2013 -0500
Rename HB_OT_INDIC_OPTIONS env var to HB_OPTIONS
-
+
The Myanmar shaper now respects the uniscribe-bug-compatibility
option too.
src/hb-common.cc | 20 ++++++++++++--
- src/hb-ot-shape-complex-indic.cc | 53
- ++++----------------------------------
+ src/hb-ot-shape-complex-indic.cc | 53 ++++----------------------------------
src/hb-ot-shape-complex-myanmar.cc | 7 ++---
src/hb-private.hh | 29 +++++++++++++++++++++
4 files changed, 54 insertions(+), 55 deletions(-)
@@ -68241,7 +66890,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 12 12:14:10 2013 -0500
Add South-East Asian shaper
-
+
Handles Tai Tham, Cham, and New Tai Lue for now.
src/Makefile.am | 12 +-
@@ -68252,8 +66901,7 @@ Date: Tue Feb 12 12:14:10 2013 -0500
src/hb-ot-shape-complex-myanmar.cc | 2 +-
src/hb-ot-shape-complex-private.hh | 28 +-
src/hb-ot-shape-complex-sea-machine.rl | 102 ++++++
- src/hb-ot-shape-complex-sea.cc | 400
- +++++++++++++++++++++
+ src/hb-ot-shape-complex-sea.cc | 400 +++++++++++++++++++++
test/shaping/texts/in-tree/MANIFEST | 1 +
.../in-tree/shaper-indic/south-east-asian/MANIFEST | 1 -
test/shaping/texts/in-tree/shaper-myanmar/MANIFEST | 1 +
@@ -68275,24 +66923,15 @@ Date: Tue Feb 12 10:33:58 2013 -0500
Minor test reshufflings
- test/shaping/texts/in-tree/MANIFEST
- | 1 +
- .../{shaper-indic/south-asian/script-tibetan => script-default}/MANIFEST
- | 0
- .../south-asian/script-tibetan => script-default}/misc/MANIFEST
- | 0
- .../south-asian/script-tibetan => script-default}/misc/misc.txt
- | 0
- test/shaping/texts/in-tree/shaper-indic/MANIFEST
- | 1 -
- test/shaping/texts/in-tree/shaper-indic/south-asian/MANIFEST
- | 1 -
- test/shaping/texts/in-tree/shaper-indic/south-east-asian/MANIFEST
- | 1 -
- .../texts/in-tree/shaper-indic/south-east-asian/script-thai/MANIFEST
- | 1 -
- .../in-tree/shaper-indic/south-east-asian/script-thai/misc/MANIFEST
- | 0
+ test/shaping/texts/in-tree/MANIFEST | 1 +
+ .../{shaper-indic/south-asian/script-tibetan => script-default}/MANIFEST | 0
+ .../south-asian/script-tibetan => script-default}/misc/MANIFEST | 0
+ .../south-asian/script-tibetan => script-default}/misc/misc.txt | 0
+ test/shaping/texts/in-tree/shaper-indic/MANIFEST | 1 -
+ test/shaping/texts/in-tree/shaper-indic/south-asian/MANIFEST | 1 -
+ test/shaping/texts/in-tree/shaper-indic/south-east-asian/MANIFEST | 1 -
+ .../texts/in-tree/shaper-indic/south-east-asian/script-thai/MANIFEST | 1 -
+ .../in-tree/shaper-indic/south-east-asian/script-thai/misc/MANIFEST | 0
9 files changed, 1 insertion(+), 4 deletions(-)
commit 5676d5d52784e16068ae483103d59111a8081854
@@ -68301,8 +66940,7 @@ Date: Tue Feb 12 10:31:14 2013 -0500
[Indic] Make sure New Tai Lue works!
- src/hb-ot-shape-complex-private.hh | 12
- ++++++++----
+ src/hb-ot-shape-complex-private.hh | 12 ++++++++----
.../texts/in-tree/shaper-indic/south-east-asian/MANIFEST | 1 +
.../south-east-asian/script-new-tai-lue/MANIFEST | 1 +
.../south-east-asian/script-new-tai-lue/misc/MANIFEST | 1 +
@@ -68314,25 +66952,25 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 12 09:44:57 2013 -0500
Adjust mark advance-width zeroing logic for Myanmar
-
+
Before, we were zeroing advance width of attached marks for
non-Indic scripts, and not doing it for Indic.
-
+
We have now three different behaviors, which seem to better
reflect what Uniscribe is doing:
-
+
- For Indic, no explicit zeroing happens whatsoever, which
is the same as before,
-
+
- For Myanmar, zero advance width of glyphs marked as marks
*in GDEF*, and do that *before* applying GPOS. This seems
to be what the new Win8 Myanmar shaper does,
-
+
- For everything else, zero advance width of glyphs that are
from General_Category=Mn Unicode characters, and do so
before applying GPOS. This seems to be what Uniscribe does
for Latin at least.
-
+
With these changes, positioning of all tests matches for Myanmar,
except for the glitch in Uniscribe not applying 'mark'. See preivous
commit.
@@ -68373,7 +67011,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Feb 11 16:16:16 2013 -0500
[Myanmar] Fix handling of Punctuation and Symbol types
-
+
Testing with "clusters" now on par with testing without them. 15
failures both.
@@ -68395,15 +67033,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Feb 11 14:27:02 2013 -0500
[Myanmar] Prevent reordering between Asat and Dot below
-
+
Implemented as a hack for now. Myanmar failures down from 23 to 15.
-
+
MYANMAR: 1123868 out of 1123883 tests passed. 15 failed (0.00133466%)
-
- The remaining 15 cases are all where the syllable is wrong according
- to
- the OpenType spec. We insert dottedcircle. Uniscribe fails to
- do that,
+
+ The remaining 15 cases are all where the syllable is wrong according to
+ the OpenType spec. We insert dottedcircle. Uniscribe fails to do that,
but it also fails to reorder the prebase-reordering medial-Ra. So it
gets it wrong.
@@ -68416,24 +67052,15 @@ Date: Mon Feb 11 14:24:03 2013 -0500
Shuffle test data around
- test/shaping/texts/in-tree/MANIFEST
- | 1 +
- test/shaping/texts/in-tree/shaper-indic/south-east-asian/MANIFEST
- | 1 -
- .../in-tree/shaper-indic/south-east-asian/script-thai/misc/MANIFEST
- | 1 -
- .../south-east-asian => shaper-myanmar}/script-myanmar/MANIFEST
- | 0
- .../south-east-asian => shaper-myanmar}/script-myanmar/misc/MANIFEST
- | 0
- .../south-east-asian => shaper-myanmar}/script-myanmar/misc/misc.txt
- | 0
- .../south-east-asian => shaper-myanmar}/script-myanmar/misc/utn11.txt
- | 0
- test/shaping/texts/in-tree/shaper-thai/script-thai/misc/MANIFEST
- | 1 +
- .../south-east-asian => shaper-thai}/script-thai/misc/misc.txt
- | 0
+ test/shaping/texts/in-tree/MANIFEST | 1 +
+ test/shaping/texts/in-tree/shaper-indic/south-east-asian/MANIFEST | 1 -
+ .../in-tree/shaper-indic/south-east-asian/script-thai/misc/MANIFEST | 1 -
+ .../south-east-asian => shaper-myanmar}/script-myanmar/MANIFEST | 0
+ .../south-east-asian => shaper-myanmar}/script-myanmar/misc/MANIFEST | 0
+ .../south-east-asian => shaper-myanmar}/script-myanmar/misc/misc.txt | 0
+ .../south-east-asian => shaper-myanmar}/script-myanmar/misc/utn11.txt | 0
+ test/shaping/texts/in-tree/shaper-thai/script-thai/misc/MANIFEST | 1 +
+ .../south-east-asian => shaper-thai}/script-thai/misc/misc.txt | 0
9 files changed, 2 insertions(+), 2 deletions(-)
commit 98628cac9f733f2674d6409954cddb7d0634c233
@@ -68441,16 +67068,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Feb 11 13:36:23 2013 -0500
Add Win8-style Myanmar shaper
-
+
Myanmar failures down from 51% to 0.00204648%!
-
+
MYANMAR: 1123860 out of 1123883 tests passed. 23 failed (0.00204648%)
src/Makefile.am | 14 +-
src/hb-ot-shape-complex-indic.cc | 2 -
src/hb-ot-shape-complex-myanmar-machine.rl | 127 ++++++
- src/hb-ot-shape-complex-myanmar.cc | 599
- +++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-myanmar.cc | 599 +++++++++++++++++++++++++++++
src/hb-ot-shape-complex-private.hh | 5 +-
5 files changed, 740 insertions(+), 7 deletions(-)
@@ -68468,14 +67094,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Feb 11 13:27:17 2013 -0500
[OTLayout] Respect lookup-flags skipping over non-mark glyphs
-
+
Before, when matching ligatures, we never skipping over base / liga
glyphs even if that was what the LookupFlags asked for.
-
- Fixed now. We carefully reviewed all instances of this, and
- tested with
- Amiri as well as some Indic scripts, and are confident that this
- should
+
+ Fixed now. We carefully reviewed all instances of this, and tested with
+ Amiri as well as some Indic scripts, and are confident that this should
NOT break anyone's fonts. It's also how Uniscribe does it, from what
we can tell.
@@ -68488,7 +67112,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Feb 11 13:14:15 2013 -0500
[OTLayout] s/mark_skipping/skipping/
-
+
In aticipation of upcoming changes.
src/hb-ot-layout-gpos-table.hh | 12 ++++++------
@@ -68500,7 +67124,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Feb 11 06:58:27 2013 -0500
[Indic] Fix bug introduced in 8b217f5ac54aa0dcbba2dd6d59aa89dde33e56c2
-
+
Was breaking reph formation logic when the Ra is the only consonant.
Devanagari regression fixed. Down to 57 failures again. Ouch.
@@ -68512,16 +67136,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Feb 11 06:50:17 2013 -0500
Improve normalization heuristic
-
- Before, for most scripts, we were not trying to recompose two
- characters
+
+ Before, for most scripts, we were not trying to recompose two characters
if the second one had ccc=0. That fails for Myanmar where U+1026
decomposes to U+1025,U+102E, both of which have ccc=0. However, we do
want to try to recompose those. We now check whether the second is a
mark, using general category instead.
-
+
At the same time, remove optimization that was conflicting with this.
-
+
[Let the Ngapi hackfest begin!]
src/hb-ot-shape-normalize.cc | 39 +++++++++++++--------------------------
@@ -68532,17 +67155,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 6 23:45:27 2013 -0500
Revert "Include config.h.in in tree"
-
+
This reverts commit 01013a0f5c58d5d54a37e5b4d6692e0bbd4baf80.
-
+
Conflicts:
config.h.in
-
+
Same argument as previous commit.
Makefile.am | 1 +
- config.h.in | 153
- ------------------------------------------------------------
+ config.h.in | 153 ------------------------------------------------------------
2 files changed, 1 insertion(+), 153 deletions(-)
commit adff3778155facb7b149ce66ab7d573368e048de
@@ -68550,24 +67172,20 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 6 23:43:27 2013 -0500
Revert "[Indic] Import ragel-generated Indic machine in git"
-
+
This reverts commit fab7a71f110ed646745d54b23284537c50058c21.
-
+
Conflicts:
src/hb-ot-shape-complex-indic-machine.hh
-
- Keeping that generated file in-tree causes problems with processes
- like
- tinderbox that automatically fetch and build harfbuzz. It's harder
- to
- bootstrap harfbuzz now (as was previously), but I'm willing to
- give this
+
+ Keeping that generated file in-tree causes problems with processes like
+ tinderbox that automatically fetch and build harfbuzz. It's harder to
+ bootstrap harfbuzz now (as was previously), but I'm willing to give this
another chance and see how it goes.
autogen.sh | 6 +
src/Makefile.am | 1 +
- src/hb-ot-shape-complex-indic-machine.hh | 1443
- ------------------------------
+ src/hb-ot-shape-complex-indic-machine.hh | 1443 ------------------------------
3 files changed, 7 insertions(+), 1443 deletions(-)
commit 5898fa94d12b19686f649104bd6efe8daa1ba0c9
@@ -68575,11 +67193,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 6 15:29:07 2013 -0500
Don't use $(ENV)
-
+
As reported by Peter Breitenlohner:
-
- I think this is a very bad idea because ENV is used to specify
- a startup
+
+ I think this is a very bad idea because ENV is used to specify a startup
file to be read by some/all shells.
test/api/Makefile.am | 2 +-
@@ -68607,8 +67224,7 @@ commit 6c1e8b614cfd6ed016fba6bf20af1e422e79eb71
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Feb 4 23:24:16 2013 -0500
- Bug 59637 - check-exported-symbols.sh & check-internal-symbols.sh
- fail on mips/mipsel
+ Bug 59637 - check-exported-symbols.sh & check-internal-symbols.sh fail on mips/mipsel
src/check-symbols.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -68620,8 +67236,7 @@ Date: Mon Feb 4 23:06:50 2013 -0500
Merge check-internal-symbols.sh and check-exported-symbols.sh
src/Makefile.am | 3 +-
- src/check-internal-symbols.sh | 34
- ----------------------
+ src/check-internal-symbols.sh | 34 ----------------------
...{check-exported-symbols.sh => check-symbols.sh} | 16 ++++++++--
3 files changed, 14 insertions(+), 39 deletions(-)
@@ -68630,7 +67245,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 31 19:27:36 2013 -0500
Really fix setmode this time
-
+
Thanks to Khaled for spotting it.
util/options.cc | 2 +-
@@ -68641,9 +67256,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 31 18:37:10 2013 -0500
Fixup previous commit
-
- Now, it looks like this breaks Cygwin again. Have to figure out
- what's
+
+ Now, it looks like this breaks Cygwin again. Have to figure out what's
going on.
util/options.cc | 4 ++--
@@ -68654,7 +67268,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 31 18:18:05 2013 -0500
Use setmode() instead of _setmode()
-
+
Looks like Cygwin / MSVC declare it that way, and it still works on
MinGW32 cross.
@@ -68668,8 +67282,7 @@ commit e9171af55cc6a402eb20db4ea74c86a0b1e70e85
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 29 22:45:00 2013 -0500
- Bug 60053 - hb-common.cc:181:6: warning: ‘void free_langs()’
- defined but not used
+ Bug 60053 - hb-common.cc:181:6: warning: ‘void free_langs()’ defined but not used
src/hb-common.cc | 2 +-
src/hb-ft.cc | 2 +-
@@ -68719,9 +67332,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 14 00:32:12 2013 -0600
Revert "Minor"
-
+
This reverts commit 0a492357016bc9a614d2a726f2006c10af68ca58.
-
+
Enables code on more compilers.
src/hb-warning.cc | 33 ++++++++++++++++++++++++++++++---
@@ -68761,7 +67374,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 10 01:17:59 2013 -0600
Add atomic ops for Solaris
-
+
Based on fontconfig patch from Raimund Steger.
config.h.in | 5 ++++-
@@ -68774,24 +67387,20 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 10 00:03:36 2013 -0600
Fix crasher during multi-thread shaper data creation
-
+
Sample crash:
-
+
0 _hb_graphite2_shaper_face_data_destroy (data=0xffffffffffffffff)
at ../../src/hb-graphite2.cc:129
1 0x00007ffff4271d7d in hb_graphite2_shaper_face_data_ensure (
face=<optimized out>) at ../../src/hb-shaper-list.hh:35
- 2 hb_shape_plan_plan (shaper_list=<optimized out>,
- num_user_features=0,
- user_features=0x0, shape_plan=0xf7b490) at
- ../../src/hb-shaper-list.hh:35
+ 2 hb_shape_plan_plan (shaper_list=<optimized out>, num_user_features=0,
+ user_features=0x0, shape_plan=0xf7b490) at ../../src/hb-shaper-list.hh:35
3 hb_shape_plan_create (face=<optimized out>, props=<optimized out>,
- user_features=0x0, num_user_features=0, shaper_list=<optimized
- out>)
+ user_features=0x0, num_user_features=0, shaper_list=<optimized out>)
at ../../src/hb-shape-plan.cc:108
4 0x00007ffff4272c93 in hb_shape_plan_create_cached (face=0x10cf2b0,
- props=0x11980d8, user_features=0x0, num_user_features=<optimized
- out>,
+ props=0x11980d8, user_features=0x0, num_user_features=<optimized out>,
shaper_list=0x0) at ../../src/hb-shape-plan.cc:283
src/hb-shaper-private.hh | 5 ++++-
@@ -68801,15 +67410,13 @@ commit ecd454b3cd75050e0c95e1d2aa55744559338ec8
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 8 18:09:46 2013 -0600
- [Indic] In old-spec shaping, don't move viramas around if seq ends
- with one
-
+ [Indic] In old-spec shaping, don't move viramas around if seq ends with one
+
For example: u0c9a u0ccd u0c9a u0ccd with Lohit. See:
-
+
https://bugs.freedesktop.org/show_bug.cgi?id=59118
- src/hb-ot-shape-complex-indic.cc |
- 7 ++++---
+ src/hb-ot-shape-complex-indic.cc | 7 ++++---
.../texts/in-tree/shaper-indic/indic/script-kannada/misc/misc.txt | 1 +
2 files changed, 5 insertions(+), 3 deletions(-)
@@ -68818,11 +67425,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 8 16:15:46 2013 -0600
[GPOS] If an Anchor offset is NULL, return false
-
- If in a MarkPos table, a base has no anchor for a particular mark
- class,
+
+ If in a MarkPos table, a base has no anchor for a particular mark class,
return NULL such that the subsequent subtables get a chance at it.
-
+
Test case:
hb-shape ./EBGaramond12-Regular.otf ἂ --features="ss20","smcp"
@@ -68844,10 +67450,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 7 16:46:37 2013 -0600
Rename hb_buffer_clear() to hb_buffer_clear_contents()
-
+
The previous name was clashing with harfbuzz.old. There are systems
that need to link both...
-
+
Clash-free now again.
src/hb-buffer.cc | 2 +-
@@ -68861,7 +67467,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 4 01:25:27 2013 -0600
Remove a few unnecessary const's
-
+
Apparently helps with MSVC compilation.
src/hb-ot-layout-gsubgpos-private.hh | 8 ++++----
@@ -68882,7 +67488,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 3 00:07:16 2013 -0600
[OTLayout] Always collect default language system in collect_lookups
-
+
Not sure if this is the most desired behavior. It's the most easily
defined though.
@@ -68894,7 +67500,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 3 00:04:40 2013 -0600
[OTLayout] Fix feature iteration in collect_lookups
-
+
Previous logic was just wrong.
src/hb-ot-layout.cc | 46 ++++++++++++++++++++++++++++++++--------------
@@ -68906,8 +67512,7 @@ Date: Thu Jan 3 00:00:23 2013 -0600
[OTLayout] Whitespace
- src/hb-ot-layout.cc | 82
- ++++++++++++++++++++++++++++++++++++++++++++---------
+ src/hb-ot-layout.cc | 82 ++++++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 68 insertions(+), 14 deletions(-)
commit d37ae38047bee12639741af9bb083b857fab950d
@@ -68924,7 +67529,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 2 23:36:37 2013 -0600
[OTLayout] Fix various introspection issues with ClassDef's
-
+
As reported by Jonathan Kew.
src/hb-ot-layout-gsubgpos-private.hh | 19 +++++++++++++++----
@@ -68935,11 +67540,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 2 23:22:54 2013 -0600
[tests] Finish test-set.c
-
+
All passing now.
- test/api/test-set.c | 373
- +++++++++++++++++++++-------------------------------
+ test/api/test-set.c | 373 +++++++++++++++++++++-------------------------------
1 file changed, 149 insertions(+), 224 deletions(-)
commit 7b1b720a8da69b68b775ce17104a40d55401b7ef
@@ -68947,7 +67551,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 2 23:02:59 2013 -0600
Protect sets in-error from further modication
-
+
Fixes test-set.c
src/hb-set-private.hh | 13 +++++++++++++
@@ -68958,7 +67562,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 2 22:50:36 2013 -0600
[tests] Start adding tests for hb-set.h
-
+
Fails now. Fixing.
TODO | 2 -
@@ -68966,8 +67570,7 @@ Date: Wed Jan 2 22:50:36 2013 -0600
src/hb-set.cc | 9 +-
src/hb-set.h | 3 +
test/api/Makefile.am | 1 +
- test/api/test-set.c | 312
- ++++++++++++++++++++++++++++++++++++++++++++++++++
+ test/api/test-set.c | 312 ++++++++++++++++++++++++++++++++++++++++++++++++++
6 files changed, 330 insertions(+), 3 deletions(-)
commit b9d28f696c433b94c5ffbad8d7c87cf3acff4056
@@ -68994,8 +67597,7 @@ Date: Fri Dec 21 19:41:04 2012 -0500
[Indic] Insert dottedcircle after a lone Malayalam dot-reph
- src/hb-ot-shape-complex-indic-machine.hh | 1617
- ++++++++++++++++--------------
+ src/hb-ot-shape-complex-indic-machine.hh | 1617 ++++++++++++++++--------------
src/hb-ot-shape-complex-indic-machine.rl | 2 +-
src/hb-ot-shape-complex-indic.cc | 13 +-
3 files changed, 881 insertions(+), 751 deletions(-)
@@ -69065,15 +67667,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Dec 21 16:01:52 2012 -0500
[util] Default to "text" output format in hb-shape
-
+
If you say:
-
+
hb-shape font.ttf text --output-file out.txt
-
+
This was previously failing:
-
+
Unknown output format `txt'; supported formats are: TEXT / JSON
-
+
Now we simply fallback to TEXT if no explicit format was requested.
util/hb-shape.cc | 11 ++++++++---
@@ -69085,14 +67687,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Dec 21 15:48:32 2012 -0500
[Indic] Reorder Malayalam dot-reph to after base
-
+
Test sequence is simple: U+0D4E,U+0D15. The doth-reph should be
reordered to after the Ka.
-
+
https://bugzilla.redhat.com/show_bug.cgi?id=799565
- src/hb-ot-shape-complex-indic.cc | 13
- ++++++++++---
+ src/hb-ot-shape-complex-indic.cc | 13 ++++++++++---
.../shaper-indic/indic/script-malayalam/misc/MANIFEST | 1 +
.../shaper-indic/indic/script-malayalam/misc/dot-reph.txt | 1 +
3 files changed, 12 insertions(+), 3 deletions(-)
@@ -69112,8 +67713,7 @@ Date: Fri Dec 21 11:54:50 2012 -0500
Add Android.mk
- Android.mk | 74
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Android.mk | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Makefile.am | 1 +
2 files changed, 75 insertions(+)
@@ -69150,7 +67750,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Dec 18 20:39:40 2012 -0500
Use C++ linker if ICU is disabled
-
+
Bug 54948 - Undefined symbols: "operator delete(void*)" "operator
new(unsigned long)" "___cxa_pure_virtual"
@@ -69171,11 +67771,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 17 23:21:05 2012 -0500
[OTLayout] Fix 'size' featureParams implementation
-
+
Looks at alternate location now.
- src/hb-ot-layout-common-private.hh | 133
- ++++++++++++++++++++++++++++---------
+ src/hb-ot-layout-common-private.hh | 133 ++++++++++++++++++++++++++++---------
src/hb-ot-layout.cc | 93 ++++----------------------
2 files changed, 117 insertions(+), 109 deletions(-)
@@ -69203,7 +67802,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Dec 14 17:48:23 2012 -0500
[OTLayout] Wire tag and list start all the way to Feature
-
+
To fix FeatureParam issues. No actual fix yet, just plumbing.
src/hb-ot-layout-common-private.hh | 16 ++++++++++++----
@@ -69214,12 +67813,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 12 11:38:49 2012 -0500
[OTLayout] More 'size' feature sanity checking
-
+
We still don't look for the old incorrect place of the featureParams.
I'll wait till someone actually complains about it...
- src/hb-ot-layout.cc | 99
- ++++++++++++++++++++++++++++++++++++++++++-----------
+ src/hb-ot-layout.cc | 99 ++++++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 79 insertions(+), 20 deletions(-)
commit 0bae50a36f3022f9bb6b2c001c191eeaaa4ef954
@@ -69227,11 +67825,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Dec 11 16:01:31 2012 -0500
[OTLayout] Add FeatureParamsCharacterVariants struct
-
+
No API yet.
- src/hb-ot-layout-common-private.hh | 52
- +++++++++++++++++++++++++++++++++++---
+ src/hb-ot-layout-common-private.hh | 52 +++++++++++++++++++++++++++++++++++---
1 file changed, 49 insertions(+), 3 deletions(-)
commit bd61bc13ea8ff350ada5449b2cfeb612e66ecafa
@@ -69267,11 +67864,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Dec 11 14:17:01 2012 -0500
[OTLayout] Change hb_ot_layout_get_params() API
-
+
And add implementation for StylisticSet UINameID. No API yet.
- src/hb-ot-layout-common-private.hh | 85
- ++++++++++++++++++++++++++++++++++++--
+ src/hb-ot-layout-common-private.hh | 85 ++++++++++++++++++++++++++++++++++++--
src/hb-ot-layout.cc | 28 +++++++++----
src/hb-ot-layout.h | 8 +++-
src/test-size-params.cc | 9 +++-
@@ -69281,9 +67877,8 @@ commit 5e7e52ddf2b0c4fbc9d933d24336100368d39a5c
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 10 17:44:22 2012 -0500
- [uniscribe] Enable Uniscribe backend only if it has
- ScriptShapeOpenType()
-
+ [uniscribe] Enable Uniscribe backend only if it has ScriptShapeOpenType()
+
Bug 55494 - ScriptItemizeOpenType doesn't exists under Windows XP
config.h.in | 6 ------
@@ -69304,7 +67899,7 @@ Author: John Ralls <jralls@ceridwen.fremont.ca.us>
Date: Mon Dec 10 16:24:24 2012 -0500
[coretext] Better test for CoreText
-
+
Instead of checking for ApplicationServices.h, which is present in all
versions of MacOSX, check for CTFontRef, a CoreText basic type.
@@ -69316,7 +67911,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 10 15:25:21 2012 -0500
Fix atomic ops on iOS
-
+
Patch from John Ralls.
src/hb-atomic-private.hh | 8 +++++---
@@ -69336,7 +67931,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 10 00:57:00 2012 -0500
Work around missing OSAtomicCompareAndSwapPtrBarrier() on OS X 10.4
-
+
Not sure how to handle iOS.
src/hb-atomic-private.hh | 11 +++++++++++
@@ -69347,7 +67942,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 9 19:39:40 2012 -0500
[coretext] Fixed typo
-
+
Oops. Thanks Khaled for catching this.
src/hb-coretext.cc | 2 +-
@@ -69358,7 +67953,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 9 18:47:36 2012 -0500
[coretext] Add hb_coretext_face_get_cg_font()
-
+
Not sure if it's useful, but it was missing.
src/hb-coretext.cc | 20 ++++++++++++++------
@@ -69370,7 +67965,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 9 18:47:09 2012 -0500
[coretext] Remove hack around GlyphID
-
+
We not namespace our types, so the hack is not needed anymore.
src/hb-coretext.cc | 4 ----
@@ -69381,7 +67976,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 9 18:45:47 2012 -0500
[graphite2] "Update to new API"
-
+
Part of patch from Martin Hosken. I believe he knows what he's doing
:).
@@ -69392,9 +67987,8 @@ commit a5a4ab3846ef06769784e6469d76eace35e68805
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 9 18:44:41 2012 -0500
- [graphite2] Add hb_graphite2_face_get_gr_face and
- hb_graphite2_font_get_gr_font
-
+ [graphite2] Add hb_graphite2_face_get_gr_face and hb_graphite2_font_get_gr_font
+
Based on patch from Martin Hosken. I believe it returns NULL if the
font doesn't have graphite tables, but have not tested.
@@ -69407,7 +68001,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 9 18:43:03 2012 -0500
[graphite2] Preload all tables
-
+
Part of patch from Martin Hosken.
src/hb-graphite2.cc | 2 +-
@@ -69427,7 +68021,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 9 18:20:19 2012 -0500
Remove excess return
-
+
Oops!
src/hb-uniscribe.cc | 1 -
@@ -69438,11 +68032,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Dec 8 19:28:41 2012 -0500
Update OT language tags
-
+
Patch from Roozbeh Pournader.
- src/hb-ot-tag.cc | 212
- +++++++++++++++++++++++++++++--------------------------
+ src/hb-ot-tag.cc | 212 +++++++++++++++++++++++++++++--------------------------
1 file changed, 110 insertions(+), 102 deletions(-)
commit aba38173c6b464c2884b73ef6cd4577d4efcebbc
@@ -69459,7 +68052,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 5 19:42:10 2012 -0500
Fix test with gold linker
-
+
Bug 57633 - Symbol tests should ignore __bss_start, _edata, _end
src/check-exported-symbols.sh | 2 +-
@@ -69504,8 +68097,7 @@ Date: Wed Dec 5 18:46:04 2012 -0500
src/hb-ot-shape-complex-thai.cc | 2 +-
src/hb-ot-shape-fallback.cc | 4 ++--
src/hb-private.hh | 8 ++++----
- src/hb-ucdn.cc | 27
- +++++++++++++++------------
+ src/hb-ucdn.cc | 27 +++++++++++++++------------
src/hb-utf-private.hh | 4 ++--
16 files changed, 61 insertions(+), 60 deletions(-)
@@ -69524,7 +68116,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 5 16:49:47 2012 -0500
Rename VOID and void_t to have HarfBuzz prefix
-
+
Fixes build on Windows. Ouch!
src/hb-ot-layout-gsubgpos-private.hh | 22 +++++++++++-----------
@@ -69545,14 +68137,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Dec 4 17:08:41 2012 -0500
Minor
-
- Use pointers instead of references, in preparation for upcoming
- change.
+
+ Use pointers instead of references, in preparation for upcoming change.
src/hb-ot-layout-gpos-table.hh | 28 +++++++++++++-------------
src/hb-ot-layout-gsub-table.hh | 30 ++++++++++++++--------------
- src/hb-ot-layout-gsubgpos-private.hh | 38
- ++++++++++++++++++------------------
+ src/hb-ot-layout-gsubgpos-private.hh | 38 ++++++++++++++++++------------------
3 files changed, 48 insertions(+), 48 deletions(-)
commit 1bcfa06d1173f219809542a7380ce77f1c907bec
@@ -69589,7 +68179,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Dec 4 00:35:54 2012 +0200
Move object mutext into the user-data array
-
+
We are not using it for anything lse it seems.
src/hb-common.cc | 12 ++----------
@@ -69610,7 +68200,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 2 19:14:29 2012 +0200
"Update" to Unicode 6.2.0 tables
-
+
Nothing changed...
src/hb-ot-shape-complex-arabic-table.hh | 4 ++--
@@ -69643,8 +68233,7 @@ Date: Fri Nov 30 11:46:35 2012 +0200
test/shaping/texts/in-tree/shaper-arabic/script-arabic/MANIFEST | 1 +
.../in-tree/shaper-arabic/script-arabic/language-persian/MANIFEST | 1 +
- .../shaper-arabic/script-arabic/language-persian/mehran.txt |
- 8 ++++++++
+ .../shaper-arabic/script-arabic/language-persian/mehran.txt | 8 ++++++++
3 files changed, 10 insertions(+)
commit 0f3f5299047e3cfc4d1202fee83d484b871279ad
@@ -69652,13 +68241,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 30 09:06:59 2012 +0200
Add test-size-params
-
+
Eventually this will become part of a yet-to-be-written hb-ot cmdline
tool.
src/Makefile.am | 10 ++++-
- src/test-size-params.cc | 98
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/test-size-params.cc | 98 +++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 107 insertions(+), 1 deletion(-)
commit 8465a05a89742295d4b009a9b4442eb0a899fd80
@@ -69666,7 +68254,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 30 08:46:43 2012 +0200
Fix hb_buffer_guess_segment_properties() for empty buffer
-
+
Was causing assertion failure in shape_plan().
src/hb-buffer.cc | 4 ++--
@@ -69697,7 +68285,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 30 08:14:20 2012 +0200
[OTLayout] Look for any 'size' feature, not only in DFLT script
-
+
The old code doesn't work with all fonts, as Khaled has reported.
src/hb-ot-layout.cc | 14 +++++---------
@@ -69707,8 +68295,7 @@ commit e9ad71dee845407da74ccacfbb53ad7ededf07fd
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 30 08:10:26 2012 +0200
- [OTLayout] Rename hb_ot_layout_position_get_size() to
- hb_ot_layout_get_size_params()
+ [OTLayout] Rename hb_ot_layout_position_get_size() to hb_ot_layout_get_size_params()
src/hb-ot-layout.cc | 4 ++--
src/hb-ot-layout.h | 7 ++++---
@@ -69719,11 +68306,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 30 08:07:06 2012 +0200
[OTLayout] Return correct value from recursion
-
- Commit 4c4e8f0e754b79ac6190d21878eaaf0b790c7579 broke contextual
- lookups
+
+ Commit 4c4e8f0e754b79ac6190d21878eaaf0b790c7579 broke contextual lookups
by making the recurse() function always return false.
-
+
Reported by Khaled. Test case: لا in Amiri.
src/hb-ot-layout-gsubgpos-private.hh | 9 ++++-----
@@ -69735,8 +68321,7 @@ Date: Mon Nov 26 14:02:31 2012 +0200
[OTLayout] Implement 'size' feature
- src/hb-ot-layout-common-private.hh | 36
- ++++++++++++++++++++++++++++++++++--
+ src/hb-ot-layout-common-private.hh | 36 ++++++++++++++++++++++++++++++++++--
src/hb-ot-layout.cc | 31 +++++++++++++++++++++++++++++++
src/hb-ot-layout.h | 5 +++++
3 files changed, 70 insertions(+), 2 deletions(-)
@@ -69770,11 +68355,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 24 02:31:02 2012 -0500
[OTLayout] Implement hb_ot_layout_collect_lookups()
-
+
Untested.
- src/hb-ot-layout.cc | 97
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout.cc | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-layout.h | 4 +--
2 files changed, 98 insertions(+), 3 deletions(-)
@@ -69782,8 +68366,7 @@ commit 1ea375da446bf68f705a70ce4a480db9fb9d13f3
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 24 02:05:52 2012 -0500
- [OTLayout] Only collect output glyphs during recursion in
- collect_glyphs()
+ [OTLayout] Only collect output glyphs during recursion in collect_glyphs()
src/hb-ot-layout-gsubgpos-private.hh | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
@@ -69793,11 +68376,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Nov 24 01:55:34 2012 -0500
[OTLayout] Implement ChainContext collect_glyphs()
-
+
All of collect_glyphs() complete and untested now.
- src/hb-ot-layout-gsubgpos-private.hh | 103
- ++++++++++++++++++++++++++++++++---
+ src/hb-ot-layout-gsubgpos-private.hh | 103 ++++++++++++++++++++++++++++++++---
1 file changed, 96 insertions(+), 7 deletions(-)
commit cdd756b9f40665a201f5c4e65a87b9a27c390601
@@ -69806,8 +68388,7 @@ Date: Sat Nov 24 01:38:41 2012 -0500
[OTLayout] Implement GPOS collect_glyphs()
- src/hb-ot-layout-gpos-table.hh | 95
- +++++++++++++++++++++++++++++++++++++++++-
+ src/hb-ot-layout-gpos-table.hh | 95 +++++++++++++++++++++++++++++++++++++++++-
src/hb-ot-layout.cc | 9 ++--
2 files changed, 99 insertions(+), 5 deletions(-)
@@ -69837,8 +68418,7 @@ Date: Fri Nov 23 18:54:59 2012 -0500
[OTLayout] Implement Context::collect_glyphs()
- src/hb-ot-layout-gsubgpos-private.hh | 122
- +++++++++++++++++++++++++++++++----
+ src/hb-ot-layout-gsubgpos-private.hh | 122 +++++++++++++++++++++++++++++++----
1 file changed, 111 insertions(+), 11 deletions(-)
commit 26514d51b6669f092d9ccb7523443a5ece74169a
@@ -69849,8 +68429,7 @@ Date: Fri Nov 23 18:13:48 2012 -0500
src/hb-ot-layout-gpos-table.hh | 6 ++---
src/hb-ot-layout-gsub-table.hh | 32 +++++++++++++++-------
- src/hb-ot-layout-gsubgpos-private.hh | 51
- ++++++++++++++++++++++++++++++++----
+ src/hb-ot-layout-gsubgpos-private.hh | 51 ++++++++++++++++++++++++++++++++----
3 files changed, 71 insertions(+), 18 deletions(-)
commit c6fb843f2a1c26322c6f4c85d1589f01a9e7a2ef
@@ -69899,8 +68478,7 @@ Date: Fri Nov 23 17:23:41 2012 -0500
[OTLayout] Add process() tracing
- src/hb-ot-layout-gpos-table.hh | 60
- ++++++++++++++++++++----------------
+ src/hb-ot-layout-gpos-table.hh | 60 ++++++++++++++++++++----------------
src/hb-ot-layout-gsub-table.hh | 51 +++++++++++++++++-------------
src/hb-ot-layout-gsubgpos-private.hh | 17 +++++-----
3 files changed, 72 insertions(+), 56 deletions(-)
@@ -69963,8 +68541,7 @@ Date: Fri Nov 23 16:40:04 2012 -0500
[OTLayout] Start adding process() tracing
- src/hb-ot-layout-gsubgpos-private.hh | 44
- +++++++++++++++++++++++++++---------
+ src/hb-ot-layout-gsubgpos-private.hh | 44 +++++++++++++++++++++++++++---------
src/hb-private.hh | 6 +++--
2 files changed, 37 insertions(+), 13 deletions(-)
@@ -69991,8 +68568,7 @@ Date: Fri Nov 23 15:32:14 2012 -0500
src/hb-ot-layout-common-private.hh | 36 +++++------
src/hb-ot-layout-gdef-table.hh | 20 +++---
src/hb-ot-layout-gpos-table.hh | 80 +++++++++++------------
- src/hb-ot-layout-gsub-table.hh | 122
- +++++++++++++++++------------------
+ src/hb-ot-layout-gsub-table.hh | 122 +++++++++++++++++------------------
src/hb-ot-layout-gsubgpos-private.hh | 100 ++++++++++++++--------------
src/hb-ot-maxp-table.hh | 2 +-
src/hb-ot-name-table.hh | 6 +-
@@ -70004,10 +68580,8 @@ Date: Fri Nov 23 15:06:59 2012 -0500
[OTLayout] Start unbreaking tracing
- src/hb-open-type-private.hh | 37
- +++++++++++++++++++++---------------
- src/hb-ot-layout-gsubgpos-private.hh | 37
- +++++++++++++++++++++++++-----------
+ src/hb-open-type-private.hh | 37 +++++++++++++++++++++---------------
+ src/hb-ot-layout-gsubgpos-private.hh | 37 +++++++++++++++++++++++++-----------
src/hb-private.hh | 30 +++++++++++++++++++----------
3 files changed, 68 insertions(+), 36 deletions(-)
@@ -70050,8 +68624,7 @@ Date: Thu Nov 22 16:47:53 2012 -0500
Move code around
- src/hb-ot-layout-gsubgpos-private.hh | 44
- ++++++++++++++++++------------------
+ src/hb-ot-layout-gsubgpos-private.hh | 44 ++++++++++++++++++------------------
1 file changed, 22 insertions(+), 22 deletions(-)
commit ec35a72a44301934b8f123ab2833f59d8c875a09
@@ -70060,10 +68633,8 @@ Date: Thu Nov 22 16:05:59 2012 -0500
[OTLayout] Port apply() operator to process() template
- src/hb-ot-layout-gpos-table.hh | 117
- ++++-------------------------------
- src/hb-ot-layout-gsub-table.hh | 108
- +++-----------------------------
+ src/hb-ot-layout-gpos-table.hh | 117 ++++-------------------------------
+ src/hb-ot-layout-gsub-table.hh | 108 +++-----------------------------
src/hb-ot-layout-gsubgpos-private.hh | 99 +++++++++++++----------------
src/hb-ot-layout.cc | 2 +-
4 files changed, 65 insertions(+), 261 deletions(-)
@@ -70072,13 +68643,10 @@ commit 2005fa5340fc528c32dc2af945ad2431964a47d2
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 22 14:38:10 2012 -0500
- [OTLayout] Port would_apply() and get_coverage() to process()
- templates
+ [OTLayout] Port would_apply() and get_coverage() to process() templates
- src/hb-ot-layout-gpos-table.hh | 175
- +++++++++++--------------------
- src/hb-ot-layout-gsub-table.hh | 198
- ++++++++++++-----------------------
+ src/hb-ot-layout-gpos-table.hh | 175 +++++++++++--------------------
+ src/hb-ot-layout-gsub-table.hh | 198 ++++++++++++-----------------------
src/hb-ot-layout-gsubgpos-private.hh | 76 +++++---------
3 files changed, 156 insertions(+), 293 deletions(-)
@@ -70088,8 +68656,7 @@ Date: Wed Nov 21 23:33:13 2012 -0500
[OTLayout] Port closure() to process() template
- src/hb-ot-layout-gsub-table.hh | 297
- ++++++++---------------------------
+ src/hb-ot-layout-gsub-table.hh | 297 ++++++++---------------------------
src/hb-ot-layout-gsubgpos-private.hh | 209 ++++++++++++------------
src/hb-ot-layout.cc | 10 +-
3 files changed, 171 insertions(+), 345 deletions(-)
@@ -70119,8 +68686,7 @@ Date: Wed Nov 21 01:20:56 2012 -0500
0.9.7
- NEWS | 86
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ NEWS | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
configure.ac | 2 +-
2 files changed, 87 insertions(+), 1 deletion(-)
@@ -70139,7 +68705,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 21 01:04:15 2012 -0500
[Indic] One more try at unbreaking Khmer fonts
-
+
See comments and discussion on the list.
src/hb-ot-shape-complex-private.hh | 16 ++++++++++------
@@ -70150,11 +68716,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 16 19:07:06 2012 -0800
Start implementing collect_glyphs() operation
-
+
Not functional yet.
- src/hb-ot-layout-gsub-table.hh | 185
- +++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout-gsub-table.hh | 185 +++++++++++++++++++++++++++++++++++
src/hb-ot-layout-gsubgpos-private.hh | 57 +++++++++++
src/hb-ot-layout.cc | 29 ++++++
src/hb-ot-layout.h | 4 +-
@@ -70181,8 +68746,7 @@ Date: Fri Nov 16 18:49:54 2012 -0800
src/hb-ot-layout-gsubgpos-private.hh | 2 +-
src/hb-ot-maxp-table.hh | 2 +-
src/hb-ot-name-table.hh | 2 +-
- src/hb-ot-shape-complex-default.cc | 109
- ++++++++++++++++++-----------------
+ src/hb-ot-shape-complex-default.cc | 109 ++++++++++++++++++-----------------
src/hb-tt-font.cc | 2 +-
17 files changed, 87 insertions(+), 92 deletions(-)
@@ -70228,7 +68792,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 16 13:23:37 2012 -0800
Implement hb_shape_plan_get_shaper()
-
+
Untested.
src/hb-shape-plan-private.hh | 1 +
@@ -70241,11 +68805,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 16 13:12:35 2012 -0800
[Indic] Another try to unbreak Sinhala split matras
-
+
Just read the comments...
- src/hb-ot-shape-complex-indic.cc | 43
- ++++++++++++++++++----
+ src/hb-ot-shape-complex-indic.cc | 43 ++++++++++++++++++----
.../indic/script-sinhala/misc/MANIFEST | 1 +
.../indic/script-sinhala/misc/split-matras.txt | 4 ++
3 files changed, 40 insertions(+), 8 deletions(-)
@@ -70265,15 +68828,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 16 12:39:23 2012 -0800
Plumbing to get shape plan and font into complex decompose function
-
+
So we can handle Sinhala split matras smartly... Coming soon.
src/hb-ot-shape-complex-default.cc | 6 ++--
src/hb-ot-shape-complex-indic.cc | 14 ++++-----
src/hb-ot-shape-complex-private.hh | 16 +++++------
src/hb-ot-shape-normalize-private.hh | 22 ++++++++++++--
- src/hb-ot-shape-normalize.cc | 56
- ++++++++++++++----------------------
+ src/hb-ot-shape-normalize.cc | 56 ++++++++++++++----------------------
src/hb-ot-shape.cc | 2 +-
6 files changed, 61 insertions(+), 55 deletions(-)
@@ -70281,8 +68843,7 @@ commit 3f82f8ff07a9d16a7c047129658c1bbedfdb5436
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 15 18:45:31 2012 -0800
- Rename hb_buffer_guess_properties() to
- hb_buffer_guess_segment_properties()
+ Rename hb_buffer_guess_properties() to hb_buffer_guess_segment_properties()
src/hb-buffer-private.hh | 2 +-
src/hb-buffer.cc | 6 +++---
@@ -70297,19 +68858,19 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 15 18:39:46 2012 -0800
Bunch of independent changes (ouch)
-
+
API additions:
-
+
hb_segment_properties_t
HB_SEGMENT_PROPERTIES_DEFAULT
hb_segment_properties_equal()
hb_segment_properties_hash()
-
+
hb_buffer_set_segment_properties()
hb_buffer_get_segment_properties()
-
+
hb_ot_layout_glyph_class_t
-
+
hb_shape_plan_t
hb_shape_plan_create()
hb_shape_plan_create_cached()
@@ -70319,18 +68880,18 @@ Date: Thu Nov 15 18:39:46 2012 -0800
hb_shape_plan_set_user_data()
hb_shape_plan_get_user_data()
hb_shape_plan_execute()
-
+
hb_ot_shape_plan_collect_lookups()
-
+
API changes:
-
+
Rename hb_ot_layout_feature_get_lookup_indexes() to
hb_ot_layout_feature_get_lookups().
-
+
New header file:
-
+
hb-shape-plan.h
-
+
And a bunch of prototyped but not implemented stuff. Coming soon.
(Tests fail because of the prototypes right now.)
@@ -70340,8 +68901,7 @@ Date: Thu Nov 15 18:39:46 2012 -0800
src/hb-buffer.h | 47 +++++++++++++++++--
src/hb-ot-layout-private.hh | 8 ----
src/hb-ot-layout.cc | 12 ++---
- src/hb-ot-layout.h | 108
- ++++++++++++++++++++++++++++++++++++++++---
+ src/hb-ot-layout.h | 108 ++++++++++++++++++++++++++++++++++++++++---
src/hb-ot-map-private.hh | 2 +-
src/hb-ot-map.cc | 15 +++---
src/hb-ot-shape-private.hh | 11 ++++-
@@ -70383,8 +68943,7 @@ Date: Thu Nov 15 16:15:42 2012 -0800
src/hb-ot-shape.cc | 2 +-
src/hb-set-private.hh | 35 ++++++++++++++++--
- src/hb-set.cc | 86
- ++++++++++++++++++++++++++++++---------------
+ src/hb-set.cc | 86 ++++++++++++++++++++++++++++++---------------
src/hb-set.h | 55 +++++++++++++++++++----------
util/hb-ot-shape-closure.cc | 2 +-
5 files changed, 128 insertions(+), 52 deletions(-)
@@ -70404,7 +68963,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 15 15:38:08 2012 -0800
[Thai] Remove U+0E2C from "AC" consonants
-
+
WinXP doesn't include it.
src/hb-ot-shape-complex-thai.cc | 2 +-
@@ -70414,9 +68973,8 @@ commit 362a990b2246f5448ecb9d600761f710aea7d42d
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 15 14:57:31 2012 -0800
- Rename hb_ot_layout_would_substitute_lookup() and
- hb_ot_layout_substitute_closure_lookup()
-
+ Rename hb_ot_layout_would_substitute_lookup() and hb_ot_layout_substitute_closure_lookup()
+
To match upcoming API.
src/hb-ot-layout-private.hh | 2 +-
@@ -70432,7 +68990,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 15 13:29:51 2012 -0800
[util] Make hb-shape err if output-format is not understood
-
+
And list supported formats.
util/hb-shape.cc | 6 ++++++
@@ -70462,15 +69020,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 15 12:14:09 2012 -0800
Add buffer serialization / deserialization API
-
+
Two output formats for now: TEXT, and JSON. For example:
-
+
hb-shape --output-format=json
-
+
Deserialization API is added, but not implemented yet.
- src/hb-buffer.cc | 222
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-buffer.cc | 222 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-buffer.h | 42 +++++++++++
util/hb-shape.cc | 21 +++++-
util/options.cc | 57 +++++---------
@@ -70482,7 +69039,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 15 10:47:14 2012 -0800
Avoid C++ undefined behavior
-
+
https://bugzilla.mozilla.org/show_bug.cgi?id=810823
src/hb-open-type-private.hh | 4 ++--
@@ -70493,7 +69050,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 15 10:36:43 2012 -0800
Fix undefined behavior in Indic dottedcircle
-
+
Chromium Issue 158998: Conditional jump in harfbuzz-ng
http://code.google.com/p/chromium/issues/detail?id=158998
@@ -70505,16 +69062,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 14 17:25:03 2012 -0800
[Thai] Implement PUA-based fallback shaping
-
+
As explained here:
-
+
http://linux.thai.net/~thep/th-otf/shaping.html
-
+
Our output now matches Uniscribe for old fonts (eg. XP Tahoma) with no
Thai GSUB table.
- src/hb-ot-shape-complex-thai.cc | 217
- ++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-thai.cc | 217 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 217 insertions(+)
commit 851784f8372004e0a40b698c0cdc2d7db8629aa2
@@ -70537,8 +69093,7 @@ Date: Wed Nov 14 15:55:17 2012 -0800
Add test cases for Thai PUA shaping
.../texts/in-tree/shaper-thai/script-thai/misc/MANIFEST | 1 +
- .../in-tree/shaper-thai/script-thai/misc/pua-shaping.txt |
- 11 +++++++++++
+ .../in-tree/shaper-thai/script-thai/misc/pua-shaping.txt | 11 +++++++++++
2 files changed, 12 insertions(+)
commit 43f04a7456419153cb03e610a825056a47824780
@@ -70548,10 +69103,8 @@ Date: Wed Nov 14 15:51:54 2012 -0800
Move Thai shaper into a separate file
src/Makefile.am | 3 +-
- ...plex-misc.cc => hb-ot-shape-complex-default.cc} | 114
- -----------------
- src/hb-ot-shape-complex-thai.cc | 141
- +++++++++++++++++++++
+ ...plex-misc.cc => hb-ot-shape-complex-default.cc} | 114 -----------------
+ src/hb-ot-shape-complex-thai.cc | 141 +++++++++++++++++++++
3 files changed, 143 insertions(+), 115 deletions(-)
commit ba82325b7a6311b787ae47f41a56964e2f2cba9f
@@ -70577,7 +69130,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 14 15:05:19 2012 -0800
Don't route Kharoshthi through the Indic shaper
-
+
It's a simple, right-to-left, script.
src/hb-ot-shape-complex-private.hh | 2 +-
@@ -70597,7 +69150,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 14 14:09:46 2012 -0800
Reposition Lao marks
-
+
Lao marks are center-aligned, unlike Thai ones.
src/hb-ot-shape-fallback.cc | 4 ++--
@@ -70621,7 +69174,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 14 13:38:16 2012 -0800
[Indic] If Khmer fonts have a 'liga' feature, use generic shaper
-
+
Seems to produce more coherent results than trying the Indic shaper on
them. I'm looking at you, Kh-* fonts...
@@ -70642,16 +69195,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 14 11:37:04 2012 -0800
[Indic] Don't move virama with left matra
-
- This is important for the Sinhala U+0DDA split matra since it
- decomposes
- to U+0DD9,U+0DCA where U+0DD9 is a left matra and U+0DCA is the
- virama.
+
+ This is important for the Sinhala U+0DDA split matra since it decomposes
+ to U+0DD9,U+0DCA where U+0DD9 is a left matra and U+0DCA is the virama.
We don't want to move the virama with the left matra.
TEST: U+0D9A,U+0DDA
-
- Note that we were already doing this in the Uniscribe bug
- compatibility
+
+ Note that we were already doing this in the Uniscribe bug compatibility
mode. We now do it all the time.
src/hb-ot-shape-complex-indic.cc | 8 ++++++--
@@ -70663,8 +69213,7 @@ Date: Wed Nov 14 10:56:02 2012 -0800
Add Sinhala test case for split matra U+0DDA
- .../texts/in-tree/shaper-indic/indic/script-sinhala/misc/misc.txt
- | 1 +
+ .../texts/in-tree/shaper-indic/indic/script-sinhala/misc/misc.txt | 1 +
1 file changed, 1 insertion(+)
commit d04b12853167d756a8cccaf4154f0fd894bce6de
@@ -70690,7 +69239,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 13 16:26:32 2012 -0800
API change: Remove "mask" from hb_buffer_add()
-
+
I don't expect anybody using hb_buffer_add(), so this shouldn't break
anyone's code.
@@ -70723,7 +69272,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 13 15:12:24 2012 -0800
[util] Add --text-before and --text-after to hb-shape / hb-view
-
+
Use with Arabic, for example, to see the effect on joining.
util/hb-ot-shape-closure.cc | 4 +++-
@@ -70738,7 +69287,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 13 15:12:06 2012 -0800
Fix UTF-8 backward iteration
-
+
Ouch!
src/hb-utf-private.hh | 4 ++--
@@ -70749,7 +69298,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 13 15:11:51 2012 -0800
[Arabic] Fix post-context handling
-
+
Ouch!
src/hb-ot-shape-complex-arabic.cc | 2 +-
@@ -70760,31 +69309,29 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 13 14:42:35 2012 -0800
Add buffer flags
-
+
New API:
-
+
hb_buffer_flags_t
-
+
HB_BUFFER_FLAGS_DEFAULT
HB_BUFFER_FLAG_BOT
HB_BUFFER_FLAG_EOT
HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES
-
+
hb_buffer_set_flags()
hb_buffer_get_flags()
-
+
We use the BOT flag to decide whether to insert dottedcircle if the
first char in the buffer is a combining mark.
-
- The PRESERVE_DEFAULT_IGNORABLES flag prevents removal of characters
- like
+
+ The PRESERVE_DEFAULT_IGNORABLES flag prevents removal of characters like
ZWNJ/ZWJ/...
src/hb-buffer-private.hh | 1 +
src/hb-buffer.cc | 18 ++++++++++++++++++
src/hb-buffer.h | 13 +++++++++++++
- src/hb-ot-shape-complex-arabic.cc | 40
- ++++++++++++++++++++-------------------
+ src/hb-ot-shape-complex-arabic.cc | 40 ++++++++++++++++++++-------------------
src/hb-ot-shape.cc | 9 ++++++---
test/api/test-buffer.c | 9 +++++++++
6 files changed, 68 insertions(+), 22 deletions(-)
@@ -70794,7 +69341,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 13 14:42:22 2012 -0800
Minor fix
-
+
Ouch
src/hb-shape.cc | 2 +-
@@ -70814,7 +69361,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 13 13:57:52 2012 -0800
Add hb_buffer_clear()
-
+
Which is like _reset(), but does NOT clear unicode-funcs.
src/hb-buffer-private.hh | 1 +
@@ -70837,14 +69384,12 @@ commit 0736915b8ed789a209205fec762997af3a8af89c
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 13 12:35:35 2012 -0800
- [Indic] Decompose Sinhala split matras the way old HarfBuzz /
- Pango did
-
+ [Indic] Decompose Sinhala split matras the way old HarfBuzz / Pango did
+
Had to do some refactoring to make this happen...
-
+
Under uniscribe bug compatibility mode, we still plit them
- Uniscrie-style, but Jonathan and I convinced ourselves that there
- is no
+ Uniscrie-style, but Jonathan and I convinced ourselves that there is no
harm doing this the Unicode way. This change makes that happen, and
unbreaks free Sinhala fonts.
@@ -70853,8 +69398,7 @@ Date: Tue Nov 13 12:35:35 2012 -0800
src/hb-ot-shape-complex-misc.cc | 133 ++++++++++++++++-
src/hb-ot-shape-complex-private.hh | 28 +++-
src/hb-ot-shape-normalize-private.hh | 6 +-
- src/hb-ot-shape-normalize.cc | 278
- ++++++++++-------------------------
+ src/hb-ot-shape-normalize.cc | 278 ++++++++++-------------------------
src/hb-ot-shape.cc | 5 +-
7 files changed, 312 insertions(+), 214 deletions(-)
@@ -70863,12 +69407,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 13 11:07:20 2012 -0800
[hb-shape] Adjust postioning output format
-
+
1. If there is any offset (x or y), print out both x and y offsets.
-
+
2. Always print out the advance in the major direction of the buffer.
- Ie. even for zero-advance glyphs, print a "+0". This is more
- intuitive.
+ Ie. even for zero-advance glyphs, print a "+0". This is more intuitive.
util/options.cc | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
@@ -70879,8 +69422,7 @@ Date: Mon Nov 12 18:42:18 2012 -0800
[Indic] Update auto-generated Indic machine to reflect previous commit
- src/hb-ot-shape-complex-indic-machine.hh | 1126
- +++++++++++++++---------------
+ src/hb-ot-shape-complex-indic-machine.hh | 1126 +++++++++++++++---------------
1 file changed, 567 insertions(+), 559 deletions(-)
commit 9cac1338c4bc3e9034cbfa104291ed0329debefe
@@ -70888,7 +69430,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 12 18:41:22 2012 -0800
[Indic] Allow Consonant_Medial's after Consonant's
-
+
Mostly affects Myanmar, but also Tai Tham, Javanese, and Cham. The
latter three are untested (no fonts!).
@@ -70919,7 +69461,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 12 18:36:10 2012 -0800
[Indic] Route "new" Myanmar tag through the Indic shaper
-
+
Windows 8 adds a Myanmar shaper using the 'mym2' tag. Route that
through the Indic shaper. It's still very broken, but at least this
does NOT break old-style Myanmar shaping using the generic shaper.
@@ -70932,10 +69474,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 12 18:27:42 2012 -0800
Choose shaper based on chosen OT script tag
-
+
For Arabic and Indic shapers, if the font doesn't have a script system
for the script, use default shaper.
-
+
Make an exception for Arabic script since we have fallback logic for
that one.
@@ -70960,8 +69502,7 @@ Date: Mon Nov 12 17:57:24 2012 -0800
Refactoring ot-map building to make chosen script available earlier
src/hb-ot-map-private.hh | 13 ++++++++----
- src/hb-ot-map.cc | 51
- ++++++++++++++++++++++++++--------------------
+ src/hb-ot-map.cc | 51 ++++++++++++++++++++++++++--------------------
src/hb-ot-shape-private.hh | 4 ++--
3 files changed, 40 insertions(+), 28 deletions(-)
@@ -70979,9 +69520,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 12 17:27:51 2012 -0800
Add "new" Myanmar OT Script tag
-
- Windows 8 added support for Myanmar shaping using the "mym2"
- script tag,
+
+ Windows 8 added support for Myanmar shaping using the "mym2" script tag,
even though Windows never supported the old "mymr" tag.
src/hb-ot-tag.cc | 2 ++
@@ -70995,8 +69535,7 @@ Date: Mon Nov 12 16:54:03 2012 -0800
Add Myanmar tests from UTN#11
.../south-east-asian/script-myanmar/misc/MANIFEST | 1 +
- .../south-east-asian/script-myanmar/misc/utn11.txt | 34
- ++++++++++++++++++++++
+ .../south-east-asian/script-myanmar/misc/utn11.txt | 34 ++++++++++++++++++++++
2 files changed, 35 insertions(+)
commit e9334ce97bb7f1de87fb211bb5a8168033629b14
@@ -71013,7 +69552,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 12 14:48:33 2012 -0800
[Indic] Make more room in the table
-
+
To be used in upcoming commits.
src/hb-ot-shape-complex-indic-private.hh | 10 +++++-----
@@ -71033,7 +69572,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 12 14:09:40 2012 -0800
[Indic] Port 'pref' logic to look into font tables
-
+
...instead of using a hardcoded list of Ra characters.
src/hb-ot-shape-complex-indic.cc | 7 ++++---
@@ -71044,11 +69583,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 12 14:02:02 2012 -0800
[Indic] Port reph handling logic to look into font features
-
+
...instead of using a hardcoded list of Ra characters.
- src/hb-ot-shape-complex-indic.cc | 48
- +++++++++++++++++++++++++---------------
+ src/hb-ot-shape-complex-indic.cc | 48 +++++++++++++++++++++++++---------------
1 file changed, 30 insertions(+), 18 deletions(-)
commit 43149afbc0007ea075a7017c0e56056c3c0f3614
@@ -71056,7 +69594,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 12 13:34:17 2012 -0800
Route MEETEI_MAYEK through the Indic shaper
-
+
Since it has a couple of left-"matras".
src/hb-ot-shape-complex-private.hh | 5 ++---
@@ -71076,12 +69614,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 12 11:16:57 2012 -0800
Work around older compilers
-
+
As reported on the list:
-
+
I am seeing a similar problem building harfbuzz 0.9.5 with Apple gcc
4.0.1 on OS X 10.5 Leopard:
-
+
hb-ot-layout-common-private.hh:406: error: 'struct
OT::CoverageFormat1::Iter' is private
hb-ot-layout-common-private.hh:646: error: within this context
@@ -71089,7 +69627,7 @@ Date: Mon Nov 12 11:16:57 2012 -0800
OT::CoverageFormat2::Iter' is private
hb-ot-layout-common-private.hh:647: error: within this context
make[4]: *** [libharfbuzz_la-hb-ot-layout.lo] Error 1
-
+
Also reported as happening with MSVC 2005.
src/hb-ot-layout-common-private.hh | 6 ++++++
@@ -71100,12 +69638,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 12 11:02:56 2012 -0800
[Indic] Don't apply 'liga'
-
+
Uniscribe doesn't. And some fonts abuse this feature to get Indic
shaping working in non-complex applications like Adobe's apps.
-
+
No change in numbers:
-
+
BENGALI: 353897 out of 354188 tests passed. 291 failed (0.0821598%)
DEVANAGARI: 707337 out of 707394 tests passed. 57 failed (0.00805774%)
GUJARATI: 366440 out of 366457 tests passed. 17 failed (0.00463902%)
@@ -71113,8 +69651,7 @@ Date: Mon Nov 12 11:02:56 2012 -0800
KANNADA: 951046 out of 951913 tests passed. 867 failed (0.0910798%)
KHMER: 299074 out of 299124 tests passed. 50 failed (0.0167155%)
LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
- MALAYALAM: 1048011 out of 1048334 tests passed. 323 failed
- (0.0308108%)
+ MALAYALAM: 1048011 out of 1048334 tests passed. 323 failed (0.0308108%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271666 out of 271847 tests passed. 181 failed (0.0665816%)
TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
@@ -71156,7 +69693,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 5 15:20:10 2012 -0800
Adjust Mongolian shaping
-
+
For U+1880..U+1886 Uniscribe thinks they are non-joining.
For U+1887 Uniscribe thinks it's joining, but looks wrong to me.
For now, match Uniscribe.
@@ -71169,13 +69706,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 5 15:18:49 2012 -0800
Add test for non-joining Mongolian letters
-
+
For U+1880..U+1886 Uniscribe thinks they are non-joining.
For U+1887 Uniscribe thinks it's joining, but looks wrong to me.
.../texts/in-tree/shaper-arabic/script-mongolian/misc/MANIFEST | 1 +
- .../in-tree/shaper-arabic/script-mongolian/misc/non-joining.txt |
- 8 ++++++++
+ .../in-tree/shaper-arabic/script-mongolian/misc/non-joining.txt | 8 ++++++++
2 files changed, 9 insertions(+)
commit c26a52fbe62e5ba4d0e1e2ba13bfb6ceb3f773dc
@@ -71205,8 +69741,7 @@ Date: Fri Nov 2 13:53:18 2012 -0700
test/shaping/texts/in-tree/shaper-default/MANIFEST | 2 ++
.../texts/in-tree/shaper-default/script-tifinagh/MANIFEST | 1 +
.../in-tree/shaper-default/script-tifinagh/misc/MANIFEST | 1 +
- .../in-tree/shaper-default/script-tifinagh/misc/misc.txt |
- 11 +++++++++++
+ .../in-tree/shaper-default/script-tifinagh/misc/misc.txt | 11 +++++++++++
4 files changed, 15 insertions(+)
commit 10a33296e674ee84b9ed2df25cf373de7d020b8d
@@ -71228,8 +69763,7 @@ Date: Fri Nov 2 10:21:26 2012 -0700
.../in-tree/shaper-arabic/script-mongolian/misc/misc.txt | 3 +++
.../texts/in-tree/shaper-arabic/script-phags-pa/MANIFEST | 1 +
.../in-tree/shaper-arabic/script-phags-pa/misc/MANIFEST | 1 +
- .../in-tree/shaper-arabic/script-phags-pa/misc/misc.txt | 14
- ++++++++++++++
+ .../in-tree/shaper-arabic/script-phags-pa/misc/misc.txt | 14 ++++++++++++++
5 files changed, 20 insertions(+)
commit 3ba7bc14ea652d27639f34109e51a497a678a54a
@@ -71237,7 +69771,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 1 20:05:04 2012 -0700
Implement 'Phags-pa shaping
-
+
Through the Arabic shaper. It's similar to Mongolian.
src/hb-ot-shape-complex-arabic.cc | 15 ++++++++++++---
@@ -71258,14 +69792,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 31 13:45:30 2012 -0700
Don't clear buffer pre-context if no new context is being provided
-
+
Patch from Jonathan Kew.
-
+
Part of fixing:
-
+
Mozilla Bug 801410 - avoid inserting dotted-circle for run-initial
Unicode combining characters in "simple" scripts such as Latin
-
+
https://bugzilla.mozilla.org/show_bug.cgi?id=801410
src/hb-buffer.cc | 9 ++++++++-
@@ -71276,7 +69810,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 29 22:02:45 2012 -0700
[OT] Fix ReverseChainingSubst
-
+
We should make it clear that we don't want output buffer in this case,
otherwise buffer->backtrack_len() would be wrong.
@@ -71299,7 +69833,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 29 21:49:33 2012 -0700
[Arabic] Enable dlig and mset for Arabic
-
+
That's what the spec says, and what Uniscribe does.
src/hb-ot-shape-complex-arabic.cc | 3 ++-
@@ -71328,22 +69862,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 29 18:18:24 2012 -0700
Add Ethiopic test case
-
+
This sequence: U+120B,U+135F,U+120B with the Nyala font from Win7
- exposes a GPOS bug in Uniscribe, in that the positioned mark is
- wrongly
+ exposes a GPOS bug in Uniscribe, in that the positioned mark is wrongly
moved as a result a following kern.
-
+
This is the one "failure" in the Ethiopic test suite :-).
-
+
ETHIOPIC: 118900 out of 118901 tests passed. 1 failed (0.000841036%)
- test/shaping/texts/in-tree/shaper-default/script-ethiopic/MANIFEST |
- 1 +
- test/shaping/texts/in-tree/shaper-default/script-ethiopic/misc/MANIFEST |
- 1 +
- test/shaping/texts/in-tree/shaper-default/script-ethiopic/misc/misc.txt |
- 1 +
+ test/shaping/texts/in-tree/shaper-default/script-ethiopic/MANIFEST | 1 +
+ test/shaping/texts/in-tree/shaper-default/script-ethiopic/misc/MANIFEST | 1 +
+ test/shaping/texts/in-tree/shaper-default/script-ethiopic/misc/misc.txt | 1 +
3 files changed, 3 insertions(+)
commit 88d3c98e309e14c3115825d1d8d40d0b3eec2d97
@@ -71351,14 +69881,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 29 16:27:02 2012 -0700
[Indic] Position pre-base reordering Ra after Chillus in Malayalam
-
+
The logic for pre-base reordering follows the left matra logic.
- We had an exception for Malayalam/Tamil in the left matra
- repositioning
+ We had an exception for Malayalam/Tamil in the left matra repositioning
which was not reflected in pre-base reordering.
-
+
Malayalam failures down from 337 to 323.
-
+
BENGALI: 353996 out of 354285 tests passed. 289 failed (0.0815727%)
DEVANAGARI: 707339 out of 707394 tests passed. 55 failed (0.00777502%)
GUJARATI: 366489 out of 366506 tests passed. 17 failed (0.0046384%)
@@ -71366,8 +69895,7 @@ Date: Mon Oct 29 16:27:02 2012 -0700
KANNADA: 951086 out of 951913 tests passed. 827 failed (0.0868777%)
KHMER: 299106 out of 299124 tests passed. 18 failed (0.00601757%)
LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
- MALAYALAM: 1048011 out of 1048334 tests passed. 323 failed
- (0.0308108%)
+ MALAYALAM: 1048011 out of 1048334 tests passed. 323 failed (0.0308108%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271726 out of 271847 tests passed. 121 failed (0.0445103%)
TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%)
@@ -71391,16 +69919,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 29 10:56:04 2012 -0700
Include config.h.in in tree
-
- I typically don't like including generating files in tree.
- But like to
+
+ I typically don't like including generating files in tree. But like to
make an exception for this, since this forms the canonical list of
options one would need to go through when building with alternative
build systems.
Makefile.am | 1 -
- config.h.in | 160
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ config.h.in | 160 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 160 insertions(+), 1 deletion(-)
commit 02ed52169ad3bb48f4989f721b0c6572e064a712
@@ -71430,7 +69956,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 28 20:11:47 2012 -0700
Fix hb_buffer_set_length(buffer, 0)
-
+
Was causing invalid realloc()s.
src/hb-buffer.cc | 2 +-
@@ -71450,7 +69976,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 28 19:18:11 2012 -0700
Port to ICU LayoutEngine C API
-
+
Incidentally, this makes it not crash with icu-le-hb anymore...
I'm not smart / stupid enough to spend two more days debugging C++
linking issues, and this is ABI-stable at least.
@@ -71472,19 +69998,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 25 16:32:54 2012 -0700
Rename and revamp is_zero_width() to be is_default_ignorable()
-
- That's really the logic desired. Except that MONGOLIAN VOWEL
- SEPARATOR
- is not default_ignorable but it really should be. Reported to
- Unicode.
-
+
+ That's really the logic desired. Except that MONGOLIAN VOWEL SEPARATOR
+ is not default_ignorable but it really should be. Reported to Unicode.
+
Based on suggestion from Konstantin Ritt.
src/hb-fallback-shape.cc | 2 +-
src/hb-ot-shape-private.hh | 4 +--
src/hb-ot-shape.cc | 2 +-
- src/hb-unicode-private.hh | 90
- +++++++++++++++++++++++++++++-----------------
+ src/hb-unicode-private.hh | 90 +++++++++++++++++++++++++++++-----------------
4 files changed, 62 insertions(+), 36 deletions(-)
commit a724139e641bf1592b1ff786a75a9de2ea8163cf
@@ -71511,7 +70034,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Oct 7 17:19:58 2012 -0400
Fixup hb_ot_shape_closure()
-
+
Broke it when merged cmap mapping and normalizer. Ouch!
src/hb-ot-shape.cc | 2 +-
@@ -71530,15 +70053,12 @@ commit 9947bd6daffb5ec76b67536575e7617ba4f10b1e
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 2 20:44:43 2012 -0400
- Update UCDN to upstream commit
- 3f159c87824230b59af56e40e2db32caf6afa51a
-
+ Update UCDN to upstream commit 3f159c87824230b59af56e40e2db32caf6afa51a
+
- Unicode 6.2.0 goodness,
- - Unassigned codepoints now have correct properties. Passes test
- suite.
+ - Unassigned codepoints now have correct properties. Passes test suite.
- src/hb-ucdn/unicodedata_db.h | 1966
- ++++++++++++++++++++++--------------------
+ src/hb-ucdn/unicodedata_db.h | 1966 ++++++++++++++++++++++--------------------
1 file changed, 1036 insertions(+), 930 deletions(-)
commit 32dbfcf763d1ae497d3c95de986a83441331678f
@@ -71556,7 +70076,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 2 16:03:18 2012 -0400
Import UCDN into source tree
-
+
https://github.com/grigorig/ucdn
configure.ac | 11 +-
@@ -71566,8 +70086,7 @@ Date: Tue Oct 2 16:03:18 2012 -0400
src/hb-ucdn/README | 33 +
src/hb-ucdn/ucdn.c | 282 +++
src/hb-ucdn/ucdn.h | 290 +++
- src/hb-ucdn/unicodedata_db.h | 4648
- ++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ucdn/unicodedata_db.h | 4648 ++++++++++++++++++++++++++++++++++++++++++
src/hb-unicode.cc | 3 +
9 files changed, 5498 insertions(+), 1 deletion(-)
@@ -71576,7 +70095,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 2 14:59:00 2012 -0400
Remove Glib thread-safety support
-
+
Now that we have pthread detection in configure, we don't need Glib
anymore. Glib will only be a Unicode data provider.
@@ -71601,8 +70120,7 @@ Date: Tue Oct 2 14:46:34 2012 -0400
Add ax_pthread.m4
- m4/ax_pthread.m4 | 309
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ m4/ax_pthread.m4 | 309 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 309 insertions(+)
commit 8ac34bc6ff1d0646503a45659b1846d8cf9c0603
@@ -71611,8 +70129,7 @@ Date: Tue Oct 2 14:46:04 2012 -0400
Add pkg.m4 to git repo
- m4/pkg.m4 | 157
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ m4/pkg.m4 | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 157 insertions(+)
commit c7afac0aa6e51e6a49ebf13f72537398698c9e49
@@ -71630,10 +70147,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 25 21:35:35 2012 -0400
[OT] Only insert dottedcircle if at the beginning of paragraph
-
+
If the first char in the run is a combining mark, but there is text
before the run, don't insert dottedcircle.
-
+
Part of addressing:
https://bugzilla.redhat.com/show_bug.cgi?id=858736
@@ -71645,7 +70162,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 25 21:32:35 2012 -0400
[Arabic] Respect Arabic joining from neighboring context
-
+
Now we respect Arabic joining across runs.
src/hb-ot-shape-complex-arabic.cc | 31 +++++++++++++++++++++++++++++--
@@ -71656,19 +70173,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 25 17:44:53 2012 -0400
[buffer] Save pre/post textual context
-
+
To be used for a variety of purposes. We save up to five characters
in each direction. No public API changes, everything is taken care
of already. All clients need to do is to call hb_buffer_add_utf* with
the full text + segment info (or at least some context) instead of
just passing in the segment.
-
+
Various operations (hb_buffer_reset, hb_buffer_set_length,
hb_buffer_add*) automatically reset the relevant contexts.
src/hb-buffer-private.hh | 13 ++++++++++++-
- src/hb-buffer.cc | 44
- ++++++++++++++++++++++++++++++++++++++++----
+ src/hb-buffer.cc | 44 ++++++++++++++++++++++++++++++++++++++++----
src/hb-buffer.h | 2 +-
3 files changed, 53 insertions(+), 6 deletions(-)
@@ -71678,8 +70194,7 @@ Date: Tue Sep 25 13:59:24 2012 -0400
Add hb_utf_prev()
- src/hb-utf-private.hh | 71
- +++++++++++++++++++++++++++++++++++++++++++++++++--
+ src/hb-utf-private.hh | 71 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 69 insertions(+), 2 deletions(-)
commit 70ea4ac6887c7057113d714a98e55738b6196562
@@ -71705,7 +70220,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 25 11:42:16 2012 -0400
Add hb_utf_strlen()
-
+
Speeds up UTF-8 parsing by calling strlen().
src/hb-buffer.cc | 13 ++-----------
@@ -71717,13 +70232,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 25 11:22:28 2012 -0400
[buffer] Templatize UTF handling
-
+
Also move UTF routines into a separate file, to be reused from shapers
that need it.
src/Makefile.am | 1 +
- src/hb-buffer.cc | 157
- +++++++++++++-------------------------------------
+ src/hb-buffer.cc | 157 +++++++++++++-------------------------------------
src/hb-utf-private.hh | 113 ++++++++++++++++++++++++++++++++++++
3 files changed, 155 insertions(+), 116 deletions(-)
@@ -71760,15 +70274,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 24 21:51:13 2012 -0400
[Indic] Import ragel-generated Indic machine in git
-
+
I don't expect ragel to be creating too much noise in its generated
output, and including this in-tree helps users right now. We can
revisit this later if it proved to be too much trouble.
autogen.sh | 6 -
src/Makefile.am | 1 -
- src/hb-ot-shape-complex-indic-machine.hh | 1314
- ++++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-indic-machine.hh | 1314 ++++++++++++++++++++++++++++++
3 files changed, 1314 insertions(+), 7 deletions(-)
commit 20a840c7cd08069720050782b4533cde505df09a
@@ -71776,7 +70289,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 24 20:23:00 2012 -0400
Use a C++ linker on Windows
-
+
On Windows we don't care whether or not we link to libstdc++.
Seems to fix build with mingw32 on msys, as reported by Werner.
@@ -71806,7 +70319,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 10 09:56:27 2012 -0400
Return NULL, not false
-
+
Oh well...
src/hb-open-type-private.hh | 2 +-
@@ -71817,17 +70330,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 7 14:55:07 2012 -0400
[Indic] Find syllables before any features are applied
-
+
With FreeSerif, it seems that the 'ccmp' feature does ligature
- substituttions. That was then causing syllable match failures.
- We now
+ substituttions. That was then causing syllable match failures. We now
find syllables before any features have been applied.
-
+
Test sequence: U+0D9A,U+0DCA,U+200D,U+0DBB,U+0DCF
src/hb-ot-shape-complex-indic-machine.rl | 4 +-
- src/hb-ot-shape-complex-indic.cc | 56
- +++++++++++++++-------
+ src/hb-ot-shape-complex-indic.cc | 56 +++++++++++++++-------
.../indic/script-sinhala/misc/misc.txt | 1 +
3 files changed, 43 insertions(+), 18 deletions(-)
@@ -71836,7 +70347,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Sep 6 22:26:16 2012 -0400
Add hb_buffer_[sg]et_content_type
-
+
And hb_buffer_content_type_t and enum values.
TODO | 1 +
@@ -71855,8 +70366,7 @@ Date: Thu Sep 6 22:09:06 2012 -0400
TODO | 4 +-
src/hb-common.cc | 9 +++
src/hb-common.h | 6 +-
- src/hb-shape.cc | 168
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-shape.cc | 168 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-shape.h | 13 +++++
util/options.cc | 132 ++-----------------------------------------
6 files changed, 201 insertions(+), 131 deletions(-)
@@ -71866,17 +70376,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Sep 6 17:22:31 2012 -0400
[OT] Do per-ligature-component fallback mark positioning
-
+
With this in place, you can remove GDEF/GSUB/GPOS tables from Arabic
fonts and still get per-component marks positioned on
- oh-yeah-fallback-formed LAM-ALEF ligatures with marks in between
- the LAM
+ oh-yeah-fallback-formed LAM-ALEF ligatures with marks in between the LAM
and ALEF.
-
+
Now *that*'s pretty cool, if a bit anachronistic...
- src/hb-ot-shape-fallback.cc | 43
- ++++++++++++++++++++++++++++++++++++-------
+ src/hb-ot-shape-fallback.cc | 43 ++++++++++++++++++++++++++++++++++++-------
1 file changed, 36 insertions(+), 7 deletions(-)
commit 525c6855783a018d52867b9ece2ee90868ff1f91
@@ -71884,7 +70392,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Sep 6 16:02:07 2012 -0400
[OT] Make fallback mark positioning more robust
-
+
...with clusters spanning multiple base characters.
src/hb-ot-shape-fallback.cc | 11 +++++++++--
@@ -71928,8 +70436,7 @@ Date: Thu Sep 6 01:16:39 2012 -0400
src/gen-arabic-table.py | 6 +-
src/hb-ot-shape-complex-arabic-fallback.hh | 2 +-
- src/hb-ot-shape-complex-arabic-table.hh | 266
- ++++++++++++++---------------
+ src/hb-ot-shape-complex-arabic-table.hh | 266 ++++++++++++++---------------
3 files changed, 137 insertions(+), 137 deletions(-)
commit 82f6b6f388b801a1483854cb56a2cadbb94e0f2b
@@ -71946,9 +70453,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 5 22:19:28 2012 -0400
[OT] Port Arabic fallback shaping to synthetic GSUB
-
+
All of init/medi/fina/isol and rlig implemented.
-
+
Let there be dragons... ⻯
src/Makefile.am | 1 +
@@ -71957,8 +70464,7 @@ Date: Wed Sep 5 22:19:28 2012 -0400
src/hb-ot-layout-gsub-table.hh | 11 +-
src/hb-ot-map-private.hh | 6 +
src/hb-ot-map.cc | 1 +
- src/hb-ot-shape-complex-arabic-fallback.hh | 252
- +++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-arabic-fallback.hh | 252 +++++++++++++++++++++++++++++
src/hb-ot-shape-complex-arabic.cc | 158 ++++++------------
src/hb-ot-shape.cc | 7 +-
src/hb-private.hh | 11 +-
@@ -71969,18 +70475,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 5 17:32:57 2012 -0400
[Indic] Allow "H,ZWJ,M"
-
+
Uniscribe accepts a Halant,ZWJ before matras. Allow that.
-
+
BENGALI down from 295 to 291
DEVANAGARI down from 69 to 57
GUJARATI down from 19 to 17
KANNADA down from 871 to 867
MALAYALAM down from 340 to 337
TELUGU down from 20 to 16
-
+
Currently at:
-
+
BENGALI: 353897 out of 354188 tests passed. 291 failed (0.0821598%)
DEVANAGARI: 707337 out of 707394 tests passed. 57 failed (0.00805774%)
GUJARATI: 366440 out of 366457 tests passed. 17 failed (0.00463902%)
@@ -71988,8 +70494,7 @@ Date: Wed Sep 5 17:32:57 2012 -0400
KANNADA: 951046 out of 951913 tests passed. 867 failed (0.0910798%)
KHMER: 299077 out of 299124 tests passed. 47 failed (0.0157125%)
LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
- MALAYALAM: 1047997 out of 1048334 tests passed. 337 failed
- (0.0321462%)
+ MALAYALAM: 1047997 out of 1048334 tests passed. 337 failed (0.0321462%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271666 out of 271847 tests passed. 181 failed (0.0665816%)
TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
@@ -72004,20 +70509,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 5 17:21:17 2012 -0400
[Indic] Relax grammar
-
- Now that we insert dotted-circle, tests break more easily when
- our indic
+
+ Now that we insert dotted-circle, tests break more easily when our indic
machine breaks.
-
+
In particular, a few Devanagari tests were having sequences like
- "C,H,ZWJ,N", and because of the ZWJ the Nukta does NOT get reordered
- to
+ "C,H,ZWJ,N", and because of the ZWJ the Nukta does NOT get reordered to
before the Halant as the grammar used to expect... Fixup.
-
+
Another case is as simple as "C,ZWJ,SM".
-
+
Fixes 10 out of 79 failures:
-
+
DEVANAGARI: 707325 out of 707394 tests passed. 69 failed (0.00975411%)
src/hb-ot-shape-complex-indic-machine.rl | 4 ++--
@@ -72028,14 +70531,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 5 15:54:21 2012 -0400
[Indic] Fix Khmer syllable-final coeng-consonant
-
+
Brings down Khmer failures from 162 to 47.
-
+
KHMER: 299077 out of 299124 tests passed. 47 failed (0.0157125%)
-
+
Also rebaselined some of the test files that had only-inherited lines.
Removing those, the stats are:
-
+
BENGALI: 353893 out of 354188 tests passed. 295 failed (0.0832891%)
DEVANAGARI: 707315 out of 707394 tests passed. 79 failed (0.0111678%)
GUJARATI: 366438 out of 366457 tests passed. 19 failed (0.00518478%)
@@ -72043,14 +70546,13 @@ Date: Wed Sep 5 15:54:21 2012 -0400
KANNADA: 951042 out of 951913 tests passed. 871 failed (0.0915%)
KHMER: 299077 out of 299124 tests passed. 47 failed (0.0157125%)
LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
- MALAYALAM: 1047994 out of 1048334 tests passed. 340 failed
- (0.0324324%)
+ MALAYALAM: 1047994 out of 1048334 tests passed. 340 failed (0.0324324%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271666 out of 271847 tests passed. 181 failed (0.0665816%)
TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
TELUGU: 970553 out of 970573 tests passed. 20 failed (0.00206064%)
TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%)
-
+
Still some regressions, but some of the more egregious cases are
addressed.
@@ -72062,18 +70564,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 5 15:50:47 2012 -0400
Fixup test failure reporting
-
+
After we implemented dotted-circle, we were still ignoring any tests
- that had dottedcircle in it for any of the shapers. That meant
- that if
+ that had dottedcircle in it for any of the shapers. That meant that if
we wrongly outputted dottedcircle, the test was being ignored. Ouch!
-
+
Fixing that shows regressions across the board. Most are Uniscribe
bugs: NOT inserting dotted-circle when it should. Some are arou
machine bugs. This is in fact a nice way to catch Indic-machine
deficiencies and when I fix the regressions, our clusters should be
much closer to Uniscribe. For now, we regressed from:
-
+
BENGALI: 353997 out of 354285 tests passed. 288 failed (0.0812905%)
DEVANAGARI: 707339 out of 707394 tests passed. 55 failed (0.00777502%)
GUJARATI: 366489 out of 366506 tests passed. 17 failed (0.0046384%)
@@ -72081,16 +70582,15 @@ Date: Wed Sep 5 15:50:47 2012 -0400
KANNADA: 951086 out of 951913 tests passed. 827 failed (0.0868777%)
KHMER: 299106 out of 299124 tests passed. 18 failed (0.00601757%)
LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
- MALAYALAM: 1048104 out of 1048416 tests passed. 312 failed
- (0.0297592%)
+ MALAYALAM: 1048104 out of 1048416 tests passed. 312 failed (0.0297592%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271747 out of 271847 tests passed. 100 failed (0.0367854%)
TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%)
TELUGU: 970558 out of 970573 tests passed. 15 failed (0.00154548%)
TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%)
-
+
To:
-
+
BENGALI: 353990 out of 354285 tests passed. 295 failed (0.0832663%)
DEVANAGARI: 707315 out of 707394 tests passed. 79 failed (0.0111678%)
GUJARATI: 366447 out of 366506 tests passed. 59 failed (0.016098%)
@@ -72098,14 +70598,13 @@ Date: Wed Sep 5 15:50:47 2012 -0400
KANNADA: 951042 out of 951913 tests passed. 871 failed (0.0915%)
KHMER: 298962 out of 299124 tests passed. 162 failed (0.0541581%)
LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
- MALAYALAM: 1048074 out of 1048416 tests passed. 342 failed
- (0.0326206%)
+ MALAYALAM: 1048074 out of 1048416 tests passed. 342 failed (0.0326206%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271666 out of 271847 tests passed. 181 failed (0.0665816%)
TAMIL: 1091835 out of 1091837 tests passed. 2 failed (0.000183178%)
TELUGU: 970553 out of 970573 tests passed. 20 failed (0.00206064%)
TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%)
-
+
Investigating.
test/shaping/hb_test_tools.py | 8 +++++---
@@ -72116,17 +70615,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 5 15:11:14 2012 -0400
[Indic] Tamil does not have half-forms either
-
+
The Win7 Tamil font does not realy on this behavior, but the WinXP
version does. Handle Tamil like Malayalam: Matras always move to
before base.
-
+
WinXP Tamil failures went down from 168964 (15.4752%) to 167
(0.0152953%) (two orders of magnitude reduction!).
-
+
Included in this is a minor fixup that actually fixed a few tests
with non-Tamil too. Numbers at:
-
+
BENGALI: 353997 out of 354285 tests passed. 288 failed (0.0812905%)
DEVANAGARI: 707339 out of 707394 tests passed. 55 failed (0.00777502%)
GUJARATI: 366489 out of 366506 tests passed. 17 failed (0.0046384%)
@@ -72134,8 +70633,7 @@ Date: Wed Sep 5 15:11:14 2012 -0400
KANNADA: 951086 out of 951913 tests passed. 827 failed (0.0868777%)
KHMER: 299106 out of 299124 tests passed. 18 failed (0.00601757%)
LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
- MALAYALAM: 1048104 out of 1048416 tests passed. 312 failed
- (0.0297592%)
+ MALAYALAM: 1048104 out of 1048416 tests passed. 312 failed (0.0297592%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271747 out of 271847 tests passed. 100 failed (0.0367854%)
TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%)
@@ -72172,8 +70670,7 @@ Date: Tue Sep 4 21:13:17 2012 -0400
[OT] Add SubstLookup serialize API
src/hb-ot-layout-common-private.hh | 2 +-
- src/hb-ot-layout-gsub-table.hh | 65
- +++++++++++++++++++++++++++++++++++++-
+ src/hb-ot-layout-gsub-table.hh | 65 +++++++++++++++++++++++++++++++++++++-
2 files changed, 65 insertions(+), 2 deletions(-)
commit 715e03bc21d6adaa8e1f647235843839dc47dad1
@@ -72202,8 +70699,7 @@ Date: Tue Sep 4 18:17:57 2012 -0400
src/hb-open-type-private.hh | 53 +++++++++++++++-
src/hb-ot-layout-common-private.hh | 8 ++-
- src/hb-ot-layout-gsub-table.hh | 125
- +++++++++++++++++++++++++++++--------
+ src/hb-ot-layout-gsub-table.hh | 125 +++++++++++++++++++++++++++++--------
3 files changed, 156 insertions(+), 30 deletions(-)
commit 1b38b4e817d871b9549be65af6030bd0eea7f775
@@ -72265,8 +70761,7 @@ Date: Mon Sep 3 23:28:34 2012 -0400
[OT] Implement serialize() for MultiSubst
src/hb-open-type-private.hh | 10 ++++++++++
- src/hb-ot-layout-gsub-table.hh | 43
- ++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout-gsub-table.hh | 43 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 53 insertions(+)
commit 4912030dfba740c822e200d33cbb5c6dbbeaf79e
@@ -72284,7 +70779,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 3 20:19:46 2012 -0400
Fix possible NULL dereference
-
+
As reported by Kenichi Ishibashi.
src/hb-ot-layout-gsubgpos-private.hh | 2 +-
@@ -72295,7 +70790,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Sep 1 21:56:06 2012 -0400
[OT] Remove serialize alignment
-
+
Will reintroduce in a different way when we actually need it.
src/hb-open-type-private.hh | 24 +++++++++++-------------
@@ -72309,8 +70804,7 @@ Date: Sat Sep 1 21:43:38 2012 -0400
src/hb-open-type-private.hh | 14 +++++++++++++
src/hb-ot-layout-common-private.hh | 2 +-
- src/hb-ot-layout-gsub-table.hh | 43
- ++++++++++++++++++++++++++++++++++++--
+ src/hb-ot-layout-gsub-table.hh | 43 ++++++++++++++++++++++++++++++++++++--
3 files changed, 56 insertions(+), 3 deletions(-)
commit abcc5ac1fde1c493e4055dd2f27b8aade7713156
@@ -72318,7 +70812,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Sep 1 21:30:17 2012 -0400
[OT] Improve serialize syntax
-
+
For some definition of improvement...
src/hb-open-type-private.hh | 6 ++++--
@@ -72332,8 +70826,7 @@ Date: Sat Sep 1 20:48:22 2012 -0400
[OT] Restart work on serialize()
src/hb-open-type-private.hh | 39 ++++++++++++++++++------
- src/hb-ot-layout-common-private.hh | 61
- +++++++++++++++++++-------------------
+ src/hb-ot-layout-common-private.hh | 61 +++++++++++++++++++-------------------
src/hb-ot-layout-gsub-table.hh | 13 ++++++++
3 files changed, 73 insertions(+), 40 deletions(-)
@@ -72342,15 +70835,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Sep 1 20:38:45 2012 -0400
[OT] Insert dotted-circle for run-initial marks
-
+
Unfortunately if the font has GPOS and 'mark' feature does
not position mark on dotted-circle, our inserted dotted-circle
will not get the mark repositioned to itself. Uniscribe cheats
here.
-
+
If there is no GPOS however, the fallback positioning kicks in
and sorts this out.
-
+
I'm not willing to address the first case.
src/hb-ot-shape.cc | 32 ++++++++++++++++++++++++++++++++
@@ -72361,11 +70854,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Sep 1 20:06:26 2012 -0400
[OT] Fallback-position ccc=0 Thai / Lao marks
-
+
Not perfect, but so is fallback positioning in 2012...
- src/hb-ot-shape-fallback.cc | 56
- +++++++++++++++++++++++++++++++++++++--------
+ src/hb-ot-shape-fallback.cc | 56 +++++++++++++++++++++++++++++++++++++--------
1 file changed, 46 insertions(+), 10 deletions(-)
commit 3992b5ec4cb43d114d87ff7ee2b992bcf819c9cd
@@ -72375,8 +70867,7 @@ Date: Sat Sep 1 19:20:41 2012 -0400
Move code around
src/hb-ot-shape-fallback-private.hh | 5 ++++
- src/hb-ot-shape-fallback.cc | 46
- +++++++++++++++++++++++++------------
+ src/hb-ot-shape-fallback.cc | 46 +++++++++++++++++++++++++------------
src/hb-ot-shape-private.hh | 6 +++++
src/hb-ot-shape.cc | 4 ++++
4 files changed, 46 insertions(+), 15 deletions(-)
@@ -72386,17 +70877,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 31 18:12:01 2012 -0400
[Indic] Implement dotted-circle insertion for broken clusters
-
+
No panic, we reeally insert dotted circle when it's absolutely broken.
-
- Fixes most of the dotted-circle cases against Uniscribe. (for
- Devanagari
+
+ Fixes most of the dotted-circle cases against Uniscribe. (for Devanagari
fixes 80% of them, for Khmer 70%; the rest look like Uniscribe being
really bogus...)
-
+
I had to make a decision. Apparently Uniscribe adds one dotted circle
- to each broken character. I tried that, but that goes wrong
- easily with
+ to each broken character. I tried that, but that goes wrong easily with
split matras. So I made it add only one dotted circle to an entire
broken syllable tail. As in: "if there was a dotted circle here, this
would have formed a correct cluster." That works better for split
@@ -72406,8 +70895,7 @@ Date: Fri Aug 31 18:12:01 2012 -0400
src/hb-buffer.cc | 10 +++++
src/hb-ot-shape-complex-indic-machine.rl | 4 +-
src/hb-ot-shape-complex-indic-private.hh | 2 +-
- src/hb-ot-shape-complex-indic.cc | 67
- +++++++++++++++++++++++++++++---
+ src/hb-ot-shape-complex-indic.cc | 67 +++++++++++++++++++++++++++++---
src/hb-ot-shape-normalize-private.hh | 1 +
src/hb-ot-shape-normalize.cc | 11 +++---
7 files changed, 83 insertions(+), 13 deletions(-)
@@ -72419,8 +70907,7 @@ Date: Fri Aug 31 16:49:34 2012 -0400
[Indic] Start adding dotted-circle instrastructure
src/hb-ot-shape-complex-indic-machine.rl | 19 +++++++------
- src/hb-ot-shape-complex-indic.cc | 46
- +++++++++++++++++++++++++++++---
+ src/hb-ot-shape-complex-indic.cc | 46 +++++++++++++++++++++++++++++---
2 files changed, 51 insertions(+), 14 deletions(-)
commit 1be368e96fb7de8c77bf992874e0d5bd6b272ebe
@@ -72458,8 +70945,7 @@ Date: Wed Aug 29 21:08:59 2012 -0400
[OT] Add serialize() for Coverage
src/hb-open-type-private.hh | 34 +++++++++++++++++----
- src/hb-ot-layout-common-private.hh | 62
- ++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout-common-private.hh | 62 ++++++++++++++++++++++++++++++++++++++
2 files changed, 90 insertions(+), 6 deletions(-)
commit e901b954c6ec44ac3ae7fb3c326e6e7a40718e4b
@@ -72468,8 +70954,7 @@ Date: Wed Aug 29 20:26:08 2012 -0400
[OT] Start adding serialize() API
- src/hb-open-type-private.hh | 77
- +++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-open-type-private.hh | 77 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 77 insertions(+)
commit 965c280de09b49d711cb78d629da321c802084de
@@ -72477,7 +70962,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 29 13:59:16 2012 -0400
Add HB_BUFFER_ASSERT_VAR
-
+
To be used in places we access buffer vars...
src/hb-buffer-private.hh | 3 +++
@@ -72498,20 +70983,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 29 11:11:54 2012 -0400
Port Arabic fallback ligating to share code with GSUB
-
+
This will eventually allow us to skip marks, as well as (fallback)
attach marks to ligature components of fallback-shaped Arabic.
That would be pretty cool. I kludged GDEF props in, so mark-skipping
works, but the produced ligature id/components will be cleared later
by substitute_start() et al.
-
- Perhaps using a synthetic table for Arabic fallback shaping was
- a better
+
+ Perhaps using a synthetic table for Arabic fallback shaping was a better
idea. The current approach has way too many layering violations...
src/hb-ot-layout-gsubgpos-private.hh | 4 ++
- src/hb-ot-shape-complex-arabic.cc | 72
- ++++++++++++++++++++++++------------
+ src/hb-ot-shape-complex-arabic.cc | 72 ++++++++++++++++++++++++------------
src/hb-ot-shape.cc | 4 +-
3 files changed, 56 insertions(+), 24 deletions(-)
@@ -72531,10 +71014,8 @@ Date: Tue Aug 28 23:18:22 2012 -0400
[GSUB] Move ligation logic over
- src/hb-ot-layout-gsub-table.hh | 78
- ++++-------------------------------
- src/hb-ot-layout-gsubgpos-private.hh | 80
- ++++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout-gsub-table.hh | 78 ++++-------------------------------
+ src/hb-ot-layout-gsubgpos-private.hh | 80 ++++++++++++++++++++++++++++++++++++
2 files changed, 89 insertions(+), 69 deletions(-)
commit 191fa885d9e0a2dce92dd8727cddd18495e62409
@@ -72542,12 +71023,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 28 22:58:55 2012 -0400
[GSUB] Merge Ligature and context input matching
-
+
Looks better now...
TODO | 4 --
- src/hb-ot-layout-gsub-table.hh | 71
- +++++++-----------------------------
+ src/hb-ot-layout-gsub-table.hh | 71 +++++++-----------------------------
src/hb-ot-layout-gsubgpos-private.hh | 29 ++++++++++++++-
3 files changed, 40 insertions(+), 64 deletions(-)
@@ -72557,10 +71037,8 @@ Date: Tue Aug 28 22:24:51 2012 -0400
Start converging Ligature and match_input
- src/hb-ot-layout-gsub-table.hh | 58
- +++++++++++++++++----------------
- src/hb-ot-layout-gsubgpos-private.hh | 62
- ++++++++++++++++++++++++++++--------
+ src/hb-ot-layout-gsub-table.hh | 58 +++++++++++++++++----------------
+ src/hb-ot-layout-gsubgpos-private.hh | 62 ++++++++++++++++++++++++++++--------
2 files changed, 78 insertions(+), 42 deletions(-)
commit 2eef71737ea29ffadbb5a2be4a898b44f53f66ac
@@ -72570,8 +71048,7 @@ Date: Tue Aug 28 19:16:38 2012 -0400
[hb-icu-le] Add visbility
src/hb-icu-le/FontTableCache.h | 6 +++++-
- src/hb-icu-le/PortableFontInstance.cpp | 39
- ----------------------------------
+ src/hb-icu-le/PortableFontInstance.cpp | 39 ----------------------------------
src/hb-icu-le/PortableFontInstance.h | 7 ++++--
src/hb-icu-le/cmaps.cpp | 2 +-
src/hb-icu-le/cmaps.h | 5 ++++-
@@ -72613,7 +71090,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 28 17:57:49 2012 -0400
Use namespace for OpenType tables
-
+
Avoids USHORT, SHORT, ULONG, LONG clashes with Windows API.
src/hb-font.cc | 12 ++---
@@ -72628,8 +71105,7 @@ Date: Tue Aug 28 17:57:49 2012 -0400
src/hb-ot-layout-gsub-table.hh | 4 ++
src/hb-ot-layout-gsubgpos-private.hh | 4 ++
src/hb-ot-layout-private.hh | 12 +++--
- src/hb-ot-layout.cc | 91
- ++++++++++++++++++------------------
+ src/hb-ot-layout.cc | 91 ++++++++++++++++++------------------
src/hb-ot-maxp-table.hh | 4 ++
src/hb-ot-name-table.hh | 4 ++
src/hb-uniscribe.cc | 8 ++--
@@ -72641,9 +71117,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 28 16:31:23 2012 -0400
Revert "Minor"
-
+
This reverts commit 3e0a03978b91994bb7fa7922593cbdfc50878dfc.
-
+
I know remember why that line is there :).
src/hb-ot-shape-complex-arabic.cc | 1 +
@@ -72672,7 +71148,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 27 16:54:34 2012 -0400
Only fallback-position glyphs if we have the ccc
-
+
Previously, ccc=0 Thai / Lao marks were being
mispositioned. Don't touch them.
@@ -72702,7 +71178,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Aug 26 14:30:18 2012 -0400
[Indic] Fix switch
-
+
D'oh. Was working by pure chance :)).
src/hb-ot-shape-complex-indic.cc | 2 +-
@@ -72732,8 +71208,7 @@ Date: Fri Aug 24 00:41:51 2012 -0400
[graphite2] Cleanup scratch buffer allocation
- src/hb-graphite2.cc | 77
- ++++++++++++++++++++++++++++++-----------------------
+ src/hb-graphite2.cc | 77 ++++++++++++++++++++++++++++++-----------------------
1 file changed, 44 insertions(+), 33 deletions(-)
commit 2f7586c6229096143ca0a96712a27416ee0d3c85
@@ -72743,8 +71218,7 @@ Date: Thu Aug 23 23:59:55 2012 -0400
[icu-le] Implement icu layout engine shaper
configure.ac | 2 +-
- src/hb-icu-le.cc | 113
- +++++++++++++++++++++++++++++++++++++++++++++-----
+ src/hb-icu-le.cc | 113 +++++++++++++++++++++++++++++++++++++++++++++-----
src/hb-icu-le/cmaps.h | 1 -
src/hb-shaper-list.hh | 4 ++
4 files changed, 108 insertions(+), 12 deletions(-)
@@ -72758,8 +71232,7 @@ Date: Thu Aug 23 21:52:44 2012 -0400
src/hb-icu-le.cc | 17 +++-
src/hb-icu-le/FontTableCache.cpp | 34 ++++----
src/hb-icu-le/FontTableCache.h | 9 ++-
- src/hb-icu-le/PortableFontInstance.cpp | 144
- +++------------------------------
+ src/hb-icu-le/PortableFontInstance.cpp | 144 +++------------------------------
src/hb-icu-le/PortableFontInstance.h | 21 ++---
src/hb-icu-le/README | 1 +
6 files changed, 57 insertions(+), 169 deletions(-)
@@ -72778,7 +71251,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 23 21:23:41 2012 -0400
[icu-le] Start adding a icu-layout-engine backend
-
+
Import PortableFontInstance and add shaper stub.
configure.ac | 9 +
@@ -72787,16 +71260,14 @@ Date: Thu Aug 23 21:23:41 2012 -0400
src/hb-icu-le/FontTableCache.cpp | 91 +++++++
src/hb-icu-le/FontTableCache.h | 41 +++
src/hb-icu-le/Makefile.am | 25 ++
- src/hb-icu-le/PortableFontInstance.cpp | 436
- ++++++++++++++++++++++++++++++++
+ src/hb-icu-le/PortableFontInstance.cpp | 436 ++++++++++++++++++++++++++++++++
src/hb-icu-le/PortableFontInstance.h | 117 +++++++++
src/hb-icu-le/README | 2 +
src/hb-icu-le/cmaps.cpp | 200 +++++++++++++++
src/hb-icu-le/cmaps.h | 85 +++++++
src/hb-icu-le/letest.h | 49 ++++
src/hb-icu-le/license.html | 51 ++++
- src/hb-icu-le/sfnt.h | 449
- +++++++++++++++++++++++++++++++++
+ src/hb-icu-le/sfnt.h | 449 +++++++++++++++++++++++++++++++++
14 files changed, 1674 insertions(+)
commit b5584ee4be46b47e1678acf28426970a6d670b4f
@@ -72804,9 +71275,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 23 16:26:07 2012 -0400
[Indic] For old-spec, match non-zero context
-
- Fixes consonant-position with old-spec Malayalam. Uniscribe seem
- to be
+
+ Fixes consonant-position with old-spec Malayalam. Uniscribe seem to be
doing this. Fixes below-base La (eg. Pa,H,La) with AnjaliNewLipi.ttf.
Doesn't regress new-spec or other scripts.
@@ -72818,7 +71288,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 23 16:22:28 2012 -0400
[GSUB] Allow non-zero-context matching in would_apply()
-
+
To be used in the next patch.
src/hb-ot-layout-gsubgpos-private.hh | 6 ++++--
@@ -72835,9 +71305,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 23 16:10:37 2012 -0400
Revert "[Indic/GSUB] Ignore context when matching would_apply()"
-
+
This reverts commit 24dd4e56743c6ce5e01cb710ca9e01b3e527af58.
-
+
Oops. My bad. The change _regressed_ Malayalam test suite, not
improved it. I'll redo it, differentiating between old-spec and
new-spec cases.
@@ -72850,21 +71320,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 23 15:47:10 2012 -0400
[Indic/GSUB] Ignore context when matching would_apply()
-
- The MS Indic specs say "...all classifications are determined
- ... using
- context-free substitutions." However, testing shows that MS's
- Malayalam
- shapers (both old and new), "match" even if there is no zero-context
- rule.
+
+ The MS Indic specs say "...all classifications are determined ... using
+ context-free substitutions." However, testing shows that MS's Malayalam
+ shapers (both old and new), "match" even if there is no zero-context rule.
We follow.
-
+
Fixes below-base La (eg. Pa,H,La) with AnjaliNewLipi.ttf (old spec).
Moreover, test suite Malayalam failures are down to 312 from 875! No
change in other scripts.
-
+
Current numbers:
-
+
BENGALI: 353996 out of 354285 tests passed. 289 failed (0.0815727%)
DEVANAGARI: 707339 out of 707394 tests passed. 55 failed (0.00777502%)
GUJARATI: 366489 out of 366506 tests passed. 17 failed (0.0046384%)
@@ -72872,8 +71339,7 @@ Date: Thu Aug 23 15:47:10 2012 -0400
KANNADA: 951086 out of 951913 tests passed. 827 failed (0.0868777%)
KHMER: 299106 out of 299124 tests passed. 18 failed (0.00601757%)
LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
- MALAYALAM: 1047541 out of 1048416 tests passed. 875 failed
- (0.0834592%)
+ MALAYALAM: 1047541 out of 1048416 tests passed. 875 failed (0.0834592%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271726 out of 271847 tests passed. 121 failed (0.0445103%)
TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%)
@@ -72888,7 +71354,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 23 15:19:45 2012 -0400
[Indic] Implement pre-base reordering Ra for old-spec Malayalam
-
+
Fixes Pa,H,Ra sequence with AnjaliNewLipi.ttf.
src/hb-ot-shape-complex-indic.cc | 5 ++---
@@ -72899,20 +71365,20 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 23 12:06:14 2012 -0400
[Indic] Only apply basic features per-syllable
-
+
Free up syllables and let features work across syllables for the
presentation forms features and GPOS.
-
+
Fixed:
- 1 GURMUKHI test (remains 40)
- 12 KHMER tests (remains 18)
- 11 SINHALA tests (remains 121)
-
+
Regresses:
- 5 MALAYALAM tests (up to 312)
-
+
Current numbers:
-
+
BENGALI: 353996 out of 354285 tests passed. 289 failed (0.0815727%)
DEVANAGARI: 707339 out of 707394 tests passed. 55 failed (0.00777502%)
GUJARATI: 366489 out of 366506 tests passed. 17 failed (0.0046384%)
@@ -72920,8 +71386,7 @@ Date: Thu Aug 23 12:06:14 2012 -0400
KANNADA: 951086 out of 951913 tests passed. 827 failed (0.0868777%)
KHMER: 299106 out of 299124 tests passed. 18 failed (0.00601757%)
LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
- MALAYALAM: 1048104 out of 1048416 tests passed. 312 failed
- (0.0297592%)
+ MALAYALAM: 1048104 out of 1048416 tests passed. 312 failed (0.0297592%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271726 out of 271847 tests passed. 121 failed (0.0445103%)
TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%)
@@ -72973,7 +71438,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 16 11:35:50 2012 -0400
[OT] Fix Arabic shaper OOB access
-
+
https://bugzilla.mozilla.org/show_bug.cgi?id=782908
src/hb-ot-shape-complex-arabic.cc | 2 +-
@@ -72984,7 +71449,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 16 08:09:44 2012 -0400
[configure] Cleanup check for ICU
-
+
Check for upstream-provided 'icu-uc' pkgconfig package.
configure.ac | 21 +--------------------
@@ -72995,7 +71460,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 16 07:32:59 2012 -0400
[ICU] Fix includes
-
+
As reported by Steven Loomis, including uversion.h works everywhere.
src/hb-icu.cc | 6 ------
@@ -73015,7 +71480,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 15 17:24:28 2012 -0400
[NEWS] Fix date
-
+
Oops!
NEWS | 2 +-
@@ -73065,14 +71530,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 11 21:26:25 2012 -0400
[ICU] Use new normalizer2 compose/decompose API
-
+
It's considerably faster than the fallback implementation we had
previously!
src/hb-buffer.cc | 9 +++---
src/hb-glib.cc | 26 +++++++---------
- src/hb-icu.cc | 75
- +++++++++++++++++++++++++++++++++++++----------
+ src/hb-icu.cc | 75 +++++++++++++++++++++++++++++++++++++----------
src/hb-unicode-private.hh | 13 ++------
src/hb-unicode.cc | 35 ++++++++++++++++++++--
src/hb-warning.cc | 8 -----
@@ -73092,14 +71556,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 11 18:34:13 2012 -0400
[OT] Unbreak Thai shaping and fallback Arabic shaping
-
+
The merger of normalizer and glyph-mapping broke shapers that
modified text stream. Unbreak them by adding a new preprocess_text
shaping stage that happens before normalizing/cmap and disallow
setup_mask modification of actual text.
- src/hb-ot-shape-complex-arabic.cc | 42
- ++++++++++++++++++++++++++++----------
+ src/hb-ot-shape-complex-arabic.cc | 42 ++++++++++++++++++++++++++++----------
src/hb-ot-shape-complex-indic.cc | 1 +
src/hb-ot-shape-complex-misc.cc | 12 ++++++-----
src/hb-ot-shape-complex-private.hh | 15 +++++++++++---
@@ -73112,8 +71575,7 @@ Date: Sat Aug 11 18:20:28 2012 -0400
[OT] Add shape_plan to Arabic shaper
- src/hb-ot-shape-complex-arabic.cc | 82
- +++++++++++++++++++++++++--------------
+ src/hb-ot-shape-complex-arabic.cc | 82 +++++++++++++++++++++++++--------------
1 file changed, 53 insertions(+), 29 deletions(-)
commit 344cc56698a8c84c4c1a05a71d829e5171aa3a60
@@ -73139,7 +71601,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 10 16:34:04 2012 -0400
[OT] Fix fallback mark positioning with left-to-right text
-
+
Ouch!
src/hb-ot-shape-fallback.cc | 13 +++++++++++--
@@ -73150,14 +71612,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 10 14:49:37 2012 -0400
Bump version to 0.9.2
-
+
A *real* release this time, with NEWS, ChangeLog, etc.
AUTHORS | 8 ++++
COPYING | 9 ++--
Makefile.am | 13 +++---
- NEWS | 136
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ NEWS | 136 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
THANKS | 7 +++
configure.ac | 4 +-
6 files changed, 165 insertions(+), 12 deletions(-)
@@ -73177,34 +71638,20 @@ Date: Fri Aug 10 09:06:30 2012 -0400
[test] Move around
- test/shaping/texts/in-tree/shaper-arabic/script-arabic/MANIFEST |
- 2 +-
- .../texts/in-tree/shaper-arabic/script-arabic/language-urdu/MANIFEST |
- 1 +
- .../shaper-arabic/script-arabic/{ => language-urdu}/crulp/MANIFEST
- | 0
- .../script-arabic/{ => language-urdu}/crulp/ligatures/2grams.txt
- | 0
- .../script-arabic/{ => language-urdu}/crulp/ligatures/3grams.txt
- | 0
- .../script-arabic/{ => language-urdu}/crulp/ligatures/4grams.txt
- | 0
- .../script-arabic/{ => language-urdu}/crulp/ligatures/5grams.txt
- | 0
- .../script-arabic/{ => language-urdu}/crulp/ligatures/6grams.txt
- | 0
- .../script-arabic/{ => language-urdu}/crulp/ligatures/7grams.txt
- | 0
- .../script-arabic/{ => language-urdu}/crulp/ligatures/8grams.txt
- | 0
- .../script-arabic/{ => language-urdu}/crulp/ligatures/LICENSE
- | 0
- .../script-arabic/{ => language-urdu}/crulp/ligatures/MANIFEST
- | 0
- .../script-arabic/{ => language-urdu}/crulp/ligatures/README |
- 0
- .../script-arabic/{ => language-urdu}/crulp/ligatures/SOURCES
- | 0
+ test/shaping/texts/in-tree/shaper-arabic/script-arabic/MANIFEST | 2 +-
+ .../texts/in-tree/shaper-arabic/script-arabic/language-urdu/MANIFEST | 1 +
+ .../shaper-arabic/script-arabic/{ => language-urdu}/crulp/MANIFEST | 0
+ .../script-arabic/{ => language-urdu}/crulp/ligatures/2grams.txt | 0
+ .../script-arabic/{ => language-urdu}/crulp/ligatures/3grams.txt | 0
+ .../script-arabic/{ => language-urdu}/crulp/ligatures/4grams.txt | 0
+ .../script-arabic/{ => language-urdu}/crulp/ligatures/5grams.txt | 0
+ .../script-arabic/{ => language-urdu}/crulp/ligatures/6grams.txt | 0
+ .../script-arabic/{ => language-urdu}/crulp/ligatures/7grams.txt | 0
+ .../script-arabic/{ => language-urdu}/crulp/ligatures/8grams.txt | 0
+ .../script-arabic/{ => language-urdu}/crulp/ligatures/LICENSE | 0
+ .../script-arabic/{ => language-urdu}/crulp/ligatures/MANIFEST | 0
+ .../script-arabic/{ => language-urdu}/crulp/ligatures/README | 0
+ .../script-arabic/{ => language-urdu}/crulp/ligatures/SOURCES | 0
14 files changed, 2 insertions(+), 1 deletion(-)
commit 7a484c601e0958533eb85a6902296733c39537fe
@@ -73217,10 +71664,8 @@ Date: Fri Aug 10 09:05:29 2012 -0400
.../shaper-arabic/script-arabic/crulp/MANIFEST | 1 +
.../script-arabic/crulp/ligatures/2grams.txt | 601 ++
.../script-arabic/crulp/ligatures/3grams.txt | 3415 +++++++++++
- .../script-arabic/crulp/ligatures/4grams.txt | 6316
- ++++++++++++++++++++
- .../script-arabic/crulp/ligatures/5grams.txt | 5029
- ++++++++++++++++
+ .../script-arabic/crulp/ligatures/4grams.txt | 6316 ++++++++++++++++++++
+ .../script-arabic/crulp/ligatures/5grams.txt | 5029 ++++++++++++++++
.../script-arabic/crulp/ligatures/6grams.txt | 1542 +++++
.../script-arabic/crulp/ligatures/7grams.txt | 354 ++
.../script-arabic/crulp/ligatures/8grams.txt | 26 +
@@ -73235,13 +71680,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 10 03:51:44 2012 -0400
[OT] Slightly adjust normalizer
-
+
The change is very subtle. If we have a single-char cluster that
decomposes to three or more characters, then try recomposition, in
case the farther mark may compose with the base.
- src/hb-ot-shape-normalize.cc | 81
- +++++++++++++++++++++++++++++---------------
+ src/hb-ot-shape-normalize.cc | 81 +++++++++++++++++++++++++++++---------------
1 file changed, 54 insertions(+), 27 deletions(-)
commit 07d682806349aee81f53114778ce0beb23909ed7
@@ -73259,14 +71703,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 9 22:33:32 2012 -0400
[OT] Avoid calling get_glyph() twice
-
+
Essentially move the glyph mapping to normalization process.
The effect on Devanagari is small (but observable). Should be more
observable in simple text, like ASCII.
src/hb-ot-shape-normalize-private.hh | 2 +
- src/hb-ot-shape-normalize.cc | 76
- +++++++++++++++++++++++++-----------
+ src/hb-ot-shape-normalize.cc | 76 +++++++++++++++++++++++++-----------
src/hb-ot-shape.cc | 44 ++++++++++-----------
3 files changed, 77 insertions(+), 45 deletions(-)
@@ -73284,11 +71727,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 9 21:58:07 2012 -0400
[OT] More code shuffling around
-
+
Preparing for merging map_glyphs() and normalize().
- src/hb-ot-shape.cc | 167
- +++++++++++++++++++++++++++--------------------------
+ src/hb-ot-shape.cc | 167 +++++++++++++++++++++++++++--------------------------
1 file changed, 86 insertions(+), 81 deletions(-)
commit cd0c6e148f6d078b364370cb2f808b793b921be2
@@ -73296,7 +71738,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 9 21:48:55 2012 -0400
Shuffle buffer variable allocations around
-
+
To room for more allocations, coming.
src/hb-ot-layout-private.hh | 6 +++---
@@ -73312,16 +71754,14 @@ Date: Thu Aug 9 21:31:52 2012 -0400
Minor
- src/hb-ot-shape-normalize.cc | 50
- +++++++++++++++++++++++++++-----------------
+ src/hb-ot-shape-normalize.cc | 50 +++++++++++++++++++++++++++-----------------
1 file changed, 31 insertions(+), 19 deletions(-)
commit 56c9e7c004e802ddcb8c704346026f1d7a812f9f
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 9 21:12:30 2012 -0400
- Fill out combining class resetting for fallback shaping
- Thai/Lao/Tibetan
+ Fill out combining class resetting for fallback shaping Thai/Lao/Tibetan
src/hb-ot-shape-fallback.cc | 38 +++++++++++++++++++++++++++++++++++++-
src/hb-unicode-private.hh | 7 ++++---
@@ -73333,9 +71773,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 9 18:30:34 2012 -0400
Revert "Reject lookups with no subTable"
-
+
This reverts commit 30ec9002d84e8b49290e782e6192069821ffa942.
-
+
See previous commit.
src/hb-ot-layout-common-private.hh | 1 -
@@ -73345,13 +71785,11 @@ commit 2eaf482b371034ce6ebfaedee98049b036fd3493
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 9 18:30:05 2012 -0400
- Revert "[GSUB/GPOS] Reject Context/ChainContext lookups with zero
- input"
-
+ Revert "[GSUB/GPOS] Reject Context/ChainContext lookups with zero input"
+
This reverts commit 0981068b75710397f08e0d2d776a0a2ea68d7117.
-
- I was confused. Even if we access coverage[0] unconditionally,
- we don't
+
+ I was confused. Even if we access coverage[0] unconditionally, we don't
need bound checks since the array machinary already handles that.
src/hb-ot-layout-gsubgpos-private.hh | 2 --
@@ -73362,12 +71800,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 8 18:04:29 2012 -0400
Add check-exported-symbols.sh
-
+
And misc linking fixes.
src/Makefile.am | 1 +
- src/check-exported-symbols.sh | 40
- ++++++++++++++++++++++++++++++++++++++++
+ src/check-exported-symbols.sh | 40 ++++++++++++++++++++++++++++++++++++++++
src/check-internal-symbols.sh | 2 +-
src/hb-ot-shape-complex-indic.cc | 2 +-
src/hb-ot-shape.cc | 6 +++---
@@ -73390,8 +71827,7 @@ Date: Wed Aug 8 17:44:19 2012 -0400
src/hb-ot-shape.cc | 2 +-
src/hb-shape-plan.cc | 2 +-
src/hb-shape-plan.h | 2 +-
- src/hb-tt-font.cc | 166
- +-----------------------------------------
+ src/hb-tt-font.cc | 166 +-----------------------------------------
12 files changed, 72 insertions(+), 226 deletions(-)
commit 560d68af8168d1baff607b9616a3590af70fe9ec
@@ -73399,7 +71835,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 8 17:16:01 2012 -0400
Use a export-file for Windows builds
-
+
Apparently even that doesn't make check-internal-symbols.sh happy with
mingw32. Going to disable that for DLLs again, but hopefully the
export-file is doing *something*.
@@ -73480,14 +71916,10 @@ Date: Wed Aug 8 14:33:37 2012 -0400
Minor renaming
- src/Makefile.am |
- 4 ++--
- ...sition-fallback-private.hh => hb-ot-shape-fallback-private.hh} |
- 8 ++++----
- src/{hb-ot-shape-position-fallback.cc => hb-ot-shape-fallback.cc} |
- 4 ++--
- src/hb-ot-shape.cc |
- 4 ++--
+ src/Makefile.am | 4 ++--
+ ...sition-fallback-private.hh => hb-ot-shape-fallback-private.hh} | 8 ++++----
+ src/{hb-ot-shape-position-fallback.cc => hb-ot-shape-fallback.cc} | 4 ++--
+ src/hb-ot-shape.cc | 4 ++--
4 files changed, 10 insertions(+), 10 deletions(-)
commit 801298b590effd768607bb532dc83c73ba65d16b
@@ -73495,7 +71927,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 8 14:26:36 2012 -0400
Fix cast
-
+
https://bugs.freedesktop.org/show_bug.cgi?id=53233
src/hb-buffer-private.hh | 10 ++++++----
@@ -73507,15 +71939,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 8 01:20:45 2012 -0400
[OT] Implement fallback positioning
-
+
Implemented for Arabic, Hebrew, and generic marks.
Activated if no GPOS table present.
src/hb-font.h | 3 +-
src/hb-ft.cc | 3 +-
src/hb-old.cc | 2 +-
- src/hb-ot-shape-position-fallback.cc | 237
- ++++++++++++++++++++++++++++++++++-
+ src/hb-ot-shape-position-fallback.cc | 237 ++++++++++++++++++++++++++++++++++-
src/hb-unicode-private.hh | 81 ++++++++++++
src/hb-unicode.cc | 107 ++++++----------
6 files changed, 356 insertions(+), 77 deletions(-)
@@ -73534,13 +71965,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 7 22:41:38 2012 -0400
[OT] Start adding fallback positioning
-
+
Used when there is no GPOS.
src/Makefile.am | 2 ++
src/hb-ot-shape-position-fallback-private.hh | 39 +++++++++++++++++++++++
- src/hb-ot-shape-position-fallback.cc | 47
- ++++++++++++++++++++++++++++
+ src/hb-ot-shape-position-fallback.cc | 47 ++++++++++++++++++++++++++++
src/hb-ot-shape.cc | 23 +++-----------
4 files changed, 93 insertions(+), 18 deletions(-)
@@ -73558,14 +71988,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 7 22:25:24 2012 -0400
[GSUB] Generalize would_apply()
-
- Fixes logic also, where before we were always matching if
- glyphs_len==1
+
+ Fixes logic also, where before we were always matching if glyphs_len==1
and a ligature started with the glyph.
src/hb-ot-layout-gsub-table.hh | 26 ++++++++++++++++++++-----
- src/hb-ot-layout-gsubgpos-private.hh | 37
- ++++++++++++++++++------------------
+ src/hb-ot-layout-gsubgpos-private.hh | 37 ++++++++++++++++++------------------
src/hb-ot-layout.cc | 3 +--
3 files changed, 40 insertions(+), 26 deletions(-)
@@ -73575,8 +72003,7 @@ Date: Tue Aug 7 22:13:25 2012 -0400
Add hb_font_glyph_from/to_string
- src/hb-font-private.hh | 43
- +++++++++++++++++++++++++++++++++++++++++++
+ src/hb-font-private.hh | 43 +++++++++++++++++++++++++++++++++++++++++++
src/hb-font.cc | 24 ++++++++++++++++++++----
src/hb-font.h | 11 +++++++++++
src/hb-private.hh | 16 ++++++++++++++++
@@ -73600,7 +72027,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 7 21:12:49 2012 -0400
[OT] Apply 'rclt' feature in horizontal mode
-
+
'rclt' is "Required Contextual Forms" being proposed by Microsoft.
It's like 'calt', but supposedly always on. We apply 'calt' anyway,
and now apply this too.
@@ -73623,10 +72050,8 @@ Date: Tue Aug 7 16:57:02 2012 -0400
More refactoring
- src/hb-ot-shape-normalize.cc | 161
- +++++++++++++++++++++++++++++++++++++++++-
- src/hb-unicode-private.hh | 164
- +------------------------------------------
+ src/hb-ot-shape-normalize.cc | 161 +++++++++++++++++++++++++++++++++++++++++-
+ src/hb-unicode-private.hh | 164 +------------------------------------------
2 files changed, 162 insertions(+), 163 deletions(-)
commit 428dfcab6634ff264570a0a5d715efb8048c3db5
@@ -73643,11 +72068,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 7 16:45:27 2012 -0400
Add Hebrew presentation forms shaping
-
+
Lifted from https://bugzilla.mozilla.org/show_bug.cgi?id=728866
- src/hb-unicode-private.hh | 121
- +++++++++++++++++++++++++++++++++++++++++++++-
+ src/hb-unicode-private.hh | 121 +++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 120 insertions(+), 1 deletion(-)
commit 32d71dc13317b322e2c5de00d767b2cb15fddd8b
@@ -73656,8 +72080,7 @@ Date: Tue Aug 7 14:11:16 2012 -0400
[Graphite] Minor
- src/hb-graphite2.cc | 60
- +++++++++++++++++++++++++----------------------------
+ src/hb-graphite2.cc | 60 +++++++++++++++++++++++++----------------------------
1 file changed, 28 insertions(+), 32 deletions(-)
commit 030ac5022e8a43b9329c26e72527bafc582ef44b
@@ -73665,7 +72088,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 7 13:01:12 2012 -0400
Remove enum trailing comma
-
+
...again.
src/hb-ot-shape-normalize-private.hh | 2 +-
@@ -73696,7 +72119,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 6 19:35:04 2012 -0700
[Graphite] Fix graphite2 backend with RTL text
-
+
Patch from Martin Hosken.
src/hb-graphite2.cc | 33 ++++++++++++++++++---------------
@@ -73708,8 +72131,7 @@ Date: Mon Aug 6 19:25:39 2012 -0700
[Graphite] Port graphite2 backend to new shaper infrastructure
- src/hb-graphite2.cc | 234
- +++++++++++++++++++++++---------------------------
+ src/hb-graphite2.cc | 234 +++++++++++++++++++++++---------------------------
src/hb-graphite2.h | 2 +-
src/hb-shaper-list.hh | 2 +-
3 files changed, 109 insertions(+), 129 deletions(-)
@@ -73719,7 +72141,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 6 17:07:19 2012 -0700
Remove unnecessary lifecycle bits
-
+
We already set recount to INVALID when destroying.
This block was not necessary.
@@ -73740,7 +72162,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Aug 5 21:16:26 2012 -0700
[Indic] Minor, move 'blwf' after 'half'
-
+
We don't apply them together anyway. Should not make any difference
right now.
@@ -73770,7 +72192,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 4 17:08:38 2012 -0700
Enlarge glyph_name buffer
-
+
Lohit Devanagari has a glyph named:
u0924_u094D.half_u0930_u094D.blwf.vatu
@@ -73782,7 +72204,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 4 16:43:18 2012 -0700
Rewrite ARRAY_LENGTH as a template function
-
+
Such it wouldn't apply to pointers accidentally.
src/hb-ot-shape-complex-arabic-table.hh | 4 ++--
@@ -73794,7 +72216,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 3 18:54:54 2012 -0700
[Indic] Fix consonant position font lookup logic
-
+
Oops. I broken this badly and the test suite did not notice. That
worries me. Have to investigate.
@@ -73823,14 +72245,12 @@ commit 71baea0062da4d7f143d62da38492a0813814e49
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 3 17:40:07 2012 -0700
- [OT] Use general-category, not GDEF class, to decide to zero mark
- advances
-
+ [OT] Use general-category, not GDEF class, to decide to zero mark advances
+
At this point, the GDEF glyph synthesis looks pointless. Not that I
have many fonts without GDEF lying around.
-
- As for mark advance zeroing when GPOS not available, that also
- is being
+
+ As for mark advance zeroing when GPOS not available, that also is being
replaced by proper fallback mark positioning soon.
src/hb-ot-shape.cc | 7 ++-----
@@ -73851,12 +72271,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 2 14:21:40 2012 -0400
[Indic] Add per-script configuration tables
-
+
This concludes the Indic shape_plan work. May do for Arabic also...
src/hb-ot-shape-complex-indic-private.hh | 16 +-
- src/hb-ot-shape-complex-indic.cc | 309
- +++++++++++++++----------------
+ src/hb-ot-shape-complex-indic.cc | 309 +++++++++++++++----------------
2 files changed, 159 insertions(+), 166 deletions(-)
commit 85fc6c483f6d734febbe39270e84701a651f01f1
@@ -73864,12 +72283,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 2 12:21:44 2012 -0400
[Indic] Move more stuff to the shape_plan
-
+
Almost done. Need to add per-script static tables.
src/hb-ot-shape-complex-indic-machine.rl | 4 +-
- src/hb-ot-shape-complex-indic.cc | 216
- ++++++++++++++++---------------
+ src/hb-ot-shape-complex-indic.cc | 216 ++++++++++++++++---------------
2 files changed, 116 insertions(+), 104 deletions(-)
commit 914ffaa40fcca020f65bacdd709421e9047afd83
@@ -73878,8 +72296,7 @@ Date: Thu Aug 2 11:03:39 2012 -0400
[Indic] Move more repeated work into shape_plan
- src/hb-ot-shape-complex-indic.cc | 63
- ++++++++++++++++++++++++++--------------
+ src/hb-ot-shape-complex-indic.cc | 63 ++++++++++++++++++++++++++--------------
1 file changed, 42 insertions(+), 21 deletions(-)
commit a8c6da90f4c6e8d27a3a1b758a55476776d9f750
@@ -73887,12 +72304,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 2 10:46:34 2012 -0400
[OT] Add per-complex-shaper shape_plan data
-
+
Hookup some Indic data to it. More to come.
src/hb-ot-shape-complex-arabic.cc | 2 +
- src/hb-ot-shape-complex-indic.cc | 128
- ++++++++++++++++++++++---------------
+ src/hb-ot-shape-complex-indic.cc | 128 ++++++++++++++++++++++---------------
src/hb-ot-shape-complex-misc.cc | 4 ++
src/hb-ot-shape-complex-private.hh | 16 ++++-
src/hb-ot-shape-private.hh | 1 +
@@ -73908,8 +72324,7 @@ Date: Thu Aug 2 10:07:58 2012 -0400
src/hb-ot-map-private.hh | 8 ++---
src/hb-ot-map.cc | 11 ++++---
src/hb-ot-shape-complex-indic-machine.rl | 4 +--
- src/hb-ot-shape-complex-indic.cc | 50
- +++++++++++++++-----------------
+ src/hb-ot-shape-complex-indic.cc | 50 +++++++++++++++-----------------
src/hb-ot-shape-private.hh | 6 ++++
src/hb-ot-shape.cc | 28 ++++++++++--------
6 files changed, 57 insertions(+), 50 deletions(-)
@@ -73959,8 +72374,7 @@ Date: Thu Aug 2 08:42:11 2012 -0400
[Indic] Move consonant-position-setting into initial_reordering()
- src/hb-ot-shape-complex-indic.cc | 65
- +++++++++++++++++++++-------------------
+ src/hb-ot-shape-complex-indic.cc | 65 +++++++++++++++++++++-------------------
1 file changed, 35 insertions(+), 30 deletions(-)
commit afbcc24be01a64bdb5c05c63880269145fa1d3c8
@@ -73968,7 +72382,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 2 08:36:40 2012 -0400
[GSUB] Wire the font, not just the face, down to substitute()
-
+
We need the font for glyph lookup during GSUB pauses in Indic shaper.
Could perhaps be avoided, but at this point, we don't mean to support
separate substitute()/position() entry points (anymore), so there is
@@ -73989,9 +72403,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 2 08:11:14 2012 -0400
[OT] Hide some API
-
- It was impossible to meaningfully use them from the outside these
- days.
+
+ It was impossible to meaningfully use them from the outside these days.
src/hb-ot-layout-private.hh | 40 ++++++++++++++++++++++++++++++++--------
src/hb-ot-layout.cc | 20 --------------------
@@ -74013,11 +72426,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 2 07:53:18 2012 -0400
[Indic] More refactoring of consonant position peeking in the font
-
+
To be moved to initial_reordering next...
- src/hb-ot-shape-complex-indic.cc | 59
- ++++++++++++++++++++++++++++------------
+ src/hb-ot-shape-complex-indic.cc | 59 ++++++++++++++++++++++++++++------------
1 file changed, 41 insertions(+), 18 deletions(-)
commit 3eb6f81fd3f1e56679eec10d08f5e2303121753f
@@ -74025,14 +72437,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 2 07:37:46 2012 -0400
[Indic] Refactor
-
+
Move all the logic that needs to eventually move into the indic table
into hb-ot-shape-complex-indic-private.hh.
- src/hb-ot-shape-complex-indic-private.hh | 210
- ++++++++++++++++++++++++++++
- src/hb-ot-shape-complex-indic.cc | 227
- ++-----------------------------
+ src/hb-ot-shape-complex-indic-private.hh | 210 ++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-indic.cc | 227 ++-----------------------------
2 files changed, 218 insertions(+), 219 deletions(-)
commit 3614ba242fc7d338761acdda365a134706035b6d
@@ -74041,8 +72451,7 @@ Date: Thu Aug 2 07:13:55 2012 -0400
[Indic] Rename
- src/hb-ot-shape-complex-indic.cc | 40
- +++++++++++++++++++++-------------------
+ src/hb-ot-shape-complex-indic.cc | 40 +++++++++++++++++++++-------------------
1 file changed, 21 insertions(+), 19 deletions(-)
commit 610e5e8f713bb2a68939b72cb2b801a7aaede4f9
@@ -74050,14 +72459,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 2 05:27:46 2012 -0400
[Indic] Streamline feature would_apply()
-
+
Comes with some 10% speedup for Devanagari even!
- src/hb-ot-map-private.hh | 85
- +++++++++++++++++++++++++---------------
+ src/hb-ot-map-private.hh | 85 +++++++++++++++++++++++++---------------
src/hb-ot-map.cc | 18 ++++-----
- src/hb-ot-shape-complex-indic.cc | 85
- +++++++++++++++++++++++-----------------
+ src/hb-ot-shape-complex-indic.cc | 85 +++++++++++++++++++++++-----------------
3 files changed, 110 insertions(+), 78 deletions(-)
commit 1d002048d5afcd45abbb09fdf0419f13b2e2265c
@@ -74067,8 +72474,7 @@ Date: Thu Aug 2 05:01:11 2012 -0400
[Indic] Minor
src/hb-ot-shape-complex-indic-private.hh | 16 --------
- src/hb-ot-shape-complex-indic.cc | 64
- +++++++++++++++++++++-----------
+ src/hb-ot-shape-complex-indic.cc | 64 +++++++++++++++++++++-----------
2 files changed, 43 insertions(+), 37 deletions(-)
commit 6f7611375521c6d285a9aa763f2ea5cb44cd0d39
@@ -74127,17 +72533,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 1 21:46:36 2012 -0400
[GSUB/GPOS] Use Coverage digests as gatekeeper
-
+
Gives me a good 10% speedup for the Devanagari test case. Less so
for less lookup-intensive tests.
-
- For the Devanagari test case, the false positive rate of the GSUB
- digest
+
+ For the Devanagari test case, the false positive rate of the GSUB digest
is 4%.
src/hb-ot-layout-gpos-table.hh | 30 +++++++++---------------------
- src/hb-ot-layout-gsub-table.hh | 35
- ++++++++++++-----------------------
+ src/hb-ot-layout-gsub-table.hh | 35 ++++++++++++-----------------------
src/hb-ot-layout-gsubgpos-private.hh | 8 ++++++--
src/hb-ot-layout-private.hh | 4 ++++
src/hb-ot-layout.cc | 29 +++++++++++++++++++++++++----
@@ -74158,11 +72562,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 1 21:06:27 2012 -0400
Add hb_set_digest_t
-
+
Implement two set digests, and one that combines the two.
- src/hb-set-private.hh | 95
- +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-set-private.hh | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 95 insertions(+)
commit c8accf1dd2d92cc4f714393eb0ea46f69bb182a6
@@ -74181,8 +72584,7 @@ Date: Wed Aug 1 19:03:46 2012 -0400
Inline font getters
src/hb-fallback-shape.cc | 21 ++--
- src/hb-font-private.hh | 204
- ++++++++++++++++++++++++++++++++++++++
+ src/hb-font-private.hh | 204 ++++++++++++++++++++++++++++++++++++++
src/hb-font.cc | 129 ++++--------------------
src/hb-graphite2.cc | 6 +-
src/hb-old.cc | 10 +-
@@ -74201,8 +72603,7 @@ Date: Wed Aug 1 18:07:42 2012 -0400
Use a lookup table for modified_combining_class
src/hb-unicode-private.hh | 10 ++-
- src/hb-unicode.cc | 213
- +++++++++++++++++++++++++++++++---------------
+ src/hb-unicode.cc | 213 +++++++++++++++++++++++++++++++---------------
src/hb-unicode.h | 4 +
3 files changed, 157 insertions(+), 70 deletions(-)
@@ -74219,8 +72620,7 @@ Date: Wed Aug 1 17:13:10 2012 -0400
src/hb-ot-shape-normalize.cc | 13 +++--
src/hb-ot-shape-private.hh | 6 +--
src/hb-ot-shape.cc | 4 +-
- src/hb-unicode-private.hh | 112
- ++++++++++++++++++++--------------------
+ src/hb-unicode-private.hh | 112 ++++++++++++++++++++--------------------
src/hb-unicode.cc | 5 +-
9 files changed, 73 insertions(+), 75 deletions(-)
@@ -74230,8 +72630,7 @@ Date: Wed Aug 1 17:01:59 2012 -0400
Move unicode accessors around
- src/hb-unicode-private.hh | 73
- ++++++++++++++++++++++++++++++++++++++++++++++-
+ src/hb-unicode-private.hh | 73 ++++++++++++++++++++++++++++++++++++++++++++++-
src/hb-unicode.cc | 65 ++++-------------------------------------
2 files changed, 78 insertions(+), 60 deletions(-)
@@ -74246,8 +72645,7 @@ Date: Wed Aug 1 16:23:44 2012 -0400
src/hb-icu.cc | 4 +-
src/hb-unicode-private.hh | 2 +-
src/hb-unicode.cc | 11 ++--
- src/hb-unicode.h | 124
- +++++++++++++++++++++++++++++++++++++++++++++-
+ src/hb-unicode.h | 124 +++++++++++++++++++++++++++++++++++++++++++++-
6 files changed, 134 insertions(+), 49 deletions(-)
commit 84186a64004e5dcd2ce98b564d0e0a09aa5d68b2
@@ -74264,7 +72662,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 1 00:21:09 2012 -0400
[hb-old] Adjust mark positioning parameters
-
+
Fallback mark positioning works now... With hb-ft and hb-view /
hb-shape at least.
@@ -74286,12 +72684,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 31 23:41:06 2012 -0400
[GPOS] Adjust mark advance-width zeroing logic
-
+
If there is no GPOS, zero mark advances.
-
+
If there *is* GPOS and the shaper requests so, zero mark advances for
attached marks.
-
+
Fixes regression with Tibetan, where the font has GPOS, and marks a
glyph as mark where it shouldn't get zero advance.
@@ -74320,7 +72718,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 31 23:08:25 2012 -0400
[OT] Zero mark advances if the shaper desires so
-
+
Enabled for all shapers except for Indic.
src/hb-ot-shape-complex-arabic.cc | 1 +
@@ -74354,7 +72752,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 31 22:43:32 2012 -0400
[hb-old] Implement getGlyphMetrics()
-
+
Still working on it.
src/hb-old.cc | 13 ++++++++++++-
@@ -74365,20 +72763,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 31 21:36:16 2012 -0400
Implement Unicode compatibility decompositions
-
+
Based on patch from Philip Withnall.
https://bugs.freedesktop.org/show_bug.cgi?id=41095
src/hb-glib.cc | 30 +++++++++++++++++++++++++
src/hb-icu.cc | 36 +++++++++++++++++++++++++++++-
- src/hb-ot-shape-normalize.cc | 53
- +++++++++++++++++++++++++++++---------------
+ src/hb-ot-shape-normalize.cc | 53 +++++++++++++++++++++++++++++---------------
src/hb-unicode-private.hh | 1 +
src/hb-unicode.cc | 27 +++++++++++++++++++++-
src/hb-unicode.h | 37 ++++++++++++++++++++++++++++++-
test/api/hb-test.h | 1 +
- test/api/test-unicode.c | 50
- +++++++++++++++++++++++++++++++++++++++++
+ test/api/test-unicode.c | 50 +++++++++++++++++++++++++++++++++++++++++
8 files changed, 214 insertions(+), 21 deletions(-)
commit 321ec29cc270e7e66a529696b70b2caac553c95f
@@ -74405,14 +72801,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 30 21:08:51 2012 -0400
[OT] Streamline complex shaper enumeration
-
+
Add a shaper class struct.
src/hb-ot-shape-complex-arabic.cc | 37 ++++----
src/hb-ot-shape-complex-indic.cc | 47 ++++++---
src/hb-ot-shape-complex-misc.cc | 67 ++++++-------
- src/hb-ot-shape-complex-private.hh | 179
- ++++++++++-------------------------
+ src/hb-ot-shape-complex-private.hh | 179 ++++++++++-------------------------
src/hb-ot-shape-normalize-private.hh | 4 +-
src/hb-ot-shape-private.hh | 2 +-
src/hb-ot-shape.cc | 16 ++--
@@ -74438,8 +72833,7 @@ Date: Mon Jul 30 19:47:53 2012 -0400
src/hb-ot-layout-gpos-table.hh | 2 +-
src/hb-ot-layout-gsub-table.hh | 2 +-
- src/hb-ot-layout-gsubgpos-private.hh | 154
- +++++++++++++++++------------------
+ src/hb-ot-layout-gsubgpos-private.hh | 154 +++++++++++++++++------------------
3 files changed, 76 insertions(+), 82 deletions(-)
commit 300c7307eb7943ba7416b672345506be1e27c6ba
@@ -74468,11 +72862,9 @@ Date: Mon Jul 30 19:30:01 2012 -0400
src/hb-ot-layout-gpos-table.hh | 11 ++--
src/hb-ot-layout-gsub-table.hh | 18 +++---
- src/hb-ot-layout-gsubgpos-private.hh | 99
- +++++++++++++++++++++++++++++----
+ src/hb-ot-layout-gsubgpos-private.hh | 99 +++++++++++++++++++++++++++++----
src/hb-ot-layout-private.hh | 12 ----
- src/hb-ot-layout.cc | 104
- +++--------------------------------
+ src/hb-ot-layout.cc | 104 +++--------------------------------
src/hb-ot-layout.h | 12 ++--
src/hb-ot-shape.cc | 10 ++--
7 files changed, 127 insertions(+), 139 deletions(-)
@@ -74520,8 +72912,7 @@ Date: Mon Jul 30 17:48:04 2012 -0400
[CoreText] Port to shape_plan infrastructure
- src/hb-coretext.cc | 161
- ++++++++++++++++++++++++++---------------------------
+ src/hb-coretext.cc | 161 ++++++++++++++++++++++++++---------------------------
1 file changed, 80 insertions(+), 81 deletions(-)
commit 6cdfd14bb19d60ac3d6b20ff611408432254f273
@@ -74538,7 +72929,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 30 14:53:41 2012 -0400
Unbreak Hangul jamo composition
-
+
When we removed the separate Hangul shaper, the specific normalization
preference of Hangul was lost. Fix that. Also, the Thai shaper was
copied from Hangul, so had the fully-composed normalization behavior,
@@ -74556,7 +72947,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 30 13:54:46 2012 -0400
[Indic] Recategorize Telugu length marks
-
+
Fixes 8 more Telugu tests. Failures at 15 (0.00154548%).
src/hb-unicode.cc | 8 ++++++++
@@ -74569,8 +72960,7 @@ Date: Mon Jul 30 12:40:18 2012 -0400
Add Hebrew test
- .../texts/in-tree/shaper-default/script-hebrew/misc/diacritics.txt
- | 1 +
+ .../texts/in-tree/shaper-default/script-hebrew/misc/diacritics.txt | 1 +
1 file changed, 1 insertion(+)
commit f2377155e35c15919af4d7db21b6edc6783146b6
@@ -74578,15 +72968,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 30 10:50:57 2012 -0400
[hb-old] Fix misc leaks
-
+
Backport (forward-port?!) from upstream:
-
+
commit 3ab7b37bdebf0f8773493a1fee910b151c4de30f
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 30 10:50:22 2012 -0400
-
+
Fix misc leaks
-
+
https://bugs.freedesktop.org/show_bug.cgi?id=31992
https://bugs.freedesktop.org/show_bug.cgi?id=31993
https://bugs.freedesktop.org/show_bug.cgi?id=31994
@@ -74623,8 +73013,7 @@ Date: Mon Jul 30 02:38:39 2012 -0400
[OT] Gain back some lost speed
src/hb-ot-layout-private.hh | 27 +++++++++++++++-
- src/hb-ot-layout.cc | 63
- ++++++++++++++++++++++++++++++++++----
+ src/hb-ot-layout.cc | 63 ++++++++++++++++++++++++++++++++++----
src/hb-ot-map-private.hh | 26 +++-------------
src/hb-ot-map.cc | 35 +++++++++++++++------
src/hb-ot-shape-complex-indic.cc | 2 +-
@@ -74636,7 +73025,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 30 02:36:46 2012 -0400
[OT] Remove hb_ot_layout_ensure()
-
+
I didn't like it from the beginning.
src/hb-ot-layout.cc | 9 +++++----
@@ -74658,14 +73047,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 30 01:46:34 2012 -0400
[GSUB] Further adjustments to mark-attachment vs ligation interaction
-
- The d1d69ec52e75a78575b620a1c456d528b6078170 change broke Kannada
- badly,
+
+ The d1d69ec52e75a78575b620a1c456d528b6078170 change broke Kannada badly,
since it was ligating consonants, pushing matra out, and then ligating
with the matra. Adjust for that. See comments.
- src/hb-ot-layout-gsub-table.hh |
- 11 ++++++++---
+ src/hb-ot-layout-gsub-table.hh | 11 ++++++++---
.../in-tree/shaper-indic/indic/script-kannada/misc/misc.txt | 1 +
2 files changed, 9 insertions(+), 3 deletions(-)
@@ -74682,11 +73069,9 @@ commit d1d69ec52e75a78575b620a1c456d528b6078170
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 30 00:51:47 2012 -0400
- [GSUB] Don't ligate glyphs attached to different components of
- ligatures
-
- This concludes the mark-attachment vs ligating interaction fixes
- (for now).
+ [GSUB] Don't ligate glyphs attached to different components of ligatures
+
+ This concludes the mark-attachment vs ligating interaction fixes (for now).
src/hb-ot-layout-gsub-table.hh | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
@@ -74714,13 +73099,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 30 00:00:59 2012 -0400
[GSUB] Fix mark component stuff when ligatures form ligatures!
-
+
See comments.
-
+
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=437633
- src/hb-ot-layout-gsub-table.hh | 117
- +++++++++++++++++++++++------------
+ src/hb-ot-layout-gsub-table.hh | 117 +++++++++++++++++++++++------------
src/hb-ot-layout-gsubgpos-private.hh | 8 ---
src/hb-ot-layout-private.hh | 8 +--
3 files changed, 79 insertions(+), 54 deletions(-)
@@ -74730,7 +73114,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jul 29 22:02:24 2012 -0400
[GSUB/GPOS] Minor
-
+
Start squeezing more out of lig_id/lig_comp.
src/hb-ot-layout-gsub-table.hh | 6 +++---
@@ -74751,18 +73135,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jul 29 20:37:38 2012 -0400
[GSUB] Don't set new lig_id on mark ligatures
-
+
If two marks form a ligature, retain their previous lig_id, such that
the mark ligature can attach to ligature components...
-
+
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676343
-
- In fact, I noticed that we should not let ligatures form between
- glyphs
+
+ In fact, I noticed that we should not let ligatures form between glyphs
coming from different components of a previous ligature. For example,
if the sequence is: LAM,SHADDA,LAM,FATHA,HEH, the LAM,LAM,HEH form a
- ligature, putting SHADDA and FATHA next to eachother. However,
- it would
+ ligature, putting SHADDA and FATHA next to eachother. However, it would
be wrong to ligate them. Uniscribe has this bug also.
src/hb-ot-layout-gsub-table.hh | 18 ++++++++++++++----
@@ -74775,8 +73157,7 @@ Date: Sun Jul 29 20:31:36 2012 -0400
Add Arabic tests for mark ligature component attachments
.../script-arabic/misc/diacritics/MANIFEST | 1 +
- .../misc/diacritics/ligature-components.txt | 18
- ++++++++++++++++++
+ .../misc/diacritics/ligature-components.txt | 18 ++++++++++++++++++
2 files changed, 19 insertions(+)
commit a15b70a81a609f024083cb04f9819483f4d5cab7
@@ -74784,7 +73165,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jul 29 20:09:22 2012 -0400
[hb-old] Fix cluster formation in RTL
-
+
Unlike Uniscribe, hb-old returns glyphs in logical order, so the logic
does not need to duplicated for RTL.
@@ -74815,9 +73196,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jul 28 21:16:08 2012 -0400
[Uniscribe] Remove hb_uniscribe_font_ensure()
-
- Wasn't a huge fan of putting the burden on the user. Just remove
- it and
+
+ Wasn't a huge fan of putting the burden on the user. Just remove it and
do what we've got to do transparently.
src/hb-uniscribe.cc | 6 +++++-
@@ -74828,16 +73208,13 @@ commit 5d874d566fe5d2cc4cfaf02c79b663d8a626ca1e
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jul 28 21:05:25 2012 -0400
- [GPOS] Fix mark-to-mark positioning when one of the marks is
- a ligature
-
- This commit: a3313e54008167e415b72c780ca7b9cda958d07e broke
- MarkMarkPos
+ [GPOS] Fix mark-to-mark positioning when one of the marks is a ligature
+
+ This commit: a3313e54008167e415b72c780ca7b9cda958d07e broke MarkMarkPos
when one of the marks itself is a ligature. That regressed 26 Tibetan
tests (up from zero!). Fix that. Tibetan back to zero.
- src/hb-ot-layout-gpos-table.hh | 27
- ++++++++++++++++------
+ src/hb-ot-layout-gpos-table.hh | 27 ++++++++++++++++------
src/hb-ot-layout-private.hh | 5 ++--
test/shaping/texts/in-tree/shaper-indic/MANIFEST | 1 +
.../indic/script-sinhala/misc/MANIFEST | 1 +
@@ -74862,8 +73239,7 @@ Date: Sat Jul 28 18:34:58 2012 -0400
[GSUB] Simplify would-apply
- src/hb-ot-layout-gsub-table.hh | 71
- +++---------------------------------
+ src/hb-ot-layout-gsub-table.hh | 71 +++---------------------------------
src/hb-ot-layout-gsubgpos-private.hh | 24 +++---------
2 files changed, 11 insertions(+), 84 deletions(-)
@@ -74883,19 +73259,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jul 28 17:31:01 2012 -0400
[GSUB/GPOS] Add get_coverage() and use it to speed up main loop
-
+
And use it to speed up the hotspot by checking coverage directly in
the main loop, not 10 functions deep in.
-
+
Gives me a solid 20% boost with Indic test suite. Less so for less
lookup-intensive scenarios.
-
+
Remove the "fast_path" hack from before.
- src/hb-ot-layout-gpos-table.hh | 179
- ++++++++++++++++++++++++++++++-----
- src/hb-ot-layout-gsub-table.hh | 166
- ++++++++++++++++++++++++++------
+ src/hb-ot-layout-gpos-table.hh | 179 ++++++++++++++++++++++++++++++-----
+ src/hb-ot-layout-gsub-table.hh | 166 ++++++++++++++++++++++++++------
src/hb-ot-layout-gsubgpos-private.hh | 26 +++++
3 files changed, 321 insertions(+), 50 deletions(-)
@@ -74922,15 +73296,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 27 04:02:38 2012 -0400
Implement shape_plan caching
-
+
Should give us some performance boost.
TODO | 4 ++
src/hb-buffer-private.hh | 30 ++++++++++++++
src/hb-font-private.hh | 6 +++
src/hb-font.cc | 15 ++++++-
- src/hb-shape-plan.cc | 100
- +++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-shape-plan.cc | 100 +++++++++++++++++++++++++++++++++++++++++++++++
src/hb-shape-plan.h | 7 ++++
src/hb-shape.cc | 2 +-
7 files changed, 162 insertions(+), 2 deletions(-)
@@ -74950,7 +73323,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 27 03:12:23 2012 -0400
Don't fail choosing shaper on planning failure
-
+
Shapers have a chance to reject a font in face shaper_data creation.
No need to allow failing during planning.
@@ -74988,8 +73361,7 @@ Date: Fri Jul 27 02:29:32 2012 -0400
Move ot shaper completely to shape_plan
src/hb-ot-shape-private.hh | 6 --
- src/hb-ot-shape.cc | 181
- +++++++++++++++++++++------------------------
+ src/hb-ot-shape.cc | 181 +++++++++++++++++++++------------------------
src/hb-uniscribe.cc | 2 +-
3 files changed, 84 insertions(+), 105 deletions(-)
@@ -75022,8 +73394,7 @@ Date: Fri Jul 27 01:26:11 2012 -0400
src/hb-shape.cc | 5 ++
src/hb-shaper-impl-private.hh | 3 +-
src/hb-shaper-private.hh | 4 --
- src/hb-uniscribe.cc | 130
- ++++++++++++------------------------------
+ src/hb-uniscribe.cc | 130 ++++++++++++------------------------------
5 files changed, 48 insertions(+), 174 deletions(-)
commit c32c096a429da3e64896cf42ff5ab8c775d3c2ec
@@ -75031,7 +73402,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 27 01:13:53 2012 -0400
Switch to shape_plan
-
+
Not optimized yet. Eats babies. And no shaper uses the shape_plan.
src/hb-shape-plan.cc | 37 +++++++++++++++++++++++++++++++++++--
@@ -75050,8 +73421,7 @@ Date: Thu Jul 26 23:46:53 2012 -0400
src/hb-old.cc | 4 ++-
src/hb-ot-shape.cc | 4 ++-
src/hb-shape-plan-private.hh | 7 ++++
- src/hb-shape-plan.cc | 76
- ++++++++++++++++++++++++++++++++++++++++++--
+ src/hb-shape-plan.cc | 76 ++++++++++++++++++++++++++++++++++++++++++--
src/hb-shape.cc | 4 +++
src/hb-shaper-private.hh | 4 +--
src/hb-uniscribe.cc | 4 ++-
@@ -75071,8 +73441,7 @@ Date: Thu Jul 26 22:05:39 2012 -0400
src/hb-shape-plan.cc | 2 +
src/hb-shape.cc | 98 ++++----------------------------------
src/hb-shaper-private.hh | 16 ++++++-
- src/hb-shaper.cc | 109
- +++++++++++++++++++++++++++++++++++++++++++
+ src/hb-shaper.cc | 109 +++++++++++++++++++++++++++++++++++++++++++
src/hb-uniscribe.cc | 3 +-
10 files changed, 145 insertions(+), 95 deletions(-)
@@ -75081,7 +73450,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 26 17:34:25 2012 -0400
Start adding a unified shaper access infrastructure
-
+
Add global shape_plan. Unused so far.
src/Makefile.am | 15 +-
@@ -75100,8 +73469,7 @@ Date: Thu Jul 26 17:34:25 2012 -0400
...scribe-private.hh => hb-shaper-impl-private.hh} | 20 ++-
src/{hb-old-private.hh => hb-shaper-list.hh} | 30 ++--
src/hb-shaper-private.hh | 81 +++++++++
- src/hb-uniscribe.cc | 186
- +++++++++++++--------
+ src/hb-uniscribe.cc | 186 +++++++++++++--------
17 files changed, 608 insertions(+), 238 deletions(-)
commit fa2dfcd560444d8c54b6349ee106134d3536f79b
@@ -75119,11 +73487,10 @@ Author: Jonathan Kew <jfkthame@gmail.com>
Date: Thu Jul 26 15:58:45 2012 -0400
[CoreText] Ensure cluster indices in output buffer are non-decreasing.
-
- Does not provide Uniscribe-compatible results, but should at least
- avoid
+
+ Does not provide Uniscribe-compatible results, but should at least avoid
breaking hb-view due to out-of-order cluster values.
-
+
For RTL runs, ensure cluster values are non-increasing (instead of
non-decreasing).
@@ -75144,18 +73511,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 25 19:30:15 2012 -0400
[hb-old] Fix Arabic cursive positioning
-
+
Backporting from upstream:
-
+
commit b847f24ce855d24f6822bcd9c0006905e81b94d8
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 25 19:29:16 2012 -0400
-
+
[arabic] Fix Arabic cursive positioning
-
+
This was clearly broken in testing. Who knows... Fixes for me.
Test with a Nastaleeq font, or with Arabic Typesetting.
-
+
Backporting from Chromium.
src/hb-old/harfbuzz-shaper.cpp | 2 +-
@@ -75175,12 +73542,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 25 19:20:34 2012 -0400
[hb-old] Fix clusters
-
+
Unlike its "documentation", hb-old's log_clusters are, well, indeed
logical, not visual. Fixup. Adapted / copied from hb-uniscribe.
- src/hb-old.cc | 51
- ++++++++++++++++++++++++++++++++++----------
+ src/hb-old.cc | 51 ++++++++++++++++++++++++++++++++++----------
src/hb-old/harfbuzz-shaper.h | 1 +
src/hb-uniscribe.cc | 5 +++--
3 files changed, 44 insertions(+), 13 deletions(-)
@@ -75190,9 +73556,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 25 18:37:51 2012 -0400
[GPOS] Fix MarkMarkPos applied to results of MultipleSubst
-
- This was broken as a result of
- 7b84c536c10ab90ed96a033d88e9ad232d46c5b8.
+
+ This was broken as a result of 7b84c536c10ab90ed96a033d88e9ad232d46c5b8.
As Khaled reported, MarkMark positioning was broken with glyphs
resulting from a MultipleSubst. Fixed. Test with the ALLAH character
in Amiri.
@@ -75215,7 +73580,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 24 21:05:12 2012 -0400
[hb-old] Add HarfBuzz.old shaper
-
+
Choose using shaper name "old".
configure.ac | 8 +
@@ -75224,8 +73589,7 @@ Date: Tue Jul 24 21:05:12 2012 -0400
src/hb-old.cc | 369 ++++++++++++++++++++++++
src/hb-old/.gitignore | 7 -
src/hb-old/Makefile.am | 2 +
- src/hb-old/Makefile.in | 762
- -------------------------------------------------
+ src/hb-old/Makefile.in | 762 -------------------------------------------------
src/hb-shape.cc | 8 +-
8 files changed, 436 insertions(+), 774 deletions(-)
@@ -75236,8 +73600,7 @@ Date: Tue Jul 24 19:53:55 2012 -0400
[hb-old] Define Unicode funcs in terms of new HarfBuzz
src/hb-old/Makefile.am | 4 +
- src/hb-old/Makefile.in | 182
- ++++++++++++++++++++++++++++++++++++-----
+ src/hb-old/Makefile.in | 182 ++++++++++++++++++++++++++++++++++++-----
src/hb-old/harfbuzz-external.h | 100 +++++++++++++---------
3 files changed, 224 insertions(+), 62 deletions(-)
@@ -75254,8 +73617,7 @@ Date: Tue Jul 24 19:49:48 2012 -0400
src/hb-old/harfbuzz-khmer.c | 25 ---
src/hb-old/harfbuzz-myanmar.c | 28 ---
src/hb-old/harfbuzz-shaper-private.h | 12 --
- src/hb-old/harfbuzz-shaper.cpp | 403
- +++--------------------------------
+ src/hb-old/harfbuzz-shaper.cpp | 403 +++--------------------------------
src/hb-old/harfbuzz-shaper.h | 31 ---
src/hb-old/harfbuzz-thai.c | 111 ----------
src/hb-old/harfbuzz-tibetan.c | 26 ---
@@ -75278,8 +73640,7 @@ Date: Tue Jul 24 19:21:22 2012 -0400
[hb-old] Remove unused header file
- src/hb-old/harfbuzz-shape.h | 199
- --------------------------------------------
+ src/hb-old/harfbuzz-shape.h | 199 --------------------------------------------
1 file changed, 199 deletions(-)
commit fb47209c5b3aa992faf18d1a3f78b9d7682cf62f
@@ -75316,8 +73677,7 @@ Date: Tue Jul 24 19:16:56 2012 -0400
src/hb-old/harfbuzz-gdef.h | 140 +
src/hb-old/harfbuzz-global.h | 118 +
src/hb-old/harfbuzz-gpos-private.h | 729 ++++
- src/hb-old/harfbuzz-gpos.c | 6094
- ++++++++++++++++++++++++++++++++++
+ src/hb-old/harfbuzz-gpos.c | 6094 ++++++++++++++++++++++++++++++++++
src/hb-old/harfbuzz-gpos.h | 155 +
src/hb-old/harfbuzz-greek.c | 447 +++
src/hb-old/harfbuzz-gsub-private.h | 483 +++
@@ -75361,7 +73721,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 24 17:03:55 2012 -0400
[Mongolian] Remove Mongolian Vowel Separator at the end of shaping
-
+
Results match Uniscribe now.
src/hb-unicode-private.hh | 3 +++
@@ -75371,20 +73731,16 @@ commit aa6d849838d5231465ae1a25a4dd5ea1e9380ff9
Author: Jonathan Kew <jfkthame@gmail.com>
Date: Tue Jul 24 15:52:32 2012 -0400
- [CoreText] Add basic Core Text backend for comparison with our
- native shaping
-
- Does not attempt to handle clusters in a Uniscribe- or
- HarfBuzz-compatible way;
- just returns the original string indexes that CT maintains. These
- may even be
+ [CoreText] Add basic Core Text backend for comparison with our native shaping
+
+ Does not attempt to handle clusters in a Uniscribe- or HarfBuzz-compatible way;
+ just returns the original string indexes that CT maintains. These may even be
out-of-order in the case of reordrant glyphs.
configure.ac | 12 ++
src/Makefile.am | 7 +
src/hb-coretext-private.hh | 42 ++++++
- src/hb-coretext.cc | 323
- +++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-coretext.cc | 323 +++++++++++++++++++++++++++++++++++++++++++++
src/hb-coretext.h | 43 ++++++
src/hb-shape.cc | 6 +
6 files changed, 433 insertions(+)
@@ -75393,11 +73749,9 @@ commit ec8d2494694275dfbbac2dd0d33ca2894b0463d6
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 24 15:40:37 2012 -0400
- Make data members of various OpenType structs protected instead
- of private
-
- Should fix warnings generated when building with
- -Wunused-private-field.
+ Make data members of various OpenType structs protected instead of private
+
+ Should fix warnings generated when building with -Wunused-private-field.
Based on patch from Jonathan Kew.
src/hb-open-file-private.hh | 8 +++---
@@ -75406,8 +73760,7 @@ Date: Tue Jul 24 15:40:37 2012 -0400
src/hb-ot-hmtx-table.hh | 2 +-
src/hb-ot-layout-common-private.hh | 14 ++++++-----
src/hb-ot-layout-gdef-table.hh | 20 +++++++--------
- src/hb-ot-layout-gpos-table.hh | 48
- ++++++++++++++++++------------------
+ src/hb-ot-layout-gpos-table.hh | 48 ++++++++++++++++++------------------
src/hb-ot-layout-gsub-table.hh | 30 +++++++++++-----------
src/hb-ot-layout-gsubgpos-private.hh | 32 ++++++++++++------------
src/hb-ot-maxp-table.hh | 2 +-
@@ -75428,17 +73781,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 24 13:48:49 2012 -0400
[Indic] Reposition Gurmukhi top matras to after post
-
- The font is forming a post-base consonant in some samples, and
- Uniscribe
+
+ The font is forming a post-base consonant in some samples, and Uniscribe
positions top matra on the post-base. Do the same.
-
+
Gurmukhi failures down from 59 to 41 (0.0674242%).
- src/hb-ot-shape-complex-indic.cc |
- 2 +-
- .../texts/in-tree/shaper-indic/indic/script-gurmukhi/misc/misc.txt |
- 1 +
+ src/hb-ot-shape-complex-indic.cc | 2 +-
+ .../texts/in-tree/shaper-indic/indic/script-gurmukhi/misc/misc.txt | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
commit c3f769ba09df319fa69d04f68c57444f95eceee6
@@ -75446,33 +73796,30 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 24 13:26:32 2012 -0400
[Indic] Ignore Uniscribe output containing two zero-width space glyphs
-
+
Uniscribe is buggy and sometimes /eats/ a mark next to a non-joiner.
Most of Malayalam failures where actually hitting this bug.
-
+
Ignore test output with two zero-width space glyphs. This is a hack
until we build up the test suite infrastructure better.
-
+
Bengali went down by 9, Devanagari by 2, Kannada by 130, Malayalm down
from 1197 to 307, Sinhala down by 16, Telugu down by 26. New stats:
-
+
BENGALI: 353996 out of 354285 tests passed. 289 failed (0.0815727%)
DEVANAGARI: 693573 out of 693628 tests passed. 55 failed (0.00792932%)
GUJARATI: 366489 out of 366506 tests passed. 17 failed (0.0046384%)
GURMUKHI: 60750 out of 60809 tests passed. 59 failed (0.0970251%)
KANNADA: 951086 out of 951913 tests passed. 827 failed (0.0868777%)
KHMER: 299094 out of 299124 tests passed. 30 failed (0.0100293%)
- MALAYALAM: 1048109 out of 1048416 tests passed. 307 failed
- (0.0292823%)
+ MALAYALAM: 1048109 out of 1048416 tests passed. 307 failed (0.0292823%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271715 out of 271847 tests passed. 132 failed (0.0485567%)
TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%)
TELUGU: 970550 out of 970573 tests passed. 23 failed (0.00236973%)
- test/shaping/hb_test_tools.py |
- 1 +
- .../texts/in-tree/shaper-indic/indic/script-malayalam/misc/misc.txt |
- 2 ++
+ test/shaping/hb_test_tools.py | 1 +
+ .../texts/in-tree/shaper-indic/indic/script-malayalam/misc/misc.txt | 2 ++
2 files changed, 3 insertions(+)
commit 65c43accdc4d2082282d5cedba8514b8df0c18a2
@@ -75480,26 +73827,24 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 24 03:36:47 2012 -0400
[Indic] Better position left-matra in Malayalam
-
+
Just put it before base, which is what's expected.
-
+
Malayalam failures down from 1559 to 1197 (0.114172%).
-
+
BENGALI: 353988 out of 354285 tests passed. 297 failed (0.0838308%)
DEVANAGARI: 693571 out of 693628 tests passed. 57 failed (0.00821766%)
GUJARATI: 366489 out of 366506 tests passed. 17 failed (0.0046384%)
GURMUKHI: 60750 out of 60809 tests passed. 59 failed (0.0970251%)
KANNADA: 950956 out of 951913 tests passed. 957 failed (0.100534%)
KHMER: 299094 out of 299124 tests passed. 30 failed (0.0100293%)
- MALAYALAM: 1047219 out of 1048416 tests passed. 1197 failed
- (0.114172%)
+ MALAYALAM: 1047219 out of 1048416 tests passed. 1197 failed (0.114172%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271699 out of 271847 tests passed. 148 failed (0.0544424%)
TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%)
TELUGU: 970524 out of 970573 tests passed. 49 failed (0.00504856%)
- src/hb-ot-shape-complex-indic.cc | 41
- +++++++++++++++-------
+ src/hb-ot-shape-complex-indic.cc | 41 +++++++++++++++-------
.../indic/script-malayalam/misc/misc.txt | 1 +
2 files changed, 29 insertions(+), 13 deletions(-)
@@ -75508,35 +73853,30 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 24 03:04:36 2012 -0400
[Indic] Implement Reph+Ya-Phalaa interaction
-
- The sequence Ra,H,Ya in Bengali is ambigious and Unicode encoded
- that to
- get Ya-Phalaa, one would place ZWJ before Halant. Ie. a ZWJ,H
- sequence
- requests subjoining, while a H,ZWJ requests Half form. Implement
- that.
-
+
+ The sequence Ra,H,Ya in Bengali is ambigious and Unicode encoded that to
+ get Ya-Phalaa, one would place ZWJ before Halant. Ie. a ZWJ,H sequence
+ requests subjoining, while a H,ZWJ requests Half form. Implement that.
+
Bengali failures go down from 377 to 297 (0.0838308%).
Gujarati is down by 4 to 17 (0.0046384%).
Kannada is down by 226 to 957 (0.100534%).
-
+
Current status:
-
+
BENGALI: 353988 out of 354285 tests passed. 297 failed (0.0838308%)
DEVANAGARI: 693571 out of 693628 tests passed. 57 failed (0.00821766%)
GUJARATI: 366489 out of 366506 tests passed. 17 failed (0.0046384%)
GURMUKHI: 60750 out of 60809 tests passed. 59 failed (0.0970251%)
KANNADA: 950956 out of 951913 tests passed. 957 failed (0.100534%)
KHMER: 299094 out of 299124 tests passed. 30 failed (0.0100293%)
- MALAYALAM: 1046857 out of 1048416 tests passed. 1559 failed
- (0.148701%)
+ MALAYALAM: 1046857 out of 1048416 tests passed. 1559 failed (0.148701%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271699 out of 271847 tests passed. 148 failed (0.0544424%)
TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%)
TELUGU: 970524 out of 970573 tests passed. 49 failed (0.00504856%)
- src/hb-ot-shape-complex-indic.cc |
- 10 ++++++++--
+ src/hb-ot-shape-complex-indic.cc | 10 ++++++++--
.../in-tree/shaper-indic/indic/script-bengali/misc/reph.txt | 4 ++++
2 files changed, 12 insertions(+), 2 deletions(-)
@@ -75545,12 +73885,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 24 02:30:38 2012 -0400
[Indic] Limit matras to 4 per syllable
-
+
Also limit joiners.
-
+
This limits our syllable length to a constant, and is
closer to what Uniscribe does anyway.
-
+
Two Devanagari tests regressed, but who cares about tests with 20
joiners in a row?! Devanagari at 57 (0.00821766%) now.
@@ -75562,13 +73902,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 24 02:25:26 2012 -0400
[Indic] Unmark U+17D1 KHMER SIGN VIRIAM to NOT be a Virama
-
+
Fixes another 1 Khmer failure. Down to 30 (0.0100293%) now.
- src/hb-ot-shape-complex-indic.cc |
- 2 ++
- .../in-tree/shaper-indic/south-east-asian/script-khmer/misc/misc.txt |
- 1 +
+ src/hb-ot-shape-complex-indic.cc | 2 ++
+ .../in-tree/shaper-indic/south-east-asian/script-khmer/misc/misc.txt | 1 +
2 files changed, 3 insertions(+)
commit 6824a7194e01b77eddb95bd95a9b32e219140912
@@ -75576,7 +73914,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 24 02:22:18 2012 -0400
[Indic] Recategorize Khmer various signs as top matras
-
+
Khmer failures down from 39 to 31 (0.0103636%).
src/hb-ot-shape-complex-indic.cc | 23 ++++++++++-------------
@@ -75587,16 +73925,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 24 02:10:20 2012 -0400
[Indic] Reposition Khmer prebase-reordering Ra around split matras
-
- In Khmer coeng model, a V,Ra can go *after* matras. If it goes
- after a
- split matra, it should be reordered to *before* the left part of
- such matra.
-
+
+ In Khmer coeng model, a V,Ra can go *after* matras. If it goes after a
+ split matra, it should be reordered to *before* the left part of such matra.
+
Khmer failures down from 136 to 39 (0.0130381%).
- src/hb-ot-shape-complex-indic.cc | 13
- +++++++++++++
+ src/hb-ot-shape-complex-indic.cc | 13 +++++++++++++
.../south-east-asian/script-khmer/misc/misc.txt | 4 ++++
2 files changed, 17 insertions(+)
@@ -75614,11 +73949,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 24 01:32:07 2012 -0400
[Indic] Position Khmer U+17CE
-
+
Fixes another 6 Khmer failures. Now at 136 (0.0454661%).
- src/hb-ot-shape-complex-indic.cc |
- 6 ++++++
+ src/hb-ot-shape-complex-indic.cc | 6 ++++++
.../shaper-indic/south-east-asian/script-khmer/misc/misc.txt | 1 +
2 files changed, 7 insertions(+)
@@ -75627,10 +73961,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 24 01:04:18 2012 -0400
[Indic] Don't reposition Khmer Bindu
-
+
Khmer Bindu doesn't like to move to syllable end. Leave it where it
was.
-
+
Brings down Khmer failures from 510 to 142 (0.047572%).
src/hb-ot-shape-complex-indic.cc | 2 ++
@@ -75641,11 +73975,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 24 00:26:43 2012 -0400
[Indic] In Sinhala, form forced Reph even if no other consonant found
-
+
Fixes another 10 Sinhala failures. Down to 148 (0.0544424%).
- src/hb-ot-shape-complex-indic.cc |
- 10 +++++-----
+ src/hb-ot-shape-complex-indic.cc | 10 +++++-----
.../in-tree/shaper-indic/indic/script-sinhala/misc/misc.txt | 1 +
2 files changed, 6 insertions(+), 5 deletions(-)
@@ -75654,20 +73987,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 24 00:21:16 2012 -0400
[Indic] Further adjust base algorithm for Sinhala
-
+
Apparently if there is C,V,ZWJ,C, the first C will be base, but if
it's C,ZWJ,V,C, the second one will be.
-
- Note that Uniscribe implements this differently, by breaking
- syllable in
+
+ Note that Uniscribe implements this differently, by breaking syllable in
the case of C,ZWJ,V,C and putting the first consonant in one syllable
and the rest in the next syllable.
-
+
Sinhala failures down from 208 to 158 (0.0581209%). No changes to
Khmer.
- src/hb-ot-shape-complex-indic.cc |
- 11 +++++++----
+ src/hb-ot-shape-complex-indic.cc | 11 +++++++----
.../in-tree/shaper-indic/indic/script-sinhala/misc/misc.txt | 3 +++
2 files changed, 10 insertions(+), 4 deletions(-)
@@ -75676,15 +74007,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 24 00:09:12 2012 -0400
[Indic] End Vowel-based syllable at ZWJ
-
+
One Devanagari test regressed, plus 10 Malayalam (at 1545 now).
-
+
Fixed 120 Sinhala failures. Now at 208 (0.0765136%).
- src/hb-ot-shape-complex-indic-machine.rl |
- 2 +-
- .../texts/in-tree/shaper-indic/indic/script-sinhala/misc/misc.txt |
- 1 +
+ src/hb-ot-shape-complex-indic-machine.rl | 2 +-
+ .../texts/in-tree/shaper-indic/indic/script-sinhala/misc/misc.txt | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
commit 34c215036f5fcdc7599b1ab0591b56dbb3811902
@@ -75692,22 +74021,20 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 23 23:51:29 2012 -0400
[Indic] Improve Sinhala base algorithm and reph positioning
-
+
Sinhala does not have half forms. And most (all?) consonants can be
- base, except when preceded by ZWJ, which would request a subjoined
- form.
+ base, except when preceded by ZWJ, which would request a subjoined form.
Hence switch the base algorithm to categorize with Khmer, start search
at start, and stop at a ZWJ.
-
+
Also, mark all pos=base consonants after base to be subjoined. Mark
base itself to have pos=base.
-
+
Finally, adjust Sinhala's reph position to after-main.
-
+
Brings down Sinhala failures from 455 to 328 (0.120656%).
- src/hb-ot-shape-complex-indic.cc | 18
- +++++++++++++++++-
+ src/hb-ot-shape-complex-indic.cc | 18 +++++++++++++++++-
.../shaper-indic/indic/script-sinhala/misc/misc.txt | 1 +
2 files changed, 18 insertions(+), 1 deletion(-)
@@ -75725,7 +74052,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 23 20:18:17 2012 -0400
When removing zero-width marks, don't remove ligatures
-
+
If a mark ligated, it probably should NOT be removed.
src/hb-ot-shape.cc | 6 +++---
@@ -75737,10 +74064,8 @@ Date: Mon Jul 23 20:14:13 2012 -0400
Minor refactoring
- src/hb-ot-layout-gsubgpos-private.hh | 32
- --------------------------------
- src/hb-ot-layout-private.hh | 35
- +++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout-gsubgpos-private.hh | 32 --------------------------------
+ src/hb-ot-layout-private.hh | 35 +++++++++++++++++++++++++++++++++++
src/hb-ot-shape-complex-indic.cc | 2 +-
3 files changed, 36 insertions(+), 33 deletions(-)
@@ -75749,7 +74074,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 23 20:11:42 2012 -0400
[Indic] Improve check on ligatures
-
+
Only skip actual ligatures, not marks in-between ligature components.
src/hb-ot-layout-gsubgpos-private.hh | 5 +++++
@@ -75761,16 +74086,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 23 20:07:50 2012 -0400
[Indic] exclude ligatures when matching on Indic category
-
- If, say, a H,ZWJ,C ligature was formed, we don't want the code
- to detec
+
+ If, say, a H,ZWJ,C ligature was formed, we don't want the code to detec
that as a Halant. So, ignore ligatures when matching category in
final_reordering.
-
+
Sinhala failures down from 514 to 455 (0.167374%).
- src/hb-ot-shape-complex-indic.cc | 41
- ++++++++++++----------
+ src/hb-ot-shape-complex-indic.cc | 41 ++++++++++++----------
.../indic/script-sinhala/misc/misc.txt | 1 +
2 files changed, 23 insertions(+), 19 deletions(-)
@@ -75797,7 +74120,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 23 18:25:02 2012 -0400
[Indic] Remove syllable length check before sorting
-
+
We now limit syllable lengths in the machine. No need to match here.
src/hb-ot-shape-complex-indic.cc | 2 --
@@ -75808,33 +74131,30 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 23 18:19:17 2012 -0400
[Indic] Limit syllables to at most five consonants
-
- Seems to be about what Uniscribe does. Not exactly. But close
- enough.
+
+ Seems to be about what Uniscribe does. Not exactly. But close enough.
More consonants will start a new cluster.
-
+
A few scripts went way down in failures. In particular:
-
+
- Devanagari failures went down from 490 to 56.
- Telugu went down from 113 to 49.
-
+
Other scripts went down slightly or didn't change. New numbers:
-
+
BENGALI: 353908 out of 354285 tests passed. 377 failed (0.106412%)
DEVANAGARI: 693572 out of 693628 tests passed. 56 failed (0.00807349%)
GUJARATI: 366485 out of 366506 tests passed. 21 failed (0.00572978%)
GURMUKHI: 60750 out of 60809 tests passed. 59 failed (0.0970251%)
KANNADA: 950730 out of 951913 tests passed. 1183 failed (0.124276%)
KHMER: 298613 out of 299124 tests passed. 511 failed (0.170832%)
- MALAYALAM: 1046881 out of 1048416 tests passed. 1535 failed
- (0.146411%)
+ MALAYALAM: 1046881 out of 1048416 tests passed. 1535 failed (0.146411%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271333 out of 271847 tests passed. 514 failed (0.189077%)
TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%)
TELUGU: 970524 out of 970573 tests passed. 49 failed (0.00504856%)
-
- Some of the remaining Telugu and Devanagari issues seem to be
- Uniscribe
+
+ Some of the remaining Telugu and Devanagari issues seem to be Uniscribe
eating Anusvara when placed before a non-joiner. Ouch!
src/hb-ot-shape-complex-indic-machine.rl | 6 +++---
@@ -75845,7 +74165,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 23 14:04:42 2012 -0400
[Thai] Fix SARA AM handling
-
+
Oops, thinko.
src/hb-ot-shape-complex-misc.cc | 6 +++---
@@ -75857,18 +74177,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 23 13:52:07 2012 -0400
[Thai] Reorder U+0E3A THAI VOWEL SIGN PHINTHU
-
- Uniscribe reorders U+0E3A to be after U+0E38 and U+0E39. We do
- that by
+
+ Uniscribe reorders U+0E3A to be after U+0E38 and U+0E39. We do that by
modifying the ccc for U+0E3A.
-
+
Fixes the two remaining Thai failures (see previous commit).
src/hb-ot-shape-complex-misc.cc | 7 +++++++
src/hb-unicode.cc | 6 ++++++
.../texts/in-tree/shaper-thai/script-thai/misc/MANIFEST | 1 +
- .../in-tree/shaper-thai/script-thai/misc/phinthu.txt | 16
- ++++++++++++++++
+ .../in-tree/shaper-thai/script-thai/misc/phinthu.txt | 16 ++++++++++++++++
4 files changed, 30 insertions(+)
commit 4a7f4f3e56f8f7640ae7337aa1b3324f31e0d4ab
@@ -75876,28 +74194,25 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 23 13:15:33 2012 -0400
[Thai] Adjust SARA AM reordering to match Uniscribe
-
+
Adjust the list of marks before SARA AM that get the reordering
treatment. Also adjust cluster formation to match Uniscribe.
-
+
With Wikipedia test data, now I see:
-
- - For Thai, with the Angsana New font from Win7, I see 54
- failures out
+
+ - For Thai, with the Angsana New font from Win7, I see 54 failures out
of over 4M tests (0.00129107%). Of the 54, two are legitimate
reordering issues (fix coming soon), and the other 52 are simply
Uniscribe using a zero-width space char instead of an unknown
character for missing glyphs. No idea why. The missing-glyph
- sequences include one that is a Thai character followed by
- an Arabic
+ sequences include one that is a Thai character followed by an Arabic
Sokun. Someone confused it with Nikhahit I assume!
-
+
- For Lao, with the Dokchampa font from Win7, 33 tests fail out of
54k (0.0615167%). All seem to be insignificant mark positioning
with two marks on a base. Have to investigate.
- src/hb-ot-shape-complex-misc.cc | 42
- +++++++++++++---------
+ src/hb-ot-shape-complex-misc.cc | 42 +++++++++++++---------
src/hb-private.hh | 6 ++++
test/shaping/texts/in-tree/shaper-thai/MANIFEST | 1 +
.../texts/in-tree/shaper-thai/script-lao/MANIFEST | 1 +
@@ -75911,7 +74226,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 23 08:22:55 2012 -0400
[Indic] Fix cluster formation with left-matras and conjunct forms
-
+
Test case was: <U+0D15,U+0D4D,U+0D15,U+0D4A>.
src/hb-ot-shape-complex-indic.cc | 4 ++--
@@ -75922,7 +74237,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 23 00:11:26 2012 -0400
[Indic] Further streamline cluster formation
-
+
This should address all possible cluster misformations that I had in
mind.
@@ -75934,7 +74249,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jul 22 23:58:55 2012 -0400
[Indic] Merge clusters before sorting
-
+
This should fix any instabilities in cluster formation that we were
speculating may happen with surrounding syllables. Or most of it
perhaps.
@@ -75947,7 +74262,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jul 22 23:55:19 2012 -0400
[Indic] Update clusters for left-matra even if matra didn't move
-
+
Fixes crashes reported with left matra under
non-uniscribe-bug-compatibilty mode.
@@ -75959,12 +74274,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jul 22 23:23:56 2012 -0400
[Indic] Merge in Malayalam tests
-
+
From:
http://silpa.org.in/pub/tests/hb/ml/ml-harfbuzz-testdata.txt
- .../indic/script-malayalam/misc/misc.txt | 94
- +++++++++++-----------
+ .../indic/script-malayalam/misc/misc.txt | 94 +++++++++++-----------
1 file changed, 46 insertions(+), 48 deletions(-)
commit 5c7081770c7a611bbe79b451b7b86dec4fa6395d
@@ -75972,12 +74286,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jul 22 23:20:27 2012 -0400
[Indic] Add extensive Sinhala tests
-
+
Generated by:
http://git.savannah.gnu.org/cgit/sinhala.git/plain/utils/gen-unicode-sinhala.py
- .../indic/script-sinhala/misc/extensive.txt | 4390
- ++++++++++++++++++++
+ .../indic/script-sinhala/misc/extensive.txt | 4390 ++++++++++++++++++++
1 file changed, 4390 insertions(+)
commit 2efe4707b1b449962f6e161716477d9775456c46
@@ -75985,12 +74298,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jul 22 23:17:59 2012 -0400
[Indic] Add Sinhala tests
-
+
Merge tests from:
http://git.savannah.gnu.org/cgit/sinhala.git/plain/patches/icu-sinhala-rendering.txt
- .../indic/script-sinhala/misc/misc.txt | 26
- ++++++++++++++++++++--
+ .../indic/script-sinhala/misc/misc.txt | 26 ++++++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)
commit 3d4c111b7a13700b2f7a0b087eb3992283295f21
@@ -75999,19 +74311,16 @@ Date: Fri Jul 20 19:34:39 2012 -0400
Add a test case
- .../texts/in-tree/shaper-indic/indic/script-bengali/misc/misc.txt
- | 1 +
+ .../texts/in-tree/shaper-indic/indic/script-bengali/misc/misc.txt | 1 +
1 file changed, 1 insertion(+)
commit 92a1ad7bef9efb456ab87bd63818cfbed7da3f6f
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 20 18:38:27 2012 -0400
- [Indic] Stop searching for base if a post form is found before
- below form
-
- Improves Bengali and Gurmukhi. Malayalam regressed a bit. We will
- deal
+ [Indic] Stop searching for base if a post form is found before below form
+
+ Improves Bengali and Gurmukhi. Malayalam regressed a bit. We will deal
with that later.
src/hb-ot-shape-complex-indic.cc | 5 ++++-
@@ -76022,9 +74331,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 20 18:13:04 2012 -0400
[Indic] Recompose Bengali Ya,Nukta
-
+
This is a bunch of hacks for now.
-
+
Improves Bengali a bit.
src/hb-ot-shape-complex-indic.cc | 4 ++--
@@ -76036,7 +74345,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 20 17:05:46 2012 -0400
[Uniscribe] Fix script fallback
-
+
Gurmukhi failures half now. Others changed slightly.
src/hb-uniscribe.cc | 34 ++++++++++++++--------------------
@@ -76047,9 +74356,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 20 16:26:55 2012 -0400
[Indic] Allow a ZWNJ after SM's
-
- Malayalam failures go way down. Other scripts benefitted slightly
- too.
+
+ Malayalam failures go way down. Other scripts benefitted slightly too.
Sinhala had one or two test regressions, but...
src/hb-ot-shape-complex-indic-machine.rl | 2 +-
@@ -76060,9 +74368,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 20 16:17:28 2012 -0400
[Indic] Improve Reph AfterMain positioning
-
- Fixes 20 out of 48 failing Oriya tests. Failure rate down to
- 0.066% now.
+
+ Fixes 20 out of 48 failing Oriya tests. Failure rate down to 0.066% now.
src/hb-ot-shape-complex-indic.cc | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
@@ -76072,15 +74379,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 20 16:03:09 2012 -0400
[Indic] Reposition Oriya Candrabindu
-
+
Oriya failures down from 0.65% to 0.20%.
- src/hb-ot-shape-complex-indic.cc |
- 1 +
- .../shaping/texts/in-tree/shaper-indic/indic/script-oriya/misc/MANIFEST |
- 1 +
- .../texts/in-tree/shaper-indic/indic/script-oriya/misc/bindu.txt |
- 2 ++
+ src/hb-ot-shape-complex-indic.cc | 1 +
+ .../shaping/texts/in-tree/shaper-indic/indic/script-oriya/misc/MANIFEST | 1 +
+ .../texts/in-tree/shaper-indic/indic/script-oriya/misc/bindu.txt | 2 ++
3 files changed, 4 insertions(+)
commit 5f0eaaad129ff04d56b8756bebf19fbc242718c9
@@ -76088,7 +74392,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 20 15:47:24 2012 -0400
[Indic] Fix base search in final_reordering
-
+
Fixes most Malayalam failures. Down from 1.6% to 0.38% now. Fixes a
few more in other scripts too.
@@ -76102,8 +74406,7 @@ Date: Fri Jul 20 15:10:02 2012 -0400
[Indic] Don't attach SM/VD to other characters
src/hb-ot-shape-complex-indic-private.hh | 3 +++
- src/hb-ot-shape-complex-indic.cc | 38
- ++++++++++++++++++--------------
+ src/hb-ot-shape-complex-indic.cc | 38 ++++++++++++++++++--------------
2 files changed, 24 insertions(+), 17 deletions(-)
commit efb4ad735691837a52447bedc1a66a87d0d9af51
@@ -76111,7 +74414,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 20 14:27:38 2012 -0400
Fix compiler warnings
-
+
If x is not constant, we cannot ASSERT_STATIC on it.
src/hb-private.hh | 2 +-
@@ -76122,7 +74425,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 20 14:13:35 2012 -0400
[Indic] Form Telugu Reph out of Ra,Virama,ZWJ
-
+
Apparently this was approved in Feb 2012. No font yet.
src/hb-ot-shape-complex-indic-private.hh | 2 +-
@@ -76134,11 +74437,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 20 14:02:35 2012 -0400
[Indic] Don't split U+0AC9
-
+
Althought IndicMatraCategory.txt classifies it as Top_And_Right matra,
it does not have Unicode decomposition, and Uniscribe does not do
anything special about it either.
-
+
Gujarati failures down from 0.672% to 0.0130966%.
src/hb-unicode.cc | 2 +-
@@ -76149,9 +74452,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 20 13:56:32 2012 -0400
[Indic] Simplify Uniscribe cluster emulation
-
- Now that we break syllables on Halant,ZWNJ, this code can be
- simplified.
+
+ Now that we break syllables on Halant,ZWNJ, this code can be simplified.
src/hb-ot-shape-complex-indic.cc | 11 ++---------
1 file changed, 2 insertions(+), 9 deletions(-)
@@ -76170,11 +74472,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 20 13:48:03 2012 -0400
[Indic] Break syllables at Halant,ZWNJ
-
- That's really what Uniscribe does, and explains a lot of pecularities
- of
+
+ That's really what Uniscribe does, and explains a lot of pecularities of
Halant,ZWNJ before the base.
-
+
Sent Telugu from 1% failures to 0.03%. Improved Kannada and Malayalam
slightly. Fixed half of Bengali, and did NOT break anything!
@@ -76187,9 +74488,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 20 13:37:48 2012 -0400
[Indic] Better check for applying 'init'
-
+
Specifically, don't apply 'init' if previous char is a joiner.
-
+
Fixes some more of Bengali.
src/hb-ot-shape-complex-indic.cc | 9 +--------
@@ -76201,11 +74502,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 20 12:32:59 2012 -0400
[GPOS] Don't zero mark advances
-
+
Fixes more of Telugu, Kannada, and Oriya.
-
- May break things (outside Indic...), but we cannot think of any
- font relying
+
+ May break things (outside Indic...), but we cannot think of any font relying
on this immediately.
src/hb-ot-layout-gpos-table.hh | 4 ++--
@@ -76225,7 +74525,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 20 11:25:41 2012 -0400
[Indic] Implement reph positioning step 5
-
+
Not tuned, just copied from step 2. Fixes another 0.5% of Kannada
failures. 1% to go.
@@ -76237,9 +74537,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 20 11:04:15 2012 -0400
[Indic] Don't let ZWNJ at the end of syllable affect base search
-
- Fixes a few Devanagari, half of remaining Kannada failures,
- quarter for
+
+ Fixes a few Devanagari, half of remaining Kannada failures, quarter for
Telugu, and others slightly improved or unchanged.
src/hb-ot-shape-complex-indic.cc | 6 +++++-
@@ -76250,7 +74549,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 20 10:47:46 2012 -0400
[Indic] Apply 'cjct' globally
-
+
Fixes 5 Devanagari failures, and no regressions.
src/hb-ot-shape-complex-indic.cc | 15 +++++++++------
@@ -76261,7 +74560,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 20 10:30:24 2012 -0400
[Indic] Unbreak old scriptures
-
+
Brings down failures with Lohit-Telugu from 57% to 1.40%.
src/hb-ot-shape-complex-indic.cc | 5 +++--
@@ -76281,13 +74580,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 19 21:17:48 2012 -0400
[Indic] Recategorize some Kannada right matras
-
+
Kannada failures down from 3.5% to 2.93%.
src/hb-ot-shape-complex-indic.cc | 2 +-
.../texts/in-tree/shaper-indic/indic/script-kannada/misc/MANIFEST | 1 +
- .../shaper-indic/indic/script-kannada/misc/right-matras.txt |
- 7 +++++++
+ .../shaper-indic/indic/script-kannada/misc/right-matras.txt | 7 +++++++
3 files changed, 9 insertions(+), 1 deletion(-)
commit 3604d64ced909ade91998d294a7b4b2ee14d47aa
@@ -76295,9 +74593,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 19 21:13:04 2012 -0400
[Indic] Recategorize GURMUKHI ADDAK
-
- It's not in IndicSyllabicCategory.txt. Fixes most of Gurmukhi
- failures.
+
+ It's not in IndicSyllabicCategory.txt. Fixes most of Gurmukhi failures.
Failures down from 7.7% to 0.222%!
src/hb-ot-shape-complex-indic.cc | 1 +
@@ -76335,9 +74632,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 19 20:30:22 2012 -0400
[Indic] Unbreak Khmer
-
- For Khmer, all consonants are subjoining. No need to look in
- the font.
+
+ For Khmer, all consonants are subjoining. No need to look in the font.
We were looking in the wrong order anyway.
src/hb-ot-shape-complex-indic.cc | 4 +++-
@@ -76348,7 +74644,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 19 20:24:14 2012 -0400
[Indic] Apply 'akhn' globally
-
+
Fixes 1.5% more failures for Telugu, 2% for Kannada.
Breaks one test in Devanagari.
@@ -76361,8 +74657,7 @@ Date: Thu Jul 19 20:03:25 2012 -0400
[Indic] Add failing test for Kannada
- .../texts/in-tree/shaper-indic/indic/script-kannada/misc/misc.txt
- | 1 +
+ .../texts/in-tree/shaper-indic/indic/script-kannada/misc/misc.txt | 1 +
1 file changed, 1 insertion(+)
commit fa247ebe524f92fa95d344ba912f704262879c13
@@ -76370,7 +74665,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 19 19:52:19 2012 -0400
[Indic] Better position U+0CD5
-
+
Fixes another 5% of Kannada failures.
src/hb-ot-shape-complex-indic.cc | 4 ++--
@@ -76381,12 +74676,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 19 16:20:21 2012 -0400
[Indic] Lookup consonant position in the font
-
+
Fixes most failures of Oriya, and improves others a bit.
src/hb-ot-map-private.hh | 13 ++--
- src/hb-ot-shape-complex-indic-private.hh | 105
- -------------------------------
+ src/hb-ot-shape-complex-indic-private.hh | 105 -------------------------------
src/hb-ot-shape-complex-indic.cc | 63 +++++++++++++------
3 files changed, 54 insertions(+), 127 deletions(-)
@@ -76416,8 +74710,7 @@ Date: Thu Jul 19 14:59:15 2012 -0400
src/Makefile.am | 6 +-
src/test-would-substitute.cc | 94 ++++++++++++++++++++++++++++++
- src/test.cc | 132
- +++++++++++++++++++++++++++++++++++++++++++
+ src/test.cc | 132 +++++++++++++++++++++++++++++++++++++++++++
3 files changed, 231 insertions(+), 1 deletion(-)
commit e72b360ac6381b549249b8836fa3e70b909d3437
@@ -76425,13 +74718,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 19 14:35:23 2012 -0400
Refactor / finish would_apply() operation
-
+
Untested.
src/hb-ot-layout-gpos-table.hh | 6 +-
src/hb-ot-layout-gsub-table.hh | 126 +++++++++----------
- src/hb-ot-layout-gsubgpos-private.hh | 233
- ++++++++++++++++++++++++++++++++++-
+ src/hb-ot-layout-gsubgpos-private.hh | 233 ++++++++++++++++++++++++++++++++++-
src/hb-ot-layout.cc | 11 ++
src/hb-ot-layout.h | 7 ++
5 files changed, 308 insertions(+), 75 deletions(-)
@@ -76441,16 +74733,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 19 13:25:08 2012 -0400
[Indic] Implement per-script matra positioning
-
+
Following what the spec says.
-
- Brings down Telugu failures from 40% to 3.75%, and Kannada failures
- from
+
+ Brings down Telugu failures from 40% to 3.75%, and Kannada failures from
44% to 10%. Does NOT affect other scripts' test results.
src/hb-ot-shape-complex-indic-private.hh | 2 +-
- src/hb-ot-shape-complex-indic.cc | 40
- +++++++++++++++++++++++++++++---
+ src/hb-ot-shape-complex-indic.cc | 40 +++++++++++++++++++++++++++++---
src/hb-unicode.cc | 2 +-
3 files changed, 39 insertions(+), 5 deletions(-)
@@ -76461,8 +74751,7 @@ Date: Thu Jul 19 12:59:06 2012 -0400
[Indic] More refactoring
src/hb-ot-shape-complex-indic-private.hh | 9 ++---
- src/hb-ot-shape-complex-indic.cc | 65
- ++++++++++++++++++++++++--------
+ src/hb-ot-shape-complex-indic.cc | 65 ++++++++++++++++++++++++--------
2 files changed, 54 insertions(+), 20 deletions(-)
commit 9ccc6382ba43760167c134c18c1c4ada4b8c3f22
@@ -76471,8 +74760,7 @@ Date: Thu Jul 19 12:32:16 2012 -0400
[Indic] Minor refactoring
- src/hb-ot-shape-complex-indic.cc | 127
- ++++++++++++++++++++++-----------------
+ src/hb-ot-shape-complex-indic.cc | 127 ++++++++++++++++++++++-----------------
1 file changed, 71 insertions(+), 56 deletions(-)
commit f83aaa3133de5d807be267a100d6a200e8db9017
@@ -76481,8 +74769,7 @@ Date: Thu Jul 19 12:23:23 2012 -0400
[Indic] Minor
- src/hb-ot-shape-complex-indic-private.hh | 42
- ++++++++++++++++++++------------
+ src/hb-ot-shape-complex-indic-private.hh | 42 ++++++++++++++++++++------------
1 file changed, 26 insertions(+), 16 deletions(-)
commit be8b9f5f715f6fb36b98bd33c3303f79cc068f8a
@@ -76491,8 +74778,7 @@ Date: Thu Jul 19 12:11:12 2012 -0400
[Indic] Start refactoring different matra positions per script
- src/hb-ot-shape-complex-indic-private.hh | 36
- +++++++++++++++++++-------------
+ src/hb-ot-shape-complex-indic-private.hh | 36 +++++++++++++++++++-------------
src/hb-ot-shape-complex-indic.cc | 4 ++--
2 files changed, 24 insertions(+), 16 deletions(-)
@@ -76510,11 +74796,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 19 11:25:49 2012 -0400
[Indic] Disallow decomposition of a couple characters
-
- This is a hack for now. Will be fixed when we do
- complex-shaper-driven
+
+ This is a hack for now. Will be fixed when we do complex-shaper-driven
normalization properly.
-
+
The results with or without decomposition are the same, but Uniscribe
does not normalize, so this matches better.
@@ -76526,20 +74811,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 18 23:25:58 2012 -0400
[Indic] Accept a forced Rakar sequence at the end of syllable
-
- In Sinhala, Rakar is formed by Al-Lakuna,ZWJ,Ra. If you put that
- at the
+
+ In Sinhala, Rakar is formed by Al-Lakuna,ZWJ,Ra. If you put that at the
end of a Consonant,Matra syllable, you get a dotted-circle from
Uniscribe. Apparently adding a ZWJ before the Al-Lakuna "fixes" that.
And people have been encoding that sequence... So, allow a forced
"ZWJ,Virama,ZWJ,Ra" sequence at the of syllables.
-
+
Fixes some 100 or more of Sinhala failures. Now at 622 only (0.23%).
- src/hb-ot-shape-complex-indic-machine.rl |
- 3 ++-
- .../texts/in-tree/shaper-indic/indic/script-sinhala/misc/misc.txt |
- 2 ++
+ src/hb-ot-shape-complex-indic-machine.rl | 3 ++-
+ .../texts/in-tree/shaper-indic/indic/script-sinhala/misc/misc.txt | 2 ++
2 files changed, 4 insertions(+), 1 deletion(-)
commit 6fc1732003d71cf90d37247482772c3da884687f
@@ -76547,7 +74829,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 18 17:49:19 2012 -0400
[Indic] Allow joiners on both sides of Halant at the same time
-
+
The sequence <ZWJ,Al-Lakuna,ZWJ> is used in Sinhala to explicitly ask
for Rakar. Fixes two-thousand Sinhala tests. Not many left.
@@ -76559,14 +74841,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 18 17:42:34 2012 -0400
[Indic] In final reordering, find base, even if it disappeared
-
+
POS_BASE can disappear if base ligated backward. Define base as last
with position not after base.
-
+
Fixes a few hundred of Sinhala failures with Iskoola Pota.
- src/hb-ot-shape-complex-indic.cc |
- 7 ++-----
+ src/hb-ot-shape-complex-indic.cc | 7 ++-----
.../texts/in-tree/shaper-indic/indic/script-sinhala/misc/misc.txt | 1 +
2 files changed, 3 insertions(+), 5 deletions(-)
@@ -76584,15 +74865,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 18 17:22:14 2012 -0400
[Indic] Implement Sinhala "Al Lakuna" Reph behavior
-
+
In Sinhala, Reph is formed only explicitly, by the presence of a ZWJ.
src/hb-ot-shape-complex-indic-private.hh | 2 ++
- src/hb-ot-shape-complex-indic.cc |
- 7 ++++++-
+ src/hb-ot-shape-complex-indic.cc | 7 ++++++-
.../texts/in-tree/shaper-indic/indic/script-sinhala/misc/MANIFEST | 1 +
- .../texts/in-tree/shaper-indic/indic/script-sinhala/misc/reph.txt |
- 3 +++
+ .../texts/in-tree/shaper-indic/indic/script-sinhala/misc/reph.txt | 3 +++
4 files changed, 12 insertions(+), 1 deletion(-)
commit 91cade755534c42bb826a6aefcbca8a543d94387
@@ -76600,9 +74879,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 18 16:50:41 2012 -0400
[Indic/Unicode] Decompose Sinhala split matras the way Uniscribe likes
-
+
Makes no visual difference.
-
+
Fixes most of the failures. Down from 15% to 1.3%!
src/hb-unicode.cc | 8 ++++++++
@@ -76613,13 +74892,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 18 16:34:10 2012 -0400
Apply Tibetan (global) features.
-
+
Fixes all Tibetan failures. All 180k of them!
-
+
Merges back Hangul into the default shaper.
- src/hb-ot-shape-complex-misc.cc | 82
- +++++++++++++++++---------------------
+ src/hb-ot-shape-complex-misc.cc | 82 +++++++++++++++++---------------------
src/hb-ot-shape-complex-private.hh | 7 ----
2 files changed, 37 insertions(+), 52 deletions(-)
@@ -76628,17 +74906,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 18 16:00:49 2012 -0400
[Indic] Treat Register Shifters like Nukta
-
+
Really this time.
-
+
Fixes another 18 Khmer tests.
- src/hb-ot-shape-complex-indic-machine.rl |
- 2 +-
- src/hb-ot-shape-complex-indic.cc |
- 2 --
- .../in-tree/shaper-indic/south-east-asian/script-khmer/misc/misc.txt |
- 1 +
+ src/hb-ot-shape-complex-indic-machine.rl | 2 +-
+ src/hb-ot-shape-complex-indic.cc | 2 --
+ .../in-tree/shaper-indic/south-east-asian/script-khmer/misc/misc.txt | 1 +
3 files changed, 2 insertions(+), 3 deletions(-)
commit e8cd81f76d159f3ecf808952dab24bc07782497a
@@ -76655,15 +74930,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 18 15:45:43 2012 -0400
[Indic] Fix Matra reordering when base is at end of syllable
-
+
For example: U+915,U+200c,U+93f
-
+
Fixes last Tamil failure!
- src/hb-ot-shape-complex-indic.cc |
- 2 +-
- .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt |
- 1 +
+ src/hb-ot-shape-complex-indic.cc | 2 +-
+ .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
commit d16ccc4ae7aa8be460881042413fa2637929fede
@@ -76671,9 +74944,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 18 15:43:55 2012 -0400
Leave one extra item at the end of buffer allocation
-
+
Just in case, for the times we do out-of-bounds access.
-
+
jk
src/hb-buffer-private.hh | 2 +-
@@ -76693,7 +74966,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 18 15:28:25 2012 -0400
[Indic] Allow joiners before matras
-
+
Fixes 1 more Devanagari test!
src/hb-ot-shape-complex-indic-machine.rl | 4 ++--
@@ -76704,12 +74977,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 18 15:10:05 2012 -0400
[Indic] Allow halant group in Vowel and placeholder syllables
-
+
Fixes 2 out of 560 Devanagari failures. AND:
Fixes 1 out of 2 Tamil failures.
- src/hb-ot-shape-complex-indic-machine.rl |
- 7 ++++---
+ src/hb-ot-shape-complex-indic-machine.rl | 7 ++++---
.../in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt | 1 +
2 files changed, 5 insertions(+), 3 deletions(-)
@@ -76728,10 +75000,8 @@ Date: Wed Jul 18 14:57:28 2012 -0400
[Indic] Minor
- src/hb-ot-shape-complex-indic-machine.rl |
- 3 ++-
- .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt |
- 3 +++
+ src/hb-ot-shape-complex-indic-machine.rl | 3 ++-
+ .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt | 3 +++
2 files changed, 5 insertions(+), 1 deletion(-)
commit 4c3691d2a32ca7e54a54f7c08098fd96fa7af39e
@@ -76739,7 +75009,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 18 14:23:55 2012 -0400
[Indic] Hopefully minor!
-
+
Refactoring Indic machin. No semantic change.
src/hb-ot-shape-complex-indic-machine.rl | 12 +++++++-----
@@ -76759,7 +75029,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 18 13:13:03 2012 -0400
[Indic] Unbreak Tamil
-
+
Tamil has only about 150 failures now!
src/hb-ot-shape-complex-indic.cc | 18 +++++++++++++++++-
@@ -76770,16 +75040,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 17 18:17:30 2012 -0400
[Indic] Position Khmer Robat
-
+
It's a visual Repha.
-
+
Still not positioning logical Repha as occurs in Malayalam.
-
+
Another 200 Khmer failures fixed. 547 to go. That's better than
Devanagari!
- src/hb-ot-shape-complex-indic-machine.rl | 36
- +++++++++++++++++---------------
+ src/hb-ot-shape-complex-indic-machine.rl | 36 +++++++++++++++++---------------
src/hb-ot-shape-complex-indic-private.hh | 7 ++++---
src/hb-ot-shape-complex-indic.cc | 13 ++++++++++++
3 files changed, 36 insertions(+), 20 deletions(-)
@@ -76789,11 +75058,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 17 17:53:03 2012 -0400
[Indic] Better categorize Register Shifters and Khmer Various signs
-
+
Down another 500 or so Khmer failures!
- src/hb-ot-shape-complex-indic-machine.rl | 14
- +++++++-------
+ src/hb-ot-shape-complex-indic-machine.rl | 14 +++++++-------
src/hb-ot-shape-complex-indic-private.hh | 2 +-
src/hb-ot-shape-complex-indic.cc | 8 ++++----
.../south-east-asian/script-khmer/misc/MANIFEST | 2 ++
@@ -76806,15 +75074,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 17 17:09:29 2012 -0400
Add hb_buffer_normalize_glyphs() and hb-shape --normalize-glyphs
-
- This reorders glyphs within the cluster to a nominal order.
- This should
+
+ This reorders glyphs within the cluster to a nominal order. This should
have no visible effect on the output, but helps with testing, for
getting the same hb-shape output for visually-equal glyphs for each
cluster.
- src/hb-buffer.cc | 76
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-buffer.cc | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-buffer.h | 13 ++++++++++
src/hb-private.hh | 29 ++++++++++++++++-----
util/options.cc | 1 +
@@ -76834,17 +75100,15 @@ commit 5d32690a3428fa86eb26fe5fcec943a10aa95881
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 17 14:23:28 2012 -0400
- [Indic] For scripts without Half forms, always choose first consonant
- as base
-
+ [Indic] For scripts without Half forms, always choose first consonant as base
+
In such scripts (ie. Khmer), a ZWJ/ZWNJ shouldn't stop the search for
base. So, instead just choose the first consonant as base directly.
-
+
Test sequence:
U+1798,200c,U+17C9,U+17D2,U+179B,U+17C1,U+17C7
- src/hb-ot-shape-complex-indic.cc | 59
- ++++++++++++++++++++++++----------------
+ src/hb-ot-shape-complex-indic.cc | 59 ++++++++++++++++++++++++----------------
1 file changed, 35 insertions(+), 24 deletions(-)
commit 34b57149065d96f7528aaccaa7654e956ce27e93
@@ -76852,13 +75116,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 17 14:09:32 2012 -0400
[Indic] Treat Khmer Register Shifters more like Nuktas
-
+
Except that there may be a ZWNJ before a Register Shifter.
- src/hb-ot-shape-complex-indic-machine.rl |
- 2 +-
- .../in-tree/shaper-indic/south-east-asian/script-khmer/misc/misc.txt |
- 2 ++
+ src/hb-ot-shape-complex-indic-machine.rl | 2 +-
+ .../in-tree/shaper-indic/south-east-asian/script-khmer/misc/misc.txt | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
commit 11e2a601b19861b05dbb2051d2d078c3cfd75b29
@@ -76875,15 +75137,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 17 13:55:10 2012 -0400
[Indic] Apply 'cfar' for Khmer
-
+
Mark stuff after a pre-base reordering Ro 'cfar'. Used in Khmer.
This allows distinguishing the following cases with MS Khmer fonts:
-
+
U+1784,U+17D2,U+179A,U+17D2,U+1782
U+1784,U+17D2,U+1782,U+17D2,U+179A
- src/hb-ot-shape-complex-indic.cc | 16
- ++++++++++++++--
+ src/hb-ot-shape-complex-indic.cc | 16 ++++++++++++++--
.../south-east-asian/script-khmer/misc/misc.txt | 2 ++
2 files changed, 16 insertions(+), 2 deletions(-)
@@ -76892,16 +75153,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 17 12:50:13 2012 -0400
[Indic] Position final subjoined consonants (and vowels) after matras
-
+
In Khmer, a final subjoined consonant or independent vowel can occur
after matras. This final subjoined thing should NOT be reordered to
before the matra even though it's subjoined.
-
+
Fixes another 1k of the Khmer failures. Not much left really.
src/hb-ot-shape-complex-indic-private.hh | 1 +
- src/hb-ot-shape-complex-indic.cc | 13
- +++++++++++++
+ src/hb-ot-shape-complex-indic.cc | 13 +++++++++++++
.../south-east-asian/script-khmer/misc/misc.txt | 2 ++
3 files changed, 16 insertions(+)
@@ -76910,15 +75170,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 17 11:54:28 2012 -0400
[Indic] Recategorize Khmer coeng sign as a separate category OT_Coeng
-
+
Amend the syllable structure to allow a final subscripted consonant
(Coeng+C) and a final subscripted independent vowel (Coeng+V).
Fixes another 2k of Khmer failures.
- src/hb-ot-shape-complex-indic-machine.rl |
- 7 ++++---
- src/hb-ot-shape-complex-indic.cc |
- 6 +++++-
+ src/hb-ot-shape-complex-indic-machine.rl | 7 ++++---
+ src/hb-ot-shape-complex-indic.cc | 6 +++++-
.../shaper-indic/south-east-asian/script-khmer/misc/misc.txt | 1 +
3 files changed, 10 insertions(+), 4 deletions(-)
@@ -76927,7 +75185,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 17 11:37:32 2012 -0400
[Indic] Add a separate Coeng class
-
+
No characters recategorized yet. No semantic change.
src/hb-ot-shape-complex-indic-machine.rl | 1 +
@@ -76940,18 +75198,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 17 11:16:19 2012 -0400
[Indic] Move Halant with after-base consonants
-
+
Normally, we attach the Halant to the previous character and move it
- with it. For after-base consonants however, the Halant "belongs"
- to the
+ with it. For after-base consonants however, the Halant "belongs" to the
consonant after, so attach it so.
-
+
This fixes Bengali sequences involving post-base consonant Ya, which
should ligate with the Halant to form Ya Phala, but previously a
reordered matras was blocking the ligation.
- src/hb-ot-shape-complex-indic.cc |
- 11 +++++++++++
+ src/hb-ot-shape-complex-indic.cc | 11 +++++++++++
.../in-tree/shaper-indic/indic/script-bengali/misc/misc.txt | 1 +
2 files changed, 12 insertions(+)
@@ -76960,16 +75216,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 17 10:40:59 2012 -0400
[Indic] Apply presentation-forms features all at once
-
- Seems like this is what Uniscribe is doing, and does not break
- any fonts
- we tested (with Devanagari, Malayalam, Khmer, and Bengali), while
- fixing
+
+ Seems like this is what Uniscribe is doing, and does not break any fonts
+ we tested (with Devanagari, Malayalam, Khmer, and Bengali), while fixing
some Ra Phala sequences for Bengali with Vrinda. Fixes another 2% of
Bengali failures (a couple more to go).
- src/hb-ot-shape-complex-indic.cc |
- 6 +++---
+ src/hb-ot-shape-complex-indic.cc | 6 +++---
.../texts/in-tree/shaper-indic/indic/script-bengali/misc/misc.txt | 1 +
2 files changed, 4 insertions(+), 3 deletions(-)
@@ -76978,7 +75231,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 16 22:43:17 2012 -0400
Fix MarkAttachmentType matching
-
+
Fixes issue reported by Khaled Hosny with his Hussaini Nastaleeq font
and sequences like those added in the previous commit.
@@ -76990,12 +75243,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 16 22:46:06 2012 -0400
[test/arabic] Add Arabic tests for mark skipping
-
+
Expose a bug with Khaled's Hussaini Nastaleeq font.
.../shaper-arabic/script-arabic/misc/diacritics/MANIFEST | 1 +
- .../script-arabic/misc/diacritics/mark-skipping.txt |
- 10 ++++++++++
+ .../script-arabic/misc/diacritics/mark-skipping.txt | 10 ++++++++++
2 files changed, 11 insertions(+)
commit ad4494759fa8bfd2497800c24fa414075ed1aa61
@@ -77012,12 +75264,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 16 20:31:24 2012 -0400
[Indic] Disable 'kern' in Uniscribe bug compatibility mode
-
- Uniscribe does not apply 'kern' in the Indic module. Some of
- the Khmer
+
+ Uniscribe does not apply 'kern' in the Indic module. Some of the Khmer
fonts they ship have small adjustments in the 'kern' table. Disable
'kern' in the Indic module under Uniscribe bug compatibility mode.
-
+
Fixes some 10% of the Khmer failures. Remains under 3% (excluding
dotted-circle ones).
@@ -77029,7 +75280,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 16 20:26:57 2012 -0400
Allow complex shapers overriding common features
-
+
In a new callback... Currently unused by all complex shapers.
src/hb-ot-shape-complex-arabic.cc | 6 ++++++
@@ -77044,10 +75295,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 16 19:56:29 2012 -0400
[Indic] Categorize other Khmer marks
-
+
Mark them the same as the Register Shifters for now. Need to rename
that category to something more sensible after all is settled.
-
+
Fixes another percent of Khmer failures. Down to under 3%!
src/hb-ot-shape-complex-indic.cc | 4 ++++
@@ -77058,14 +75309,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 16 17:04:46 2012 -0400
[Indic] Recognize pre-base reordering Ra anywhere in the syllable
-
+
We were doing that only immediately after base.
+
+ Fixes another percent in the Khmer failures. About three more to go...
- Fixes another percent in the Khmer failures. About three more
- to go...
-
- src/hb-ot-shape-complex-indic.cc | 84
- ++++++++++++++++++++++------------------
+ src/hb-ot-shape-complex-indic.cc | 84 ++++++++++++++++++++++------------------
1 file changed, 46 insertions(+), 38 deletions(-)
commit 7d09c98a1fff97127e48eae48d380dc9fcff288e
@@ -77073,7 +75322,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 16 16:45:22 2012 -0400
[Indic] Recognizer Register Shifter marks
-
+
Fixes another 6% of the Khmer failures.
src/hb-ot-shape-complex-indic-machine.rl | 3 ++-
@@ -77086,7 +75335,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 16 16:13:32 2012 -0400
[GSUB/GDEF] Guess glyph classes after substitution only if no GDEF
-
+
Brings down Khmer failures with Daun Penh font from 36% to 20%.
src/hb-ot-layout-gsubgpos-private.hh | 20 +++++++++++++-------
@@ -77097,7 +75346,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 16 15:52:54 2012 -0400
[Indic] Categorize Khmer Ro
-
+
Khmer failures down from 58% to 36%.
src/hb-ot-shape-complex-indic-private.hh | 2 ++
@@ -77108,11 +75357,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 16 15:49:08 2012 -0400
[Indic] Reoder pre-base reordering Ra
-
+
Brings down Malayalam failures from 14% down to 3%.
- src/hb-ot-shape-complex-indic.cc | 42
- +++++++++++++++++++++++++++-------------
+ src/hb-ot-shape-complex-indic.cc | 42 +++++++++++++++++++++++++++-------------
1 file changed, 29 insertions(+), 13 deletions(-)
commit 1a1dbe9a2787f226f3e43063da8eb6633438b0a0
@@ -77138,7 +75386,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 16 15:26:56 2012 -0400
[Indic] Rename
-
+
No semantic change.
src/hb-ot-shape-complex-indic.cc | 26 +++++++++++++-------------
@@ -77149,7 +75397,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 16 15:21:12 2012 -0400
[Indic] Implement After-Main Reph positioning
-
+
Almost...
src/hb-ot-shape-complex-indic.cc | 8 +++++++-
@@ -77160,7 +75408,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 16 15:20:15 2012 -0400
[Indic] Apply 'pref' to pre-base reodering Ra
-
+
No reordering yet.
src/hb-ot-shape-complex-indic.cc | 10 ++++++++++
@@ -77171,7 +75419,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 16 15:15:28 2012 -0400
[Indic] Minor
-
+
Should not be any semantic change. In preparation for implementing
pre-base reordering Ra.
@@ -77184,8 +75432,7 @@ Date: Mon Jul 16 14:52:18 2012 -0400
Minor
- src/hb-ot-shape-complex-indic.cc | 44
- ++++++++++++++++++++--------------------
+ src/hb-ot-shape-complex-indic.cc | 44 ++++++++++++++++++++--------------------
1 file changed, 22 insertions(+), 22 deletions(-)
commit 2f903215c5da2330a37abe489a3f45f7c3fd5a09
@@ -77220,7 +75467,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 16 13:25:17 2012 -0400
Split matras without a Unicode decomposition
-
+
This is a hack for now, to get us going with Khmer. This will be
refactored properly later to move the complex logic into complex
shapers.
@@ -77233,7 +75480,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 16 13:24:26 2012 -0400
[Indic] Adjust position for split matras
-
+
We are going to split matras without a Unicode decompositions in a way
that the second half takes the codepoint of the whole matra. So,
position them where the second half is supposed to end up.
@@ -77246,9 +75493,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 16 13:23:40 2012 -0400
[GSUB] Allow 1-to-1 ligature substitutions!
-
- Apparently Uniscribe allows these, and they are used in some Khmer
- fonts
+
+ Apparently Uniscribe allows these, and they are used in some Khmer fonts
shipped with Windows, namely, Daun Penh.
src/hb-ot-layout-gsub-table.hh | 2 +-
@@ -77296,9 +75542,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 13 10:19:10 2012 -0400
Make sure HB_BEGIN_DECLS / HB_END_DECLS is only used in public headers
-
- So we can use them to switch default visibility to internal if
- desired,
+
+ So we can use them to switch default visibility to internal if desired,
and use these to make only declared symbols public.
src/check-c-linkage-decls.sh | 10 +++++++++-
@@ -77329,9 +75574,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 13 09:48:39 2012 -0400
Check for exported weak symbols
-
- Ouch, all our C++ inline functions are being exported (weakly)
- already.
+
+ Ouch, all our C++ inline functions are being exported (weakly) already.
Fix coming.
src/check-internal-symbols.sh | 8 +++++++-
@@ -77369,9 +75613,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 11 19:00:30 2012 -0400
[ft] Disable ppem setting
-
+
The calculations were wrong.
-
+
FreeType makes it really hard to set size and ppem independently.
For now, disable it. Need to come up with a fix later.
@@ -77392,15 +75636,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 11 18:01:27 2012 -0400
Revert "Towards templatizing common Lookup types"
-
+
This reverts commit 727135f3a9938c1ebd5b9f5015a46c7ccc8573c5.
-
+
This is work-in-progress. Didn't mean to push it out just yet.
src/hb-ot-layout-gpos-table.hh | 16 ++++++----------
src/hb-ot-layout-gsub-table.hh | 24 ++++++++++--------------
- src/hb-ot-layout-gsubgpos-private.hh | 33
- ++-------------------------------
+ src/hb-ot-layout-gsubgpos-private.hh | 33 ++-------------------------------
3 files changed, 18 insertions(+), 55 deletions(-)
commit 552bf3a9f9651311084b7979805dbdc18c0335ca
@@ -77408,10 +75651,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 11 16:44:51 2012 -0400
Bump WINNT version requested from 500 to 600
-
+
Since we use the OpenType versions of Uniscribe functions, we are
- relying on that version of the WINNT API. Otherwise, usp10.h
- will hide
+ relying on that version of the WINNT API. Otherwise, usp10.h will hide
those symbols.
src/hb-uniscribe.cc | 2 +-
@@ -77444,8 +75686,7 @@ Date: Tue Jul 3 22:15:35 2012 -0400
src/hb-ot-layout-gpos-table.hh | 16 ++++++++++------
src/hb-ot-layout-gsub-table.hh | 24 ++++++++++++++----------
- src/hb-ot-layout-gsubgpos-private.hh | 33
- +++++++++++++++++++++++++++++++--
+ src/hb-ot-layout-gsubgpos-private.hh | 33 +++++++++++++++++++++++++++++++--
3 files changed, 55 insertions(+), 18 deletions(-)
commit 1167c7bfc9e61f145e11da4881968293a4d3c0a9
@@ -77454,13 +75695,11 @@ Date: Tue Jul 3 11:38:46 2012 -0400
Minor
- test/shaping/texts/in-tree/shaper-thai/MANIFEST |
- 2 +-
+ test/shaping/texts/in-tree/shaper-thai/MANIFEST | 2 +-
test/shaping/texts/in-tree/shaper-thai/misc/MANIFEST | 1 -
test/shaping/texts/in-tree/shaper-thai/script-thai/MANIFEST | 1 +
test/shaping/texts/in-tree/shaper-thai/script-thai/misc/MANIFEST | 1 +
- .../shaper-thai/{misc/misc.txt => script-thai/misc/sara-am.txt} |
- 6 ++----
+ .../shaper-thai/{misc/misc.txt => script-thai/misc/sara-am.txt} | 6 ++----
5 files changed, 5 insertions(+), 6 deletions(-)
commit aa116582e69d18777448e7993078e5d6335ddfed
@@ -77469,8 +75708,7 @@ Date: Fri Jun 29 10:50:12 2012 -0400
Minor
- .../texts/in-tree/shaper-indic/indic/script-malayalam/misc/misc.txt
- | 1 +
+ .../texts/in-tree/shaper-indic/indic/script-malayalam/misc/misc.txt | 1 +
1 file changed, 1 insertion(+)
commit 1f13c7185f02ea18d4fadd2ea8ad444bea863c39
@@ -77497,7 +75735,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 26 10:46:31 2012 -0400
Use octal-escaped UTF-8 characters instead of plain text
-
+
https://bugs.freedesktop.org/show_bug.cgi?id=50970
src/hb-private.hh | 17 ++++++++++++-----
@@ -77508,7 +75746,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jun 24 13:20:56 2012 -0400
Disable introspection again
-
+
Until I figure out the build issues. Sigh...
configure.ac | 2 +-
@@ -77655,7 +75893,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jun 9 02:53:57 2012 -0400
Add fast-path for GPOS too
-
+
Shaves another 3% for DejaVu Sans long Latin strings.
src/hb-ot-layout-gpos-table.hh | 16 ++++++++++++++--
@@ -77666,7 +75904,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jun 9 02:48:16 2012 -0400
Add fast-path to GSUB to check coverage
-
+
Shaves a good 10% off DejaVu Sans with simple Latin text for me.
Now, DejaVu is very ChainContext-intensive, but it's also a very
popular font!
@@ -77679,7 +75917,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jun 9 02:26:57 2012 -0400
Match input before backtrack
-
+
Makes more sense, optimization-wise.
src/hb-ot-layout-gsubgpos-private.hh | 8 ++++----
@@ -77727,12 +75965,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jun 9 01:10:26 2012 -0400
Micro-optimize
-
+
I know...
src/hb-ot-layout-gsubgpos-private.hh | 3 ++-
- src/hb-ot-layout.cc | 46
- ++++++++++++++++++++++--------------
+ src/hb-ot-layout.cc | 46 ++++++++++++++++++++++--------------
2 files changed, 30 insertions(+), 19 deletions(-)
commit 70416de298b811ab6be53a1c67f0d2531d99cd46
@@ -77749,7 +75986,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jun 9 00:50:40 2012 -0400
Use linear search for small counts
-
+
I see about 8% speedup with long strings with DejaVu Sans.
src/hb-open-type-private.hh | 19 ++++++++++++++-----
@@ -77788,13 +76025,12 @@ commit 7b84c536c10ab90ed96a033d88e9ad232d46c5b8
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 8 22:04:23 2012 -0400
- In MarkBase attachment, only attach to first of a MultipleSubst
- sequence
-
+ In MarkBase attachment, only attach to first of a MultipleSubst sequence
+
This is apparently what Uniscribe does. Test case is:
-
+
SEEN FATHA TEH ALEF
-
+
with Arabic Typesetting. Originally reported by Khaled Hosny.
src/hb-ot-layout-gpos-table.hh | 7 ++++++-
@@ -77806,7 +76042,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 8 21:47:23 2012 -0400
Set lig_comp for MultipleSubst components
-
+
To be used for correct mark attachment to first component of a
MultipleSubst output. That's what Uniscribe does.
@@ -77921,8 +76157,7 @@ commit e51d2b6ed1c794ac28c5610bfd01dbc9fb383633
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 8 20:33:27 2012 -0400
- Extend into main buffer if extension hit end of out-buffer merging
- clusters
+ Extend into main buffer if extension hit end of out-buffer merging clusters
src/hb-buffer.cc | 5 +++++
src/hb-ot-shape-complex-misc.cc | 9 ---------
@@ -78015,14 +76250,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 8 14:08:32 2012 -0400
Fix Uniscribe charset matching
-
- Previously was failing to match fonts that didn't support
- CHARSET_ANSI.
-
+
+ Previously was failing to match fonts that didn't support CHARSET_ANSI.
+
There still remains a problem with the Uniscribe backend, in that if a
font with the same family name is installed, and is newer, the native
- one is preferred over the font we provide. Fixing it requires
- rewriting
+ one is preferred over the font we provide. Fixing it requires rewriting
the name table with a unique family name...
src/hb-uniscribe.cc | 1 +
@@ -78051,7 +76284,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 8 10:43:49 2012 -0400
Fix regressions introduced by sed. Ouch!
-
+
Introduced in 99c2695759a6af855d565f4994bbdf220570bb48.
Broken mark-mark and mark-ligature stuff.
@@ -78065,8 +76298,7 @@ Date: Fri Jun 8 10:23:03 2012 -0400
Whitespace
- src/hb-uniscribe.cc | 144
- ++++++++++++++++++++++++++--------------------------
+ src/hb-uniscribe.cc | 144 ++++++++++++++++++++++++++--------------------------
1 file changed, 72 insertions(+), 72 deletions(-)
commit 8e7beba7c3b3dea3cb3b7e280c5aab4f13b92d31
@@ -78092,7 +76324,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 8 09:59:43 2012 -0400
Unbreak Uniscribe
-
+
Oops. hb_tag_t and OPENTYPE_TAG have different endianness. Perhaps
something to add API for in hb-uniscribe.h
@@ -78105,7 +76337,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 8 09:26:17 2012 -0400
Override direction in Uniscribe backend
-
+
Matches OT backend now.
src/hb-uniscribe.cc | 2 +-
@@ -78134,7 +76366,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jun 7 17:31:46 2012 -0400
Fix alignment-requirement missmatch
-
+
Detected by clang and lots of cmdline options.
src/hb-buffer-private.hh | 2 +-
@@ -78187,7 +76419,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jun 6 11:27:17 2012 -0400
Fix ASSERT_POD on clang
-
+
As reported by bashi. Not tested.
src/hb-private.hh | 8 ++++++--
@@ -78233,7 +76465,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 5 21:14:04 2012 -0400
Don't link to libstdc++
-
+
New try.
src/Makefile.am | 3 ++-
@@ -78253,7 +76485,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 5 20:39:07 2012 -0400
Disable Intel atomic ops on mingw32
-
+
Apparently the configure test is not enough...
src/hb-atomic-private.hh | 2 +-
@@ -78291,8 +76523,7 @@ Date: Tue Jun 5 20:35:40 2012 -0400
util/hb-shape.cc | 2 +-
util/helper-cairo.cc | 16 +++++------
util/main-font-text.hh | 2 +-
- util/options.cc | 58
- +++++++++++++++++++-------------------
+ util/options.cc | 58 +++++++++++++++++++-------------------
util/options.hh | 2 +-
util/view-cairo.hh | 2 +-
29 files changed, 185 insertions(+), 191 deletions(-)
@@ -78302,7 +76533,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 5 20:31:49 2012 -0400
Fix inert buffer set_length() with zero
-
+
Oops!
src/hb-buffer.cc | 3 +++
@@ -78333,12 +76564,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 5 19:23:29 2012 -0400
Remove last static initializer
-
+
We're free! Lazy or immediate...
src/hb-ft.cc | 2 +
- src/hb-shape.cc | 150
- ++++++++++++++++++++++++++++++++++++++++----------------
+ src/hb-shape.cc | 150 ++++++++++++++++++++++++++++++++++++++++----------------
2 files changed, 110 insertions(+), 42 deletions(-)
commit 4a8a529068fc380298bb05b9d878bede3e9f4da1
@@ -78378,11 +76608,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 5 18:00:45 2012 -0400
Implement lock-free hb_language_t
-
+
Another static-initialization down. One more to go.
- src/hb-common.cc | 66
- +++++++++++++++++++++++++++++++++++++++++++++-----------
+ src/hb-common.cc | 66 +++++++++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 54 insertions(+), 12 deletions(-)
commit 6843ce01be0df501ef3149a2c1c54cdfb693195d
@@ -78390,7 +76619,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 5 17:27:20 2012 -0400
Add atomic-pointer functions
-
+
Gonig to use these for lock-free linked-lists, to be used for
hb_language_t among other things.
@@ -78405,8 +76634,7 @@ Date: Tue Jun 5 16:34:49 2012 -0400
configure.ac | 4 ++--
src/hb-atomic-private.hh | 11 +++++++++--
- src/hb-mutex-private.hh | 51
- +++++++++++++++++++++++++++++++++++++++++-------
+ src/hb-mutex-private.hh | 51 +++++++++++++++++++++++++++++++++++++++++-------
src/hb-object-private.hh | 4 +++-
src/hb-warning.cc | 14 ++++++-------
5 files changed, 65 insertions(+), 19 deletions(-)
@@ -78425,7 +76653,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 5 15:37:19 2012 -0400
Add a mutex to object header
-
+
Removes one more static-initialization. A few more to go.
src/hb-common.cc | 24 +++++++++---------------
@@ -78440,8 +76668,7 @@ Date: Tue Jun 5 15:17:44 2012 -0400
Remove static initializers from indic
- src/hb-ot-shape-complex-indic.cc | 50
- +++++++++++++++++++++++++++++++---------
+ src/hb-ot-shape-complex-indic.cc | 50 +++++++++++++++++++++++++++++++---------
1 file changed, 39 insertions(+), 11 deletions(-)
commit f06ab8a4262c759b4723614fd28f55ee77aa8466
@@ -78452,8 +76679,7 @@ Date: Tue Jun 5 12:31:51 2012 -0400
src/hb-blob.cc | 34 +++++++++++------------
src/hb-buffer.cc | 39 +++++++++++++-------------
- src/hb-font.cc | 70
- +++++++++++++++++++++++------------------------
+ src/hb-font.cc | 70 +++++++++++++++++++++++------------------------
src/hb-ft.cc | 49 +++++++++++++++------------------
src/hb-glib.cc | 25 ++++++++---------
src/hb-icu.cc | 25 ++++++++---------
@@ -78467,10 +76693,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 5 14:17:32 2012 -0400
Remove constructor from hb_prealloced_array_t
-
+
This was causing all object types to be non-POD and have static
initializers. We don't need that!
-
+
Now, most nil objects just moved from .bss to .data. Fixing for that
coming soon.
@@ -78503,48 +76729,27 @@ Date: Mon Jun 4 10:21:22 2012 -0400
s/script-punjabi/script-gurmukhi/
- test/shaping/texts/in-tree/shaper-indic/indic/MANIFEST |
- 2 +-
- .../shaper-indic/indic/{script-punjabi => script-gurmukhi}/MANIFEST
- | 0
- .../indic/{script-punjabi => script-gurmukhi}/misc/MANIFEST |
- 0
- .../indic/{script-punjabi => script-gurmukhi}/misc/misc.txt |
- 0
- .../indic/{script-punjabi => script-gurmukhi}/utrrs/LICENSE |
- 0
- .../indic/{script-punjabi => script-gurmukhi}/utrrs/MANIFEST |
- 0
- .../shaper-indic/indic/{script-punjabi => script-gurmukhi}/utrrs/README
- | 0
- .../indic/{script-punjabi => script-gurmukhi}/utrrs/SOURCES |
- 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt |
- 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt |
- 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-GurmukhiSpecific.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
- | 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt |
- 0
- .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
- | 0
- .../indic/{script-punjabi => script-gurmukhi}/utrrs/codepoint/MANIFEST
- | 0
- .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt |
- 0
- .../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt |
- 0
- .../indic/{script-punjabi => script-gurmukhi}/utrrs/gpos/MANIFEST
- | 0
- .../utrrs/gsub/IndicFontFeatureGSUB.txt |
- 0
- .../indic/{script-punjabi => script-gurmukhi}/utrrs/gsub/MANIFEST
- | 0
+ test/shaping/texts/in-tree/shaper-indic/indic/MANIFEST | 2 +-
+ .../shaper-indic/indic/{script-punjabi => script-gurmukhi}/MANIFEST | 0
+ .../indic/{script-punjabi => script-gurmukhi}/misc/MANIFEST | 0
+ .../indic/{script-punjabi => script-gurmukhi}/misc/misc.txt | 0
+ .../indic/{script-punjabi => script-gurmukhi}/utrrs/LICENSE | 0
+ .../indic/{script-punjabi => script-gurmukhi}/utrrs/MANIFEST | 0
+ .../shaper-indic/indic/{script-punjabi => script-gurmukhi}/utrrs/README | 0
+ .../indic/{script-punjabi => script-gurmukhi}/utrrs/SOURCES | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-GurmukhiSpecific.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0
+ .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0
+ .../indic/{script-punjabi => script-gurmukhi}/utrrs/codepoint/MANIFEST | 0
+ .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0
+ .../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0
+ .../indic/{script-punjabi => script-gurmukhi}/utrrs/gpos/MANIFEST | 0
+ .../utrrs/gsub/IndicFontFeatureGSUB.txt | 0
+ .../indic/{script-punjabi => script-gurmukhi}/utrrs/gsub/MANIFEST | 0
21 files changed, 1 insertion(+), 1 deletion(-)
commit c1885483120d4b686b2fe95b217dce7248e040b1
@@ -78552,7 +76757,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jun 4 08:56:00 2012 -0400
Add --verbose to hb-shape
-
+
Just turns all --show-* options on.
util/options.cc | 11 +++++++++++
@@ -78564,7 +76769,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jun 4 08:28:19 2012 -0400
Remove comma at the end of enum
-
+
As reported by Jonathan Kew on the list.
src/hb-ot-shape-complex-indic.cc | 2 +-
@@ -78575,28 +76780,21 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jun 3 15:54:19 2012 -0400
Remove const from ref_count.ref_count
-
+
According to Tom Hacohen this was breaking build with some compilers.
-
+
In file included from hb-buffer-private.hh:35:0,
from hb-ot-map-private.hh:32,
from hb-ot-shape-private.hh:32,
from hb-ot-shape.cc:29:
- hb-object-private.hh: In constructor
- '_hb_object_header_t::_hb_object_header_t()':
- hb-object-private.hh:97:8: error: uninitialized const member in
- 'struct hb_reference_count_t'
- hb-object-private.hh:51:25: note: 'hb_reference_count_t::ref_count'
- should be initialized
+ hb-object-private.hh: In constructor '_hb_object_header_t::_hb_object_header_t()':
+ hb-object-private.hh:97:8: error: uninitialized const member in 'struct hb_reference_count_t'
+ hb-object-private.hh:51:25: note: 'hb_reference_count_t::ref_count' should be initialized
In file included from hb-ot-shape.cc:33:0:
hb-set-private.hh: In constructor '_hb_set_t::_hb_set_t()':
- hb-set-private.hh:37:8: note: synthesized method
- '_hb_object_header_t::_hb_object_header_t()' first required here
- hb-ot-shape.cc: In function 'void
- hb_ot_shape_glyphs_closure(hb_font_t*, hb_buffer_t*, const
- hb_feature_t*, unsigned int, hb_set_t*)':
- hb-ot-shape.cc:521:12: note: synthesized method
- '_hb_set_t::_hb_set_t()' first required here
+ hb-set-private.hh:37:8: note: synthesized method '_hb_object_header_t::_hb_object_header_t()' first required here
+ hb-ot-shape.cc: In function 'void hb_ot_shape_glyphs_closure(hb_font_t*, hb_buffer_t*, const hb_feature_t*, unsigned int, hb_set_t*)':
+ hb-ot-shape.cc:521:12: note: synthesized method '_hb_set_t::_hb_set_t()' first required here
src/hb-object-private.hh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -78634,8 +76832,7 @@ Date: Sat Jun 2 12:13:08 2012 -0400
util/options.hh | 33 ++++++++++++++--------------
util/shape-consumer.hh | 17 ++++++++++++---
util/view-cairo.cc | 47 +++++++---------------------------------
- util/view-cairo.hh | 52
- +++++++++++++++++++++++++++++++++++++++------
+ util/view-cairo.hh | 52 +++++++++++++++++++++++++++++++++++++++------
8 files changed, 143 insertions(+), 81 deletions(-)
commit 96a9ef0c9fca8d58d8dc6baf6b262d96587abee0
@@ -78643,7 +76840,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 1 13:46:26 2012 -0400
Remove tab character like other "zero-width" characters
-
+
Uniscribe does that, this make comparing results to Uniscribe
easier.
@@ -78664,9 +76861,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 28 10:46:47 2012 -0400
Remove hb_atomic_int_set/get()
-
+
We never use them in fact...
-
+
I'm just adjusting these as I better understand the requirements of
the code and the guarantees of each operation.
@@ -78679,11 +76876,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun May 27 22:39:48 2012 -0400
Minor Malayalam test case
-
+
From https://bugs.freedesktop.org/show_bug.cgi?id=45166
- .../texts/in-tree/shaper-indic/indic/script-malayalam/misc/misc.txt
- | 1 +
+ .../texts/in-tree/shaper-indic/indic/script-malayalam/misc/misc.txt | 1 +
1 file changed, 1 insertion(+)
commit dfff5b3021016d3a472c100272fd8e2f52307860
@@ -78692,14 +76888,10 @@ Date: Sun May 27 22:07:04 2012 -0400
Add Myanmar test case
- test/shaping/texts/in-tree/shaper-indic/south-east-asian/MANIFEST
- | 1 +
- .../texts/in-tree/shaper-indic/south-east-asian/script-myanmar/MANIFEST
- | 1 +
- .../in-tree/shaper-indic/south-east-asian/script-myanmar/misc/MANIFEST
- | 1 +
- .../in-tree/shaper-indic/south-east-asian/script-myanmar/misc/misc.txt
- | 1 +
+ test/shaping/texts/in-tree/shaper-indic/south-east-asian/MANIFEST | 1 +
+ .../texts/in-tree/shaper-indic/south-east-asian/script-myanmar/MANIFEST | 1 +
+ .../in-tree/shaper-indic/south-east-asian/script-myanmar/misc/MANIFEST | 1 +
+ .../in-tree/shaper-indic/south-east-asian/script-myanmar/misc/misc.txt | 1 +
4 files changed, 4 insertions(+)
commit bce095524b3e69a47f8e88a2fb02d6ab537f9b0a
@@ -78710,8 +76902,7 @@ Date: Sun May 27 11:29:21 2012 -0400
TODO | 1 +
src/hb-font-private.hh | 2 ++
- src/hb-font.cc | 80
- +++++++++++++++++++++++++++++++++++----------
+ src/hb-font.cc | 80 +++++++++++++++++++++++++++++++++++----------
src/hb-font.h | 28 ++++++++++++++++
src/hb-ft.cc | 52 ++++++++++++++++++++++++-----
util/hb-ot-shape-closure.cc | 9 ++---
@@ -78742,7 +76933,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun May 27 10:11:13 2012 -0400
Don't use atomic ops in hb_cache_t
-
+
We don't care about linearizability, so unprotected int read/write
are enough, no need for expensive memory barriers. It's a cache,
that's all.
@@ -78764,12 +76955,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun May 27 10:01:13 2012 -0400
Fix Windows atomic get/set
-
+
According to:
http://msdn.microsoft.com/en-us/library/65tt87y8.aspx
-
- MemoryBarrier() is the right macro to protect these, not
- _ReadBarrier()
+
+ MemoryBarrier() is the right macro to protect these, not _ReadBarrier()
and/or _WriteBarrier().
src/hb-atomic-private.hh | 4 ++--
@@ -78823,7 +77013,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 24 10:46:39 2012 -0400
Fix hb_atomic_int_set() implementation for HB_NO_MT
-
+
As pointed out by Jonathan Kew.
src/hb-atomic-private.hh | 2 +-
@@ -78847,8 +77037,7 @@ Date: Wed May 23 21:50:43 2012 -0400
.../shaper-arabic/script-arabic/misc/MANIFEST | 2 +-
.../script-arabic/misc/diacritics/MANIFEST | 5 +
.../script-arabic/misc/diacritics/lam-alef.txt | 28 +
- .../misc/diacritics/language-arabic.txt | 695
- +++++++++++++++++++++
+ .../misc/diacritics/language-arabic.txt | 695 +++++++++++++++++++++
.../misc/diacritics/language-persian.txt | 48 ++
.../misc/diacritics/language-urdu.txt | 188 ++++++
.../misc/{ => diacritics}/ligature-diacritics.txt | 0
@@ -78859,9 +77048,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 22 22:12:22 2012 -0400
Fix substitution glyph class propagation
-
+
The old code was doing nothing.
-
+
Still got to find an example font+string that makes this matter, but
need this for fixing synthetic GDEF anyway.
@@ -78874,26 +77063,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 18 15:04:35 2012 -0400
Add CJK Compatibility Ideographs tests
-
+
From:
http://people.mozilla.org/~jdaggett/tests/cjkcompat.html
- test/shaping/texts/in-tree/shaper-default/MANIFEST |
- 3 ++-
- .../in-tree/shaper-default/{script-japanese => script-han}/MANIFEST
- | 0
- test/shaping/texts/in-tree/shaper-default/script-han/misc/MANIFEST |
- 1 +
- .../texts/in-tree/shaper-default/script-han/misc/cjk-compat.txt |
- 3 +++
- test/shaping/texts/in-tree/shaper-default/script-hiragana/MANIFEST |
- 1 +
- .../shaper-default/{script-japanese => script-hiragana}/misc/MANIFEST
- | 0
- .../{script-japanese => script-hiragana}/misc/kazuraki-liga-lines.txt
- | 0
- .../{script-japanese => script-hiragana}/misc/kazuraki-liga.txt
- | 0
+ test/shaping/texts/in-tree/shaper-default/MANIFEST | 3 ++-
+ .../in-tree/shaper-default/{script-japanese => script-han}/MANIFEST | 0
+ test/shaping/texts/in-tree/shaper-default/script-han/misc/MANIFEST | 1 +
+ .../texts/in-tree/shaper-default/script-han/misc/cjk-compat.txt | 3 +++
+ test/shaping/texts/in-tree/shaper-default/script-hiragana/MANIFEST | 1 +
+ .../shaper-default/{script-japanese => script-hiragana}/misc/MANIFEST | 0
+ .../{script-japanese => script-hiragana}/misc/kazuraki-liga-lines.txt | 0
+ .../{script-japanese => script-hiragana}/misc/kazuraki-liga.txt | 0
8 files changed, 7 insertions(+), 1 deletion(-)
commit 20fdb0f41d81b226e076a4830d4b0d03da31fc19
@@ -78901,13 +77082,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 17 22:04:45 2012 -0400
Add a lock-free cache type for int->int functions
-
+
To be used for cmap and advance caching if desired.
TODO | 2 ++
src/Makefile.am | 1 +
- src/hb-cache-private.hh | 72
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-cache-private.hh | 72 +++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-font.cc | 2 ++
4 files changed, 77 insertions(+)
@@ -78953,7 +77133,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 17 20:55:12 2012 -0400
Don't use min/max as function names
-
+
They can be macros on some systems. Eg. mingw32.
src/hb-set-private.hh | 4 ++--
@@ -78977,8 +77157,7 @@ Date: Thu May 17 20:30:46 2012 -0400
Move atomic ops into their own header
src/Makefile.am | 1 +
- src/hb-atomic-private.hh | 78
- ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-atomic-private.hh | 78 ++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-mutex-private.hh | 1 -
src/hb-object-private.hh | 52 ++------------------------------
src/hb-warning.cc | 2 +-
@@ -78998,40 +77177,38 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 15 23:53:18 2012 -0400
[util] Add hb-ot-shape-closure tool
-
+
Computes all the glyphs that may be generated given a font and
set of Unicode characters.
-
+
The order of the Unicode characters is irrelevant.
-
+
Sample output:
-
+
behdad:util 0$ ./hb-ot-shape-closure Doulos\ SIL\ Regular.ttf f
f f_f
-
+
behdad:util 0$ ./hb-ot-shape-closure Doulos\ SIL\ Regular.ttf i
i
-
+
behdad:util 0$ ./hb-ot-shape-closure Doulos\ SIL\ Regular.ttf fi
f f_i f_f_i f_f i
-
+
behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf ب
uni0628 uni0628.init uni0628.medi uni0628.fina
-
+
behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf ا
uni0627 uni0627.fina
-
+
behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf با
uni0627 uni0627.fina uni0628 uni0628.init uni0628.medi uni0628.fina
-
- behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf با
- --no-glyph-names
+
+ behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf با --no-glyph-names
5 6 133 134 135 136
configure.ac | 2 +-
util/Makefile.am | 22 ++++++---
- util/hb-ot-shape-closure.cc | 112
- ++++++++++++++++++++++++++++++++++++++++++++
+ util/hb-ot-shape-closure.cc | 112 ++++++++++++++++++++++++++++++++++++++++++++
util/options.hh | 12 +++++
4 files changed, 140 insertions(+), 8 deletions(-)
@@ -79042,12 +77219,10 @@ Date: Tue May 15 23:10:39 2012 -0400
[util] Refactor to accommodate for upcoming new tool
util/Makefile.am | 10 +++--
- util/hb-shape.cc | 70
- +++++++++++++++-------------------
+ util/hb-shape.cc | 70 +++++++++++++++-------------------
util/hb-view.cc | 8 ++--
util/{hb-view.hh => main-font-text.hh} | 48 +++++++++++------------
- util/shape-consumer.hh | 69
- +++++++++++++++++++++++++++++++++
+ util/shape-consumer.hh | 69 +++++++++++++++++++++++++++++++++
5 files changed, 135 insertions(+), 70 deletions(-)
commit 1d6846db9ebf84561bb30a4e48c6c43184914099
@@ -79055,7 +77230,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun May 13 18:09:29 2012 +0200
[Indic] Apply vatu feature after cjct
-
+
Testing with old Deva spec this reduces failures.
Test sequence: U+0915,U+094D,U+0930.
@@ -79068,8 +77243,7 @@ Date: Sun May 13 17:10:18 2012 +0200
Minor
- util/ansi-print.cc | 67
- +++++++++++++++++++++++++++---------------------------
+ util/ansi-print.cc | 67 +++++++++++++++++++++++++++---------------------------
1 file changed, 33 insertions(+), 34 deletions(-)
commit 617f4ac46f1084859d2034c08760e31e52d3bec3
@@ -79078,8 +77252,7 @@ Date: Sun May 13 16:48:03 2012 +0200
Refactor
- src/hb-ot-shape-complex-indic.cc | 44
- +++++++++++++++++++++-------------------
+ src/hb-ot-shape-complex-indic.cc | 44 +++++++++++++++++++++-------------------
1 file changed, 23 insertions(+), 21 deletions(-)
commit 5e4e21fce4b548b0b8a5951bc8f35a9f27428192
@@ -79087,7 +77260,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun May 13 16:46:08 2012 +0200
Revert "[Indic] Refactoring"
-
+
This reverts commit 0831061efb78983b9c6e1e72574c977e56383c08.
src/hb-ot-shape-complex-indic.cc | 28 ++++++++--------------------
@@ -79133,8 +77306,7 @@ Date: Sun May 13 16:01:08 2012 +0200
Fix warnings
src/hb-fallback-shape.cc | 4 ++--
- src/hb-private.hh | 54
- ++++++++++++++++++++++++------------------------
+ src/hb-private.hh | 54 ++++++++++++++++++++++++------------------------
2 files changed, 29 insertions(+), 29 deletions(-)
commit eace47b173807d94b29a6490d0bc3c9f8f6168d1
@@ -79153,8 +77325,7 @@ Date: Sun May 13 15:45:18 2012 +0200
Add accessort to buffer for current info, current pos, and prev info
src/hb-buffer-private.hh | 9 ++++++++
- src/hb-ot-layout-gpos-table.hh | 44
- ++++++++++++++++++------------------
+ src/hb-ot-layout-gpos-table.hh | 44 ++++++++++++++++++------------------
src/hb-ot-layout-gsub-table.hh | 28 +++++++++++------------
src/hb-ot-layout-gsubgpos-private.hh | 28 +++++++++++------------
src/hb-ot-shape-complex-arabic.cc | 4 ++--
@@ -79177,7 +77348,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun May 13 15:17:51 2012 +0200
[GSUB/GPOS] Remove context_length
-
+
The spec doesn't say contextual matching should be done this way,
and AOTS doesn't do it either. It was inherited from old HarfBuzz.
Remove it.
@@ -79185,8 +77356,7 @@ Date: Sun May 13 15:17:51 2012 +0200
src/hb-ot-layout-common-private.hh | 1 -
src/hb-ot-layout-gpos-table.hh | 3 ---
src/hb-ot-layout-gsub-table.hh | 6 ++----
- src/hb-ot-layout-gsubgpos-private.hh | 32
- +++++++++++---------------------
+ src/hb-ot-layout-gsubgpos-private.hh | 32 +++++++++++---------------------
4 files changed, 13 insertions(+), 29 deletions(-)
commit 28b9d502bb69a8045818d5f6113ded9c59a56bd7
@@ -79203,7 +77373,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun May 13 13:03:44 2012 +0200
Remove ioctl checks
-
+
Ended up not using terminal size after all.
configure.ac | 2 +-
@@ -79236,8 +77406,7 @@ Date: Sun May 13 02:02:58 2012 +0200
configure.ac | 4 +-
util/Makefile.am | 4 +
- util/ansi-print.cc | 411
- ++++++++++++++++++++++++++++++++++++++++++++++
+ util/ansi-print.cc | 411 ++++++++++++++++++++++++++++++++++++++++++++++
util/ansi-print.hh | 39 +++++
util/helper-cairo-ansi.cc | 102 ++++++++++++
util/helper-cairo-ansi.hh | 39 +++++
@@ -79259,7 +77428,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat May 12 15:54:27 2012 +0200
[util] Make tools default to stdin if no text is provided
-
+
One less argument to type in typical testing workflow!
util/hb-view.hh | 4 +++-
@@ -79272,7 +77441,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat May 12 15:41:48 2012 +0200
[util] Change default font size of hb-view to 256
-
+
Most common usecase of hb-view is to test rendering of short words for
testing / inspection. Not having to type "--font-size 150" each time
isn't such a bad idea...
@@ -79294,7 +77463,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat May 12 15:34:40 2012 +0200
[test] Make tool usage easier by not requiring "--stdin"
-
+
Just default to it. Added "--help" instead to get usage.
test/shaping/hb_test_tools.py | 9 ++++-----
@@ -79306,8 +77475,7 @@ Date: Sat May 12 13:34:18 2012 +0200
[Indic] Add more Malayalam tests
- .../indic/script-malayalam/misc/misc.txt | 38
- ++++++++++++++++++++++
+ .../indic/script-malayalam/misc/misc.txt | 38 ++++++++++++++++++++++
1 file changed, 38 insertions(+)
commit 7f852b644b8143492a02edfc853114aaa23446bd
@@ -79325,11 +77493,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 11 22:00:06 2012 +0200
[Indic] Unbreak Devanagari
-
+
And this, concludes the HarfBuzz Massala Hackfest.
-
- I like to specially thank Jonathan Kew for doing all the decription
- and
+
+ I like to specially thank Jonathan Kew for doing all the decription and
letting me get commit points.
configure.ac | 2 +-
@@ -79341,11 +77508,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 11 21:42:27 2012 +0200
[Indic] Disambiguate sub vs post vs above matras
-
+
Bengali is at *just* above 5% now.
- src/hb-ot-shape-complex-indic-private.hh | 31
- +++++++++++++++----------------
+ src/hb-ot-shape-complex-indic-private.hh | 31 +++++++++++++++----------------
src/hb-ot-shape-complex-indic.cc | 12 ++++++------
2 files changed, 21 insertions(+), 22 deletions(-)
@@ -79355,8 +77521,7 @@ Date: Fri May 11 21:36:32 2012 +0200
[Indic] Position Bengali Reph before matras
- src/hb-ot-shape-complex-indic.cc | 62
- +++++++++++++++++++++++-----------------
+ src/hb-ot-shape-complex-indic.cc | 62 +++++++++++++++++++++++-----------------
1 file changed, 36 insertions(+), 26 deletions(-)
commit f89367251109af235f4f0446c13c261a5a4a6f72
@@ -79365,8 +77530,7 @@ Date: Fri May 11 21:10:03 2012 +0200
[Indic] Start categorizing Reph per script
- src/hb-ot-shape-complex-indic.cc | 41
- ++++++++++++++++++++++++++++++++++------
+ src/hb-ot-shape-complex-indic.cc | 41 ++++++++++++++++++++++++++++++++++------
1 file changed, 35 insertions(+), 6 deletions(-)
commit a913b024d84973556094fd64ce5f0b7106fcc3b5
@@ -79374,7 +77538,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 11 20:59:26 2012 +0200
[Indic] Apply 'init' feature for Bengali
-
+
Error down from 20% to 7%.
src/hb-ot-shape-complex-indic.cc | 15 +++++++++++++++
@@ -79385,11 +77549,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 11 20:50:53 2012 +0200
[Indic] Refactor for the arrival of 'init' feature
-
+
Yep, on Bengali now!
- src/hb-ot-shape-complex-indic.cc | 52
- +++++++++++++++++++++++++++-------------
+ src/hb-ot-shape-complex-indic.cc | 52 +++++++++++++++++++++++++++-------------
1 file changed, 36 insertions(+), 16 deletions(-)
commit 18c06e189bd078affbb84c3bb5bb80687a227c5e
@@ -79397,10 +77560,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 11 20:02:14 2012 +0200
[Indic] Add Uniscribe bug feature for dotted circle
-
+
For dotted-circle independent clusters, Uniscribe does no Reph shaping
- for the exact sequence Ra+Halant+25CC. Which also is the only
- possible
+ for the exact sequence Ra+Halant+25CC. Which also is the only possible
sequence with 25CC at the end.
src/hb-ot-shape-complex-indic-machine.rl | 4 +++-
@@ -79415,8 +77577,7 @@ Date: Fri May 11 19:55:42 2012 +0200
[Indic] Add tests for dottedcircle
.../in-tree/shaper-indic/indic/script-devanagari/misc/MANIFEST | 1 +
- .../shaper-indic/indic/script-devanagari/misc/dottedcircle.txt |
- 7 +++++++
+ .../shaper-indic/indic/script-devanagari/misc/dottedcircle.txt | 7 +++++++
2 files changed, 8 insertions(+)
commit 0831061efb78983b9c6e1e72574c977e56383c08
@@ -79442,7 +77603,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 11 18:46:35 2012 +0200
[Indic] Allow multiple Consonants in Vowel/NBSP syllables
-
+
Uniscribe allows multiple Halant+Consonant after a Vowel.
Tests:
↦ * U+0905,U+094D,U+092B,U+094D,930,94d,930
@@ -79455,11 +77616,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 11 18:13:42 2012 +0200
[Indic] Allow two Nuktas per consonant
-
- Uniscribe allows up to two nuktas per consonant and one per matra. It
- does so
+
+ Uniscribe allows up to two nuktas per consonant and one per matra. It does so
indepent of whether the consonant already has a nukta in it. Tests:
-
+
* U+0916,U+093C,U+0941
* U+0959,U+093C,U+0941
* U+0916,U+093C,U+093C,U+0941
@@ -79476,7 +77636,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 11 17:54:26 2012 +0200
[Indic] Fix U+0952 and similar classification to match Uniscribe
-
+
See comments.
src/hb-ot-shape-complex-indic-machine.rl | 1 +
@@ -79497,9 +77657,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 11 17:29:40 2012 +0200
[GSUB/GPOS/Indic] Apply GSUB/GPOS within syllables only
-
+
This does not apply to the context matchings.
-
+
This regresses tests right now. And we are not sure whether this is
the right thing to do for GPOS. But we'll figure out.
@@ -79547,15 +77707,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 11 16:43:12 2012 +0200
[Indic] Add runtime Uniscribe bug compatibility mode!
-
+
Enable by setting envvar:
-
+
HB_OT_INDIC_OPTIONS=uniscribe-bug-compatible
-
+
Plus, LeftMatra+Halant "feature".
- src/hb-ot-shape-complex-indic.cc | 44
- ++++++++++++++++++++++++++++++----------
+ src/hb-ot-shape-complex-indic.cc | 44 ++++++++++++++++++++++++++++++----------
1 file changed, 33 insertions(+), 11 deletions(-)
commit 616e692e2950d326b6c46aba5b5bead3cc29d315
@@ -79572,7 +77731,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 11 16:23:43 2012 +0200
[Indic] Fix Left Matra + Halant reordering
-
+
As can be seen in: U+092B,U+093F,U+094D
src/hb-ot-shape-complex-indic.cc | 6 ++++--
@@ -79584,8 +77743,7 @@ Date: Fri May 11 16:23:38 2012 +0200
Minor
- src/hb-ot-shape-complex-indic.cc | 73
- ++++++++++++++++++++--------------------
+ src/hb-ot-shape-complex-indic.cc | 73 ++++++++++++++++++++--------------------
1 file changed, 37 insertions(+), 36 deletions(-)
commit c071b99f150a9344a2056dfeba8c613f8a5602db
@@ -79593,12 +77751,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 11 16:22:46 2012 +0200
[Indic] Add test for Left Matra with Halant
+
+ Uniscribe doesn't move the Halant, we do. And do a broken job of it now.
- Uniscribe doesn't move the Halant, we do. And do a broken job of
- it now.
-
- .../shaper-indic/indic/script-devanagari/misc/tricky-reordering.txt
- | 1 +
+ .../shaper-indic/indic/script-devanagari/misc/tricky-reordering.txt | 1 +
1 file changed, 1 insertion(+)
commit 203d71069c45048b6dd8fa22b61fd8f2c844b4f6
@@ -79615,7 +77771,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 11 15:34:13 2012 +0200
[Indic] Apply Reph mask to all POS_REPH glyphs
-
+
Needed for upcoming changes to GSUB/GPOS mask matching.
src/hb-ot-shape-complex-indic.cc | 4 ++--
@@ -79627,8 +77783,7 @@ Date: Fri May 11 14:39:01 2012 +0200
[Indic] Fix state machine to backtrack
- src/hb-ot-shape-complex-indic-machine.rl | 42
- +++++++++++++++-----------------
+ src/hb-ot-shape-complex-indic-machine.rl | 42 +++++++++++++++-----------------
src/hb-private.hh | 2 ++
2 files changed, 21 insertions(+), 23 deletions(-)
@@ -79637,7 +77792,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 11 11:41:39 2012 +0200
[Indic] Move syllable tracking from Indic to generic layer
-
+
This is to incorporate it into GSUB/GPOS processing.
src/hb-ot-layout-gpos-table.hh | 1 +
@@ -79655,9 +77810,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 11 11:17:23 2012 +0200
[Indic] Disable conjuncts when a ZWJ happens
-
- Not that the code makes any difference since the presence of ZWJ
- itself
+
+ Not that the code makes any difference since the presence of ZWJ itself
causes the ligature to fail to match anyway.
src/hb-ot-shape-complex-indic.cc | 7 +------
@@ -79668,7 +77822,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 11 11:07:40 2012 +0200
[Indic] Fix bitops typo!
-
+
Another 1000 down!
src/hb-ot-shape-complex-indic.cc | 4 ++--
@@ -79679,7 +77833,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 11 03:45:28 2012 +0200
Make APPLY debug output print current index and codepoint
-
+
Yay!
src/hb-ot-layout-gsubgpos-private.hh | 2 +-
@@ -79699,7 +77853,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 11 03:35:08 2012 +0200
Some more...
-
+
Done. I promise.
src/hb-object-private.hh | 1 +
@@ -79720,8 +77874,7 @@ Date: Fri May 11 03:16:57 2012 +0200
Finish off debug output beautification
- src/hb-open-type-private.hh | 58
- ++++++++++++++++++++-------------------------
+ src/hb-open-type-private.hh | 58 ++++++++++++++++++++-------------------------
1 file changed, 26 insertions(+), 32 deletions(-)
commit d7bba01a353efc7432c474dd8755a02db4abd2ae
@@ -79738,7 +77891,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 11 02:40:42 2012 +0200
Only printout class name in tracing, if one is available
-
+
Makes debug output much more pleasant.
src/hb-private.hh | 8 ++++++--
@@ -79759,8 +77912,7 @@ Date: Fri May 11 02:33:11 2012 +0200
Add return annotation for APPLY
- src/hb-ot-layout-gpos-table.hh | 163
- +++++++++++++++--------------------
+ src/hb-ot-layout-gpos-table.hh | 163 +++++++++++++++--------------------
src/hb-ot-layout-gsub-table.hh | 114 +++++++++++-------------
src/hb-ot-layout-gsubgpos-private.hh | 83 ++++++++----------
3 files changed, 151 insertions(+), 209 deletions(-)
@@ -79779,7 +77931,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 11 01:25:34 2012 +0200
Annotate SANITIZE return values
-
+
More to come, for APPLY, CLOSURE, etc.
src/hb-open-file-private.hh | 23 ++---
@@ -79789,8 +77941,7 @@ Date: Fri May 11 01:25:34 2012 +0200
src/hb-ot-hmtx-table.hh | 4 +-
src/hb-ot-layout-common-private.hh | 51 +++++-----
src/hb-ot-layout-gdef-table.hh | 48 +++++-----
- src/hb-ot-layout-gpos-table.hh | 180
- ++++++++++++++++-------------------
+ src/hb-ot-layout-gpos-table.hh | 180 ++++++++++++++++-------------------
src/hb-ot-layout-gsub-table.hh | 101 +++++++++-----------
src/hb-ot-layout-gsubgpos-private.hh | 88 ++++++++---------
src/hb-ot-maxp-table.hh | 7 +-
@@ -79823,8 +77974,7 @@ Date: Fri May 11 00:16:40 2012 +0200
Beautify debug output
src/hb-open-type-private.hh | 20 ++++++------
- src/hb-private.hh | 74
- +++++++++++++++++++++++++++------------------
+ src/hb-private.hh | 74 +++++++++++++++++++++++++++------------------
2 files changed, 55 insertions(+), 39 deletions(-)
commit 6f4553801729a06e506ffdde7b27c72780d4bb80
@@ -79852,13 +78002,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 10 23:06:58 2012 +0200
Better trace message support infrastructure
-
+
We have varargs in the trace interface now. To be used soon...
src/hb-open-type-private.hh | 17 ++++------
src/hb-ot-layout-gsubgpos-private.hh | 4 +--
- src/hb-private.hh | 64
- ++++++++++++++++++++++++++----------
+ src/hb-private.hh | 64 ++++++++++++++++++++++++++----------
3 files changed, 56 insertions(+), 29 deletions(-)
commit 02b2922fbf098c8282eb23dc2c54d5829cf67024
@@ -79866,13 +78015,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 10 21:44:50 2012 +0200
[Indic] Towards better Reph positioning
-
- Fixed for Deva cases with two full-form consonants. Failures **way**
- down.
+
+ Fixed for Deva cases with two full-form consonants. Failures **way** down.
Not much left to go :-).
- src/hb-ot-shape-complex-indic.cc | 111
- ++++++++++++++++++++++++++++-----------
+ src/hb-ot-shape-complex-indic.cc | 111 ++++++++++++++++++++++++++++-----------
1 file changed, 80 insertions(+), 31 deletions(-)
commit 74e54cf446bb979e488685e8c09eeed6b9d03c24
@@ -79880,7 +78027,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 10 21:20:37 2012 +0200
[Indic] Add Ra back for scripts without Reph
-
+
We now check that the 'rphp' table exists before forming Reph, so
we don't need to comment out Ra for those scripts.
@@ -79901,7 +78048,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 10 18:34:34 2012 +0200
[Indic] Do clustering like Uniscribe does
-
+
Hindi Wikipedia failures down to 6639 (0.938381%)!
src/hb-ot-shape-complex-indic.cc | 24 ++++++++++++++++++++----
@@ -79912,15 +78059,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 10 18:31:17 2012 +0200
[Indic] Add test for matra group
-
+
The spec says: "[{M}+[N]+[H]]", and that's what Uniscribe implements.
We instead do: "{M+[N]+[H]}", which means we allow Nukta and Halant
after all Matras, not just the last one. It makes more sense.
- .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/MANIFEST
- | 1 +
- .../shaper-indic/indic/script-devanagari/misc/spec-deviations.txt
- | 1 +
+ .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/MANIFEST | 1 +
+ .../shaper-indic/indic/script-devanagari/misc/spec-deviations.txt | 1 +
2 files changed, 2 insertions(+)
commit 8df5636968389ac7bf8620ccd091fd4872b0bbee
@@ -79928,10 +78073,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 10 15:41:04 2012 +0200
[Indic] Reorder Reph to before the Halant after Matras
-
+
Uniscribe doesn't do it, but we want to do as it gives the Reph the
- opportunity to interact with the Matras. Test with mangal for
- example.
+ opportunity to interact with the Matras. Test with mangal for example.
Sequence: <0930,094d,0915,094b,094d>
In test suite already.
@@ -79943,7 +78087,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 10 15:28:27 2012 +0200
[Indic] Don't clear the mask for Reph
-
+
This was removing the mandatory global 1 bit in the mask and hence
disabling GPOS for Reph!
@@ -79955,7 +78099,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 10 14:48:25 2012 +0200
[Indic] Improve Left Matra repositioning
-
+
Move its dependents too.
src/hb-ot-shape-complex-indic.cc | 2 +-
@@ -79966,15 +78110,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 10 14:43:53 2012 +0200
[Indic] Add tricky reordering test cases
-
+
In the case of Consonant,LeftMatra,Halant, Uniscribe leaves the Halant
where it is, but we want to move it with the Matra as that makes more
logical sense.
- .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/MANIFEST |
- 1 +
- .../shaper-indic/indic/script-devanagari/misc/tricky-reordering.txt |
- 4 ++++
+ .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/MANIFEST | 1 +
+ .../shaper-indic/indic/script-devanagari/misc/tricky-reordering.txt | 4 ++++
2 files changed, 5 insertions(+)
commit dbb105883c6e9b83e78dc8b10766cd56b98cd7e1
@@ -79982,21 +78124,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 10 13:45:52 2012 +0200
[Indic] Do Reph repositioning in final reordering like the spec says
-
- This introduced a failure, which we tracked down to a test case
- like this:
-
+
+ This introduced a failure, which we tracked down to a test case like this:
+
U+092E,U+094B,U+094D,U+0930
-
+
The final character is a Ra that should be put in a syllable of it's
own. And we do. But it will interact with the Halant before it. So
- now we finally are convinced that we have to limit features to
- syllable
+ now we finally are convinced that we have to limit features to syllable
boundaries. That's coming after lunch!
src/hb-ot-shape-complex-indic-private.hh | 2 -
- src/hb-ot-shape-complex-indic.cc | 103
- +++++++++++++++++++------------
+ src/hb-ot-shape-complex-indic.cc | 103 +++++++++++++++++++------------
2 files changed, 64 insertions(+), 41 deletions(-)
commit 4705a7026900e51f6430f03a73c87f2df035df92
@@ -80015,8 +78154,7 @@ Date: Thu May 10 12:53:53 2012 +0200
[Indic] Reorder left matras to be closer to base
src/hb-ot-shape-complex-indic-private.hh | 4 ---
- src/hb-ot-shape-complex-indic.cc | 50
- +++++++++++++++++++++++++++++---
+ src/hb-ot-shape-complex-indic.cc | 50 +++++++++++++++++++++++++++++---
2 files changed, 46 insertions(+), 8 deletions(-)
commit 1a1fa8c655a082fc1439608457ba717306cc83ca
@@ -80042,7 +78180,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 10 12:07:33 2012 +0200
[Indic] Handle Vowel syllables
-
+
Reusing the consonant logic!
src/hb-ot-shape-complex-indic-private.hh | 3 +--
@@ -80073,9 +78211,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 10 11:32:52 2012 +0200
[Indic] Increase max syllable length
-
- 20 was way too low, one could hit a syllable with 7ish consonants
- with it.
+
+ 20 was way too low, one could hit a syllable with 7ish consonants with it.
src/hb-ot-shape-complex-indic.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -80125,8 +78262,7 @@ Date: Wed May 9 17:56:03 2012 +0200
src/hb-ot-shape-complex-arabic.cc | 2 +-
src/hb-ot-shape-complex-indic-machine.rl | 21 ++++++++++-----
src/hb-ot-shape-complex-indic-private.hh | 1 +
- src/hb-ot-shape-complex-indic.cc | 45
- +++++++++++++++++++++++---------
+ src/hb-ot-shape-complex-indic.cc | 45 +++++++++++++++++++++++---------
src/hb-ot-shape-complex-private.hh | 5 ++--
5 files changed, 51 insertions(+), 23 deletions(-)
@@ -80147,8 +78283,7 @@ Date: Wed May 9 17:40:00 2012 +0200
Minor
- src/hb-ot-shape-complex-indic.cc | 41
- ++++++++++++++++++++--------------------
+ src/hb-ot-shape-complex-indic.cc | 41 ++++++++++++++++++++--------------------
1 file changed, 21 insertions(+), 20 deletions(-)
commit dbccf87eef0d26838fa4bb3ae26410f6c4818836
@@ -80157,8 +78292,7 @@ Date: Wed May 9 17:24:39 2012 +0200
[Indic] Make room for more reordering positions
- src/hb-ot-shape-complex-indic-private.hh | 213
- ++++++++++++++++---------------
+ src/hb-ot-shape-complex-indic-private.hh | 213 ++++++++++++++++---------------
src/hb-ot-shape-complex-indic.cc | 12 +-
2 files changed, 115 insertions(+), 110 deletions(-)
@@ -80167,11 +78301,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 9 15:56:35 2012 +0200
[Indic] Improve matra vs consonant ordering
-
+
Another 1.5% down.
- src/hb-ot-shape-complex-indic-private.hh | 32
- ++++++++++++++++++++------------
+ src/hb-ot-shape-complex-indic-private.hh | 32 ++++++++++++++++++++------------
src/hb-ot-shape-complex-indic.cc | 6 +++---
src/indic.cc | 2 +-
3 files changed, 24 insertions(+), 16 deletions(-)
@@ -80192,8 +78325,7 @@ Date: Wed May 9 15:27:56 2012 +0200
[Indic] Add joiner test cases for Devanagari
.../indic/script-devanagari/misc/MANIFEST | 1 +
- .../indic/script-devanagari/misc/joiners.txt | 19
- +++++++++++++++++++
+ .../indic/script-devanagari/misc/joiners.txt | 19 +++++++++++++++++++
2 files changed, 20 insertions(+)
commit 19d984edaa4f86c842345a9d4150597e045e1887
@@ -80201,7 +78333,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 9 15:21:13 2012 +0200
[Indic] Make sure Reph jumps over all matras to the right
-
+
Another 12 thousand failures gone! (78 to go)
src/hb-ot-shape-complex-indic.cc | 2 +-
@@ -80221,7 +78353,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 9 15:04:13 2012 +0200
Replace zerowidth invisible chars with a zero-advance space glyph
-
+
Like Uniscribe does.
src/hb-ot-shape-complex-arabic.cc | 3 ++-
@@ -80229,10 +78361,8 @@ Date: Wed May 9 15:04:13 2012 +0200
src/hb-ot-shape-complex-private.hh | 4 ++--
src/hb-ot-shape-normalize.cc | 25 +++++++++--------------
src/hb-ot-shape-private.hh | 27 +++++++++++++++++++++++++
- src/hb-ot-shape.cc | 41
- +++++++++++++++++++++++++-------------
- src/hb-unicode-private.hh | 38
- +++++++++++++++++++++++++++++++++++
+ src/hb-ot-shape.cc | 41 +++++++++++++++++++++++++-------------
+ src/hb-unicode-private.hh | 38 +++++++++++++++++++++++++++++++++++
7 files changed, 105 insertions(+), 53 deletions(-)
commit 49e5da1591b8d28f01e7ff9caac9d9ac53668bba
@@ -80240,7 +78370,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 9 13:23:27 2012 +0200
[indic] Keep the syllable modifier marks to the right
-
+
Shaping failures on Hindi Wikipedia go down from 25% to 14%!
src/hb-ot-shape-complex-indic.cc | 2 ++
@@ -80296,7 +78426,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 9 11:06:47 2012 +0200
[indic] Apply rakaar forms
-
+
Fixes 10% of the failures against all of Hindi Wikipedia!
src/hb-ot-shape-complex-indic.cc | 2 +-
@@ -80310,8 +78440,7 @@ Date: Wed May 9 09:54:54 2012 +0200
test/shaping/Makefile.am | 1 +
test/shaping/hb-diff-ngrams | 5 +++
- test/shaping/hb_test_tools.py | 71
- ++++++++++++++++++++++++++++++++++++++++---
+ test/shaping/hb_test_tools.py | 71 ++++++++++++++++++++++++++++++++++++++++---
3 files changed, 72 insertions(+), 5 deletions(-)
commit 178e6dce01ad28c8708bad62ce0fb79c46e836dc
@@ -80320,8 +78449,7 @@ Date: Wed May 9 08:57:29 2012 +0200
Add N-gram generator
- test/shaping/hb_test_tools.py | 72
- +++++++++++++++++++++++++++++++++++++++++--
+ test/shaping/hb_test_tools.py | 72 +++++++++++++++++++++++++++++++++++++++++--
1 file changed, 70 insertions(+), 2 deletions(-)
commit 98669ceb77657d60435f2cb2e3fc18272c0a2c6a
@@ -80358,14 +78486,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 8 23:41:41 2012 +0200
Add hb-diff-colorize
-
+
Accepts --format=html now.
test/shaping/Makefile.am | 1 +
test/shaping/hb-diff | 4 +-
test/shaping/hb-diff-colorize | 7 ++
- test/shaping/hb_test_tools.py | 158
- +++++++++++++++++++++++++-----------------
+ test/shaping/hb_test_tools.py | 158 +++++++++++++++++++++++++-----------------
4 files changed, 106 insertions(+), 64 deletions(-)
commit 9155e4ffe00c96a2c14e14a300004b1038ca3a9c
@@ -80373,7 +78500,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 8 22:44:21 2012 +0200
Cleanup diff
-
+
Doesn't do --color anymore. That will go into a new hb-diff-colorize
tool.
@@ -80399,8 +78526,7 @@ Date: Tue May 8 18:55:29 2012 +0200
.../texts/in-tree/shaper-arabic/script-mongolian/misc/MANIFEST | 1 +
.../texts/in-tree/shaper-arabic/script-mongolian/misc/poem.txt | 4 ++++
.../in-tree/shaper-indic/indic/script-bengali/misc/MANIFEST | 1 +
- .../in-tree/shaper-indic/indic/script-bengali/misc/reph.txt |
- 10 ++++++++++
+ .../in-tree/shaper-indic/indic/script-bengali/misc/reph.txt | 10 ++++++++++
4 files changed, 16 insertions(+)
commit 1a2a4a0078dda834443edd421037a4bcbad18c5e
@@ -80408,7 +78534,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat May 5 22:38:20 2012 +0200
Fix warning and build issues
-
+
As reported by Jonathan Kew on the list.
src/hb-set-private.hh | 2 +-
@@ -80430,7 +78556,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Apr 24 16:56:37 2012 -0400
Add hb_ot_shape_glyphs_closure()
-
+
Experimental API for now.
src/hb-ot-map-private.hh | 7 ++++---
@@ -80462,18 +78588,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Apr 24 16:00:50 2012 -0400
Add test caes for a minority language using Bengali
-
+
U+0985 BENGALI LETTER A followed by U+09D7 BENGALI AU LENGTH MARK.
- According to Bobby de Vos on the mailing list, this results in
- a dotted
+ According to Bobby de Vos on the mailing list, this results in a dotted
circle with most shaping engines, but is a legitimate sequence in this
minority language.
-
+
We reached the consensus on the list to NOT implement dotted-circle
in HarfBuzz.
- .../texts/in-tree/shaper-indic/indic/script-bengali/misc/misc.txt
- | 1 +
+ .../texts/in-tree/shaper-indic/indic/script-bengali/misc/misc.txt | 1 +
1 file changed, 1 insertion(+)
commit 6c6ccaf575392f6e6bb9a15534026e4ea462705b
@@ -80481,13 +78605,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Apr 24 14:21:15 2012 -0400
Add a few more set operations
-
+
TODO: Tests for hb_set_t.
- src/hb-set-private.hh | 54
- +++++++++++++++++++++++++++++++++++++++++++++++++-
- src/hb-set.cc | 55
- +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-set-private.hh | 54 +++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/hb-set.cc | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-set.h | 34 ++++++++++++++++++++++++++++---
3 files changed, 139 insertions(+), 4 deletions(-)
@@ -80498,8 +78620,7 @@ Date: Mon Apr 23 23:03:12 2012 -0400
Make closure() return void
src/hb-ot-layout-gsub-table.hh | 142 +++++++++++++-----------------
- src/hb-ot-layout-gsubgpos-private.hh | 165
- ++++++++++++++++++-----------------
+ src/hb-ot-layout-gsubgpos-private.hh | 165 ++++++++++++++++++-----------------
src/hb-ot-layout.cc | 10 +--
src/hb-ot-layout.h | 8 +-
src/hb-set-private.hh | 20 ++---
@@ -80517,8 +78638,7 @@ Date: Mon Apr 23 22:41:09 2012 -0400
src/hb-ot-layout-private.hh | 47 ---------------
src/hb-ot-layout.h | 2 -
src/hb-set-private.hh | 95 +++++++++++++++++++++++++++++
- src/hb-set.cc | 120
- +++++++++++++++++++++++++++++++++++++
+ src/hb-set.cc | 120 +++++++++++++++++++++++++++++++++++++
src/hb-set.h | 91 ++++++++++++++++++++++++++++
src/hb.h | 1 +
9 files changed, 313 insertions(+), 49 deletions(-)
@@ -80589,8 +78709,7 @@ Date: Mon Apr 23 16:54:58 2012 -0400
Implement closure() for Context and ChainContext lookups
src/hb-ot-layout-common-private.hh | 54 ++++++
- src/hb-ot-layout-gsubgpos-private.hh | 347
- ++++++++++++++++++++++++++++-------
+ src/hb-ot-layout-gsubgpos-private.hh | 347 ++++++++++++++++++++++++++++-------
src/hb-ot-layout-private.hh | 23 ++-
3 files changed, 351 insertions(+), 73 deletions(-)
@@ -80599,12 +78718,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 23 15:28:35 2012 -0400
Flesh out closure() for GSUB
-
+
The GSUBGPOS part still missing.
src/hb-ot-layout-common-private.hh | 61 ++++++++++++++------
- src/hb-ot-layout-gsub-table.hh | 112
- ++++++++++++++++++++++++++++---------
+ src/hb-ot-layout-gsub-table.hh | 112 ++++++++++++++++++++++++++++---------
src/hb-ot-layout-private.hh | 34 +++++++++++
src/hb-ot-layout.h | 2 +-
4 files changed, 165 insertions(+), 44 deletions(-)
@@ -80637,8 +78755,7 @@ Date: Mon Apr 23 13:17:09 2012 -0400
Minor refactoring
src/hb-ot-layout-gpos-table.hh | 27 +++++++++++--------------
- src/hb-ot-layout-gsub-table.hh | 39
- +++++++++++++++++-------------------
+ src/hb-ot-layout-gsub-table.hh | 39 +++++++++++++++++-------------------
src/hb-ot-layout-gsubgpos-private.hh | 8 ++------
src/hb-ot-layout.cc | 6 ++++--
4 files changed, 36 insertions(+), 44 deletions(-)
@@ -80648,11 +78765,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 23 13:04:38 2012 -0400
Add "closure" operation stubs to GSUB
-
+
Filling in.
- src/hb-ot-layout-gsub-table.hh | 179
- +++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout-gsub-table.hh | 179 +++++++++++++++++++++++++++++++++++
src/hb-ot-layout-gsubgpos-private.hh | 110 ++++++++++++++++++++-
src/hb-ot-layout.cc | 8 ++
3 files changed, 293 insertions(+), 4 deletions(-)
@@ -80663,8 +78779,7 @@ Date: Mon Apr 23 13:02:14 2012 -0400
Add Coverage iterators
- src/hb-ot-layout-common-private.hh | 59
- ++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout-common-private.hh | 59 ++++++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)
commit 3ed4634ec349fa9e943ad23718c04be4dd4bba62
@@ -80674,10 +78789,8 @@ Date: Thu Apr 19 22:34:06 2012 -0400
Add Indic inspection tool
src/Makefile.am | 7 +-
- src/hb-ot-shape-complex-indic-private.hh | 264
- +++++++++++++++++++++++++++++++
- src/hb-ot-shape-complex-indic.cc | 229
- +--------------------------
+ src/hb-ot-shape-complex-indic-private.hh | 264 +++++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-indic.cc | 229 +--------------------------
src/indic.cc | 46 ++++++
4 files changed, 317 insertions(+), 229 deletions(-)
@@ -80686,7 +78799,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 19 22:28:25 2012 -0400
Minor matra renumbering
-
+
Should have no visible effect.
src/hb-ot-shape-complex-indic.cc | 30 +++++++++++++++++-------------
@@ -80697,11 +78810,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 19 22:21:38 2012 -0400
Add GSUB "would_apply" API
-
+
To be used in the Indic shaper later. Unused for now.
- src/hb-ot-layout-gsub-table.hh | 140
- ++++++++++++++++++++++++++++++++++++++++-
+ src/hb-ot-layout-gsub-table.hh | 140 ++++++++++++++++++++++++++++++++++++++++-
1 file changed, 138 insertions(+), 2 deletions(-)
commit a0d4caeb91fa5e5f2090db4efc35c64ff9a64789
@@ -80754,7 +78866,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 16 21:05:51 2012 -0400
Fix ragel regexp in vowel-based syllable
-
+
As reported by datao zhang on the mailing list.
src/hb-ot-shape-complex-indic-machine.rl | 2 +-
@@ -80765,7 +78877,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 16 21:05:11 2012 -0400
Rewrite ragel expression to better match the one on MS spec
-
+
https://www.microsoft.com/typography/otfntdev/devanot/shaping.aspx
src/hb-ot-shape-complex-indic-machine.rl | 2 +-
@@ -80776,7 +78888,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 16 18:08:20 2012 -0400
Add --utf8-clusters
-
+
Also fix cairo cluster generation.
util/hb-shape.cc | 8 +++++---
@@ -80794,7 +78906,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 16 16:04:07 2012 -0400
Always use cairo_show_text_glyphs()
-
+
Better catches cluster errors.
util/view-cairo.cc | 2 +-
@@ -80814,7 +78926,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 16 15:55:13 2012 -0400
Apply 'liga' for vertical writing mode too
-
+
Apparently that's what Kazuraki uses to form vertical ligatures,
which suggests that it's what Adobe does.
@@ -80831,8 +78943,7 @@ Date: Mon Apr 16 15:54:26 2012 -0400
.../shaper-default/script-japanese/MANIFEST | 1 +
.../shaper-default/script-japanese/misc/MANIFEST | 2 +
.../script-japanese/misc/kazuraki-liga-lines.txt | 8 ++++
- .../script-japanese/misc/kazuraki-liga.txt | 53
- ++++++++++++++++++++++
+ .../script-japanese/misc/kazuraki-liga.txt | 53 ++++++++++++++++++++++
5 files changed, 65 insertions(+)
commit e74616b8898b5f18d9bf82b9e81aefad056c1e36
@@ -80862,8 +78973,7 @@ Date: Sat Apr 14 20:23:58 2012 -0400
Move code around
src/hb-ot-shape-private.hh | 40 ----------------------------------------
- src/hb-ot-shape.cc | 45
- +++++++++++++++++++++++++++++++++++++++++----
+ src/hb-ot-shape.cc | 45 +++++++++++++++++++++++++++++++++++++++++----
2 files changed, 41 insertions(+), 44 deletions(-)
commit 38a83019e6a7f4aa47662fd557344f62ae001abe
@@ -80899,7 +79009,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Apr 14 18:51:50 2012 -0400
Remove public enum names again
-
+
As was reported to me, glib-mkenum does not understand named enums,
so remove for now.
@@ -80922,7 +79032,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 12 17:38:23 2012 -0400
Make HB_DIRECTION_INVALID be zero
-
+
This changes all the HB_DIRECTION_* enum member values, but is
nicer, in preparation for making hb_segment_properties_t public.
@@ -80945,7 +79055,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 12 15:50:40 2012 -0400
Fix hb-view surface size calc for vertical text
-
+
For some reason it doesn't quite work with IranianNastaliq, but
that looks like a font issue.
@@ -80960,10 +79070,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 12 14:53:53 2012 -0400
Hide backend-specific shape functions
-
+
Also remove shaper_options argument to hb_shape_full(). That was
unused and for "future". Let it go.
-
+
More shaper API coming in preparation for plan/planned API.
configure.ac | 6 ++--
@@ -80978,8 +79088,7 @@ Date: Thu Apr 12 14:53:53 2012 -0400
src/hb-ot.h | 1 -
src/hb-shape.cc | 24 ++++++---------
src/hb-shape.h | 1 -
- src/hb-uniscribe-private.hh | 42
- ++++++++++++++++++++++++++
+ src/hb-uniscribe-private.hh | 42 ++++++++++++++++++++++++++
src/hb-uniscribe.cc | 9 +++---
src/hb-uniscribe.h | 7 -----
util/options.hh | 2 +-
@@ -80990,7 +79099,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 12 13:23:59 2012 -0400
Add names to enums
-
+
gdb was showing <anonymous enum> instead of useful stuff, so name
all our enums.
@@ -81008,7 +79117,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 12 13:17:44 2012 -0400
Make it an error to include non-top-level headers
-
+
Users should #include <hb.h> (or hb-ft.h, hb-glib.h, etc), but
never things like hb-shape.h directly. This makes it easier to
refactor headers later on without breaking compatibility.
@@ -81048,7 +79157,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 12 10:06:52 2012 -0400
Fix bug with not setting Unicode props of the first character
-
+
Fixes Mongolian shaping issue:
https://bugs.freedesktop.org/show_bug.cgi?id=45695
@@ -81061,8 +79170,7 @@ Date: Thu Apr 12 09:59:26 2012 -0400
Minor
- test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/misc.txt |
- 1 -
+ test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/misc.txt | 1 -
1 file changed, 1 deletion(-)
commit 7470b0ff805e4ff59d23d7a1808888fafdf550eb
@@ -81071,16 +79179,11 @@ Date: Thu Apr 12 09:44:27 2012 -0400
Add Mongolian test case
- test/shaping/texts/in-tree/MANIFEST |
- 1 +
- .../texts/in-tree/shaper-arabic/script-mongolian/misc/MANIFEST |
- 1 +
- .../texts/in-tree/shaper-arabic/script-mongolian/misc/misc.txt |
- 4 ++++
- test/shaping/texts/in-tree/shaper-thai/MANIFEST |
- 1 +
- test/shaping/texts/in-tree/shaper-thai/misc/MANIFEST |
- 1 +
+ test/shaping/texts/in-tree/MANIFEST | 1 +
+ .../texts/in-tree/shaper-arabic/script-mongolian/misc/MANIFEST | 1 +
+ .../texts/in-tree/shaper-arabic/script-mongolian/misc/misc.txt | 4 ++++
+ test/shaping/texts/in-tree/shaper-thai/MANIFEST | 1 +
+ test/shaping/texts/in-tree/shaper-thai/misc/MANIFEST | 1 +
5 files changed, 8 insertions(+)
commit c65662b71e6160f5adfb6226d97589ca457d98b9
@@ -81088,7 +79191,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 12 09:31:55 2012 -0400
Fix left-matra positioning in Indic
-
+
Fixes 200 failures out of previous 4290 cases in the OO.o Indic
dictionary (of ~16000 entries).
@@ -81109,11 +79212,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 11 22:00:46 2012 -0400
[hangul] Apply *jmo features to all Hangul chars
-
+
This is what old HB does. Morever, fixes rendering with Win8 malgun
font. The Win7 version doesn't compose with either Uniscribe nor HB,
but Win8 version works as expected, like Uniscribe, with this change.
-
+
Lets call Hangul done for now.
src/hb-ot-shape-complex-misc.cc | 9 +++++++++
@@ -81134,8 +79237,7 @@ Date: Wed Apr 11 17:48:40 2012 -0400
Add Hangul test
- test/shaping/texts/in-tree/shaper-hangul/script-hangul/misc/misc.txt |
- 1 +
+ test/shaping/texts/in-tree/shaper-hangul/script-hangul/misc/misc.txt | 1 +
1 file changed, 1 insertion(+)
commit e95d912b3b0af027c4384553f95236db822e5acc
@@ -81152,7 +79254,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 11 17:11:05 2012 -0400
Don't create hb_apply_context_t per glyph!
-
+
I couldn't measure significant performance gains out of this; maybe
about 5% (with one million Malayalam strings). Still, not bad.
But reminds me that optimizing this codebase without profiling first
@@ -81168,7 +79270,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 11 14:37:53 2012 -0400
Fix shape to presentation forms font check
-
+
As reported by Jonathan Kew on the list.
src/hb-ot-shape-complex-arabic.cc | 9 ++++++---
@@ -81179,7 +79281,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 11 14:19:55 2012 -0400
Fix build with some compilers
-
+
As reported by Jonathan Kew on the list.
src/hb-ot-shape-complex-misc.cc | 7 ++++---
@@ -81214,11 +79316,9 @@ Date: Tue Apr 10 17:20:05 2012 -0400
Implement Arabic fallback shaping mandatory ligatures
- src/gen-arabic-table.py | 32
- ++++++++++++++++++++++----------
+ src/gen-arabic-table.py | 32 ++++++++++++++++++++++----------
src/hb-ot-shape-complex-arabic-table.hh | 28 +++++++++++++++++++---------
- src/hb-ot-shape-complex-arabic.cc | 31
- +++++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-arabic.cc | 31 +++++++++++++++++++++++++++++++
src/hb-ot-shape-complex-misc.cc | 4 ++--
4 files changed, 74 insertions(+), 21 deletions(-)
@@ -81228,8 +79328,7 @@ Date: Tue Apr 10 16:44:38 2012 -0400
Do Arabic fallback shaping
- src/hb-ot-shape-complex-arabic.cc | 38
- +++++++++++++++++++++++++++++++++-----
+ src/hb-ot-shape-complex-arabic.cc | 38 +++++++++++++++++++++++++++++++++-----
1 file changed, 33 insertions(+), 5 deletions(-)
commit ae4a2b9365051c23c9a299cf76f3ab7e661999b1
@@ -81237,15 +79336,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Apr 10 16:25:08 2012 -0400
Generate fallback Arabic shaping table
-
+
Not hooked up yet.
src/Makefile.am | 6 +-
- src/gen-arabic-table.py | 220
- +++++++++++++++++++++++---------
+ src/gen-arabic-table.py | 220 +++++++++++++++++++++++---------
src/gen-indic-table.py | 4 +-
- src/hb-ot-shape-complex-arabic-table.hh | 205
- ++++++++++++++++++++++++++++-
+ src/hb-ot-shape-complex-arabic-table.hh | 205 ++++++++++++++++++++++++++++-
4 files changed, 367 insertions(+), 68 deletions(-)
commit 3b26f96ebe859570d14c6902afc23462bca40712
@@ -81253,12 +79350,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Apr 10 10:52:07 2012 -0400
Add Thai shaper that does SARA AM decomposition / reordering
-
+
That's not in the OpenType spec, but it's what MS and Adobe do.
src/hb-buffer.cc | 1 +
- src/hb-ot-shape-complex-misc.cc | 104
- ++++++++++++++++++++++++++++++++++++-
+ src/hb-ot-shape-complex-misc.cc | 104 ++++++++++++++++++++++++++++++++++++-
src/hb-ot-shape-complex-private.hh | 8 +++
3 files changed, 112 insertions(+), 1 deletion(-)
@@ -81287,16 +79383,11 @@ Date: Sat Apr 7 22:07:23 2012 -0400
Move around
- test/shaping/texts/in-tree/MANIFEST
- | 1 +
- test/shaping/texts/in-tree/shaper-default/MANIFEST
- | 1 -
- .../in-tree/{shaper-default => shaper-hangul}/script-hangul/MANIFEST
- | 0
- .../{shaper-default => shaper-hangul}/script-hangul/misc/MANIFEST
- | 0
- .../{shaper-default => shaper-hangul}/script-hangul/misc/misc.txt
- | 0
+ test/shaping/texts/in-tree/MANIFEST | 1 +
+ test/shaping/texts/in-tree/shaper-default/MANIFEST | 1 -
+ .../in-tree/{shaper-default => shaper-hangul}/script-hangul/MANIFEST | 0
+ .../{shaper-default => shaper-hangul}/script-hangul/misc/MANIFEST | 0
+ .../{shaper-default => shaper-hangul}/script-hangul/misc/misc.txt | 0
5 files changed, 1 insertion(+), 1 deletion(-)
commit d4cc44716c1e098f8abbc0e495404598026ef242
@@ -81315,17 +79406,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Apr 7 15:06:55 2012 -0400
Add simple Hangul shaper that recomposes Jamo when feasible
-
+
Previously, we were NOT actually recomposing Hangul Jamo. We do now.
The two lines in:
-
+
test/shaping/texts/in-tree/shaper-default/script-hangul/misc/misc.txt
-
+
Now render the same with the UnDotum.ttf font. Previously the second
linle was rendering boxes.
-
- We can also start applying OpenType Jamo features later. At this
- time,
+
+ We can also start applying OpenType Jamo features later. At this time,
I have no idea how the 'ljmo', 'vjmo', 'tjmo' features are supposed to
work. Maybe someone can explain them to me?
@@ -81337,9 +79427,8 @@ commit 968318455304804dc53045e8ba0cd4d76800c02d
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Apr 7 14:57:21 2012 -0400
- Implement normalization mode
- HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_FULL
-
+ Implement normalization mode HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_FULL
+
In this mode we try composing CCC=0 with CCC=0 characters. Useful for
Hangul.
@@ -81351,7 +79440,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Apr 7 14:51:17 2012 -0400
Bring normalization algorithm closer to the spec
-
+
No logical difference so far.
src/hb-ot-shape-normalize.cc | 3 ++-
@@ -81371,17 +79460,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 5 17:27:23 2012 -0400
Add Hangul test case
-
+
Composed, and decomposed, of the same text.
- test/shaping/texts/in-tree/shaper-default/MANIFEST |
- 1 +
- test/shaping/texts/in-tree/shaper-default/script-hangul/MANIFEST |
- 1 +
- test/shaping/texts/in-tree/shaper-default/script-hangul/misc/MANIFEST |
- 1 +
- test/shaping/texts/in-tree/shaper-default/script-hangul/misc/misc.txt |
- 2 ++
+ test/shaping/texts/in-tree/shaper-default/MANIFEST | 1 +
+ test/shaping/texts/in-tree/shaper-default/script-hangul/MANIFEST | 1 +
+ test/shaping/texts/in-tree/shaper-default/script-hangul/misc/MANIFEST | 1 +
+ test/shaping/texts/in-tree/shaper-default/script-hangul/misc/misc.txt | 2 ++
4 files changed, 5 insertions(+)
commit 11138ccff71f442da1fcf64faa0e1d22e083e775
@@ -81389,7 +79474,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 5 17:25:19 2012 -0400
Add normalize mode
-
+
In preparation for Hangul shaper.
src/Makefile.am | 1 +
@@ -81399,8 +79484,7 @@ Date: Thu Apr 5 17:25:19 2012 -0400
src/hb-ot-shape-complex-misc.cc | 8 ++--
src/hb-ot-shape-complex-private.hh | 13 ++++---
src/hb-ot-shape-normalize-private.hh | 46 +++++++++++++++++++++++
- src/hb-ot-shape-normalize.cc | 73
- +++++++++++++++++-------------------
+ src/hb-ot-shape-normalize.cc | 73 +++++++++++++++++-------------------
src/hb-ot-shape-private.hh | 7 +---
src/hb-ot-shape.cc | 2 +-
10 files changed, 102 insertions(+), 61 deletions(-)
@@ -81423,11 +79507,9 @@ Date: Thu Apr 5 16:40:37 2012 -0400
Move code around
- src/hb-ot-shape-private.hh | 53
- --------------------------------------------
+ src/hb-ot-shape-private.hh | 53 --------------------------------------------
src/hb-unicode-private.hh | 3 +++
- src/hb-unicode.cc | 55
- ++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-unicode.cc | 55 ++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 58 insertions(+), 53 deletions(-)
commit cad3821f3d5b68d490b0728bd37bd57428ec809c
@@ -81435,13 +79517,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Mar 7 17:13:25 2012 -0500
More sorting by Unicode version
-
+
This is the most convenient way to browse scripts.
src/hb-common.cc | 2 +-
src/hb-common.h | 2 +-
- src/hb-ot-shape-complex-private.hh | 94
- ++++++++++++++++++++++++++++----------
+ src/hb-ot-shape-complex-private.hh | 94 ++++++++++++++++++++++++++++----------
3 files changed, 72 insertions(+), 26 deletions(-)
commit 317b9504d7a4faa70dcf21e5c2aff4792dbd201a
@@ -81458,12 +79539,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Mar 7 15:52:02 2012 -0500
More Unicode script age annotation, and a couple more RTL scripts
-
+
Cross-checked with Mark Davis's spreadsheet at http://goo.gl/x9ilM
src/hb-common.cc | 8 ++++++++
- src/hb-common.h | 52
- +++++++++++++++++++++++++++++-----------------------
+ src/hb-common.h | 52 +++++++++++++++++++++++++++++-----------------------
2 files changed, 37 insertions(+), 23 deletions(-)
commit 6d4016f1ba48d409800dc3281b93e5cd58c99d9f
@@ -81521,8 +79601,7 @@ Date: Wed Mar 7 12:38:39 2012 -0500
Whitespace
- src/hb-common.h | 194
- ++++++++++++++++++++++++++++----------------------------
+ src/hb-common.h | 194 ++++++++++++++++++++++++++++----------------------------
1 file changed, 97 insertions(+), 97 deletions(-)
commit 183224684a45d7dcd7d28510d4383a7a7cb3dff3
@@ -81530,9 +79609,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Mar 7 12:21:28 2012 -0500
Use generic shaper for Buhid
-
+
As requested by Jonathan Kew.
-
+
We need to devise a better mechanism to choose which scripts to
pass through the Indic shaper. Moreover, currently we are storing
data for some scripts in the Indic shaper that are not even going
@@ -81550,8 +79629,7 @@ Date: Wed Mar 7 12:08:33 2012 -0500
src/Makefile.am | 15 +++
src/gen-indic-table.py | 20 ++--
src/hb-ot-shape-complex-arabic-table.hh | 35 -------
- src/hb-ot-shape-complex-indic-table.hh | 178
- +++++++++++++++++++-------------
+ src/hb-ot-shape-complex-indic-table.hh | 178 +++++++++++++++++++-------------
4 files changed, 134 insertions(+), 114 deletions(-)
commit e3b2e077f549b04779c08a9fedb1f35b9f11075c
@@ -81577,15 +79655,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Mar 6 20:24:31 2012 -0500
Add Hebrew diacritics test cases
-
+
From:
https://bugzilla.mozilla.org/show_bug.cgi?id=662055
test/shaping/texts/in-tree/shaper-default/MANIFEST | 1 +
.../texts/in-tree/shaper-default/script-hebrew/MANIFEST | 1 +
.../in-tree/shaper-default/script-hebrew/misc/MANIFEST | 1 +
- .../shaper-default/script-hebrew/misc/diacritics.txt | 15
- +++++++++++++++
+ .../shaper-default/script-hebrew/misc/diacritics.txt | 15 +++++++++++++++
4 files changed, 18 insertions(+)
commit 461b9b6347e4f58589f5be82c40a2df61da2c715
@@ -81593,10 +79670,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Mar 1 18:11:19 2012 -0800
Fix cluster formation in Indic
-
+
Makes number of failures against Uniscribe with hi_IN dictionary from
OO.o to go down from 6334 to 4290. Not bad for a one-line change!
-
+
Mozilla Bug 729626 - ASAN: heap-buffer-overflow HTML
src/hb-ot-shape-complex-indic-machine.rl | 2 +-
@@ -81607,7 +79684,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Mar 1 17:30:29 2012 -0800
Fix atomic-int op on Apple
-
+
The OSAtomicAdd32Barrier operator returns the new value, we want the
old value.
@@ -81620,12 +79697,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Feb 24 13:51:09 2012 -0500
Add support for atomic int and mutex on Apple systems
-
- So, apparently there's no atomic int 'get' method on Apple.
- You have to
+
+ So, apparently there's no atomic int 'get' method on Apple. You have to
add(0) to get. And that's not const-friendly. So switch inert-object
- checking to a non-atomic get. This, however, is safe, and a
- negligible
+ checking to a non-atomic get. This, however, is safe, and a negligible
performance boost too.
src/hb-mutex-private.hh | 14 +++++++++-----
@@ -81637,9 +79712,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 23 18:47:17 2012 -0500
Remove unused hb_atomic_int_set()
-
- Apparently it can't be implemented on OS X. We weren't using
- it anyway.
+
+ Apparently it can't be implemented on OS X. We weren't using it anyway.
src/hb-object-private.hh | 4 ----
1 file changed, 4 deletions(-)
@@ -81650,8 +79724,7 @@ Date: Thu Feb 23 19:47:43 2012 -0500
Add hb-warning.cc. Oops!
- src/hb-warning.cc | 53
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-warning.cc | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
commit bd7ff1dec5b92ee59fa060e793f88499adcd8c11
@@ -81659,13 +79732,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Feb 23 15:06:16 2012 -0500
Allow disabling multi-threaded support
-
+
By defining HB_NO_MT.
-
+
Also, only warn once per missing MT feature support.
-
- Mozilla Bug 666661 - gfx/harfbuzz/src/hb-prive.h - compiler warnings
- on mac
+
+ Mozilla Bug 666661 - gfx/harfbuzz/src/hb-prive.h - compiler warnings on mac
src/Makefile.am | 1 +
src/hb-mutex-private.hh | 6 +++---
@@ -81678,8 +79750,7 @@ Date: Wed Feb 22 16:43:21 2012 -0500
Minor
- src/hb-ot-shape-private.hh | 69
- ++++++++++++++++++++++++++--------------------
+ src/hb-ot-shape-private.hh | 69 ++++++++++++++++++++++++++--------------------
1 file changed, 39 insertions(+), 30 deletions(-)
commit 514b6f88668da4eab85103c536dabe24b7bc457b
@@ -81687,9 +79758,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 22 16:34:37 2012 -0500
Followup: Reorder Hebrew combining classes for better rendering
-
+
Patch from Jonathan Kew.
-
+
Bug 662055 - advanced Hebrew diacritics are shown correctly only in
particular order.
@@ -81701,11 +79772,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 22 16:31:15 2012 -0500
Reorder Hebrew combining classes for better rendering
-
+
Patch from Jonathan Kew.
-
- Bug 662055 - advanced Hebrew diacritics are shown correctly only in
- particular order
+
+ Bug 662055 - advanced Hebrew diacritics are shown correctly only in particular order
src/hb-ot-shape-private.hh | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
@@ -81716,10 +79786,8 @@ Date: Tue Feb 21 11:31:47 2012 -0500
Add test case from https://bugzilla.mozilla.org/show_bug.cgi?id=714067
- test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/MANIFEST
- | 1 +
- .../in-tree/shaper-arabic/script-arabic/misc/ligature-diacritics.txt
- | 1 +
+ test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/MANIFEST | 1 +
+ .../in-tree/shaper-arabic/script-arabic/misc/ligature-diacritics.txt | 1 +
2 files changed, 2 insertions(+)
commit f51e167436a51b890ffe3f7f7920498fa287acd9
@@ -81775,8 +79843,7 @@ Date: Sun Jan 22 19:57:00 2012 -0500
Add a few more tests
.../in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt | 3 +++
- .../shaper-indic/south-east-asian/script-thai/misc/misc.txt |
- 9 +++++++++
+ .../shaper-indic/south-east-asian/script-thai/misc/misc.txt | 9 +++++++++
2 files changed, 12 insertions(+)
commit 1795f3a222a85cdf80c78a0e9181d23dd1673876
@@ -81785,14 +79852,10 @@ Date: Sun Jan 22 19:29:45 2012 -0500
Add a couple Thai test cases from Thep
- test/shaping/texts/in-tree/shaper-indic/south-east-asian/MANIFEST |
- 1 +
- .../texts/in-tree/shaper-indic/south-east-asian/script-thai/MANIFEST |
- 1 +
- .../in-tree/shaper-indic/south-east-asian/script-thai/misc/MANIFEST |
- 1 +
- .../in-tree/shaper-indic/south-east-asian/script-thai/misc/misc.txt |
- 2 ++
+ test/shaping/texts/in-tree/shaper-indic/south-east-asian/MANIFEST | 1 +
+ .../texts/in-tree/shaper-indic/south-east-asian/script-thai/MANIFEST | 1 +
+ .../in-tree/shaper-indic/south-east-asian/script-thai/misc/MANIFEST | 1 +
+ .../in-tree/shaper-indic/south-east-asian/script-thai/misc/misc.txt | 2 ++
4 files changed, 5 insertions(+)
commit ec3f506682fc6e2d7d7455e49d6c82ac9dd0c660
@@ -81801,8 +79864,7 @@ Date: Sun Jan 22 19:10:55 2012 -0500
Add Devanagari test from Tom Hacohen
- .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt
- | 1 +
+ .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt | 1 +
1 file changed, 1 insertion(+)
commit 71be4ca3dd5eaaca31957e34fef11f6aeb4aebdf
@@ -81828,7 +79890,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jan 22 16:07:32 2012 -0500
Allow --color=html in hb-diff
-
+
Not that useful right now as we don't escape < and >. Perhaps
another tool can be added to convert the ANSI output to HTML.
@@ -81841,32 +79903,27 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jan 22 15:31:44 2012 -0500
Fallback to Latin script if the font has no other usable scripts
-
+
Patch and description from Jonathan Kew:
-
+
It turns out that some legacy Thai fonts provide OpenType substitution
features to implement mark positioning, but (incorrectly) put those
- features/lookups under the 'latn' script tag instead of using 'thai'
- (or
+ features/lookups under the 'latn' script tag instead of using 'thai' (or
possibly 'DFLT'). See
https://bugzilla.mozilla.org/show_bug.cgi?id=719366 for an example and
more detailed description.
-
- Although this is really a font bug, I suggest that we could improve
- the
+
+ Although this is really a font bug, I suggest that we could improve the
rendering of such fonts by looking for the 'latn' as a fallback if
neither the requested script nor "default" is found in
hb_ot_layout_table_choose_script. Suggested patch against harfbuzz
master is attached.
-
- This does _not_ affect the other kind of legacy Thai font, where
- custom
- code to support vendor-specific PUA codepoints would be needed. I'm
- not
- keen to go down that path; IMO, such fonts should be ruthlessly
- stamped
+
+ This does _not_ affect the other kind of legacy Thai font, where custom
+ code to support vendor-specific PUA codepoints would be needed. I'm not
+ keen to go down that path; IMO, such fonts should be ruthlessly stamped
out in favour of standards-based solutions. :)
-
+
JK
src/hb-ot-layout.cc | 9 +++++++++
@@ -81927,8 +79984,7 @@ Date: Sat Jan 21 19:31:51 2012 -0500
Port hb-manifest-update to Python
test/shaping/hb-manifest-update | 23 +++--------------------
- test/shaping/hb_test_tools.py | 38
- ++++++++++++++++++++++++++++++--------
+ test/shaping/hb_test_tools.py | 38 ++++++++++++++++++++++++++++++--------
2 files changed, 33 insertions(+), 28 deletions(-)
commit 3a34e9e351ed0ee3eb27f9c0f154bc227f1226bf
@@ -81937,8 +79993,7 @@ Date: Sat Jan 21 19:15:41 2012 -0500
Ignore Broken Pipe errors
- test/shaping/hb_test_tools.py | 76
- +++++++++++++++++++++++++++----------------
+ test/shaping/hb_test_tools.py | 76 +++++++++++++++++++++++++++----------------
1 file changed, 48 insertions(+), 28 deletions(-)
commit d5300241680844f5625f32792f7dd7181ed05f9b
@@ -81946,11 +80001,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jan 21 19:07:22 2012 -0500
[util] Make clusters work with char offset instead of UTF-8 offset
-
+
This means the --features indices also refer to char position
instead of byte position now. Same for cluster values reported
by hb-shape.
-
+
Will add an option for byte indices later.
util/options.cc | 7 +++++--
@@ -81984,8 +80039,7 @@ Date: Fri Jan 20 21:16:34 2012 -0500
test/shaping/hb-diff-filter-failures | 2 +-
test/shaping/hb-manifest-read | 37 +++------------------------
- test/shaping/hb_test_tools.py | 49
- ++++++++++++++++++++++++++++++++----
+ test/shaping/hb_test_tools.py | 49 ++++++++++++++++++++++++++++++++----
3 files changed, 48 insertions(+), 40 deletions(-)
commit a59ed46fa4f7b76605f8ce6e75783ead406468f5
@@ -81995,8 +80049,7 @@ Date: Fri Jan 20 20:56:32 2012 -0500
Add final residues from test-shape-complex
.../shaping/texts/in-tree/shaper-arabic/script-nko/misc/MANIFEST | 1 +
- .../shaping/texts/in-tree/shaper-arabic/script-nko/misc/misc.txt |
- 5 +++++
+ .../shaping/texts/in-tree/shaper-arabic/script-nko/misc/misc.txt | 5 +++++
test/shaping/texts/in-tree/shaper-default/MANIFEST | 1 +
.../texts/in-tree/shaper-default/script-linear-b/MANIFEST | 1 +
.../texts/in-tree/shaper-default/script-linear-b/misc/MANIFEST | 1 +
@@ -82005,8 +80058,7 @@ Date: Fri Jan 20 20:56:32 2012 -0500
.../shaping/texts/in-tree/shaper-indic/south-east-asian/MANIFEST | 1 +
.../in-tree/shaper-indic/south-east-asian/script-khmer/MANIFEST | 1 +
.../shaper-indic/south-east-asian/script-khmer/misc/MANIFEST | 1 +
- .../shaper-indic/south-east-asian/script-khmer/misc/misc.txt |
- 9 +++++++++
+ .../shaper-indic/south-east-asian/script-khmer/misc/misc.txt | 9 +++++++++
11 files changed, 23 insertions(+)
commit 820e0ed318d9b187a131baa9491d5d390ec33ef4
@@ -82015,10 +80067,8 @@ Date: Fri Jan 20 20:51:52 2012 -0500
Add Punjabi tests from test-shape-complex also
- .../texts/in-tree/shaper-indic/indic/script-punjabi/misc/MANIFEST
- | 1 +
- .../texts/in-tree/shaper-indic/indic/script-punjabi/misc/misc.txt
- | 1 +
+ .../texts/in-tree/shaper-indic/indic/script-punjabi/misc/MANIFEST | 1 +
+ .../texts/in-tree/shaper-indic/indic/script-punjabi/misc/misc.txt | 1 +
2 files changed, 2 insertions(+)
commit a7d71c105772fb612871b4cae59bdae47bbc8751
@@ -82028,8 +80078,7 @@ Date: Fri Jan 20 20:50:09 2012 -0500
Add Tamil test data from Muguntharaj Subramanian
.../shaper-indic/indic/script-tamil/misc/MANIFEST | 1 +
- .../shaper-indic/indic/script-tamil/misc/misc.txt | 43
- ++++++++++++++++++++++
+ .../shaper-indic/indic/script-tamil/misc/misc.txt | 43 ++++++++++++++++++++++
2 files changed, 44 insertions(+)
commit 5992a9941e7f19181df1e34e79e514ccedc3d284
@@ -82052,8 +80101,7 @@ Date: Fri Jan 20 20:48:14 2012 -0500
.../indic/script-assamese/misc/MANIFEST | 0
.../shaper-indic/indic/script-bengali/MANIFEST | 1 +
.../indic/script-bengali/misc/MANIFEST | 1 +
- .../indic/script-bengali/misc/misc.txt | 48
- ++++++++++++++++++++++
+ .../indic/script-bengali/misc/misc.txt | 48 ++++++++++++++++++++++
.../shaper-indic/indic/script-devanagari/MANIFEST | 1 +
.../indic/script-devanagari/misc/MANIFEST | 1 +
.../indic/script-devanagari/misc/misc.txt | 23 +++++++++++
@@ -82094,7 +80142,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 20 18:39:27 2012 -0500
Make test tools interactive
-
+
By bypassing readlines() buffering.
test/shaping/hb_test_tools.py | 33 +++++++++++++++++++++++++++------
@@ -82105,7 +80153,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 20 18:27:52 2012 -0500
Move most testing logic into hb_test_tools.py
-
+
The actual utils are one-liners now.
test/shaping/hb-diff | 77 ++-------------
@@ -82113,8 +80161,7 @@ Date: Fri Jan 20 18:27:52 2012 -0500
test/shaping/hb-unicode-decode | 18 +---
test/shaping/hb-unicode-encode | 21 +---
test/shaping/hb-unicode-prettyname | 53 +----------
- test/shaping/hb_test_tools.py | 180
- +++++++++++++++++++++++++++++++++++
+ test/shaping/hb_test_tools.py | 180 +++++++++++++++++++++++++++++++++++
6 files changed, 197 insertions(+), 179 deletions(-)
commit 66aa080033dcff07b8bb5e7b1f0e3511f067d6c1
@@ -82122,12 +80169,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 20 17:36:10 2012 -0500
Remove test-shape-complex
-
+
New shaping testsuite and framework coming.
test/api/Makefile.am | 6 -
- test/api/test-shape-complex.c | 1237
- ------------------------------------
+ test/api/test-shape-complex.c | 1237 ------------------------------------
test/shaping/hb-unicode-prettyname | 1 +
3 files changed, 1 insertion(+), 1243 deletions(-)
@@ -82164,10 +80210,8 @@ Date: Fri Jan 20 17:16:35 2012 -0500
Move
- test/shaping/texts/MANIFEST |
- 4 +---
- test/shaping/texts/in-tree/MANIFEST |
- 3 +++
+ test/shaping/texts/MANIFEST | 4 +---
+ test/shaping/texts/in-tree/MANIFEST | 3 +++
test/shaping/texts/{ => in-tree}/shaper-arabic/MANIFEST | 0
test/shaping/texts/{ => in-tree}/shaper-arabic/script-arabic/MANIFEST | 0
.../shaping/texts/{ => in-tree}/shaper-arabic/script-mandaic/MANIFEST | 0
@@ -82404,7 +80448,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jan 20 13:57:57 2012 -0500
[test/shaping] Add some Indic test data for the new test suite
-
+
Imported from UTRRS.
test/shaping/texts/shaper-indic/indic/MANIFEST | 2 +-
@@ -82462,8 +80506,7 @@ Date: Fri Jan 20 13:57:57 2012 -0500
.../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 185 +++
.../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 185 +++
.../indic/script-devanagari/utrrs/gpos/MANIFEST | 2 +
- .../utrrs/gsub/IndicFontFeatureGSUB.txt | 1367
- ++++++++++++++++++++
+ .../utrrs/gsub/IndicFontFeatureGSUB.txt | 1367 ++++++++++++++++++++
.../indic/script-devanagari/utrrs/gsub/MANIFEST | 1 +
.../shaper-indic/indic/script-gujarati/MANIFEST | 1 +
.../indic/script-gujarati/utrrs/LICENSE | 19 +
@@ -82481,8 +80524,7 @@ Date: Fri Jan 20 13:57:57 2012 -0500
.../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 170 +++
.../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 170 +++
.../indic/script-gujarati/utrrs/gpos/MANIFEST | 2 +
- .../utrrs/gsub/IndicFontFeatureGSUB.txt | 1156
- +++++++++++++++++
+ .../utrrs/gsub/IndicFontFeatureGSUB.txt | 1156 +++++++++++++++++
.../indic/script-gujarati/utrrs/gsub/MANIFEST | 1 +
.../shaper-indic/indic/script-kannada/MANIFEST | 1 +
.../indic/script-kannada/utrrs/LICENSE | 19 +
@@ -82640,8 +80682,7 @@ Date: Fri Jan 20 13:50:05 2012 -0500
test/shaping/{hb-read-manifest => hb-manifest-read} | 0
.../{hb-update-manifests => hb-manifest-update} | 0
- test/shaping/hb-unicode-decode | 19
- +++++++++++++++++++
+ test/shaping/hb-unicode-decode | 19 +++++++++++++++++++
3 files changed, 19 insertions(+)
commit 9ab23ef4749b51e60464b9ef2a92739cdc2b36ba
@@ -82677,8 +80718,7 @@ Date: Thu Jan 19 20:28:31 2012 -0500
[test/shaping] Add hb-unicode-prettyname
- test/shaping/hb-unicode-prettyname | 38
- ++++++++++++++++++++++++++++++++++++++
+ test/shaping/hb-unicode-prettyname | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
commit e900869b0f373d25b72d966338beb6cbc53e6446
@@ -82704,7 +80744,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 19 17:51:57 2012 -0500
[hb-shape] Change glyphstring brackets from </> to [/]
-
+
Sorry for the disruption but I need this to differentiate from the
Unicode string.
@@ -82717,8 +80757,7 @@ Date: Thu Jan 19 16:55:26 2012 -0500
More Indic tests from Pravin
- test/api/test-shape-complex.c | 48
- +++++++++++++++++++++++++++++++++++++++++++
+ test/api/test-shape-complex.c | 48 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
commit a33e46cf7d9862856fd7ecb04e047cc58a9785c8
@@ -82728,8 +80767,7 @@ Date: Thu Jan 19 15:43:48 2012 -0500
[test/shaping] Add hb-update-manifests
test/shaping/Makefile.am | 6 ++----
- test/shaping/hb-update-manifests | 22
- ++++++++++++++++++++++
+ test/shaping/hb-update-manifests | 22 ++++++++++++++++++++++
test/shaping/texts/shaper-indic/indic/MANIFEST | 1 +
3 files changed, 25 insertions(+), 4 deletions(-)
@@ -82741,8 +80779,7 @@ Date: Thu Jan 19 15:21:04 2012 -0500
configure.ac | 1 +
test/Makefile.am | 2 +-
- test/shaping/Makefile.am |
- 10 ++++++++++
+ test/shaping/Makefile.am | 10 ++++++++++
test/shaping/texts/MANIFEST | 3 +++
test/shaping/texts/shaper-arabic/MANIFEST | 5 +++++
test/shaping/texts/shaper-arabic/script-arabic/MANIFEST | 0
@@ -82752,8 +80789,7 @@ Date: Thu Jan 19 15:21:04 2012 -0500
test/shaping/texts/shaper-arabic/script-syriac/MANIFEST | 0
test/shaping/texts/shaper-default/MANIFEST | 0
test/shaping/texts/shaper-indic/MANIFEST | 1 +
- test/shaping/texts/shaper-indic/indic/MANIFEST |
- 10 ++++++++++
+ test/shaping/texts/shaper-indic/indic/MANIFEST | 10 ++++++++++
test/shaping/texts/shaper-indic/indic/script-assamese/MANIFEST | 0
test/shaping/texts/shaper-indic/indic/script-bengali/MANIFEST | 0
.../texts/shaper-indic/indic/script-devanagari/MANIFEST | 0
@@ -82782,10 +80818,8 @@ Date: Thu Jan 19 14:52:02 2012 -0500
Rename test/ to test/api/
configure.ac | 1 +
- test/Makefile.am | 128
- +----------------------------------
- test/api/Makefile.am | 131
- ++++++++++++++++++++++++++++++++++++
+ test/Makefile.am | 128 +----------------------------------
+ test/api/Makefile.am | 131 ++++++++++++++++++++++++++++++++++++
test/{ => api}/hb-test.h | 0
test/{ => api}/test-blob.c | 0
test/{ => api}/test-buffer.c | 0
@@ -82806,12 +80840,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 19 14:28:11 2012 -0500
Remove src/test.cc
-
+
Not really useful.
src/Makefile.am | 6 +--
- src/test.cc | 132
- --------------------------------------------------------
+ src/test.cc | 132 --------------------------------------------------------
2 files changed, 1 insertion(+), 137 deletions(-)
commit 4983feebbbb25e79201bf34035e4d58e61218758
@@ -82828,7 +80861,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 19 12:46:18 2012 -0500
[hb-shape] Add --show-line-num
-
+
Ok, much more useful as a test suite driver now.
util/hb-shape.cc | 24 +++++-------------------
@@ -82870,7 +80903,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 18 22:47:44 2012 -0500
[util] Add --help-features
-
+
Patch from Khaled Hosny.
util/options.cc | 42 +++++++++++++++++++++++++++++++++++++++++-
@@ -82890,7 +80923,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 18 22:16:49 2012 -0500
Replace u_strlen() with u_countChar32()
-
+
The latter is what I meant.
src/hb-icu.cc | 8 +++-----
@@ -82901,7 +80934,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 18 21:58:34 2012 -0500
Add test for bug in ICU decompose
-
+
As reported by Kenichi Ishibashi on 2011-10-28.
test/test-unicode.c | 2 +-
@@ -82912,7 +80945,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 18 21:51:05 2012 -0500
Fix OOB in replace_glyph()
-
+
Patch from Kenichi Ishibashi.
src/hb-buffer.cc | 2 ++
@@ -82923,7 +80956,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 18 21:28:34 2012 -0500
Fix more possible buffer overruns
-
+
I have this function, but can't clean up it to my satisfaction.
src/hb-ot-layout-gsubgpos-private.hh | 6 ++++--
@@ -82944,7 +80977,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jan 18 16:07:53 2012 -0500
Further mark skippy fixes from Jonathan Kew
-
+
We should be in good shape now.
src/hb-ot-layout-gsubgpos-private.hh | 4 +++-
@@ -82955,7 +80988,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jan 17 18:08:41 2012 -0500
Fix mark skipping regression
-
+
Ouch!
src/hb-ot-layout-gsubgpos-private.hh | 2 +-
@@ -82969,8 +81002,7 @@ Date: Mon Jan 16 22:05:08 2012 -0500
src/hb-ot-layout-gpos-table.hh | 95 ++++++++++----------------
src/hb-ot-layout-gsub-table.hh | 21 +++---
- src/hb-ot-layout-gsubgpos-private.hh | 125
- +++++++++++++++++++++++++++--------
+ src/hb-ot-layout-gsubgpos-private.hh | 125 +++++++++++++++++++++++++++--------
3 files changed, 143 insertions(+), 98 deletions(-)
commit 370f03e9c69d98d735eafb7e72b13b17f42cbaa9
@@ -82988,16 +81020,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 16 16:43:26 2012 -0500
[GSUB/GPOS] Fix mark skip indexing issues
-
+
Mozilla bug 701637 and 714067 combined.
-
+
Patch from Jonathan Kew.
- src/hb-ot-layout-gpos-table.hh | 42
- ++++++++++++++++-----------------
+ src/hb-ot-layout-gpos-table.hh | 42 ++++++++++++++++-----------------
src/hb-ot-layout-gsub-table.hh | 21 +++++++++--------
- src/hb-ot-layout-gsubgpos-private.hh | 45
- ++++++++++++++++++------------------
+ src/hb-ot-layout-gsubgpos-private.hh | 45 ++++++++++++++++++------------------
3 files changed, 54 insertions(+), 54 deletions(-)
commit e8eedf2687f05372bf5476e84139d01ba67c9f73
@@ -83005,7 +81035,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 16 16:39:40 2012 -0500
Avoid enum trailing commas
-
+
Based on patch from Jonathan Kew.
src/hb-ot-shape-complex-indic.cc | 4 ++--
@@ -83026,7 +81056,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jan 15 14:56:56 2012 -0500
Disable gtk-doc macro
-
+
We don't have any docs yet.
configure.ac | 2 +-
@@ -83064,7 +81094,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 17 11:50:54 2011 -0700
Fix intrin.h b0rkage with older MSVC
-
+
Reported by Jonathan Kew.
src/hb-object-private.hh | 6 +++++-
@@ -83075,7 +81105,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 17 11:39:28 2011 -0700
Fix infinite loop in normalization code with variation selectors
-
+
Reported by Jonathan Kew.
src/hb-ot-shape-normalize.cc | 5 ++++-
@@ -83095,7 +81125,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 28 16:57:34 2011 -0400
Make test-c.c actually use hb
-
+
This will make sure we test that C code can actually link to the
library.
@@ -83161,7 +81191,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 21 16:41:43 2011 -0400
hb-shape: In --no-glyph-names, output glyph number directly
-
+
Ie. write "86" instead of "gid86".
util/options.cc | 11 +++++++----
@@ -83172,9 +81202,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 20 14:43:55 2011 -0400
[util] Fix option parsing
-
+
Wow, who knew bool is one byte and I was using it as a 4byte int?!
-
+
C++ auto casts fails you in mysterious ways...
util/helper-cairo.cc | 2 +-
@@ -83197,22 +81227,21 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 20 11:20:53 2011 -0400
[util] Add hb-diff
-
+
A diff program written in Python that is more suitable for comparing
hb-shape output from different backends. Main differences with stock
diff:
-
+
1. It outputs one line's comparison at a time, as opposed to batching
'+' lines and '-' lines.
-
+
2. It colors the part of the line that changed, taking word boundaries
into consideration.
-
+
You can pipe the colored output to 'less -r'.
util/Makefile.am | 2 ++
- util/hb-diff | 59
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ util/hb-diff | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 61 insertions(+)
commit 880c1f0e4ede65890592d28dfb38bb06f5b57500
@@ -83220,7 +81249,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 19 23:10:22 2011 -0400
Rewrite ICU detection code with in-house macros
-
+
At least works for cross-compiling now...
configure.ac | 26 +++++++++++++++-----------
@@ -83250,8 +81279,7 @@ commit b5afd8f78e6b372f1bbed469329c1554adb20eea
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 19 16:56:21 2011 -0400
- [util] Rename --output to --output_file, and --format to
- --output-format
+ [util] Rename --output to --output_file, and --format to --output-format
util/options.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -83288,9 +81316,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 19 16:41:17 2011 -0400
[util] Add hb-shape utility
-
+
Like hb-view, but prints out buffer contents.
-
+
The output format is kinda cryptic. Suggestions welcome.
configure.ac | 6 -
@@ -83298,13 +81326,11 @@ Date: Mon Sep 19 16:41:17 2011 -0400
util/{common.cc => hb-shape.cc} | 57 ++++--
util/hb-view.cc | 44 +----
util/hb-view.hh | 79 ++++++++
- util/helper-cairo.cc | 375
- +++++++++++++++++++++++++++++++++++
+ util/helper-cairo.cc | 375 +++++++++++++++++++++++++++++++++++
util/{common.hh => helper-cairo.hh} | 64 ++++--
util/options.cc | 79 ++++++++
util/options.hh | 53 ++++-
- util/view-cairo.cc | 381
- ++----------------------------------
+ util/view-cairo.cc | 381 ++----------------------------------
util/view-cairo.hh | 8 +-
11 files changed, 717 insertions(+), 473 deletions(-)
@@ -83323,8 +81349,7 @@ Date: Mon Sep 19 15:45:52 2011 -0400
[util] If no text is provided, simply call cairo_show_glyphs()
- util/view-cairo.cc | 92
- ++++++++++++++++++++++++++++++------------------------
+ util/view-cairo.cc | 92 ++++++++++++++++++++++++++++++------------------------
1 file changed, 51 insertions(+), 41 deletions(-)
commit 5c299343118d1eaff32ffb2a5dac077cfff67dee
@@ -83352,7 +81377,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Sep 17 09:59:58 2011 -0400
Fix Linux build when io.h is available
-
+
Bug 40953 - fail compile git: make[2]: *** [hb_view-options.o] Error 1
configure.ac | 2 +-
@@ -83432,8 +81457,7 @@ Date: Fri Sep 16 02:08:36 2011 -0400
Fix reading text from stdin
- util/options.cc | 76
- +++++++++++++++++++++++++++++++++++-------------------
+ util/options.cc | 76 +++++++++++++++++++++++++++++++++++-------------------
util/options.hh | 16 +++++++-----
util/view-cairo.cc | 6 +++--
3 files changed, 64 insertions(+), 34 deletions(-)
@@ -83453,7 +81477,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 16 01:11:30 2011 -0400
Always shape at size=upem
-
+
Fixes bug with uniscribe not handling GIGANTIC sizes.
util/options.cc | 2 +-
@@ -83475,14 +81499,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 16 00:38:19 2011 -0400
Fix binary stdin/stdout io in Windows
-
+
Make --font-file accept "-" to mean stdin, and have it work
in Windows too!
configure.ac | 2 +-
util/common.hh | 5 +++++
- util/options.cc | 64
- +++++++++++++++++++++++++++++++++++++++++++++++----------
+ util/options.cc | 64 +++++++++++++++++++++++++++++++++++++++++++++++----------
util/options.hh | 10 +++++++--
4 files changed, 67 insertions(+), 14 deletions(-)
@@ -83501,14 +81524,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Sep 15 17:52:00 2011 -0400
[hb-view] Make print to stdout work in Windows
-
+
Apparently there's no equivalent to "/dev/stdout", so write using
stdio to be able to output to stdout.
util/common.hh | 1 +
util/options.hh | 31 ++++++++++++++++-----
- util/view-cairo.cc | 79
- ++++++++++++++++++++++++++++++++++++------------------
+ util/view-cairo.cc | 79 ++++++++++++++++++++++++++++++++++++------------------
3 files changed, 78 insertions(+), 33 deletions(-)
commit 36b10f58cc70ce9570d17b30616f9cb27423e03b
@@ -83536,7 +81558,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 13 13:30:39 2011 -0400
[util] Refactor hb-view completely
-
+
Now we can use the same code to do other utils...
configure.ac | 2 +
@@ -83546,8 +81568,7 @@ Date: Tue Sep 13 13:30:39 2011 -0400
util/hb-view.cc | 244 ++++-------------------------
util/options.cc | 321 ++++++++++++++++++++++++++------------
util/options.hh | 179 +++++++++++++++++++---
- util/view-cairo.cc | 440
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ util/view-cairo.cc | 440 +++++++++++++++++++++++++++++++++++++++++++++++++++++
util/view-cairo.hh | 63 ++++++++
9 files changed, 927 insertions(+), 333 deletions(-)
@@ -83558,8 +81579,7 @@ Date: Thu Sep 8 17:08:32 2011 -0400
More reshuffling
util/hb-view.cc | 4 ++--
- util/options.cc | 64
- ++++++++++++++++++++++++++++++---------------------------
+ util/options.cc | 64 ++++++++++++++++++++++++++++++---------------------------
util/options.hh | 13 ++++++------
3 files changed, 43 insertions(+), 38 deletions(-)
@@ -83587,7 +81607,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Sep 8 16:43:15 2011 -0400
Minor
-
+
We now support using -1 for NUL-terminated strings.
util/hb-view.cc | 2 --
@@ -83609,8 +81629,7 @@ Date: Thu Sep 8 16:00:04 2011 -0400
[util] Further refactor option parsing
- util/options.cc | 80
- +++++++++++++++++++++++++++++++++++++++++++++++----------
+ util/options.cc | 80 +++++++++++++++++++++++++++++++++++++++++++++++----------
util/options.hh | 20 ++++++++++++---
2 files changed, 83 insertions(+), 17 deletions(-)
@@ -83620,8 +81639,7 @@ Date: Thu Sep 8 13:35:17 2011 -0400
Refine Indic scripts, following Martin Hosken's recommendation
- src/hb-ot-shape-complex-private.hh | 56
- +++++++++++++++++++++++---------------
+ src/hb-ot-shape-complex-private.hh | 56 +++++++++++++++++++++++---------------
1 file changed, 34 insertions(+), 22 deletions(-)
commit 738d096a06822e63b3894bd817ecb90e5fb94f73
@@ -83629,7 +81647,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 2 13:31:19 2011 -0400
Pass through unknown ISO 639-3 language tags to OpenType engine
-
+
In hb_ot_tag_from_language(), if first component of an unknown
language is three letters long, use it directly as OpenType language
tag (after case conversion and padding).
@@ -83643,7 +81661,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Sep 2 12:39:20 2011 -0400
[graphite] Don't preload glyphs
-
+
Doesn't seem to be slower.
src/hb-graphite2.cc | 2 +-
@@ -83711,12 +81729,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 26 09:25:04 2011 +0200
[graphite] Only pass the first part language tag to graphite
-
+
Still not sure about:
-
+
1) Case. We pass lowercase for now. Would be nice if graphite was
uppercase 3letter like OpenType,
-
+
2) Padding. IMO, tag padding is always with spaces, but Martin was
talking about NUL bytes.
@@ -83728,13 +81746,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 26 09:18:53 2011 +0200
[API] Make all _from_string() functions take a len parameter
-
+
Can be -1 for NUL-terminated string. This is useful for passing parts
of a larger string to a function without having to copy or modify the
string first.
-
+
Affected functions:
-
+
hb_tag_t hb_tag_from_string()
hb_direction_from_string()
hb_language_from_string()
@@ -83746,8 +81764,7 @@ Date: Fri Aug 26 09:18:53 2011 +0200
src/hb-icu.cc | 2 +-
src/hb-ot-tag.cc | 8 +++---
test/test-buffer.c | 4 +--
- test/test-common.c | 79
- +++++++++++++++++++++++++++++++----------------------
+ test/test-common.c | 79 +++++++++++++++++++++++++++++++----------------------
test/test-ot-tag.c | 22 +++++++--------
util/hb-view.cc | 6 ++--
util/options.cc | 5 +---
@@ -83766,25 +81783,22 @@ commit 3007ffa9e53e6100a761c2363f50a2b19a0764fc
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 25 09:08:53 2011 +0200
- Reorder combining-class to better suit Arabic shadda mark-mark
- positioning
-
+ Reorder combining-class to better suit Arabic shadda mark-mark positioning
+
As reported by Khaled on the list:
-
+
"After the introduction of canonical reordering of combining marks
(commit 34c22f8), I'm no longer able to do mark/mark substitution or
positioning for mark sequences that involve shadda as a first mark (or
most interesting sequences at least).
-
- "After some digging, it turned out that shadda have a ccc=33
- while most
- Arabic marks that combine with it have a lower ccc value, which
- results
+
+ "After some digging, it turned out that shadda have a ccc=33 while most
+ Arabic marks that combine with it have a lower ccc value, which results
in the shadda being reordered after the other mark which,
unsurprisingly, breaks my contextual substitution and mkmk anchors."
-
+
See:
-
+
http://unicode.org/faq/normalization.html#8
http://unicode.org/faq/normalization.html#9
@@ -83806,11 +81820,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 24 19:13:15 2011 +0200
Add hb-ot-hmtx-table.hh
-
+
Oops!
- src/hb-ot-hmtx-table.hh | 86
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-hmtx-table.hh | 86 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 86 insertions(+)
commit a3bd8a0e1862212a2d4141b973039bd000a3054f
@@ -83819,8 +81832,7 @@ Date: Wed Aug 24 03:22:49 2011 +0200
[graphite] Rewrite properly
- src/hb-graphite2.cc | 633
- ++++++++++++++++++++++------------------------------
+ src/hb-graphite2.cc | 633 ++++++++++++++++++++++------------------------------
src/hb-uniscribe.cc | 2 +
2 files changed, 273 insertions(+), 362 deletions(-)
@@ -83866,7 +81878,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 24 01:45:47 2011 +0200
[graphite] Remove hb_graphite2_feature_check()
-
+
I don't see how this function can be useful.
src/hb-graphite2.cc | 10 ----------
@@ -83878,7 +81890,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 24 01:29:25 2011 +0200
Add graphite2 integration from Martin Hosken
-
+
To be modified, a lot.
configure.ac | 9 +-
@@ -83887,8 +81899,7 @@ Date: Wed Aug 24 01:29:25 2011 +0200
contrib/python/scripts/hbtestfont | 4 +-
contrib/python/setup.py | 18 +-
src/Makefile.am | 7 +
- src/hb-graphite2.cc | 446
- ++++++++++++++++++++++++++++++++++++++
+ src/hb-graphite2.cc | 446 ++++++++++++++++++++++++++++++++++++++
src/hb-graphite2.h | 47 ++++
src/hb-shape.cc | 7 +
9 files changed, 542 insertions(+), 18 deletions(-)
@@ -83908,7 +81919,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 23 00:04:57 2011 +0200
Add a constructor for hb_prealloced_array_t
-
+
Fixes build with MSVC.
src/hb-private.hh | 2 ++
@@ -83919,14 +81930,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 19 19:59:24 2011 +0200
Add gobject enum support, but disabled for now
-
+
need to figure out the naming. The generated code doesn't have the
right name.
configure.ac | 2 +
src/Makefile.am | 13 +++--
- src/hb-gobject-enums.cc.tmpl | 74
- ++++++++++++++++++++++++++++
+ src/hb-gobject-enums.cc.tmpl | 74 ++++++++++++++++++++++++++++
src/{hb-gobject.cc => hb-gobject-structs.cc} | 0
4 files changed, 86 insertions(+), 3 deletions(-)
@@ -83954,14 +81964,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 17 19:07:59 2011 +0200
Remove the pre_allocate argument from hb_buffer_create()
-
+
For two reasons:
-
+
1. User can always call hb_buffer_pre_allocate() themselves, and
-
+
2. Now we do a pre_alloc in add_utfX anyway, so the total number of
- reallocs is limited to a small number (~3) anyway. This just
- makes the
+ reallocs is limited to a small number (~3) anyway. This just makes the
API cleaner.
src/hb-buffer.cc | 7 +------
@@ -84008,8 +82017,7 @@ Date: Wed Aug 17 14:43:45 2011 +0200
src/hb-ot-layout-gsub-table.hh | 2 +-
src/hb-ot-maxp-table.hh | 2 +-
src/hb-ot-name-table.hh | 3 +-
- src/hb-tt-font.cc | 207
- +++++++++++++++++++++++++++++++++++++++++
+ src/hb-tt-font.cc | 207 +++++++++++++++++++++++++++++++++++++++++
10 files changed, 314 insertions(+), 6 deletions(-)
commit 7a750ac33ec482e2c4856c19ea607f3563741c24
@@ -84018,16 +82026,14 @@ Date: Wed Aug 17 14:19:59 2011 +0200
Rename table files from eg maxp-private.hh to maxp-table.hh
- src/Makefile.am | 12
- ++++++------
+ src/Makefile.am | 12 ++++++------
src/hb-font.cc | 2 +-
src/{hb-ot-head-private.hh => hb-ot-head-table.hh} | 6 +++---
...-ot-layout-gdef-private.hh => hb-ot-layout-gdef-table.hh} | 6 +++---
...-ot-layout-gpos-private.hh => hb-ot-layout-gpos-table.hh} | 6 +++---
...-ot-layout-gsub-private.hh => hb-ot-layout-gsub-table.hh} | 6 +++---
src/hb-ot-layout-gsubgpos-private.hh | 2 +-
- src/hb-ot-layout.cc |
- 8 ++++----
+ src/hb-ot-layout.cc | 8 ++++----
src/{hb-ot-maxp-private.hh => hb-ot-maxp-table.hh} | 6 +++---
src/{hb-ot-name-private.hh => hb-ot-name-table.hh} | 6 +++---
src/hb-uniscribe-shape.cc | 2 +-
@@ -84039,7 +82045,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 15 20:41:59 2011 +0200
[ft] FT_Get_Advance() for advance-width callbacks
-
+
Using graphite2's comparerenderer suggests that this makes hb-ft 15
times faster. No caching layer needed anymore.
@@ -84063,7 +82069,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 15 16:21:22 2011 +0200
Pre-allocate buffers when adding string
-
+
We do a conservative estimate of the number of characters, but still,
this limits the number of buffer reallocs to a small constant.
@@ -84093,10 +82099,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 15 09:52:05 2011 +0200
Apply 'locl' with 'ccmp' in Arabic shaper
-
+
According to Peter Constable this is indeed what Uniscribe has been
doing for years.
-
+
Mozilla Bug 667166 - wrong shape of letter when it comes at the end of
word in the arabic version of Firefox 5.0
@@ -84113,10 +82119,8 @@ Date: Sun Aug 14 15:17:16 2011 +0200
src/Makefile.am | 43 ++++++++++++++++-------------------
src/hb-common.h | 1 +
src/hb-glib.cc | 3 ---
- src/hb-gobject.cc | 63
- +++++++++++++++++++++++++++++++++++++++++++++++++++
- src/hb-gobject.h | 68
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-gobject.cc | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-gobject.h | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
6 files changed, 163 insertions(+), 28 deletions(-)
commit 9527fb200ffbbd839334e99b51d9671752d393db
@@ -84146,8 +82150,7 @@ Date: Thu Aug 11 11:54:31 2011 +0200
util/Makefile.am | 26 +++-
util/common.cc | 40 ++++++
util/common.hh | 49 +++++++
- util/hb-view.cc | 387
- ++++---------------------------------------------------
+ util/hb-view.cc | 387 ++++---------------------------------------------------
util/options.cc | 318 +++++++++++++++++++++++++++++++++++++++++++++
util/options.hh | 86 +++++++++++++
6 files changed, 541 insertions(+), 365 deletions(-)
@@ -84186,11 +82189,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 10 16:28:38 2011 +0200
[util] Add hb-shape --shapers
-
+
If the specified shapers fail, hb-shape will fail immediately
- util/hb-view.cc | 57
- +++++++++++++++++++++++++++++++++------------------------
+ util/hb-view.cc | 57 +++++++++++++++++++++++++++++++++------------------------
1 file changed, 33 insertions(+), 24 deletions(-)
commit 0501573deda3a8dcdfcea491392f554f21ed0154
@@ -84224,8 +82226,7 @@ Date: Wed Aug 10 15:26:41 2011 +0200
[util] Port hb-view to GOption
- util/hb-view.cc | 267
- +++++++++++++++++++++++++++++++++-----------------------
+ util/hb-view.cc | 267 +++++++++++++++++++++++++++++++++-----------------------
1 file changed, 156 insertions(+), 111 deletions(-)
commit 511a136f0c092880b19250a5df53bcf9f4b043ca
@@ -84300,9 +82301,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 9 10:51:24 2011 +0200
[API] Add hb_ft_font_set_funcs(), remove hb_ft_get_font_funcs()
-
+
Remove hb_ft_get_font_funcs() as it cannot be used by the user anyway.
-
+
Add hb_ft_font_set_funcs(). Which will make the font internally use
FreeType. That is, no need for the font to have created using the
hb-ft API. Just create using hb_face_create()/hb_font_create() and
@@ -84310,8 +82311,7 @@ Date: Tue Aug 9 10:51:24 2011 +0200
internally creates an FT_Face and attached to the font.
src/Makefile.am | 4 +--
- src/hb-ft.cc | 76
- +++++++++++++++++++++++++++++++++++++++++++++++++++---
+ src/hb-ft.cc | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++---
src/hb-ft.h | 10 ++++---
src/test.cc | 7 +++++
test/Makefile.am | 8 ------
@@ -84350,7 +82350,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 9 00:43:24 2011 +0200
[API] Make set_user_data() functions take a replace parameter
-
+
We need this to set data on objects safely without worrying that some
other thread unsets it by setting it at the same time.
@@ -84375,7 +82375,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 9 00:23:58 2011 +0200
[buffer] Make API take signed int length
-
+
Since we already switched to accepting -1 as 'zero-terminated'.
src/hb-buffer.cc | 12 ++++++------
@@ -84409,8 +82409,7 @@ Date: Tue Aug 9 00:13:24 2011 +0200
[uniscribe] Cleanup backend
TODO | 2 +
- src/hb-uniscribe-shape.cc | 161
- ++++++++++++++++++++++++++++++++++------------
+ src/hb-uniscribe-shape.cc | 161 ++++++++++++++++++++++++++++++++++------------
2 files changed, 123 insertions(+), 40 deletions(-)
commit f1f848e2e46ac54ff08aca7cd83390af31c7c9ef
@@ -84427,17 +82426,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 8 23:37:41 2011 +0200
[API] Sort out get_blob API
-
+
hb_face_get_blob() renamed to hb_face_reference_blob(), returns a
reference now.
-
+
hb_face_[sg]et_index() added.
-
+
hb_face_set_upem() added.
src/hb-font-private.hh | 3 +-
- src/hb-font.cc | 67
- +++++++++++++++++++++++++++++++++++----------
+ src/hb-font.cc | 67 +++++++++++++++++++++++++++++++++++----------
src/hb-font.h | 17 ++++++++++--
src/hb-ft.cc | 3 +-
src/hb-ot-layout-private.hh | 9 ------
@@ -84463,8 +82461,7 @@ Date: Mon Aug 8 21:36:24 2011 +0200
Fix shaper ordering logic
- src/hb-shape.cc | 80
- ++++++++++++++++++++++++---------------------------------
+ src/hb-shape.cc | 80 ++++++++++++++++++++++++---------------------------------
1 file changed, 34 insertions(+), 46 deletions(-)
commit cc797e0d5368b2f5732d77eb3e3882283bd87cf7
@@ -84499,8 +82496,7 @@ commit 206e32934592b915b1f3052aecf014c6ced729e1
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Aug 7 01:10:55 2011 -0400
- [test] test-object is not FreeType-specific, move it to the right
- place
+ [test] test-object is not FreeType-specific, move it to the right place
test/Makefile.am | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
@@ -84528,7 +82524,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Aug 7 00:59:38 2011 -0400
[uniscribe] Fix shaper
-
+
It's kinda working finally!
src/hb-uniscribe-shape.cc | 9 ++++++---
@@ -84548,7 +82544,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Aug 7 00:51:50 2011 -0400
[buffer] Accept -1 for text_length and item_length
-
+
A -1 text_length means: zero-terminated string.
A -1 item_length means: to the end of string.
@@ -84560,7 +82556,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Aug 7 00:00:27 2011 -0400
Fix name-table lookup
-
+
Oops!
src/hb-ot-name-private.hh | 2 +-
@@ -84581,7 +82577,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 6 22:06:52 2011 -0400
[uniscribe] Make font selection work
-
+
Not tested yet.
src/hb-ot-name-private.hh | 37 +++++++++++++++++++++++++++++++++++++
@@ -84596,8 +82592,7 @@ Date: Fri Aug 5 20:34:50 2011 -0400
Start implementing the 'name' table
src/Makefile.am | 3 +-
- src/hb-ot-name-private.hh | 91
- +++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-name-private.hh | 91 +++++++++++++++++++++++++++++++++++++++++++++++
src/hb-uniscribe-shape.cc | 12 ++++---
3 files changed, 100 insertions(+), 6 deletions(-)
@@ -84606,7 +82601,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 5 20:11:06 2011 -0400
Skip tests by returning 77
-
+
automake test runner understands this.
src/check-internal-symbols.sh | 3 ++-
@@ -84660,7 +82655,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 5 17:54:25 2011 -0400
Fix env parsing code
-
+
Also changed the separator to comma instead of colon.
src/hb-shape.cc | 34 +++++++++++++++++++++++++---------
@@ -84671,7 +82666,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 5 17:22:19 2011 -0400
Change hb_shape() API back to what it was, add hb_shape_full()
-
+
I disliked changing hb_shape() API, and disliked the fact that it was
returning a bool now. So, reverted. Added new API for the extra
functionality.
@@ -84684,7 +82679,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 5 17:22:19 2011 -0400
Change hb_shape() API back to what it was, add hb_shape_full()
-
+
I disliked changing hb_shape() API, and disliked the fact that it was
returning a bool now. So, reverted. Added new API for the extra
functionality.
@@ -84700,31 +82695,26 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 4 22:31:05 2011 -0400
[API] Changes to main shape API
-
+
hb_shape() now accepts a shaper_options and a shaper_list argument.
- Both can be set to NULL to emulate previous API. And in most
- situations
+ Both can be set to NULL to emulate previous API. And in most situations
they are expected to be set to NULL.
-
- hb_shape() also returns a boolean for now. If shaper_list is
- NULL, the
+
+ hb_shape() also returns a boolean for now. If shaper_list is NULL, the
return value can be ignored.
-
+
shaper_options is ignored for now, but otherwise it should be a
NULL-terminated list of strings.
-
- shaper_list is a NULL-terminated list of strings. Currently
- recognized
- strings are "ot" for native OpenType Layout implementation,
- "uniscribe"
+
+ shaper_list is a NULL-terminated list of strings. Currently recognized
+ strings are "ot" for native OpenType Layout implementation, "uniscribe"
for the Uniscribe backend, and "fallback" for the non-complex backend
(that will be implemented shortly). The fallback backend never fails.
-
+
The env var HB_SHAPER_LIST is also parsed and honored. It's a
- colon-separated list of shaper names. The fallback shaper is
- invoked if
+ colon-separated list of shaper names. The fallback shaper is invoked if
none of the env-listed shapers succeed.
-
+
New API hb_buffer_guess_properties() added.
TODO | 2 -
@@ -84737,8 +82727,7 @@ Date: Thu Aug 4 22:31:05 2011 -0400
src/hb-fallback-shape.cc | 43 +++++++++++++
src/hb-ot-shape.cc | 9 ++-
src/hb-ot-shape.h | 5 +-
- src/hb-shape.cc | 135
- +++++++++++++++++++++++----------------
+ src/hb-shape.cc | 135 +++++++++++++++++++++++----------------
src/hb-shape.h | 13 ++--
src/hb-uniscribe-shape.cc | 52 ++++++---------
src/hb-uniscribe.h | 5 +-
@@ -84752,7 +82741,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 4 20:49:16 2011 -0400
Make test.cc do something more useful
-
+
Hardcoded to the uniscribe backend for now. Will fix soon.
src/test.cc | 38 ++++++++++++++++++++++++++++++++++----
@@ -84763,7 +82752,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 4 20:00:53 2011 -0400
Remove C++ guards from source files
-
+
Where causing issues for people with MSVC.
src/check-c-linkage-decls.sh | 3 +--
@@ -84880,17 +82869,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 3 19:55:04 2011 -0400
Add draft experimental Uniscribe backend
-
+
Not complete yet, font selection doesn't work. But hey it shapes!
-
+
This is not supposed to be a production backend, more like a testing
backend.
configure.ac | 9 ++
src/Makefile.am | 11 ++
src/hb-private.hh | 4 +-
- src/hb-uniscribe-shape.cc | 325
- ++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-uniscribe-shape.cc | 325 ++++++++++++++++++++++++++++++++++++++++++++++
src/hb-uniscribe.h | 46 +++++++
5 files changed, 394 insertions(+), 1 deletion(-)
@@ -84927,7 +82915,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 3 17:38:04 2011 -0400
[API] Add hb_face_get_blob()
-
+
Need to think more about it.
src/hb-font.cc | 10 ++++++++++
@@ -84939,7 +82927,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 2 14:06:51 2011 -0400
Fix fallback shaping
-
+
Broke it a few commits ago.
src/hb-ot-shape.cc | 8 +++++---
@@ -84995,7 +82983,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 2 11:25:13 2011 -0400
Bug 39763 - autogen.sh should check pkg-config availability
-
+
(and revert change have_icu change I mistakenly pushed out)
autogen.sh | 10 ++++++++--
@@ -85007,9 +82995,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 2 09:56:30 2011 -0400
Add mingw32 support
-
+
With these changes, on Ubuntu I can do:
-
+
./configure --host=i586-mingw32msvc && make
configure.ac | 1 +
@@ -85042,7 +83030,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 1 16:30:11 2011 -0400
[Indic] Disable CJCT-disabling logic
-
+
Read comment.
src/hb-ot-shape-complex-indic.cc | 7 ++++++-
@@ -85053,11 +83041,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jul 31 17:51:50 2011 -0400
[Indic] Stop looking for base upon seeing joiners
-
- Not sure where this is documented, but I remember this being the
- desired
+
+ Not sure where this is documented, but I remember this being the desired
behavior.
-
+
test-shape-complex failures are down from 48 to 46. Meh.
src/hb-ot-shape-complex-indic.cc | 11 +++++++++--
@@ -85077,7 +83064,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jul 31 15:57:00 2011 -0400
[Indic] Fix ZWJ/ZWNJ application
-
+
Not quite working just yet. False alarm re 10 failures. It was
crashing. Ouch! Back to 48 failures.
@@ -85089,11 +83076,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jul 31 15:18:57 2011 -0400
[Indic] Add Final Reordering rules into comments
-
+
Not applied yet.
- src/hb-ot-shape-complex-indic.cc | 86
- ++++++++++++++++++++++++++++++++++++++--
+ src/hb-ot-shape-complex-indic.cc | 86 ++++++++++++++++++++++++++++++++++++++--
1 file changed, 83 insertions(+), 3 deletions(-)
commit cfd4382ec1af91640129551697de36fd42c0849a
@@ -85128,13 +83114,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jul 31 13:46:44 2011 -0400
[Indic] Support ZWJ/ZWNJ
-
+
Brings test-shape-complex failures down from 52 to 10!
-
+
I hereby declare harfbuzz-ng supporting Indic!
- src/hb-ot-shape-complex-indic.cc | 57
- +++++++++++++++++++++++++++++++++-------
+ src/hb-ot-shape-complex-indic.cc | 57 +++++++++++++++++++++++++++++++++-------
1 file changed, 48 insertions(+), 9 deletions(-)
commit 9ee27a928a989c71923cef82a9e9828f8e9ca051
@@ -85151,7 +83136,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Jul 31 02:24:51 2011 -0400
Un-Ra U+09F1. According to the test suite this is correct.
-
+
But I'm not sure... Down from 54 failures to 52.
src/hb-ot-shape-complex-indic.cc | 2 +-
@@ -85180,11 +83165,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jul 30 21:08:10 2011 -0400
[Indic] For old-style Indic tables, move Halant around
-
+
In old-style Indic OT standards, the post-base Halants are moved after
their base. Emulate that by moving first post-base Halant to
post-last-consonant.
-
+
Brings test-shape-complex failures down from 88 to 54. Getting there!
src/hb-ot-map-private.hh | 3 +++
@@ -85217,11 +83202,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jul 30 20:21:40 2011 -0400
[test] Fix problem with N'ko test direction
-
- Old HarfBuzz test suite always shaped as left-to-right and hence
- had wrong
+
+ Old HarfBuzz test suite always shaped as left-to-right and hence had wrong
0x14db, direction expected glyphstring for N'ko. Doh!
-
+
Failures down from 92 to 88.
test/test-shape-complex.c | 8 ++++----
@@ -85232,7 +83216,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jul 30 20:14:44 2011 -0400
[Indic] Handle initial Ra+Halant in scripts that support Reph
-
+
Brings test-shape-complex failures down from 104 to 92. Way to go!
src/hb-ot-shape-complex-indic.cc | 10 ++++++++++
@@ -85252,7 +83236,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jul 30 19:04:02 2011 -0400
[Indic] Categorize Ra in scripts that have Reph
-
+
Is the categorization correct? I don't know.
src/hb-ot-shape-complex-indic.cc | 31 ++++++++++++++++++++++++++++++-
@@ -85263,15 +83247,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jul 30 14:44:30 2011 -0400
[Indic] Reorder matras
-
+
Number of failing shape-complex tests goes from 125 down to 94.
-
+
Next: Add Ra handling and it's fair to say we kinda support Indic :).
src/hb-ot-shape-complex-indic.cc | 29 +++++++++++++++++++++++++++--
src/hb-ot-shape-normalize.cc | 26 ++++++++++----------------
- src/hb-private.hh | 36
- ++++++++++++++++++++++++++++++------
+ src/hb-private.hh | 36 ++++++++++++++++++++++++++++++------
3 files changed, 67 insertions(+), 24 deletions(-)
commit 911bf32acad7f1cd161f666cb659990ade0925ad
@@ -85298,18 +83281,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 29 16:37:02 2011 -0400
[Indic] Apply Indic features
-
+
Find the base consonant and apply basic Indic features accordingly.
Nothing complete, but does something for now. Specifically:
no Ra handling right now, and no ZWJ/ZWNJ.
-
+
Number of failing shape-complex tests goes from 174 down to 125.
-
+
Next: reorder matras.
src/hb-ot-shape-complex-indic-machine.rl | 35 ++++--
- src/hb-ot-shape-complex-indic.cc | 209
- ++++++++++++++++++++++++++++---
+ src/hb-ot-shape-complex-indic.cc | 209 ++++++++++++++++++++++++++++---
2 files changed, 212 insertions(+), 32 deletions(-)
commit 1a1b5013159369b343d0c32df02c9c419277aead
@@ -85362,8 +83344,7 @@ Date: Thu Jul 28 16:48:43 2011 -0400
src/hb-ot-shape-complex-arabic.cc | 6 +++-
src/hb-ot-shape-complex-indic.cc | 4 +--
src/hb-ot-shape-complex-private.hh | 10 ++++++-
- src/hb-ot-shape.cc | 60
- +++++++++++++++++++++++---------------
+ src/hb-ot-shape.cc | 60 +++++++++++++++++++++++---------------
src/hb-private.hh | 1 +
9 files changed, 83 insertions(+), 57 deletions(-)
@@ -85372,7 +83353,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 28 15:42:18 2011 -0400
Move more code around
-
+
Buffer var allocation coming into shape
src/hb-buffer-private.hh | 1 +
@@ -85392,8 +83373,7 @@ Date: Mon Jul 25 20:25:44 2011 -0400
src/hb-object-private.hh | 8 +--
src/hb-open-type-private.hh | 64 ++++++--------------
src/hb-ot-layout-gsubgpos-private.hh | 2 +-
- src/hb-private.hh | 109
- +++++++++++++++++++++++++++++++----
+ src/hb-private.hh | 109 +++++++++++++++++++++++++++++++----
5 files changed, 136 insertions(+), 73 deletions(-)
commit 43ff203d8ea3e1b09e316e3aae1a4e5ec15bfdd2
@@ -85401,13 +83381,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 25 17:35:24 2011 -0400
Use variadic macros for debugging
-
+
Looks *so* much nicer!
src/hb-blob.cc | 26 ++++++++--------
src/hb-object-private.hh | 8 ++---
- src/hb-open-type-private.hh | 75
- ++++++++++++++++++++-------------------------
+ src/hb-open-type-private.hh | 75 ++++++++++++++++++++-------------------------
src/hb-private.hh | 7 +++--
4 files changed, 56 insertions(+), 60 deletions(-)
@@ -85416,13 +83395,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 25 16:47:02 2011 -0400
Add sugar syntax for debug messages
-
+
Buffer debugging coming soon.
src/hb-blob.cc | 35 +++++++++++++----------------------
src/hb-object-private.hh | 9 ++++-----
- src/hb-open-type-private.hh | 44
- ++++++++++++++++++++++----------------------
+ src/hb-open-type-private.hh | 44 ++++++++++++++++++++++----------------------
src/hb-private.hh | 7 +++++--
4 files changed, 44 insertions(+), 51 deletions(-)
@@ -85450,7 +83428,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 25 14:54:08 2011 -0400
Start cleaning up buffer var allocation
-
+
I've messed up a lot of stuff recently, different parts of the
shaping process are stumbling on eachother's toes because
manually tracking what's in which buffer var is hard. I'm
@@ -85468,8 +83446,7 @@ Date: Mon Jul 25 00:44:50 2011 -0400
Move code around
- src/hb-ot-shape.cc | 85
- +++++++++++++++++++++++++++---------------------------
+ src/hb-ot-shape.cc | 85 +++++++++++++++++++++++++++---------------------------
1 file changed, 42 insertions(+), 43 deletions(-)
commit 18c42850c9327ab4479ff150660a76d4ff6f3e9c
@@ -85477,9 +83454,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 25 00:36:58 2011 -0400
Shrink space used for ligature ids
-
- This frees 16bits in the glyph_info struct during the ot_layout
- process.
+
+ This frees 16bits in the glyph_info struct during the ot_layout process.
We can use the freed space in the shapers now.
src/hb-ot-layout-gsubgpos-private.hh | 8 ++++----
@@ -85501,8 +83477,7 @@ Date: Sat Jul 23 23:43:54 2011 -0400
Keep Unicode props updated as we go so we avoid a scan later
- src/hb-ot-shape-normalize.cc | 54
- +++++++++++++++++++++-----------------------
+ src/hb-ot-shape-normalize.cc | 54 +++++++++++++++++++++-----------------------
1 file changed, 26 insertions(+), 28 deletions(-)
commit 5389ff4dbc46c76c9483e3c95f22524b60e21166
@@ -85510,11 +83485,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 22 20:22:49 2011 -0400
Implement the Unicode Canonical Composition algorithm
-
+
Fallback normalization is complete and working now!
- src/hb-ot-shape-normalize.cc | 49
- +++++++++++++++++++++++++++++++++++++++++---
+ src/hb-ot-shape-normalize.cc | 49 +++++++++++++++++++++++++++++++++++++++++---
1 file changed, 46 insertions(+), 3 deletions(-)
commit dcdc51cdc0ba9d9fb75f84dd5fa7a49aa0b24ea0
@@ -85532,8 +83506,7 @@ Date: Fri Jul 22 17:04:20 2011 -0400
Implement Unicode Canonical Reordering Algorithm
- src/hb-ot-shape-normalize.cc | 80
- +++++++++++++++++++++++++++++++++++++-------
+ src/hb-ot-shape-normalize.cc | 80 +++++++++++++++++++++++++++++++++++++-------
src/hb-ot-shape-private.hh | 2 ++
src/hb-ot-shape.cc | 6 ++--
3 files changed, 73 insertions(+), 15 deletions(-)
@@ -85544,8 +83517,7 @@ Date: Fri Jul 22 16:15:32 2011 -0400
Decomposition works now!
- src/hb-ot-shape-normalize.cc | 109
- +++++++++++++++++++++++++++----------------
+ src/hb-ot-shape-normalize.cc | 109 +++++++++++++++++++++++++++----------------
src/hb-ot-shape.cc | 3 +-
2 files changed, 70 insertions(+), 42 deletions(-)
@@ -85556,8 +83528,7 @@ Date: Fri Jul 22 11:28:07 2011 -0400
Move buffer methods into the object
src/hb-buffer-private.hh | 110 +++----
- src/hb-buffer.cc | 605
- +++++++++++++++++------------------
+ src/hb-buffer.cc | 605 +++++++++++++++++------------------
src/hb-ot-layout-gpos-private.hh | 88 ++---
src/hb-ot-layout-gsub-private.hh | 58 ++--
src/hb-ot-layout-gsubgpos-private.hh | 50 +--
@@ -85571,8 +83542,7 @@ Date: Fri Jul 22 11:07:05 2011 -0400
More normalization kick
- src/hb-ot-shape-normalize.cc | 54
- +++++++++++++++++++++++++++++---------------
+ src/hb-ot-shape-normalize.cc | 54 +++++++++++++++++++++++++++++---------------
src/hb-ot-shape-private.hh | 8 ++++++-
src/hb-ot-shape.cc | 13 +++--------
3 files changed, 46 insertions(+), 29 deletions(-)
@@ -85581,9 +83551,8 @@ commit 63c0ef4a0763e579c9c80887bbfbd2651de05067
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 21 20:58:42 2011 -0400
- Fix decompose() implementations to work with non-starter
- non-composables
-
+ Fix decompose() implementations to work with non-starter non-composables
+
Add tests.
src/hb-glib.cc | 10 +++++-----
@@ -85597,8 +83566,7 @@ Date: Thu Jul 21 15:25:01 2011 -0400
Document normalization design
- src/hb-ot-shape-normalize.cc | 78
- +++++++++++++++++++++++++++++++++++---------
+ src/hb-ot-shape-normalize.cc | 78 +++++++++++++++++++++++++++++++++++---------
src/hb-ot-shape-private.hh | 2 +-
src/hb-ot-shape.cc | 6 ++--
3 files changed, 67 insertions(+), 19 deletions(-)
@@ -85608,9 +83576,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 21 12:23:12 2011 -0400
Add prefer_decomposed() complex-shaper callback
-
- This allows the Indic shaper to request decomposed characters.
- This will
+
+ This allows the Indic shaper to request decomposed characters. This will
handle split matra for free. Other shapers prefer precomposed
characters.
@@ -85634,7 +83601,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 21 12:13:04 2011 -0400
Remove intermittent_glyph()
-
+
Lets not worry about performance for now...
src/hb-ot-shape-normalize.cc | 3 ++-
@@ -85655,7 +83622,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 21 11:34:59 2011 -0400
Only form clusters if we are reversing
-
+
This produces more accurate cluster mappings. Cluster mappings are
minimal now. Combining marks get their own cluster value most of
the time.
@@ -85697,7 +83664,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 21 01:11:09 2011 -0400
Form clusters before ensuring native direciton
-
+
This is essential as ensure_native_direction uses cluster info that
is set by form_clusters().
@@ -85722,8 +83689,7 @@ Date: Thu Jul 21 00:51:18 2011 -0400
Towards normalization
src/Makefile.am | 1 +
- src/hb-ot-shape-normalize.cc | 71
- ++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-shape-normalize.cc | 71 ++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-shape-private.hh | 12 ++++++++
src/hb-ot-shape.cc | 10 ++-----
4 files changed, 86 insertions(+), 8 deletions(-)
@@ -85760,9 +83726,8 @@ commit 5157e12a55f943b7fc5be7dce0b2ee1bcacca6ec
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 21 00:12:33 2011 -0400
- Rename HB_UNICODE_GENERAL_CATEGORY_COMBINING_MARK to
- HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK
-
+ Rename HB_UNICODE_GENERAL_CATEGORY_COMBINING_MARK to HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK
+
Spacing_Mark is the current Unicode long-name for this property value.
The previous name was wrongly carried from glib.
@@ -85786,8 +83751,7 @@ Date: Wed Jul 20 23:19:49 2011 -0400
[icu] Implement compose()/decompose()
- src/hb-icu.cc | 87
- +++++++++++++++++++++++++++++++++++++++++++++++++++--
+ src/hb-icu.cc | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++--
test/test-unicode.c | 1 +
2 files changed, 86 insertions(+), 2 deletions(-)
@@ -85796,15 +83760,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 20 22:30:29 2011 -0400
Add tests for compose()/decompose()
-
+
Adjust glib fallback implementation.
-
+
The tests are not hooked up for ICU yet.
src/hb-glib.cc | 17 ++++++++++++--
src/hb-unicode.cc | 2 +-
- test/test-unicode.c | 66
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ test/test-unicode.c | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 82 insertions(+), 3 deletions(-)
commit fca0923b04aeff9369849da97d247a647611f346
@@ -85813,8 +83776,7 @@ Date: Wed Jul 20 22:16:13 2011 -0400
Minor
- src/hb-icu.cc | 62
- ++++++++++++++++++++++++++++++++++++-----------------------
+ src/hb-icu.cc | 62 ++++++++++++++++++++++++++++++++++++-----------------------
1 file changed, 38 insertions(+), 24 deletions(-)
commit 26b6024962b254b624d4f22088b6c87745074743
@@ -85832,8 +83794,7 @@ Date: Wed Jul 20 21:51:37 2011 -0400
[glib] Add compose() and decompose() implementations with fallback
- src/hb-glib.cc | 126
- +++++++++++++++++++++++++++++++++++++++++++-----------
+ src/hb-glib.cc | 126 +++++++++++++++++++++++++++++++++++++++++++-----------
src/hb-unicode.cc | 6 ++-
2 files changed, 106 insertions(+), 26 deletions(-)
@@ -85869,11 +83830,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 8 00:22:40 2011 -0400
Let shapers decide when to apply ccmp and locl
-
- Instead of always applying those two features before the complex
- shaper,
+
+ Instead of always applying those two features before the complex shaper,
let the complex shaper decide whether they should be applied first.
-
+
Also add stub for Indic's final_reordering().
src/hb-ot-shape-complex-arabic.cc | 2 ++
@@ -85886,14 +83846,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 7 23:47:19 2011 -0400
[API] Add compose() and decompose() unicode funcs, rename other ones
-
+
Add compose() and decompose() unicode funcs. These implement
pair-wise canonical composition/decomposition.
-
+
The glib/icu implementations are lacking for now. We are adding
API for this to glib, but I cannot find any useful API in ICU.
May end of implementing these in-house.
-
+
Changed all unicode_funcs callback names to remove the "_get" part.
Eg, hb_unicode_get_script_func_t is now hb_unicode_script_func_t,
and hb_unicode_get_script() is hb_unicode_script() now.
@@ -85904,8 +83864,7 @@ Date: Thu Jul 7 23:47:19 2011 -0400
src/hb-ot-shape.cc | 6 ++--
src/hb-shape.cc | 2 +-
src/hb-unicode-private.hh | 8 +++--
- src/hb-unicode.cc | 85
- ++++++++++++++++++++++++++++++++++-------------
+ src/hb-unicode.cc | 85 ++++++++++++++++++++++++++++++++++-------------
src/hb-unicode.h | 70 +++++++++++++++++++++++++++-----------
test/test-unicode.c | 21 +++++++-----
9 files changed, 146 insertions(+), 62 deletions(-)
@@ -85916,8 +83875,7 @@ Date: Thu Jul 7 23:42:40 2011 -0400
More code generation through preprocessor
- src/hb-ot-shape-complex-private.hh | 46
- ++++++++++++++++++++++++--------------
+ src/hb-ot-shape-complex-private.hh | 46 ++++++++++++++++++++++++--------------
1 file changed, 29 insertions(+), 17 deletions(-)
commit 891c4755baae6cd59fad59d27fd8933e5f548a74
@@ -85925,14 +83883,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 7 23:19:27 2011 -0400
Humm, undo some shuffling
-
+
In preparation for adding more advanced unicode funcs.
src/hb-ot-shape.cc | 6 ++---
src/hb-shape.cc | 2 +-
src/hb-unicode-private.hh | 36 +++++++++++++-------------
- src/hb-unicode.cc | 65
- ++++++++++++++++++++++++++++++++++-------------
+ src/hb-unicode.cc | 65 ++++++++++++++++++++++++++++++++++-------------
4 files changed, 70 insertions(+), 39 deletions(-)
commit 4b6317c4f426cfaf21e509dbf6ee6d4e0422cdac
@@ -85944,8 +83901,7 @@ Date: Thu Jul 7 23:14:42 2011 -0400
src/hb-font-private.hh | 16 +++---
src/hb-font.cc | 3 +-
src/hb-unicode-private.hh | 42 +++++++-------
- src/hb-unicode.cc | 140
- +++++++++++++++++-----------------------------
+ src/hb-unicode.cc | 140 +++++++++++++++++-----------------------------
4 files changed, 82 insertions(+), 119 deletions(-)
commit 3361c9a323575309d9fd55fe076697a3e22073c0
@@ -85955,8 +83911,7 @@ Date: Thu Jul 7 22:35:17 2011 -0400
Minor
src/Makefile.am | 1 +
- src/hb-ot-shape-complex-misc.cc | 51
- ++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-misc.cc | 51 ++++++++++++++++++++++++++++++++++++++
src/hb-ot-shape-complex-private.hh | 12 ++++++---
3 files changed, 60 insertions(+), 4 deletions(-)
@@ -85969,8 +83924,7 @@ Date: Thu Jul 7 22:25:25 2011 -0400
src/hb-ot-shape-complex-arabic.cc | 36 +++++++++++++-------------
src/hb-ot-shape-complex-indic-machine.rl | 12 ++++-----
src/hb-ot-shape-complex-indic.cc | 25 +++++++++---------
- src/hb-ot-shape-complex-private.hh | 44
- +++++++++++++++++++++-----------
+ src/hb-ot-shape-complex-private.hh | 44 +++++++++++++++++++++-----------
src/hb-ot-shape-private.hh | 13 ++--------
src/hb-ot-shape.cc | 4 +--
6 files changed, 69 insertions(+), 65 deletions(-)
@@ -86003,8 +83957,7 @@ Date: Thu Jul 7 21:22:08 2011 -0400
Refactor some code common to GSUB and GPOS
src/hb-ot-map-private.hh | 29 ++++++++++++++++++--------
- src/hb-ot-map.cc | 54
- +++++++++---------------------------------------
+ src/hb-ot-map.cc | 54 +++++++++---------------------------------------
2 files changed, 30 insertions(+), 53 deletions(-)
commit b70c96dbe41d6512b80fe3d966a1942e1ef64a4b
@@ -86012,10 +83965,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 7 21:07:41 2011 -0400
Enable applying GSUB/GPOS features in multiple segments
-
+
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=644184
among others.
-
+
Shapers now can request segmented feature application by calling
add_gsub_pause() or add_gpos_pause(). They can also provide a
callback to be called at the pause. Currently the Arabic shaper
@@ -86024,8 +83977,7 @@ Date: Thu Jul 7 21:07:41 2011 -0400
callback.
src/hb-ot-map-private.hh | 50 +++++++++++----
- src/hb-ot-map.cc | 132
- +++++++++++++++++++++++++++++++++-----
+ src/hb-ot-map.cc | 132 +++++++++++++++++++++++++++++++++-----
src/hb-ot-shape-complex-arabic.cc | 24 ++++++-
src/hb-private.hh | 5 ++
4 files changed, 181 insertions(+), 30 deletions(-)
@@ -86036,8 +83988,7 @@ Date: Thu Jul 7 16:20:35 2011 -0400
Shuffle code around
- src/hb-ot-map-private.hh | 68
- ++++++++++++++++++++++++------------------------
+ src/hb-ot-map-private.hh | 68 ++++++++++++++++++++++++------------------------
1 file changed, 34 insertions(+), 34 deletions(-)
commit fc551edbf236d71a522ae7c2c9461aa71c5f7d66
@@ -86045,7 +83996,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 7 16:09:38 2011 -0400
Add todo
-
+
I'm too lazy to fix the tests now.
test/test-shape.c | 1 +
@@ -86056,7 +84007,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 6 16:05:45 2011 -0400
Fix reverse_range() position loop
-
+
Mozilla Bug 669175 - Slow rendering of text sometimes in this case,
using direction: rtl
@@ -86077,7 +84028,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 4 12:56:38 2011 -0400
[Indic] Well, at least finding syllables works now :)
-
+
Still not much there.
src/hb-ot-shape-complex-indic-machine.rl | 4 +++-
@@ -86089,7 +84040,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 28 17:26:03 2011 -0400
[test-shape-complex] Remove the greek tests
-
+
They are outdated with respect to the DejaVu Sans I'm using.
We need to add font version checking to the tests.
@@ -86100,9 +84051,8 @@ commit afa74bf90405fb121d3132982b87762c1686d80c
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 28 17:25:17 2011 -0400
- [test-shape-complex] Print out expected and actual glyphstrings
- upon failure
-
+ [test-shape-complex] Print out expected and actual glyphstrings upon failure
+
One has to run the test with --verbose to see that right now.
test/test-shape-complex.c | 25 ++++++++++++++++++++++---
@@ -86115,8 +84065,7 @@ Date: Tue Jun 28 16:59:16 2011 -0400
[test] Name tests after their input string
test/Makefile.am | 2 +-
- test/test-shape-complex.c | 150
- ++++++++++++++++++++++++++++++----------------
+ test/test-shape-complex.c | 150 ++++++++++++++++++++++++++++++----------------
2 files changed, 100 insertions(+), 52 deletions(-)
commit 27413169782fdf79e278dd6552c8e194b3bc4eaa
@@ -86124,7 +84073,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 28 16:21:31 2011 -0400
Minor
-
+
Towards a better test runner.
test/test-shape-complex.c | 10 +++++++++-
@@ -86144,11 +84093,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 28 16:16:21 2011 -0400
[test] Remove disabled code
-
+
We'd add normalization and decomposition tests later.
- test/test-shape-complex.c | 92
- -----------------------------------------------
+ test/test-shape-complex.c | 92 -----------------------------------------------
1 file changed, 92 deletions(-)
commit 9704f0ca6c2defed52640da77506c80bc67b4f56
@@ -86157,8 +84105,7 @@ Date: Tue Jun 28 16:15:46 2011 -0400
[test] Restructure shape test data a bit
- test/test-shape-complex.c | 75
- +++++++++++++++++++++++++++--------------------
+ test/test-shape-complex.c | 75 +++++++++++++++++++++++++++--------------------
1 file changed, 43 insertions(+), 32 deletions(-)
commit 4ec30aec3014be6effc09cbbc88dcd075f3826df
@@ -86178,8 +84125,7 @@ Date: Tue Jun 28 14:03:29 2011 -0400
[Indic] Generate a single data table instead of multiple ones
src/gen-indic-table.py | 30 +++++++++-------
- src/hb-ot-shape-complex-indic-table.hh | 62
- ++++++++++++++++------------------
+ src/hb-ot-shape-complex-indic-table.hh | 62 ++++++++++++++++------------------
2 files changed, 48 insertions(+), 44 deletions(-)
commit a346e923a99f920bbebc25b335db51fdfb1429ea
@@ -86187,15 +84133,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jun 28 12:49:18 2011 -0400
[test] Add Indic tests from harfbuzz.old
-
+
Needs fonts to be put in test/fonts. Tests are skipped otherwise.
Run with --verbose for details. Working on improving the test runner
to make it easier to make sense of what's going on.
test/Makefile.am | 11 +-
test/hb-test.h | 21 +
- test/test-shape-complex.c | 1179
- +++++++++++++++++++++++++++++++++++++++++++++
+ test/test-shape-complex.c | 1179 +++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 1209 insertions(+), 2 deletions(-)
commit 8fdba506f0f1c66b50f8f4b114d624cb956d03b7
@@ -86204,8 +84149,7 @@ Date: Fri Jun 24 20:45:55 2011 -0400
[Indic] Define indic_position_t
- src/hb-ot-shape-complex-indic.cc | 239
- ++++++++++++++++++++-------------------
+ src/hb-ot-shape-complex-indic.cc | 239 ++++++++++++++++++++-------------------
1 file changed, 122 insertions(+), 117 deletions(-)
commit 65988a145b4a52c37fd53c1473034f9e701f61d9
@@ -86213,12 +84157,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 24 19:05:52 2011 -0400
[Indic] Add a table of consonant positions
-
+
Copied form HarfBuzz.old Indic data. These are below and post
consonants. This is temporary. Read the comment in the patch.
- src/hb-ot-shape-complex-indic.cc | 106
- +++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-indic.cc | 106 +++++++++++++++++++++++++++++++++++++++
1 file changed, 106 insertions(+)
commit c7fe56a1d5d3e969b6ec51cd9ecd471706a19568
@@ -86228,8 +84171,7 @@ Date: Fri Jun 24 19:05:34 2011 -0400
[Indic] Some of the basic features are global; Mark them so
src/hb-ot-shape-complex-indic-machine.rl | 1 +
- src/hb-ot-shape-complex-indic.cc | 48
- ++++++++++++++++++++++----------
+ src/hb-ot-shape-complex-indic.cc | 48 ++++++++++++++++++++++----------
2 files changed, 35 insertions(+), 14 deletions(-)
commit 867361c3ad39629a8d5b7dc48d558a1c19e37d43
@@ -86237,12 +84179,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jun 17 18:35:46 2011 -0400
[indic] Add syllable recognition state machine
-
+
Using an incredible tool called Ragel.
src/Makefile.am | 5 ++
- src/hb-ot-shape-complex-indic-machine.rl | 105
- +++++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-indic-machine.rl | 105 +++++++++++++++++++++++++++++++
src/hb-ot-shape-complex-indic.cc | 21 +++++--
3 files changed, 125 insertions(+), 6 deletions(-)
@@ -86251,11 +84192,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jun 15 17:22:48 2011 -0400
Better categorize Indic character classes
-
+
Matches OT types now.
- src/hb-ot-shape-complex-indic.cc | 51
- +++++++++++++++++++++++++---------------
+ src/hb-ot-shape-complex-indic.cc | 51 +++++++++++++++++++++++++---------------
1 file changed, 32 insertions(+), 19 deletions(-)
commit 31f18abecb149f8888a72510f2660328dd6de16d
@@ -86319,8 +84259,7 @@ Date: Mon Jun 13 16:02:18 2011 -0400
Cosmetic
src/gen-indic-table.py | 9 +-
- src/hb-ot-shape-complex-indic-table.hh | 1038
- ++++++++++++++++----------------
+ src/hb-ot-shape-complex-indic-table.hh | 1038 ++++++++++++++++----------------
2 files changed, 524 insertions(+), 523 deletions(-)
commit 902ab866f2d2edc3a71c1203065e6ddf49e5b431
@@ -86338,8 +84277,7 @@ Date: Tue Jun 7 17:02:48 2011 -0400
More Indic data shuffling
- src/hb-ot-shape-complex-indic.cc | 74
- +++++++++++++++++++++++++++-------------
+ src/hb-ot-shape-complex-indic.cc | 74 +++++++++++++++++++++++++++-------------
1 file changed, 50 insertions(+), 24 deletions(-)
commit 63b177e45c2405272da3fa6c26fe11ae37950bd0
@@ -86356,21 +84294,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jun 2 17:43:12 2011 -0400
[Indic] Start an Indic shaper
-
+
Nothing functional in there yet.
-
- So far, we're parsing IndicSyllabicCategory.txt and
- IndicMatraCategory.txt
- fils from Unicode Character Database and store them in an array to
- be used
+
+ So far, we're parsing IndicSyllabicCategory.txt and IndicMatraCategory.txt
+ fils from Unicode Character Database and store them in an array to be used
by the shaper. Also hooked up the shaper, but it does not do anything
right now.
src/Makefile.am | 3 +
src/gen-indic-table.py | 201 ++++++++
src/hb-ot-shape-complex-arabic.cc | 4 +-
- src/hb-ot-shape-complex-indic-table.hh | 834
- +++++++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-indic-table.hh | 834 +++++++++++++++++++++++++++++++++
src/hb-ot-shape-complex-indic.cc | 141 ++++++
src/hb-ot-shape-complex-private.hh | 58 ++-
src/hb-ot-shape-private.hh | 3 +-
@@ -86392,8 +84327,7 @@ Date: Wed Jun 1 20:45:14 2011 -0400
Update to ArabicShaping-6.1.0d2.txt
- src/hb-ot-shape-complex-arabic-table.hh | 307
- ++++++++++++++++++++------------
+ src/hb-ot-shape-complex-arabic-table.hh | 307 ++++++++++++++++++++------------
1 file changed, 197 insertions(+), 110 deletions(-)
commit 9d49433efba2217852f4e44f056465b451961c49
@@ -86421,12 +84355,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 31 15:18:13 2011 -0400
[Vertical] Apply vertical features
-
+
We apply all of vert, vrt2, vkrn, valt, and vpal.
TODO | 7 -------
- src/hb-ot-shape.cc | 50
- +++++++++++++++++++++++++++++++++++++++++---------
+ src/hb-ot-shape.cc | 50 +++++++++++++++++++++++++++++++++++++++++---------
2 files changed, 41 insertions(+), 16 deletions(-)
commit 0c6a9767c812c00f2a6a02d9f43f4694e1f43815
@@ -86443,9 +84376,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 31 12:33:11 2011 -0400
Fix TTC header handling
-
+
Also change the Version type to avoid similar bugs in the future.
-
+
Reported by Grigori Goronzy.
src/hb-open-file-private.hh | 6 +++---
@@ -86458,9 +84391,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 30 11:08:40 2011 -0400
Fixed inifinite loop introduced in 7403e055cd1463f
-
+
k is the index, not j.
-
+
Reported by Tom Hacohen.
src/hb-ot-layout-gpos-private.hh | 4 ++--
@@ -86481,11 +84414,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 27 18:13:31 2011 -0400
[OT] Separate map_builder from the actual map
-
+
Respectively, separate planner from the actual plan.
- src/hb-ot-map-private.hh | 121
- ++++++++++++++++++++-----------------
+ src/hb-ot-map-private.hh | 121 ++++++++++++++++++++-----------------
src/hb-ot-map.cc | 33 +++++-----
src/hb-ot-shape-complex-arabic.cc | 6 +-
src/hb-ot-shape-complex-private.hh | 8 +--
@@ -86529,8 +84461,7 @@ Date: Fri May 27 15:58:54 2011 -0400
src/Makefile.am | 7 +++++++
src/check-c-linkage-decls.sh | 6 +++++-
src/check-header-guards.sh | 8 +++++++-
- src/check-includes.sh | 42
- ++++++++++++++++++++++++++++++++++++++++++
+ src/check-includes.sh | 42 ++++++++++++++++++++++++++++++++++++++++++
src/check-internal-symbols.sh | 8 ++++----
src/check-libstdc++.sh | 7 ++++---
src/hb-ot-shape.h | 1 +
@@ -86577,14 +84508,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 25 16:08:06 2011 -0400
Release 0.6.0. First official tarball release!
-
+
There are no API guarantees just yet, but I *expect* that no
incompatible API changes to happen before 1.0.0.
-
+
Update NEWS.
- NEWS | 262
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ NEWS | 262 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
configure.ac | 2 +-
2 files changed, 263 insertions(+), 1 deletion(-)
@@ -86593,7 +84523,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 27 03:38:46 2011 -0400
[test-common] Test hb_direction_to_string()
-
+
Caught by "make check-symbols".
test/test-common.c | 6 ++++++
@@ -86604,7 +84534,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 27 03:38:30 2011 -0400
[test] Rename test-symbols to check-symbols
-
+
Shows undocumented symbols.
test/Makefile.am | 37 +++++++++++++++++++++----------------
@@ -86624,7 +84554,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 27 02:46:28 2011 -0400
[test/unicode] Fix double-free
-
+
Caught by "make check-valgrind".
test/Makefile.am | 2 +-
@@ -86636,15 +84566,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 27 02:44:29 2011 -0400
[test] Switch to automake-based test-runner
-
+
Adds check-valgrind among other modes. We do not run under gtester by
default anymore.
Makefile.am | 2 +
test/.valgrind-suppressions | 0
test/Makefile.am | 48 ++++++++++++++++++++++--
- test/Makefile.decl | 90
- ---------------------------------------------
+ test/Makefile.decl | 90 ---------------------------------------------
4 files changed, 47 insertions(+), 93 deletions(-)
commit adbc97ddde27cf609d95d3249f3ea8060a6e1d20
@@ -86652,7 +84581,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 27 01:33:18 2011 -0400
[test] Add test-symbols that checks API symbol text coverage
-
+
We're not at 100% coverage yet, so do not enable the test by default.
test/Makefile.am | 21 +++++++++++++++++++++
@@ -86665,8 +84594,7 @@ Date: Fri May 27 01:00:55 2011 -0400
[test/version] Test hb-version.h
test/Makefile.am | 1 +
- test/test-version.c | 80
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ test/test-version.c | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 81 insertions(+)
commit 329c15714be90d3fc2d9054f80cb14fa325dc959
@@ -86674,7 +84602,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 25 16:07:07 2011 -0400
Add libtool versioning
-
+
The versioning is automatic. For now, soname-major is 0. With
the 1.0.0 release it will jump to 1 and stay there forever.
@@ -86708,13 +84636,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 25 11:27:33 2011 -0400
[API] One last font-funcs API change
-
+
Now that vertical text works correctly, I'm doing a last round
modification of the font-funcs API to simplify. Expect no more
changes around here.
- src/hb-font.cc | 107
- ++++++++++++++++++------------------------------------
+ src/hb-font.cc | 107 ++++++++++++++++++------------------------------------
src/hb-font.h | 50 +++++++++++--------------
src/hb-ft.cc | 26 ++++++-------
test/test-font.c | 27 +++++++-------
@@ -86727,8 +84654,7 @@ Date: Wed May 25 11:01:32 2011 -0400
[test] Update to API changes
- test/test-font.c | 72
- ++++++++++++++++++++++---------------------------------
+ test/test-font.c | 72 ++++++++++++++++++++++---------------------------------
test/test-shape.c | 35 +++++++++++++--------------
2 files changed, 44 insertions(+), 63 deletions(-)
@@ -86737,16 +84663,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 24 21:04:15 2011 -0400
[Vertical] fix vertical gpos
-
+
Wow, it took me a few days to find the right fix!
-
+
We now set the advance for attached marks to zero, but we
do this in the _finish() state of gpos, so it shouldn't
regress with fonts like DejaVuSansMono that explicitly
decrease the mark advance width to set it to zero.
- src/hb-ot-layout-gpos-private.hh | 167
- +++++++++++++++++++++++----------------
+ src/hb-ot-layout-gpos-private.hh | 167 +++++++++++++++++++++++----------------
src/hb-ot-shape.cc | 9 ++-
2 files changed, 103 insertions(+), 73 deletions(-)
@@ -86763,8 +84688,7 @@ commit 3b0bb855e011099f1a4c77ffc5214c658e280b2d
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 20 15:59:59 2011 -0400
- [Vertical] GPOS x/y advance adjustments only apply in hori/vert
- respectively
+ [Vertical] GPOS x/y advance adjustments only apply in hori/vert respectively
src/hb-ot-layout-gpos-private.hh | 31 +++++++++++++++++++++----------
1 file changed, 21 insertions(+), 10 deletions(-)
@@ -86794,8 +84718,7 @@ Date: Thu May 19 18:46:15 2011 -0400
[Vertical] GPOS is always done with horizontal origin
src/hb-font-private.hh | 4 +-
- src/hb-font.cc | 187
- ++++++++++++++++++---------------------
+ src/hb-font.cc | 187 ++++++++++++++++++---------------------
src/hb-font.h | 53 ++++++-----
src/hb-ft.cc | 47 ++++------
src/hb-ot-layout-gdef-private.hh | 18 ++--
@@ -86809,9 +84732,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 19 13:08:00 2011 -0400
More vertical
-
+
Starting to get there, but not without yet another round of changes.
-
+
I think I know wheere to go now.
src/hb-font.cc | 44 ++++++++++++++++++++++++++++++++------------
@@ -86825,7 +84748,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 18 10:17:02 2011 -0400
[hb-view] Add --annotate
-
+
Currently it only marks glyph origins.
src/hb-view.cc | 20 +++++++++++++++++++-
@@ -86836,7 +84759,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 17 23:31:00 2011 -0400
Vertical: Adjust origin in glyph_extents() and glyph_contour_point()
-
+
The base for vertical is almost ready now.
src/hb-font.cc | 12 ++++++++----
@@ -86848,8 +84771,7 @@ Date: Tue May 17 23:27:22 2011 -0400
Cosmetic
- src/hb-font.cc | 114
- ++++++++++++++++++++++++++++-----------------------------
+ src/hb-font.cc | 114 ++++++++++++++++++++++++++++-----------------------------
src/hb-ft.cc | 36 +++++++++---------
2 files changed, 74 insertions(+), 76 deletions(-)
@@ -86867,13 +84789,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 17 17:55:03 2011 -0400
[API] Vertical support, take 2
-
+
I like this API *much* better. Implementation still incomplete, but
horizontal works.
src/hb-font-private.hh | 7 +-
- src/hb-font.cc | 185
- +++++++++++++++++++++++----------------
+ src/hb-font.cc | 185 +++++++++++++++++++++++----------------
src/hb-font.h | 109 ++++++++++++-----------
src/hb-ft.cc | 66 ++++++++------
src/hb-ot-layout-gdef-private.hh | 2 +-
@@ -86886,13 +84807,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 16 18:15:37 2011 -0400
[API] Add support for vertical text
-
+
Design not final yet, and in fact I'm going to change it immediately,
but this is an standalone change for itself.
src/hb-font-private.hh | 35 ++--
- src/hb-font.cc | 387
- +++++++++++++++++++++++++----------
+ src/hb-font.cc | 387 +++++++++++++++++++++++++----------
src/hb-font.h | 164 +++++++++++----
src/hb-ft.cc | 227 +++++++++++++-------
src/hb-ot-layout-gdef-private.hh | 2 +-
@@ -86919,7 +84839,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 17 15:05:34 2011 -0400
Check for mmap()
-
+
Apparently there exist systems with mprotect(), but not mmap()?
configure.ac | 2 +-
@@ -87008,13 +84928,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 13 22:46:36 2011 -0400
[test/test-ot-tag] Test hb-ot-tag.h, fix many bugs
-
+
I'm in awe with how many bugs this test revealed. All fixed.
src/hb-ot-tag.cc | 153 +++++++++++++++++++++---------------
test/Makefile.am | 3 +
- test/test-ot-tag.c | 227
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ test/test-ot-tag.c | 227 +++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 320 insertions(+), 63 deletions(-)
commit 1368018b475c2a6dd5f625af99695ae2fcba1f05
@@ -87053,7 +84972,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 12 15:14:13 2011 -0400
[API] Make get_glyph() callback return a boolean
-
+
We need to know whether the glyph exists, so we can fallback to
composing / decomposing. Assuming that glyph==0 means "doesn't exist"
wouldn't work for applications like Pango that want to use different
@@ -87081,9 +85000,8 @@ commit 805af72405a2f653f08de392d7172291ffe8e902
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 12 12:39:40 2011 -0400
- Rename get_kernings() arguments from first/second_glyph to
- left/right_glyph
-
+ Rename get_kernings() arguments from first/second_glyph to left/right_glyph
+
Makes it clear that kerning is in visual order.
src/hb-font.cc | 10 +++++-----
@@ -87097,8 +85015,7 @@ Date: Thu May 12 10:53:57 2011 -0400
[test] Add test-shape.c. Oops
- test/test-shape.c | 125
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ test/test-shape.c | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 125 insertions(+)
commit c098c3acc8c48b4b6883c50c9a87e81dbe98ba24
@@ -87106,7 +85023,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 12 10:49:30 2011 -0400
[test/blob] Use MAP_ANON instead of MAP_ANONYMOUS
-
+
More portable.
test/test-blob.c | 2 +-
@@ -87126,7 +85043,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 12 01:19:39 2011 -0400
[object] Make object inert during destruction
-
+
Such that user_data and other finalizers cannot resurrect object
src/hb-object-private.hh | 2 ++
@@ -87146,7 +85063,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 12 00:46:57 2011 -0400
Fix font subclass chainup
-
+
Test passing now.
src/hb-font.cc | 6 +-----
@@ -87158,8 +85075,7 @@ Date: Thu May 12 00:35:12 2011 -0400
[test/font] Test font_funcs subclassing
- test/test-font.c | 158
- +++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ test/test-font.c | 158 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 155 insertions(+), 3 deletions(-)
commit 14f1e81b77971204e9325e2a8b6f8b690fac20a7
@@ -87168,8 +85084,7 @@ Date: Thu May 12 00:18:28 2011 -0400
[test/font] Test empty funcs
- test/test-font.c | 75
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ test/test-font.c | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 73 insertions(+), 2 deletions(-)
commit 2ca0b5ae1e65d3f43df3a4a2144a1451d8b485c4
@@ -87178,8 +85093,7 @@ Date: Wed May 11 23:57:36 2011 -0400
[test/font] Test more
- test/test-font.c | 63
- ++++++++++++++++++++++++++++++++++++++++++++++++--------
+ test/test-font.c | 63 ++++++++++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 54 insertions(+), 9 deletions(-)
commit 7033518f756490e9cf00b96387fee6f2f7fae785
@@ -87247,8 +85161,7 @@ Date: Wed May 11 23:05:02 2011 -0400
[test/font] Add test_font_properties()
- test/test-font.c | 85
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ test/test-font.c | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 85 insertions(+)
commit da603e80386b41b360acb070a862b6ed87da57b8
@@ -87259,8 +85172,7 @@ Date: Wed May 11 22:52:35 2011 -0400
test/Makefile.am | 1 +
test/test-buffer.c | 2 +-
- test/test-font.c | 69
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ test/test-font.c | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++
test/test-unicode.c | 1 +
4 files changed, 72 insertions(+), 1 deletion(-)
@@ -87349,8 +85261,7 @@ Date: Wed May 11 21:27:52 2011 -0400
Streamline mutex stuff
- src/hb-mutex-private.hh | 61
- ++++++++++++++++++++++++++++++-------------------
+ src/hb-mutex-private.hh | 61 ++++++++++++++++++++++++++++++-------------------
src/hb-private.hh | 8 +++++++
2 files changed, 46 insertions(+), 23 deletions(-)
@@ -87403,7 +85314,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 11 18:06:12 2011 -0400
[API] Add HB_UNTAG()
-
+
Useful in C API only.
src/hb-common.h | 1 +
@@ -87423,7 +85334,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 11 14:30:56 2011 -0400
Plug more leaks
-
+
All good now.
src/hb-blob.cc | 2 +-
@@ -87466,15 +85377,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 11 10:31:33 2011 -0400
Add maxp table
-
- Not used for anything right now. Will use to get num_glyphs in
- the future.
+
+ Not used for anything right now. Will use to get num_glyphs in the future.
src/Makefile.am | 1 +
src/hb-ot-head-private.hh | 1 -
src/hb-ot-layout.cc | 1 +
- src/hb-ot-maxp-private.hh | 68
- +++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-maxp-private.hh | 68 +++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 70 insertions(+), 1 deletion(-)
commit e0b0710ae52bcc8c6fbd87dfae83818faa5d5f5f
@@ -87491,13 +85400,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 11 00:24:34 2011 -0400
[API] Change signature of get_contour_point and get_kerning ffuncs
-
+
get_contour_point now takes glyph id before point_index.
-
+
get_kerning now takes a vector to fill-in.
- src/hb-font.cc | 56
- +++++++++++++++++++++-------------------
+ src/hb-font.cc | 56 +++++++++++++++++++++-------------------
src/hb-font.h | 16 +++++++-----
src/hb-ft.cc | 11 +++++---
src/hb-ot-layout-gdef-private.hh | 2 +-
@@ -87536,8 +85444,7 @@ Date: Wed May 11 00:02:02 2011 -0400
src/hb-font.cc | 6 +-
src/hb-ot-layout-common-private.hh | 8 +--
src/hb-ot-layout-gdef-private.hh | 34 +++++-----
- src/hb-ot-layout-gpos-private.hh | 121
- ++++++++++++++++++-----------------
+ src/hb-ot-layout-gpos-private.hh | 121 ++++++++++++++++++-----------------
src/hb-ot-layout-gsub-private.hh | 24 +++----
src/hb-ot-layout-gsubgpos-private.hh | 11 ++--
src/hb-ot-layout-private.hh | 13 ----
@@ -87561,8 +85468,7 @@ Date: Tue May 10 20:41:13 2011 -0400
[API] Pass down closure user_data to font funcs
src/hb-font-private.hh | 30 ++++++--
- src/hb-font.cc | 184
- +++++++++++++++++++++++++------------------------
+ src/hb-font.cc | 184 +++++++++++++++++++++++++------------------------
src/hb-font.h | 42 ++++++-----
src/hb-ft.cc | 103 ++++++++++++++-------------
4 files changed, 198 insertions(+), 161 deletions(-)
@@ -87591,7 +85497,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 10 20:02:49 2011 -0400
[API] Add hb_font_create_sub_font() and hb_font_get_parent()
-
+
Not quite useful just yet.
src/hb-font-private.hh | 1 +
@@ -87605,9 +85511,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 10 19:57:00 2011 -0400
[font] Fix internal sign of x/y_scale
-
- Should have been done as part of
- da975419884a535281745f30f4b32fee0bc8a7a1
+
+ Should have been done as part of da975419884a535281745f30f4b32fee0bc8a7a1
src/hb-font-private.hh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -87656,16 +85561,14 @@ commit 45bfa99034512e886d75b1d45a5a649647f4711f
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 10 19:12:49 2011 -0400
- Fix set implementation to be truly threadsafe even with destroy()
- callbacks
-
+ Fix set implementation to be truly threadsafe even with destroy() callbacks
+
The test/object test is passing again, instead of deadlocking.
src/hb-common.cc | 26 +++++------
src/hb-mutex-private.hh | 47 +++++++------------
src/hb-object-private.hh | 6 ++-
- src/hb-private.hh | 117
- ++++++++++++++++++++++++++++++++++++++---------
+ src/hb-private.hh | 117 ++++++++++++++++++++++++++++++++++++++---------
4 files changed, 128 insertions(+), 68 deletions(-)
commit 0c2ec1d78bfa0166ffd4afc204c2668d4f456ed9
@@ -87673,7 +85576,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 10 19:11:27 2011 -0400
[test] Always initialize gthread such that our mutex() stuff is tested
-
+
Now the test/object test deadlocks as expected. Fix coming.
configure.ac | 1 +
@@ -87685,12 +85588,10 @@ commit 6a9093cc486c1899197cd7cc9a3eb907c2e756f7
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 10 19:00:07 2011 -0400
- [test/object] Test user_data with destroy() callback that calls
- user_data
-
+ [test/object] Test user_data with destroy() callback that calls user_data
+
Exposes the non-atomicity of user_data opertaions at this time because
- we call finish() while still locked and modifying the object.
- In fact,
+ we call finish() while still locked and modifying the object. In fact,
I'm surprised that it doesn't deadlock. It should.
test/test-object.c | 22 ++++++++++++++++++++++
@@ -87731,8 +85632,7 @@ Date: Tue May 10 17:37:08 2011 -0400
[test] Test blob API
test/Makefile.am | 1 +
- test/test-blob.c | 280
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ test/test-blob.c | 280 +++++++++++++++++++++++++++++++++++++++++++++++++++++
test/test-buffer.c | 149 ++++++++++++++--------------
3 files changed, 359 insertions(+), 71 deletions(-)
@@ -87743,8 +85643,7 @@ Date: Fri May 6 22:28:26 2011 -0400
[API] Simplify blob API, remove lock
TODO | 2 -
- src/hb-blob.cc | 206
- ++++++++++++++++++--------------------------
+ src/hb-blob.cc | 206 ++++++++++++++++++--------------------------
src/hb-blob.h | 19 ++--
src/hb-font.cc | 2 -
src/hb-open-type-private.hh | 32 ++++---
@@ -87795,14 +85694,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 6 00:04:28 2011 -0400
[API] Add hb_language_get_default()
-
+
It uses locale information to detect default language. It's used by
hb_shape() whenever language is not set on the buffer.
-
- Not sure how to properly test it in the test suite. Tested by
- observing
- that with DejaVu Sans we select the proper local glyph version
- for U+431
+
+ Not sure how to properly test it in the test suite. Tested by observing
+ that with DejaVu Sans we select the proper local glyph version for U+431
under Serbian locale. See http://www.pango.org/ScriptGallery
src/hb-common.cc | 21 +++++++++++++++++++++
@@ -87816,17 +85713,16 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 5 21:31:04 2011 -0400
[API] Add version macros and functions
-
+
Step version up to 0.5.0.
-
+
Also, fix to pass "make distcheck"
configure.ac | 24 ++++++++++++-----
src/Makefile.am | 9 +++++++
src/check-c-linkage-decls.sh | 2 +-
src/hb-common.cc | 29 +++++++++++++++++++++
- src/hb-version.h.in | 62
- ++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-version.h.in | 62 ++++++++++++++++++++++++++++++++++++++++++++
src/hb.h | 1 +
test/Makefile.am | 2 ++
7 files changed, 122 insertions(+), 7 deletions(-)
@@ -87836,9 +85732,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 5 19:47:59 2011 -0400
Add disable-static libtool flag
-
- No one who builds harfbuzz static uses the autotools build system
- to do it.
+
+ No one who builds harfbuzz static uses the autotools build system to do it.
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -87848,7 +85743,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 5 19:47:12 2011 -0400
Remove win32-dll libtool flag
-
+
Since we're not win32-dll clean the way libtool docs define it.
configure.ac | 2 +-
@@ -87870,8 +85765,7 @@ Date: Thu May 5 16:24:42 2011 -0400
Fix build with older glib
configure.ac | 2 +-
- test/hb-test.h | 55
- +++++++++++++++++++++++++++++++++----------------------
+ test/hb-test.h | 55 +++++++++++++++++++++++++++++++++----------------------
2 files changed, 34 insertions(+), 23 deletions(-)
commit 3935af1c0d0f53a5fd6054e1ee219f3adda42dca
@@ -87879,7 +85773,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 5 16:09:45 2011 -0400
[buffer] Remove wrong optimization
-
+
While the cluster fields of the glyph string are usually sorted, they
wouldn't be in special cases (for example for non-native direction).
Blindly using bsearch is plain wrong. If we want to reintroduce this
@@ -87894,7 +85788,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 5 15:33:19 2011 -0400
Make user_data access threadsafe
-
+
For now, by taking a global user_data mutex.
src/hb-common.cc | 25 +++++++++++++++++++++++--
@@ -87916,7 +85810,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 5 15:14:04 2011 -0400
Use threadsafe set implementation for hb_language lookups
-
+
Note that the static variable has to be a global static, as gcc
implements local statics differently and that would require linking
to libstdc++, which we don't want.
@@ -87930,8 +85824,7 @@ Date: Thu May 5 15:07:54 2011 -0400
Add hb_threadsafe_set_t
- src/hb-mutex-private.hh | 54
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-mutex-private.hh | 54 +++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-private.hh | 3 +--
2 files changed, 55 insertions(+), 2 deletions(-)
@@ -87941,8 +85834,7 @@ Date: Thu May 5 15:00:43 2011 -0400
Use hb_array_t for hb_language_t mapping
- src/hb-common.cc | 48
- ++++++++++++++++++++++--------------------------
+ src/hb-common.cc | 48 ++++++++++++++++++++++--------------------------
src/hb-object-private.hh | 4 ++--
src/hb-private.hh | 19 +++++++++++++++----
3 files changed, 39 insertions(+), 32 deletions(-)
@@ -87972,8 +85864,7 @@ Date: Thu May 5 14:38:16 2011 -0400
Replace fixed-size lookup_maps array with hb_array_t
src/hb-ot-map-private.hh | 13 +++++--------
- src/hb-ot-map.cc | 47
- +++++++++++++++++++++++++----------------------
+ src/hb-ot-map.cc | 47 +++++++++++++++++++++++++----------------------
src/hb-private.hh | 6 ++----
3 files changed, 32 insertions(+), 34 deletions(-)
@@ -88016,8 +85907,7 @@ Date: Thu May 5 13:21:04 2011 -0400
Replace hb_map_t with hb_set_t which is more intuitive and flexible
src/hb-object-private.hh | 24 ++++++++++++++----------
- src/hb-private.hh | 44
- +++++++++++++++++---------------------------
+ src/hb-private.hh | 44 +++++++++++++++++---------------------------
test/test-object.c | 4 ++++
3 files changed, 35 insertions(+), 37 deletions(-)
@@ -88036,7 +85926,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 5 00:21:16 2011 -0400
Make hb_mutex_*() macros take a pointer
-
+
More intuitive.
src/hb-blob.cc | 28 ++++++++++++++--------------
@@ -88057,7 +85947,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 4 19:27:37 2011 -0400
Move code around
-
+
Mutex (and Windows.h by extension) are fairly isolated now.
src/Makefile.am | 8 ++--
@@ -88065,8 +85955,7 @@ Date: Wed May 4 19:27:37 2011 -0400
src/hb-blob.cc | 24 ++++++++++-
src/hb-font-private.hh | 3 --
src/hb-font.cc | 12 +++---
- src/hb-mutex-private.hh | 105
- +++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-mutex-private.hh | 105 +++++++++++++++++++++++++++++++++++++++++++++++
src/hb-object-private.hh | 33 ++-------------
src/hb-unicode.cc | 1 -
8 files changed, 141 insertions(+), 105 deletions(-)
@@ -88076,7 +85965,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 3 01:03:53 2011 -0400
[ft] Fix font->face handling
-
+
Don't use _cached()
src/hb-ft.cc | 7 +++++--
@@ -88087,16 +85976,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 3 00:49:06 2011 -0400
Move Win32 thread-safety stuff to hb-object-private.h
-
+
The Win32 definitions for LONG, ULONG, etc conflicts with
hb-open-type.h. Avoid that by making sure hb-object-private.h
and hb-open-type.h are not included in the same compilation unit.
src/hb-common.cc | 54 ---------------------------------------
- src/hb-object-private.hh | 66
- ++++++++++++++++++++++++++++++++++++++++++++++++
- src/hb-private.hh | 66
- ------------------------------------------------
+ src/hb-object-private.hh | 66 ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-private.hh | 66 ------------------------------------------------
3 files changed, 66 insertions(+), 120 deletions(-)
commit 266b34418c9bbe23ccaf29cb354b58c465fa3b22
@@ -88104,12 +85991,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 3 00:35:53 2011 -0400
Refactor to keep hb-object-private.h and hb-open-type.h separate
-
+
Needed to be able to include <Windows.h> from hb-object-private.h.
src/hb-font.cc | 19 ++++----------
- src/hb-ot-layout-private.hh | 60
- +++++++++++++++++++++++++--------------------
+ src/hb-ot-layout-private.hh | 60 +++++++++++++++++++++++++--------------------
src/hb-ot-layout.cc | 28 ++++++++++++++++++---
3 files changed, 63 insertions(+), 44 deletions(-)
@@ -88118,9 +86004,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 3 00:19:18 2011 -0400
[blob] Implement sub_blob() in terms of create()
-
+
Fixes problem with uninitialized sub_blob->mutex among other things.
-
+
Reported by Bradley Grainger.
src/hb-blob.cc | 12 +++++-------
@@ -88131,11 +86017,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 3 00:09:16 2011 -0400
Implement win32 thread-safety stuff
-
+
Patch from Bradley Grainger.
- src/hb-common.cc | 54
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-common.cc | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-private.hh | 30 +++++++++++++++++++++++++-----
2 files changed, 79 insertions(+), 5 deletions(-)
@@ -88144,7 +86029,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 2 20:57:28 2011 -0400
Add hb_mutex_free() and use it
-
+
Based on patch by Bradley Grainger.
src/hb-blob.cc | 1 +
@@ -88167,8 +86052,7 @@ Date: Mon May 2 20:46:32 2011 -0400
[API] Make hb_font_create() take a face and reference it
src/hb-font-private.hh | 2 ++
- src/hb-font.cc | 42
- +++++++++++++++++++++++++---------------
+ src/hb-font.cc | 42 +++++++++++++++++++++++++---------------
src/hb-font.h | 26 ++++++++++++++-----------
src/hb-ft.cc | 7 +------
src/hb-ot-layout-gdef-private.hh | 2 +-
@@ -88198,7 +86082,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 2 19:54:29 2011 -0400
Fix bug in array growth implementation
-
+
With this, test/object is now passing. Yay!
src/hb-private.hh | 24 +++++++++++-------------
@@ -88227,13 +86111,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 2 19:52:47 2011 -0400
[test/object] Add test for object lifecycle stuff
-
+
Revealed many bugs in the (untested and known buggy) user_data
support.
test/Makefile.am | 4 +
- test/test-object.c | 316
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ test/test-object.c | 316 +++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 320 insertions(+)
commit f74d6c81f14f117b3cecfb65f0d5df22849c9a07
@@ -88270,8 +86153,7 @@ commit e87867cb88280e3f3a38d829e359cb686168b2cb
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 2 19:35:05 2011 -0400
- [buffer] Fail in _create() if we cannot pre-allocate the requested
- size
+ [buffer] Fail in _create() if we cannot pre-allocate the requested size
src/hb-buffer.cc | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
@@ -88301,8 +86183,7 @@ Date: Mon May 2 14:58:04 2011 -0400
[test/unicode] Add script roundtrip tests for glib and ICU
- test/test-unicode.c | 70
- ++++++++++++++++++++++++++++++++++++++++++++++++-----
+ test/test-unicode.c | 70 ++++++++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 64 insertions(+), 6 deletions(-)
commit 7cda65935c73c277550f6ac12f6730e96d4852a7
@@ -88311,8 +86192,7 @@ Date: Mon May 2 14:33:53 2011 -0400
[test/unicode] Better test chainup
- test/test-unicode.c | 54
- ++++++++++++++++++++++++++++++++++++++++++++++++-----
+ test/test-unicode.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 49 insertions(+), 5 deletions(-)
commit 250c59225ead28449deb11522dee3819480a19b4
@@ -88321,8 +86201,7 @@ Date: Mon May 2 14:21:30 2011 -0400
[test/unicode] Port the _custom test to test all property setters
- test/test-unicode.c | 186
- +++++++++++++++++++++++++++++-----------------------
+ test/test-unicode.c | 186 +++++++++++++++++++++++++++++-----------------------
1 file changed, 104 insertions(+), 82 deletions(-)
commit e74b5b339ab0af53d893ec84a0955d5aa508fed3
@@ -88339,11 +86218,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 2 13:52:17 2011 -0400
[test/buffer] Clean up testing
-
+
Getting the hang of how to cleanly use gtest.
- test/test-buffer.c | 154
- +++++++++++++++++++++++++++++------------------------
+ test/test-buffer.c | 154 +++++++++++++++++++++++++++++------------------------
1 file changed, 85 insertions(+), 69 deletions(-)
commit 819e9d9e5310e67e8dcce9fa885f8a086a9b9ee8
@@ -88369,9 +86247,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 2 12:35:14 2011 -0400
ISO 15924 fixes
-
+
Update to http://unicode.org/iso15924
-
+
Fixes some of the test failures in test-unicode with ICU. Still
one more to fix before the test passes.
@@ -88385,7 +86263,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 2 12:06:18 2011 -0400
[test/unicode] Add log messages
-
+
Use with --verbose to see what's failing
test/test-unicode.c | 9 ++++++---
@@ -88397,8 +86275,7 @@ Date: Sun May 1 20:04:01 2011 -0400
Minor
- test/test-unicode.c | 478
- ++++++++++++++++++++++++++--------------------------
+ test/test-unicode.c | 478 ++++++++++++++++++++++++++--------------------------
1 file changed, 243 insertions(+), 235 deletions(-)
commit 60833efaf1310c3f18e150b61daaeb0074ae3d91
@@ -88406,12 +86283,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Apr 29 16:49:57 2011 -0400
[test/unicode] Add testing of all unicode properties
-
+
ICU fails for now.
test/hb-test.h | 4 +-
- test/test-unicode.c | 432
- +++++++++++++++++++++++++++++++++++++++++++++++++---
+ test/test-unicode.c | 432 +++++++++++++++++++++++++++++++++++++++++++++++++---
2 files changed, 416 insertions(+), 20 deletions(-)
commit da96ee072fa3544c3d36cf0b82ada11806789d70
@@ -88435,8 +86311,7 @@ Date: Fri Apr 29 12:00:38 2011 -0400
test/test-c.c | 1 +
test/test-common.c | 3 +-
test/test-cplusplus.cc | 1 +
- test/test-unicode.c | 112
- +++++++++++++++++++++++++++-------------------
+ test/test-unicode.c | 112 +++++++++++++++++++++++++++-------------------
7 files changed, 74 insertions(+), 49 deletions(-)
commit 13db3d40bfc09c68f9761a71435b1840b9d34099
@@ -88455,8 +86330,7 @@ Date: Thu Apr 28 19:37:51 2011 -0400
[test/buffer] Add more extensive UTF-8 test data from glib
src/hb-buffer.cc | 2 +-
- test/test-buffer.c | 317
- ++++++++++++++++++++++++++++++++++++++++++++++++++---
+ test/test-buffer.c | 317 ++++++++++++++++++++++++++++++++++++++++++++++++++---
2 files changed, 303 insertions(+), 16 deletions(-)
commit dfec67f958482e5c3bb01e06b08694cd4ded6f66
@@ -88474,12 +86348,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 28 17:10:44 2011 -0400
Add test suite infrastructure
-
+
Wraps around glib for convenience and ease of use.
test/Makefile.am | 1 +
- test/hb-test.h | 132
- ++++++++++++++++++++++++++++++++++++++++++++++++----
+ test/hb-test.h | 132 ++++++++++++++++++++++++++++++++++++++++++++++++----
test/test-buffer.c | 29 ++++++------
test/test-common.c | 14 +++---
test/test-unicode.c | 32 ++++++-------
@@ -88490,7 +86363,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 28 16:03:29 2011 -0400
[API Remove hb_font_funcs_copy()
-
+
Will be adding font_funcs subclassing instead.
src/hb-font.cc | 13 -------------
@@ -88552,12 +86425,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 28 12:56:49 2011 -0400
[buffer] More error handling
-
+
Should be all set now.
src/hb-buffer-private.hh | 2 +-
- src/hb-buffer.cc | 60
- +++++++++++++++++++++++++++++++++---------------
+ src/hb-buffer.cc | 60 +++++++++++++++++++++++++++++++++---------------
2 files changed, 43 insertions(+), 19 deletions(-)
commit 15c57e04bf05026ef424f8ae912d2f379301bf93
@@ -88565,9 +86437,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 28 12:28:54 2011 -0400
[test/buffer] Add test pre_alloc(); hangs in the buffer code right now
-
+
Because the following loop overflows:
-
+
while (size > new_allocated)
new_allocated += (new_allocated >> 1) + 32;
@@ -88580,8 +86452,7 @@ Date: Thu Apr 28 12:15:24 2011 -0400
[test/buffer] Test reset(), set_length(), and set/get_unicode_data()
- test/test-buffer.c | 66
- ++++++++++++++++++++++++++++++++++++++++++++++++------
+ test/test-buffer.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++++------
1 file changed, 59 insertions(+), 7 deletions(-)
commit db126b5448ec802285cf2b6f0e7da412d02dfb28
@@ -88590,8 +86461,7 @@ Date: Thu Apr 28 11:56:29 2011 -0400
[test/buffer] Test reverse() and reverse_clusters()
- test/test-buffer.c | 61
- ++++++++++++++++++++++++++++++++++++++++++++++++++----
+ test/test-buffer.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 57 insertions(+), 4 deletions(-)
commit 5fa849b77d49da2212825ebb1bea9145713b8449
@@ -88604,8 +86474,7 @@ Date: Wed Apr 27 21:46:01 2011 -0400
src/hb-blob.h | 12 ++++++++++++
src/hb-buffer.cc | 16 ++++++++++++++++
src/hb-buffer.h | 10 ++++++++++
- src/hb-font.cc | 51
- +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-font.cc | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-font.h | 36 ++++++++++++++++++++++++++++++++++++
src/hb-unicode.cc | 17 +++++++++++++++++
src/hb-unicode.h | 12 ++++++++++++
@@ -88617,8 +86486,7 @@ Date: Wed Apr 27 21:45:51 2011 -0400
Move code around
- src/hb-object-private.hh | 153
- ++++++++++-------------------------------------
+ src/hb-object-private.hh | 153 ++++++++++-------------------------------------
src/hb-private.hh | 136 +++++++++++++++++++++++++++++++++++++----
2 files changed, 157 insertions(+), 132 deletions(-)
@@ -88629,8 +86497,7 @@ Date: Wed Apr 27 21:22:32 2011 -0400
Add initial implementation of user_data to objects
src/hb-common.h | 11 ++-
- src/hb-object-private.hh | 186
- ++++++++++++++++++++++++++++++++++++++++++++++-
+ src/hb-object-private.hh | 186 ++++++++++++++++++++++++++++++++++++++++++++++-
2 files changed, 193 insertions(+), 4 deletions(-)
commit 47e71d9661946a4ffb96026bf1d697d788414ab5
@@ -88670,7 +86537,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 27 15:10:12 2011 -0400
GNOME Bug 612402 - (hb-arm) HarfBuzz compilation fix for arm
-
+
With gcc on arm, request 8-bit structure alignment.
configure.ac | 10 +++++++++-
@@ -88681,7 +86548,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 27 14:48:19 2011 -0400
[API] Add hb_direction_from/to_string()
-
+
And hb-view --direction argument.
TODO | 1 -
@@ -88741,9 +86608,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 27 01:49:03 2011 -0400
Replace simple macros with inline functions for better type safety
-
+
Now that we use C++ for all source code, lets benefit from it!
-
+
The hb_be_int16/32_get/put/eq() macros grow code size if replaced with
inline functions, so leave them as is.
@@ -88765,7 +86632,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 27 01:41:24 2011 -0400
Don't return in void function
-
+
Would have been nice if gcc had warned...
src/hb-private.hh | 2 +-
@@ -88777,8 +86644,7 @@ Date: Thu Apr 21 18:35:58 2011 -0400
Further simplify object handling
- src/hb-object-private.hh | 53
- ++++++++++++++++++++++++------------------------
+ src/hb-object-private.hh | 53 ++++++++++++++++++++++++------------------------
1 file changed, 27 insertions(+), 26 deletions(-)
commit fca368c4682624346a0aaee690e1ad6ed4c0b337
@@ -88786,7 +86652,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 21 18:24:02 2011 -0400
Add hb_object_header_t which is the common part of all objects
-
+
Makes way for adding arbitrary user_data support.
src/hb-blob-private.hh | 3 +-
@@ -88798,8 +86664,7 @@ Date: Thu Apr 21 18:24:02 2011 -0400
src/hb-ft.cc | 3 +-
src/hb-glib.cc | 3 +-
src/hb-icu.cc | 3 +-
- src/hb-object-private.hh | 95
- ++++++++++++++++++++++++++---------------------
+ src/hb-object-private.hh | 95 ++++++++++++++++++++++++++---------------------
src/hb-private.hh | 5 +--
src/hb-unicode-private.hh | 6 ++-
src/hb-unicode.cc | 3 +-
@@ -88885,7 +86750,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 21 16:59:10 2011 -0400
[hb-view] Accept numbers in feature tag name
-
+
Reported by Adam Twardoch.
src/hb-view.c | 6 +++---
@@ -88896,9 +86761,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 21 16:55:17 2011 -0400
Remove obsolete comment
-
+
Talking to Ryan Lortie, he thinks my comment doesn't make sense.
-
+
So I'm making the getter const. Note that g_atomic_int_get()
casts that away itself, so we don't need to worry about that
(which kinda makes me uncomfortable actually).
@@ -88911,7 +86776,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 21 16:34:22 2011 -0400
Add ASSERT_STATIC_EXPR macro
-
+
Unused right now.
src/hb-private.hh | 2 ++
@@ -88942,24 +86807,20 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 21 15:08:01 2011 -0400
[API] Allow negative font x_scale/y_scale
-
+
I was reconsidering whether y should grow down, since all three/four
times I've used this API I was tricked and got that wrong in my use.
So I was very inclined to make y grow down instead of up. However,
- considering that the font space has y up and it would be very
- confusing
+ considering that the font space has y up and it would be very confusing
for callbacks to work against that, I decided that what I really want
- is for the user to be able to set y_scale to a negative number
- to imply
+ is for the user to be able to set y_scale to a negative number to imply
that user-space y grows down.
-
- Changing x_scale/y_scale from unsigned int to int allows that,
- and I've
- made pango to use that instead of negating glyph y_offset later.
- hb-ft
+
+ Changing x_scale/y_scale from unsigned int to int allows that, and I've
+ made pango to use that instead of negating glyph y_offset later. hb-ft
however still has y group up. I *guess* that's how FreeType works?
I'm not sure, FreeType docs don't make this clear...
-
+
I'm happy with the resolution :-).
src/hb-font.cc | 8 ++++----
@@ -88974,8 +86835,7 @@ Date: Thu Apr 21 14:58:23 2011 -0400
[icu] Remove big script switch(), rely on reverse-lookup
- src/hb-icu.cc | 137
- ++++------------------------------------------------------
+ src/hb-icu.cc | 137 ++++------------------------------------------------------
1 file changed, 9 insertions(+), 128 deletions(-)
commit d18431b4cd8c1b14523733cd60a62b862f5b471f
@@ -88992,12 +86852,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 20 18:50:27 2011 -0400
Rename all private sources and headers to C++ files
-
+
So we can liberally use the simple features of C++ that parts of the
codebase is already using.
- src/Makefile.am | 17
- +++++++++--------
+ src/Makefile.am | 17 +++++++++--------
src/{hb-blob-private.h => hb-blob-private.hh} | 8 ++++----
src/hb-blob.cc | 4 ++--
src/hb-buffer-private.hh | 2 +-
@@ -89047,12 +86906,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 20 17:21:23 2011 -0400
[API] Make hb_face_reference_table() return empty blob instead of NULL
-
+
The idea here is that:
-
+
- Like pretty much all other API in harfbuzz, user does not have to
check for NULL.
-
+
- In any caller code, the case of missing table should be handled
exactly the same way that a too-short table is handled. Turning
a non-existent talbe into a table of size 0 makes the user code
@@ -89067,7 +86926,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 20 17:03:00 2011 -0400
[API] Rename hb_face_get_table() to hb_face_reference_table()
-
+
That correctly reflects the reference ownership transfer happening.
src/hb-font.cc | 4 ++--
@@ -89091,10 +86950,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 20 15:49:31 2011 -0400
[API] Remove hb_*_get_reference_count()
-
+
This was a bizzare piece of API that I inherited from cairo. It has
- been wrong adding them to cairo in the first place. Remove them
- before
+ been wrong adding them to cairo in the first place. Remove them before
someone uses them!
src/hb-blob.c | 6 ------
@@ -89134,8 +86992,7 @@ Date: Wed Apr 20 03:15:31 2011 -0400
[test] Add test for headers included from C and C++
test/Makefile.am | 17 +++++++++++++++++
- test/test-c.c | 49
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ test/test-c.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
test/test-cplusplus.cc | 29 +++++++++++++++++++++++++++++
3 files changed, 95 insertions(+)
@@ -89153,7 +87010,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 20 03:03:32 2011 -0400
[API] font: move user_data before destroy()
-
+
This is the common convention for language binding tools.
src/hb-font-private.h | 4 ++--
@@ -89167,7 +87024,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 20 02:59:28 2011 -0400
[API] blob: move user_data before destroy()
-
+
This is the common convention for language binding tools.
src/hb-blob-private.h | 2 +-
@@ -89190,12 +87047,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 20 02:54:42 2011 -0400
[icu] Add two-way script conversion functions
-
+
Also optimizes the common-direction script lookup.
src/hb-common.c | 5 +-
- src/hb-icu.cc | 205
- +++++++++++++++++++++++++++++-------------------------
+ src/hb-icu.cc | 205 +++++++++++++++++++++++++++++-------------------------
src/hb-icu.h | 9 +++
test/test-types.c | 2 +-
4 files changed, 124 insertions(+), 97 deletions(-)
@@ -89205,12 +87061,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 20 02:44:29 2011 -0400
[glib] Add two-way script conversion functions
+
+ Also optimizes the common-direction script lookup to be an array lookup.
- Also optimizes the common-direction script lookup to be an array
- lookup.
-
- src/hb-glib.cc | 270
- ++++++++++++++++++++++++++++++---------------------------
+ src/hb-glib.cc | 270 ++++++++++++++++++++++++++++++---------------------------
src/hb-glib.h | 8 ++
2 files changed, 148 insertions(+), 130 deletions(-)
@@ -89221,8 +87075,7 @@ Date: Wed Apr 20 02:29:22 2011 -0400
Remove verbose comments
src/hb-glib.cc | 194 ++++++++++++++++++++---------------------
- src/hb-icu.cc | 266
- ++++++++++++++++++++++++++++-----------------------------
+ src/hb-icu.cc | 266 ++++++++++++++++++++++++++++-----------------------------
2 files changed, 230 insertions(+), 230 deletions(-)
commit fb194b8794898f51eb596fa4092c26606889d376
@@ -89238,8 +87091,7 @@ Date: Wed Apr 20 02:00:47 2011 -0400
src/hb-ot-shape.cc | 14 +-
src/hb-shape.cc | 4 +-
...{hb-unicode-private.h => hb-unicode-private.hh} | 65 ++++---
- src/{hb-unicode.c => hb-unicode.cc} | 213
- +++++++++------------
+ src/{hb-unicode.c => hb-unicode.cc} | 213 +++++++++------------
src/hb-unicode.h | 57 +++---
test/test-unicode.c | 23 ++-
10 files changed, 237 insertions(+), 244 deletions(-)
@@ -89258,10 +87110,10 @@ Author: Ryan Lortie <desrt@desrt.ca>
Date: Wed Apr 20 00:19:20 2011 -0400
[API] unicode: rework virtual functions for subclassing
-
+
Unicode data providers can now be subclassed, including support for
chain-up. The interface should now be nicely bindable, as well.
-
+
Also fix glib unicode funcs that where broken after hb_script_t
changes. Nicely caught by the test-unicode.c added in this commit.
@@ -89270,12 +87122,10 @@ Date: Wed Apr 20 00:19:20 2011 -0400
src/hb-ot-shape.cc | 9 +-
src/hb-shape.cc | 2 +-
src/hb-unicode-private.h | 17 ++++
- src/hb-unicode.c | 231
- +++++++++++++++++++++++++----------------------
+ src/hb-unicode.c | 231 +++++++++++++++++++++++++----------------------
src/hb-unicode.h | 68 +++++++-------
test/Makefile.am | 1 +
- test/test-unicode.c | 215
- +++++++++++++++++++++++++++++++++++++++++++
+ test/test-unicode.c | 215 +++++++++++++++++++++++++++++++++++++++++++
9 files changed, 610 insertions(+), 164 deletions(-)
commit f85faee9b3cb841ea977403945e2c877ab32b97a
@@ -89294,7 +87144,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Apr 19 00:32:19 2011 -0400
[API] Add hb_buffer_allocation_successful()
-
+
Returns the error status of the buffer.
src/hb-buffer.cc | 6 ++++++
@@ -89307,7 +87157,7 @@ Author: Ryan Lortie <desrt@desrt.ca>
Date: Fri Apr 15 18:34:45 2011 -0400
[API] Rename hb_buffer_ensure() to hb_buffer_pre_allocate()
-
+
The new name is self-documenting.
src/hb-buffer.cc | 4 ++--
@@ -89319,9 +87169,8 @@ Author: Ryan Lortie <desrt@desrt.ca>
Date: Fri Apr 15 18:32:36 2011 -0400
[API} hb_buffer_get_glyph_{infos,positions}: Add length out parameter
-
- Return the length, whenever we return an array. Makes it easier
- on the
+
+ Return the length, whenever we return an array. Makes it easier on the
language bindings.
src/hb-buffer.cc | 12 ++++++++++--
@@ -89336,12 +87185,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 18 23:40:21 2011 -0400
[API] Use ISO 15924 tags for hb_script_t
-
+
This simplifies the code, reduces static data, and makes the design
more extensible to future additions of new scripts.
- src/hb-common.c | 411
- ++++---------------------------------
+ src/hb-common.c | 411 ++++---------------------------------
src/hb-common.h | 199 +++++++++---------
src/hb-ot-map.cc | 4 +-
src/hb-ot-shape-complex-private.hh | 3 +-
@@ -89356,9 +87204,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Apr 15 19:26:24 2011 -0400
Change buffer default properties to invalid
-
+
This includes HB_DIRECTION_INVALID and HB_SCRIPT_INVALID.
-
+
The INVALID will cause a "guess whatever from the text" in hb_shape().
While it's not ideal, it works better than the previous defaults at
least (HB_DIRECTION_LTR and HB_SCRIPT_COMMON).
@@ -89375,11 +87223,9 @@ Date: Fri Apr 15 19:16:54 2011 -0400
Move enum types to hb-common.h
- src/hb-common.c | 406
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-common.c | 406 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-common.h | 170 +++++++++++++++++++++++
- src/hb-unicode.c | 406
- -------------------------------------------------------
+ src/hb-unicode.c | 406 -------------------------------------------------------
src/hb-unicode.h | 166 -----------------------
4 files changed, 576 insertions(+), 572 deletions(-)
@@ -89431,7 +87277,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Apr 15 18:35:08 2011 -0400
[API] Remove hb_buffer_clear()
-
+
One should use hb_buffer_reset() really.
src/hb-buffer.cc | 16 +++++-----------
@@ -89532,8 +87378,7 @@ Date: Wed Apr 13 01:09:09 2011 -0400
[test] Test hb-buffer.h
test/Makefile.am | 8 ++-
- test/test-buffer.c | 195
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ test/test-buffer.c | 195 +++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 202 insertions(+), 1 deletion(-)
commit 72d89404c2837d578f5305456c817130b6a15c73
@@ -89577,10 +87422,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 11 19:43:51 2011 -0400
[test] Actually hook up hb_script_t tests
-
+
I really shall find a way to automate the test enumeration. Otherwise
- it's too easy to add a test and wrongly hook it up. Did it twice
- today.
+ it's too easy to add a test and wrongly hook it up. Did it twice today.
test/test-types.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -89595,8 +87439,7 @@ Date: Mon Apr 11 17:55:58 2011 -0400
src/hb-buffer.h | 1 -
src/hb-common.c | 92 ++++++++++++++++++++++++++++++++++++++++-
src/hb-common.h | 42 +++++++++++++------
- src/hb-language.c | 120
- ------------------------------------------------------
+ src/hb-language.c | 120 ------------------------------------------------------
src/hb-language.h | 46 ---------------------
src/hb-ot-tag.h | 1 -
src/hb.h | 1 -
@@ -89637,14 +87480,12 @@ Date: Mon Apr 11 15:47:40 2011 -0400
Rename hb_category_t to hb_unicode_general_category_t
src/hb-glib.c | 2 +-
- src/hb-icu.c | 64
- ++++++++++++++++++-------------------
+ src/hb-icu.c | 64 ++++++++++++++++++-------------------
src/hb-ot-shape-complex-arabic.cc | 8 ++---
src/hb-ot-shape-private.hh | 2 +-
src/hb-ot-shape.cc | 2 +-
src/hb-unicode.c | 4 +--
- src/hb-unicode.h | 66
- +++++++++++++++++++--------------------
+ src/hb-unicode.h | 66 +++++++++++++++++++--------------------
7 files changed, 74 insertions(+), 74 deletions(-)
commit 4188096a7722f09ffa9319986c0286071da10a27
@@ -89652,7 +87493,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 11 14:58:28 2011 -0400
Make HB_TAG_CHAR4 private
-
+
It's just sugar.
src/hb-common.h | 5 +----
@@ -89694,7 +87535,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 11 13:12:37 2011 -0400
Rename HB_TAG_STR() to HB_TAG_CHAR4()
-
+
The problem with HB_TAG_STR() was that it expected a string of size 4
exactly, and unlike hb_tag_from_string() it doesn't pad the tag with
space characters. So, the new name is more appropriate.
@@ -89710,7 +87551,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 11 12:46:49 2011 -0400
Add an in-tree test suite
-
+
Uses the glib testing framework. Wrote unit tests for hb-common.h
types.
@@ -89718,8 +87559,7 @@ Date: Mon Apr 11 12:46:49 2011 -0400
test/Makefile.am | 18 +++++++++
test/Makefile.decl | 90 ++++++++++++++++++++++++++++++++++++++++++++
test/hb-test.h | 67 +++++++++++++++++++++++++++++++++
- test/test-types.c | 108
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ test/test-types.c | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 284 insertions(+), 1 deletion(-)
commit d77b76200efbaa0611691920f9f2018b1e8be340
@@ -89727,7 +87567,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 11 12:29:52 2011 -0400
Add few more paratheses to the HB_TAG macro
-
+
Never hurts.
src/hb-common.h | 2 +-
@@ -89747,12 +87587,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 11 11:49:08 2011 -0400
Remove warning message from public header file
-
- Since we now assert thos in hb-private.h, the int types cannot
- be wrong.
+
+ Since we now assert thos in hb-private.h, the int types cannot be wrong.
(Except for when someone else includes hb-common.h in a very broken
configuration, but that's not our problem!)
-
+
Plus, we don't use inline in the public headers, so remove that too.
src/hb-common.h | 7 -------
@@ -89792,7 +87631,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 6 14:04:56 2011 -0400
Disable 'cswh' by default except for Arabic shaper
-
+
That better matches OpenType spec. Note that we enable it for all
Arabic-shaper scripts. Ie. we enable it by default for Syriac too,
but the SyriacOT spec does not require it. I think this is a more
@@ -89807,7 +87646,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 4 15:36:51 2011 -0400
[hb-view] setlocale (LC_ALL, "")
-
+
For now we don't use anything from the locale, but we should default
to using $LANG, etc, if --language is not specified. Right?
@@ -89819,13 +87658,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 4 14:50:09 2011 -0400
[hb-view] Rewrite --features parsing, with range support
-
+
The --features parsing handles errors now. More importantly, it
allos limiting individual features to specific byte ranges. The
format is Python-esque. Here is how it all works:
-
+
Syntax: Value: Start: End:
-
+
Setting value:
"kern" 1 0 ∞ # Turn feature on
"+kern" 1 0 ∞ # Turn feature off
@@ -89833,7 +87672,7 @@ Date: Mon Apr 4 14:50:09 2011 -0400
"kern=0" 0 0 ∞ # Turn feature off
"kern=1" 1 0 ∞ # Turn feature on
"kern=2" 2 0 ∞ # Choose 2nd alternate
-
+
Setting index:
"kern[]" 1 0 ∞ # Turn feature on
"kern[:]" 1 0 ∞ # Turn feature on
@@ -89841,13 +87680,12 @@ Date: Mon Apr 4 14:50:09 2011 -0400
"kern[:5]" 1 0 5 # Turn feature on, partial
"kern[3:5]" 1 3 5 # Turn feature on, range
"kern[3]" 1 3 3+1 # Turn feature on, single char
-
+
Mixing it all:
-
+
"kern[3:5]=0" 1 3 5 # Turn feature off for range
- src/hb-view.c | 169
- +++++++++++++++++++++++++++++++++++++++++++++-------------
+ src/hb-view.c | 169 +++++++++++++++++++++++++++++++++++++++++++++-------------
1 file changed, 132 insertions(+), 37 deletions(-)
commit ccc6745afaa68ce7497a6cd02ce85986d3c863d0
@@ -89855,7 +87693,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 4 14:49:50 2011 -0400
[hb-view] Use cached hb-ft face creation
-
+
Avoids recreating the face the second time we call draw().
src/hb-view.c | 2 +-
@@ -89866,7 +87704,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 4 14:45:28 2011 -0400
[hb-view] Add --debug
-
+
Frees all allocated memory before exiting. Useful for valgrind run.
src/hb-view.c | 17 +++++++++++++++++
@@ -89877,16 +87715,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Apr 1 15:48:43 2011 -0400
[hb-view] Support --features
-
+
Accepts values like:
-
+
--features="-mkmk,aalt=2,calt=1,+cswh"
-
+
A minus sign means "=0", a plus sign means "=1". Default is "=1".
A minus sign overrides an explicit value.
- src/hb-view.c | 70
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ src/hb-view.c | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 68 insertions(+), 2 deletions(-)
commit f48ff19b629070d13cee3c0eeeb06c98992f93c6
@@ -89903,16 +87740,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Mar 16 17:36:32 2011 -0300
Add script to/from ISO 15924 tag support
-
+
Also adds --script support to hb-view.
-
+
If a script tag is not known to us, we pass the ISO 15924 tag around.
Right now, the OT layer ignores that, but we can fix it to blindly
convert that to an OT script tag.
src/hb-ot-tag.c | 4 +
- src/hb-unicode.c | 273
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-unicode.c | 273 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-unicode.h | 8 +-
src/hb-view.c | 10 +-
4 files changed, 293 insertions(+), 2 deletions(-)
@@ -89922,38 +87758,32 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Mar 16 14:53:32 2011 -0300
Let hb_shape() guess script and direction...
-
+
- Rename HB_SCRIPT_INVALID_CODE to HB_SCRIPT_INVALID
-
+
- Add HB_DIRECTION_INVALID
-
+
- Make hb_script_get_horizontal_direction() public
-
+
- Make hb_shape() guess script from buffer text (first non-common
- non-inherit script) if buffer script is set to HB_SCRIPT_INVALID
- (this
+ non-inherit script) if buffer script is set to HB_SCRIPT_INVALID (this
is NOT the default.)
-
- - Make hb_shape() guess direction from buffer script if buffer
- direction
+
+ - Make hb_shape() guess direction from buffer script if buffer direction
is set to HB_DIRECTION_INVALID (this is NOT the default.)
-
+
- Make hb-view.c set INVALID script and direction on the buffer.
-
- The above changes are meant to make hb-view fairly useful for
- uni-script
- uni-direction text. The guessing behavior however is NOT the
- default of
- hb_shape() and must be asked for explicitly. This is intended,
- because
+
+ The above changes are meant to make hb-view fairly useful for uni-script
+ uni-direction text. The guessing behavior however is NOT the default of
+ hb_shape() and must be asked for explicitly. This is intended, because
the guess is not a suitable substitute to full-fledged bidi and script
segmentation. It's just a testing tool.
src/hb-common.h | 3 ++-
src/hb-icu.c | 2 +-
src/hb-ot-shape.cc | 3 ++-
- src/hb-shape.cc | 52
- ++++++++++++++++++++++++++++++++++++++++++------
+ src/hb-shape.cc | 52 ++++++++++++++++++++++++++++++++++++++++++------
src/hb-unicode-private.h | 4 ----
src/hb-unicode.c | 2 +-
src/hb-unicode.h | 8 +++++++-
@@ -89992,7 +87822,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 23 12:47:56 2011 -0500
Default background color shall either be white or transparent
-
+
Definitely not black!
src/hb-view.c | 2 +-
@@ -90003,13 +87833,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 22 18:06:19 2011 -0500
Add initial hb-view tool
-
+
Currently doesn't handle script or direction.
configure.ac | 18 +++
src/Makefile.am | 14 +++
- src/hb-view.c | 342
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-view.c | 342 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 374 insertions(+)
commit 82438c6ad5f60b6afc75c48cef72e18bef532468
@@ -90017,7 +87846,7 @@ Author: Bradley Grainger <bgrainger@logos.com>
Date: Tue Feb 15 18:37:29 2011 -0500
Fix #pragma message for MSVC.
-
+
__LOC__ was renamed to _HB__LOC__ in cd7555 but the corresponding
change wasn't made in hb-private.h.
@@ -90038,7 +87867,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jan 10 02:27:49 2011 -0500
Don't use the m4/ dir
-
+
We just require people to have libtool, pkg-config, etc installed
when running autogen.sh
@@ -90062,8 +87891,7 @@ Date: Sun Jan 9 22:18:53 2011 -0500
Bug 31174 - Update autotools configuration
Makefile.am | 2 +
- autogen.sh | 188
- ++++-------------------------------------------------------
+ autogen.sh | 188 ++++-------------------------------------------------------
configure.ac | 22 +++++--
3 files changed, 29 insertions(+), 183 deletions(-)
@@ -90072,7 +87900,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 6 14:58:52 2011 -0500
Fix ChanContext backtrack matching with GPOS
-
+
Reported on mailing list by Keith Stribley and Khaled Hosny.
src/hb-buffer-private.hh | 5 +++--
@@ -90085,7 +87913,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jan 6 14:44:14 2011 -0500
Remove unused realloc
-
+
We always allocate and grow str and pos together.
src/hb-buffer.cc | 6 ------
@@ -90105,14 +87933,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 26 20:52:40 2010 -0500
Remove Graphite backend
-
+
It was unmaintained and the code has to be replaced to use the new
grphite-ng code base.
configure.ac | 6 --
src/Makefile.am | 14 ---
- src/hb-graphite.cc | 310
- -----------------------------------------------------
+ src/hb-graphite.cc | 310 -----------------------------------------------------
src/hb-graphite.h | 47 --------
4 files changed, 377 deletions(-)
@@ -90122,8 +87949,7 @@ Date: Wed Dec 22 01:39:29 2010 -0500
Docs
- src/hb-unicode.h | 60
- ++++++++++++++++++++++++++++----------------------------
+ src/hb-unicode.h | 60 ++++++++++++++++++++++++++++----------------------------
1 file changed, 30 insertions(+), 30 deletions(-)
commit d86a5b3c5752abcc791724035ba4115958e6b5e2
@@ -90131,20 +87957,18 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Dec 21 18:36:25 2010 -0500
Bug 32274 - classic mongolian shaper
-
+
Add support for classic Mongolian script to the Arabic shaper.
-
+
Still work to be done around U+180E MONGOLIAN VOWEL SEPARATOR as it
should not be included in the final glyph stream the same way that
ZWNJ, etc should not appear in the final glyph stream.
-
+
But the joining part should be done.
-
- There remains the question of how should the U+18A9 MONGOLIAN
- LETTER ALI
+
+ There remains the question of how should the U+18A9 MONGOLIAN LETTER ALI
GALI DAGALGA be handled as it has General Category NSM but a letter
- nonetheless. For now, our generic logic makes this a joining
- T instead
+ nonetheless. For now, our generic logic makes this a joining T instead
of joining D as other Mongolian letters are.
src/hb-ot-shape-complex-arabic.cc | 8 ++++++++
@@ -90156,7 +87980,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Dec 21 14:19:32 2010 -0500
Reroute Mandaic shaping through the Arabic shaper
-
+
We added Mandaic joining data to the Arabic shaper a while ago, but
were not actually using the Arabic shaper for Mandaic. Fixed.
@@ -90169,8 +87993,7 @@ Date: Tue Dec 21 14:18:24 2010 -0500
Annotate the Arabic joining table with block information
- src/gen-arabic-joining-table.py | 93
- +++++++++++++++++++++-------------
+ src/gen-arabic-joining-table.py | 93 +++++++++++++++++++++-------------
src/hb-ot-shape-complex-arabic-table.h | 24 +++++++--
2 files changed, 80 insertions(+), 37 deletions(-)
@@ -90215,7 +88038,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Dec 13 14:13:35 2010 -0500
Mozilla Bug 618592 - freeze on typekit
-
+
Fix apply_lookup() for zero-input broken fonts.
src/hb-ot-layout-gsubgpos-private.hh | 4 ++--
@@ -90236,10 +88059,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Dec 7 16:20:42 2010 -0500
Fix arabic shaping of LTR text
-
+
We should ensure-direction before doing any complex work. The only
- exception is mirroring that needs to see the original / final
- direction,
+ exception is mirroring that needs to see the original / final direction,
not the native. Handle that.
src/hb-ot-shape.cc | 6 +++---
@@ -90249,9 +88071,8 @@ commit d1f1707adc03317760b0f75e04d0f3dd425e547f
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 30 00:57:15 2010 -0500
- Bug 31965 - some GNU/Linux distributions lack icu.pc but have
- icu-config
-
+ Bug 31965 - some GNU/Linux distributions lack icu.pc but have icu-config
+
Patch from suzuki toshiya.
configure.ac | 10 +++++++++-
@@ -90262,7 +88083,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Nov 28 19:39:47 2010 -0500
Adjust pyx files to reflect change from int to hb_var_int_t
-
+
Patch from Thomas Hunger.
contrib/python/lib/harfbuzz.pyx | 7 +++++--
@@ -90274,8 +88095,7 @@ Date: Mon Nov 22 11:30:32 2010 -0500
Fix failing checks
- src/hb-ot-shape-complex-arabic-table.h | 37
- ++++++++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-arabic-table.h | 37 ++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
commit 9da26d6669e7f3b91ba37e71f6f8a6e2ea806688
@@ -90308,10 +88128,8 @@ Date: Wed Nov 17 16:58:21 2010 -0500
Move generated table to its own file
src/Makefile.am | 1 +
- src/hb-ot-shape-complex-arabic-table.h | 619
- ++++++++++++++++++++++++++++++++
- src/hb-ot-shape-complex-arabic.cc | 621
- +--------------------------------
+ src/hb-ot-shape-complex-arabic-table.h | 619 ++++++++++++++++++++++++++++++++
+ src/hb-ot-shape-complex-arabic.cc | 621 +--------------------------------
3 files changed, 621 insertions(+), 620 deletions(-)
commit 14d784116b08685425e4ddcb1c1f813dbe2b2986
@@ -90319,16 +88137,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 17 16:52:58 2010 -0500
Update Arabic joining table to include Mandaic
-
- Mandaic was added to Unicode 6.0, but the joining data was not
- updated.
- Draft ArabicShaping.txt from 6.1 includes the joining data for
- Mandaic.
+
+ Mandaic was added to Unicode 6.0, but the joining data was not updated.
+ Draft ArabicShaping.txt from 6.1 includes the joining data for Mandaic.
Use that.
src/gen-arabic-joining-table.py | 45 ++++++++++----
- src/hb-ot-shape-complex-arabic.cc | 123
- ++++++++++++++++++++++++++++++++------
+ src/hb-ot-shape-complex-arabic.cc | 123 ++++++++++++++++++++++++++++++++------
2 files changed, 137 insertions(+), 31 deletions(-)
commit 43bf2f7f1ec427c431e2ee2fd1a9345e7d5c9718
@@ -90336,7 +88151,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 17 14:49:40 2010 -0500
Add OpenType script tags for Unicode 5.2 and Unicode 6.0 scripts
-
+
Based on tags proposed by Microsoft for inclusion in OpenType.
src/hb-ot-tag.c | 34 +++++++++++++++++-----------------
@@ -90359,7 +88174,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 17 14:25:44 2010 -0500
Change HB_SCRIPT_MEITEI_MAYEK to HB_SCRIPT_MEETEI_MAYEK
-
+
The new name matches the Unicode name. Reported by Jonathan Kew.
src/hb-icu.c | 2 +-
@@ -90411,7 +88226,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 3 15:50:36 2010 -0400
More "unreached code" warning fixes
-
+
Ugly :(.
src/hb-blob.c | 48 ++++++++++++++++++++++++------------------------
@@ -90442,8 +88257,7 @@ Date: Wed Nov 3 15:28:56 2010 -0400
Minor code shuffling
src/hb-ot-layout-private.hh | 21 +++-------------
- src/hb-ot-layout.cc | 61
- +++++++++++++++++++++++++++++++++------------
+ src/hb-ot-layout.cc | 61 +++++++++++++++++++++++++++++++++------------
2 files changed, 48 insertions(+), 34 deletions(-)
commit 11e3ec444a85fc72541823c2e98cc92c4ceb19af
@@ -90454,8 +88268,7 @@ Date: Wed Nov 3 15:11:04 2010 -0400
src/hb-blob.c | 2 +-
src/hb-object-private.h | 12 +++---
- src/hb-open-type-private.hh | 84
- +++++++++++++++++-------------------
+ src/hb-open-type-private.hh | 84 +++++++++++++++++-------------------
src/hb-ot-layout-gsubgpos-private.hh | 2 +-
src/hb-private.h | 3 +-
5 files changed, 49 insertions(+), 54 deletions(-)
@@ -90507,10 +88320,8 @@ Date: Wed Oct 27 22:48:31 2010 -0400
Move code around
- src/hb-ot-layout-gpos-private.hh | 59
- ++++++++++++++++++++++++++++++++++++++++
- src/hb-ot-layout.cc | 59
- ++--------------------------------------
+ src/hb-ot-layout-gpos-private.hh | 59 ++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout.cc | 59 ++--------------------------------------
src/hb-ot-layout.h | 4 +--
src/hb-ot-shape.cc | 2 +-
4 files changed, 63 insertions(+), 61 deletions(-)
@@ -90523,8 +88334,7 @@ Date: Wed Oct 27 22:37:59 2010 -0400
src/hb-ot-layout-gdef-private.hh | 21 +++++++++++++++
src/hb-ot-layout-private.hh | 27 ++++++++++++++++---
- src/hb-ot-layout.cc | 56
- ++++++----------------------------------
+ src/hb-ot-layout.cc | 56 ++++++----------------------------------
3 files changed, 52 insertions(+), 52 deletions(-)
commit 6334658fe79d6acfb46a2a147721b78f92510ebb
@@ -90547,8 +88357,7 @@ Date: Wed Oct 27 22:07:49 2010 -0400
src/hb-ot-layout-gsub-private.hh | 8 ++++----
src/hb-ot-layout-gsubgpos-private.hh | 10 +++++-----
src/hb-ot-layout-private.hh | 4 ++--
- src/hb-ot-layout.cc | 36
- ++++++++++++++++++------------------
+ src/hb-ot-layout.cc | 36 ++++++++++++++++++------------------
src/main.cc | 4 ++--
7 files changed, 43 insertions(+), 39 deletions(-)
@@ -90556,8 +88365,7 @@ commit 98370e89d1bff248737b482d129c2a4deb8bfd95
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 27 17:39:01 2010 -0400
- WIP removing external synthesized GDEF support and implementing
- it internally
+ WIP removing external synthesized GDEF support and implementing it internally
TODO | 2 -
src/hb-buffer-private.hh | 4 -
@@ -90568,8 +88376,7 @@ Date: Wed Oct 27 17:39:01 2010 -0400
src/hb-ot-layout-gsub-private.hh | 66 ++++++-----------
src/hb-ot-layout-gsubgpos-private.hh | 29 +++++++-
src/hb-ot-layout-private.hh | 29 +++-----
- src/hb-ot-layout.cc | 138
- +++++------------------------------
+ src/hb-ot-layout.cc | 138 +++++------------------------------
src/hb-ot-layout.h | 26 -------
src/hb-ot-shape.cc | 10 +++
12 files changed, 98 insertions(+), 227 deletions(-)
@@ -90620,8 +88427,7 @@ Date: Wed Oct 27 16:57:01 2010 -0400
Minor renaming
- src/hb-buffer-private.hh | 41
- ++++++++++++++++++++--------------------
+ src/hb-buffer-private.hh | 41 ++++++++++++++++++++--------------------
src/hb-buffer.cc | 20 ++++++++++----------
src/hb-ot-layout-gsub-private.hh | 8 ++++----
src/hb-ot-shape.cc | 6 +++---
@@ -90634,8 +88440,7 @@ Date: Wed Oct 27 16:51:02 2010 -0400
Move setting lig_id/component out of buffer and to the gsub code
src/hb-buffer-private.hh | 30 +++++++----------------
- src/hb-buffer.cc | 52
- +++++++---------------------------------
+ src/hb-buffer.cc | 52 +++++++---------------------------------
src/hb-ot-layout-gsub-private.hh | 27 ++++++++++++---------
3 files changed, 34 insertions(+), 75 deletions(-)
@@ -90644,7 +88449,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 27 16:25:28 2010 -0400
Always allocate new ligature id
-
+
No practical point in reusing ligature ids.
src/hb-ot-layout-gsub-private.hh | 5 +----
@@ -90673,13 +88478,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 27 14:42:15 2010 -0400
Get rid of the OpenType-specific internal buffer representation
-
+
Add variant integers to buffer item types. More cleanup coming.
TODO | 2 --
src/hb-buffer-private.hh | 35 ++++++----------------
- src/hb-buffer.cc | 62
- +++++++++++++++++++--------------------
+ src/hb-buffer.cc | 62 +++++++++++++++++++--------------------
src/hb-buffer.h | 2 +-
src/hb-ot-layout-gpos-private.hh | 24 +++++++--------
src/hb-ot-layout-gsub-private.hh | 2 +-
@@ -90712,12 +88516,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 27 14:09:27 2010 -0400
Supposedly implement vertical support in GPOS
-
+
Not tested at all.
src/hb-ot-layout-gpos-private.hh | 27 ++++++++++++++++++++-------
- src/hb-ot-layout.cc | 39
- ++++++++++++++++++++++++---------------
+ src/hb-ot-layout.cc | 39 ++++++++++++++++++++++++---------------
2 files changed, 44 insertions(+), 22 deletions(-)
commit 9624de5b496846cd89ee4f7b07d38029aca70ce1
@@ -90743,8 +88546,7 @@ commit e204674fe340a57c48a9fe7e1ed02a9a08f4aca4
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 27 12:32:02 2010 -0400
- Rename hb_ot_layout_get_lig_carets() to
- hb_ot_layout_get_ligature_carets()
+ Rename hb_ot_layout_get_lig_carets() to hb_ot_layout_get_ligature_carets()
src/hb-ot-layout.cc | 14 +++++++-------
src/hb-ot-layout.h | 14 +++++++-------
@@ -90784,12 +88586,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 27 11:54:26 2010 -0400
Rewrite Cursive joining to act more like other pair lookups
+
+ Look forward for next character instead of joining to the last character.
- Look forward for next character instead of joining to the last
- character.
-
- src/hb-ot-layout-gpos-private.hh | 71
- ++++++++++++++++++----------------------
+ src/hb-ot-layout-gpos-private.hh | 71 ++++++++++++++++++----------------------
src/hb-ot-layout-private.hh | 10 ------
2 files changed, 31 insertions(+), 50 deletions(-)
@@ -90798,11 +88598,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 27 11:09:48 2010 -0400
Fix Cursive positioning
-
+
Test case: "مرا" rendered using IranNastaliq.
- src/hb-ot-layout-gpos-private.hh | 124
- +--------------------------------------
+ src/hb-ot-layout-gpos-private.hh | 124 +--------------------------------------
1 file changed, 3 insertions(+), 121 deletions(-)
commit aefdb64689aab19df76590a36c4a04052a8bffdb
@@ -90819,7 +88618,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 27 01:28:28 2010 -0400
Remove obsolete TODO item
-
+
We don't cache any metrics internally, so the correct way to add more
glyph metrics items is to add new callbacks for them. We already have
separeate callbacks for advance vs extents.
@@ -90841,14 +88640,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 27 01:13:56 2010 -0400
Divide get_metrics into get_advance and get_extents
-
+
Graphite module not updated.
Bump version to 0.3.
configure.ac | 2 +-
src/hb-font-private.h | 3 +-
- src/hb-font.cc | 96
- +++++++++++++++++++++++++++++++++++----------------
+ src/hb-font.cc | 96 +++++++++++++++++++++++++++++++++++----------------
src/hb-font.h | 61 ++++++++++++++++++++------------
src/hb-ft.c | 72 +++++++++++++++++++++++---------------
src/hb-ot-shape.cc | 7 ++--
@@ -90868,7 +88666,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 13 18:33:16 2010 -0400
Massage mask setting a bit more
-
+
Still finding the exact correct way the masks should be set.
src/hb-buffer-private.hh | 19 ++++++++++++++++---
@@ -90890,11 +88688,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 13 15:54:06 2010 -0400
Make sure boolean features always use value=1
-
- Previously boolean features turned on the entire feature mask.
- This is
- wrong if feature is Alternate and user has provided values bigger
- than one.
+
+ Previously boolean features turned on the entire feature mask. This is
+ wrong if feature is Alternate and user has provided values bigger than one.
Though, I don't think other engines support such corner cases.
src/hb-ot-map-private.hh | 10 ++++++++--
@@ -90926,7 +88722,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 13 15:34:50 2010 -0400
Fix applying default-value for features
-
+
Previously if a default global feature was overrided by a non-global
user feature, we were not setting any default mask for the feature,
essentially disabling the feature by default. Fix that.
@@ -90959,11 +88755,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Oct 13 10:57:27 2010 -0400
Cleanup TODO
-
+
Looks like a roadmap now.
- TODO | 72
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------
+ TODO | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------
1 file changed, 59 insertions(+), 13 deletions(-)
commit 3111b8a0d5b38da57c0f6285aec2b92eb690188f
@@ -90989,7 +88784,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 12 17:37:44 2010 -0400
Fix Arabic shaper
-
+
It's tested now. It works!
src/hb-ot-shape-complex-arabic.cc | 7 ++++---
@@ -91000,12 +88795,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 12 17:23:54 2010 -0400
Hookup Arabic shaper!
-
+
Not tested yet.
src/hb-ot-shape-complex-arabic.cc | 6 +++---
- src/hb-ot-shape-complex-private.hh | 37
- ++++++++++++++++++++++---------------
+ src/hb-ot-shape-complex-private.hh | 37 ++++++++++++++++++++++---------------
src/hb-ot-shape-private.hh | 14 +++++++++++++-
src/hb-ot-shape.cc | 3 ++-
4 files changed, 40 insertions(+), 20 deletions(-)
@@ -91045,7 +88839,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 12 16:57:47 2010 -0400
Add hb_ot_shape_execute()
-
+
Not public yet.
src/hb-ot-shape-private.hh | 5 ++---
@@ -91062,8 +88856,7 @@ Date: Tue Oct 12 16:50:36 2010 -0400
src/hb-ot-map-private.hh | 2 +-
src/hb-ot-map.cc | 2 +-
...ape-arabic.cc => hb-ot-shape-complex-arabic.cc} | 9 +++
- src/hb-ot-shape-complex-private.hh | 88
- ++++++++++++++++++++++
+ src/hb-ot-shape-complex-private.hh | 88 ++++++++++++++++++++++
src/hb-ot-shape-private.hh | 12 +--
src/hb-ot-shape.cc | 8 +-
7 files changed, 107 insertions(+), 17 deletions(-)
@@ -91073,9 +88866,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 12 16:19:29 2010 -0400
Add hb_ot_shape_plan_t
-
- This is the object that a separate plan/execute shaping API will
- use in
+
+ This is the object that a separate plan/execute shaping API will use in
between the two stages.
src/hb-ot-shape-private.hh | 12 ++++++++++--
@@ -91103,8 +88895,7 @@ Date: Tue Oct 12 15:35:45 2010 -0400
src/hb-ot-map-private.hh | 32 +++++---------------------------
src/hb-ot-map.cc | 32 +++++++++++++++++++++++++++++---
src/hb-ot-shape-private.hh | 16 ++++++++++++++--
- src/hb-ot-shape.cc | 43
- ++++++++++++++++++++++++++++---------------
+ src/hb-ot-shape.cc | 43 ++++++++++++++++++++++++++++---------------
src/hb-ot-shape.h | 10 +++++-----
5 files changed, 81 insertions(+), 52 deletions(-)
@@ -91122,9 +88913,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 12 12:32:18 2010 -0400
Fix infinite loop!
-
+
Untested code is indeed buggy code.
-
+
Mozilla bug #603352.
src/hb-ot-tag.c | 6 ++----
@@ -91135,7 +88926,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 12 11:17:30 2010 -0400
Fix missing negation in unreachable code!
-
+
Mozilla bug #603346
src/hb-open-type-private.hh | 5 ++---
@@ -91174,14 +88965,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 8 20:20:32 2010 -0400
Rename hb_mask_allocator_t to hb_ot_map_t
-
+
hb_ot_plan_t may be a better name, donno.
src/hb-ot-map-private.hh | 4 ++--
src/hb-ot-map.cc | 2 +-
src/hb-ot-shape-private.hh | 4 ++--
- src/hb-ot-shape.cc | 49
- +++++++++++++++++++++-------------------------
+ src/hb-ot-shape.cc | 49 +++++++++++++++++++++-------------------------
4 files changed, 27 insertions(+), 32 deletions(-)
commit f5dd3be46b5c77a2c5b97b82a0b67ac9e851b898
@@ -91202,8 +88992,7 @@ Date: Fri Oct 8 20:14:57 2010 -0400
src/Makefile.am | 1 +
src/hb-ot-map-private.hh | 129 +-----------------------------------
- src/hb-ot-map.cc | 165
- +++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-map.cc | 165 +++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 168 insertions(+), 127 deletions(-)
commit ecc4550ed7bc900a61081edfbcd0ad09cbf29b36
@@ -91222,8 +89011,7 @@ Date: Fri Oct 8 19:43:48 2010 -0400
Minor cleanup
src/hb-open-type-private.hh | 8 ++----
- src/hb-ot-map-private.hh | 61
- +++++++++++++--------------------------------
+ src/hb-ot-map-private.hh | 61 +++++++++++++--------------------------------
src/hb-ot-tag.c | 11 ++++----
src/hb-private.h | 4 +++
4 files changed, 28 insertions(+), 56 deletions(-)
@@ -91236,8 +89024,7 @@ Date: Fri Oct 8 19:18:40 2010 -0400
src/Makefile.am | 1 +
src/hb-ot-shape-arabic.cc | 2 +-
- src/hb-ot-shape-private.hh | 60
- ++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-shape-private.hh | 60 ++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 62 insertions(+), 1 deletion(-)
commit 4924affe0f0adf75f2a0e2137a71206b0576d63f
@@ -91247,8 +89034,7 @@ Date: Fri Oct 8 19:18:16 2010 -0400
Add hb-ot-map-private.hh
src/Makefile.am | 1 +
- src/hb-ot-map-private.hh | 307
- +++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-map-private.hh | 307 +++++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-shape.cc | 274 ++----------------------------------------
3 files changed, 315 insertions(+), 267 deletions(-)
@@ -91266,11 +89052,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Oct 8 18:41:57 2010 -0400
Flip the OT bit-allocation vs gsub/gpos inside-out
-
+
We now build our entire attack plan before jumping in.
- src/hb-ot-shape.cc | 333
- ++++++++++++++++++++++++++++-------------------------
+ src/hb-ot-shape.cc | 333 ++++++++++++++++++++++++++++-------------------------
1 file changed, 176 insertions(+), 157 deletions(-)
commit e89b7d2a61b7f58e6c7cec00d5ce2246dee1e8a1
@@ -91315,8 +89100,7 @@ Date: Thu Oct 7 21:12:46 2010 -0400
Simplify compiling lookups
- src/hb-ot-shape.cc | 66
- ++++++++++++++++++++++--------------------------------
+ src/hb-ot-shape.cc | 66 ++++++++++++++++++++++--------------------------------
1 file changed, 27 insertions(+), 39 deletions(-)
commit 476c94218b4f5b8e119e82b0e10b641e0c10bf56
@@ -91371,8 +89155,7 @@ Date: Tue Oct 5 23:00:05 2010 -0400
Add internal hb_ot_shape_context_t
src/hb-ot-shape-arabic.cc | 26 ++---
- src/hb-ot-shape.cc | 237
- +++++++++++++++++++---------------------------
+ src/hb-ot-shape.cc | 237 +++++++++++++++++++---------------------------
2 files changed, 108 insertions(+), 155 deletions(-)
commit 3eb936f1539475098f39be78654b9c39b86f0799
@@ -91380,13 +89163,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Oct 5 18:36:58 2010 -0400
Add Arabic/Syriac/N'ko shaping logic
-
+
Not hooked up just yet.
src/Makefile.am | 9 +
src/gen-arabic-joining-table.py | 39 +++
- src/hb-ot-shape-arabic.cc | 716
- ++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-shape-arabic.cc | 716 ++++++++++++++++++++++++++++++++++++++++
3 files changed, 764 insertions(+)
commit 0109816b50064a314389333ff64aaf22cb4b1e56
@@ -91432,7 +89214,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 4 17:01:01 2010 -0400
Add is_mutable() functions
-
+
Correspond to the make_mutable() ones.
src/hb-font.cc | 6 ++++++
@@ -91446,13 +89228,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Oct 4 16:45:21 2010 -0400
Add getters for all setter APIs
-
+
One in particular is not a straight getter: hb_font_unset_funcs() is
special because of the specific needs of the lifecycle management of
the user_data object.
- src/hb-font.cc | 64
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-font.cc | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-font.h | 40 +++++++++++++++++++++++++++++++++++
src/hb-unicode.c | 32 ++++++++++++++++++++++++++++
src/hb-unicode.h | 31 ++++++++++++++++++++++++++-
@@ -91494,7 +89275,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Sep 29 12:20:36 2010 -0400
Don't zero glyph advances in MarkToBase and similar lookups
-
+
See email thread "Should MarkToBase attachment zero the mark advance?"
started by Jonathan Kew on 23 August 2010 for details.
@@ -91515,7 +89296,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Sep 28 16:23:58 2010 -0400
Improve cmp function parameter namings and casts
-
+
No semantic change.
src/hb-open-type-private.hh | 6 +++---
@@ -91555,7 +89336,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Sep 23 10:27:08 2010 -0400
Remove unimplemented method hb_font_get_funcs()
-
+
Got to add a suitable replacement.
src/hb-font.h | 3 ---
@@ -91568,8 +89349,7 @@ Date: Wed Sep 22 17:42:59 2010 -0400
Add test.c using public API
src/Makefile.am | 6 +++-
- src/test.c | 94
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/test.c | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 99 insertions(+), 1 deletion(-)
commit 9ea7368fce3fa373d8d2925961ad211f5cf6ce70
@@ -91613,7 +89393,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 16 14:36:27 2010 -0400
Fix NULL dereference
-
+
Reported by Jonathan Kew. Face table handling needs to be redone
anyway, but fix this for now.
@@ -91625,7 +89405,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Aug 13 14:10:02 2010 -0400
[GPOS] Fix div-by-zero
-
+
Patch by Jonathan Kew. Mozilla bug #465728.
src/hb-ot-layout-gpos-private.hh | 2 +-
@@ -91668,8 +89448,7 @@ Date: Fri Jul 23 17:22:11 2010 -0400
src/hb-buffer.cc | 12 ++++++------
src/hb-ot-layout-gpos-private.hh | 2 +-
src/hb-ot-layout.cc | 2 +-
- src/hb-ot-shape.cc | 41
- ++++++++++++++++------------------------
+ src/hb-ot-shape.cc | 41 ++++++++++++++++------------------------
5 files changed, 30 insertions(+), 36 deletions(-)
commit da6cff3864d2ef4a061a29e5918359bafcd51f4c
@@ -91742,7 +89521,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 23 15:00:13 2010 -0400
De-C++ where possible
-
+
Helps with avoiding many "extern C" declarations in source files.
src/Makefile.am | 4 ++--
@@ -91771,8 +89550,7 @@ Date: Fri Jul 23 14:54:22 2010 -0400
dos2unix
- src/hb-ot-head-private.hh | 256
- +++++++++++++++++++++++-----------------------
+ src/hb-ot-head-private.hh | 256 +++++++++++++++++++++++-----------------------
1 file changed, 128 insertions(+), 128 deletions(-)
commit 81408cd51ce575891e79e6483be187130f864c28
@@ -91780,9 +89558,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Jul 23 14:46:57 2010 -0400
Don't use "operator ="
-
- Some compilers don't like operator = defined on members of union
- members
+
+ Some compilers don't like operator = defined on members of union members
either. Reported by Ginn Chen for Sun Studio compilers.
src/hb-open-type-private.hh | 6 +++---
@@ -91820,7 +89597,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 21 16:37:01 2010 -0400
Mozilla bug 580233 - check for zero-length record in hb sanitizer.
-
+
Patch / report by Jonathan Kew.
src/hb-open-type-private.hh | 2 +-
@@ -91840,8 +89617,7 @@ commit fd56ae49637b978ea3b36fab5b48f1a3cc99e90e
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jul 8 00:53:40 2010 -0400
- Don't bother sorting, it's a safe font error if the array is not
- sorted
+ Don't bother sorting, it's a safe font error if the array is not sorted
src/hb-open-type-private.hh | 29 -----------------------------
src/hb-ot-layout-common-private.hh | 7 -------
@@ -91854,8 +89630,7 @@ Date: Thu Jul 8 00:40:04 2010 -0400
Use bsearch where applicable
src/hb-open-type-private.hh | 49 +++++++++++++
- src/hb-ot-layout-common-private.hh | 145
- +++++++++++++------------------------
+ src/hb-ot-layout-common-private.hh | 145 +++++++++++++------------------------
2 files changed, 100 insertions(+), 94 deletions(-)
commit 2f418f5709b2b8b3ef2f6056b9d8c13b66f0b74a
@@ -91905,7 +89680,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jun 3 11:37:51 2010 -0400
Followup fix for variation-selectors
-
+
Patch from Jonathan Kew
src/hb-ot-shape.cc | 3 ++-
@@ -91971,8 +89746,7 @@ Date: Fri May 28 20:21:47 2010 -0400
Towards a mask allocator
- src/hb-ot-shape.cc | 291
- ++++++++++++++++++++++++++++++++++-------------------
+ src/hb-ot-shape.cc | 291 ++++++++++++++++++++++++++++++++++-------------------
1 file changed, 186 insertions(+), 105 deletions(-)
commit 81c5e8724b740c6e42ed3a45e0574c7c5f3ad8e6
@@ -91980,13 +89754,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 28 18:31:16 2010 -0400
Allow disabling default features
-
+
Patch from Jonathan Kew
src/hb-buffer-private.hh | 18 +++--
src/hb-buffer.cc | 15 ++--
- src/hb-ot-shape.cc | 196
- ++++++++++++++++++++++++++++++++---------------
+ src/hb-ot-shape.cc | 196 ++++++++++++++++++++++++++++++++---------------
3 files changed, 153 insertions(+), 76 deletions(-)
commit 2163afbf35044f59dbf449254e65b8c9feb6cdeb
@@ -92015,10 +89788,8 @@ Date: Thu May 27 10:09:04 2010 +0100
contrib/python/README | 10 ++++
contrib/python/lib/fontconfig.pyx | 47 +++++++++++++++++
- contrib/python/lib/harfbuzz.pyx | 104
- ++------------------------------------
- contrib/python/scripts/hbtestfont | 103
- +++++++++++++++++++++++++++++++++----
+ contrib/python/lib/harfbuzz.pyx | 104 ++------------------------------------
+ contrib/python/scripts/hbtestfont | 103 +++++++++++++++++++++++++++++++++----
contrib/python/setup.py | 3 +-
src/hb-graphite.cc | 8 +--
6 files changed, 159 insertions(+), 116 deletions(-)
@@ -92046,17 +89817,14 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 26 10:48:10 2010 -0400
Revert "Merge remote branch 'martin/master'"
-
- This reverts commit 80af2812fb3b231ddcb4608ec13c6038a681c818,
- reversing
+
+ This reverts commit 80af2812fb3b231ddcb4608ec13c6038a681c818, reversing
changes made to c442672ec2fb83ed41f3994b3aa4f92a097664ab.
contrib/python/README | 10 ----
contrib/python/lib/fontconfig.pyx | 47 -----------------
- contrib/python/lib/harfbuzz.pyx | 104
- ++++++++++++++++++++++++++++++++++++--
- contrib/python/scripts/hbtestfont | 98
- ++++-------------------------------
+ contrib/python/lib/harfbuzz.pyx | 104 ++++++++++++++++++++++++++++++++++++--
+ contrib/python/scripts/hbtestfont | 98 ++++-------------------------------
contrib/python/setup.py | 3 +-
src/Makefile.am | 2 +-
src/hb-graphite.cc | 8 +--
@@ -92098,7 +89866,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 24 17:50:19 2010 +0100
Make sure we initialize all callbacks upon creation
-
+
Also fixes issue with unicode callbacks never being set really.
src/hb-font.cc | 18 +++++++-----------
@@ -92122,10 +89890,7 @@ commit 3109a86add936ae4cc77541fc026c4fe2db4e328
Author: Martin Hosken <martin_hosken@sil.org>
Date: Mon May 24 13:25:37 2010 +0100
- hb-graphite now no longer has -ve advances within clusters. Fix
- infinite loop in tag_to_script(). python fixed to use tag_to_script
- and allow hbtestfont to be passed font files, where fontconfig knows
- about them.
+ hb-graphite now no longer has -ve advances within clusters. Fix infinite loop in tag_to_script(). python fixed to use tag_to_script and allow hbtestfont to be passed font files, where fontconfig knows about them.
contrib/python/lib/harfbuzz.pyx | 4 ++--
contrib/python/scripts/hbtestfont | 6 +++++-
@@ -92140,8 +89905,7 @@ Date: Sat May 22 20:19:00 2010 +0100
Tidy up hbtestfont and add README
contrib/python/README | 10 +++
- contrib/python/scripts/hbtestfont | 134
- +++++++++++++++++++-------------------
+ contrib/python/scripts/hbtestfont | 134 +++++++++++++++++++-------------------
2 files changed, 77 insertions(+), 67 deletions(-)
commit 70ae332fe66510500d303b6fcc79537833b42f05
@@ -92151,8 +89915,7 @@ Date: Sat May 22 19:58:00 2010 +0100
Add fontconfig to hbtestfont
contrib/python/lib/fontconfig.pyx | 47 ++++++++++++++++++++++++++++
- contrib/python/scripts/hbtestfont | 64
- ++++++++++++++++++++++++---------------
+ contrib/python/scripts/hbtestfont | 64 ++++++++++++++++++++++++---------------
contrib/python/setup.py | 3 +-
3 files changed, 88 insertions(+), 26 deletions(-)
@@ -92169,8 +89932,7 @@ Date: Sat May 22 00:56:40 2010 +0100
Add graphical output to hbtestfont
- contrib/python/lib/harfbuzz.pyx | 100
- +-------------------------------------
+ contrib/python/lib/harfbuzz.pyx | 100 +-------------------------------------
contrib/python/scripts/hbtestfont | 62 ++++++++++++++++++++++-
src/Makefile.am | 2 +-
src/hb-ot-shape.cc | 2 +-
@@ -92220,8 +89982,7 @@ Date: Fri May 21 17:53:10 2010 +0100
Add ltra, ltrm, and rtla features
- src/hb-ot-shape.cc | 60
- +++++++++++++++++++++++++++++++++++++++++++-----------
+ src/hb-ot-shape.cc | 60 +++++++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 48 insertions(+), 12 deletions(-)
commit 1ce7b87c4d8d1ab3ec1d5198351d71b7199f7c64
@@ -92232,8 +89993,7 @@ Date: Fri May 21 17:31:45 2010 +0100
src/hb-buffer-private.hh | 16 +++++++++++++
src/hb-buffer.cc | 36 +++++++++++++++++++++++++++++
- src/hb-ot-shape.cc | 60
- +++++++++++++++++++++---------------------------
+ src/hb-ot-shape.cc | 60 +++++++++++++++++++++---------------------------
3 files changed, 78 insertions(+), 34 deletions(-)
commit dd22a8f7bfd424a69286e90f79d2a23af6e89ec1
@@ -92307,10 +90067,8 @@ Date: Fri May 21 14:34:23 2010 +0100
Move main shaper code into hb_ot_shape()
src/hb-ot-shape-private.hh | 53 -----------
- src/hb-ot-shape.cc | 225
- ++++++++++++++++++++++++++++++++++++++++++---
- src/hb-shape.cc | 209
- +----------------------------------------
+ src/hb-ot-shape.cc | 225 ++++++++++++++++++++++++++++++++++++++++++---
+ src/hb-shape.cc | 209 +----------------------------------------
3 files changed, 214 insertions(+), 273 deletions(-)
commit 7acd232d36c2b2ed03823e6aa6bb2b814bf673b3
@@ -92339,8 +90097,7 @@ Date: Fri May 21 14:02:20 2010 +0100
configure.ac | 6 ++
src/Makefile.am | 11 ++
- src/hb-graphite.cc | 308
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-graphite.cc | 308 +++++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-graphite.h | 46 ++++++++
src/hb-shape.cc | 15 +++
5 files changed, 386 insertions(+)
@@ -92351,8 +90108,7 @@ Date: Fri May 21 13:51:29 2010 +0100
Update the Python module
- contrib/python/lib/harfbuzz.pyx | 40
- +++++++++++++++++++++-------------------
+ contrib/python/lib/harfbuzz.pyx | 40 +++++++++++++++++++++-------------------
1 file changed, 21 insertions(+), 19 deletions(-)
commit 83f34677bcbc6bb194940407b0fcb23575650e3d
@@ -92380,7 +90136,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 21 13:32:38 2010 +0100
Speed up feature mask setting
-
+
Patch from Jonathan Kew.
src/hb-ot-shape.cc | 31 +++++++++++++++++++++++++------
@@ -92423,8 +90179,7 @@ Date: Fri May 21 10:33:23 2010 +0100
Add Python wrapper from Martin Hosken
- contrib/python/lib/harfbuzz.pyx | 306
- ++++++++++++++++++++++++++++++++++++++
+ contrib/python/lib/harfbuzz.pyx | 306 ++++++++++++++++++++++++++++++++++++++
contrib/python/runpy | 2 +
contrib/python/scripts/hbtestfont | 35 +++++
contrib/python/setup.py | 24 +++
@@ -92485,7 +90240,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 20 17:26:35 2010 +0100
Do alternate glyph selection!
-
+
Kinda hand-wavy right now. Not tested.
src/hb-ot-layout-gpos-private.hh | 12 +++++++-----
@@ -92508,9 +90263,8 @@ commit 99d9ef785f108df76f80a307eaa2784685ea86ba
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 20 15:47:49 2010 +0100
- Write hb_face_create_for_data() in terms of
- hb_face_create_for_tables()
-
+ Write hb_face_create_for_data() in terms of hb_face_create_for_tables()
+
Fixes lack of head_table initialization in create_for_tables() also.
src/hb-font.cc | 35 ++++++++++++-----------------------
@@ -92548,7 +90302,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 20 14:05:02 2010 +0100
Update always-apply mask from 0xFFFF to 1
-
+
We plan to use the first bit to be always on.
src/hb-ot-shape.cc | 4 ++--
@@ -92559,11 +90313,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 20 14:00:57 2010 +0100
Invert the mask logic
-
+
Before, the mask in the buffer was inverted. That is, a 0 bit meant
feature should be applied and 1 meant not applied, whereas in the
lookups, the logic was positive.
-
+
Now both are in sync. When calling hb_buffer_add_glyph() manually,
the mask should be 1 instead of 0.
@@ -92577,7 +90331,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 20 13:40:18 2010 +0100
Apply user features
-
+
No ranges yet
src/hb-ot-shape.cc | 8 ++++++++
@@ -92597,14 +90351,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 19 15:45:06 2010 -0400
Fix scale issues
-
+
hb_font_set_scale() now sets the value to be used to represent a unit
- pixel. For example, if rendering a 10px font with a 26.6
- representation,
- you would set scale to (10 << 6). For 10px in 16.16 you would set
- it to
- (10 << 16). This space should be the same space that the
- get_glyph_metrics
+ pixel. For example, if rendering a 10px font with a 26.6 representation,
+ you would set scale to (10 << 6). For 10px in 16.16 you would set it to
+ (10 << 16). This space should be the same space that the get_glyph_metrics
and get_kerning callbacks work in.
src/hb-common.h | 1 -
@@ -92613,8 +90364,7 @@ Date: Wed May 19 15:45:06 2010 -0400
src/hb-font.h | 12 +++---------
src/hb-ft.cc | 4 ++--
src/hb-ot-layout-gdef-private.hh | 6 +++---
- src/hb-ot-layout-gpos-private.hh | 37
- +++++++++++++++++--------------------
+ src/hb-ot-layout-gpos-private.hh | 37 +++++++++++++++++--------------------
src/hb-ot-layout-gsub-private.hh | 2 +-
src/hb-ot-layout-private.hh | 20 +++++++++++---------
src/hb-ot-layout.cc | 31 +++++++++++++++----------------
@@ -92631,8 +90381,7 @@ Date: Wed May 19 12:03:35 2010 -0400
src/hb-font-private.hh | 5 ++
src/hb-font.cc | 9 ++++
src/hb-open-type-private.hh | 2 +-
- src/hb-ot-head-private.hh | 128
- ++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-head-private.hh | 128 ++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 144 insertions(+), 1 deletion(-)
commit e29caf3f943b2b6f4997f469f7274252c82f465e
@@ -92650,8 +90399,7 @@ Date: Mon May 17 15:14:14 2010 -0400
Minor
- src/hb-ot-layout.cc | 52
- +++++++++++++++++++++++++++-------------------------
+ src/hb-ot-layout.cc | 52 +++++++++++++++++++++++++++-------------------------
1 file changed, 27 insertions(+), 25 deletions(-)
commit 73af7756dc6d3961f176854246e5722baff101fb
@@ -92669,8 +90417,7 @@ Date: Fri May 14 23:28:44 2010 -0400
Add an inline version of hb_buffer_ensure()
- src/hb-buffer.cc | 117
- ++++++++++++++++++++++++++++++-------------------------
+ src/hb-buffer.cc | 117 ++++++++++++++++++++++++++++++-------------------------
1 file changed, 63 insertions(+), 54 deletions(-)
commit a6a79df5fe2ed2cd307e7a991346faee164e70d9
@@ -92680,8 +90427,7 @@ Date: Fri May 14 23:20:16 2010 -0400
Handle malloc failture in the buffer
src/hb-buffer-private.hh | 5 ++--
- src/hb-buffer.cc | 71
- +++++++++++++++++++++++++++++-------------------
+ src/hb-buffer.cc | 71 +++++++++++++++++++++++++++++-------------------
src/hb-buffer.h | 2 +-
3 files changed, 47 insertions(+), 31 deletions(-)
@@ -92691,8 +90437,7 @@ Date: Fri May 14 22:25:42 2010 -0400
Minor
- src/hb-shape.cc | 60
- +++++++++++++++++++++++++--------------------------------
+ src/hb-shape.cc | 60 +++++++++++++++++++++++++--------------------------------
1 file changed, 26 insertions(+), 34 deletions(-)
commit 910a33fe8457a8e13f7eb77fc92fa59c31f5e8fd
@@ -92713,8 +90458,7 @@ Date: Fri May 14 22:10:39 2010 -0400
src/hb-buffer-private.hh | 2 +-
src/hb-buffer.cc | 52 ++++++++++----------
- src/hb-ot-layout-gpos-private.hh | 94
- ++++++++++++++++++------------------
+ src/hb-ot-layout-gpos-private.hh | 94 ++++++++++++++++++------------------
src/hb-ot-layout-gsub-private.hh | 48 +++++++++---------
src/hb-ot-layout-gsubgpos-private.hh | 46 +++++++++---------
src/hb-shape.cc | 40 +++++++--------
@@ -92724,12 +90468,10 @@ commit 29427c5c51ac70aca53ed523fa5ddb3de4355fb0
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 14 22:08:22 2010 -0400
- Shortening buffer accessors: rename buffer->out_length to
- buffer->out_len
+ Shortening buffer accessors: rename buffer->out_length to buffer->out_len
src/hb-buffer-private.hh | 2 +-
- src/hb-buffer.cc | 52
- ++++++++++++++++++------------------
+ src/hb-buffer.cc | 52 ++++++++++++++++++------------------
src/hb-ot-layout-gsub-private.hh | 2 +-
src/hb-ot-layout-gsubgpos-private.hh | 6 ++---
4 files changed, 31 insertions(+), 31 deletions(-)
@@ -92764,12 +90506,10 @@ commit 9d5e26df0877aa5b187764ba09bd7bf221e92968
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 14 22:03:11 2010 -0400
- Shortening buffer accessors: rename buffer->out_string to
- buffer->out_info
+ Shortening buffer accessors: rename buffer->out_string to buffer->out_info
src/hb-buffer-private.hh | 2 +-
- src/hb-buffer.cc | 56
- ++++++++++++++++++------------------
+ src/hb-buffer.cc | 56 ++++++++++++++++++------------------
src/hb-ot-layout-gsubgpos-private.hh | 4 +--
3 files changed, 31 insertions(+), 31 deletions(-)
@@ -92780,8 +90520,7 @@ Date: Fri May 14 22:02:37 2010 -0400
Shortening buffer accessors: rename buffer->in_string to buffer->info
src/hb-buffer-private.hh | 2 +-
- src/hb-buffer.cc | 82
- ++++++++++++++++++------------------
+ src/hb-buffer.cc | 82 ++++++++++++++++++------------------
src/hb-ot-layout-gpos-private.hh | 58 ++++++++++++-------------
src/hb-ot-layout-gsub-private.hh | 30 ++++++-------
src/hb-ot-layout-gsubgpos-private.hh | 26 ++++++------
@@ -92795,8 +90534,7 @@ Date: Fri May 14 21:58:22 2010 -0400
Merge buffer->out_pos and buffer->out_length
src/hb-buffer-private.hh | 1 -
- src/hb-buffer.cc | 48
- +++++++++++++++---------------------
+ src/hb-buffer.cc | 48 +++++++++++++++---------------------
src/hb-ot-layout-gsub-private.hh | 2 +-
src/hb-ot-layout-gsubgpos-private.hh | 6 ++---
4 files changed, 24 insertions(+), 33 deletions(-)
@@ -92933,8 +90671,7 @@ Date: Fri May 14 19:55:27 2010 -0400
Remove POSITION() and CURPOSITION() macros
src/hb-buffer-private.hh | 2 --
- src/hb-ot-layout-gpos-private.hh | 54
- ++++++++++++++++++++--------------------
+ src/hb-ot-layout-gpos-private.hh | 54 ++++++++++++++++++++--------------------
src/hb-shape.cc | 10 ++++----
3 files changed, 32 insertions(+), 34 deletions(-)
@@ -92948,8 +90685,7 @@ Date: Thu May 13 14:18:49 2010 -0400
src/hb-open-type-private.hh | 100 ++++----
src/hb-ot-layout-common-private.hh | 84 +++----
src/hb-ot-layout-gdef-private.hh | 98 ++++----
- src/hb-ot-layout-gpos-private.hh | 460
- +++++++++++++++++------------------
+ src/hb-ot-layout-gpos-private.hh | 460 +++++++++++++++++------------------
src/hb-ot-layout-gsub-private.hh | 306 +++++++++++------------
src/hb-ot-layout-gsubgpos-private.hh | 258 ++++++++++----------
src/hb-ot-layout.cc | 24 +-
@@ -92997,7 +90733,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 12 23:46:16 2010 -0400
Make HB_PRIVATE more useful
-
+
So we can apply it to class methods also. Not sure if that works!
src/hb-blob-private.h | 2 +-
@@ -93024,8 +90760,7 @@ Date: Wed May 12 23:34:52 2010 -0400
Add buffer->swap()
- src/hb-buffer-private.hh | 68
- ++++++++++++++++++++++------------------
+ src/hb-buffer-private.hh | 68 ++++++++++++++++++++++------------------
src/hb-ot-layout-gsub-private.hh | 2 +-
2 files changed, 38 insertions(+), 32 deletions(-)
@@ -93065,7 +90800,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 12 18:29:25 2010 -0400
Use bit tricks for HB_DIRECTION_IS_*
-
+
We already depend on the exact values of the direction enum
in HB_DIRECTION_REVERSE(), so we may as well use that.
@@ -93077,14 +90812,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 12 18:23:21 2010 -0400
Rename a few files to be C++ sources
-
+
In anticipation for buffer revamp coming.
- src/Makefile.am | 16
- ++++++++--------
+ src/Makefile.am | 16 ++++++++--------
src/{hb-buffer-private.h => hb-buffer-private.hh} | 2 +-
- src/{hb-buffer.c => hb-buffer.cc} | 14
- +++++++-------
+ src/{hb-buffer.c => hb-buffer.cc} | 14 +++++++-------
src/hb-common.h | 1 +
src/{hb-font-private.h => hb-font-private.hh} | 2 +-
src/hb-font.cc | 4 ++--
@@ -93123,8 +90856,7 @@ Date: Tue May 11 00:23:50 2010 -0400
Simplify PairSet
- src/hb-ot-layout-gpos-private.hh | 101
- +++++++++++++++++++++------------------
+ src/hb-ot-layout-gpos-private.hh | 101 +++++++++++++++++++++------------------
1 file changed, 54 insertions(+), 47 deletions(-)
commit 97e7f8f305c47caf2968a9da3b8407825547286d
@@ -93141,7 +90873,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 10 23:50:07 2010 -0400
Simplify likely() implementation
-
+
Shrinks .text by 1%!
src/hb-private.h | 10 +---------
@@ -93161,7 +90893,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 10 23:27:54 2010 -0400
Sprinkle a few strategic likely()'s
-
+
Shrinks the code size by some 2% even.
src/hb-open-file-private.hh | 4 ++--
@@ -93224,7 +90956,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 10 21:39:24 2010 -0400
Fix awful confusion between lookup format and subtable format
-
+
As reported by John Daggett.
src/hb-ot-layout-gpos-private.hh | 14 +++++++-------
@@ -93279,8 +91011,7 @@ Date: Mon May 10 19:45:41 2010 -0400
src/hb-open-file-private.hh | 24 +++----
src/hb-ot-layout-common-private.hh | 24 +++----
src/hb-ot-layout-gdef-private.hh | 24 +++----
- src/hb-ot-layout-gpos-private.hh | 120
- +++++++++++++++++------------------
+ src/hb-ot-layout-gpos-private.hh | 120 +++++++++++++++++------------------
src/hb-ot-layout-gsub-private.hh | 88 ++++++++++++-------------
src/hb-ot-layout-gsubgpos-private.hh | 44 ++++++-------
6 files changed, 163 insertions(+), 161 deletions(-)
@@ -93384,11 +91115,9 @@ Date: Mon May 10 17:47:22 2010 -0400
src/hb-open-type-private.hh | 12 ++++++------
src/hb-ot-layout-common-private.hh | 2 +-
- src/hb-ot-layout-gpos-private.hh | 34
- +++++++++++++++++-----------------
+ src/hb-ot-layout-gpos-private.hh | 34 +++++++++++++++++-----------------
src/hb-ot-layout-gsub-private.hh | 4 ++--
- src/hb-ot-layout-gsubgpos-private.hh | 34
- +++++++++++++++++-----------------
+ src/hb-ot-layout-gsubgpos-private.hh | 34 +++++++++++++++++-----------------
5 files changed, 43 insertions(+), 43 deletions(-)
commit 09766b1ec5ec55a61edbcd7a89ed3613cc92d4cb
@@ -93396,7 +91125,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 10 17:36:03 2010 -0400
Make StructAtOffset take a pointer
-
+
Is safer.
src/hb-open-type-private.hh | 26 +++++++++++++-------------
@@ -93438,8 +91167,7 @@ Date: Mon May 10 16:57:29 2010 -0400
src/hb-open-type-private.hh | 20 +++++++++++++---
src/hb-ot-layout-common-private.hh | 24 ++++++++++++--------
src/hb-ot-layout-gdef-private.hh | 22 +++++++++++-------
- src/hb-ot-layout-gpos-private.hh | 44
- ++++++++++++++++++++----------------
+ src/hb-ot-layout-gpos-private.hh | 44 ++++++++++++++++++++----------------
src/hb-ot-layout-gsub-private.hh | 32 ++++++++++++++++----------
src/hb-ot-layout-gsubgpos-private.hh | 27 ++++++++++++++--------
src/hb-private.h | 2 --
@@ -93474,7 +91202,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 6 19:35:19 2010 -0400
Simplify DEFINE_NULL_DATA
-
+
Using ::min_size.
src/hb-open-type-private.hh | 6 +++---
@@ -93486,12 +91214,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 6 19:33:31 2010 -0400
Start cleaning up get_size()
-
+
So we know when the size is static and when dynamic.
src/hb-open-file-private.hh | 7 +++---
- src/hb-open-type-private.hh | 42
- +++++++++++++++++++++++++-----------
+ src/hb-open-type-private.hh | 42 +++++++++++++++++++++++++-----------
src/hb-ot-layout-common-private.hh | 14 ++++++------
src/hb-ot-layout-gpos-private.hh | 17 ++++++---------
src/hb-ot-layout-gsubgpos-private.hh | 19 ++++++++--------
@@ -93545,8 +91272,7 @@ Date: Thu May 6 12:55:14 2010 -0400
src/hb-open-type-private.hh | 2 -
src/hb-ot-layout-common-private.hh | 6 +--
src/hb-ot-layout-gdef-private.hh | 24 +++++-----
- src/hb-ot-layout-gpos-private.hh | 90
- ++++++++++++++++++------------------
+ src/hb-ot-layout-gpos-private.hh | 90 ++++++++++++++++++------------------
src/hb-ot-layout-gsub-private.hh | 31 ++++++-------
src/hb-ot-layout-gsubgpos-private.hh | 44 +++++++++---------
7 files changed, 98 insertions(+), 101 deletions(-)
@@ -93625,8 +91351,7 @@ Date: Wed May 5 01:37:58 2010 -0400
Simplify chaining
- src/hb-ot-layout-gsubgpos-private.hh | 61
- +++++++++++++++---------------------
+ src/hb-ot-layout-gsubgpos-private.hh | 61 +++++++++++++++---------------------
1 file changed, 25 insertions(+), 36 deletions(-)
commit 1911b9d21b2b7b6b8219ce6c888540e3a60aa9c3
@@ -93635,12 +91360,9 @@ Date: Wed May 5 01:32:04 2010 -0400
Remove APPLY_ARG_DEF and APPLY_ARG
- src/hb-ot-layout-gpos-private.hh | 92
- ++++++++++++++++++------------------
- src/hb-ot-layout-gsub-private.hh | 88
- +++++++++++++++++-----------------
- src/hb-ot-layout-gsubgpos-private.hh | 89
- ++++++++++++++++------------------
+ src/hb-ot-layout-gpos-private.hh | 92 ++++++++++++++++++------------------
+ src/hb-ot-layout-gsub-private.hh | 88 +++++++++++++++++-----------------
+ src/hb-ot-layout-gsubgpos-private.hh | 89 ++++++++++++++++------------------
3 files changed, 132 insertions(+), 137 deletions(-)
commit 6c42cddfe53a1c664081862bb9a3e1c38d05a823
@@ -93662,8 +91384,7 @@ Date: Wed May 5 01:23:44 2010 -0400
src/hb-ot-layout-gpos-private.hh | 9 ++---
src/hb-ot-layout-gsub-private.hh | 9 ++---
- src/hb-ot-layout-gsubgpos-private.hh | 70
- ++++++++++++++++++++----------------
+ src/hb-ot-layout-gsubgpos-private.hh | 70 ++++++++++++++++++++----------------
3 files changed, 50 insertions(+), 38 deletions(-)
commit 94a23aaeca39c662614037ef887412249bdc8d49
@@ -93673,8 +91394,7 @@ Date: Wed May 5 01:13:09 2010 -0400
Move buffer into apply_context
src/hb-buffer-private.h | 30 +++++++++--------
- src/hb-ot-layout-gpos-private.hh | 64
- ++++++++++++++++++++----------------
+ src/hb-ot-layout-gpos-private.hh | 64 ++++++++++++++++++++----------------
src/hb-ot-layout-gsub-private.hh | 45 ++++++++++++++-----------
src/hb-ot-layout-gsubgpos-private.hh | 49 ++++++++++++++-------------
4 files changed, 106 insertions(+), 82 deletions(-)
@@ -93685,8 +91405,7 @@ Date: Wed May 5 01:01:05 2010 -0400
Move layout_context into apply_context
- src/hb-ot-layout-gpos-private.hh | 105
- ++++++++++++++++++-----------------
+ src/hb-ot-layout-gpos-private.hh | 105 ++++++++++++++++++-----------------
src/hb-ot-layout-gsub-private.hh | 47 ++++++++--------
src/hb-ot-layout-gsubgpos-private.hh | 11 ++--
3 files changed, 82 insertions(+), 81 deletions(-)
@@ -93719,8 +91438,7 @@ Date: Wed May 5 00:23:19 2010 -0400
src/hb-open-type-private.hh | 59 +++++++--------
src/hb-ot-layout-common-private.hh | 42 +++++------
src/hb-ot-layout-gdef-private.hh | 28 ++++----
- src/hb-ot-layout-gpos-private.hh | 136
- +++++++++++++++++------------------
+ src/hb-ot-layout-gpos-private.hh | 136 +++++++++++++++++------------------
src/hb-ot-layout-gsub-private.hh | 72 +++++++++----------
src/hb-ot-layout-gsubgpos-private.hh | 46 ++++++------
7 files changed, 197 insertions(+), 202 deletions(-)
@@ -93747,11 +91465,9 @@ commit 20e3dd5d292b65f70d2eae63b8d8713a1c889d47
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue May 4 23:21:57 2010 -0400
- Make sanitize_depth variable automatic and not passed through
- function args
+ Make sanitize_depth variable automatic and not passed through function args
- src/hb-open-type-private.hh | 72
- +++++++++++++++++++++++++++------------------
+ src/hb-open-type-private.hh | 72 +++++++++++++++++++++++++++------------------
1 file changed, 43 insertions(+), 29 deletions(-)
commit 4a446ac35136eff23d55f47bdd7b40095ad707ab
@@ -93770,8 +91486,7 @@ Date: Tue May 4 22:42:49 2010 -0400
Make _hb_sanitize_*() methods of the context object
- src/hb-open-type-private.hh | 190
- +++++++++++++++++++++++---------------------
+ src/hb-open-type-private.hh | 190 +++++++++++++++++++++++---------------------
1 file changed, 98 insertions(+), 92 deletions(-)
commit bb029af943faa9905e652d58856998687e60c31d
@@ -93784,8 +91499,7 @@ Date: Tue May 4 15:28:52 2010 -0400
src/hb-open-type-private.hh | 3 +-
src/hb-ot-layout-common-private.hh | 4 +--
src/hb-ot-layout-gdef-private.hh | 25 ++++++++--------
- src/hb-ot-layout-gpos-private.hh | 55
- ++++++++++++++++++++----------------
+ src/hb-ot-layout-gpos-private.hh | 55 ++++++++++++++++++++----------------
src/hb-ot-layout-gsub-private.hh | 29 ++++++++++---------
src/hb-ot-layout-gsubgpos-private.hh | 42 +++++++++++++--------------
7 files changed, 85 insertions(+), 75 deletions(-)
@@ -93917,8 +91631,7 @@ Date: Mon May 3 22:51:19 2010 -0400
src/hb-open-type-private.hh | 38 ++++++++++-----------
src/hb-ot-layout-common-private.hh | 16 ++++-----
src/hb-ot-layout-gdef-private.hh | 2 +-
- src/hb-ot-layout-gpos-private.hh | 64
- ++++++++++++++++++------------------
+ src/hb-ot-layout-gpos-private.hh | 64 ++++++++++++++++++------------------
src/hb-ot-layout-gsub-private.hh | 52 ++++++++++++++---------------
src/hb-ot-layout-gsubgpos-private.hh | 40 +++++++++++-----------
src/hb-ot-layout.cc | 12 +++----
@@ -94007,8 +91720,7 @@ Date: Thu Apr 29 13:56:44 2010 -0400
Rename HB_GNUC_UNUSED -> HB_UNUSED
src/hb-buffer.c | 6 ++---
- src/hb-font.cc | 44
- ++++++++++++++++++------------------
+ src/hb-font.cc | 44 ++++++++++++++++++------------------
src/hb-ft.c | 16 ++++++-------
src/hb-object-private.h | 2 +-
src/hb-open-type-private.hh | 18 +++++++--------
@@ -94038,11 +91750,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 29 13:48:26 2010 -0400
[sanitize] Make debug code always available to the compiler
-
+
Such that we don't break debug build all the time.
- src/hb-open-type-private.hh | 71
- ++++++++++++++++++++-------------------------
+ src/hb-open-type-private.hh | 71 ++++++++++++++++++++-------------------------
1 file changed, 31 insertions(+), 40 deletions(-)
commit fde6f5bd682f5ad0cc5e2ec69fc831b0192bf90b
@@ -94097,7 +91808,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 29 03:39:39 2010 -0400
Make sure mirroring is done in original direction
-
+
Reported by Jonathan Kew.
src/hb-shape.c | 5 ++++-
@@ -94126,7 +91837,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 29 02:58:38 2010 -0400
Fix bug in hb_language_from_string()
-
+
Reported by Jonathan Kew.
src/hb-language.c | 2 ++
@@ -94167,8 +91878,7 @@ Date: Thu Apr 29 02:24:25 2010 -0400
Rename
- src/hb-ot-layout-gpos-private.hh | 98
- ++++++++++++++++++------------------
+ src/hb-ot-layout-gpos-private.hh | 98 ++++++++++++++++++------------------
src/hb-ot-layout-gsub-private.hh | 46 ++++++++---------
src/hb-ot-layout-gsubgpos-private.hh | 12 ++---
3 files changed, 78 insertions(+), 78 deletions(-)
@@ -94177,13 +91887,11 @@ commit 1376fb7bf9ef07970f0ba13dc64d6a8ab8252762
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 29 02:19:21 2010 -0400
- [apply] Use a context object to reduce number of parameters passed
- around
+ [apply] Use a context object to reduce number of parameters passed around
src/hb-open-type-private.hh | 5 ++---
src/hb-ot-layout-gpos-private.hh | 26 ++++++++++++++-----------
- src/hb-ot-layout-gsub-private.hh | 37
- +++++++++++++++++++-----------------
+ src/hb-ot-layout-gsub-private.hh | 37 +++++++++++++++++++-----------------
src/hb-ot-layout-gsubgpos-private.hh | 29 +++++++++++++++-------------
4 files changed, 53 insertions(+), 44 deletions(-)
@@ -94207,8 +91915,7 @@ Date: Thu Apr 29 01:40:26 2010 -0400
src/hb-open-type-private.hh | 41 +++++++++---------------------
src/hb-ot-layout-gsubgpos-private.hh | 25 +++++--------------
- src/hb-private.h | 48
- +++++++++++++++++++++++++-----------
+ src/hb-private.h | 48 +++++++++++++++++++++++++-----------
3 files changed, 51 insertions(+), 63 deletions(-)
commit 807c5b03a2251a3c29a520852639421783101b55
@@ -94216,7 +91923,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 28 20:25:22 2010 -0400
[sanitize] Make debug code always available to the compiler
-
+
Such that we don't break debug build all the time.
src/hb-open-type-private.hh | 31 ++++++++++++++++++++-----------
@@ -94228,11 +91935,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 28 15:15:09 2010 -0400
[gsubgpos] Make debug code always available to the compiler
-
+
Such that we don't break debug build all the time.
- src/hb-ot-layout-gsubgpos-private.hh | 52
- ++++++++++++++++++------------------
+ src/hb-ot-layout-gsubgpos-private.hh | 52 ++++++++++++++++++------------------
1 file changed, 26 insertions(+), 26 deletions(-)
commit 41011a6ed7c4891b20c0eddbb6d4ad9c820cfddb
@@ -94249,7 +91955,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 28 13:29:55 2010 -0400
[object] Make debug code always available to the compiler
-
+
Such that we don't break debug build all the time.
src/hb-object-private.h | 42 +++++++++++++++++++++++++++---------------
@@ -94269,11 +91975,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Apr 28 13:16:38 2010 -0400
[blob] Make debug code always available to the compiler
-
+
Such that we don't break debug build all the time.
- src/hb-blob.c | 78
- ++++++++++++++++++++++++-----------------------------------
+ src/hb-blob.c | 78 ++++++++++++++++++++++++-----------------------------------
1 file changed, 32 insertions(+), 46 deletions(-)
commit ba51b25c7ba568aeced17f016eceba987569c5d9
@@ -94300,7 +92005,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Apr 27 23:28:10 2010 -0400
[object] Actually handle malloc() failure
-
+
Caught by John Daggett.
src/hb-object-private.h | 10 ++++++----
@@ -94329,7 +92034,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Apr 25 22:51:05 2010 -0400
Remove use of flexible arrays
-
+
Also remove wrong ASSERT_SIZE that would trigger only when not using
flexible arrays (which was the case on win32, but not with gcc).
@@ -94348,8 +92053,7 @@ Date: Fri Apr 23 20:49:18 2010 -0400
src/hb-blob-private.h | 57 +++++++++++++++++++++++++++++++
src/hb-blob.c | 20 ++---------
src/hb-font-private.h | 3 --
- src/hb-font.cc | 92
- +++++++++++++++++++++++++++++++++++----------------
+ src/hb-font.cc | 92 +++++++++++++++++++++++++++++++++++----------------
5 files changed, 123 insertions(+), 50 deletions(-)
commit d6b3c83a90f60bedb4049750ffb351161710980d
@@ -94399,7 +92103,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Apr 23 16:22:54 2010 -0400
Remove GET_FOR_DATA macros
-
+
The major-version check is now handled by sanitize. If major
doesn't match, we reject and fall back to the Null object.
@@ -94481,13 +92185,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Apr 23 13:57:10 2010 -0400
When sanitizing, delay making writable
-
- Before, as soon as we needed to make an edit, we tried to make
- the blob
- writable inplace. That grows code unnecessarily though. We can
- simply
- fail, make writable, then start again. That's indeed what the
- fallback
+
+ Before, as soon as we needed to make an edit, we tried to make the blob
+ writable inplace. That grows code unnecessarily though. We can simply
+ fail, make writable, then start again. That's indeed what the fallback
was doing anyway.
src/hb-open-type-private.hh | 11 +++++++----
@@ -94508,8 +92209,7 @@ Date: Fri Apr 23 13:32:03 2010 -0400
Cleanup OpenTypeFontFile
- src/hb-open-file-private.hh | 44
- ++++++++++++++++++++++++++------------------
+ src/hb-open-file-private.hh | 44 ++++++++++++++++++++++++++------------------
src/main.cc | 2 +-
2 files changed, 27 insertions(+), 19 deletions(-)
@@ -94519,8 +92219,7 @@ Date: Fri Apr 23 12:33:02 2010 -0400
Properly define separate structs for TTCHeader and TTCHeaderVersion1
- src/hb-open-file-private.hh | 71
- +++++++++++++++++++++++++++++++++++----------
+ src/hb-open-file-private.hh | 71 +++++++++++++++++++++++++++++++++++----------
1 file changed, 55 insertions(+), 16 deletions(-)
commit a065f471b3bc23d33ef75217308efeaed4ffd033
@@ -94528,18 +92227,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 22 20:15:11 2010 -0400
Cleanup Extension lookups
-
+
Two things:
-
+
1. Allow nested Extension lookups. The offset is always positive, so
it can't loop circularly.
-
+
2. Move the check for all Extension subtables having the same lookup
type to the correct place. Before it wasn't really working.
src/hb-ot-layout-gpos-private.hh | 29 +-------------------
- src/hb-ot-layout-gsub-private.hh | 57
- ++++++++++++++++++++++------------------
+ src/hb-ot-layout-gsub-private.hh | 57 ++++++++++++++++++++++------------------
2 files changed, 33 insertions(+), 53 deletions(-)
commit a0bb49c5830f8a7f25d573ec57b79df2620ddba7
@@ -94569,8 +92267,7 @@ Date: Thu Apr 22 18:29:09 2010 -0400
Convert the last set of cast macros to templates
src/hb-open-file-private.hh | 4 +--
- src/hb-open-type-private.hh | 53
- +++++++++++++++++++++++-------------
+ src/hb-open-type-private.hh | 53 +++++++++++++++++++++++-------------
src/hb-ot-layout-gpos-private.hh | 16 +++++------
src/hb-ot-layout-gsub-private.hh | 14 +++++-----
src/hb-ot-layout-gsubgpos-private.hh | 12 ++++----
@@ -94602,7 +92299,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 22 14:15:11 2010 -0400
Fail sanitize on major version mismatch
-
+
We handle major-version differences via get_for_data(), so sanitize
should never see a major version mismatch.
@@ -94626,7 +92323,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 22 13:59:39 2010 -0400
Minor cleanup of sanitize
-
+
Done with an audit of all sanitize()
src/hb-ot-layout-gpos-private.hh | 18 +++++++++---------
@@ -94673,7 +92370,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 22 13:22:41 2010 -0400
Remove integrity check in Tag sanitize
-
+
Serves no useful purpose.
src/hb-open-type-private.hh | 9 ---------
@@ -94685,7 +92382,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 22 11:06:30 2010 -0400
Don't sanitize raw table data
-
+
That part is performed by individual table sanitize.
src/hb-open-file-private.hh | 15 +++++++++------
@@ -94960,8 +92657,7 @@ Date: Wed Apr 21 15:56:11 2010 -0400
Convert NEXT() and ARRAY_AFTER() macros to templates
- src/hb-open-type-private.hh | 40
- ++++++++++++++++++++++++++----------
+ src/hb-open-type-private.hh | 40 ++++++++++++++++++++++++++----------
src/hb-ot-layout-common-private.hh | 4 ++--
src/hb-ot-layout-gsub-private.hh | 8 ++++----
src/hb-ot-layout-gsubgpos-private.hh | 24 +++++++++++-----------
@@ -94974,8 +92670,7 @@ Date: Wed Apr 21 13:35:36 2010 -0400
Use templates for const char * casts
src/hb-open-file-private.hh | 12 ++++-----
- src/hb-open-type-private.hh | 48
- ++++++++++++++++++------------------
+ src/hb-open-type-private.hh | 48 ++++++++++++++++++------------------
src/hb-ot-layout-common-private.hh | 2 +-
src/hb-ot-layout-gpos-private.hh | 32 ++++++++++++------------
src/hb-ot-layout-gsub-private.hh | 4 +--
@@ -94998,8 +92693,7 @@ Date: Wed Apr 21 03:11:46 2010 -0400
Use templates for defining int typess
- src/hb-open-type-private.hh | 66
- ++++++++++++++++++++++++++++++---------------
+ src/hb-open-type-private.hh | 66 ++++++++++++++++++++++++++++++---------------
src/hb-private.h | 10 ++-----
2 files changed, 46 insertions(+), 30 deletions(-)
@@ -95037,8 +92731,7 @@ Date: Wed Apr 21 02:12:45 2010 -0400
Move macros around
- src/hb-private.h | 122
- ++++++++++++++++++++++++++++---------------------------
+ src/hb-private.h | 122 ++++++++++++++++++++++++++++---------------------------
1 file changed, 62 insertions(+), 60 deletions(-)
commit 649a4344ca363da3d44cdd908350449ec40ed0f9
@@ -95054,11 +92747,9 @@ commit eba8b4f644701cc6b78b0fcb4e932dce15561598
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Mar 29 00:04:12 2010 -0400
- GNOME Bug 613015 - [HB] Does not sanitize Device tables referenced
- from ValueRecords
+ GNOME Bug 613015 - [HB] Does not sanitize Device tables referenced from ValueRecords
- src/hb-ot-layout-gpos-private.hh | 47
- ++++++++++++++++++++++++++++++----------
+ src/hb-ot-layout-gpos-private.hh | 47 ++++++++++++++++++++++++++++++----------
1 file changed, 36 insertions(+), 11 deletions(-)
commit 673a4efcbc72a62105a24d9b0b54047417160f7d
@@ -95067,8 +92758,7 @@ Date: Wed Apr 21 02:02:57 2010 -0400
WIP
- src/hb-ot-layout-gpos-private.hh | 102
- +++++++++++++++++++++++++++++++--------
+ src/hb-ot-layout-gpos-private.hh | 102 +++++++++++++++++++++++++++++++--------
1 file changed, 81 insertions(+), 21 deletions(-)
commit 40d73bc68dd828cf68f90fde0f9499a6ce9fbb19
@@ -95193,37 +92883,36 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Mar 16 03:46:17 2010 -0400
Fix the mystery bug!
-
+
A couple bugs joined forces to exhibit the mystery behavior of
crashes / infinite loops on OS X / wrong kerning / invalid memory
access. Pooh!
-
+
The bugs were involved:
-
+
- Wrong pointer math with ValueRecord in PairPosFormat1
-
+
- Fallout from avoiding flex arrays, code not correctly updated
to remove sizeof() usage.
-
+
We strictly never use sizeof() directly now. And the PairPos code
is cleaned up. Should fix them all. Bugs are:
-
+
Bug 605655 - Pango 1.26.2 introduces kerning bug
Bug 611229 - Pango reads from uninitialized memory
Bug 593240 - (pangoosx) Crash / infinite loop with Mac OS X
-
+
We were also doing wrong math converting Device adjustments to
hb_position_t. Fallout from FreeType days. Should shift 16, not
6. Fixed that too.
-
+
There's still another bug: we don't sanitize Device records
referenced from value records. Fixing that also.
src/hb-open-file-private.hh | 4 +++-
src/hb-open-type-private.hh | 11 ++++++-----
src/hb-ot-layout-common-private.hh | 10 ++++++++--
- src/hb-ot-layout-gpos-private.hh | 37
- ++++++++++++++++++++----------------
+ src/hb-ot-layout-gpos-private.hh | 37 ++++++++++++++++++++----------------
src/hb-ot-layout-gsubgpos-private.hh | 15 ++++++++-------
5 files changed, 46 insertions(+), 31 deletions(-)
@@ -95250,7 +92939,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Mar 1 22:33:45 2010 -0500
[ft] Check stream->read instead of stream->base
-
+
The former is more robust. See discussion on freetype-devel.
src/hb-ft.c | 5 +++--
@@ -95261,9 +92950,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Feb 23 16:47:51 2010 -0500
Make blob unlocking 64bit-safe
-
- GNOME Bug 604128 - Applications crash when displaying Hebrew
- characters
+
+ GNOME Bug 604128 - Applications crash when displaying Hebrew characters
src/hb-blob.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
@@ -95282,7 +92970,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Feb 17 15:14:57 2010 -0500
Use __attribute__((unused)) only with gcc 4 and later
-
+
See discussion at:
https://bugzilla.gnome.org/show_bug.cgi?id=610183
@@ -95332,11 +93020,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 20 21:26:24 2009 +0100
Revert "Fallback to 'kern' if no GPOS applied"
-
+
This reverts commit d740c8f78bcbe80a8bcd8a9468830a406da37cc0.
-
- The change is wrong. If there is a GPOS table, we should not use
- 'kern'.
+
+ The change is wrong. If there is a GPOS table, we should not use 'kern'.
src/hb-ot-shape.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -95367,8 +93054,7 @@ Date: Sun Dec 20 20:59:51 2009 +0100
Oops, add file.
- src/hb-ot-shape-private.h | 53
- +++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-shape-private.h | 53 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
commit 2014b8d110231b13e524008282ece7451f1ae9e7
@@ -95376,14 +93062,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 20 20:58:26 2009 +0100
Hook OpenType shaping up
-
+
Default features only for now.
src/Makefile.am | 2 +
src/hb-ot-layout.cc | 28 +++++++++
src/hb-ot-layout.h | 7 +++
- src/hb-ot-shape.c | 165
- ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-shape.c | 165 ++++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-shape.c | 8 +--
5 files changed, 206 insertions(+), 4 deletions(-)
@@ -95411,8 +93096,7 @@ Date: Sun Dec 20 17:58:25 2009 +0100
Refactor hb_shape a bit
- src/hb-shape.c | 87
- +++++++++++++++++++++++++++++++++++++++++++++++++---------
+ src/hb-shape.c | 87 +++++++++++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 74 insertions(+), 13 deletions(-)
commit 001fc2d2aa22f14302739fe4ca45f7535855e0fb
@@ -95421,8 +93105,7 @@ Date: Sun Dec 20 17:24:05 2009 +0100
Add TrueType kern support
- src/hb-shape.c | 74
- +++++++++++++++++++++++++++++++++++++---------------------
+ src/hb-shape.c | 74 +++++++++++++++++++++++++++++++++++++---------------------
1 file changed, 48 insertions(+), 26 deletions(-)
commit 2c1b85cf66e5ecb7521b6018b76f0e161fb68967
@@ -95467,11 +93150,9 @@ commit b8a53e44ce05911ce98b7cff34dee165e19d87ba
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun Dec 20 14:56:25 2009 +0100
- We'll have to link to libstdc++ if linking to ICU, so disable test
- for now
-
- We have to get rid of the ICU in main lib. Still thinking about
- best way
+ We'll have to link to libstdc++ if linking to ICU, so disable test for now
+
+ We have to get rid of the ICU in main lib. Still thinking about best way
to do it.
src/Makefile.am | 9 ++++++---
@@ -95520,20 +93201,17 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Nov 19 20:28:03 2009 -0500
Another C++ strictness fix
-
- Pango Bug 602408 - Invalid C++ code breaks compile with Sun C++
- Compiler
+
+ Pango Bug 602408 - Invalid C++ code breaks compile with Sun C++ Compiler
(Error: A union member cannot have a user-defined assignment operator)
-
+
According to the bug:
-
+
C++ Programming Language by Bjarne Stroustrup: Chapter 10.4.12 forbids
- explicitly using of union members with constructors, destructors
- or assignment
+ explicitly using of union members with constructors, destructors or assignment
operations.
-
- So we use a set() method instead of the assignment operator. Ugly,
- but hey,
+
+ So we use a set() method instead of the assignment operator. Ugly, but hey,
that's life.
src/hb-open-type-private.hh | 8 ++++----
@@ -95617,8 +93295,7 @@ Date: Fri Nov 6 19:48:16 2009 -0500
src/hb-common.h | 11 +++++
src/hb-shape.c | 38 +++++++++++++++--
src/hb-unicode-private.h | 5 +++
- src/hb-unicode.c | 103
- +++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-unicode.c | 103 +++++++++++++++++++++++++++++++++++++++++++++++
7 files changed, 196 insertions(+), 14 deletions(-)
commit b4b4272c8d19ba3e0cb8f12b3b7d1590349e3d14
@@ -95654,9 +93331,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 6 17:23:31 2009 -0500
[GSUB] More ligature/component fixing
-
- We can only reuse the ligid if it belongs to a previous ligature,
- not a
+
+ We can only reuse the ligid if it belongs to a previous ligature, not a
component!
src/hb-ot-layout-gsub-private.hh | 4 ++--
@@ -95669,8 +93345,7 @@ Date: Fri Nov 6 17:21:01 2009 -0500
Add _hb_buffer_add_output_glyphs() that takes codepoint_t*
src/hb-buffer-private.h | 10 ++++++++-
- src/hb-buffer.c | 45
- ++++++++++++++++++++++++++++++++++++++--
+ src/hb-buffer.c | 45 ++++++++++++++++++++++++++++++++++++++--
src/hb-ot-layout-gsub-private.hh | 16 +++++++-------
3 files changed, 60 insertions(+), 11 deletions(-)
@@ -95679,14 +93354,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Nov 6 16:47:31 2009 -0500
Add hb_ot_layout_position_finish()
-
+
We expect buffer to be setup with default positions before GPOS.
src/hb-buffer-private.h | 6 +----
src/hb-buffer.h | 11 +--------
src/hb-ot-layout-gpos-private.hh | 8 +++----
- src/hb-ot-layout.cc | 52
- ++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout.cc | 52 ++++++++++++++++++++++++++++++++++++++++
src/hb-ot-layout.h | 16 +++++++++----
5 files changed, 69 insertions(+), 24 deletions(-)
@@ -95869,8 +93543,7 @@ Date: Thu Nov 5 12:20:11 2009 -0500
src/hb-buffer.h | 4 ++--
src/hb-font.h | 4 ++--
src/hb-ft.c | 10 +++++-----
- src/hb-ot-layout-gpos-private.hh | 40
- ++++++++++++----------------------------
+ src/hb-ot-layout-gpos-private.hh | 40 ++++++++++++----------------------------
src/hb-shape.c | 14 +++++++-------
src/hb-shape.h | 4 ++--
7 files changed, 32 insertions(+), 48 deletions(-)
@@ -95917,8 +93590,7 @@ Date: Wed Nov 4 19:45:39 2009 -0500
src/hb-language.h | 44 ++++
src/hb-ot-layout.cc | 6 +-
src/hb-ot-layout.h | 4 +-
- src/hb-ot-tag.c | 662
- ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-tag.c | 662 ++++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-ot-tag.h | 49 ++++
src/hb-ot.h | 1 +
src/hb-private.h | 3 +
@@ -95968,9 +93640,9 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Nov 4 16:36:14 2009 -0500
Fix array query API
-
+
The array query APIs now all do:
-
+
- Return the total number of items
- Take a start_offset, such that individual items can be fetched
- The _count IN/OUT variable always has number of items written
@@ -95978,8 +93650,7 @@ Date: Wed Nov 4 16:36:14 2009 -0500
TODO | 1 -
src/hb-ot-layout-common-private.hh | 59 ++++++++++++++-----------
- src/hb-ot-layout-gdef-private.hh | 84
- +++++++++++++++++++++---------------
+ src/hb-ot-layout-gdef-private.hh | 84 +++++++++++++++++++++---------------
src/hb-ot-layout-gsubgpos-private.hh | 14 +++---
src/hb-ot-layout.cc | 40 ++++++++++-------
src/hb-ot-layout.h | 24 +++++++----
@@ -95993,8 +93664,7 @@ Date: Wed Nov 4 15:48:32 2009 -0500
src/hb-font.cc | 2 +-
src/hb-font.h | 2 +-
- src/hb-ft.c | 114
- ++++++++++++++++++++++++++++++---------------------------
+ src/hb-ft.c | 114 ++++++++++++++++++++++++++++++---------------------------
3 files changed, 63 insertions(+), 55 deletions(-)
commit f8be443aecd54b479470e6559b1dfbc8f33c5f55
@@ -96014,8 +93684,7 @@ Date: Tue Nov 3 20:27:05 2009 -0500
TODO | 1 +
src/hb-font-private.h | 8 ++---
- src/hb-font.cc | 72
- +++++++++++++++++++++++++++++++++++++---
+ src/hb-font.cc | 72 +++++++++++++++++++++++++++++++++++++---
src/hb-font.h | 9 +++--
src/hb-ot-layout-gpos-private.hh | 7 ++--
src/hb-ot-layout-gsub-private.hh | 2 +-
@@ -96033,8 +93702,7 @@ Date: Tue Nov 3 18:34:20 2009 -0500
src/hb-font-private.h | 4 +-
src/hb-font.cc | 17 ++++-
src/hb-font.h | 6 +-
- src/hb-ft.c | 192
- ++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ft.c | 192 ++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-ft.h | 52 ++++++++++++++
src/hb-glib.h | 2 -
src/hb-icu.h | 2 -
@@ -96049,8 +93717,7 @@ Date: Tue Nov 3 16:35:10 2009 -0500
configure.ac | 8 +-
src/Makefile.am | 23 +++++-
- src/hb-icu.c | 221
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-icu.c | 221 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-icu.h | 41 +++++++++++
4 files changed, 288 insertions(+), 5 deletions(-)
@@ -96080,8 +93747,7 @@ Date: Tue Nov 3 15:15:07 2009 -0500
TODO | 1 -
src/hb-buffer-private.h | 12 +++++++++++-
- src/hb-buffer.c | 47
- ++++++++++++++++++++++++++++++++++++++---------
+ src/hb-buffer.c | 47 ++++++++++++++++++++++++++++++++++++++---------
src/hb-buffer.h | 10 ++++++++++
src/hb-font-private.h | 3 ---
src/hb-font.cc | 17 -----------------
@@ -96093,7 +93759,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 3 15:14:40 2009 -0500
[Makefile] Install hb-unicode.h
-
+
Separate OT headers also.
src/Makefile.am | 27 ++++++++++++++++-----------
@@ -96124,7 +93790,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 3 14:18:33 2009 -0500
Use the C linker, not C++ linker
-
+
Such that we don't link to libstdc++.
src/Makefile.am | 2 ++
@@ -96172,17 +93838,15 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Nov 3 10:47:29 2009 -0500
Don't use zero-sized arrays
-
- It's not part of the standard and MSVC doesn't like it. It makes
- the code
+
+ It's not part of the standard and MSVC doesn't like it. It makes the code
a lot less elegant than it used to be, but I think it should work now.
src/hb-open-file-private.hh | 4 +-
src/hb-open-type-private.hh | 36 +++++++++++------
src/hb-ot-layout-common-private.hh | 33 ++++++++--------
src/hb-ot-layout-gdef-private.hh | 14 +++----
- src/hb-ot-layout-gpos-private.hh | 76
- ++++++++++++++----------------------
+ src/hb-ot-layout-gpos-private.hh | 76 ++++++++++++++----------------------
src/hb-ot-layout-gsub-private.hh | 44 ++++++++-------------
src/hb-ot-layout-gsubgpos-private.hh | 47 +++++++++++-----------
src/hb-private.h | 5 +++
@@ -96248,9 +93912,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Nov 2 18:31:53 2009 -0500
Build without glib
-
- Thready-safety disabled in that case, until we add support for
- pthread, etc.
+
+ Thready-safety disabled in that case, until we add support for pthread, etc.
Fun...
src/hb-private.h | 19 +++++++++++++++++--
@@ -96305,11 +93968,9 @@ Date: Mon Nov 2 16:28:39 2009 -0500
NEWS | 0
src/README => README | 0
src/TODO => TODO | 0
- autogen.sh | 189
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ autogen.sh | 189 +++++++++++++++++++++++++++++++++++++++++++++++++
configure.ac | 40 +++++++++++
- git.mk | 184
- +++++++++++++++++++++++++++++++++++++++++++++++
+ git.mk | 184 +++++++++++++++++++++++++++++++++++++++++++++++
harfbuzz.pc.in | 11 +++
src/.gitignore | 1 -
src/Makefile.ng | 11 ---
@@ -96329,7 +93990,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 29 03:05:18 2009 -0400
[HB] Add point_index to get_contour_point()
-
+
Pointed out by Keith Stribley on HarfBuzz list.
src/hb-font.h | 1 +
@@ -96340,7 +94001,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Oct 29 03:00:44 2009 -0400
[HB] Fix lookup_flag ignoring
-
+
Reported by Keith Stribley on HarfBuzz list.
src/hb-ot-layout-common-private.hh | 1 +
@@ -96361,9 +94022,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 21 13:43:54 2009 -0400
[HB] Fix apply_lookup() loop
-
- Part of Bug 595539 - Regressions in rendering certain Thai sequences
- with
+
+ Part of Bug 595539 - Regressions in rendering certain Thai sequences with
OpenType font
src/hb-ot-layout-gsubgpos-private.hh | 3 ++-
@@ -96374,9 +94034,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Sep 21 13:40:38 2009 -0400
[HB] Fix bug in chain_context_lookup() invocations
-
- Part of Bug 595539 - Regressions in rendering certain Thai sequences
- with
+
+ Part of Bug 595539 - Regressions in rendering certain Thai sequences with
OpenType font
src/hb-ot-layout-gsubgpos-private.hh | 4 ++--
@@ -96401,8 +94060,7 @@ Date: Fri Aug 28 17:17:11 2009 -0400
src/hb-open-type-private.hh | 50 ++++++++++----------
src/hb-ot-layout-common-private.hh | 32 ++++++-------
src/hb-ot-layout-gdef-private.hh | 20 ++++----
- src/hb-ot-layout-gpos-private.hh | 92
- ++++++++++++++++++------------------
+ src/hb-ot-layout-gpos-private.hh | 92 ++++++++++++++++++------------------
src/hb-ot-layout-gsub-private.hh | 72 ++++++++++++++--------------
src/hb-ot-layout-gsubgpos-private.hh | 78 +++++++++++++++---------------
7 files changed, 176 insertions(+), 176 deletions(-)
@@ -96415,8 +94073,7 @@ Date: Fri Aug 28 17:14:33 2009 -0400
src/hb-ot-layout-gpos-private.hh | 29 ++++++++++++++++++---
src/hb-ot-layout-gsub-private.hh | 28 ++++++++++++++++++---
- src/hb-ot-layout-gsubgpos-private.hh | 49
- ++++++++++++++++++++++++++++++++++--
+ src/hb-ot-layout-gsubgpos-private.hh | 49 ++++++++++++++++++++++++++++++++++--
3 files changed, 98 insertions(+), 8 deletions(-)
commit 95e202403ffa543c817f45cca21fbc116eb8e807
@@ -96470,7 +94127,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 20 14:01:37 2009 -0400
Bug 592484 - invalid write in HB
-
+
Fix off-by-one.
src/hb-ot-layout.cc | 4 ++--
@@ -96499,7 +94156,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 19 18:07:36 2009 -0400
[HB] Rename CAIRO_ in macro prefix to HB_
-
+
Hiss!
src/hb-private.h | 6 +++---
@@ -96510,13 +94167,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 19 16:45:41 2009 -0400
[HB] Remove HB_MEMORY_MODE_READONLY_NEVER_DUPLICATE
-
+
Unlike the rest of the memory-mode enum, this one didn't only
describe the access mode of the input memory region. Remove it.
-
+
If someone wants to inhibit duplicating, they can lock the blob
and throw away the key.
-
+
Based on mailing list discussion with Carl Worth.
src/hb-blob.c | 51 +++++++++++++++++++++++++--------------------------
@@ -96609,11 +94266,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Aug 18 15:49:23 2009 -0400
Bug 592194 - Fix missing _SC_PAGE_SIZE macro
-
+
Autoconfiscate a simple call to mprotect() even more.
- src/hb-blob.c | 94
- ++++++++++++++++++++++++++++++++++++++---------------------
+ src/hb-blob.c | 94 ++++++++++++++++++++++++++++++++++++++---------------------
1 file changed, 60 insertions(+), 34 deletions(-)
commit 3c69bd46e27069fac0bfdefdecf5492c17eb01df
@@ -96621,9 +94277,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 17 16:48:13 2009 -0400
[HB] Avoid int overflow in GPOS
-
- Bug 592036 - integer overflow bug causes misrendering of Nepali
- characters
+
+ Bug 592036 - integer overflow bug causes misrendering of Nepali characters
src/hb-ot-layout-gpos-private.hh | 20 ++++++++++----------
src/hb-private.h | 3 +++
@@ -96644,8 +94299,7 @@ Date: Fri Aug 14 19:33:24 2009 -0400
[HB] Merge mark positionin code between three types of lookups
- src/hb-ot-layout-gpos-private.hh | 95
- ++++++++++++----------------------------
+ src/hb-ot-layout-gpos-private.hh | 95 ++++++++++++----------------------------
1 file changed, 29 insertions(+), 66 deletions(-)
commit cd33cb9ed84308da72bd7c64b9355dc2410c63ec
@@ -96686,8 +94340,7 @@ Date: Fri Aug 14 18:14:03 2009 -0400
[HB] Simplify MarkBase and MarkLig too
- src/hb-ot-layout-gpos-private.hh | 127
- +++++++++++++++------------------------
+ src/hb-ot-layout-gpos-private.hh | 127 +++++++++++++++------------------------
1 file changed, 48 insertions(+), 79 deletions(-)
commit dfa54f4440960c39d37ef02fff4c0d9eb315d4b4
@@ -96755,8 +94408,7 @@ Date: Thu Aug 13 17:13:25 2009 -0400
src/Makefile.am | 2 ++
src/hb-shape.c | 40 ++++++++++++++++++++++++++++++++++++++++
- src/hb-shape.h | 53
- +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-shape.h | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 95 insertions(+)
commit 2866d2974b6768e93cc7d473d14c5a8abae5f7fd
@@ -96764,7 +94416,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 13 11:47:08 2009 -0400
[HB] Bitfield packing *is* very delicate
-
+
Fix the second instance.
src/hb-buffer.h | 2 +-
@@ -96775,7 +94427,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 13 05:25:23 2009 -0400
Bug 591511 – hh-blob.c does not compile using mingw on windows
-
+
Check for sys/mman.h, not mprotect().
src/hb-blob.c | 8 ++++----
@@ -96786,9 +94438,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Aug 13 05:20:46 2009 -0400
[HB] Fix buffer sizing issue with mingw gcc
-
- Bit field packing is a delicate field. Issue reported in comment
- 3 here:
+
+ Bit field packing is a delicate field. Issue reported in comment 3 here:
http://bugzilla.gnome.org/show_bug.cgi?id=591511
src/hb-buffer-private.h | 14 +++++++-------
@@ -96799,7 +94450,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 12 19:45:50 2009 -0400
Bug 591413 – needs to link with libstdc++
-
+
Enforce -fno-exceptions better.
src/Makefile.am | 2 +-
@@ -96810,7 +94461,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 12 19:36:29 2009 -0400
Bug 591511 – hb-blob.c does not compile using mingw on windows
-
+
Only call mprotect() when available. For optimal performance, a win32
way to make memory writeable needs to be added.
@@ -96840,7 +94491,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 12 16:47:27 2009 -0400
[HB] Fix _hb_buffer_next() when positioning
-
+
We were copying glyphs to output. This should not happen when in
GPOS. Back then it was fine, then some optimizations broke then
assumption.
@@ -96872,7 +94523,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 12 15:40:04 2009 -0400
[HB] Fix invalid access / overflow on x86-64
-
+
Bug 591557 – [HB] crash scrolling the evolution message list
Bug 591576 – crashed with SIGSEGV at pango
@@ -96920,8 +94571,7 @@ Date: Mon Aug 10 23:35:05 2009 -0400
[HB] Add hb-glib
src/Makefile.am | 4 +++-
- src/hb-glib.c | 56
- ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-glib.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-glib.h | 41 +++++++++++++++++++++++++++++++++++
src/hb-unicode-private.h | 2 +-
src/hb-unicode.c | 10 ++++-----
@@ -96967,8 +94617,7 @@ Date: Mon Aug 10 22:58:56 2009 -0400
src/hb-object-private.h | 2 +-
src/hb-unicode-private.h | 12 ++++-----
- src/hb-unicode.c | 67
- ++++++++++++++++++++++++++++++++++++++++++------
+ src/hb-unicode.c | 67 ++++++++++++++++++++++++++++++++++++++++++------
src/hb-unicode.h | 3 ---
4 files changed, 65 insertions(+), 19 deletions(-)
@@ -96978,8 +94627,7 @@ Date: Mon Aug 10 22:47:57 2009 -0400
[HB] Implement buffer UTF-X input
- src/hb-buffer.c | 110
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-buffer.c | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/hb-buffer.h | 12 +++----
2 files changed, 116 insertions(+), 6 deletions(-)
@@ -97024,8 +94672,7 @@ Date: Mon Aug 10 20:05:16 2009 -0400
src/hb-font.h | 140 ++++++++++--------------------
src/hb-unicode-private.h | 54 ++++++++++++
src/hb-unicode.c | 89 +++++++++++++++++++
- src/hb-unicode.h | 220
- +++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-unicode.h | 220 +++++++++++++++++++++++++++++++++++++++++++++++
7 files changed, 463 insertions(+), 235 deletions(-)
commit 20b035dad41247076815a2bbb0346d63058b322f
@@ -97033,7 +94680,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 10 19:00:36 2009 -0400
[HB] Put C++ inline's back
-
+
Apparetly in C++, inline means a totally different thing.
src/hb-open-file-private.hh | 14 +++++++-------
@@ -97050,7 +94697,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Aug 10 13:57:02 2009 -0400
[HB] Don't override CXX compiler
-
+
Just add couple of options to it (still assuming gcc)
src/Makefile.am | 3 ++-
@@ -97109,9 +94756,8 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 8 16:57:27 2009 -0400
[HB] Remove hb_ot_layout_table_find_feature()
-
- That function doesn't make much sense as multiple features in the
- table may
+
+ That function doesn't make much sense as multiple features in the table may
have the same tag.
src/hb-ot-layout.cc | 16 ----------------
@@ -97155,8 +94801,7 @@ Date: Fri Aug 7 19:46:30 2009 -0400
src/hb-open-type-private.hh | 104 +------------------------
src/hb-ot-layout-common-private.hh | 103 ++++++++++++++++++------
src/hb-ot-layout-gsubgpos-private.hh | 35 +++++++--
- src/hb-ot-layout.cc | 146
- ++++++++++++-----------------------
+ src/hb-ot-layout.cc | 146 ++++++++++++-----------------------
src/hb-ot-layout.h | 101 ++++++++++--------------
7 files changed, 240 insertions(+), 292 deletions(-)
@@ -97233,8 +94878,7 @@ Date: Thu Aug 6 13:33:51 2009 -0400
[HB] Fix blob to use a actual mutex
- src/hb-blob.c | 125
- +++++++++++++++++++++++++++++++++++-------------
+ src/hb-blob.c | 125 +++++++++++++++++++++++++++++++++++-------------
src/hb-object-private.h | 4 +-
src/hb-private.h | 20 +++++---
3 files changed, 106 insertions(+), 43 deletions(-)
@@ -97248,8 +94892,7 @@ Date: Thu Aug 6 12:32:35 2009 -0400
src/Makefile.am | 5 +++--
src/hb-blob.c | 4 ++--
src/hb-object-private.h | 19 ++++++-------------
- src/hb-private.h | 45
- ++++++++++++++++++++++++++-------------------
+ src/hb-private.h | 45 ++++++++++++++++++++++++++-------------------
4 files changed, 37 insertions(+), 36 deletions(-)
commit 9b76a290a94f2603f3cb9498ae976125347cf54b
@@ -97303,8 +94946,7 @@ Date: Wed Aug 5 15:20:34 2009 -0400
[HB] Improve debug output and fix mprotect bug
- src/hb-blob.c | 57
- ++++++++++++++++++++++++++++++++++++++-------
+ src/hb-blob.c | 57 ++++++++++++++++++++++++++++++++++++++-------
src/hb-open-type-private.hh | 30 +++++++++++-------------
src/hb-private.h | 3 ++-
3 files changed, 65 insertions(+), 25 deletions(-)
@@ -97361,8 +95003,7 @@ Date: Tue Aug 4 23:01:23 2009 -0400
[HB] More debugging output
- src/hb-open-type-private.hh | 45
- ++++++++++++++++++++++++++++++++++++++++-----
+ src/hb-open-type-private.hh | 45 ++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 40 insertions(+), 5 deletions(-)
commit 8cd6fa28d1b77100491519b8dedb2e113508bf59
@@ -97390,8 +95031,7 @@ Date: Tue Aug 4 22:35:36 2009 -0400
[HB] Add sanitize debugging facilities
src/hb-open-file-private.hh | 4 ++++
- src/hb-open-type-private.hh | 43
- +++++++++++++++++++++++++++++++-----
+ src/hb-open-type-private.hh | 43 +++++++++++++++++++++++++++++++-----
src/hb-ot-layout-common-private.hh | 17 ++++++++++++++
src/hb-ot-layout-gdef-private.hh | 10 +++++++++
src/hb-ot-layout-gpos-private.hh | 28 +++++++++++++++++++++++
@@ -97468,8 +95108,7 @@ Date: Tue Aug 4 20:52:47 2009 -0400
[HB] Add Sanitizer
- src/hb-open-types-private.hh | 58
- ++++++++++++++++++++++++++++++++++++++++----
+ src/hb-open-types-private.hh | 58 ++++++++++++++++++++++++++++++++++++++++----
1 file changed, 53 insertions(+), 5 deletions(-)
commit 2765d333e523a13dbd932fa33f3b39a5cf83f0f7
@@ -97499,8 +95138,7 @@ Date: Tue Aug 4 19:31:02 2009 -0400
[HB] Shuffle code around
- src/hb-open-types-private.hh | 127
- ++++++++++++++++++++++---------------------
+ src/hb-open-types-private.hh | 127 ++++++++++++++++++++++---------------------
1 file changed, 65 insertions(+), 62 deletions(-)
commit b1e187fc6365f5355c652a61494a5e9f6acf51b4
@@ -97518,8 +95156,7 @@ Date: Tue Aug 4 15:07:24 2009 -0400
[HB] open-file sanitize()
- src/hb-open-file-private.hh | 46
- ++++++++++++++++++++++++++++++++++++++++----
+ src/hb-open-file-private.hh | 46 ++++++++++++++++++++++++++++++++++++++++----
src/hb-open-types-private.hh | 13 +++++++++++++
2 files changed, 55 insertions(+), 4 deletions(-)
@@ -97539,8 +95176,7 @@ Date: Tue Aug 4 14:33:23 2009 -0400
[HB] GDEF sanitize()
- src/hb-ot-layout-gdef-private.hh | 54
- ++++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout-gdef-private.hh | 54 ++++++++++++++++++++++++++++++++++++
src/hb-ot-layout-gpos-private.hh | 2 +-
src/hb-ot-layout-gsub-private.hh | 2 +-
src/hb-ot-layout-gsubgpos-private.hh | 2 +-
@@ -97598,8 +95234,7 @@ Date: Tue Aug 4 13:30:49 2009 -0400
[HB] GPOS sanitize()
src/hb-open-types-private.hh | 22 ++++-
- src/hb-ot-layout-gpos-private.hh | 195
- ++++++++++++++++++++++++++++++++++++++-
+ src/hb-ot-layout-gpos-private.hh | 195 ++++++++++++++++++++++++++++++++++++++-
src/hb-ot-layout-gsub-private.hh | 2 -
3 files changed, 213 insertions(+), 6 deletions(-)
@@ -97641,8 +95276,7 @@ Date: Tue Aug 4 11:38:50 2009 -0400
src/hb-open-types-private.hh | 23 ++++++++-----
src/hb-ot-layout-common-private.hh | 7 ++--
src/hb-ot-layout-gsub-private.hh | 27 ++++++---------
- src/hb-ot-layout-gsubgpos-private.hh | 64
- +++++++++++++-----------------------
+ src/hb-ot-layout-gsubgpos-private.hh | 64 +++++++++++++-----------------------
4 files changed, 50 insertions(+), 71 deletions(-)
commit 196598bbccff08415ff5192314cba044df258cad
@@ -97656,8 +95290,7 @@ Date: Tue Aug 4 11:04:32 2009 -0400
src/hb-ot-layout-common-private.hh | 8 +++----
src/hb-ot-layout-gpos-private.hh | 12 +++++-----
src/hb-ot-layout-gsub-private.hh | 20 ++++++++--------
- src/hb-ot-layout-gsubgpos-private.hh | 44
- ++++++++++++++++++------------------
+ src/hb-ot-layout-gsubgpos-private.hh | 44 ++++++++++++++++++------------------
6 files changed, 57 insertions(+), 50 deletions(-)
commit 92b5dd8e71e1bdeaa6e86a53f167683a3f5f4289
@@ -97666,8 +95299,7 @@ Date: Tue Aug 4 10:41:32 2009 -0400
[HB] Merge more templates
- src/hb-open-types-private.hh | 167
- ++++++++++++++-----------------------------
+ src/hb-open-types-private.hh | 167 ++++++++++++++-----------------------------
1 file changed, 55 insertions(+), 112 deletions(-)
commit e6ab2c59ba2d37942ac5fcbfe61d38b7e359ac8c
@@ -97676,8 +95308,7 @@ Date: Tue Aug 4 10:23:01 2009 -0400
[HB] Simplify indirect sanitize()
- src/hb-open-types-private.hh | 52
- ++++++++++++++++++--------------------
+ src/hb-open-types-private.hh | 52 ++++++++++++++++++--------------------
src/hb-ot-layout-common-private.hh | 11 +-------
2 files changed, 26 insertions(+), 37 deletions(-)
@@ -97716,8 +95347,7 @@ Date: Tue Aug 4 02:09:34 2009 -0400
src/hb-open-file-private.hh | 2 +-
src/hb-open-types-private.hh | 12 ++++---
- src/hb-ot-layout-common-private.hh | 64
- +++++++++++++++++++++++++++++++-----
+ src/hb-ot-layout-common-private.hh | 64 +++++++++++++++++++++++++++++++-----
src/hb-ot-layout-gdef-private.hh | 2 +-
src/hb-ot-layout-gsubgpos-private.hh | 15 +++++++--
5 files changed, 79 insertions(+), 16 deletions(-)
@@ -97730,8 +95360,7 @@ Date: Tue Aug 4 00:58:28 2009 -0400
src/hb-open-types-private.hh | 105 ++++++++++++++++++++++++++++-
src/hb-ot-layout-common-private.hh | 48 +++++++++++++-
- src/hb-ot-layout-gsub-private.hh | 125
- ++++++++++++++++++++++++++++++++++-
+ src/hb-ot-layout-gsub-private.hh | 125 ++++++++++++++++++++++++++++++++++-
src/hb-ot-layout-gsubgpos-private.hh | 104 +++++++++++++++++++++++++++++
4 files changed, 376 insertions(+), 6 deletions(-)
@@ -97755,8 +95384,7 @@ Date: Mon Aug 3 22:01:47 2009 -0400
src/hb-font.cc | 23 ++++++++++++---------
src/hb-ot-layout-private.h | 9 +++++---
- src/hb-ot-layout.cc | 51
- +++++++++++++++++++++++-----------------------
+ src/hb-ot-layout.cc | 51 +++++++++++++++++++++++-----------------------
3 files changed, 44 insertions(+), 39 deletions(-)
commit 23c86aa0009324433e78fcd0c47f2c0ff14b1949
@@ -97775,8 +95403,7 @@ Date: Mon Aug 3 21:40:20 2009 -0400
src/hb-ot-layout-gsub-private.hh | 32 ++---
src/hb-ot-layout-gsubgpos-private.hh | 8 +-
src/hb-ot-layout-private.h | 40 ++++---
- src/hb-ot-layout.cc | 220
- +++++++++++++++--------------------
+ src/hb-ot-layout.cc | 220 +++++++++++++++--------------------
11 files changed, 237 insertions(+), 197 deletions(-)
commit fc6c94002dd5478cf9fbdaff12d8374a786c85e1
@@ -97785,8 +95412,7 @@ Date: Mon Aug 3 21:27:08 2009 -0400
[HB] Simplify sub-blob support
- src/hb-blob.c | 172
- ++++++++++++++++++++++------------------------------------
+ src/hb-blob.c | 172 ++++++++++++++++++++++------------------------------------
src/hb-blob.h | 14 +++--
2 files changed, 74 insertions(+), 112 deletions(-)
@@ -97796,8 +95422,7 @@ Date: Mon Aug 3 17:53:29 2009 -0400
[HB] Add sub-blobs
- src/hb-blob.c | 162
- +++++++++++++++++++++++++++++++++++++++++++++++++---------
+ src/hb-blob.c | 162 +++++++++++++++++++++++++++++++++++++++++++++++++---------
src/hb-blob.h | 12 ++++-
2 files changed, 147 insertions(+), 27 deletions(-)
@@ -97817,8 +95442,7 @@ Date: Sun Aug 2 20:03:12 2009 -0400
[OT] Rename C++ header files from *.h to *.hh
- src/Makefile.am | 14
- +++++++-------
+ src/Makefile.am | 14 +++++++-------
src/{hb-open-file-private.h => hb-open-file-private.hh} | 8 ++++----
src/{hb-open-types-private.h => hb-open-types-private.hh} | 6 +++---
...out-common-private.h => hb-ot-layout-common-private.hh} | 8 ++++----
@@ -97837,10 +95461,8 @@ Date: Sun Aug 2 19:57:00 2009 -0400
[HB] Move OT file handling out of ot-layout
src/Makefile.am | 3 +-
- src/hb-open-file-private.h | 145
- +++++++++++++++++++++
- ...yout-open-private.h => hb-open-types-private.h} | 117
- +----------------
+ src/hb-open-file-private.h | 145 +++++++++++++++++++++
+ ...yout-open-private.h => hb-open-types-private.h} | 117 +----------------
src/hb-ot-layout-common-private.h | 4 +-
src/hb-ot-layout.cc | 2 +-
src/main.cc | 4 +-
@@ -97861,8 +95483,7 @@ Date: Sun Aug 2 17:41:36 2009 -0400
src/hb-ot-layout-gsub-private.h | 50 +++---
src/hb-ot-layout-gsubgpos-private.h | 12 +-
src/hb-ot-layout-private.h | 36 +++-
- src/hb-ot-layout.cc | 334
- ++++++++++++++++++++----------------
+ src/hb-ot-layout.cc | 334 ++++++++++++++++++++----------------
src/hb-ot-layout.h | 207 ++++++++++------------
11 files changed, 415 insertions(+), 376 deletions(-)
@@ -97892,7 +95513,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 1 23:06:27 2009 -0400
[HB] Rename _duplicate to _copy
-
+
To be in line with cairo
src/hb-font.c | 4 ++--
@@ -97914,10 +95535,8 @@ Date: Sat Aug 1 22:53:04 2009 -0400
[HB] Cleanup public buffer structs
- src/hb-buffer-private.h | 46
- +++++++++++++++++++++++++++++++-------
- src/hb-buffer.c | 49
- +++++++++++++++++++++--------------------
+ src/hb-buffer-private.h | 46 +++++++++++++++++++++++++++++++-------
+ src/hb-buffer.c | 49 +++++++++++++++++++++--------------------
src/hb-buffer.h | 35 ++++++++++++++---------------
src/hb-ot-layout-gpos-private.h | 8 +++----
src/hb-ot-layout-private.h | 5 +++--
@@ -97942,8 +95561,7 @@ Date: Sat Aug 1 22:19:06 2009 -0400
[HB] Port buffert to new object API
src/hb-buffer-private.h | 24 +++++++++++++++---
- src/hb-buffer.c | 65
- +++++++++++++++++++++++++++++++++++++------------
+ src/hb-buffer.c | 65 +++++++++++++++++++++++++++++++++++++------------
src/hb-buffer.h | 53 +++++++++++++++++++++++++---------------
3 files changed, 104 insertions(+), 38 deletions(-)
@@ -97990,8 +95608,7 @@ Date: Sat Aug 1 20:46:02 2009 -0400
[HB] Assorted compiler macros
src/hb-ot-layout-open-private.h | 4 +-
- src/hb-private.h | 88
- +++++++++++++++++++++++++++++++----------
+ src/hb-private.h | 88 +++++++++++++++++++++++++++++++----------
2 files changed, 70 insertions(+), 22 deletions(-)
commit ba8d94ce3360bfaf2c530d01f2af69237018a531
@@ -98003,8 +95620,7 @@ Date: Sat Aug 1 20:29:22 2009 -0400
src/Makefile.am | 2 +-
src/hb-blob.c | 6 +---
src/hb-font-private.h | 1 -
- src/hb-font.c | 37
- +++++++---------------
+ src/hb-font.c | 37 +++++++---------------
src/{hb-refcount-private.h => hb-object-private.h} | 14 ++++++--
src/hb-private.h | 2 ++
6 files changed, 27 insertions(+), 35 deletions(-)
@@ -98014,14 +95630,13 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Aug 1 19:54:49 2009 -0400
[HB] Add abstract font and face API
-
+
Not used yet.
src/Makefile.am | 3 +
src/hb-blob.c | 6 +-
src/hb-font-private.h | 108 +++++++++++++++
- src/hb-font.c | 331
- ++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-font.c | 331 ++++++++++++++++++++++++++++++++++++++++++++++
src/hb-font.h | 182 +++++++++++++++++++++++++
src/hb-refcount-private.h | 14 +-
6 files changed, 636 insertions(+), 8 deletions(-)
@@ -98078,8 +95693,7 @@ Date: Thu Jul 30 15:33:57 2009 -0400
[HB] Add a "blob" manager
src/Makefile.am | 5 +-
- src/hb-blob.c | 181
- ++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-blob.c | 181 ++++++++++++++++++++++++++++++++++++++++++++++
src/hb-blob.h | 74 +++++++++++++++++++
src/hb-private.h | 2 +
src/hb-refcount-private.h | 54 ++++++++++++++
@@ -98105,8 +95719,7 @@ Date: Wed Jul 29 18:37:57 2009 -0400
[HB] Rename internal vars
- src/hb-ot-layout-gsubgpos-private.h | 56
- ++++++++++++++++++-------------------
+ src/hb-ot-layout-gsubgpos-private.h | 56 ++++++++++++++++++-------------------
1 file changed, 28 insertions(+), 28 deletions(-)
commit b196e6f2743d631ef181f1116370be3055063d36
@@ -98124,8 +95737,7 @@ Date: Tue Jul 28 15:43:34 2009 -0400
Apply patch from Jonathan Kew
- src/hb-buffer.c | 75
- ++++++++++++++++++++++++++++-------------------------
+ src/hb-buffer.c | 75 ++++++++++++++++++++++++++++-------------------------
src/hb-buffer.h | 6 ++++-
src/hb-ot-layout.cc | 31 ++++++++++++++++++++++
src/hb-ot-layout.h | 15 +++++++++++
@@ -98137,7 +95749,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat Jul 25 19:09:01 2009 -0400
Revert "XX"
-
+
This reverts commit c939f6aff405ca7b10b1f1538f46148bff719fcb.
src/Makefile.am | 2 -
@@ -98145,8 +95757,7 @@ Date: Sat Jul 25 19:09:01 2009 -0400
src/hb-buffer.h | 14 -----
src/hb-common.h | 3 -
src/hb-ot-layout-gdef-private.h | 32 +++++------
- src/hb-ot-layout-gpos-private.h | 108
- ++++++++++++++++++------------------
+ src/hb-ot-layout-gpos-private.h | 108 ++++++++++++++++++------------------
src/hb-ot-layout-gsub-private.h | 46 +++++++--------
src/hb-ot-layout-gsubgpos-private.h | 68 +++++++++++------------
src/hb-ot-layout-private.h | 28 ++++------
@@ -98166,8 +95777,7 @@ Date: Wed Jun 10 23:26:51 2009 -0400
src/hb-buffer.h | 14 +++++
src/hb-common.h | 3 +
src/hb-ot-layout-gdef-private.h | 32 +++++------
- src/hb-ot-layout-gpos-private.h | 108
- ++++++++++++++++++------------------
+ src/hb-ot-layout-gpos-private.h | 108 ++++++++++++++++++------------------
src/hb-ot-layout-gsub-private.h | 46 +++++++--------
src/hb-ot-layout-gsubgpos-private.h | 68 +++++++++++------------
src/hb-ot-layout-private.h | 28 ++++++----
@@ -98189,13 +95799,11 @@ commit e35bbd570a5d914f86f1ea83941ee4328f268059
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat May 30 12:02:46 2009 -0400
- [HB] Improve buffer. Don't dup out buffer unless out is longer
- than in
-
+ [HB] Improve buffer. Don't dup out buffer unless out is longer than in
+
That is, we work in-place even for ligatures now.
- src/hb-buffer.c | 156
- ++++++++++++++++++++++++--------------------------------
+ src/hb-buffer.c | 156 ++++++++++++++++++++++++--------------------------------
src/hb-buffer.h | 7 ++-
2 files changed, 71 insertions(+), 92 deletions(-)
@@ -98261,8 +95869,7 @@ Date: Tue May 26 17:58:37 2009 -0400
[GPOS] Fix mark matching
- src/hb-ot-layout-gpos-private.h | 44
- +++++++++++++++++++----------------------
+ src/hb-ot-layout-gpos-private.h | 44 +++++++++++++++++++----------------------
1 file changed, 20 insertions(+), 24 deletions(-)
commit 4189b92aaa41e4a1756c561cc6e08b0ed024afda
@@ -98276,8 +95883,7 @@ Date: Tue May 26 17:31:56 2009 -0400
src/hb-ot-layout-gsub-private.h | 38 +++++++++-----------
src/hb-ot-layout-gsubgpos-private.h | 14 ++++----
src/hb-ot-layout-private.h | 6 ++++
- src/hb-ot-layout.cc | 69
- ++++++++++++++++++++++++-------------
+ src/hb-ot-layout.cc | 69 ++++++++++++++++++++++++-------------
6 files changed, 76 insertions(+), 65 deletions(-)
commit 1246e41021ab1d782b4c97e5d81c4917a57e3ed4
@@ -98286,8 +95892,7 @@ Date: Tue May 26 15:58:34 2009 -0400
[GDEF] Support MarkFilteringSets
- src/hb-ot-layout.cc | 59
- +++++++++++++++++++----------------------------------
+ src/hb-ot-layout.cc | 59 +++++++++++++++++++----------------------------------
1 file changed, 21 insertions(+), 38 deletions(-)
commit 5130c35e93528bcf3095fee5baf3847589167a58
@@ -98307,8 +95912,7 @@ Date: Tue May 26 15:38:53 2009 -0400
[HB] Support parsing MarkFilteringSets introduced in OpenType 1.6
- src/hb-ot-layout-gdef-private.h | 55
- +++++++++++++++++++++++++++++++++++------
+ src/hb-ot-layout-gdef-private.h | 55 +++++++++++++++++++++++++++++++++++------
src/hb-ot-layout-gpos-private.h | 1 +
src/hb-ot-layout.cc | 6 ++---
3 files changed, 51 insertions(+), 11 deletions(-)
@@ -98337,8 +95941,7 @@ Date: Tue May 26 12:40:10 2009 -0400
[HB] Implement get_lig_carets()
- src/hb-ot-layout-gdef-private.h | 57
- ++++++++++++++++++++++++++++++++---------
+ src/hb-ot-layout-gdef-private.h | 57 ++++++++++++++++++++++++++++++++---------
src/hb-ot-layout.cc | 17 +++++++++---
src/hb-ot-layout.h | 8 +++++-
src/main.cc | 9 +------
@@ -98376,8 +95979,7 @@ Date: Mon May 25 04:04:24 2009 -0400
[HB] More buffer cleanup
src/hb-buffer-private.h | 39 +++--------
- src/hb-buffer.c | 136
- ++++++++++++++++++------------------
+ src/hb-buffer.c | 136 ++++++++++++++++++------------------
src/hb-buffer.h | 22 +++---
src/hb-ot-layout-gpos-private.h | 29 ++++----
src/hb-ot-layout-gsub-private.h | 10 +--
@@ -98397,8 +95999,7 @@ Date: Mon May 25 03:39:11 2009 -0400
src/hb-buffer.c | 26 ++++++++------
src/hb-ot-layout-gsub-private.h | 26 +++++---------
src/hb-ot-layout-gsubgpos-private.h | 2 +-
- src/hb-ot-layout.cc | 71
- -------------------------------------
+ src/hb-ot-layout.cc | 71 -------------------------------------
5 files changed, 25 insertions(+), 102 deletions(-)
commit 347f0b8621d3adfec157e5634ff3defc818ea37f
@@ -98461,8 +96062,7 @@ Date: Mon May 25 02:41:49 2009 -0400
[HB] Simplify Tag
- src/hb-ot-layout-open-private.h | 46
- ++++++++++++++++-------------------------
+ src/hb-ot-layout-open-private.h | 46 ++++++++++++++++-------------------------
1 file changed, 18 insertions(+), 28 deletions(-)
commit 3ec0092c5e2d48e8c4fc1618d3bee427adddb1e7
@@ -98480,8 +96080,7 @@ Date: Mon May 25 02:27:29 2009 -0400
[HB] Simplify some basic things
- src/hb-ot-layout-open-private.h | 90
- +++++++++++++++++++++++++++--------------
+ src/hb-ot-layout-open-private.h | 90 +++++++++++++++++++++++++++--------------
src/main.cc | 8 ++--
2 files changed, 64 insertions(+), 34 deletions(-)
@@ -98522,7 +96121,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun May 24 14:22:22 2009 -0400
[HB] Remove old code!
-
+
Goodbye 16 thousand lines of ten-year old code!
src/harfbuzz-dump-main.c | 97 -
@@ -98533,8 +96132,7 @@ Date: Sun May 24 14:22:22 2009 -0400
src/harfbuzz-gdef.h | 135 -
src/harfbuzz-global.h | 84 -
src/harfbuzz-gpos-private.h | 712 -----
- src/harfbuzz-gpos.c | 6071
- -----------------------------------------
+ src/harfbuzz-gpos.c | 6071 -----------------------------------------
src/harfbuzz-gpos.h | 174 --
src/harfbuzz-gsub-private.h | 476 ----
src/harfbuzz-gsub.c | 4304 -----------------------------
@@ -98585,8 +96183,7 @@ Date: Sun May 24 01:03:24 2009 -0400
src/hb-ot-layout-gdef-private.h | 2 +-
src/hb-ot-layout-gsubgpos-private.h | 2 +-
- src/hb-ot-layout-open-private.h | 54
- ++++---------------------------------
+ src/hb-ot-layout-open-private.h | 54 ++++---------------------------------
3 files changed, 7 insertions(+), 51 deletions(-)
commit 5876bf1b73fcb56cc41b4d348248a4817f9688cb
@@ -98645,11 +96242,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri May 22 18:29:45 2009 -0400
[GPOS] MarkLigPosFormat1
-
+
GPOS is complete now! Yay!
- src/hb-ot-layout-gpos-private.h | 128
- +++++++++++++++++++++++++++++-----------
+ src/hb-ot-layout-gpos-private.h | 128 +++++++++++++++++++++++++++++-----------
1 file changed, 92 insertions(+), 36 deletions(-)
commit 923923feb248250626c637c11a886804011197b0
@@ -98669,8 +96265,7 @@ Date: Thu May 21 22:31:33 2009 -0400
[HB] Share Extension lookup code between GSUB and GPOS
src/hb-ot-layout-gpos-private.h | 64 +++++-----------------------
- src/hb-ot-layout-gsub-private.h | 83
- +++++++------------------------------
+ src/hb-ot-layout-gsub-private.h | 83 +++++++------------------------------
src/hb-ot-layout-gsubgpos-private.h | 52 +++++++++++++++++++++++
3 files changed, 77 insertions(+), 122 deletions(-)
@@ -98679,7 +96274,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 21 15:51:04 2009 -0400
[GPOS] Remove printf. MarkMarkPos1 is working
-
+
The "bug" was in the font.
src/hb-ot-layout-gpos-private.h | 1 -
@@ -98692,8 +96287,7 @@ Date: Thu May 21 12:46:29 2009 -0400
[HB] Ouch. Add files.
src/hb-common.h | 13 +++++-----
- src/hb-private.h | 74
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ src/hb-private.h | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
2 files changed, 78 insertions(+), 9 deletions(-)
commit fe550f4dd815285e9de8c3cbff810b0a1c7b377f
@@ -98701,12 +96295,11 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu May 21 08:27:07 2009 -0400
[GPOS] MarkMarkPosFormat1
-
+
Still not quite working.
src/TODO | 4 +-
- src/hb-ot-layout-gpos-private.h | 105
- +++++++++++++++++++++++++++++-----------
+ src/hb-ot-layout-gpos-private.h | 105 +++++++++++++++++++++++++++++-----------
2 files changed, 79 insertions(+), 30 deletions(-)
commit 357ccde36bba01a405d59b7da061fc5048cdc7b4
@@ -98716,8 +96309,7 @@ Date: Thu May 21 06:32:01 2009 -0400
[GPOS] MarkBasePosFormat1
src/TODO | 1 +
- src/hb-ot-layout-gpos-private.h | 62
- +++++++++++++++++++++++++++++++++++++----
+ src/hb-ot-layout-gpos-private.h | 62 +++++++++++++++++++++++++++++++++++++----
2 files changed, 58 insertions(+), 5 deletions(-)
commit 377bfc5860ae018f54e4a2dd737b4b000383ab54
@@ -98744,8 +96336,7 @@ Date: Thu May 21 04:49:04 2009 -0400
[GPOS] Remove apply_value() return value
- src/hb-ot-layout-gpos-private.h | 75
- +++++++++++++++++++----------------------
+ src/hb-ot-layout-gpos-private.h | 75 +++++++++++++++++++----------------------
1 file changed, 34 insertions(+), 41 deletions(-)
commit fb3b5ccfefc4c38c9184d432703e81f73e1f5bc7
@@ -98755,8 +96346,7 @@ Date: Thu May 21 04:47:05 2009 -0400
[GPOS] Start MarkBasePosFormat1
src/TODO | 1 +
- src/hb-ot-layout-gpos-private.h | 38
- +++++++++++++++++---------------------
+ src/hb-ot-layout-gpos-private.h | 38 +++++++++++++++++---------------------
2 files changed, 18 insertions(+), 21 deletions(-)
commit ee8776d9e009a7fb8e1f3c1f9cf3ad42d9746a16
@@ -98784,8 +96374,7 @@ Date: Wed May 20 06:01:16 2009 -0400
[HB] Remove last dependence on the old code base!
- src/hb-buffer-private.h | 88
- ++++++++++++++++++++---------------------
+ src/hb-buffer-private.h | 88 ++++++++++++++++++++---------------------
src/hb-buffer.c | 47 +++++++++++-----------
src/hb-ot-layout-gpos-private.h | 11 ++----
src/hb-ot-layout-gsub-private.h | 12 +++---
@@ -98815,8 +96404,7 @@ Date: Wed May 20 05:35:14 2009 -0400
[HB] Remove all references to the old code!
src/Makefile.am | 76 +++++++---------------
- src/harfbuzz-buffer.c | 154
- +++++++++++++++++++--------------------------
+ src/harfbuzz-buffer.c | 154 +++++++++++++++++++--------------------------
src/harfbuzz-buffer.h | 80 +++++++++++------------
src/hb-ot-layout-private.h | 6 +-
src/hb-ot-layout.cc | 17 ++---
@@ -98828,7 +96416,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed May 20 04:51:30 2009 -0400
[GPOS] Finally it's working, up to Cursive
-
+
Wow, IranNastaliq renders perfectly again!
src/hb-ot-layout.cc | 24 ++++++++++++++++++++++++
@@ -98842,8 +96430,7 @@ Date: Wed May 20 04:16:35 2009 -0400
[GPOS] Fix more brokenness
src/Makefile.am | 2 +-
- src/hb-ot-layout-gpos-private.h | 37
- ++++++++++++++++++++-----------------
+ src/hb-ot-layout-gpos-private.h | 37 ++++++++++++++++++++-----------------
src/hb-ot-layout.cc | 7 +++++++
src/hb-ot-layout.h | 5 +++++
4 files changed, 33 insertions(+), 18 deletions(-)
@@ -98854,8 +96441,7 @@ Date: Wed May 20 03:53:00 2009 -0400
[HB] Move lookup types enum into subtable class
- src/hb-ot-layout-gpos-private.h | 66
- ++++++++++++++++++++---------------------
+ src/hb-ot-layout-gpos-private.h | 66 ++++++++++++++++++++---------------------
src/hb-ot-layout-gsub-private.h | 44 +++++++++++++--------------
2 files changed, 55 insertions(+), 55 deletions(-)
@@ -98874,12 +96460,10 @@ Date: Tue May 19 23:58:54 2009 -0400
[HB] Indentation
- src/hb-ot-layout-common-private.h | 170
- +++++++++++++++++-------------------
+ src/hb-ot-layout-common-private.h | 170 +++++++++++++++++-------------------
src/hb-ot-layout-gdef-private.h | 65 +++++++-------
src/hb-ot-layout-gsubgpos-private.h | 150 +++++++++++++++++--------------
- src/hb-ot-layout-open-private.h | 159
- ++++++++++++++++-----------------
+ src/hb-ot-layout-open-private.h | 159 ++++++++++++++++-----------------
src/hb-ot-layout-private.h | 9 +-
5 files changed, 288 insertions(+), 265 deletions(-)
@@ -98898,10 +96482,8 @@ Date: Tue May 19 23:42:30 2009 -0400
[HB] Indentation
- src/hb-ot-layout-gpos-private.h | 253
- +++++++++++++++++++++-----------------
- src/hb-ot-layout-gsub-private.h | 262
- ++++++++++++++++++++++------------------
+ src/hb-ot-layout-gpos-private.h | 253 +++++++++++++++++++++-----------------
+ src/hb-ot-layout-gsub-private.h | 262 ++++++++++++++++++++++------------------
2 files changed, 284 insertions(+), 231 deletions(-)
commit d18fd8e3f7185f531fa4c4988d3f5d5c5282b8eb
@@ -98910,8 +96492,7 @@ Date: Tue May 19 23:25:41 2009 -0400
[GPOS] CursivePosFormat1
- src/hb-ot-layout-gpos-private.h | 174
- ++++++++++++++++++++++++++++++++++++++--
+ src/hb-ot-layout-gpos-private.h | 174 ++++++++++++++++++++++++++++++++++++++--
src/hb-ot-layout-private.h | 2 +-
2 files changed, 169 insertions(+), 7 deletions(-)
@@ -98921,8 +96502,7 @@ Date: Tue May 19 22:30:09 2009 -0400
[GSUB] PairPosFormat2
- src/hb-ot-layout-gpos-private.h | 43
- ++++++++++++++++++++++++++++++++++++-----
+ src/hb-ot-layout-gpos-private.h | 43 ++++++++++++++++++++++++++++++++++++-----
1 file changed, 38 insertions(+), 5 deletions(-)
commit b24ecbadf44d56fd3286d1d3ff6928151ccec9bd
@@ -98931,8 +96511,7 @@ Date: Tue May 19 22:16:04 2009 -0400
[GPOS] PairPosFormat1
- src/hb-ot-layout-gpos-private.h | 91
- +++++++++++++++++++++++++++++++++--------
+ src/hb-ot-layout-gpos-private.h | 91 +++++++++++++++++++++++++++++++++--------
1 file changed, 73 insertions(+), 18 deletions(-)
commit 056c7ec1aea1eca60a3b20b583b8a8072be9d758
@@ -98944,8 +96523,7 @@ Date: Mon May 18 19:47:52 2009 -0400
src/harfbuzz-buffer-private.h | 1 +
src/harfbuzz-buffer.c | 3 -
src/hb-ot-layout-common-private.h | 35 ++++++-----
- src/hb-ot-layout-gpos-private.h | 127
- ++++++++++++++++++++++++++++----------
+ src/hb-ot-layout-gpos-private.h | 127 ++++++++++++++++++++++++++++----------
4 files changed, 116 insertions(+), 50 deletions(-)
commit 4fa77d3c4305a76b956de8c1a9b83a961d035a80
@@ -98975,12 +96553,9 @@ Date: Mon May 18 18:22:44 2009 -0400
[HB] Rename LOOKUP_ARGS to APPLY_ARGS
- src/hb-ot-layout-gpos-private.h | 88
- ++++++++++++++++++------------------
- src/hb-ot-layout-gsub-private.h | 84
- +++++++++++++++++-----------------
- src/hb-ot-layout-gsubgpos-private.h | 90
- ++++++++++++++++++-------------------
+ src/hb-ot-layout-gpos-private.h | 88 ++++++++++++++++++------------------
+ src/hb-ot-layout-gsub-private.h | 84 +++++++++++++++++-----------------
+ src/hb-ot-layout-gsubgpos-private.h | 90 ++++++++++++++++++-------------------
3 files changed, 131 insertions(+), 131 deletions(-)
commit 2a8e6accdf798a78ff180dcb593140592d62b872
@@ -98989,10 +96564,8 @@ Date: Mon May 18 18:21:44 2009 -0400
[HB] Internally rename position() and substitute() to apply()
- src/hb-ot-layout-gpos-private.h | 110
- ++++++++++++++++++++--------------------
- src/hb-ot-layout-gsub-private.h | 104
- ++++++++++++++++++-------------------
+ src/hb-ot-layout-gpos-private.h | 110 ++++++++++++++++++++--------------------
+ src/hb-ot-layout-gsub-private.h | 104 ++++++++++++++++++-------------------
2 files changed, 107 insertions(+), 107 deletions(-)
commit f6c8a6eacf27fd1c509d07c85985f0367c5e475f
@@ -99024,8 +96597,7 @@ Date: Mon May 18 17:09:33 2009 -0400
[HB] Start GPOS!
- src/hb-ot-layout-gpos-private.h | 915
- ++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout-gpos-private.h | 915 ++++++++++++++++++++++++++++++++++++++++
src/hb-ot-layout-gsub-private.h | 2 -
src/hb-ot-layout-private.h | 15 +-
src/hb-ot-layout.cc | 5 +-
@@ -99064,11 +96636,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 18 05:47:47 2009 -0400
[GSUB] Implement ReverseChainSingleSubst
-
+
GSUB is done!
- src/hb-ot-layout-gsub-private.h | 55
- +++++++++++++++++++++++++++----------
+ src/hb-ot-layout-gsub-private.h | 55 +++++++++++++++++++++++++++----------
src/hb-ot-layout-gsubgpos-private.h | 43 +++++++++--------------------
2 files changed, 54 insertions(+), 44 deletions(-)
@@ -99158,11 +96729,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon May 18 03:56:39 2009 -0400
[HB] ChainContext complete
-
+
IranNastaliq renders perfectly again!
- src/hb-ot-layout-gsubgpos-private.h | 63
- +++++++++++++++++++++++++++----------
+ src/hb-ot-layout-gsubgpos-private.h | 63 +++++++++++++++++++++++++++----------
1 file changed, 46 insertions(+), 17 deletions(-)
commit e072c24e79f0e7c1e078a87c782ab5dd8f21dcda
@@ -99171,8 +96741,7 @@ Date: Mon May 18 03:47:31 2009 -0400
[HB] Implement backtrack matching
- src/hb-ot-layout-gsubgpos-private.h | 61
- +++++++++++++++++++++++++++----------
+ src/hb-ot-layout-gsubgpos-private.h | 61 +++++++++++++++++++++++++++----------
1 file changed, 45 insertions(+), 16 deletions(-)
commit 02e1e5c63fa4f896053fa3c21e495239e1e9caa2
@@ -99181,8 +96750,7 @@ Date: Mon May 18 02:47:57 2009 -0400
[HB] One more step to go, for fully working GSUB and ChainContext
- src/hb-ot-layout-gsubgpos-private.h | 107
- ++++++++++++++++++++----------------
+ src/hb-ot-layout-gsubgpos-private.h | 107 ++++++++++++++++++++----------------
1 file changed, 61 insertions(+), 46 deletions(-)
commit f14c2b7acfba75b8a6880f41ceec758f9a56abce
@@ -99191,8 +96759,7 @@ Date: Mon May 18 02:36:18 2009 -0400
[HB] Further modularize Context matching
- src/hb-ot-layout-gsubgpos-private.h | 92
- +++++++++++++++++++++++++------------
+ src/hb-ot-layout-gsubgpos-private.h | 92 +++++++++++++++++++++++++------------
1 file changed, 63 insertions(+), 29 deletions(-)
commit 13ed4405c558e445b052360f1ed8ee27ecf48e6e
@@ -99201,8 +96768,7 @@ Date: Mon May 18 02:14:37 2009 -0400
[HB] A step closer to working ChainContext
- src/hb-ot-layout-gsubgpos-private.h | 36
- ++++++++++++++++++++++++++----------
+ src/hb-ot-layout-gsubgpos-private.h | 36 ++++++++++++++++++++++++++----------
1 file changed, 26 insertions(+), 10 deletions(-)
commit e8cbaaf6d538036ff9b880b018db402e0895ed01
@@ -99222,8 +96788,7 @@ Date: Mon May 18 01:49:57 2009 -0400
[HB] More template goodness
- src/hb-ot-layout-gsubgpos-private.h | 37
- +++++++++++++++----------------------
+ src/hb-ot-layout-gsubgpos-private.h | 37 +++++++++++++++----------------------
1 file changed, 15 insertions(+), 22 deletions(-)
commit aa3d7adca5c821c91a2a1b5380fd6b3d19656ab1
@@ -99234,8 +96799,7 @@ Date: Sun May 17 23:17:56 2009 -0400
src/hb-ot-layout-common-private.h | 6 +-
src/hb-ot-layout-gsub-private.h | 15 +++-
- src/hb-ot-layout-gsubgpos-private.h | 174
- ++++++++++++++++++++++--------------
+ src/hb-ot-layout-gsubgpos-private.h | 174 ++++++++++++++++++++++--------------
3 files changed, 125 insertions(+), 70 deletions(-)
commit 48f16ed96ac7041b511d9e0864623d2aa09c6da3
@@ -99244,8 +96808,7 @@ Date: Sun May 17 22:11:30 2009 -0400
[HB] Towards sharing Context and ChainContext code
- src/hb-ot-layout-gsubgpos-private.h | 220
- ++++++++++++++++--------------------
+ src/hb-ot-layout-gsubgpos-private.h | 220 ++++++++++++++++--------------------
1 file changed, 99 insertions(+), 121 deletions(-)
commit 6cf2a52593cb4b23e3efe5e16228e3172bdcdd05
@@ -99272,8 +96835,7 @@ Date: Sun May 17 20:48:27 2009 -0400
[HB] Start ChainContext and ReverseChainSingleSubst lookups
- src/hb-ot-layout-gsub-private.h | 269
- ++++++++----------------------------
+ src/hb-ot-layout-gsub-private.h | 269 ++++++++----------------------------
src/hb-ot-layout-gsubgpos-private.h | 214 +++++++++++++++++++++++++++-
2 files changed, 268 insertions(+), 215 deletions(-)
@@ -99292,13 +96854,11 @@ Date: Sun May 17 20:28:01 2009 -0400
[HB] Split Layout-common tables into new files
- src/hb-ot-layout-common-private.h | 429
- ++++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout-common-private.h | 429 ++++++++++++++++++++++++++++++++++++
src/hb-ot-layout-gdef-private.h | 3 +-
src/hb-ot-layout-gsub-private.h | 1 +
src/hb-ot-layout-gsubgpos-private.h | 2 +
- src/hb-ot-layout-open-private.h | 408
- ----------------------------------
+ src/hb-ot-layout-open-private.h | 408 ----------------------------------
5 files changed, 434 insertions(+), 409 deletions(-)
commit f45107fe0904414f1266648a6c42849c494fe611
@@ -99307,8 +96867,7 @@ Date: Sun May 17 20:13:02 2009 -0400
[HB] More shuffling
- src/hb-ot-layout-gsub-private.h | 71
- +++++++++++++++++++++----------------
+ src/hb-ot-layout-gsub-private.h | 71 +++++++++++++++++++++----------------
src/hb-ot-layout-gsubgpos-private.h | 30 ++++++++++++++++
src/hb-ot-layout-open-private.h | 41 ---------------------
3 files changed, 71 insertions(+), 71 deletions(-)
@@ -99320,8 +96879,7 @@ Date: Sun May 17 19:47:54 2009 -0400
[HB] Cleanup format unions
src/hb-ot-layout-gdef-private.h | 18 ++++----
- src/hb-ot-layout-gsub-private.h | 87
- +++++++++++++++++++------------------
+ src/hb-ot-layout-gsub-private.h | 87 +++++++++++++++++++------------------
src/hb-ot-layout-gsubgpos-private.h | 16 +++----
src/hb-ot-layout-open-private.h | 41 +++++++----------
4 files changed, 77 insertions(+), 85 deletions(-)
@@ -99351,11 +96909,10 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sun May 17 09:34:41 2009 -0400
[HB] Propagate property of first glyph
-
+
This slightly grows code size.
- src/hb-ot-layout-gsub-private.h | 100
- +++++++++++++++++++-----------------
+ src/hb-ot-layout-gsub-private.h | 100 +++++++++++++++++++-----------------
src/hb-ot-layout-gsubgpos-private.h | 7 +--
2 files changed, 56 insertions(+), 51 deletions(-)
@@ -99374,8 +96931,7 @@ Date: Sun May 17 08:59:01 2009 -0400
[HB] Unify first glyph property checking
- src/hb-ot-layout-gsub-private.h | 81
- ++++++++++++++++---------------------
+ src/hb-ot-layout-gsub-private.h | 81 ++++++++++++++++---------------------
src/hb-ot-layout-gsubgpos-private.h | 12 ------
2 files changed, 35 insertions(+), 58 deletions(-)
@@ -99386,10 +96942,8 @@ Date: Sun May 17 08:28:42 2009 -0400
[HB] Move Context matching logic out of GSUB
src/hb-ot-layout-gdef-private.h | 2 -
- src/hb-ot-layout-gsub-private.h | 331
- +---------------------------------
- src/hb-ot-layout-gsubgpos-private.h | 347
- ++++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout-gsub-private.h | 331 +---------------------------------
+ src/hb-ot-layout-gsubgpos-private.h | 347 ++++++++++++++++++++++++++++++++++++
3 files changed, 352 insertions(+), 328 deletions(-)
commit a1625528cd5ed94bc8f18903da3300e823ee5b54
@@ -99398,8 +96952,7 @@ Date: Sun May 17 07:52:11 2009 -0400
[GSUB] Unify ContextSubst matching
- src/hb-ot-layout-gsub-private.h | 378
- ++++++++++++++++------------------------
+ src/hb-ot-layout-gsub-private.h | 378 ++++++++++++++++------------------------
1 file changed, 154 insertions(+), 224 deletions(-)
commit c36238bea40e9e2b589028eb6de0710455b31585
@@ -99408,8 +96961,7 @@ Date: Sun May 17 07:39:34 2009 -0400
[HB] Renames
- src/hb-ot-layout-gsub-private.h | 122
- ++++++++++++++++++++--------------------
+ src/hb-ot-layout-gsub-private.h | 122 ++++++++++++++++++++--------------------
1 file changed, 61 insertions(+), 61 deletions(-)
commit 15c3e75b39797a153b6bc0598f87b27c4a487228
@@ -99452,8 +97004,7 @@ Date: Sun May 17 04:59:56 2009 -0400
[HB] Simplify more arrays
- src/hb-ot-layout-open-private.h | 241
- ++++++++++++++++------------------------
+ src/hb-ot-layout-open-private.h | 241 ++++++++++++++++------------------------
src/hb-ot-layout.cc | 8 +-
2 files changed, 100 insertions(+), 149 deletions(-)
@@ -99464,8 +97015,7 @@ Date: Sun May 17 01:22:51 2009 -0400
[HB] Use ArrayOf<> in GSUB
src/hb-ot-layout-gdef-private.h | 3 +-
- src/hb-ot-layout-gsub-private.h | 157
- +++++++++++++---------------------------
+ src/hb-ot-layout-gsub-private.h | 157 +++++++++++++---------------------------
src/hb-ot-layout-open-private.h | 5 --
3 files changed, 53 insertions(+), 112 deletions(-)
@@ -99476,8 +97026,7 @@ Date: Sun May 17 00:54:25 2009 -0400
[HB] Add ArrayOf<>
src/hb-ot-layout-gdef-private.h | 62 ++++++++-------------------------
- src/hb-ot-layout-open-private.h | 77
- ++++++++++++++++++++++++++++++-----------
+ src/hb-ot-layout-open-private.h | 77 ++++++++++++++++++++++++++++++-----------
2 files changed, 71 insertions(+), 68 deletions(-)
commit 238c855fcd4f0ef97a94a8662d2a2f2bb5c21ecb
@@ -99487,8 +97036,7 @@ Date: Sun May 17 00:22:37 2009 -0400
[HB] Use OffsetTo<> for Coverage
src/hb-ot-layout-gdef-private.h | 1 +
- src/hb-ot-layout-gsub-private.h | 55
- ++++++++++++++++-------------------------
+ src/hb-ot-layout-gsub-private.h | 55 ++++++++++++++++-------------------------
src/hb-ot-layout-open-private.h | 10 +-------
3 files changed, 23 insertions(+), 43 deletions(-)
@@ -99527,13 +97075,12 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Sat May 16 22:48:14 2009 -0400
[HB] Use templates for Null objects
-
+
Also use a common pool for all nul-content ones.
src/hb-ot-layout-gdef-private.h | 12 ++--
src/hb-ot-layout-gsub-private.h | 28 ++++----
- src/hb-ot-layout-open-private.h | 142
- +++++++++++++++++++++++-----------------
+ src/hb-ot-layout-open-private.h | 142 +++++++++++++++++++++++-----------------
src/hb-ot-layout.cc | 8 +--
4 files changed, 105 insertions(+), 85 deletions(-)
@@ -99552,8 +97099,7 @@ Date: Sat May 16 19:59:15 2009 -0400
[GSUB] Start ChainContextSubst
- src/hb-ot-layout-gsub-private.h | 50
- ++++++++++++++++++++++++++++++++---------
+ src/hb-ot-layout-gsub-private.h | 50 ++++++++++++++++++++++++++++++++---------
1 file changed, 39 insertions(+), 11 deletions(-)
commit 7fca9e5245d2d283e8b5354eb1ddf553a7ffc033
@@ -99562,8 +97108,7 @@ Date: Sat May 16 19:44:24 2009 -0400
[GSUB] Implement ContextSubstFormat3
- src/hb-ot-layout-gsub-private.h | 62
- ++++++++++++++++++++++++++++++++++++++++-
+ src/hb-ot-layout-gsub-private.h | 62 ++++++++++++++++++++++++++++++++++++++++-
1 file changed, 61 insertions(+), 1 deletion(-)
commit 1ff926a5681b5d4bfce65351062cda9dc1ffeba2
@@ -99572,8 +97117,7 @@ Date: Fri May 15 20:25:37 2009 -0400
[GSUB] Implement ContextSubstFormat2
- src/hb-ot-layout-gsub-private.h | 105
- +++++++++++++++++++++++++++++++++++++---
+ src/hb-ot-layout-gsub-private.h | 105 +++++++++++++++++++++++++++++++++++++---
1 file changed, 97 insertions(+), 8 deletions(-)
commit fc36d9453ed7edb0a570abc44d7caa87aafb0fcf
@@ -99592,8 +97136,7 @@ Date: Fri May 15 18:54:53 2009 -0400
[GSUB] Finish ContextSubstFormat1
- src/hb-ot-layout-gsub-private.h | 77
- ++++++++++++++++++++++++++++++++---------
+ src/hb-ot-layout-gsub-private.h | 77 ++++++++++++++++++++++++++++++++---------
src/hb-ot-layout-private.h | 14 ++++++++
src/hb-ot-layout.cc | 13 -------
3 files changed, 74 insertions(+), 30 deletions(-)
@@ -99634,8 +97177,7 @@ Date: Fri May 8 21:12:18 2009 -0400
[HB] Remove get_size()
src/hb-ot-layout-gdef-private.h | 9 ------
- src/hb-ot-layout-gsub-private.h | 63
- -----------------------------------------
+ src/hb-ot-layout-gsub-private.h | 63 -----------------------------------------
src/hb-ot-layout-open-private.h | 42 ++-------------------------
3 files changed, 3 insertions(+), 111 deletions(-)
@@ -99645,8 +97187,7 @@ Date: Fri May 8 19:09:17 2009 -0400
[GSUB] ContextSubst format 1
- src/hb-ot-layout-gsub-private.h | 52
- +++++++++++++++++++++++++++++++++++------
+ src/hb-ot-layout-gsub-private.h | 52 +++++++++++++++++++++++++++++++++++------
1 file changed, 45 insertions(+), 7 deletions(-)
commit f70229510303109bd0f71423cdf13aa200066d17
@@ -99655,8 +97196,7 @@ Date: Fri May 8 18:45:53 2009 -0400
[GSUB] Shuffle
- src/hb-ot-layout-gsub-private.h | 170
- ++++++++++++++++++++--------------------
+ src/hb-ot-layout-gsub-private.h | 170 ++++++++++++++++++++--------------------
1 file changed, 86 insertions(+), 84 deletions(-)
commit a83e08f8728439ef75e3dfab2191ac913d8f907b
@@ -99683,8 +97223,7 @@ Date: Wed May 6 00:12:29 2009 -0400
[GSUB] Towards Context subtitutes
- src/hb-ot-layout-gsub-private.h | 137
- +++++++++++++++++++++++++++++++---------
+ src/hb-ot-layout-gsub-private.h | 137 +++++++++++++++++++++++++++++++---------
1 file changed, 108 insertions(+), 29 deletions(-)
commit c9c6a78aec2b16ac06dfca8cbfaf28a77a10bae2
@@ -99693,8 +97232,7 @@ Date: Tue May 5 16:22:02 2009 -0400
[GSUB] Minor refactoring
- src/hb-ot-layout-gsub-private.h | 42
- ++++++++++++++++++++++-------------------
+ src/hb-ot-layout-gsub-private.h | 42 ++++++++++++++++++++++-------------------
1 file changed, 23 insertions(+), 19 deletions(-)
commit bb3899a579b00134b24df8891b69bf1621a8190f
@@ -99704,8 +97242,7 @@ Date: Tue May 5 13:25:13 2009 -0400
[GSUB] Implement ligature substitutions
src/Makefile.am | 2 +
- src/hb-ot-layout-gsub-private.h | 113
- ++++++++++++++++++++++++++++++++--------
+ src/hb-ot-layout-gsub-private.h | 113 ++++++++++++++++++++++++++++++++--------
2 files changed, 93 insertions(+), 22 deletions(-)
commit 38b011a293181856463dd08d43e2106e5bf1d56e
@@ -99723,8 +97260,7 @@ Date: Thu Apr 16 16:53:40 2009 -0400
[GSUB] Start Ligature subtable support
- src/hb-ot-layout-gsub-private.h | 132
- +++++++++++++++++++++++++++++-----------
+ src/hb-ot-layout-gsub-private.h | 132 +++++++++++++++++++++++++++++-----------
src/hb-ot-layout.h | 2 +-
2 files changed, 96 insertions(+), 38 deletions(-)
@@ -99734,8 +97270,7 @@ Date: Thu Apr 16 14:19:42 2009 -0400
[GSUB] Implement Alternate subtables
- src/hb-ot-layout-gsub-private.h | 104
- ++++++++++++++++++++++++++++++++++++----
+ src/hb-ot-layout-gsub-private.h | 104 ++++++++++++++++++++++++++++++++++++----
src/hb-ot-layout-open-private.h | 2 +-
2 files changed, 97 insertions(+), 9 deletions(-)
@@ -99745,8 +97280,7 @@ Date: Thu Apr 16 13:40:13 2009 -0400
[GSUB] Implement Extension subtables
- src/hb-ot-layout-gsub-private.h | 169
- +++++++++++++++++++++++++---------------
+ src/hb-ot-layout-gsub-private.h | 169 +++++++++++++++++++++++++---------------
1 file changed, 108 insertions(+), 61 deletions(-)
commit 83e61ff4702121d3418fe82a8fe7ef6bb63bb5d2
@@ -99768,8 +97302,7 @@ Date: Thu Apr 16 04:45:30 2009 -0400
src/harfbuzz-impl.h | 2 +-
src/harfbuzz.c | 1 -
src/hb-ot-layout-gdef-private.h | 4 +-
- src/hb-ot-layout-gsub-private.h | 383
- +++++++++++++++++++++++++++++-----------
+ src/hb-ot-layout-gsub-private.h | 383 +++++++++++++++++++++++++++++-----------
src/hb-ot-layout-open-private.h | 31 +++-
src/hb-ot-layout-private.h | 6 +-
src/hb-ot-layout.cc | 94 +++++++---
@@ -99791,8 +97324,7 @@ Date: Wed Apr 15 22:56:15 2009 -0400
src/harfbuzz-gpos.c | 8 ++--
src/harfbuzz-gpos.h | 2 +-
src/harfbuzz-gsub.h | 2 +-
- src/hb-ot-layout-gsub-private.h | 88
- +++++++++++++++++++++++++++++++++++++----
+ src/hb-ot-layout-gsub-private.h | 88 +++++++++++++++++++++++++++++++++++++----
src/hb-ot-layout-open-private.h | 2 +-
src/hb-ot-layout-private.h | 23 ++++++-----
src/hb-ot-layout.cc | 54 +++++++++++++++++--------
@@ -99823,8 +97355,7 @@ Date: Wed Apr 15 19:50:16 2009 -0400
src/hb-common.h | 5 +-
src/hb-ot-layout-gdef-private.h | 24 ++++----
- src/hb-ot-layout-gsub-private.h | 120
- +++++++++++++++++++++++++++++++++++++++-
+ src/hb-ot-layout-gsub-private.h | 120 +++++++++++++++++++++++++++++++++++++++-
src/hb-ot-layout-open-private.h | 51 ++++++++++-------
src/hb-ot-layout-private.h | 2 +-
src/hb-ot-layout.cc | 63 +++++++++++++++++++--
@@ -99837,7 +97368,7 @@ Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Apr 9 13:30:26 2009 -0400
Bug 577952 – Error loading {GDEF,GSUB,GPOS} table 0x6EAD
-
+
Detect TrueType Collections by checking the font data header instead
of checking for "face->num_faces >1".
@@ -99877,19 +97408,16 @@ commit aca4d11388eedd532a73bd34747abb65c0ea9291
Author: Behdad Esfahbod <behdad@gnome.org>
Date: Mon Feb 2 00:13:07 2009 +0000
- Allocate all array rows in a single ALLOC call. Saves over 100
- alloc calls
-
+ Allocate all array rows in a single ALLOC call. Saves over 100 alloc calls
+
2009-01-31 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/opentype/harfbuzz-gpos.c (Load_Mark2Array),
(Free_Mark2Array):
- Allocate all array rows in a single ALLOC call. Saves over
- 100
+ Allocate all array rows in a single ALLOC call. Saves over 100
alloc calls when loading DejaVu Sans,
- src/harfbuzz-gpos.c | 59
- +++++++++++++++--------------------------------------
+ src/harfbuzz-gpos.c | 59 +++++++++++++++--------------------------------------
1 file changed, 17 insertions(+), 42 deletions(-)
commit c561d69c721105b78bb06d1e3c5f21ca314d924a
@@ -99897,9 +97425,9 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Jan 29 09:20:08 2009 +0000
Remove ClassDef->Defined field. This is the comment accompanying it:
-
+
2009-01-29 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/opentype/harfbuzz-open.h:
* pango/opentype/harfbuzz-gdef.c (Make_ClassRange),
(HB_GDEF_Build_ClassDefinition):
@@ -99911,41 +97439,28 @@ Date: Thu Jan 29 09:20:08 2009 +0000
(Load_ClassDef2), (_HB_OPEN_Load_ClassDefinition),
(_HB_OPEN_Load_EmptyClassDefinition),
(_HB_OPEN_Free_ClassDefinition):
- Remove ClassDef->Defined field. This is the comment
- accompanying it:
-
- The `Defined' field is not defined in the OpenType
- specification
- but apparently needed for processing fonts like trado.ttf:
- This
- font refers to a class which contains not a single element.
- We
+ Remove ClassDef->Defined field. This is the comment accompanying it:
+
+ The `Defined' field is not defined in the OpenType specification
+ but apparently needed for processing fonts like trado.ttf: This
+ font refers to a class which contains not a single element. We
map such classes to class 0.
-
- The comment is correct that trado.ttf (MS Traditional
- Arabic) uses
+
+ The comment is correct that trado.ttf (MS Traditional Arabic) uses
such classes. However, in my testing I couldn't identify any
- problems with the font if the special handling is removed.
- I also
- processed as many fonts as I could get my hand on and
- trado.ttf was
- the only not-totally-broken font hitting the special-case
- code.
+ problems with the font if the special handling is removed. I also
+ processed as many fonts as I could get my hand on and trado.ttf was
+ the only not-totally-broken font hitting the special-case code.
DejaVu fonts hit it too, but I'm sure they do not require the
- special-handling code. Most probably, that code introduces
- bugs
+ special-handling code. Most probably, that code introduces bugs
in them.
-
- The special-casing was consuming lots of memory.
- EIGHT MEGABYTES
- for loading DejaVu Sans! While this could be complete
- fixed, I
- decided to remove the special-handling code altogether.
- I don't
- think it will make any real difference, and if it does,
- we'll fix
+
+ The special-casing was consuming lots of memory. EIGHT MEGABYTES
+ for loading DejaVu Sans! While this could be complete fixed, I
+ decided to remove the special-handling code altogether. I don't
+ think it will make any real difference, and if it does, we'll fix
fonts. Such hacks will not be in harfbuzz-ng anyway.
-
+
Bug originally reported by nsf.
src/harfbuzz-gdef.c | 8 --------
@@ -99960,9 +97475,9 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Jan 29 09:19:56 2009 +0000
Use calloc(), instead of malloc()ing and memset()ing.
-
+
2009-01-29 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/opentype/harfbuzz-impl.c (_hb_alloc): Use calloc(),
instead of malloc()ing and memset()ing.
@@ -99974,14 +97489,12 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Jan 29 09:19:43 2009 +0000
Remove old cruft.
-
+
2009-01-29 Behdad Esfahbod <behdad@gnome.org>
+
+ * pango/opentype/harfbuzz-dump-main.c (main): Remove old cruft.
- * pango/opentype/harfbuzz-dump-main.c (main): Remove old
- cruft.
-
- src/harfbuzz-dump-main.c | 144
- +----------------------------------------------
+ src/harfbuzz-dump-main.c | 144 +----------------------------------------------
1 file changed, 1 insertion(+), 143 deletions(-)
commit 0a47c4f78e8a9e81cd305f24ec92ea61ead7dd8d
@@ -99989,17 +97502,14 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Jan 29 09:19:20 2009 +0000
Allocate all array rows in a single ALLOC call. Saves over 2000 alloc
-
+
2009-01-29 Behdad Esfahbod <behdad@gnome.org>
-
- * pango/opentype/harfbuzz-gpos.c (Load_BaseArray),
- (Free_BaseArray):
- Allocate all array rows in a single ALLOC call. Saves over
- 2000
+
+ * pango/opentype/harfbuzz-gpos.c (Load_BaseArray), (Free_BaseArray):
+ Allocate all array rows in a single ALLOC call. Saves over 2000
alloc calls when loading DejaVu Sans!
- src/harfbuzz-gpos.c | 57
- ++++++++++++++++-------------------------------------
+ src/harfbuzz-gpos.c | 57 ++++++++++++++++-------------------------------------
1 file changed, 17 insertions(+), 40 deletions(-)
commit 549be924bccd187f53791dfa27647981ac909545
@@ -100007,24 +97517,21 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Fri Dec 26 02:31:47 2008 +0000
Bug 469049 – Fix all compiler warnings
-
+
2008-12-25 Behdad Esfahbod <behdad@gnome.org>
-
+
Bug 469049 – Fix all compiler warnings
-
+
* pango-view/viewer-pangocairo.c (render_callback):
- * pango/fonts.c (append_field),
- (pango_font_description_to_string):
+ * pango/fonts.c (append_field), (pango_font_description_to_string):
* pango/opentype/harfbuzz-dump.c:
- * pango/pango-bidi-type.c
- (pango_log2vis_get_embedding_levels):
+ * pango/pango-bidi-type.c (pango_log2vis_get_embedding_levels):
* pango/pango-coverage.c (pango_coverage_set):
* pango/pango-markup.c (span_parse_func):
* pango/pango-renderer.c
(pango_renderer_default_draw_error_underline):
* pango/pango-utils.c (pango_scan_string):
- * pango/pangocairo-render.c
- (pango_cairo_renderer_draw_trapezoid),
+ * pango/pangocairo-render.c (pango_cairo_renderer_draw_trapezoid),
(draw_error_underline), (pango_cairo_renderer_class_init):
Fix all the remaining warnings.
@@ -100036,9 +97543,9 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Fri Dec 26 02:31:35 2008 +0000
Fix more warnings.
-
+
2008-12-25 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/modules.c (pango_module_load), (script_info_free):
* pango/opentype/harfbuzz-gpos.c (HB_Load_GPOS_Table):
* pango/pango-bidi-type.c:
@@ -100058,8 +97565,7 @@ Date: Fri Dec 26 02:31:35 2008 +0000
(get_first_font), (_pango_fc_font_map_get_coverage),
(cleanup_font), (pango_fc_font_description_from_pattern),
(pango_fc_face_list_sizes), (pango_fc_family_list_faces):
- * pango/pangoft2-fontmap.c
- (pango_ft2_font_map_get_resolution):
+ * pango/pangoft2-fontmap.c (pango_ft2_font_map_get_resolution):
* pango/pangoft2-render.c (pango_ft2_renderer_init),
(pango_ft2_renderer_draw_trapezoid):
* pango/pangoft2.c (pango_ft2_font_get_face),
@@ -100075,15 +97581,13 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Wed Oct 15 03:45:29 2008 +0000
Bug 528272 – "Error loading GPOS table 5503" when using katakana
-
+
2008-10-14 Behdad Esfahbod <behdad@gnome.org>
-
- Bug 528272 – "Error loading GPOS table 5503" when using
- katakana
+
+ Bug 528272 – "Error loading GPOS table 5503" when using katakana
characters
-
- * pango/opentype/harfbuzz-gpos.c (Load_Mark2Array): Skip
- parsing
+
+ * pango/opentype/harfbuzz-gpos.c (Load_Mark2Array): Skip parsing
null anchor tables.
src/harfbuzz-gpos.c | 7 +++++++
@@ -100094,9 +97598,9 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Mon Sep 29 22:28:47 2008 +0000
Fix left-to-right positioning. Reported by Peter Hunter.
-
+
2008-09-29 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/opentype/harfbuzz-gpos.c (Position_CursiveChain):
Fix left-to-right positioning. Reported by Peter Hunter.
@@ -100108,14 +97612,12 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Sun Jun 29 18:30:14 2008 +0000
Bug 540592 – Crash in HB_GSUB_Apply_String with Linux-Libertine font
-
+
2008-06-29 Behdad Esfahbod <behdad@gnome.org>
-
- Bug 540592 – Crash in HB_GSUB_Apply_String with
- Linux-Libertine font
-
- * pango/opentype/harfbuzz-gsub.c (GSUB_Do_String_Lookup):
- Fix reverse
+
+ Bug 540592 – Crash in HB_GSUB_Apply_String with Linux-Libertine font
+
+ * pango/opentype/harfbuzz-gsub.c (GSUB_Do_String_Lookup): Fix reverse
loops for type 8 lookups.
src/harfbuzz-gsub.c | 2 +-
@@ -100127,8 +97629,7 @@ Date: Mon Feb 18 21:14:23 2008 -0500
[hb-ot-layout] Add proper namespace to accessors
- src/hb-ot-layout.cc | 165
- ++++++++++++++++++++++++++++++++++++++--------------
+ src/hb-ot-layout.cc | 165 ++++++++++++++++++++++++++++++++++++++--------------
src/hb-ot-layout.h | 115 +++++++++++++++++++++++-------------
2 files changed, 198 insertions(+), 82 deletions(-)
@@ -100148,8 +97649,7 @@ Date: Mon Jan 28 07:40:10 2008 -0500
Finish script, language, and feature public API
src/hb-ot-layout-open-private.h | 22 ++++++---
- src/hb-ot-layout.cc | 107
- +++++++++++++++++++++++++++++++---------
+ src/hb-ot-layout.cc | 107 +++++++++++++++++++++++++++++++---------
src/hb-ot-layout.h | 34 ++++++++++++-
3 files changed, 132 insertions(+), 31 deletions(-)
@@ -100160,8 +97660,7 @@ Date: Mon Jan 28 05:58:50 2008 -0500
Add script and language public getter API
src/hb-ot-layout-open-private.h | 40 ++++++++-----
- src/hb-ot-layout.cc | 127
- +++++++++++++++++++++++++++++++++++++++-
+ src/hb-ot-layout.cc | 127 +++++++++++++++++++++++++++++++++++++++-
src/hb-ot-layout.h | 56 ++++++++++++++++++
src/main.cc | 2 +-
4 files changed, 207 insertions(+), 18 deletions(-)
@@ -100172,8 +97671,7 @@ Date: Mon Jan 28 02:30:48 2008 -0500
Make main.cc compile again, which means finished getter API
- src/hb-ot-layout-open-private.h | 117
- +++++++++++++++++++++++++++++-----------
+ src/hb-ot-layout-open-private.h | 117 +++++++++++++++++++++++++++++-----------
src/main.cc | 99 +++++++++++++++++++++++-----------
2 files changed, 155 insertions(+), 61 deletions(-)
@@ -100218,8 +97716,7 @@ Date: Thu Jan 24 19:38:56 2008 -0500
[GDEF] Finish internal API
src/hb-ot-layout-private.h | 15 +++++++-
- src/hb-ot-layout.cc | 95
- ++++++++++++++++++++++------------------------
+ src/hb-ot-layout.cc | 95 ++++++++++++++++++++++------------------------
src/hb-ot-layout.h | 16 ++++----
3 files changed, 66 insertions(+), 60 deletions(-)
@@ -100233,8 +97730,7 @@ Date: Thu Jan 24 19:13:50 2008 -0500
src/hb-ot-layout-gdef-private.h | 28 +++++----
src/hb-ot-layout-open-private.h | 25 ++++----
src/hb-ot-layout-private.h | 23 ++------
- src/hb-ot-layout.cc | 123
- +++++++++++++++++++++++++++++++++++++---
+ src/hb-ot-layout.cc | 123 +++++++++++++++++++++++++++++++++++++---
src/hb-ot-layout.h | 29 ++++++----
6 files changed, 176 insertions(+), 63 deletions(-)
@@ -100246,8 +97742,7 @@ Date: Thu Jan 24 06:03:45 2008 -0500
src/hb-ot-layout-gdef-private.h | 10 ++++-
src/hb-ot-layout-private.h | 16 +++++++-
- src/hb-ot-layout.cc | 84
- +++++++++++++++++++++++++++++++++++++----
+ src/hb-ot-layout.cc | 84 +++++++++++++++++++++++++++++++++++++----
src/hb-ot-layout.h | 25 ++++++++----
4 files changed, 117 insertions(+), 18 deletions(-)
@@ -100272,8 +97767,7 @@ Date: Thu Jan 24 03:11:09 2008 -0500
src/{Makefile => Makefile.ng} | 0
src/hb-ot-layout-gdef-private.h | 17 ++++----
src/hb-ot-layout-gsub-private.h | 3 +-
- src/hb-ot-layout-open-private.h | 92
- +++++++++++++++++++++++++++++------------
+ src/hb-ot-layout-open-private.h | 92 +++++++++++++++++++++++++++++------------
src/hb-ot-layout-private.h | 51 +++++++++++++++++++++++
src/hb-ot-layout.cc | 67 ++++++++++++++++++++++++++++++
src/hb-ot-layout.h | 35 ++++++++++++++--
@@ -100297,8 +97791,7 @@ Date: Wed Jan 23 18:02:28 2008 -0500
src/hb-ot-layout-gdef-private.h | 37 +++++++++++++++++++++++++------
src/hb-ot-layout-gsub-private.h | 13 +++++++++++
- src/hb-ot-layout-open-private.h | 49
- ++++++++++++++++++++++++++++++++++-------
+ src/hb-ot-layout-open-private.h | 49 ++++++++++++++++++++++++++++++++++-------
src/hb-private.h | 2 ++
4 files changed, 86 insertions(+), 15 deletions(-)
@@ -100320,8 +97813,7 @@ Date: Wed Jan 23 17:01:55 2008 -0500
Initial gsub stub
src/hb-ot-layout-gdef-private.h | 4 +
- src/hb-ot-layout-gsub-private.h | 453
- ++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-layout-gsub-private.h | 453 ++++++++++++++++++++++++++++++++++++++++
src/hb-ot-layout-open-private.h | 3 +
src/main.cc | 1 +
4 files changed, 461 insertions(+)
@@ -100346,8 +97838,7 @@ Date: Wed Jan 23 15:50:38 2008 -0500
Minor cleanup, add LIKELY and UNLIKELY annotations
- src/hb-ot-layout-gdef-private.h | 63
- +++++++++++++++++++++++------------------
+ src/hb-ot-layout-gdef-private.h | 63 +++++++++++++++++++++++------------------
src/hb-ot-layout-open-private.h | 36 ++++++++---------------
src/hb-private.h | 15 ++++++++++
3 files changed, 63 insertions(+), 51 deletions(-)
@@ -100358,17 +97849,12 @@ Date: Wed Jan 23 05:00:30 2008 -0500
Clean up file names, add namespace
- src/harfbuzz-common.h | 14
- --------------
- src/harfbuzz-gdef.h | 11
- -----------
- src/hb-common.h | 14
- ++++++++++++++
+ src/harfbuzz-common.h | 14 --------------
+ src/harfbuzz-gdef.h | 11 -----------
+ src/hb-common.h | 14 ++++++++++++++
...harfbuzz-gdef-private.h => hb-ot-layout-gdef-private.h} | 8 ++++----
- ...harfbuzz-open-private.h => hb-ot-layout-open-private.h} | 10
- +++++-----
- src/{harfbuzz-open.h => hb-ot-layout.h} | 12
- ++++++------
+ ...harfbuzz-open-private.h => hb-ot-layout-open-private.h} | 10 +++++-----
+ src/{harfbuzz-open.h => hb-ot-layout.h} | 12 ++++++------
src/{harfbuzz-private.h => hb-private.h} | 6 +++---
src/main.cc | 4 ++--
8 files changed, 34 insertions(+), 45 deletions(-)
@@ -100380,8 +97866,7 @@ Date: Wed Jan 23 04:36:40 2008 -0500
Make all code NULL-free and assert-free
src/harfbuzz-gdef-private.h | 125 ++++++++++---------
- src/harfbuzz-open-private.h | 285
- +++++++++++++++++++++++---------------------
+ src/harfbuzz-open-private.h | 285 +++++++++++++++++++++++---------------------
src/main.cc | 8 +-
3 files changed, 214 insertions(+), 204 deletions(-)
@@ -100392,8 +97877,7 @@ Date: Wed Jan 23 02:01:37 2008 -0500
Define get_for_data() factories
src/harfbuzz-gdef-private.h | 3 +++
- src/harfbuzz-open-private.h | 42
- +++++++++++++++++++++++++++++-------------
+ src/harfbuzz-open-private.h | 42 +++++++++++++++++++++++++++++-------------
src/main.cc | 10 ++++------
3 files changed, 36 insertions(+), 19 deletions(-)
@@ -100403,8 +97887,7 @@ Date: Wed Jan 23 01:38:10 2008 -0500
Finish and test GDEF
- src/harfbuzz-gdef-private.h | 72
- ++++++++++++++++++++++++++++++++-------------
+ src/harfbuzz-gdef-private.h | 72 ++++++++++++++++++++++++++++++++-------------
src/harfbuzz-open-private.h | 23 ++++++++-------
src/harfbuzz-open.h | 4 +++
src/main.cc | 10 +++++++
@@ -100418,8 +97901,7 @@ Date: Wed Jan 23 00:20:48 2008 -0500
src/Makefile | 10 ++++-
src/harfbuzz-gdef-private.h | 65 +++++++++++++++++++++-------
- src/harfbuzz-open-private.h | 102
- ++++++++++++++++++++++++++++++++++++++++----
+ src/harfbuzz-open-private.h | 102 ++++++++++++++++++++++++++++++++++++++++----
src/harfbuzz-private.h | 6 +++
src/main.cc | 12 +++---
5 files changed, 163 insertions(+), 32 deletions(-)
@@ -100429,11 +97911,10 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Wed Jan 16 20:39:29 2008 +0000
Remove COPYING.GPL and COPYING.FTL that are no longer there.
-
+
2008-01-16 Behdad Esfahbod <behdad@gnome.org>
-
- * pango/opentype/Makefile.am: Remove COPYING.GPL and
- COPYING.FTL that
+
+ * pango/opentype/Makefile.am: Remove COPYING.GPL and COPYING.FTL that
are no longer there.
src/Makefile.am | 2 --
@@ -100443,22 +97924,18 @@ commit a2a9a023f6472ba262f89e5327318996b8258d25
Author: Behdad Esfahbod <behdad@gnome.org>
Date: Tue Jan 15 22:46:32 2008 +0000
- HarfBuzz was relicensed to a more generous and simpler
- license. Adapt. See
-
+ HarfBuzz was relicensed to a more generous and simpler license. Adapt. See
+
2008-01-15 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/opentype/*:
- HarfBuzz was relicensed to a more generous and simpler
- license.
- Adapt. See pango/opentype/COPYING for the new license
- which is
+ HarfBuzz was relicensed to a more generous and simpler license.
+ Adapt. See pango/opentype/COPYING for the new license which is
LGPL-compatible.
src/COPYING | 39 +++--
src/COPYING.FTL | 174 ---------------------
- src/COPYING.GPL | 340
- ------------------------------------------
+ src/COPYING.GPL | 340 ------------------------------------------
src/harfbuzz-buffer-private.h | 32 ++--
src/harfbuzz-buffer.c | 27 +++-
src/harfbuzz-buffer.h | 32 ++--
@@ -100491,12 +97968,12 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Wed Dec 5 03:41:29 2007 +0000
Bug 501575 – Compile errors Patch from Jens Granseuer
-
+
2007-12-04 Behdad Esfahbod <behdad@gnome.org>
-
+
Bug 501575 – Compile errors
Patch from Jens Granseuer
-
+
* pango/opentype/harfbuzz-stream.c (_hb_font_goto_table):
* pango/pango-utils.c (handle_alias_line):
Fix C99ism.
@@ -100518,14 +97995,14 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Fri Nov 30 04:29:58 2007 +0000
Bug 485536 – underline_position can be zero
-
+
2007-11-29 Behdad Esfahbod <behdad@gnome.org>
-
+
Bug 485536 – underline_position can be zero
-
+
* pango/pango-utils.c (pango_cairo_quantize_line_geometry):
Document that returned position may be zero.
-
+
* pango/pangocairo-win32font.c
(pango_cairo_win32_font_create_metrics_for_context):
* pango/pangofc-font.c (get_face_metrics):
@@ -100539,9 +98016,9 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Sat Nov 24 01:40:13 2007 +0000
Remove unused macro.
-
+
2007-11-23 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/opentype/harfbuzz-impl.c: Remove unused macro.
src/harfbuzz-impl.c | 18 ------------------
@@ -100554,8 +98031,7 @@ Date: Sun Nov 18 22:34:08 2007 +0000
Minor
src/harfbuzz-dump-main.c | 4 +--
- src/harfbuzz-stream.c | 89
- ++++++++++++++++++++++++------------------------
+ src/harfbuzz-stream.c | 89 ++++++++++++++++++++++++------------------------
2 files changed, 46 insertions(+), 47 deletions(-)
commit 10d6a25a26bdbab4ece4edf0e34ffd3d22410ebe
@@ -100564,8 +98040,7 @@ Date: Wed Nov 7 10:04:11 2007 +0000
Remove dead code.
- src/harfbuzz-gdef.c | 88
- -----------------------------------------------------
+ src/harfbuzz-gdef.c | 88 -----------------------------------------------------
src/harfbuzz-gpos.h | 4 +--
2 files changed, 1 insertion(+), 91 deletions(-)
@@ -100574,9 +98049,9 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Wed Nov 7 09:59:18 2007 +0000
And some more.
-
+
2007-11-07 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/opentype/*: And some more.
src/harfbuzz-buffer.h | 8 ++---
@@ -100584,8 +98059,7 @@ Date: Wed Nov 7 09:59:18 2007 +0000
src/harfbuzz-gdef.c | 14 ++++----
src/harfbuzz-gdef.h | 4 +--
src/harfbuzz-global.h | 21 +++++------
- src/harfbuzz-gpos.c | 82
- +++++++++++++++++++++----------------------
+ src/harfbuzz-gpos.c | 82 +++++++++++++++++++++----------------------
src/harfbuzz-gpos.h | 12 +++----
src/harfbuzz-gsub.c | 4 +--
src/harfbuzz-gsub.h | 4 +--
@@ -100598,9 +98072,9 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Wed Nov 7 08:06:01 2007 +0000
Some more cleanup and merging.
-
+
2007-11-07 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/opentype/*: Some more cleanup and merging.
src/Makefile.am | 6 +-
@@ -100614,13 +98088,11 @@ Date: Wed Nov 7 08:06:01 2007 +0000
src/harfbuzz-gpos.c | 32 +-----
src/harfbuzz-gsub-private.h | 1 +
src/harfbuzz-gsub.c | 33 +-----
- src/harfbuzz-impl.c | 216
- ++------------------------------------
+ src/harfbuzz-impl.c | 216 ++------------------------------------
src/harfbuzz-impl.h | 100 +-----------------
src/harfbuzz-open-private.h | 4 +-
src/harfbuzz-stream-private.h | 70 +++++++++++++
- src/harfbuzz-stream.c | 234
- ++++++++++++++++++++++++++++++++++++++++++
+ src/harfbuzz-stream.c | 234 ++++++++++++++++++++++++++++++++++++++++++
src/harfbuzz.c | 1 +
src/harfbuzz.h | 3 +-
18 files changed, 419 insertions(+), 372 deletions(-)
@@ -100639,9 +98111,9 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Oct 25 23:37:11 2007 +0000
Even more cleanup and more type renames.
-
+
2007-10-25 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/opentype/*: Even more cleanup and more type renames.
src/harfbuzz-buffer.h | 3 +--
@@ -100656,19 +98128,17 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Oct 25 23:22:17 2007 +0000
More cleanup, remove redundant error types.
-
+
2007-10-25 Behdad Esfahbod <behdad@gnome.org>
-
- * pango/opentype/*: More cleanup, remove redundant error
- types.
+
+ * pango/opentype/*: More cleanup, remove redundant error types.
src/harfbuzz-dump-main.c | 4 +-
src/harfbuzz-dump.c | 14 +++---
src/harfbuzz-gdef.c | 25 +++++-----
src/harfbuzz-gdef.h | 3 --
src/harfbuzz-global.h | 31 ++++++------
- src/harfbuzz-gpos.c | 124
- +++++++++++++++++++++++------------------------
+ src/harfbuzz-gpos.c | 124 +++++++++++++++++++++++------------------------
src/harfbuzz-gpos.h | 3 --
src/harfbuzz-gsub.c | 86 ++++++++++++++++----------------
src/harfbuzz-gsub.h | 3 --
@@ -100682,18 +98152,15 @@ commit 4280ec4df45ae86c10c3cd24ddb9c05e47223d39
Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Oct 25 00:23:46 2007 +0000
- Rename ftglue.c to harfbuzz-impl.c and more type renames and
- moving code
-
+ Rename ftglue.c to harfbuzz-impl.c and more type renames and moving code
+
2007-10-24 Behdad Esfahbod <behdad@gnome.org>
-
- * pango/opentype/*: Rename ftglue.c to harfbuzz-impl.c
- and more
+
+ * pango/opentype/*: Rename ftglue.c to harfbuzz-impl.c and more
type renames and moving code around.
src/Makefile.am | 3 +-
- src/ftglue.h | 151
- --------------------------------------
+ src/ftglue.h | 151 --------------------------------------
src/harfbuzz-dump-main.c | 48 ++----------
src/harfbuzz-dump.c | 30 ++++----
src/harfbuzz-gdef.c | 18 ++---
@@ -100714,11 +98181,10 @@ commit 5716ae278a82d318ddbfeba01d0785d4efbe1454
Author: Behdad Esfahbod <behdad@gnome.org>
Date: Wed Oct 24 22:44:47 2007 +0000
- New header file harfbuzz-global.h. Rename FT_* int types to HB_*
- types.
-
+ New header file harfbuzz-global.h. Rename FT_* int types to HB_* types.
+
2007-10-24 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/opentype/*: New header file harfbuzz-global.h. Rename
FT_* int types to HB_* types.
@@ -100736,8 +98202,7 @@ Date: Wed Oct 24 22:44:47 2007 +0000
src/harfbuzz-gdef.h | 32 +--
src/harfbuzz-global.h | 34 +++
src/harfbuzz-gpos-private.h | 182 +++++++-------
- src/harfbuzz-gpos.c | 540
- +++++++++++++++++++++---------------------
+ src/harfbuzz-gpos.c | 540 +++++++++++++++++++++---------------------
src/harfbuzz-gpos.h | 52 ++--
src/harfbuzz-gsub-private.h | 142 +++++------
src/harfbuzz-gsub.c | 432 ++++++++++++++++-----------------
@@ -100754,9 +98219,9 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Wed Oct 24 21:35:03 2007 +0000
Add commented-out dummy struct for Extension lookups.
-
+
2007-10-24 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/opentype/harfbuzz-gpos-private.h:
* pango/opentype/harfbuzz-gsub-private.h:
Add commented-out dummy struct for Extension lookups.
@@ -100770,15 +98235,14 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Sun Oct 21 18:17:02 2007 +0000
Bug 488840 – harfbuzz: protect against ligid overflow
-
+
2007-10-21 Behdad Esfahbod <behdad@gnome.org>
-
+
Bug 488840 – harfbuzz: protect against ligid overflow
-
- * pango/opentype/harfbuzz-buffer.c
- (_hb_buffer_allocate_ligid):
+
+ * pango/opentype/harfbuzz-buffer.c (_hb_buffer_allocate_ligid):
Never return zero, even in case of overflow.
-
+
* pango/opentype/harfbuzz-impl.h: Define dummy HB_LIKELY() and
HB_UNLIKELY(), to be filled later.
@@ -100791,20 +98255,19 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Oct 11 08:30:50 2007 +0000
Mark internal symbols as HB_INTERNAL and define that to static in
-
+
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/opentype/*: Mark internal symbols as HB_INTERNAL and
define that to static in harfbuzz.c.
-
+
* pango/opentype/harfbuzz-buffer-internal.h: New file.
src/Makefile.am | 1 +
src/ftglue.c | 18 +++----
src/ftglue.h | 20 ++++----
src/harfbuzz-buffer-private.h | 60 +++++++++++++++++++++++
- src/harfbuzz-buffer.c | 108
- +++++++++++++++++++++-------------------
+ src/harfbuzz-buffer.c | 108 +++++++++++++++++++++-------------------
src/harfbuzz-buffer.h | 38 +--------------
src/harfbuzz-gdef-private.h | 17 ++++---
src/harfbuzz-gdef.c | 20 ++++----
@@ -100814,8 +98277,7 @@ Date: Thu Oct 11 08:30:50 2007 +0000
src/harfbuzz-gsub.c | 20 ++++----
src/harfbuzz-impl.h | 12 +++--
src/harfbuzz-open-private.h | 81 +++++++++++++++++-------------
- src/harfbuzz-open.c | 111
- ++++++++++++++++++++++++------------------
+ src/harfbuzz-open.c | 111 ++++++++++++++++++++++++------------------
src/harfbuzz.c | 1 +
16 files changed, 315 insertions(+), 235 deletions(-)
@@ -100824,9 +98286,9 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Oct 11 07:46:33 2007 +0000
Remove FTGLUE_API/APIDEF cruft.
-
+
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/opentype/ftglue.[ch]: Remove FTGLUE_API/APIDEF cruft.
src/ftglue.c | 16 ++++++++--------
@@ -100837,13 +98299,11 @@ commit 61ddbafaaad31ccacde54cad7e60a84abffc0a9f
Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Oct 11 07:45:26 2007 +0000
- Build harfbuzz.c instead of individual source files, to let
- compiler go
-
+ Build harfbuzz.c instead of individual source files, to let compiler go
+
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
-
- * pango/opentype/Makefile.am: Build harfbuzz.c instead
- of individual
+
+ * pango/opentype/Makefile.am: Build harfbuzz.c instead of individual
source files, to let compiler go wild with optimizations!
src/Makefile.am | 9 +++++----
@@ -100854,9 +98314,9 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Oct 11 07:34:08 2007 +0000
Same here.
-
+
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/opentype/harfbuzz.c: Same here.
src/harfbuzz.c | 1 -
@@ -100866,13 +98326,11 @@ commit 6567e16e3b14c08659342bbcc9f2735e71f9114e
Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Oct 11 07:33:19 2007 +0000
- Don't include harfbuzz-dump.[ch] in libharfbuzz.a. Those are just
- used by
-
+ Don't include harfbuzz-dump.[ch] in libharfbuzz.a. Those are just used by
+
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
-
- * pango/opentype/Makefile.am: Don't include harfbuzz-dump.[ch]
- in
+
+ * pango/opentype/Makefile.am: Don't include harfbuzz-dump.[ch] in
libharfbuzz.a. Those are just used by the harfbuzz-dump tool.
src/Makefile.am | 4 ++--
@@ -100883,9 +98341,9 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Oct 11 07:24:47 2007 +0000
Some more cleanup.
-
+
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/opentype/harfbuzz-buffer.c: Some more cleanup.
src/harfbuzz-buffer.c | 11 ++---------
@@ -100896,13 +98354,12 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Oct 11 07:21:31 2007 +0000
Move some code around.
-
+
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/opentype/harfbuzz-buffer.c: Move some code around.
- src/harfbuzz-buffer.c | 91
- +++++++++++++++++++++++++++------------------------
+ src/harfbuzz-buffer.c | 91 +++++++++++++++++++++++++++------------------------
1 file changed, 48 insertions(+), 43 deletions(-)
commit 7a5405c8261573a0f29d28fb533e800d698f6129
@@ -100918,15 +98375,12 @@ commit 986f4fd96892ebda550793941bb1daed862c4a34
Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Oct 11 07:12:49 2007 +0000
- Rename buffer->inplace to buffer->separate_out with the inverted
- meaning,
-
+ Rename buffer->inplace to buffer->separate_out with the inverted meaning,
+
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
-
- * pango/opentype/harfbuzz-buffer.[ch]: Rename buffer->inplace
- to
- buffer->separate_out with the inverted meaning, such that
- buffer
+
+ * pango/opentype/harfbuzz-buffer.[ch]: Rename buffer->inplace to
+ buffer->separate_out with the inverted meaning, such that buffer
is initialization is memset(0).
src/harfbuzz-buffer.c | 34 +++++++++++++++++-----------------
@@ -100938,9 +98392,9 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Oct 11 07:05:09 2007 +0000
Allocate buffer->positions lazily.
-
+
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/opentype/*: Allocate buffer->positions lazily.
src/harfbuzz-buffer.c | 25 +++++++++++++++++++++++--
@@ -100954,15 +98408,14 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Oct 11 06:52:07 2007 +0000
Bug 485621 – Get rid of freetype memory allocator in harfbuzz
-
+
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
-
- Bug 485621 – Get rid of freetype memory allocator in
- harfbuzz
-
+
+ Bug 485621 – Get rid of freetype memory allocator in harfbuzz
+
* pango/opentype/*: Remove all occurences of FT_Memory. Use
malloc/realloc/free directly.
-
+
* pango/pango-ot*: Update to above.
src/ftglue.c | 52 ++---
@@ -100972,8 +98425,7 @@ Date: Thu Oct 11 06:52:07 2007 +0000
src/harfbuzz-gdef.c | 106 ++++------
src/harfbuzz-gdef.h | 6 +-
src/harfbuzz-gpos-private.h | 1 -
- src/harfbuzz-gpos.c | 462
- ++++++++++++++++++--------------------------
+ src/harfbuzz-gpos.c | 462 ++++++++++++++++++--------------------------
src/harfbuzz-gpos.h | 2 -
src/harfbuzz-gsub-private.h | 1 -
src/harfbuzz-gsub.c | 312 +++++++++++-------------------
@@ -100987,22 +98439,22 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Oct 11 00:07:58 2007 +0000
Bug 485559 – Boston Summit HarfBuzz optimizations
-
+
2007-10-10 Behdad Esfahbod <behdad@gnome.org>
-
+
Bug 485559 – Boston Summit HarfBuzz optimizations
-
+
* pango/opentype/*: HarfBuzz hacking to:
-
+
- Rename last remaining FT_Err stuff to HB_Err.
-
+
- Fix a couple invalid table paths to be permissive so
fonts work better. Particularly GDEF table for Nafees
Nastaliq is loaded and works great now.
-
+
- Optimize harfbuzz buffer to not copy/swap for simple
one-to-one and "copy" GSUB operations.
-
+
* pango/pango-ot*: Update to FT_Err to HB_Err renaming.
src/ftglue.c | 51 ++-
@@ -101018,8 +98470,7 @@ Date: Thu Oct 11 00:07:58 2007 +0000
src/harfbuzz-gpos.c | 810 ++++++++++++++++++--------------------
src/harfbuzz-gpos.h | 30 +-
src/harfbuzz-gsub-private.h | 2 +-
- src/harfbuzz-gsub.c | 919
- +++++++++++++++++++-------------------------
+ src/harfbuzz-gsub.c | 919 +++++++++++++++++++-------------------------
src/harfbuzz-gsub.h | 24 +-
src/harfbuzz-impl.h | 22 +-
src/harfbuzz-open-private.h | 20 +-
@@ -101031,17 +98482,14 @@ commit dd810b76bc554278d3a226cf89901d16992cf56d
Author: Behdad Esfahbod <behdad@gnome.org>
Date: Wed Aug 29 08:46:50 2007 +0000
- Bug 302952 – The placement of a diacritic marks for an arabic
- ligature
-
+ Bug 302952 – The placement of a diacritic marks for an arabic ligature
+
2007-08-29 Behdad Esfahbod <behdad@gnome.org>
-
- Bug 302952 – The placement of a diacritic marks for an
- arabic ligature
+
+ Bug 302952 – The placement of a diacritic marks for an arabic ligature
is not correct
-
- * pango/opentype/harfbuzz-buffer.c (hb_buffer_allocate_ligid):
- Don't
+
+ * pango/opentype/harfbuzz-buffer.c (hb_buffer_allocate_ligid): Don't
use zero as allocated ligature id. Zero means no ligature id.
src/harfbuzz-buffer.c | 2 +-
@@ -101052,11 +98500,11 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Tue Aug 21 08:03:26 2007 +0000
Bug 463430 – Gets stuck while "formatting message"
-
+
2007-08-21 Behdad Esfahbod <behdad@gnome.org>
-
+
Bug 463430 – Gets stuck while "formatting message"
-
+
* pango/opentype/harfbuzz-gpos.c (Lookup_PairPos1),
(Lookup_PairPos2), (Lookup_PairPos), (Do_ContextPos):
* pango/opentype/harfbuzz-gsub.c (Do_ContextSubst):
@@ -101071,15 +98519,12 @@ commit 13b86ee398905f96f57df001309312f6dfdfea9a
Author: Behdad Esfahbod <behdad@gnome.org>
Date: Tue Aug 21 01:38:07 2007 +0000
- Don't ignore error return value of
- hb_buffer_copy_output_glyph(). Patch
-
+ Don't ignore error return value of hb_buffer_copy_output_glyph(). Patch
+
2007-08-20 Behdad Esfahbod <behdad@gnome.org>
-
- * pango/opentype/harfbuzz-gsub.c (GSUB_Do_String_Lookup):
- Don't
- ignore error return value of hb_buffer_copy_output_glyph().
- Patch
+
+ * pango/opentype/harfbuzz-gsub.c (GSUB_Do_String_Lookup): Don't
+ ignore error return value of hb_buffer_copy_output_glyph(). Patch
sent to harfbuzz-list.
src/harfbuzz-gsub.c | 2 +-
@@ -101091,8 +98536,7 @@ Date: Fri Jul 6 11:29:21 2007 -0400
[gdef] Initial implementation
- src/harfbuzz-gdef-private.h | 144
- +++++++++++++++++++++++++++++++++++++++++++-
+ src/harfbuzz-gdef-private.h | 144 +++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 142 insertions(+), 2 deletions(-)
commit 5b2e947fd2b7c5ea49b2bef1e0190d99a525058c
@@ -101101,8 +98545,7 @@ Date: Fri Jul 6 02:03:26 2007 -0400
[open] small fixes, including not using unions for main structs
- src/harfbuzz-open-private.h | 54
- ++++++++++++++++++++++++---------------------
+ src/harfbuzz-open-private.h | 54 ++++++++++++++++++++++++---------------------
1 file changed, 29 insertions(+), 25 deletions(-)
commit 151df44346990728b5dd249db5740a9543ae33b9
@@ -101119,11 +98562,10 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Tue May 1 02:32:12 2007 +0000
Link freetype to harfbuzz-dump, for those systems that don't track
-
+
2007-04-30 Behdad Esfahbod <behdad@gnome.org>
-
- * pango/opentype/Makefile.am: Link freetype to harfbuzz-dump,
- for
+
+ * pango/opentype/Makefile.am: Link freetype to harfbuzz-dump, for
those systems that don't track dependencies automatically.
src/Makefile.am | 5 +++--
@@ -101134,9 +98576,9 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Tue Apr 3 22:45:29 2007 +0000
Copy fixes from harfbuzz stable branch. Includes a leak fix, a kerning
-
+
2007-04-03 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/opentype/harfbuzz-gdef.c (_HB_GDEF_Check_Property):
* pango/opentype/harfbuzz-gpos.c (HB_Done_GPOS_Table),
(Lookup_PairPos):
@@ -101154,9 +98596,9 @@ Author: Hans Breuer <hans@breuer.org>
Date: Sat Jan 13 21:31:41 2007 +0000
updated
-
+
2007-01-13 Hans Breuer <hans@breuer.org>
-
+
* pango/makefile.msc pango/opentype/makefile.msc : updated
src/makefile.msc | 16 ++++++----------
@@ -101211,11 +98653,9 @@ Date: Thu Dec 28 06:10:59 2006 -0500
src/.gitignore | 1 +
src/Makefile | 2 +-
src/harfbuzz-common.h | 14 +++
- src/{harfbuzz-ng.cc => harfbuzz-open-private.h} | 117
- ++----------------------
+ src/{harfbuzz-ng.cc => harfbuzz-open-private.h} | 117 ++----------------------
src/harfbuzz-open.h | 13 +++
- src/main.cc | 98
- ++++++++++++++++++++
+ src/main.cc | 98 ++++++++++++++++++++
6 files changed, 133 insertions(+), 112 deletions(-)
commit 3158d84b0dfe5032e7c56c03f2da97b8ab549d94
@@ -101269,8 +98709,7 @@ Date: Wed Dec 27 01:29:24 2006 -0500
GSUBGPOSHeader
- src/harfbuzz-ng.cc | 103
- ++++++++++++++++++++++++++++++++++++++++++++++++++---
+ src/harfbuzz-ng.cc | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 98 insertions(+), 5 deletions(-)
commit eebabd8b2ec5296deba6b09d7755933da0a7d9dc
@@ -101297,8 +98736,7 @@ Date: Tue Dec 26 20:00:33 2006 -0500
ClassDef
- src/harfbuzz-ng.cc | 121
- ++++++++++++++++++++++++++++++++++++++++++-----------
+ src/harfbuzz-ng.cc | 121 ++++++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 97 insertions(+), 24 deletions(-)
commit 53502c6723dbf9cd3b6ba91b733678b3c7871715
@@ -101334,8 +98772,7 @@ Date: Tue Dec 26 15:29:38 2006 -0500
Coverage.
- src/harfbuzz-ng.cc | 91
- +++++++++++++++++++++++++++++++++++++++++++++++-------
+ src/harfbuzz-ng.cc | 91 +++++++++++++++++++++++++++++++++++++++++++++++-------
1 file changed, 79 insertions(+), 12 deletions(-)
commit 882e52f59196535495af8ca8069df32308ad52cf
@@ -101354,8 +98791,7 @@ Date: Mon Dec 25 09:58:02 2006 -0500
LookupFlags
- src/hb-types-private.cc | 52
- ++++++++++++++++++++++++++++++++++++++++++++-----
+ src/hb-types-private.cc | 52 ++++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 47 insertions(+), 5 deletions(-)
commit 25ad92c8a68bf72464601a644ed57b9213126a78
@@ -101364,8 +98800,7 @@ Date: Mon Dec 25 09:35:06 2006 -0500
Implement Feature
- src/hb-types-private.cc | 46
- ++++++++++++++++++++++++++++++++++++++++++----
+ src/hb-types-private.cc | 46 ++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 42 insertions(+), 4 deletions(-)
commit befc022affd2386b3f46cd7d11e4262f6c8bce9f
@@ -101374,8 +98809,7 @@ Date: Mon Dec 25 09:14:52 2006 -0500
LangSys
- src/hb-types-private.cc | 51
- ++++++++++++++++++++++++++++++++++++++++++-------
+ src/hb-types-private.cc | 51 ++++++++++++++++++++++++++++++++++++++++++-------
1 file changed, 44 insertions(+), 7 deletions(-)
commit c81efca149b08832d5d96a944fb5f303f3d0ca42
@@ -101393,8 +98827,7 @@ Date: Mon Dec 25 06:18:52 2006 -0500
Make types not instantiable
- src/hb-types-private.cc | 104
- ++++++++++++++++++++++++++----------------------
+ src/hb-types-private.cc | 104 ++++++++++++++++++++++++++----------------------
1 file changed, 57 insertions(+), 47 deletions(-)
commit b739c05ca4b7acfa45bd4b0812ecbb3747f726f0
@@ -101404,8 +98837,7 @@ Date: Mon Dec 25 05:39:20 2006 -0500
Add OpenTypeFontFile.
src/Makefile | 2 +-
- src/hb-types-private.cc | 113
- +++++++++++++++++++++++++++++++++++++++++++++---
+ src/hb-types-private.cc | 113 +++++++++++++++++++++++++++++++++++++++++++++---
2 files changed, 107 insertions(+), 8 deletions(-)
commit 8596944b7421f982960e825019fc0263442520cb
@@ -101423,8 +98855,7 @@ Date: Fri Dec 22 02:21:55 2006 -0500
After DEFINE_SCRIPT_ARRAY
- src/hb-types-private.cc | 215
- +++++++++++++++++++++++++++++++-----------------
+ src/hb-types-private.cc | 215 +++++++++++++++++++++++++++++++-----------------
1 file changed, 140 insertions(+), 75 deletions(-)
commit 01e4fcb032be601f272e62228881e2aabfb9d925
@@ -101433,20 +98864,17 @@ Date: Thu Dec 21 22:31:31 2006 -0500
Remove the annoying HB_ prefix.
- src/hb-types-private.cc | 107
- +++++++++++++++++++++++-------------------------
+ src/hb-types-private.cc | 107 +++++++++++++++++++++++-------------------------
1 file changed, 52 insertions(+), 55 deletions(-)
commit 6b4ce01da121e12e1c78ad7eaedf469f35f3568d
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Dec 21 22:31:10 2006 -0500
- Second version. Complete redesign, based on C++ classes to ensure
- endian
+ Second version. Complete redesign, based on C++ classes to ensure endian
correctness.
- src/hb-types-private.cc | 300
- +++++++++++++++++++++++++++++++++---------------
+ src/hb-types-private.cc | 300 +++++++++++++++++++++++++++++++++---------------
1 file changed, 205 insertions(+), 95 deletions(-)
commit f78e70c301311ffcfb007c7fc4125d71cbcff1e2
@@ -101455,8 +98883,7 @@ Date: Thu Dec 21 22:30:38 2006 -0500
First version.
- src/hb-types-private.cc | 116
- ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-types-private.cc | 116 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 116 insertions(+)
commit f726b20e56e8b1106dfde0bf8d575c73e83957c4
@@ -101464,13 +98891,12 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Tue Jul 25 01:02:27 2006 +0000
Bug 347073 – Allow empty GPOS table
-
+
2006-07-24 Behdad Esfahbod <behdad@gnome.org>
-
+
Bug 347073 – Allow empty GPOS table
-
- * pango/opentype/harfbuzz-open.c (_HB_OPEN_Load_ScriptList):
- Don't
+
+ * pango/opentype/harfbuzz-open.c (_HB_OPEN_Load_ScriptList): Don't
err on empty GPOS/GSUB tables.
src/harfbuzz-open.c | 5 +++++
@@ -101481,13 +98907,12 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Jun 22 18:09:04 2006 +0000
Bug 345600 – cvs build error in pango/opentype/Makefile
-
+
2006-06-22 Behdad Esfahbod <behdad@gnome.org>
-
+
Bug 345600 – cvs build error in pango/opentype/Makefile
-
- * pango/opentype/Makefile.am: Rename variable SOURCES to
- MAINSOURCES.
+
+ * pango/opentype/Makefile.am: Rename variable SOURCES to MAINSOURCES.
Some automake versions seem to use it or something.
src/Makefile.am | 4 ++--
@@ -101497,18 +98922,15 @@ commit ffb2d5c1e7af33644d0a4058befa4b8358c9a7bf
Author: Behdad Esfahbod <behdad@gnome.org>
Date: Wed May 31 07:42:55 2006 +0000
- Bug 341138 – Using TTC font, Gtk2 programs begin to eating big
- memory
-
+ Bug 341138 – Using TTC font, Gtk2 programs begin to eating big memory
+
2006-05-31 Behdad Esfahbod <behdad@gnome.org>
-
- Bug 341138 – Using TTC font, Gtk2 programs begin to eating
- big memory
+
+ Bug 341138 – Using TTC font, Gtk2 programs begin to eating big memory
and have many cpu usage.
Patch from Yong Li.
-
- * pango/opentype/ftglue.c (_hb_ftglue_face_goto_table):
- TrueType table
+
+ * pango/opentype/ftglue.c (_hb_ftglue_face_goto_table): TrueType table
offsets are absolute, not relative.
src/ftglue.c | 2 +-
@@ -101518,18 +98940,15 @@ commit f8f7bd2451eeafb57f5c80c7b4e88a1e50b97c4f
Author: Behdad Esfahbod <behdad@gnome.org>
Date: Wed May 31 07:23:02 2006 +0000
- Bug 336153 – Mark to mark positioning (Lookup Type 6) isn't
- correct when
-
+ Bug 336153 – Mark to mark positioning (Lookup Type 6) isn't correct when
+
2006-05-31 Behdad Esfahbod <behdad@gnome.org>
-
- Bug 336153 – Mark to mark positioning (Lookup Type 6)
- isn't correct
+
+ Bug 336153 – Mark to mark positioning (Lookup Type 6) isn't correct
when using MarkAttchmentType
Patch from Tin Myo Htet.
-
- * pango/opentype/harfbuzz-gpos.c (Lookup_MarkMarkPos):
- Ignore marks
+
+ * pango/opentype/harfbuzz-gpos.c (Lookup_MarkMarkPos): Ignore marks
of non-matchin attachment type.
src/harfbuzz-gpos.c | 37 ++++++++++++++++++++++---------------
@@ -101540,11 +98959,10 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Wed Apr 12 18:47:50 2006 +0000
Fix loop variables. (coverity found bug.)
-
+
2006-04-12 Behdad Esfahbod <behdad@gnome.org>
-
- * pango/opentype/harfbuzz-gpos.c: Fix loop
- variables. (coverity
+
+ * pango/opentype/harfbuzz-gpos.c: Fix loop variables. (coverity
found bug.)
src/harfbuzz-gpos.c | 6 +++---
@@ -101555,18 +98973,16 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Tue Apr 11 08:31:44 2006 +0000
Bug 337924 – cleanups for issues reported by various compilers Patch
-
+
2006-04-11 Behdad Esfahbod <behdad@gnome.org>
-
- Bug 337924 – cleanups for issues reported by various
- compilers
+
+ Bug 337924 – cleanups for issues reported by various compilers
Patch from Kjartan Maraas.
-
+
* examples/viewer-x.c (update):
* modules/arabic/arabic-fc.c (fallback_shape),
(arabic_engine_shape):
- * modules/basic/basic-fc.c (fallback_shape),
- (basic_engine_shape):
+ * modules/basic/basic-fc.c (fallback_shape), (basic_engine_shape):
* modules/basic/basic-x.c:
* modules/hangul/hangul-fc.c:
* modules/hebrew/hebrew-fc.c (hebrew_engine_shape):
@@ -101587,12 +99003,10 @@ Date: Tue Apr 11 08:31:44 2006 +0000
* pango/pango-utils.c (read_alias_file):
* pango/pangocairo-fcfont.c (G_DEFINE_TYPE_WITH_CODE):
* pango/pangocairo-fcfontmap.c (G_DEFINE_TYPE_WITH_CODE):
- * pango/pangocairo-font.c
- (_pango_cairo_font_get_hex_box_info):
+ * pango/pangocairo-font.c (_pango_cairo_font_get_hex_box_info):
* pango/pangox-fontmap.c (pango_x_make_matching_xlfd):
* tests/dump-boundaries.c (fail):
- Remove unused variables. Remove excess semicolon after
- DEFINE_TYPE
+ Remove unused variables. Remove excess semicolon after DEFINE_TYPE
macros.
src/ftglue.c | 2 --
@@ -101603,31 +99017,26 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Mon Apr 10 10:33:17 2006 +0000
Fix minor bugs reported by the Coverity scan report.
-
+
2006-04-10 Behdad Esfahbod <behdad@gnome.org>
-
+
Fix minor bugs reported by the Coverity scan report.
-
- * pango/opentype/harfbuzz-gdef.c
- (HB_GDEF_Build_ClassDefinition):
+
+ * pango/opentype/harfbuzz-gdef.c (HB_GDEF_Build_ClassDefinition):
* pango/opentype/harfbuzz-gpos.c (HB_GPOS_Query_Scripts),
- (HB_GPOS_Query_Languages), (HB_GPOS_Query_Features): Do
- not access
+ (HB_GPOS_Query_Languages), (HB_GPOS_Query_Features): Do not access
structs before we check them for nullity.
-
+
* pango/pango-layout.c (pango_layout_index_to_line),
(pango_layout_index_to_line_and_extents),
- (pango_layout_index_to_pos): Check for invalid iterators
- outside the
+ (pango_layout_index_to_pos): Check for invalid iterators outside the
loop, so we don't crash.
-
+
* pango/pango-layout.c (pango_layout_line_x_to_index): Set
- char_trailing instead of trailing in one of too many paths.
- Should
+ char_trailing instead of trailing in one of too many paths. Should
have been a typo.
-
- * pango/pangox.c (get_font_metrics_from_subfonts): Check
- for nullity
+
+ * pango/pangox.c (get_font_metrics_from_subfonts): Check for nullity
somewhere.
src/harfbuzz-gdef.c | 3 ++-
@@ -101639,17 +99048,15 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Apr 6 18:23:49 2006 +0000
Update from HarfBuzz. Lars Knoll fixed all the warnings.
-
+
2006-04-06 Behdad Esfahbod <behdad@gnome.org>
-
- * pango/opentype: Update from HarfBuzz. Lars Knoll fixed
- all the
+
+ * pango/opentype: Update from HarfBuzz. Lars Knoll fixed all the
warnings.
src/harfbuzz-dump.c | 94 ++++++++++++++++++++++++++++---------------
src/harfbuzz-gpos.c | 80 ++++++++++++++++++++++--------------
- src/harfbuzz-gsub.c | 114
- +++++++++++++++++++++++++++++-----------------------
+ src/harfbuzz-gsub.c | 114 +++++++++++++++++++++++++++++-----------------------
src/harfbuzz-impl.h | 4 ++
4 files changed, 179 insertions(+), 113 deletions(-)
@@ -101657,13 +99064,11 @@ commit ca57250bc9d9f92c88a2ea516e251b9cbfdebda0
Author: Behdad Esfahbod <behdad@gnome.org>
Date: Mon Apr 3 20:13:17 2006 +0000
- Make sure TTAG_GDEF and frineds are defined, needed for FreeType
- <= 2.1.7
-
+ Make sure TTAG_GDEF and frineds are defined, needed for FreeType <= 2.1.7
+
2006-04-03 Behdad Esfahbod <behdad@gnome.org>
-
- * pango/opentype/harfbuzz-impl.h: Make sure TTAG_GDEF and
- frineds are
+
+ * pango/opentype/harfbuzz-impl.h: Make sure TTAG_GDEF and frineds are
defined, needed for FreeType <= 2.1.7 (pointed by Tim Janik).
src/harfbuzz-gdef.c | 3 ---
@@ -101704,13 +99109,13 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Fri Mar 31 12:28:09 2006 +0000
Convert pango/opentype to the new project called HarfBuzz.
-
+
2006-03-31 Behdad Esfahbod <behdad@gnome.org>
-
+
Convert pango/opentype to the new project called HarfBuzz.
-
+
* pango/opentype/*: Restructured.
-
+
* pango/pango-ot-*: Updated to use HarfBuzz symbol names.
src/COPYING | 15 +
@@ -101723,8 +99128,7 @@ Date: Fri Mar 31 12:28:09 2006 +0000
src/ftglue.h | 68 +-
src/ftxgdef.c | 1225 -------
src/ftxgdef.h | 224 --
- src/ftxgpos.c | 6199
- -------------------------------
+ src/ftxgpos.c | 6199 -------------------------------
src/ftxgpos.h | 838 -----
src/ftxgsub.c | 4533 -----------------------
src/ftxgsub.h | 594 ---
@@ -101740,8 +99144,7 @@ Date: Fri Mar 31 12:28:09 2006 +0000
src/harfbuzz-gdef.c | 1228 +++++++
src/harfbuzz-gdef.h | 127 +
src/harfbuzz-gpos-private.h | 683 ++++
- src/harfbuzz-gpos.c | 6269
- ++++++++++++++++++++++++++++++++
+ src/harfbuzz-gpos.c | 6269 ++++++++++++++++++++++++++++++++
src/harfbuzz-gpos.h | 168 +
src/harfbuzz-gsub-private.h | 448 +++
src/harfbuzz-gsub.c | 4581 +++++++++++++++++++++++
@@ -101761,9 +99164,9 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Sat Mar 25 23:52:30 2006 +0000
Don't err on Table_Missing.
-
+
2006-03-25 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/opentype/ottest.c: Don't err on Table_Missing.
src/ottest.c | 4 ++--
@@ -101774,13 +99177,13 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Mon Mar 13 05:06:05 2006 +0000
=== Released 1.12.0 ===
-
+
2006-03-13 Behdad Esfahbod <behdad@gnome.org>
-
+
* === Released 1.12.0 ===
-
+
* configure.in: Version 1.12.0
-
+
* NEWS, README: Updated.
src/README | 4 ++--
@@ -101791,15 +99194,14 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Mon Jan 30 22:37:48 2006 +0000
Handle GSUB Lookup type 8, and ReverseChainContextualSubst table. (bug
-
+
2006-01-30 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/opentype/ftxgsub.c: Handle GSUB Lookup type 8,
and ReverseChainContextualSubst table. (bug #149696,
patch from Aamir Wali)
- src/ftxgsub.c | 545
- ++++++++++++++++++++++++++++++++++++++++++++++-----------
+ src/ftxgsub.c | 545 ++++++++++++++++++++++++++++++++++++++++++++++-----------
src/ftxgsub.h | 47 +++--
src/ftxopen.c | 7 +
src/ftxopenf.h | 5 +-
@@ -101810,19 +99212,18 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Sat Jan 28 20:29:18 2006 +0000
Removed.
-
+
2006-01-28 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/opentype/pango-ot-*: Removed.
-
+
* pango/pango-ot-*: Added.
-
+
* pango/Makefile.am, pango/opentype/Makefile.am: Adjusted.
src/Makefile.am | 30 +--
src/pango-ot-buffer.c | 339 ------------------------
- src/pango-ot-info.c | 681
- -------------------------------------------------
+ src/pango-ot-info.c | 681 -------------------------------------------------
src/pango-ot-private.h | 105 --------
src/pango-ot-ruleset.c | 225 ----------------
5 files changed, 13 insertions(+), 1367 deletions(-)
@@ -101831,16 +99232,13 @@ commit f45689bc655eb723f11a2eb65a41303221b80397
Author: Behdad Esfahbod <behdad@gnome.org>
Date: Wed Jan 25 19:33:58 2006 +0000
- If major.minor of required and available glib versions are the
- same, add
-
+ If major.minor of required and available glib versions are the same, add
+
2006-01-25 Behdad Esfahbod <behdad@gnome.org>
-
- * configure.in: If major.minor of required and available
- glib versions
- are the same, add -DG_DISABLE_DEPRECATED to GLIB_CFLAGS. (bug
- #328617)
-
+
+ * configure.in: If major.minor of required and available glib versions
+ are the same, add -DG_DISABLE_DEPRECATED to GLIB_CFLAGS. (bug #328617)
+
* */Makefile.am: Remove hardcoded -DG_DISABLE_DEPRECATED.
src/Makefile.am | 1 -
@@ -101851,11 +99249,10 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Sat Jan 14 07:00:13 2006 +0000
Make sure #include <config.h> is the first include in the file. (bug
-
+
2006-01-14 Behdad Esfahbod <behdad@gnome.org>
-
- * */*.c, */*/*.c: Make sure #include <config.h> is the
- first include
+
+ * */*.c, */*/*.c: Make sure #include <config.h> is the first include
in the file. (bug #158870, based on patch by Luis Menina)
src/disasm.c | 2 ++
@@ -101876,9 +99273,9 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Jan 5 16:14:49 2006 +0000
pango/Makefile.am, pango/fonts.c, pango/glyphstring.c,
-
+
2006-01-05 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/Makefile.am,
* pango/fonts.c,
* pango/glyphstring.c,
@@ -101899,8 +99296,7 @@ Date: Thu Jan 5 16:14:49 2006 +0000
* pango/pangox.c,
* pango/opentype/pango-ot-info.c,
* pango/opentype/pango-ot-ruleset.c: Intern strings to avoid
- unnecessary strdups in the type system. (bug #325832,
- Matthias Clasen)
+ unnecessary strdups in the type system. (bug #325832, Matthias Clasen)
src/pango-ot-info.c | 3 ++-
src/pango-ot-ruleset.c | 3 ++-
@@ -101910,13 +99306,11 @@ commit 71524f1bc891bb4450507f769e5cc8f6f6cffa0c
Author: Behdad Esfahbod <behdad@gnome.org>
Date: Tue Dec 27 09:55:48 2005 +0000
- Use g_slice for PangoOTBuffer allocation. (bug #325026, Matthias
- Clasen)
-
+ Use g_slice for PangoOTBuffer allocation. (bug #325026, Matthias Clasen)
+
2005-12-27 Behdad Esfahbod <behdad@gnome.org>
-
- * pango/opentype/pango-ot-buffer.c: Use g_slice for
- PangoOTBuffer
+
+ * pango/opentype/pango-ot-buffer.c: Use g_slice for PangoOTBuffer
allocation. (bug #325026, Matthias Clasen)
src/pango-ot-buffer.c | 4 ++--
@@ -101936,9 +99330,9 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Wed Nov 23 19:48:10 2005 +0000
Fix typo in docs.
-
+
2005-11-23 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/opentyp/pango-ot-buffer.c: Fix typo in docs.
src/pango-ot-buffer.c | 4 +++-
@@ -101949,9 +99343,9 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Wed Nov 23 17:54:55 2005 +0000
Added "Since:" tags to all interfaces added after Pango 1.0. (#319116,
-
+
2005-11-23 Behdad Esfahbod <behdad@gnome.org>
-
+
* pango/fonts.c pango/pango-attributes.c pango/pango-context.c
pango/pango-glyph-item.c pango/pango-layout.c
pango/pango-script.c pango/pango-utils.c pango/pangofc-font.c
@@ -101959,8 +99353,7 @@ Date: Wed Nov 23 17:54:55 2005 +0000
pango/opentype/pango-ot-ruleset.c: Added "Since:" tags to all
interfaces added after Pango 1.0. (#319116, Brian Cameron)
- src/pango-ot-buffer.c | 49
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/pango-ot-buffer.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
src/pango-ot-ruleset.c | 14 ++++++++++++++
2 files changed, 63 insertions(+)
@@ -101969,17 +99362,15 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Wed Nov 23 15:19:48 2005 +0000
Protect against possible division by zeros (#316468, Steve Grubb)
-
+
2005-11-23 Behdad Esfahbod <behdad@gnome.org>
-
- Protect against possible division by zeros (#316468,
- Steve Grubb)
-
+
+ Protect against possible division by zeros (#316468, Steve Grubb)
+
* pango/pango-context.c (update_metrics_from_items),
- pango/pango-fontset.c (pango_fontset_real_get_metrics):
- If count is
+ pango/pango-fontset.c (pango_fontset_real_get_metrics): If count is
zero, do not alter approximate_{char,digit}_width.
-
+
* pango/opentype/disasm.c: Err on invalid DeltaFormat.
src/disasm.c | 28 ++++++++++++++++++----------
@@ -101989,26 +99380,20 @@ commit e6e15352d154e1350340f8045759e5f7b0d86dc7
Author: Behdad Esfahbod <behdad@gnome.org>
Date: Wed Nov 23 11:53:03 2005 +0000
- Reworked basic shaper with OpenType support. (#101079, based on
- patch from
-
+ Reworked basic shaper with OpenType support. (#101079, based on patch from
+
2005-11-23 Behdad Esfahbod <behdad@gnome.org>
-
- * modules/basic/basic-fc.c: Reworked basic shaper with
- OpenType
- support. (#101079, based on patch from Denis Jacquerye and
- Noah Levitt)
-
- * modules/basic/basic-fc.c (basic_scripts): Added Unicode
- 4.1 addition
+
+ * modules/basic/basic-fc.c: Reworked basic shaper with OpenType
+ support. (#101079, based on patch from Denis Jacquerye and Noah Levitt)
+
+ * modules/basic/basic-fc.c (basic_scripts): Added Unicode 4.1 addition
script PANGO_SCRIPT_GLAGOLITIC that is a "simple" script.
-
- * modules/arabic/arabic-fc.c, modules/syriac/syriac-fc.c:
- Replace
+
+ * modules/arabic/arabic-fc.c, modules/syriac/syriac-fc.c: Replace
g_utf8_to_ucs4_fast() with g_utf8_strlen()!
-
- * pango/opentype/pango-ot-ruleset.c
- (pango_ot_ruleset_add_feature):
+
+ * pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_add_feature):
Remove reference in docs to pango_ot_ruleset_shape() that was
removed long ago.
@@ -102020,20 +99405,17 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Nov 17 06:28:11 2005 +0000
Part of #101079:
-
+
2005-11-17 Behdad Esfahbod <behdad@gnome.org>
-
+
Part of #101079:
-
- * pango/opentype/ftxopen.c (Load_Lookup): In extension
- subtables,
+
+ * pango/opentype/ftxopen.c (Load_Lookup): In extension subtables,
offset is relative to the extension subtable, not the original
table. (Greg Aumann)
-
- * pango/opentype/ftxgpos.c (Load_BaseArray): When reading
- BaseAnchor,
- skip offsets that are zero. Works around bug in Doulos
- SIL Regular.
+
+ * pango/opentype/ftxgpos.c (Load_BaseArray): When reading BaseAnchor,
+ skip offsets that are zero. Works around bug in Doulos SIL Regular.
src/ftxgpos.c | 6 ++++++
src/ftxopen.c | 6 ++++--
@@ -102044,11 +99426,10 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Wed Nov 9 23:30:00 2005 +0000
Remove debug line that got in accidentally.
-
+
2005-11-09 Behdad Esfahbod <behdad@gnome.org>
-
- * pango/opentype/ftxgpos.c, pango/opentype/ftxopen.c:
- Remove debug
+
+ * pango/opentype/ftxgpos.c, pango/opentype/ftxopen.c: Remove debug
line that got in accidentally.
src/ftxgpos.c | 1 -
@@ -102060,15 +99441,13 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Fri Nov 4 23:55:38 2005 +0000
Turn various gcc warnings off. Adding const, adding static, fully
-
+
2005-11-04 Behdad Esfahbod <behdad@gnome.org>
-
+
* configure.in, examples/argcontext.c examples/cairoview.c,
- examples/renderdemo.c, examples/renderdemo.h
- examples/xftview.c,
+ examples/renderdemo.c, examples/renderdemo.h examples/xftview.c,
modules/basic/basic-x.c, modules/hangul/hangul-fc.c,
- modules/hebrew/hebrew-shaper.c,
- modules/hebrew/hebrew-shaper.h,
+ modules/hebrew/hebrew-shaper.c, modules/hebrew/hebrew-shaper.h,
modules/indic/indic-fc.c, modules/indic/mprefixups.c,
modules/syriac/syriac-fc.c, pango/break.c pango/fonts.c,
pango/modules.c, pango/pango-coverage.c pango/pango-engine.c,
@@ -102079,24 +99458,20 @@ Date: Fri Nov 4 23:55:38 2005 +0000
pango/pango-utils.c, pango/pangocairo-fc.h,
pango/pangocairo-font.c, pango/pangocairo-fontmap.c,
pango/pangocairo-private.h, pango/pangofc-decoder.c,
- pango/pangofc-font.c, pango/pangofc-fontmap.c
- pango/pangoft2.c,
- pango/pangox-fontcache.c, pango/pangox-fontmap.c
- pango/pangox.c,
+ pango/pangofc-font.c, pango/pangofc-fontmap.c pango/pangoft2.c,
+ pango/pangox-fontcache.c, pango/pangox-fontmap.c pango/pangox.c,
pango/pangoxft-font.c, pango/querymodules.c,
pango/opentype/ftglue.c, pango/opentype/ftxgpos.c,
pango/opentype/ftxopen.c, pango/opentype/pango-ot-buffer.c,
pango/opentype/pango-ot-info.c,
pango/opentype/pango-ot-ruleset.c, tests/dump-boundaries.c,
tests/testboundaries.c, tests/testcolor.c tests/testiter.c,
- tests/testscript.c: Turn various gcc warnings off. Adding
- const,
+ tests/testscript.c: Turn various gcc warnings off. Adding const,
adding static, fully initializing structs, match signedness in
comparisons. (#317804)
-
+
* tests/testscript.c, tools/gen-script-for-lang.c:
- (scripts_for_file): Pass error->message instead of error
- to fail(),
+ (scripts_for_file): Pass error->message instead of error to fail(),
which was wrong.
(compare_lang): Fix typo comparing a and a instead of a and b.
@@ -102113,21 +99488,18 @@ Author: Behdad Esfahbod <behdad@gnome.org>
Date: Thu Nov 3 20:13:40 2005 +0000
Patches from #170414. Reviewed by Matthias Clasen.
-
+
2005-11-03 Behdad Esfahbod <behdad@gnome.org>
-
+
Patches from #170414. Reviewed by Matthias Clasen.
-
- * pango/opentype/ftxgpos.c, pango/opentype/ftxgsub.c: Use
- call table
+
+ * pango/opentype/ftxgpos.c, pango/opentype/ftxgsub.c: Use call table
to dispatch different lookup types.
-
- * pango/opentype/pango-ot-buffer.c,
- pango/opentype/pango-ot-ruleset.c:
+
+ * pango/opentype/pango-ot-buffer.c, pango/opentype/pango-ot-ruleset.c:
Small cleanup.
- src/ftxgpos.c | 143
- ++++++++++++++++++++++++-------------------------
+ src/ftxgpos.c | 143 ++++++++++++++++++++++++-------------------------
src/ftxgsub.c | 115 +++++++++++++++++++++------------------
src/pango-ot-buffer.c | 3 +-
src/pango-ot-ruleset.c | 75 +++++++++-----------------
@@ -102138,15 +99510,13 @@ Author: Behdad Esfahbod <pango@behdad.org>
Date: Mon Aug 29 10:06:40 2005 +0000
Generate valid XML output. Dump LookupFlag too.
-
+
2005-08-29 Behdad Esfahbod <pango@behdad.org>
-
- * pango/opentype/ottest.c, pango/opentype/disasm.c:
- Generate valid
+
+ * pango/opentype/ottest.c, pango/opentype/disasm.c: Generate valid
XML output. Dump LookupFlag too.
- src/disasm.c | 58
- ++++++++++++++++++++++++++++++----------------------------
+ src/disasm.c | 58 ++++++++++++++++++++++++++++++----------------------------
src/ottest.c | 23 ++++++++++++++---------
2 files changed, 44 insertions(+), 37 deletions(-)
@@ -102155,9 +99525,9 @@ Author: Behdad Esfahbod <pango@behdad.org>
Date: Mon Aug 15 04:16:04 2005 +0000
Replace perror with perror_. Remove FT_BEGIN_STMNT and FT_END_STMNT.
-
+
2005-08-15 Behdad Esfahbod <pango@behdad.org>
-
+
* pango/opentype/ftglue.h: Replace perror with perror_.
Remove FT_BEGIN_STMNT and FT_END_STMNT. (#313477)
@@ -102168,15 +99538,12 @@ commit 3c60250875fa9d04ca96dea35eba23fc70690ff5
Author: Owen Taylor <otaylor@redhat.com>
Date: Tue Jul 26 18:33:27 2005 +0000
- Skip lookups with lookup index out of range. (Patch from Behdad
- Esfahbod,
-
+ Skip lookups with lookup index out of range. (Patch from Behdad Esfahbod,
+
2005-07-26 Owen Taylor <otaylor@redhat.com>
-
- * pango/opentype/ftxgsub.c, pango/opentype/ftxgpos.c:
- Skip lookups
- with lookup index out of range. (Patch from Behdad Esfahbod,
- #171170)
+
+ * pango/opentype/ftxgsub.c, pango/opentype/ftxgpos.c: Skip lookups
+ with lookup index out of range. (Patch from Behdad Esfahbod, #171170)
src/ftxgpos.c | 30 ++++++++++++++++++++++++------
src/ftxgsub.c | 30 ++++++++++++++++++++++++------
@@ -102187,9 +99554,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Fri Jul 22 18:03:58 2005 +0000
Remove an unecessary set of block2.
-
+
2005-07-22 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftglue.c (ftglue_realloc): Remove
an unecessary set of block2.
@@ -102201,35 +99568,32 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Fri Jul 22 17:56:37 2005 +0000
Patch from David Turner. Review and testing by Behdad Esfahbod
-
+
2005-07-22 Owen Taylor <otaylor@redhat.com>
-
+
Patch from David Turner. Review and testing by Behdad Esfahbod
-
- * pango/opentype/ftglue.[ch] Makefile.am: Glue layer that
- provides
- implementation of the internal functions that the opentype
- code
+
+ * pango/opentype/ftglue.[ch] Makefile.am: Glue layer that provides
+ implementation of the internal functions that the opentype code
expects in terms of publically exported FreeType API.
-
+
* pango/opentype/ftxgdef.c pango/opentype/ftxgpos.c
pango/opentype/ftxgsub.c pango/opentype/ftxopen.c
pango/opentype/otlbuffer.c pango/opentype/pango-ot-info.c
pango/opentype/pango-ot-ruleset.c: Remove includes of
internal headers. Small changes to work with ftglue.[ch]
-
+
* pango/opentype/fterrcompat.h: Remove: no longer needed.
-
+
* pango/opentype/ftxgpos.c: Use FT_IS_SFNT(face) rather
than poking at FT_MODULE_CLASS (face->driver)->module_name.
-
+
* pango/opentype/ftxopen.c (Free_FeatureList): Free
fl->ApplyOrder. (Found by Behdad)
src/Makefile.am | 3 +-
src/fterrcompat.h | 95 --------------
- src/ftglue.c | 350
- +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/ftglue.c | 350 +++++++++++++++++++++++++++++++++++++++++++++++++
src/ftglue.h | 156 ++++++++++++++++++++++
src/ftxgdef.c | 9 +-
src/ftxgpos.c | 9 +-
@@ -102244,42 +99608,37 @@ commit 43dbec6f3a345ba0e4a43766610ed59622bbe4a0
Author: Owen Taylor <otaylor@redhat.com>
Date: Thu Jul 21 18:15:45 2005 +0000
- Fix up places where there is missing or incomplete Copyright and
- License
-
+ Fix up places where there is missing or incomplete Copyright and License
+
2005-07-21 Owen Taylor <otaylor@redhat.com>
-
+
Fix up places where there is missing or incomplete
Copyright and License information (Reported by William N. Ray)
-
+
* pango/opentype/fterrcompat.h: Mark as FreeType/GPL licensed.
-
+
* pango/opentype/FT-license.txt: Make this the dual-licensing
description that covers the FreeType code (FreeType's
LICENSE.TXT) rather than the FTL.
-
+
* pango/opentype/FTL.TXT: Move the FTL (referenced from
FT-license.txt) to here.
-
+
* modules/basic/basic-common.h modules/hebrew/hebrew-shaper.h
modules/thai/thai-charprop.c modules/thai/thai-shaper.h
tools/gen-script-for-lang.c tests/testcolor.c:
Add LGPL header and copyright information.
-
- * modules/indic/indic-ot.[ch]
- modules/indic/indic-ot-class-tables.c
+
+ * modules/indic/indic-ot.[ch] modules/indic/indic-ot-class-tables.c
modules/thai/thai-ot.[ch]: Add LGPL header.
-
+
* modules/thai/thai-shaper.c modules/thai/thai-charprop.h:
Minor fixes to copyright information.
+
+ * modules/arabic/arabic-ot.c: Add Freetype license boilerplate.
- * modules/arabic/arabic-ot.c: Add Freetype license
- boilerplate.
-
- src/FT-license.txt | 179
- +++++++----------------------------------------------
- src/FTL.TXT | 174
- +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/FT-license.txt | 179 +++++++----------------------------------------------
+ src/FTL.TXT | 174 +++++++++++++++++++++++++++++++++++++++++++++++++++
src/fterrcompat.h | 10 ++-
3 files changed, 204 insertions(+), 159 deletions(-)
@@ -102288,13 +99647,13 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Tue Jun 14 19:54:19 2005 +0000
Chain up from finalize. (#307547, Paolo Borelli)
-
+
2005-06-14 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/pango-ot-info.c (pango_ot_info_finalize)
pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_finalize):
Chain up from finalize. (#307547, Paolo Borelli)
-
+
* pango/opentype/pango-ot-info.c (pango_ot_info_finalizer):
make accidentally public function static.
@@ -102307,14 +99666,13 @@ Author: Tor Lillqvist <tml@novell.com>
Date: Tue Apr 12 01:27:21 2005 +0000
Rename LDADDS to libpango_ot_la_LIBADD to actually make libpango-ot.la
-
+
2005-04-12 Tor Lillqvist <tml@novell.com>
-
+
* pango/opentype/Makefile.am: Rename LDADDS to
- libpango_ot_la_LIBADD to actually make libpango-ot.la
- link with
+ libpango_ot_la_LIBADD to actually make libpango-ot.la link with
it.
-
+
* pango/pangowin32.def: Rename get_scale_factor to
get_metrics_factor here, too. (#300222, Ivan Wong)
@@ -102325,23 +99683,21 @@ commit 0c349a032e5a52a9d0dcc8204f761b7cb28bfa6b
Author: Owen Taylor <otaylor@redhat.com>
Date: Thu Mar 3 19:38:02 2005 +0000
- For all binary searches, handle the case where the number of items
- is 0.
-
+ For all binary searches, handle the case where the number of items is 0.
+
2005-03-03 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxopen.c (Coverage_Index1, Coverage_Index2,
Get_Class2): For all binary searches, handle the case where
the number of items is 0. (#162977, Nick Lamb)
-
+
* pango/opentype/ftxgdef.c (TT_GDEF_Build_ClassDefinition):
Handle the case where glyph_count == 0 properly. Fix a problem
with cleanups on memory allocation failure.
(Get_New_Count, Add_Glyph_Property): Avoid reading off the
end of the ClassRangeRecord array.
- src/ftxgdef.c | 60
- +++++++++++++++++++++++++++++++++++------------------------
+ src/ftxgdef.c | 60 +++++++++++++++++++++++++++++++++++------------------------
src/ftxopen.c | 15 +++++++++++++++
2 files changed, 51 insertions(+), 24 deletions(-)
@@ -102350,9 +99706,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Mon Nov 22 23:37:19 2004 +0000
Set G_LOG_DOMAIN.
-
+
Mon Nov 22 18:30:14 2004 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/Makefile.am pango/Makefile.am
modules/*/Makefile.am: Set G_LOG_DOMAIN.
@@ -102364,17 +99720,17 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Wed Sep 22 18:14:55 2004 +0000
Cleanups from 'sparse', #149922, Kjartan Maraas
-
+
Wed Sep 22 14:07:47 2004 Owen Taylor <otaylor@redhat.com>
-
+
Cleanups from 'sparse', #149922, Kjartan Maraas
-
+
* pango/pango-utils.c (read_config): () => (void) in
definition.
-
+
* pango/pangofc-fontmap.c (pango_fc_font_map_list_families):
Initialize *n_families, not n_families.
-
+
* pango/pangofc-fontmap.c pango/pangoft2.c opentype/ftxgdef.c
opentype/ftxgpos.c opentype/ftxgsub.c: : Fix various 0/NULL
confusion.
@@ -102389,17 +99745,17 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Tue Sep 14 13:45:41 2004 +0000
=== Released 1.6.0 ===
-
+
Mon Sep 13 17:38:58 2004 Owen Taylor <otaylor@redhat.com>
-
+
* === Released 1.6.0 ===
-
+
* configure.in: Update versions for 1.6.0
-
+
* NEWS: Update.
-
+
* README: Minor tweak.
-
+
* pango/fonts.c pango/pango-context.c pango/pango-types.h
pango/pango-utils.c pango/pangoft2.c pango/pango-layout.c
pango/opentype/pango-ot-buffer.c: Add a bunch of missing
@@ -102412,11 +99768,10 @@ commit d41089a5b691967fdd622f47c8397a80af104396
Author: Owen Taylor <otaylor@redhat.com>
Date: Fri Jul 30 21:23:04 2004 +0000
- Finish extending properties flags from FT_UShort =>
- FT_UInt. (OTLBuffer
-
+ Finish extending properties flags from FT_UShort => FT_UInt. (OTLBuffer
+
Fri Jul 30 17:17:05 2004 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgpos.[ch] pango/opentype/ftxgsub.[ch]
pango/opentype/ftxopen.[ch]: Finish extending properties
flags from FT_UShort => FT_UInt. (OTLBuffer was already
@@ -102435,9 +99790,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Tue Jul 27 17:20:01 2004 +0000
Save the order in which features were added and use that when applying
-
+
Tue Jul 27 12:38:05 2004 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxopen.[ch] pango/opentype/ftxgsub.c
pango/opentype/ftxpos.c: Save the order in which
features were added and use that when applying features.
@@ -102453,15 +99808,13 @@ commit ae2daa972d74c5ecfe1d2f0057ce12682ad30b00
Author: Behdad Esfahbod <behdad@src.gnome.org>
Date: Tue Jul 27 13:12:19 2004 +0000
- Remove the unused parameter from the IN_CURITEM() and IN_CURGLYPH
- macros.
-
-
+ Remove the unused parameter from the IN_CURITEM() and IN_CURGLYPH macros.
+
+
* pango/opentype/ftxgpos.c: Remove the unused parameter
from the IN_CURITEM() and IN_CURGLYPH macros.
- src/ftxgpos.c | 68
- +++++++++++++++++++++++++++++------------------------------
+ src/ftxgpos.c | 68 +++++++++++++++++++++++++++++------------------------------
src/ftxgsub.c | 2 +-
2 files changed, 35 insertions(+), 35 deletions(-)
@@ -102470,8 +99823,8 @@ Author: Behdad Esfahbod <behdad@src.gnome.org>
Date: Tue Jul 27 10:43:58 2004 +0000
Fix bug to copy glyph from in_string, not out_string.
-
-
+
+
* pango/opentype/otlbuffer.c (otl_buffer_copy_output_glyph):
Fix bug to copy glyph from in_string, not out_string.
@@ -102482,11 +99835,10 @@ commit 2ea2a55bdf7ef1caebcd0c5922b0f542ed8bb5bf
Author: Owen Taylor <otaylor@redhat.com>
Date: Mon Jul 26 23:14:53 2004 +0000
- Fix allocation and indexing in NewGlyphClasses array. (#130661,
- Masatake
-
+ Fix allocation and indexing in NewGlyphClasses array. (#130661, Masatake
+
Mon Jul 26 19:11:46 2004 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgdef.c: Fix allocation and indexing
in NewGlyphClasses array. (#130661, Masatake YAMATO)
@@ -102497,17 +99849,15 @@ commit 5d42695e5ed89f73fbc665792ebec82c29ae04ae
Author: Owen Taylor <otaylor@redhat.com>
Date: Mon Jul 26 19:25:45 2004 +0000
- Remove the unused parameter from the IN_CURITEM() and IN_CURGLYPH
- macros.
-
+ Remove the unused parameter from the IN_CURITEM() and IN_CURGLYPH macros.
+
Mon Jul 26 15:24:11 2004 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgsub.c (ADD_Glyph): Remove the
unused parameter from the IN_CURITEM() and IN_CURGLYPH
macros.
- src/ftxgsub.c | 56
- ++++++++++++++++++++++++++++----------------------------
+ src/ftxgsub.c | 56 ++++++++++++++++++++++++++++----------------------------
1 file changed, 28 insertions(+), 28 deletions(-)
commit a00c4ea5626526980139b122977e367b8434d24a
@@ -102515,9 +99865,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Mon Jul 26 19:23:06 2004 +0000
Add missing macro to make the last change actually compile.
-
+
Mon Jul 26 15:21:23 2004 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgsub.c: Add missing macro to make the
last change actually compile.
@@ -102529,9 +99879,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Mon Jul 26 19:20:27 2004 +0000
Match backtrack context against the output glyphs not the input glyphs
-
+
Mon Jul 26 15:16:07 2004 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgsub.c (Lookup_ChainContextSubst[123]):
Match backtrack context against the output glyphs not
the input glyphs (#145174, Aamir Wali)
@@ -102544,23 +99894,22 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Mon Jul 26 18:59:02 2004 +0000
Make Check_Property() take a OTL_GlyphItem, add a gproperties field to
-
+
Mon Jul 26 14:49:22 2004 Owen Taylor <otaylor@redhat.com>
-
+
* ftxgdef.[ch] otlbuffer.[ch]: Make Check_Property() take a
OTL_GlyphItem, add a gproperties field to OTLGlyphItem,
and use that to cache the properties for a glyph.
-
+
* ftxgsub.c ftxgdef.c: Adapt to Check_Property() changes.
-
+
* otlbuffer.[ch] ftxgsub.c: Add otl_buffer_copy_output_glyph()
to use when we are copying an unmodified glyph from input
to output that preserves the cached properties.
src/ftxgdef.c | 16 ++++++++++------
src/ftxgpos.c | 52 +++++++++++++++++++++++++++-------------------------
- src/ftxgsub.c | 54
- ++++++++++++++++++++++++++++--------------------------
+ src/ftxgsub.c | 54 ++++++++++++++++++++++++++++--------------------------
src/ftxopenf.h | 2 +-
src/otlbuffer.c | 21 +++++++++++++++++++--
src/otlbuffer.h | 6 ++++++
@@ -102571,9 +99920,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Mon Jul 19 21:13:23 2004 +0000
Add support for ChainContextSubstFormat3.
-
+
Mon Jul 19 17:09:11 2004 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/disasm.c: Add support for
ChainContextSubstFormat3.
@@ -102584,18 +99933,16 @@ commit d4f773ef92fdbaa7e61e6577db5e9b2846a100a4
Author: Owen Taylor <otaylor@redhat.com>
Date: Mon Jul 19 20:37:22 2004 +0000
- Fix pervasive buffer overruns when skipping glyphs when matching
- contexts.
-
+ Fix pervasive buffer overruns when skipping glyphs when matching contexts.
+
Mon Jul 19 16:29:45 2004 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgsub.c pango/opentype/ftxgpos.c:
Fix pervasive buffer overruns when skipping glyphs
when matching contexts. (#118592, Kailash C. Chowksey)
src/ftxgpos.c | 259 ++++++++++++++++++----------------------
- src/ftxgsub.c | 376
- ++++++++++++++++++++++++++--------------------------------
+ src/ftxgsub.c | 376 ++++++++++++++++++++++++++--------------------------------
2 files changed, 284 insertions(+), 351 deletions(-)
commit 99848cfafee8e598ef533f254cdb99fbae4c9364
@@ -102603,17 +99950,15 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Wed Jun 23 20:33:35 2004 +0000
#143693, Sayamindu Dasgupta
-
+
Wed Jun 23 16:13:53 2004 Owen Taylor <otaylor@redhat.com>
-
+
#143693, Sayamindu Dasgupta
-
- * pango/opentype/pango-ot-buffer.c
- (pango_ot_buffer_set_zero_width_marks)
- pango/opentype/pango-ot-private.h:
+
+ * pango/opentype/pango-ot-buffer.c (pango_ot_buffer_set_zero_width_marks) pango/opentype/pango-ot-private.h:
Allow setting for whether marks should be given zero width,
defaulting to FALSE.
-
+
* modules/arabic/arabic-fc.c (arabic_engine_shape): Turn
on zero-width-marks setting.
@@ -102626,9 +99971,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Mon Jun 21 18:04:02 2004 +0000
Use the gcc-3.3 strict-aliasing compatible macros from fterrcompat.h
-
+
Mon Jun 21 13:55:17 2004 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/otlbuffer.c: Use the gcc-3.3
strict-aliasing compatible macros from fterrcompat.h
(#140495, reported by Stanislav Brabec)
@@ -102641,11 +99986,9 @@ Author: Theppitak Karoonboonyanan <tkaroonb@src.gnome.org>
Date: Fri May 28 16:41:36 2004 +0000
Negate y offset according to different conventions between
-
- * pango/opentype/pango-ot-buffer.c (apply_gpos_ltr): Negate
- y offset
- according to different conventions between PangoGlyphString
- and OTL
+
+ * pango/opentype/pango-ot-buffer.c (apply_gpos_ltr): Negate y offset
+ according to different conventions between PangoGlyphString and OTL
(#142544)
src/pango-ot-buffer.c | 2 +-
@@ -102656,9 +99999,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Thu May 27 21:55:50 2004 +0000
Revert error return changes from last commit.
-
+
Thu May 27 17:54:24 2004 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/otlbuffer.c: Revert error return changes
from last commit.
@@ -102670,9 +100013,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Thu May 27 21:03:42 2004 +0000
Free buffer->positions, clean up error returns that were returning
-
+
Thu May 27 16:57:30 2004 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/otlbuffer.c: Free buffer->positions,
clean up error returns that were returning uninitialized
values. (#139239, Behdad Esfahbod)
@@ -102685,40 +100028,38 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Tue Mar 16 19:23:43 2004 +0000
=== Released 1.4.0 ===
-
+
Tue Mar 16 11:24:46 2004 Owen Taylor <otaylor@redhat.com>
-
+
* === Released 1.4.0 ===
-
+
* configure.in: Version 1.4.0, interface ago 0. Require
glib-2.4.0.
-
+
* NEWS: Updates.
-
+
* README: Some updates; include details about the FreeType
license of the OpenType code.
- src/FT-license.txt | 77
- +++++++++++++++++++++++++++++-------------------------
+ src/FT-license.txt | 77 +++++++++++++++++++++++++++++-------------------------
1 file changed, 42 insertions(+), 35 deletions(-)
commit 8b3554b3afe7c125b1a53171b01ac87de9c486fe
Author: Hans Breuer <hans@breuer.org>
Date: Wed Mar 3 22:35:19 2004 +0000
- if PANGO_MODULE_PREFIX is defined include the basic backend shaper
- (should
-
+ if PANGO_MODULE_PREFIX is defined include the basic backend shaper (should
+
2004-03-03 Hans Breuer <hans@breuer.org>
-
+
* pango/module-defs-win32.c.win32 : if PANGO_MODULE_PREFIX is
defined include the basic backend shaper (should have been
commited at 2003-12-12, too)
-
+
* pango/makefile.msc : generate correct type for PangoFontMask
(bug #135892, John Ehresman)
* pango/opentype/makefile.msc : updated
-
+
* pango/pango.def pango/pangoft2.def : more updatd externals
src/makefile.msc | 6 ++++--
@@ -102728,43 +100069,39 @@ commit a7e096c5de3ec5319bf9333c9ace0732d97c52c3
Author: Owen Taylor <otaylor@redhat.com>
Date: Sun Feb 29 15:44:50 2004 +0000
- Rework opentype interfaces and other changes to make GPOS work
- for Arabic.
-
+ Rework opentype interfaces and other changes to make GPOS work for Arabic.
+
Sun Feb 29 09:25:13 2004 Owen Taylor <otaylor@redhat.com>
-
+
Rework opentype interfaces and other changes to make GPOS
work for Arabic. (Most of #117282, #121060)
-
+
* pango/opentype/otlbuffer.[ch]: OTL_Buffer that
acts as a replacement for the separate GSUB and
GPOS string structures and hides many of the internal
details.
-
+
* pango/opentype/ftxgsub.[ch] pango/opentype/ftxgpos.[ch]:
Adapt to OTL_Buffer.
-
+
* pango/opentype/ftxgpos.c: Redo handling of cursive
chains so that it actually works.
-
+
* pango/pango-ot.h pango/opentype/pango-ot-buffer.c:
Pango wrapper around OTL_Buffer.
-
- * pango/pango-ot.h pango/pango-ot-ruleset.c
- pango/pango-ot-buffer.c:
- Split pango_ot_ruleset_shape() into
- pango_ot_ruleset_substitute(),
+
+ * pango/pango-ot.h pango/pango-ot-ruleset.c pango/pango-ot-buffer.c:
+ Split pango_ot_ruleset_shape() into pango_ot_ruleset_substitute(),
pango_ot_ruleset_position(), make them act on
PangoOTBuffer, add a separate pango_ot_buffer_output()
which does the default positioning and writes to a
PangoGlyphString.
-
+
* modules/arabic/arabic-fc.c modules/indic/indic-fc.c
modules/indic/mprefixups.[ch]: Adapt to new OpenType
interfaces; add GPOS features for Arabic.
-
- * pango/opentype/pango-ot-info.c: Don't derive class
- information
+
+ * pango/opentype/pango-ot-info.c: Don't derive class information
from Unicode properties for Arabic presentation forms,
let the shaping process derive the properties.
@@ -102772,8 +100109,7 @@ Date: Sun Feb 29 15:44:50 2004 +0000
src/ftxgdef.c | 4 +-
src/ftxgpos.c | 573 ++++++++++++++++-----------------------
src/ftxgpos.h | 23 +-
- src/ftxgsub.c | 719
- +++++++++++--------------------------------------
+ src/ftxgsub.c | 719 +++++++++++--------------------------------------
src/ftxgsub.h | 40 +--
src/ftxopen.h | 1 +
src/otlbuffer.c | 213 +++++++++++++++
@@ -102789,11 +100125,10 @@ commit d670ddf99192dd4999775a9215a818ae63fa3416
Author: Owen Taylor <otaylor@redhat.com>
Date: Sat Feb 21 14:53:12 2004 +0000
- Sign convention for y offsets is opposite between PangoGlyphString
- and FT
-
+ Sign convention for y offsets is opposite between PangoGlyphString and FT
+
Sat Feb 21 09:49:23 2004 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_shape):
Sign convention for y offsets is opposite between
PangoGlyphString and FT code. (#132591)
@@ -102806,14 +100141,14 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Fri Feb 13 16:11:40 2004 +0000
Memory leak fixes from Masatake YAMATO, #130652
-
+
Fri Feb 13 10:54:18 2004 Owen Taylor <otaylor@redhat.com>
-
+
Memory leak fixes from Masatake YAMATO, #130652
-
+
* pango/opentype/ftxgdef.c (TT_Done_GDEF_Table):
Free the gdef table as well as the contained data.
-
+
* pango/opentype/ftxgdef.c (TT_GDEF_Build_ClassDefinition):
Set gcd->loaded, so that the contents get freed later.
@@ -102825,9 +100160,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Mon Jan 26 19:23:35 2004 +0000
Suport CFF fonts as well. (#131202, Manjunath Sripadarao)
-
+
Mon Jan 26 14:20:34 2004 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/pango-ot-info.c (is_truetype): Suport
CFF fonts as well. (#131202, Manjunath Sripadarao)
@@ -102839,32 +100174,29 @@ Author: Hans Breuer <hans@breuer.org>
Date: Sat Dec 13 14:31:50 2003 +0000
moved pango_fc_* to the latter where they live on *nix too.
-
+
2003-12-13 Hans Breuer <hans@breuer.org>
-
+
* pango/pango.def pangoft2.def : moved pango_fc_*
to the latter where they live on *nix too.
-
+
* pango/makefile.msc : make it build again (including
the Ft2 backend)
-
- * pango/module-defs-fc.c.win32 : if PANGO_MODULE_PREFIX
- is defined
+
+ * pango/module-defs-fc.c.win32 : if PANGO_MODULE_PREFIX is defined
include the basic backend shaper
-
+
* pango/pangowin32.c (pango_win32_render_layout) :
initialize iter before first usage to avoid immediate crashing
-
+
* pango/opentype/makefile.msc
pango/modules/makefile.msc : finally build with mscv, too.
[completely untested cause I'm not able to type, write or read
any of these languages]
-
- * modules/modules.def : follow module function
- renaming/changes
-
- * modules/basic/basic-win32.c : register the right engine,
- i.e.
+
+ * modules/modules.def : follow module function renaming/changes
+
+ * modules/basic/basic-win32.c : register the right engine, i.e.
make it compile
src/makefile.msc | 21 +++++++++++++++++++++
@@ -102875,11 +100207,10 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Sat Nov 1 15:02:17 2003 +0000
Switch over to recommended Freetype system of include ft2build.h then
-
+
Sat Nov 1 09:32:15 2003 Owen Taylor <otaylor@redhat.com>
-
- * pango/pango-ot.h pango/pangofc-font.h
- modules/indic/indic-ot.h
+
+ * pango/pango-ot.h pango/pangofc-font.h modules/indic/indic-ot.h
pango/pangoft2.c pango/opentype/pango-ot-info.c
pango/opentype/pango-ot-ruleset.c pango/opentype/ottest.c
pango/opentype/ftxopen.[ch] pango/opentype/ftxgdef.c
@@ -102905,9 +100236,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Mon Sep 15 22:04:55 2003 +0000
Fix gcc-3.3 versions of macros to have the right return value.
-
+
Mon Sep 15 17:16:59 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/fterrcompat.h: Fix gcc-3.3 versions of
macros to have the right return value.
@@ -102918,11 +100249,10 @@ commit c99259bf7e08ccdc4130d4983e8d186021ea8e1a
Author: Owen Taylor <otaylor@redhat.com>
Date: Mon Aug 25 14:30:12 2003 +0000
- pango/opentype/ftxgsub.c (Lookup_ChainContextSubst3) Fix problems
- where
-
+ pango/opentype/ftxgsub.c (Lookup_ChainContextSubst3) Fix problems where
+
Mon Aug 25 10:17:21 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgsub.c (Lookup_ChainContextSubst3)
* pango/opentype/ftxgpos.c (Lookup_ChainContextPos3):
Fix problems where the coverage wasn't being checked
@@ -102937,24 +100267,24 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Fri Aug 22 22:52:08 2003 +0000
Add some macro definitions for gcc-3.3 that suppress the bogus
-
+
Fri Aug 22 18:09:52 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/fterrcompat.h: Add some macro definitions
for gcc-3.3 that suppress the bogus strict-aliasing
warnings.
-
+
* pango/pango-utils.c (read_config_file): Use
g_hash_table_new_full() to simplify code and fix
gcc-3.3 warnings.
-
+
* pango/pangox-fontmap.c (pango_x_real_get_coverage_win)
* pango/querymodules.c (query_module): Suppress gcc-3.3
warnings.
-
+
* pango/modules.c (pango_find_map): Fix warning from
missing declaration of pango_module_get_type().
-
+
* pango/pango-context.c/pango-engine.c: Fix name confusion
for pango_get_fallback_shaper().
@@ -102965,11 +100295,10 @@ commit 46d379596d7292a3b2e51f35fc8044b366d413a3
Author: Owen Taylor <otaylor@redhat.com>
Date: Tue Jul 29 14:21:54 2003 +0000
- Rewrite handling of IGNORE_SPECIAL_MARKS to be properly "ignore
- marks of
-
+ Rewrite handling of IGNORE_SPECIAL_MARKS to be properly "ignore marks of
+
Tue Jul 29 09:58:13 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgdef.c (Check_Property): Rewrite
handling of IGNORE_SPECIAL_MARKS to be properly
"ignore marks of attachment type different than
@@ -102982,11 +100311,10 @@ commit 8247acad79c1a4154e9337aed453eb3e4d23063d
Author: Owen Taylor <otaylor@redhat.com>
Date: Mon Jul 28 22:28:37 2003 +0000
- Revert back out the FreeType patch preventing ligatures of
- not-originally
-
+ Revert back out the FreeType patch preventing ligatures of not-originally
+
Sat Jul 26 09:41:22 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgsub.c (Lookup_LigatureSubst):
Revert back out the FreeType patch preventing
ligatures of not-originally adjacent glyphs;
@@ -103001,13 +100329,13 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Sun Jul 27 02:40:31 2003 +0000
Check for lookahead glyphs in the right place. (Patch from #116860)
-
+
Sat Jul 26 22:30:59 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgsub.c (Lookup_ChainContextSubst{1,2,3}):
Check for lookahead glyphs in the right place. (Patch
from #116860)
-
+
* pango/opentype/ftxgpos.c (Lookup_ChainContextPos{1,2,3}):
Same fix here.
@@ -103020,27 +100348,25 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Sun Jul 27 02:19:52 2003 +0000
Fix return value to only contain TTO_Err_Not_Covered if *no* lookups
-
+
Sat Jul 26 22:12:46 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgsub.c (Do_String_Lookup,
TT_GSUB_Apply_String): Fix return value to only
contain TTO_Err_Not_Covered if *no* lookups
matched. Fix memory leaks on error in Apply_String().
- src/ftxgsub.c | 120
- ++++++++++++++++++++++++++++++++++++----------------------
+ src/ftxgsub.c | 120 ++++++++++++++++++++++++++++++++++++----------------------
1 file changed, 75 insertions(+), 45 deletions(-)
commit e10ea2afd9a5868d4ec1ff3a2b99bcd64ce45816
Author: Owen Taylor <otaylor@redhat.com>
Date: Sun Jul 27 01:10:15 2003 +0000
- Fix confusion between boolean and FT_Error return. (GSUB equivalent
- of fix
-
+ Fix confusion between boolean and FT_Error return. (GSUB equivalent of fix
+
Sat Jul 26 21:06:26 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgsub.c (Load_EmptyOrClassDefinition):
Fix confusion between boolean and FT_Error return.
(GSUB equivalent of fix for #108358)
@@ -103053,13 +100379,13 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Sat Jul 26 15:02:13 2003 +0000
Move allocation afer initial checks, fixing memory leak.
-
+
Sat Jul 26 10:52:20 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgpos.c (Lookup_ContextPos2):
* pango/opentype/ftxgsub.c (Lookup_ContextSubst2): Move
allocation afer initial checks, fixing memory leak.
-
+
* pango/opentype/ftxgsub.c (Lookup_ChainContextSubst2):
Fix some more error return memory leaks that weren't
fixed in the Qt changes.
@@ -103072,11 +100398,10 @@ commit f40b7c15e0bc4b71e706602c4e062f72d8f0fcdd
Author: Owen Taylor <otaylor@redhat.com>
Date: Sat Jul 26 14:50:23 2003 +0000
- Fix various memory leaks from error returns that should have been
- jumps to
-
+ Fix various memory leaks from error returns that should have been jumps to
+
Sat Jul 26 10:43:20 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgsub.c pango/opentype/ftxgpos.c:
Fix various memory leaks from error returns that should
have been jumps to cleanup blocks. (From Qt, Lars Knoll)
@@ -103090,9 +100415,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Sat Jul 26 14:35:29 2003 +0000
Fix additional places where TTO_Err_Not_Covered wasn't considered a
-
+
Sat Jul 26 10:30:24 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgpos.c: Fix additional places where
TTO_Err_Not_Covered wasn't considered a successful return
from Get_Class. (From Qt, Lars Knoll)
@@ -103105,9 +100430,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Sat Jul 26 13:50:23 2003 +0000
If applying a ligature lookup makes adjacent two glyphs that were not
-
+
Sat Jul 26 09:41:22 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgsub.c (Lookup_LigatureSubst):
If applying a ligature lookup makes adjacent two glyphs
that were not originally adjacent, avoid making
@@ -103122,9 +100447,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Sat Jul 26 13:20:52 2003 +0000
Fix some FreeType1 variable declarations that snuck in from the last
-
+
Sat Jul 26 09:16:57 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgpos.c pango/opentype/ftxopen.c:
Fix some FreeType1 variable declarations that snuck
in from the last commits (Christophe Fergeau,
@@ -103138,11 +100463,10 @@ commit 06c12109de061c357f46dcec82c4bee7160afede
Author: Owen Taylor <otaylor@redhat.com>
Date: Sat Jul 26 03:45:44 2003 +0000
- OpenType-1.4 update: backtrack information is stored with the
- item closest
-
+ OpenType-1.4 update: backtrack information is stored with the item closest
+
Fri Jul 25 23:38:07 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgpos.c pango/opentype/ftxgsub.c:
OpenType-1.4 update: backtrack information is stored with the
item closest to the input first (From FreeType,
@@ -103157,18 +100481,17 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Sat Jul 26 03:14:23 2003 +0000
Update of GPOS and GSUB support to OpenType 1.3 (From FreeType, Werner
-
+
Fri Jul 25 23:07:06 2003 Owen Taylor <otaylor@redhat.com>
-
+
Update of GPOS and GSUB support to OpenType 1.3
(From FreeType, Werner Lemberg, 2001-08-08)
-
+
* pango/opentype/ftxopen.h: Add RIGHT_TO_LEFT LookupFlag
-
+
* pango/opentype/ftxgpos.c (GPOS_Instance): Add 'first'
- member to mark the beginning of a chain of cursive
- connections.
-
+ member to mark the beginning of a chain of cursive connections.
+
* pango/opentype/ftxgpos.c (Do_String_Lookup): If the
RIGHT_TO_FLAG flag is set, shift cursive chain up so
last glyph is on the baseline.
@@ -103182,9 +100505,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Sat Jul 26 03:03:40 2003 +0000
Add GPOS_LOOKUP_EXTENSION, GSUB_LOOKUP_EXTENSION, which allow lookup
-
+
Fri Jul 25 22:59:13 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftx{gpos,gsub}.h pango/opentype/ftxgdef.c:
Add GPOS_LOOKUP_EXTENSION, GSUB_LOOKUP_EXTENSION, which
allow lookup information to be stored at 32-bit offets
@@ -103201,9 +100524,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Sat Jul 26 02:44:19 2003 +0000
Fix a couple of places where TTO_Err_Not_Covered wasn't considered a
-
+
Fri Jul 25 22:25:48 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgsub.c (Lookup_ContextSubst2,
Lookup_ChainContextSubst2): Fix a couple of
places where TTO_Err_Not_Covered wasn't considered
@@ -103219,21 +100542,20 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Sat Jul 26 02:10:42 2003 +0000
Improvements to OpenType-dumping code, based on changes in Qt by Lars
-
+
Fri Jul 25 20:12:00 2003 Owen Taylor <otaylor@redhat.com>
-
+
Improvements to OpenType-dumping code, based on
changes in Qt by Lars Knoll.
-
+
* pango/opentype/ottest.c: Tweak the debugging output,
suppress some warnings.
-
+
* pango/opentype/disasm.c: Add support for
GSUB Context/Chain GPOS MarkBase lookups, improve
output in various ways.
- src/disasm.c | 242
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ src/disasm.c | 242 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
src/ottest.c | 12 +--
2 files changed, 241 insertions(+), 13 deletions(-)
@@ -103242,9 +100564,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Thu Jul 24 21:05:29 2003 +0000
Fix uses of g_assert() around statements with side effects. (#115498,
-
+
Thu Jul 24 17:04:21 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_shape):
Fix uses of g_assert() around statements with side effects.
(#115498, patch from David Cuthbert)
@@ -103256,11 +100578,10 @@ commit f91deef2c9473da5c3cb5e120f2d4fbf0d638166
Author: Owen Taylor <otaylor@redhat.com>
Date: Wed Apr 16 21:48:29 2003 +0000
- More careful handling of face->charmap; if is NULL, try to set
- a unicode
-
+ More careful handling of face->charmap; if is NULL, try to set a unicode
+
Wed Apr 16 03:46:42 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/pango-ot-info.c (synthesize_class_def):
More careful handling of face->charmap; if is NULL,
try to set a unicode charmap, if that doesn't succeed,
@@ -103274,9 +100595,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Wed Apr 16 03:58:17 2003 +0000
When loading in Load_Chain{Sub,Pos}ClassRule, the limit we have only
-
+
Tue Apr 15 11:49:39 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxg{sub/pos}.c: When loading
in Load_Chain{Sub,Pos}ClassRule, the limit we
have only applies to the input ClassDef table.
@@ -103292,9 +100613,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Tue Apr 15 23:01:19 2003 +0000
Fix mispelled constant from last commit.
-
+
Tue Apr 15 06:57:02 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgpos.c: Fix mispelled constant
from last commit.
@@ -103305,14 +100626,13 @@ commit 73cd600798a9a7225b2ac8241ea371d48cf7baf3
Author: Owen Taylor <otaylor@redhat.com>
Date: Tue Apr 15 22:15:41 2003 +0000
- Fix confusion between boolean and FT_Error return. (#108358,
- Noah Levitt)
-
+ Fix confusion between boolean and FT_Error return. (#108358, Noah Levitt)
+
Tue Apr 15 06:03:39 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgpos.c: Fix confusion between
boolean and FT_Error return. (#108358, Noah Levitt)
-
+
* pango/opentype/ftxopen.c (Get_Class1): index is
allowed to be NULL. (#108358, Noah Levitt)
@@ -103325,9 +100645,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Tue Apr 15 21:05:53 2003 +0000
Fix infinite loop in the case where the charmap contains a character >
-
+
Tue Apr 15 05:00:39 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/pango-ot-info.c (synthesize_class_def):
Fix infinite loop in the case where the charmap contains
a character > 65535. (#106550, Morten Welinder.)
@@ -103340,12 +100660,12 @@ Author: James Henstridge <james@daa.com.au>
Date: Tue Mar 11 12:31:16 2003 +0000
make similar changes to the ones on glib head (call gtk-docize, etc).
-
+
2003-03-11 James Henstridge <james@daa.com.au>
-
+
* autogen.sh: make similar changes to the ones on glib head (call
gtk-docize, etc).
-
+
* configure.in: move some calculations into M4 macros, rather than
calculating them when configure runs.
Use AC_HELP_STRING where appropriate.
@@ -103354,27 +100674,27 @@ Date: Tue Mar 11 12:31:16 2003 +0000
AC_CONFIG_COMMANDS (once per created file).
Get rid of the "chmod +x pango-config" bit, because there is no
pango-config anymore.
-
+
* Makefile.am: get rid of custom distcheck rule, and set
DISTCHECK_CONFIGURE_FLAGS, which is equivalent.
Use += to select which .pc files to install.
-
+
* pango/Makefile.am: Add rules to rebuild module-defs* files, and
remove them on clean.
Reorder so that rules related to each individual library are next
to each other.
Use BUILT_SOURCES for built sources.
-
+
* pango/opentype/Makefile.am: don't use STRIP_BEGIN/STRIP_END.
-
+
* modules/*/Makefile.am: simplify module makefiles through use of
+=, and regularise them a bit (fixed a few bugs in the process).
-
+
* docs/Makefile.am: remove common rules, and instead include
gtk-doc.make.
-
+
* examples/Makefile.am: add pango.modules to CLEANFILES.
-
+
* tests/Makefile.am: remove temporary files on clean.
src/Makefile.am | 11 +++++------
@@ -103384,29 +100704,28 @@ commit 1aad15fd0c007c9075f2f7f4c4cacf576d726eea
Author: Owen Taylor <otaylor@redhat.com>
Date: Mon Feb 17 22:04:29 2003 +0000
- Add an --enable-debug configure argument defaulting to 'yes'
- for unstable
-
+ Add an --enable-debug configure argument defaulting to 'yes' for unstable
+
Mon Feb 17 13:06:39 2003 Owen Taylor <otaylor@redhat.com>
-
+
* configure.in **/Makefile.am: Add an --enable-debug
configure argument defaulting to 'yes' for unstable
releases and 'minimum' for stable releases.
For minimum, -DG_DISABLE_CAST_CHECKS.
-
+
* pango/pangofc-fontmap.cI pango/pangoft2-fontmap.c
pango/pangoxft-fontmap.c: Add caching of fontsets
(#104495, initial patch and review by Soeren Sandmann)
-
+
* pango/pangofc-fontmap.cI pango/pangoft2-fontmap.c
pango/pangoxft-fontmap.c pango/pangoft2-private.h
pango/pangoxft-private.h: Remove cache of recently freed
fonts; not necessary now that we cache fontsets.
-
+
* pango/pangofc-fontmap.cI (pango_fc_pattern_set_free):
Rename from pango_fc_font_set_free to reflect
what it actually does.
-
+
* pango/pangofc-fontmap.cI pango/pangoft-fontmap.c
pango/pangoxft-fontmap.c: Combine clear-the-cache
functions; we didn't need separate clear-the-font-cache
@@ -103420,9 +100739,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Wed Feb 12 22:12:55 2003 +0000
Up the FreeType version requirement to 2.0.9. (2.2.1 had a compilation
-
+
Wed Feb 12 16:59:23 2003 Owen Taylor <otaylor@redhat.com>
-
+
* configure.in pango/opentype/fterrcompat.h README:
Up the FreeType version requirement to 2.0.9.
(2.2.1 had a compilation failure with older versions,
@@ -103437,12 +100756,12 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Sat Jan 11 00:16:26 2003 +0000
Export TT_New_GDEF_Table to create an empty GDEF table.
-
+
Fri Jan 10 18:56:36 2003 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgdef.c: Export TT_New_GDEF_Table
to create an empty GDEF table.
-
+
* pango/opentype/pango-ot-info.c: If the font doesn't
have a class definition table, synthesize one using
the charmap and the unicode properties of characters
@@ -103451,8 +100770,7 @@ Date: Sat Jan 11 00:16:26 2003 +0000
src/ftxgdef.c | 46 +++++++++++++++-------
src/ftxgdef.h | 4 ++
- src/pango-ot-info.c | 108
- ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/pango-ot-info.c | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 144 insertions(+), 14 deletions(-)
commit db6bb4b034d4d8d546fc9bdc4ad28b16bb7f1bb7
@@ -103460,10 +100778,10 @@ Author: Matthias Clasen <matthiasc@src.gnome.org>
Date: Thu Nov 28 23:53:18 2002 +0000
Add docs.
-
+
* docs/tmpl/xft-fonts.sgml:
* docs/tmpl/freetype-fonts.sgml: Add docs.
-
+
* pango/pangoxft-fontmap.c (pango_xft_substitute_changed):
* pango/pangoft2-fontmap.c
(pango_ft2_font_map_set_default_substitute):
@@ -103477,20 +100795,19 @@ Author: Sebastian Wilhelmi <wilhelmi@ira.uka.de>
Date: Tue Nov 26 13:37:10 2002 +0000
Do not add GLIB_CFLAGS to CFLAGS.
-
-
+
+
2002-11-26 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
-
+
* configure.in: Do not add GLIB_CFLAGS to CFLAGS.
-
+
* docs/Makefile.am, examples/Makefile.am,
modules/arabic/Makefile.am, modules/basic/Makefile.am,
modules/hangul/Makefile.am, modules/hebrew/Makefile.am,
modules/indic/Makefile.am, modules/tamil/Makefile.am,
modules/thai/Makefile.am, pango/Makefile.am,
pango/mini-fribidi/Makefile.am, pango/opentype/Makefile.am:
- Instead add $(GLIB_CFLAGS) directly to INCLUDES (GTKDOC_CFLAGS
- for
+ Instead add $(GLIB_CFLAGS) directly to INCLUDES (GTKDOC_CFLAGS for
docs/Makefile.am). Also some cosmetic line wrapping and
reindentation.
@@ -103502,12 +100819,11 @@ Author: Manish Singh <yosh@gimp.org>
Date: Mon Oct 14 22:50:48 2002 +0000
Get rid of unnecessary casts for g_object_{ref,unref}
-
+
Mon Oct 14 15:39:41 2002 Manish Singh <yosh@gimp.org>
-
+
* pango/pango-context.c pango/pango-layout.c pango/pangoft2.c
- pango/pangowin32-fontmap.c pango/pangowin32.c
- pango/pangox-fontmap.c
+ pango/pangowin32-fontmap.c pango/pangowin32.c pango/pangox-fontmap.c
pango/pangox.c pango/pangoxft-font.c pango/pangoxft-fontmap.c
pango/testfonts.c pango/opentype/pango-ot-ruleset.c:
Get rid of unnecessary casts for g_object_{ref,unref}
@@ -103520,9 +100836,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Sun Sep 29 19:06:58 2002 +0000
ligatures can be also used in MarkBasePos lookups. (2001-03-17 Werner
-
+
Sun Sep 29 14:55:36 2002 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgpos.c: ligatures can be also used in
MarkBasePos lookups. (2001-03-17 Werner Lemberg)
@@ -103534,15 +100850,14 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Sun Sep 29 19:05:01 2002 +0000
Start of merges from freetype1 of OpenType fixes.
-
+
Sun Sep 29 14:51:25 2002 Owen Taylor <otaylor@redhat.com>
-
+
Start of merges from freetype1 of OpenType fixes.
-
+
(2001-03-17 Werner Lemberg)
-
- * pango/opentype/ftxgdef.c pango/opentype/ftxgpos.c
- pango/opentype/ftxg\sub.c:
+
+ * pango/opentype/ftxgdef.c pango/opentype/ftxgpos.c pango/opentype/ftxg\sub.c:
More fixes for special marks.
src/ftxgdef.c | 13 ++++++++-----
@@ -103554,17 +100869,14 @@ commit 5c53f14f371b349da65dfa3a848b17ab89ce3ba8
Author: Tor Lillqvist <tml@iki.fi>
Date: Mon Sep 23 21:45:31 2002 +0000
- Remove. Not used. (A static library is built here. Exported entries
- are in
-
+ Remove. Not used. (A static library is built here. Exported entries are in
+
2002-09-24 Tor Lillqvist <tml@iki.fi>
-
- * pango/opentype/pango-ot.def: Remove. Not used. (A static
- library
+
+ * pango/opentype/pango-ot.def: Remove. Not used. (A static library
is built here. Exported entries are in ../pangoft2.def.)
-
- * pango/opentype/Makefile.am (EXTRA_DIST): Remove from
- here, too.
+
+ * pango/opentype/Makefile.am (EXTRA_DIST): Remove from here, too.
src/Makefile.am | 3 +--
src/pango-ot.def | 50 --------------------------------------------------
@@ -103575,18 +100887,18 @@ Author: Tor Lillqvist <tml@iki.fi>
Date: Mon Sep 23 21:19:30 2002 +0000
pango/makefile.mingw.in pango/mini-fribidi/makefile.mingw Remove. Not
-
+
2002-09-23 Tor Lillqvist <tml@iki.fi>
-
+
* pango/makefile.mingw.in
* pango/mini-fribidi/makefile.mingw
* pango/opentype/makefile.mingw.in: Remove. Not maintained.
-
+
* pango/Makefile.am (EXTRA_DIST)
* pango/mini-fribidi/Makefile.am (EXTRA_DIST)
* pango/opentype/Makefile.am (EXTRA_DIST): Remove
makefile.mingw(.in) from here, too.
-
+
* configure.in (AC_OUTPUT): Don't try to output above removed
files.
@@ -103617,15 +100929,14 @@ commit 441e7d0292bf1a06396daac80fcbad23976a824d
Author: Owen Taylor <otaylor@redhat.com>
Date: Wed Aug 7 17:01:52 2002 +0000
- Offset to MarkAttachClassDef is offset to table, not offset to
- offset to
-
+ Offset to MarkAttachClassDef is offset to table, not offset to offset to
+
Wed Aug 7 12:32:39 2002 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgsub.c (TT_Load_GSUB_Table):
Offset to MarkAttachClassDef is offset to table,
not offset to offset to table.
-
+
* pango/opentype/ftxopen.c (Get_Device): Handle
NULL device tables which we represent with
d->DeltaValue == NULL.
@@ -103639,35 +100950,33 @@ Author: Owen Taylor <otaylor@src.gnome.org>
Date: Tue Jun 4 00:20:51 2002 +0000
on Jun 3 18:56:09 2002 Owen Taylor <otaylor@redhat.com>
-
+
Xft2 and fontconfig conversion, based largely on a patch
from Keith Packard.
-
+
* configure.in acconfig.h: Add checks for fontconfig, switch
Xft checks to switch for Xft2 using pkg-config.
-
+
* pangoxft.pc.in pangoxft.pc.in
modules/{arabic,basic,hebrew,indic,tamil}/Makefile.am
pango/Makefile.am: Reflect new Xft/fontconfig dependencies.
-
+
* pango/pangoxft-private.h pango/pangoxft-fontmap.c
modules/arabic/arabic-xft.c modules/indic/indic-xft.c:
Switch over to using Xft2 and fontconfig.
-
- * pango/pangoft2.c pango/pangoft2-fontmap.c
- pango/pangoft2-private.h
+
+ * pango/pangoft2.c pango/pangoft2-fontmap.c pango/pangoft2-private.h
pango/pango/Makefile.am: Remove usage of mini-xft in
favor of fontconfig.
-
- * pango/pango-ot.h pango/opentype/pango-ot-info.c
- pango/pangoxft.h
+
+ * pango/pango-ot.h pango/opentype/pango-ot-info.c pango/pangoxft.h
modules/arabic/arabic-{xft,ft2}.c modules/indic/indic-xft.c:
Attach OpenType information directly to the FT_Face
structure using FT_Generic.
-
+
* modules/tamil/Makefile.am modules/tamil/tamil-xft.c
configure.in: Remove this module, no longer needed.
-
+
* pango/pangoxft-font.c (pango_xft_real_render): Coalesce
calls to Xft rendering functions.
@@ -103679,9 +100988,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Fri May 10 18:44:47 2002 +0000
Fix acess outside of a loaded frame and some memory leaks on failure.
-
+
Fri May 10 14:41:27 2002 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgdef.c (TT_Load_GDEF_Table): Fix acess
outside of a loaded frame and some memory leaks
on failure.
@@ -103694,17 +101003,14 @@ Author: Eric Mader <mader@jtcsv.com>
Date: Tue May 7 20:39:14 2002 +0000
Add modules modules/indic/indic-xft.c, indic-ot.c, indic-ot.h,
-
+
Mon May 06 15:07:39 2002 Eric Mader <mader@jtcsv.com>
- * Add modules modules/indic/indic-xft.c, indic-ot.c,
- indic-ot.h, indic-ot-class-tables.c
-
- * pango/opentype/ftxgdef.c: Compute full offset for mark
- attachment class table
-
- * pango/opentype/ftxgpos.c: Only return TTO_Err_Not_Covered
- if nothing matches
-
+ * Add modules modules/indic/indic-xft.c, indic-ot.c, indic-ot.h, indic-ot-class-tables.c
+
+ * pango/opentype/ftxgdef.c: Compute full offset for mark attachment class table
+
+ * pango/opentype/ftxgpos.c: Only return TTO_Err_Not_Covered if nothing matches
+
* pango/opentype/pango-ot-ruleset.c: enable GPOS processing
src/ftxgdef.c | 10 ++++++++--
@@ -103717,9 +101023,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Tue Apr 23 20:20:29 2002 +0000
Add compatibility defines for changes in FreeType 2.1.0.
-
+
Tue Apr 23 16:15:07 2002 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/fterrcompat.h: Add compatibility
defines for changes in FreeType 2.1.0.
@@ -103731,24 +101037,23 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Fri Mar 15 06:46:05 2002 +0000
In Load_ChainContextSubst2, handle the case where an empty class
-
+
Fri Mar 15 01:35:56 2002 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgsub.c pango/opentype/ftxopen.c
pango/opentype/ftxopenf.h: In Load_ChainContextSubst2,
handle the case where an empty class definition
is represented by an offset of 0.
-
+
* pango/opentype/ftxgpos.c: Same for Load_ChainContextPos2.
-
+
* pango/opentype/{ftxopen.c,ftxgpos.c,ftxgsub.c,ftgdef.c}:
Fix pervasive bug where on cleanups on failure of loading
an array element, all array elements were freed, not
just the ones that had been succesfully loaded.
src/ftxgdef.c | 24 +++---
- src/ftxgpos.c | 259
- ++++++++++++++++++++++++++++++++++++---------------------
+ src/ftxgpos.c | 259 ++++++++++++++++++++++++++++++++++++---------------------
src/ftxgsub.c | 159 ++++++++++++++++++++---------------
src/ftxopen.c | 53 ++++++++----
src/ftxopenf.h | 2 +
@@ -103759,16 +101064,15 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Fri Mar 15 04:22:14 2002 +0000
Uncomment GPOS parts.
-
+
Thu Mar 14 23:05:18 2002 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxopen.c: Uncomment GPOS parts.
-
+
* pango/opentype/disasm.c: Start adding some GPOS
dumping.
- src/disasm.c | 146
- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/disasm.c | 146 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/ftxopen.c | 20 ++++----
2 files changed, 154 insertions(+), 12 deletions(-)
@@ -103777,8 +101081,8 @@ Author: Sebastian Wilhelmi <wilhelmi@src.gnome.org>
Date: Thu Dec 13 17:44:46 2001 +0000
Resuming aborted commit
-
-
+
+
Resuming aborted commit
src/Makefile.am | 1 +
@@ -103789,19 +101093,16 @@ Author: Matthias Clasen <matthiasc@src.gnome.org>
Date: Tue Oct 30 22:09:20 2001 +0000
Remove declarations of unimplemented functions
-
- * docs/pango-sections.txt, pango/pango-ot.h: Remove
- declarations
- of unimplemented functions pango_ot_ruleset_set_glyph_loader
- and
+
+ * docs/pango-sections.txt, pango/pango-ot.h: Remove declarations
+ of unimplemented functions pango_ot_ruleset_set_glyph_loader and
pango_ot_ruleset_set_alternate_func and the related typedefs
PangoOTGlyphLoader and PangoOTAlternateFunc.
-
+
* pango/opentype/pango-ot-info.c,
pango/opentype/pango-ot-ruleset.c: Documentation updates.
- src/pango-ot-info.c | 76
- ++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/pango-ot-info.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++
src/pango-ot-ruleset.c | 27 ++++++++++++++++++
2 files changed, 103 insertions(+)
@@ -103809,18 +101110,15 @@ commit 87a475c09f6b9b391bca37de47a303a62a397b83
Author: Havoc Pennington <hp@redhat.com>
Date: Wed Sep 19 21:20:36 2001 +0000
- header to abstract the difference between FreeType 2.0.3 and 2.0.4
- error
-
+ header to abstract the difference between FreeType 2.0.3 and 2.0.4 error
+
2001-09-19 Havoc Pennington <hp@redhat.com>
-
- * pango/opentype/fterrcompat.h: header to abstract the
- difference
+
+ * pango/opentype/fterrcompat.h: header to abstract the difference
between FreeType 2.0.3 and 2.0.4 error codes, based on the
configure check.
-
- * configure.in: check for the tterrors.h header in FreeType
- 2.0.3,
+
+ * configure.in: check for the tterrors.h header in FreeType 2.0.3,
and define HAVE_FREETYPE_2_0_3 if we have it
src/Makefile.am | 1 +
@@ -103837,72 +101135,62 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Tue Sep 18 20:05:20 2001 +0000
Up to 0.19.
-
+
Tue Sep 18 15:47:08 2001 Owen Taylor <otaylor@redhat.com>
-
+
* configure.in (PANGO_MINOR_VERSION): Up to 0.19.
-
+
* pango/pango-font.h pango/pango-fontmap.[ch] pango/fonts.c
- pango/pangoxft-fontmap.c pango/pangoft-fontmap.c
- pango/pango-context.[ch]
- pango/pangox-fontmap.c: Add new PangoFontFace and
- PangoFontFamily
- object types, and change the font listing API to list
- faces and
+ pango/pangoxft-fontmap.c pango/pangoft-fontmap.c pango/pango-context.[ch]
+ pango/pangox-fontmap.c: Add new PangoFontFace and PangoFontFamily
+ object types, and change the font listing API to list faces and
families, instead of face names and font descriptions.
-
+
* pango/pango-font.h pango/fonts.c: Make PangoFontDescription
an opaque heap-allocated structure, add accessors and
convenience functions.
-
- * pango/pango-font.h pango/pango-private.h: Make
- PangoFontMetrics
+
+ * pango/pango-font.h pango/pango-private.h: Make PangoFontMetrics
heap allocated, protect the structure definition with
#ifdef PANGO_ENABLE_BACKEND, and add getters for the fields.
-
+
* pango/pango-attributes.[ch] ( pango_attr_iterator_get_font):
instead of providing a base font description and one to fill
in, provide a single font description to modify based on
the attributes.
-
+
* pango/pango-attributes.[ch]: Fix PangoAttrFontDesc to have
a PangoFontDescription by reference, not by value.
-
+
* pango/pango-utils.[ch]: make pango_parse_style() and friends
take pointers to individual enumerations instead of to a
PangoFontDescription structure.
-
- * pango/*.c: Fix for the PangoFontDescription and
- PangoFontMetrics
+
+ * pango/*.c: Fix for the PangoFontDescription and PangoFontMetrics
changes.
-
+
* pango/pango-{break,engine,indic,ot,xft}.h pango/Makefile.am
pango/opentype/Makefile.am: Protect portions with
PANGO_ENABLE_ENGINE to shrink the public API.
-
+
* modules/*/Makefile.am: -DPANGO_ENABLE_ENGINE.
-
- * pango/{pangox.h,pangox-private.h} modules/basic/basic-x.c:
- Move
- pango_x_font_get_unknown_glyph() into public header since
- it is
+
+ * pango/{pangox.h,pangox-private.h} modules/basic/basic-x.c: Move
+ pango_x_font_get_unknown_glyph() into public header since it is
used from modules.
-
- * pango/pango-{context,font,fontmap,modules.utils}.h
- pango/Makefile.am:
- Protect portions with PANGO_ENABLE_BACKEND to shrink the
- public API.
-
+
+ * pango/pango-{context,font,fontmap,modules.utils}.h pango/Makefile.am:
+ Protect portions with PANGO_ENABLE_BACKEND to shrink the public API.
+
* pango/*.h: Use G_BEGIN/END_DECLS
-
- * examples/viewer-qt.[cc,h]: Fix for changes to font
- listing API,
+
+ * examples/viewer-qt.[cc,h]: Fix for changes to font listing API,
PangoFontDescription.
-
+
* pango/pango-indic.h modules/indic/*: Since we install this
header fix it up to Pango conventions, namespece
ZERO_WIDTH_JOINER, ZERO_WIDTH_NON_JOINER.
-
+
* docs/pango-sections.txt: Updated.
src/Makefile.am | 1 +
@@ -103913,55 +101201,46 @@ Author: Darin Adler <darin@src.gnome.org>
Date: Thu Jul 12 16:34:40 2001 +0000
Remove stray semicolon.
-
- * modules/arabic/arabic-x.c: (arabic_engine_shape): Remove
- stray
+
+ * modules/arabic/arabic-x.c: (arabic_engine_shape): Remove stray
semicolon.
-
+
* modules/arabic/arconv.h:
- * modules/arabic/arconv.c: (shape), (doublelig),
- (arabic_reshape):
- Use long* instead of int* for parameter to match what's
- passed in.
-
+ * modules/arabic/arconv.c: (shape), (doublelig), (arabic_reshape):
+ Use long* instead of int* for parameter to match what's passed in.
+
* modules/indic/bengali-x.c: Add missing <string.h> include.
- (pango_indic_make_ligs): Use local variable that was added
- but not
+ (pango_indic_make_ligs): Use local variable that was added but not
ever used.
(pango_indic_engine_shape): Remove unused locals.
-
- * modules/indic/devanagari-x.c: Add missing <string.h>
- include.
+
+ * modules/indic/devanagari-x.c: Add missing <string.h> include.
(pango_indic_engine_shape): Remove unused local.
-
+
* modules/indic/gujarati-x.c: Add missing <string.h> include.
(pango_indic_engine_shape): Remove unused local
-
+
* modules/tamil/tamil-x.c: (tamil_engine_shape): Initialize a
variable to quiet the compiler's unused warning.
-
+
* pango/.cvsignore: Ignore more generated files.
-
- * pango/opentype/ftxgpos.c: (Get_Anchor): Add code to set
- up the
- ap variable. The old code would just use the uninitialized
- value.
-
- * pango/opentype/ftxopen.c: (Load_Coverage): Remove unused
- local.
-
+
+ * pango/opentype/ftxgpos.c: (Get_Anchor): Add code to set up the
+ ap variable. The old code would just use the uninitialized value.
+
+ * pango/opentype/ftxopen.c: (Load_Coverage): Remove unused local.
+
* pango/opentype/pango-ot-ruleset.c: (pango_ot_ruleset_shape):
Remove unused local.
-
+
* pango/pango-attributes.c: (pango_attr_list_get_type),
(pango_color_get_type): Add needed function type casts (just
warnings under gcc, but could be errors in other compilers).
-
+
* pango/pangoxft-font.c: (pango_xft_font_get_metrics),
(pango_xft_font_get_coverage), (pango_xft_get_shaper_map),
(pango_xft_font_find_shaper): Switch from lang char* to
- PangoLanguage*. The code was still compiling, but would
- not have
+ PangoLanguage*. The code was still compiling, but would not have
worked.
src/ftxgpos.c | 2 ++
@@ -103974,23 +101253,23 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Fri May 18 16:04:40 2001 +0000
Use ISO C99 varargs when available.
-
+
Fri May 18 11:30:57 2001 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/disasm.c: Use ISO C99 varargs when
available.
-
+
Thu May 17 11:16:23 2001 Owen Taylor <otaylor@redhat.com>
-
+
* pango/mapping.c: Fixup docs, remove some FIXMEs that are
no longer applicable.
-
+
* pango/pango-layout.c: Move by graphemes, not characters.
-
+
* pango/pango-layout.c (pango_layout_line_x_to_index):
Position at the closest grapheme boundary, not at character
boundaries.
-
+
* pango/pango-layout.c (pango_layout_line_index_to_x):
Return positions of grapheme boundaries, not character
boundaries.
@@ -104004,9 +101283,9 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Tue Apr 24 15:47:22 2001 +0000
Remove excess call to DONE_Stream left over from conversion from FT1.
-
+
Tue Apr 24 11:45:55 2001 Owen Taylor <otaylor@redhat.com>
-
+
* pango/opentype/ftxgdef.c (TT_Load_GDEF_Table): Remove
excess call to DONE_Stream left over from conversion
from FT1. (reported by Michael Jansson)
@@ -104019,15 +101298,15 @@ Author: Owen Taylor <otaylor@redhat.com>
Date: Tue Apr 3 19:07:36 2001 +0000
Release 0.14
-
+
Tue Apr 3 15:05:19 2001 Owen Taylor <otaylor@redhat.com>
-
+
* Release 0.14
-
+
* NEWS: updated.
-
+
* pango/pango/opentype/Makefile.am: make dist fixes.
-
+
* configure.in (PANGO_MINOR_VERSION): Up to 0.14
src/Makefile.am | 10 ++++++++--
@@ -104038,67 +101317,58 @@ Author: Tor Lillqvist <tml@iki.fi>
Date: Thu Dec 21 19:55:23 2000 +0000
Only a script engine here.
-
+
2000-12-21 Tor Lillqvist <tml@iki.fi>
-
- * modules/basic/basic-win32.c (script_engine_load): Only
- a script
+
+ * modules/basic/basic-win32.c (script_engine_load): Only a script
engine here.
-
- * pango/makefile.mingw.in: Add the built
- pango-enum-types.[ch].
-
+
+ * pango/makefile.mingw.in: Add the built pango-enum-types.[ch].
+
* pango/pango.def
* pango/pangoft2.def: Update.
-
+
* pango/opentype/pango-ot.def
* pango/opentype/makefile.mingw.in: New files.
-
+
* pango/opentype/Makefile.am (EXTRA_DIST): Add them.
-
+
* configure.in (included_modules): Generate
pango/opentype/makefile.mingw.
src/Makefile.am | 4 +++-
src/makefile.mingw.in | 43 +++++++++++++++++++++++++++++++++++++++++++
- src/pango-ot.def | 50
- ++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/pango-ot.def | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 96 insertions(+), 1 deletion(-)
commit 80a15829135065e16ce5b129c715d10d14b829ba
Author: Owen Taylor <otaylor@redhat.com>
Date: Wed Dec 20 04:41:36 2000 +0000
- Since Xft may only be available statically without shlib deps,
- check for
-
+ Since Xft may only be available statically without shlib deps, check for
+
Tue Dec 19 22:47:16 2000 Owen Taylor <otaylor@redhat.com>
-
+
* configure.in pango-config.in pangoxft.pc.in
modules/basic/Makefile.am: Since Xft may only be available
- statically without shlib deps, check for FreeType libs
- explicitly
- and include them when linking, otherwise things won't
- work. Also,
+ statically without shlib deps, check for FreeType libs explicitly
+ and include them when linking, otherwise things won't work. Also,
define FREETYPE_CFLAGS from freetype-config --cflags.
-
+
* modules/basic/basic-xft.c pango/pangoxft-font{,map}.c: Fool
Xft into not converting glyph indices by loading the
face unencoded then calling FT_Set_Charmap ourselves.
-
- * pango/Makefile.am pango/pango-ot.h pango/opentype/*
- :Add start
- of opentype handling - most of the actually meat of the
- code here
- is the OpenType layout code from FreeType 1 ported to
- freetype2
+
+ * pango/Makefile.am pango/pango-ot.h pango/opentype/* :Add start
+ of opentype handling - most of the actually meat of the code here
+ is the OpenType layout code from FreeType 1 ported to freetype2
and adapted slighlty for our purposes. Also, includes a
incomplete OpenType-table-dumping code useful for figuring
out what is going on.
-
+
* pango/pangoxft.h pango/pangoxft-font.h: Add calls for
getting FT_Face and PangoOTInfo from PangoXftFont.
-
+
* modules/arabic/{Makefile.am,arabic-ot.[ch],arabic-xft.c}:
Initial support for rendering Arabic with OpenType fonts.
@@ -104110,8 +101380,7 @@ Date: Wed Dec 20 04:41:36 2000 +0000
src/disasm.h | 26 +
src/ftxgdef.c | 1155 +++++++++
src/ftxgdef.h | 220 ++
- src/ftxgpos.c | 6222
- ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/ftxgpos.c | 6222 ++++++++++++++++++++++++++++++++++++++++++++++++
src/ftxgpos.h | 858 +++++++
src/ftxgsub.c | 4531 +++++++++++++++++++++++++++++++++++
src/ftxgsub.h | 612 +++++
diff --git a/Makefile.am b/Makefile.am
index eb46cea..f9f6e36 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -36,7 +36,7 @@ ChangeLog: $(srcdir)/ChangeLog
$(srcdir)/ChangeLog:
$(AM_V_GEN) if test -d "$(top_srcdir)/.git"; then \
(GIT_DIR=$(top_srcdir)/.git \
- $(GIT) log $(CHANGELOG_RANGE) --stat) | fmt --split-only > $@.tmp \
+ $(GIT) log $(CHANGELOG_RANGE) --stat) > $@.tmp \
&& mv -f $@.tmp "$(srcdir)/ChangeLog" \
|| ($(RM) $@.tmp; \
echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
diff --git a/Makefile.in b/Makefile.in
index 6faf227..9f62cb8 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -141,7 +141,7 @@ am__recursive_targets = \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- cscope distdir dist dist-all distcheck
+ cscope distdir distdir-am dist dist-all distcheck
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
$(LISP)config.h.in
# Read a list of newline-separated strings from the standard input,
@@ -166,8 +166,7 @@ CSCOPE = cscope
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in AUTHORS \
COPYING ChangeLog INSTALL NEWS README THANKS TODO ar-lib \
- compile config.guess config.sub depcomp install-sh ltmain.sh \
- missing
+ compile config.guess config.sub install-sh ltmain.sh missing
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
@@ -388,7 +387,6 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -470,8 +468,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -613,7 +611,10 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@case `sed 15q $(srcdir)/NEWS` in \
*"$(VERSION)"*) : ;; \
*) \
@@ -940,7 +941,7 @@ ChangeLog: $(srcdir)/ChangeLog
$(srcdir)/ChangeLog:
$(AM_V_GEN) if test -d "$(top_srcdir)/.git"; then \
(GIT_DIR=$(top_srcdir)/.git \
- $(GIT) log $(CHANGELOG_RANGE) --stat) | fmt --split-only > $@.tmp \
+ $(GIT) log $(CHANGELOG_RANGE) --stat) > $@.tmp \
&& mv -f $@.tmp "$(srcdir)/ChangeLog" \
|| ($(RM) $@.tmp; \
echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
diff --git a/NEWS b/NEWS
index ef87dad..f3e424f 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,14 @@
+Overview of changes leading to 2.4.0
+Monday, March 25, 2019
+====================================
+- Unicode 12.
+- Misc fixes.
+- Subsetter improvements.
+- New API:
+HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE
+hb_directwrite_face_create()
+
+
Overview of changes leading to 2.3.1
Wednesday, January 30, 2019
====================================
diff --git a/aclocal.m4 b/aclocal.m4
index ecde363..8fef336 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -117,9 +117,9 @@ AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE],
_GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require])
])
-dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
-dnl serial 11 (pkg-config-0.29)
-dnl
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+# serial 11 (pkg-config-0.29.1)
+
dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
dnl
@@ -160,7 +160,7 @@ dnl
dnl See the "Since" comment for each macro you use to see what version
dnl of the macros you require.
m4_defun([PKG_PREREQ],
-[m4_define([PKG_MACROS_VERSION], [0.29])
+[m4_define([PKG_MACROS_VERSION], [0.29.1])
m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
[m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
])dnl PKG_PREREQ
@@ -393,7 +393,75 @@ AS_VAR_COPY([$1], [pkg_cv_][$1])
AS_VAR_IF([$1], [""], [$5], [$4])dnl
])dnl PKG_CHECK_VAR
-# Copyright (C) 2002-2017 Free Software Foundation, Inc.
+dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES,
+dnl [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND],
+dnl [DESCRIPTION], [DEFAULT])
+dnl ------------------------------------------
+dnl
+dnl Prepare a "--with-" configure option using the lowercase
+dnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and
+dnl PKG_CHECK_MODULES in a single macro.
+AC_DEFUN([PKG_WITH_MODULES],
+[
+m4_pushdef([with_arg], m4_tolower([$1]))
+
+m4_pushdef([description],
+ [m4_default([$5], [build with ]with_arg[ support])])
+
+m4_pushdef([def_arg], [m4_default([$6], [auto])])
+m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes])
+m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no])
+
+m4_case(def_arg,
+ [yes],[m4_pushdef([with_without], [--without-]with_arg)],
+ [m4_pushdef([with_without],[--with-]with_arg)])
+
+AC_ARG_WITH(with_arg,
+ AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),,
+ [AS_TR_SH([with_]with_arg)=def_arg])
+
+AS_CASE([$AS_TR_SH([with_]with_arg)],
+ [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)],
+ [auto],[PKG_CHECK_MODULES([$1],[$2],
+ [m4_n([def_action_if_found]) $3],
+ [m4_n([def_action_if_not_found]) $4])])
+
+m4_popdef([with_arg])
+m4_popdef([description])
+m4_popdef([def_arg])
+
+])dnl PKG_WITH_MODULES
+
+dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
+dnl [DESCRIPTION], [DEFAULT])
+dnl -----------------------------------------------
+dnl
+dnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES
+dnl check._[VARIABLE-PREFIX] is exported as make variable.
+AC_DEFUN([PKG_HAVE_WITH_MODULES],
+[
+PKG_WITH_MODULES([$1],[$2],,,[$3],[$4])
+
+AM_CONDITIONAL([HAVE_][$1],
+ [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"])
+])dnl PKG_HAVE_WITH_MODULES
+
+dnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
+dnl [DESCRIPTION], [DEFAULT])
+dnl ------------------------------------------------------
+dnl
+dnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after
+dnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make
+dnl and preprocessor variable.
+AC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES],
+[
+PKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4])
+
+AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"],
+ [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])])
+])dnl PKG_HAVE_DEFINE_WITH_MODULES
+
+# Copyright (C) 2002-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -405,10 +473,10 @@ AS_VAR_IF([$1], [""], [$5], [$4])dnl
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.15'
+[am__api_version='1.16'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.15.1], [],
+m4_if([$1], [1.16.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -424,12 +492,12 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.15.1])dnl
+[AM_AUTOMAKE_VERSION([1.16.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-# Copyright (C) 2011-2017 Free Software Foundation, Inc.
+# Copyright (C) 2011-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -491,7 +559,7 @@ AC_SUBST([AR])dnl
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -543,7 +611,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997-2017 Free Software Foundation, Inc.
+# Copyright (C) 1997-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -574,7 +642,7 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+# Copyright (C) 1999-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -765,13 +833,12 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+# Copyright (C) 1999-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
@@ -779,49 +846,41 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
# Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
+ # TODO: see whether this extra hack can be removed once we start
+ # requiring Autoconf 2.70 or later.
+ AS_CASE([$CONFIG_FILES],
+ [*\'*], [eval set x "$CONFIG_FILES"],
+ [*], [set x $CONFIG_FILES])
shift
- for mf
+ # Used to flag and report bootstrapping failures.
+ am_rc=0
+ for am_mf
do
# Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named 'Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
+ am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile which includes
+ # dependency-tracking related rules and includes.
+ # Grep'ing the whole file directly is not great: AIX grep has a line
# limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running 'make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "$am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
+ sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
+ || continue
+ am_dirpart=`AS_DIRNAME(["$am_mf"])`
+ am_filepart=`AS_BASENAME(["$am_mf"])`
+ AM_RUN_LOG([cd "$am_dirpart" \
+ && sed -e '/# am--include-marker/d' "$am_filepart" \
+ | $MAKE -f - am--depfiles]) || am_rc=$?
done
+ if test $am_rc -ne 0; then
+ AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
+ for automatic dependency tracking. Try re-running configure with the
+ '--disable-dependency-tracking' option to at least be able to build
+ the package (albeit without support for automatic dependency tracking).])
+ fi
+ AS_UNSET([am_dirpart])
+ AS_UNSET([am_filepart])
+ AS_UNSET([am_mf])
+ AS_UNSET([am_rc])
+ rm -f conftest-deps.mk
}
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
@@ -830,18 +889,17 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
# -----------------------------
# This macro should only be invoked once -- use via AC_REQUIRE.
#
-# This code is only required when automatic dependency tracking
-# is enabled. FIXME. This creates each '.P' file that we will
-# need in order to bootstrap the dependency handling code.
+# This code is only required when automatic dependency tracking is enabled.
+# This creates each '.Po' and '.Plo' makefile fragment that we'll need in
+# order to bootstrap the dependency handling code.
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AC_CONFIG_COMMANDS([depfiles],
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
+ [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -928,8 +986,8 @@ AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
# For better backward compatibility. To be removed once Automake 1.9.x
# dies out for good. For more background, see:
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
# We need awk for the "check" target (and possibly the TAP driver). The
# system "awk" is bad on some platforms.
@@ -996,7 +1054,7 @@ END
Aborting the configuration process, to ensure you take notice of the issue.
You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: <http://www.gnu.org/software/coreutils/>.
+that behaves properly: <https://www.gnu.org/software/coreutils/>.
If you want to complete the configuration process using your problematic
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
@@ -1038,7 +1096,7 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1059,7 +1117,7 @@ if test x"${install_sh+set}" != xset; then
fi
AC_SUBST([install_sh])])
-# Copyright (C) 2003-2017 Free Software Foundation, Inc.
+# Copyright (C) 2003-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1080,7 +1138,7 @@ AC_SUBST([am__leading_dot])])
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1088,49 +1146,42 @@ AC_SUBST([am__leading_dot])])
# AM_MAKE_INCLUDE()
# -----------------
-# Check to see how make treats includes.
+# Check whether make has an 'include' directive that can support all
+# the idioms we need for our automatic dependency tracking code.
AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
+[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
+cat > confinc.mk << 'END'
am__doit:
- @echo this is the am__doit target
+ @echo this is the am__doit target >confinc.out
.PHONY: am__doit
END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
am__include="#"
am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from 'make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
+# BSD make does it like this.
+echo '.include "confinc.mk" # ignored' > confmf.BSD
+# Other make implementations (GNU, Solaris 10, AIX) do it like this.
+echo 'include confinc.mk # ignored' > confmf.GNU
+_am_result=no
+for s in GNU BSD; do
+ AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
+ AS_CASE([$?:`cat confinc.out 2>/dev/null`],
+ ['0:this is the am__doit target'],
+ [AS_CASE([$s],
+ [BSD], [am__include='.include' am__quote='"'],
+ [am__include='include' am__quote=''])])
+ if test "$am__include" != "#"; then
+ _am_result="yes ($s style)"
+ break
+ fi
+done
+rm -f confinc.* confmf.*
+AC_MSG_RESULT([${_am_result}])
+AC_SUBST([am__include])])
+AC_SUBST([am__quote])])
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997-2017 Free Software Foundation, Inc.
+# Copyright (C) 1997-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1169,7 +1220,7 @@ fi
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1198,7 +1249,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+# Copyright (C) 1999-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1245,7 +1296,7 @@ AC_LANG_POP([C])])
# For backward compatibility.
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1264,7 +1315,7 @@ AC_DEFUN([AM_RUN_LOG],
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1345,7 +1396,7 @@ AC_CONFIG_COMMANDS_PRE(
rm -f conftest.file
])
-# Copyright (C) 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 2009-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1405,7 +1456,7 @@ AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1433,7 +1484,7 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006-2017 Free Software Foundation, Inc.
+# Copyright (C) 2006-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1452,7 +1503,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004-2017 Free Software Foundation, Inc.
+# Copyright (C) 2004-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff --git a/ar-lib b/ar-lib
index 05094d3..0baa4f6 100755
--- a/ar-lib
+++ b/ar-lib
@@ -4,7 +4,7 @@
me=ar-lib
scriptversion=2012-03-01.08; # UTC
-# Copyright (C) 2010-2017 Free Software Foundation, Inc.
+# Copyright (C) 2010-2018 Free Software Foundation, Inc.
# Written by Peter Rosin <peda@lysator.liu.se>.
#
# This program is free software; you can redistribute it and/or modify
@@ -18,7 +18,7 @@ scriptversion=2012-03-01.08; # UTC
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
diff --git a/compile b/compile
index a85b723..99e5052 100755
--- a/compile
+++ b/compile
@@ -1,9 +1,9 @@
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
-scriptversion=2012-10-14.11; # UTC
+scriptversion=2018-03-07.03; # UTC
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2018 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
@@ -17,7 +17,7 @@ scriptversion=2012-10-14.11; # UTC
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -255,7 +255,8 @@ EOF
echo "compile $scriptversion"
exit $?
;;
- cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
@@ -339,9 +340,9 @@ exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff --git a/config.guess b/config.guess
index 31e01ef..256083a 100755
--- a/config.guess
+++ b/config.guess
@@ -1,8 +1,8 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2017 Free Software Foundation, Inc.
+# Copyright 1992-2018 Free Software Foundation, Inc.
-timestamp='2017-11-07'
+timestamp='2018-03-08'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -50,7 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2017 Free Software Foundation, Inc.
+Copyright 1992-2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -107,9 +107,9 @@ trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
dummy=$tmp/dummy ;
tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,) echo "int x;" > $dummy.c ;
+ ,,) echo "int x;" > "$dummy.c" ;
for c in cc gcc c89 c99 ; do
- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
CC_FOR_BUILD="$c"; break ;
fi ;
done ;
@@ -132,14 +132,14 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-case "${UNAME_SYSTEM}" in
+case "$UNAME_SYSTEM" in
Linux|GNU|GNU/*)
# If the system lacks a compiler, then just pick glibc.
# We could probably try harder.
LIBC=gnu
- eval $set_cc_for_build
- cat <<-EOF > $dummy.c
+ eval "$set_cc_for_build"
+ cat <<-EOF > "$dummy.c"
#include <features.h>
#if defined(__UCLIBC__)
LIBC=uclibc
@@ -149,13 +149,20 @@ Linux|GNU|GNU/*)
LIBC=gnu
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+ eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
+
+ # If ldd exists, use it to detect musl libc.
+ if command -v ldd >/dev/null && \
+ ldd --version 2>&1 | grep -q ^musl
+ then
+ LIBC=musl
+ fi
;;
esac
# Note: order is significant - the case branches are not exclusive.
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
*:NetBSD:*:*)
# NetBSD (nbsd) targets should (where applicable) match one or
# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
@@ -169,30 +176,30 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# portion of the name. We always set it to "unknown".
sysctl="sysctl -n hw.machine_arch"
UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
- /sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || \
+ "/sbin/$sysctl" 2>/dev/null || \
+ "/usr/sbin/$sysctl" 2>/dev/null || \
echo unknown)`
- case "${UNAME_MACHINE_ARCH}" in
+ case "$UNAME_MACHINE_ARCH" in
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
sh5el) machine=sh5le-unknown ;;
earmv*)
- arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
- endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
- machine=${arch}${endian}-unknown
+ arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+ endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
+ machine="${arch}${endian}"-unknown
;;
- *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
esac
# The Operating System including object format, if it has switched
# to ELF recently (or will in the future) and ABI.
- case "${UNAME_MACHINE_ARCH}" in
+ case "$UNAME_MACHINE_ARCH" in
earm*)
os=netbsdelf
;;
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval $set_cc_for_build
+ eval "$set_cc_for_build"
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ELF__
then
@@ -208,10 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
;;
esac
# Determine ABI tags.
- case "${UNAME_MACHINE_ARCH}" in
+ case "$UNAME_MACHINE_ARCH" in
earm*)
expr='s/^earmv[0-9]/-eabi/;s/eb$//'
- abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+ abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
;;
esac
# The OS release
@@ -219,52 +226,55 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# thus, need a distinct triplet. However, they do not need
# kernel version information, so it can be replaced with a
# suitable tag, in the style of linux-gnu.
- case "${UNAME_VERSION}" in
+ case "$UNAME_VERSION" in
Debian*)
release='-gnu'
;;
*)
- release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
+ release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}${abi}"
+ echo "$machine-${os}${release}${abi}"
exit ;;
*:Bitrig:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+ echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
exit ;;
*:OpenBSD:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
exit ;;
*:LibertyBSD:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
+ echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
exit ;;
*:MidnightBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-midnightbsd${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
exit ;;
*:ekkoBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
exit ;;
*:SolidBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
exit ;;
macppc:MirBSD:*:*)
- echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
exit ;;
*:MirBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
exit ;;
*:Sortix:*:*)
- echo ${UNAME_MACHINE}-unknown-sortix
+ echo "$UNAME_MACHINE"-unknown-sortix
exit ;;
*:Redox:*:*)
- echo ${UNAME_MACHINE}-unknown-redox
+ echo "$UNAME_MACHINE"-unknown-redox
exit ;;
+ mips:OSF1:*.*)
+ echo mips-dec-osf1
+ exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
@@ -316,7 +326,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+ echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
exitcode=$?
trap '' 0
@@ -325,10 +335,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
echo m68k-unknown-sysv4
exit ;;
*:[Aa]miga[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-amigaos
+ echo "$UNAME_MACHINE"-unknown-amigaos
exit ;;
*:[Mm]orph[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-morphos
+ echo "$UNAME_MACHINE"-unknown-morphos
exit ;;
*:OS/390:*:*)
echo i370-ibm-openedition
@@ -340,7 +350,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
echo powerpc-ibm-os400
exit ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
+ echo arm-acorn-riscix"$UNAME_RELEASE"
exit ;;
arm*:riscos:*:*|arm*:RISCOS:*:*)
echo arm-unknown-riscos
@@ -367,19 +377,19 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
sparc) echo sparc-icl-nx7; exit ;;
esac ;;
s390x:SunOS:*:*)
- echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
exit ;;
sun4H:SunOS:5.*:*)
- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
exit ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
exit ;;
i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
- echo i386-pc-auroraux${UNAME_RELEASE}
+ echo i386-pc-auroraux"$UNAME_RELEASE"
exit ;;
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
- eval $set_cc_for_build
+ eval "$set_cc_for_build"
SUN_ARCH=i386
# If there is a compiler, see if it is configured for 64-bit objects.
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
@@ -392,13 +402,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
SUN_ARCH=x86_64
fi
fi
- echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
exit ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
exit ;;
sun4*:SunOS:*:*)
case "`/usr/bin/arch -k`" in
@@ -407,25 +417,25 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
;;
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+ echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
exit ;;
sun3*:SunOS:*:*)
- echo m68k-sun-sunos${UNAME_RELEASE}
+ echo m68k-sun-sunos"$UNAME_RELEASE"
exit ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
+ test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
case "`/bin/arch`" in
sun3)
- echo m68k-sun-sunos${UNAME_RELEASE}
+ echo m68k-sun-sunos"$UNAME_RELEASE"
;;
sun4)
- echo sparc-sun-sunos${UNAME_RELEASE}
+ echo sparc-sun-sunos"$UNAME_RELEASE"
;;
esac
exit ;;
aushp:SunOS:*:*)
- echo sparc-auspex-sunos${UNAME_RELEASE}
+ echo sparc-auspex-sunos"$UNAME_RELEASE"
exit ;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
@@ -436,44 +446,44 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# MiNT. But MiNT is downward compatible to TOS, so this should
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
+ echo m68k-atari-mint"$UNAME_RELEASE"
exit ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
+ echo m68k-atari-mint"$UNAME_RELEASE"
exit ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
+ echo m68k-atari-mint"$UNAME_RELEASE"
exit ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
+ echo m68k-milan-mint"$UNAME_RELEASE"
exit ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
+ echo m68k-hades-mint"$UNAME_RELEASE"
exit ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
+ echo m68k-unknown-mint"$UNAME_RELEASE"
exit ;;
m68k:machten:*:*)
- echo m68k-apple-machten${UNAME_RELEASE}
+ echo m68k-apple-machten"$UNAME_RELEASE"
exit ;;
powerpc:machten:*:*)
- echo powerpc-apple-machten${UNAME_RELEASE}
+ echo powerpc-apple-machten"$UNAME_RELEASE"
exit ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
exit ;;
RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix${UNAME_RELEASE}
+ echo mips-dec-ultrix"$UNAME_RELEASE"
exit ;;
VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix${UNAME_RELEASE}
+ echo vax-dec-ultrix"$UNAME_RELEASE"
exit ;;
2020:CLIX:*:* | 2430:CLIX:*:*)
- echo clipper-intergraph-clix${UNAME_RELEASE}
+ echo clipper-intergraph-clix"$UNAME_RELEASE"
exit ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
#ifdef __cplusplus
#include <stdio.h> /* for printf() prototype */
int main (int argc, char *argv[]) {
@@ -494,11 +504,11 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
exit (-1);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c &&
- dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
- SYSTEM_NAME=`$dummy $dummyarg` &&
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
+ dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
{ echo "$SYSTEM_NAME"; exit; }
- echo mips-mips-riscos${UNAME_RELEASE}
+ echo mips-mips-riscos"$UNAME_RELEASE"
exit ;;
Motorola:PowerMAX_OS:*:*)
echo powerpc-motorola-powermax
@@ -524,17 +534,17 @@ EOF
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
- [ ${TARGET_BINARY_INTERFACE}x = x ]
+ if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
+ [ "$TARGET_BINARY_INTERFACE"x = x ]
then
- echo m88k-dg-dgux${UNAME_RELEASE}
+ echo m88k-dg-dgux"$UNAME_RELEASE"
else
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ echo m88k-dg-dguxbcs"$UNAME_RELEASE"
fi
else
- echo i586-dg-dgux${UNAME_RELEASE}
+ echo i586-dg-dgux"$UNAME_RELEASE"
fi
exit ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
@@ -551,7 +561,7 @@ EOF
echo m68k-tektronix-bsd
exit ;;
*:IRIX*:*:*)
- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+ echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
exit ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
@@ -563,14 +573,14 @@ EOF
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
fi
- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+ echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
exit ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
#include <sys/systemcfg.h>
main()
@@ -581,7 +591,7 @@ EOF
exit(0);
}
EOF
- if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
then
echo "$SYSTEM_NAME"
else
@@ -595,7 +605,7 @@ EOF
exit ;;
*:AIX:*:[4567])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
else
IBM_ARCH=powerpc
@@ -604,9 +614,9 @@ EOF
IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
fi
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
exit ;;
*:AIX:*:*)
echo rs6000-ibm-aix
@@ -615,7 +625,7 @@ EOF
echo romp-ibm-bsd4.4
exit ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to
exit ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
echo rs6000-bull-bosx
@@ -630,28 +640,28 @@ EOF
echo m68k-hp-bsd4.4
exit ;;
9000/[34678]??:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- case "${UNAME_MACHINE}" in
+ HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+ case "$UNAME_MACHINE" in
9000/31?) HP_ARCH=m68000 ;;
9000/[34]??) HP_ARCH=m68k ;;
9000/[678][0-9][0-9])
if [ -x /usr/bin/getconf ]; then
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
+ case "$sc_cpu_version" in
523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
+ case "$sc_kernel_bits" in
32) HP_ARCH=hppa2.0n ;;
64) HP_ARCH=hppa2.0w ;;
'') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
esac ;;
esac
fi
- if [ "${HP_ARCH}" = "" ]; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ if [ "$HP_ARCH" = "" ]; then
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
#define _HPUX_SOURCE
#include <stdlib.h>
@@ -684,13 +694,13 @@ EOF
exit (0);
}
EOF
- (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
test -z "$HP_ARCH" && HP_ARCH=hppa
fi ;;
esac
- if [ ${HP_ARCH} = hppa2.0w ]
+ if [ "$HP_ARCH" = hppa2.0w ]
then
- eval $set_cc_for_build
+ eval "$set_cc_for_build"
# hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
# 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
@@ -709,15 +719,15 @@ EOF
HP_ARCH=hppa64
fi
fi
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
exit ;;
ia64:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ia64-hp-hpux${HPUX_REV}
+ HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux"$HPUX_REV"
exit ;;
3050*:HI-UX:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
#include <unistd.h>
int
main ()
@@ -742,7 +752,7 @@ EOF
exit (0);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
{ echo "$SYSTEM_NAME"; exit; }
echo unknown-hitachi-hiuxwe2
exit ;;
@@ -763,9 +773,9 @@ EOF
exit ;;
i*86:OSF1:*:*)
if [ -x /usr/sbin/sysversion ] ; then
- echo ${UNAME_MACHINE}-unknown-osf1mk
+ echo "$UNAME_MACHINE"-unknown-osf1mk
else
- echo ${UNAME_MACHINE}-unknown-osf1
+ echo "$UNAME_MACHINE"-unknown-osf1
fi
exit ;;
parisc*:Lites*:*:*)
@@ -790,109 +800,109 @@ EOF
echo c4-convex-bsd
exit ;;
CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
exit ;;
CRAY*[A-Z]90:*:*:*)
- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-e 's/\.[^.]*$/.X/'
exit ;;
CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
exit ;;
CRAY*T3E:*:*:*)
- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
exit ;;
CRAY*SV1:*:*:*)
- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
exit ;;
*:UNICOS/mp:*:*)
- echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
5000:UNIX_System_V:4.*:*)
FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
+ FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
exit ;;
sparc*:BSD/OS:*:*)
- echo sparc-unknown-bsdi${UNAME_RELEASE}
+ echo sparc-unknown-bsdi"$UNAME_RELEASE"
exit ;;
*:BSD/OS:*:*)
- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
exit ;;
*:FreeBSD:*:*)
UNAME_PROCESSOR=`/usr/bin/uname -p`
- case ${UNAME_PROCESSOR} in
+ case "$UNAME_PROCESSOR" in
amd64)
UNAME_PROCESSOR=x86_64 ;;
i386)
UNAME_PROCESSOR=i586 ;;
esac
- echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
exit ;;
i*:CYGWIN*:*)
- echo ${UNAME_MACHINE}-pc-cygwin
+ echo "$UNAME_MACHINE"-pc-cygwin
exit ;;
*:MINGW64*:*)
- echo ${UNAME_MACHINE}-pc-mingw64
+ echo "$UNAME_MACHINE"-pc-mingw64
exit ;;
*:MINGW*:*)
- echo ${UNAME_MACHINE}-pc-mingw32
+ echo "$UNAME_MACHINE"-pc-mingw32
exit ;;
*:MSYS*:*)
- echo ${UNAME_MACHINE}-pc-msys
+ echo "$UNAME_MACHINE"-pc-msys
exit ;;
i*:PW*:*)
- echo ${UNAME_MACHINE}-pc-pw32
+ echo "$UNAME_MACHINE"-pc-pw32
exit ;;
*:Interix*:*)
- case ${UNAME_MACHINE} in
+ case "$UNAME_MACHINE" in
x86)
- echo i586-pc-interix${UNAME_RELEASE}
+ echo i586-pc-interix"$UNAME_RELEASE"
exit ;;
authenticamd | genuineintel | EM64T)
- echo x86_64-unknown-interix${UNAME_RELEASE}
+ echo x86_64-unknown-interix"$UNAME_RELEASE"
exit ;;
IA64)
- echo ia64-unknown-interix${UNAME_RELEASE}
+ echo ia64-unknown-interix"$UNAME_RELEASE"
exit ;;
esac ;;
i*:UWIN*:*)
- echo ${UNAME_MACHINE}-pc-uwin
+ echo "$UNAME_MACHINE"-pc-uwin
exit ;;
amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
echo x86_64-unknown-cygwin
exit ;;
prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
exit ;;
*:GNU:*:*)
# the GNU system
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
exit ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+ echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
exit ;;
i*86:Minix:*:*)
- echo ${UNAME_MACHINE}-pc-minix
+ echo "$UNAME_MACHINE"-pc-minix
exit ;;
aarch64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
aarch64_be:Linux:*:*)
UNAME_MACHINE=aarch64_be
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@@ -906,63 +916,63 @@ EOF
esac
objdump --private-headers /bin/sh | grep -q ld.so.1
if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
arc:Linux:*:* | arceb:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
arm*:Linux:*:*)
- eval $set_cc_for_build
+ eval "$set_cc_for_build"
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_EABI__
then
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
else
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_PCS_VFP
then
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
else
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
fi
fi
exit ;;
avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
cris:Linux:*:*)
- echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+ echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
exit ;;
crisv32:Linux:*:*)
- echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+ echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
exit ;;
e2k:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
frv:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
hexagon:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
i*86:Linux:*:*)
- echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+ echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
exit ;;
ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
k1om:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
m32r*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
mips:Linux:*:* | mips64:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
#undef CPU
#undef ${UNAME_MACHINE}
#undef ${UNAME_MACHINE}el
@@ -976,70 +986,70 @@ EOF
#endif
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+ eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`"
+ test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; }
;;
mips64el:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
openrisc*:Linux:*:*)
- echo or1k-unknown-linux-${LIBC}
+ echo or1k-unknown-linux-"$LIBC"
exit ;;
or32:Linux:*:* | or1k*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
padre:Linux:*:*)
- echo sparc-unknown-linux-${LIBC}
+ echo sparc-unknown-linux-"$LIBC"
exit ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-${LIBC}
+ echo hppa64-unknown-linux-"$LIBC"
exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
- PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
- *) echo hppa-unknown-linux-${LIBC} ;;
+ PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
+ PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
+ *) echo hppa-unknown-linux-"$LIBC" ;;
esac
exit ;;
ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-${LIBC}
+ echo powerpc64-unknown-linux-"$LIBC"
exit ;;
ppc:Linux:*:*)
- echo powerpc-unknown-linux-${LIBC}
+ echo powerpc-unknown-linux-"$LIBC"
exit ;;
ppc64le:Linux:*:*)
- echo powerpc64le-unknown-linux-${LIBC}
+ echo powerpc64le-unknown-linux-"$LIBC"
exit ;;
ppcle:Linux:*:*)
- echo powerpcle-unknown-linux-${LIBC}
+ echo powerpcle-unknown-linux-"$LIBC"
exit ;;
riscv32:Linux:*:* | riscv64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
+ echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
exit ;;
sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
tile*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-${LIBC}
+ echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
exit ;;
x86_64:Linux:*:*)
- echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+ echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
exit ;;
xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1053,34 +1063,34 @@ EOF
# I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
exit ;;
i*86:OS/2:*:*)
# If we were able to find `uname', then EMX Unix compatibility
# is probably installed.
- echo ${UNAME_MACHINE}-pc-os2-emx
+ echo "$UNAME_MACHINE"-pc-os2-emx
exit ;;
i*86:XTS-300:*:STOP)
- echo ${UNAME_MACHINE}-unknown-stop
+ echo "$UNAME_MACHINE"-unknown-stop
exit ;;
i*86:atheos:*:*)
- echo ${UNAME_MACHINE}-unknown-atheos
+ echo "$UNAME_MACHINE"-unknown-atheos
exit ;;
i*86:syllable:*:*)
- echo ${UNAME_MACHINE}-pc-syllable
+ echo "$UNAME_MACHINE"-pc-syllable
exit ;;
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
- echo i386-unknown-lynxos${UNAME_RELEASE}
+ echo i386-unknown-lynxos"$UNAME_RELEASE"
exit ;;
i*86:*DOS:*:*)
- echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ echo "$UNAME_MACHINE"-pc-msdosdjgpp
exit ;;
i*86:*:4.*:*)
- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
fi
exit ;;
i*86:*:5:[678]*)
@@ -1090,12 +1100,12 @@ EOF
*Pentium) UNAME_MACHINE=i586 ;;
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
esac
- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}"
exit ;;
i*86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
- echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+ echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
elif /bin/uname -X 2>/dev/null >/dev/null ; then
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
@@ -1105,9 +1115,9 @@ EOF
&& UNAME_MACHINE=i686
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
&& UNAME_MACHINE=i686
- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
else
- echo ${UNAME_MACHINE}-pc-sysv32
+ echo "$UNAME_MACHINE"-pc-sysv32
fi
exit ;;
pc:*:*:*)
@@ -1127,9 +1137,9 @@ EOF
exit ;;
i860:*:4.*:*) # i860-SVR4
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4
fi
exit ;;
mini*:CTIX:SYS*5:*)
@@ -1149,9 +1159,9 @@ EOF
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& { echo i486-ncr-sysv4; exit; } ;;
@@ -1160,28 +1170,28 @@ EOF
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
- echo m68k-unknown-lynxos${UNAME_RELEASE}
+ echo m68k-unknown-lynxos"$UNAME_RELEASE"
exit ;;
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
exit ;;
TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos${UNAME_RELEASE}
+ echo sparc-unknown-lynxos"$UNAME_RELEASE"
exit ;;
rs6000:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos${UNAME_RELEASE}
+ echo rs6000-unknown-lynxos"$UNAME_RELEASE"
exit ;;
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
- echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ echo powerpc-unknown-lynxos"$UNAME_RELEASE"
exit ;;
SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv${UNAME_RELEASE}
+ echo mips-dde-sysv"$UNAME_RELEASE"
exit ;;
RM*:ReliantUNIX-*:*:*)
echo mips-sni-sysv4
@@ -1192,7 +1202,7 @@ EOF
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
- echo ${UNAME_MACHINE}-sni-sysv4
+ echo "$UNAME_MACHINE"-sni-sysv4
else
echo ns32k-sni-sysv
fi
@@ -1212,23 +1222,23 @@ EOF
exit ;;
i*86:VOS:*:*)
# From Paul.Green@stratus.com.
- echo ${UNAME_MACHINE}-stratus-vos
+ echo "$UNAME_MACHINE"-stratus-vos
exit ;;
*:VOS:*:*)
# From Paul.Green@stratus.com.
echo hppa1.1-stratus-vos
exit ;;
mc68*:A/UX:*:*)
- echo m68k-apple-aux${UNAME_RELEASE}
+ echo m68k-apple-aux"$UNAME_RELEASE"
exit ;;
news*:NEWS-OS:6*:*)
echo mips-sony-newsos6
exit ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
+ echo mips-nec-sysv"$UNAME_RELEASE"
else
- echo mips-unknown-sysv${UNAME_RELEASE}
+ echo mips-unknown-sysv"$UNAME_RELEASE"
fi
exit ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
@@ -1247,39 +1257,39 @@ EOF
echo x86_64-unknown-haiku
exit ;;
SX-4:SUPER-UX:*:*)
- echo sx4-nec-superux${UNAME_RELEASE}
+ echo sx4-nec-superux"$UNAME_RELEASE"
exit ;;
SX-5:SUPER-UX:*:*)
- echo sx5-nec-superux${UNAME_RELEASE}
+ echo sx5-nec-superux"$UNAME_RELEASE"
exit ;;
SX-6:SUPER-UX:*:*)
- echo sx6-nec-superux${UNAME_RELEASE}
+ echo sx6-nec-superux"$UNAME_RELEASE"
exit ;;
SX-7:SUPER-UX:*:*)
- echo sx7-nec-superux${UNAME_RELEASE}
+ echo sx7-nec-superux"$UNAME_RELEASE"
exit ;;
SX-8:SUPER-UX:*:*)
- echo sx8-nec-superux${UNAME_RELEASE}
+ echo sx8-nec-superux"$UNAME_RELEASE"
exit ;;
SX-8R:SUPER-UX:*:*)
- echo sx8r-nec-superux${UNAME_RELEASE}
+ echo sx8r-nec-superux"$UNAME_RELEASE"
exit ;;
SX-ACE:SUPER-UX:*:*)
- echo sxace-nec-superux${UNAME_RELEASE}
+ echo sxace-nec-superux"$UNAME_RELEASE"
exit ;;
Power*:Rhapsody:*:*)
- echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ echo powerpc-apple-rhapsody"$UNAME_RELEASE"
exit ;;
*:Rhapsody:*:*)
- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
exit ;;
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- eval $set_cc_for_build
+ eval "$set_cc_for_build"
if test "$UNAME_PROCESSOR" = unknown ; then
UNAME_PROCESSOR=powerpc
fi
- if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+ if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then
if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
@@ -1307,7 +1317,7 @@ EOF
# that Apple uses in portable devices.
UNAME_PROCESSOR=x86_64
fi
- echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
@@ -1315,22 +1325,25 @@ EOF
UNAME_PROCESSOR=i386
UNAME_MACHINE=pc
fi
- echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
exit ;;
*:QNX:*:4*)
echo i386-pc-qnx
exit ;;
NEO-*:NONSTOP_KERNEL:*:*)
- echo neo-tandem-nsk${UNAME_RELEASE}
+ echo neo-tandem-nsk"$UNAME_RELEASE"
exit ;;
NSE-*:NONSTOP_KERNEL:*:*)
- echo nse-tandem-nsk${UNAME_RELEASE}
+ echo nse-tandem-nsk"$UNAME_RELEASE"
exit ;;
NSR-*:NONSTOP_KERNEL:*:*)
- echo nsr-tandem-nsk${UNAME_RELEASE}
+ echo nsr-tandem-nsk"$UNAME_RELEASE"
+ exit ;;
+ NSV-*:NONSTOP_KERNEL:*:*)
+ echo nsv-tandem-nsk"$UNAME_RELEASE"
exit ;;
NSX-*:NONSTOP_KERNEL:*:*)
- echo nsx-tandem-nsk${UNAME_RELEASE}
+ echo nsx-tandem-nsk"$UNAME_RELEASE"
exit ;;
*:NonStop-UX:*:*)
echo mips-compaq-nonstopux
@@ -1339,7 +1352,7 @@ EOF
echo bs2000-siemens-sysv
exit ;;
DS/*:UNIX_System_V:*:*)
- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
exit ;;
*:Plan9:*:*)
# "uname -m" is not consistent, so use $cputype instead. 386
@@ -1350,7 +1363,7 @@ EOF
else
UNAME_MACHINE="$cputype"
fi
- echo ${UNAME_MACHINE}-unknown-plan9
+ echo "$UNAME_MACHINE"-unknown-plan9
exit ;;
*:TOPS-10:*:*)
echo pdp10-unknown-tops10
@@ -1371,14 +1384,14 @@ EOF
echo pdp10-unknown-its
exit ;;
SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
+ echo mips-sei-seiux"$UNAME_RELEASE"
exit ;;
*:DragonFly:*:*)
- echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
exit ;;
*:*VMS:*:*)
UNAME_MACHINE=`(uname -p) 2>/dev/null`
- case "${UNAME_MACHINE}" in
+ case "$UNAME_MACHINE" in
A*) echo alpha-dec-vms ; exit ;;
I*) echo ia64-dec-vms ; exit ;;
V*) echo vax-dec-vms ; exit ;;
@@ -1387,16 +1400,16 @@ EOF
echo i386-pc-xenix
exit ;;
i*86:skyos:*:*)
- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
+ echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
exit ;;
i*86:rdos:*:*)
- echo ${UNAME_MACHINE}-pc-rdos
+ echo "$UNAME_MACHINE"-pc-rdos
exit ;;
i*86:AROS:*:*)
- echo ${UNAME_MACHINE}-pc-aros
+ echo "$UNAME_MACHINE"-pc-aros
exit ;;
x86_64:VMkernel:*:*)
- echo ${UNAME_MACHINE}-unknown-esx
+ echo "$UNAME_MACHINE"-unknown-esx
exit ;;
amd64:Isilon\ OneFS:*:*)
echo x86_64-unknown-onefs
@@ -1405,7 +1418,7 @@ esac
echo "$0: unable to guess system type" >&2
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}" in
+case "$UNAME_MACHINE:$UNAME_SYSTEM" in
mips:Linux | mips64:Linux)
# If we got here on MIPS GNU/Linux, output extra information.
cat >&2 <<EOF
@@ -1447,16 +1460,16 @@ hostinfo = `(hostinfo) 2>/dev/null`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
+UNAME_MACHINE = "$UNAME_MACHINE"
+UNAME_RELEASE = "$UNAME_RELEASE"
+UNAME_SYSTEM = "$UNAME_SYSTEM"
+UNAME_VERSION = "$UNAME_VERSION"
EOF
exit 1
# Local variables:
-# eval: (add-hook 'write-file-functions 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
diff --git a/config.sub b/config.sub
index 00f68b8..9ccf09a 100755
--- a/config.sub
+++ b/config.sub
@@ -1,8 +1,8 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2017 Free Software Foundation, Inc.
+# Copyright 1992-2018 Free Software Foundation, Inc.
-timestamp='2017-11-23'
+timestamp='2018-03-08'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -67,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2017 Free Software Foundation, Inc.
+Copyright 1992-2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -94,7 +94,7 @@ while test $# -gt 0 ; do
*local*)
# First pass through any local machine types.
- echo $1
+ echo "$1"
exit ;;
* )
@@ -112,7 +112,7 @@ esac
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
@@ -120,16 +120,16 @@ case $maybe_os in
kopensolaris*-gnu* | cloudabi*-eabi* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
android-linux)
os=-linux-android
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+ basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
;;
*)
- basic_machine=`echo $1 | sed 's/-[^-]*$//'`
- if [ $basic_machine != $1 ]
- then os=`echo $1 | sed 's/.*-/-/'`
+ basic_machine=`echo "$1" | sed 's/-[^-]*$//'`
+ if [ "$basic_machine" != "$1" ]
+ then os=`echo "$1" | sed 's/.*-/-/'`
else os=; fi
;;
esac
@@ -178,44 +178,44 @@ case $os in
;;
-sco6)
os=-sco5v6
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-sco5)
os=-sco3.2v5
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-sco4)
os=-sco3.2v4
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2.[4-9]*)
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2v[4-9]*)
# Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-sco5v6*)
# Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-sco*)
os=-sco3.2v2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-udk*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-isc)
os=-isc2.2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-clix*)
basic_machine=clipper-intergraph
;;
-isc*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-lynx*178)
os=-lynxos178
@@ -227,7 +227,7 @@ case $os in
os=-lynxos
;;
-ptx*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'`
;;
-psos*)
os=-psos
@@ -296,7 +296,7 @@ case $basic_machine in
| nios | nios2 | nios2eb | nios2el \
| ns16k | ns32k \
| open8 | or1k | or1knd | or32 \
- | pdp10 | pdp11 | pj | pjl \
+ | pdp10 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
| pru \
| pyramid \
@@ -333,7 +333,7 @@ case $basic_machine in
basic_machine=$basic_machine-unknown
os=-none
;;
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65)
;;
ms1)
basic_machine=mt-unknown
@@ -362,7 +362,7 @@ case $basic_machine in
;;
# Object if more than one company name word.
*-*-*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
exit 1
;;
# Recognize the basic CPU types with company name.
@@ -457,7 +457,7 @@ case $basic_machine in
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
- basic_machine=i386-unknown
+ basic_machine=i386-pc
os=-bsd
;;
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
@@ -491,7 +491,7 @@ case $basic_machine in
basic_machine=x86_64-pc
;;
amd64-*)
- basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
amdahl)
basic_machine=580-amdahl
@@ -536,7 +536,7 @@ case $basic_machine in
os=-linux
;;
blackfin-*)
- basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'`
os=-linux
;;
bluegene*)
@@ -544,13 +544,13 @@ case $basic_machine in
os=-cnk
;;
c54x-*)
- basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
c55x-*)
- basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
c6x-*)
- basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
c90)
basic_machine=c90-cray
@@ -648,7 +648,7 @@ case $basic_machine in
os=$os"spe"
;;
e500v[12]-*)
- basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
os=$os"spe"
;;
ebmon29k)
@@ -740,9 +740,6 @@ case $basic_machine in
hp9k8[0-9][0-9] | hp8[0-9][0-9])
basic_machine=hppa1.0-hp
;;
- hppa-next)
- os=-nextstep3
- ;;
hppaosf)
basic_machine=hppa1.1-hp
os=-osf
@@ -755,26 +752,26 @@ case $basic_machine in
basic_machine=i370-ibm
;;
i*86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
os=-sysv32
;;
i*86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
os=-sysv4
;;
i*86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
os=-sysv
;;
i*86sol2)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
os=-solaris2
;;
i386mach)
basic_machine=i386-mach
os=-mach
;;
- i386-vsta | vsta)
+ vsta)
basic_machine=i386-unknown
os=-vsta
;;
@@ -793,19 +790,16 @@ case $basic_machine in
os=-sysv
;;
leon-*|leon[3-9]-*)
- basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+ basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'`
;;
m68knommu)
basic_machine=m68k-unknown
os=-linux
;;
m68knommu-*)
- basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'`
os=-linux
;;
- m88k-omron*)
- basic_machine=m88k-omron
- ;;
magnum | m3230)
basic_machine=mips-mips
os=-sysv
@@ -837,10 +831,10 @@ case $basic_machine in
os=-mint
;;
mips3*-*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`
;;
mips3*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown
;;
monitor)
basic_machine=m68k-rom68k
@@ -859,7 +853,7 @@ case $basic_machine in
os=-msdos
;;
ms1-*)
- basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'`
;;
msys)
basic_machine=i686-pc
@@ -946,6 +940,9 @@ case $basic_machine in
nsr-tandem)
basic_machine=nsr-tandem
;;
+ nsv-tandem)
+ basic_machine=nsv-tandem
+ ;;
nsx-tandem)
basic_machine=nsx-tandem
;;
@@ -981,7 +978,7 @@ case $basic_machine in
os=-linux
;;
parisc-*)
- basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'`
os=-linux
;;
pbd)
@@ -997,7 +994,7 @@ case $basic_machine in
basic_machine=i386-pc
;;
pc98-*)
- basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
@@ -1012,16 +1009,16 @@ case $basic_machine in
basic_machine=i786-pc
;;
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
pentiumpro-* | p6-* | 6x86-* | athlon-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
pentium4-*)
- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
pn)
basic_machine=pn-gould
@@ -1031,23 +1028,23 @@ case $basic_machine in
ppc | ppcbe) basic_machine=powerpc-unknown
;;
ppc-* | ppcbe-*)
- basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
ppcle | powerpclittle)
basic_machine=powerpcle-unknown
;;
ppcle-* | powerpclittle-*)
- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
ppc64) basic_machine=powerpc64-unknown
;;
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
ppc64le | powerpc64little)
basic_machine=powerpc64le-unknown
;;
ppc64le-* | powerpc64little-*)
- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
ps2)
basic_machine=i386-ibm
@@ -1101,17 +1098,10 @@ case $basic_machine in
sequent)
basic_machine=i386-sequent
;;
- sh)
- basic_machine=sh-hitachi
- os=-hms
- ;;
sh5el)
basic_machine=sh5le-unknown
;;
- sh64)
- basic_machine=sh64-unknown
- ;;
- sparclite-wrs | simso-wrs)
+ simso-wrs)
basic_machine=sparclite-wrs
os=-vxworks
;;
@@ -1130,7 +1120,7 @@ case $basic_machine in
os=-sysv4
;;
strongarm-* | thumb-*)
- basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
sun2)
basic_machine=m68000-sun
@@ -1244,9 +1234,6 @@ case $basic_machine in
basic_machine=a29k-wrs
os=-vxworks
;;
- wasm32)
- basic_machine=wasm32-unknown
- ;;
w65*)
basic_machine=w65-wdc
os=-none
@@ -1266,20 +1253,12 @@ case $basic_machine in
basic_machine=xps100-honeywell
;;
xscale-* | xscalee[bl]-*)
- basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+ basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'`
;;
ymp)
basic_machine=ymp-cray
os=-unicos
;;
- z8k-*-coff)
- basic_machine=z8k-unknown
- os=-sim
- ;;
- z80-*-coff)
- basic_machine=z80-unknown
- os=-sim
- ;;
none)
basic_machine=none-none
os=-none
@@ -1308,10 +1287,6 @@ case $basic_machine in
vax)
basic_machine=vax-dec
;;
- pdp10)
- # there are many clones, so DEC is not a safe bet
- basic_machine=pdp10-unknown
- ;;
pdp11)
basic_machine=pdp11-dec
;;
@@ -1321,9 +1296,6 @@ case $basic_machine in
sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
- sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
- basic_machine=sparc-sun
- ;;
cydra)
basic_machine=cydra-cydrome
;;
@@ -1343,7 +1315,7 @@ case $basic_machine in
# Make sure to match an already-canonicalized machine name.
;;
*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
exit 1
;;
esac
@@ -1351,10 +1323,10 @@ esac
# Here we canonicalize certain aliases for manufacturers.
case $basic_machine in
*-digital*)
- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'`
;;
*-commodore*)
- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'`
;;
*)
;;
@@ -1377,15 +1349,16 @@ case $os in
-solaris)
os=-solaris2
;;
- -svr4*)
- os=-sysv4
- ;;
-unixware*)
os=-sysv4.2uw
;;
-gnu/linux*)
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
;;
+ # es1800 is here to avoid being matched by es* (a different OS)
+ -es1800*)
+ os=-ose
+ ;;
# Now accept the basic system types.
# The portable systems comes first.
# Each alternative MUST end in a * to match a version number.
@@ -1398,25 +1371,26 @@ case $os in
| -aos* | -aros* | -cloudabi* | -sortix* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \
| -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* | -hcos* \
| -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
- | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+ | -morphos* | -superux* | -rtmk* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
- | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
+ | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \
+ | -midnightbsd*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1433,12 +1407,12 @@ case $os in
-nto*)
os=`echo $os | sed -e 's|nto|nto-qnx|'`
;;
- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+ -sim | -xray | -os68k* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* \
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;;
-mac*)
- os=`echo $os | sed -e 's|mac|macos|'`
+ os=`echo "$os" | sed -e 's|mac|macos|'`
;;
-linux-dietlibc)
os=-linux-dietlibc
@@ -1447,10 +1421,10 @@ case $os in
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
-sunos5*)
- os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
;;
-sunos6*)
- os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
;;
-opened*)
os=-openedition
@@ -1461,12 +1435,6 @@ case $os in
-wince*)
os=-wince
;;
- -osfrose*)
- os=-osfrose
- ;;
- -osf*)
- os=-osf
- ;;
-utek*)
os=-bsd
;;
@@ -1513,7 +1481,7 @@ case $os in
-oss*)
os=-sysv3
;;
- -svr4)
+ -svr4*)
os=-sysv4
;;
-svr3)
@@ -1528,18 +1496,9 @@ case $os in
-ose*)
os=-ose
;;
- -es1800*)
- os=-ose
- ;;
- -xenix)
- os=-xenix
- ;;
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
os=-mint
;;
- -aros*)
- os=-aros
- ;;
-zvmoe)
os=-zvmoe
;;
@@ -1568,7 +1527,7 @@ case $os in
*)
# Get rid of the `-' at the beginning of $os.
os=`echo $os | sed 's/[^-]*-//'`
- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
exit 1
;;
esac
@@ -1664,9 +1623,6 @@ case $basic_machine in
*-be)
os=-beos
;;
- *-haiku)
- os=-haiku
- ;;
*-ibm)
os=-aix
;;
@@ -1721,9 +1677,6 @@ case $basic_machine in
i370-*)
os=-mvs
;;
- *-next)
- os=-nextstep3
- ;;
*-gould)
os=-sysv
;;
@@ -1833,15 +1786,15 @@ case $basic_machine in
vendor=stratus
;;
esac
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"`
;;
esac
-echo $basic_machine$os
+echo "$basic_machine$os"
exit
# Local variables:
-# eval: (add-hook 'write-file-functions 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
diff --git a/configure b/configure
index 54a04a1..783a66d 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for HarfBuzz 2.3.1.
+# Generated by GNU Autoconf 2.69 for HarfBuzz 2.4.0.
#
# Report bugs to <https://github.com/harfbuzz/harfbuzz/issues/new>.
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='HarfBuzz'
PACKAGE_TARNAME='harfbuzz'
-PACKAGE_VERSION='2.3.1'
-PACKAGE_STRING='HarfBuzz 2.3.1'
+PACKAGE_VERSION='2.4.0'
+PACKAGE_STRING='HarfBuzz 2.4.0'
PACKAGE_BUGREPORT='https://github.com/harfbuzz/harfbuzz/issues/new'
PACKAGE_URL='http://harfbuzz.org/'
@@ -785,7 +785,6 @@ am__nodep
AMDEPBACKSLASH
AMDEP_FALSE
AMDEP_TRUE
-am__quote
am__include
DEPDIR
OBJEXT
@@ -856,7 +855,6 @@ infodir
docdir
oldincludedir
includedir
-runstatedir
localstatedir
sharedstatedir
sysconfdir
@@ -875,7 +873,8 @@ PACKAGE_VERSION
PACKAGE_TARNAME
PACKAGE_NAME
PATH_SEPARATOR
-SHELL'
+SHELL
+am__quote'
ac_subst_files=''
ac_user_opts='
enable_option_checking
@@ -983,7 +982,6 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
-runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1236,15 +1234,6 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
- -runstatedir | --runstatedir | --runstatedi | --runstated \
- | --runstate | --runstat | --runsta | --runst | --runs \
- | --run | --ru | --r)
- ac_prev=runstatedir ;;
- -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
- | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
- | --run=* | --ru=* | --r=*)
- runstatedir=$ac_optarg ;;
-
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1382,7 +1371,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir runstatedir
+ libdir localedir mandir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@@ -1495,7 +1484,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures HarfBuzz 2.3.1 to adapt to many kinds of systems.
+\`configure' configures HarfBuzz 2.4.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1535,7 +1524,6 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
@@ -1566,7 +1554,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of HarfBuzz 2.3.1:";;
+ short | recursive ) echo "Configuration of HarfBuzz 2.4.0:";;
esac
cat <<\_ACEOF
@@ -1749,7 +1737,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-HarfBuzz configure 2.3.1
+HarfBuzz configure 2.4.0
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2613,7 +2601,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by HarfBuzz $as_me 2.3.1, which was
+It was created by HarfBuzz $as_me 2.4.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2967,7 +2955,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_config_headers="$ac_config_headers config.h"
-am__api_version='1.15'
+am__api_version='1.16'
ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
@@ -3482,7 +3470,7 @@ fi
# Define the identity of the package.
PACKAGE='harfbuzz'
- VERSION='2.3.1'
+ VERSION='2.4.0'
# Some tools Automake needs.
@@ -3503,8 +3491,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
# For better backward compatibility. To be removed once Automake 1.9.x
# dies out for good. For more background, see:
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
mkdir_p='$(MKDIR_P)'
# We need awk for the "check" target (and possibly the TAP driver). The
@@ -3671,7 +3659,7 @@ END
Aborting the configuration process, to ensure you take notice of the issue.
You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: <http://www.gnu.org/software/coreutils/>.
+that behaves properly: <https://www.gnu.org/software/coreutils/>.
If you want to complete the configuration process using your problematic
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
@@ -4166,45 +4154,45 @@ DEPDIR="${am__leading_dot}deps"
ac_config_commands="$ac_config_commands depfiles"
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
+$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; }
+cat > confinc.mk << 'END'
am__doit:
- @echo this is the am__doit target
+ @echo this is the am__doit target >confinc.out
.PHONY: am__doit
END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
am__include="#"
am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from 'make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
+# BSD make does it like this.
+echo '.include "confinc.mk" # ignored' > confmf.BSD
+# Other make implementations (GNU, Solaris 10, AIX) do it like this.
+echo 'include confinc.mk # ignored' > confmf.GNU
+_am_result=no
+for s in GNU BSD; do
+ { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
+ (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ case $?:`cat confinc.out 2>/dev/null` in #(
+ '0:this is the am__doit target') :
+ case $s in #(
+ BSD) :
+ am__include='.include' am__quote='"' ;; #(
+ *) :
+ am__include='include' am__quote='' ;;
+esac ;; #(
+ *) :
;;
- esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
+esac
+ if test "$am__include" != "#"; then
+ _am_result="yes ($s style)"
+ break
+ fi
+done
+rm -f confinc.* confmf.*
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
+$as_echo "${_am_result}" >&6; }
# Check whether --enable-dependency-tracking was given.
if test "${enable_dependency_tracking+set}" = set; then :
@@ -5382,8 +5370,8 @@ esac
-macro_version='2.4.6'
-macro_revision='2.4.6'
+macro_version='2.4.6.42-b88ce'
+macro_revision='2.4.6.42'
@@ -6683,7 +6671,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd* | netbsdelf*-gnu)
+netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
else
@@ -7045,13 +7033,29 @@ esac
fi
: ${AR=ar}
-: ${AR_FLAGS=cru}
+# Use ARFLAGS variable as AR's operation code to sync the variable naming with
+# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
+# higher priority because thats what people were doing historically (setting
+# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS
+# variable obsoleted/removed.
+
+test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
+lt_ar_flags=$AR_FLAGS
+
+
+
+
+
+
+# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override
+# by AR_FLAGS because that was never working and AR_FLAGS is about to die.
+
@@ -7500,7 +7504,7 @@ for ac_symprfx in "" "_"; do
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
# Fake it for dumpbin and say T for any non-static function,
# D for any global variable and I for any imported variable.
- # Also find C++ and __fastcall symbols from MSVC++,
+ # Also find C++ and __fastcall symbols from MSVC++ or ICC,
# which start with @ or ?.
lt_cv_sys_global_symbol_pipe="$AWK '"\
" {last_section=section; section=\$ 3};"\
@@ -8769,8 +8773,8 @@ int forced_loaded() { return 2;}
_LT_EOF
echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
- echo "$AR cru libconftest.a conftest.o" >&5
- $AR cru libconftest.a conftest.o 2>&5
+ echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5
+ $AR $AR_FLAGS libconftest.a conftest.o 2>&5
echo "$RANLIB libconftest.a" >&5
$RANLIB libconftest.a 2>&5
cat > conftest.c << _LT_EOF
@@ -9432,8 +9436,8 @@ esac
ofile=libtool
can_build_shared=yes
-# All known linkers require a '.a' archive for static linking (except MSVC,
-# which needs '.lib').
+# All known linkers require a '.a' archive for static linking (except MSVC and
+# ICC, which need '.lib').
libext=a
with_gnu_ld=$lt_cv_prog_gnu_ld
@@ -10360,23 +10364,20 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
+ # Microsoft Visual C++ or Intel C++ Compiler.
if test yes != "$GCC"; then
with_gnu_ld=no
fi
;;
interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
+ # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
with_gnu_ld=yes
;;
openbsd* | bitrig*)
with_gnu_ld=no
;;
- linux* | k*bsd*-gnu | gnu*)
- link_all_deplibs=no
- ;;
esac
ld_shlibs=yes
@@ -10535,6 +10536,7 @@ _LT_EOF
emximp -o $lib $output_objdir/$libname.def'
old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
enable_shared_with_static_runtimes=yes
+ file_list_spec='@'
;;
interix[3-9]*)
@@ -10631,7 +10633,7 @@ _LT_EOF
fi
;;
- netbsd* | netbsdelf*-gnu)
+ netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
@@ -10752,7 +10754,7 @@ _LT_EOF
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
- export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
@@ -11019,12 +11021,12 @@ fi
cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
+ # Microsoft Visual C++ or Intel C++ Compiler.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
case $cc_basename in
- cl*)
- # Native MSVC
+ cl* | icl*)
+ # Native MSVC or ICC
hardcode_libdir_flag_spec=' '
allow_undefined_flag=unsupported
always_export_symbols=yes
@@ -11065,7 +11067,7 @@ fi
fi'
;;
*)
- # Assume MSVC wrapper
+ # Assume MSVC and ICC wrapper
hardcode_libdir_flag_spec=' '
allow_undefined_flag=unsupported
# Tell ltmain to make .lib files, not .a files.
@@ -11301,7 +11303,6 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
if test yes = "$lt_cv_irix_exported_symbol"; then
archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
fi
- link_all_deplibs=no
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
@@ -11323,7 +11324,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
esac
;;
- netbsd* | netbsdelf*-gnu)
+ netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
@@ -11390,6 +11391,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
emximp -o $lib $output_objdir/$libname.def'
old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
enable_shared_with_static_runtimes=yes
+ file_list_spec='@'
;;
osf3*)
@@ -12097,8 +12099,8 @@ cygwin* | mingw* | pw32* | cegcc*)
dynamic_linker='Win32 ld.exe'
;;
- *,cl*)
- # Native MSVC
+ *,cl* | *,icl*)
+ # Native MSVC or ICC
libname_spec='$name'
soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
library_names_spec='$libname.dll.lib'
@@ -12154,7 +12156,7 @@ cygwin* | mingw* | pw32* | cegcc*)
;;
*)
- # Assume MSVC wrapper
+ # Assume MSVC and ICC wrapper
library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
dynamic_linker='Win32 ld.exe'
;;
@@ -12438,18 +12440,6 @@ fi
dynamic_linker='GNU/Linux ld.so'
;;
-netbsdelf*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='NetBSD ld.elf_so'
- ;;
-
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -13345,30 +13335,41 @@ striplib=
old_striplib=
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+if test -z "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP"; then
+ if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ old_striplib="$STRIP --strip-debug"
+ striplib="$STRIP --strip-unneeded"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ case $host_os in
+ darwin*)
+ # FIXME - insert some real tests, host_os isn't really good enough
striplib="$STRIP -x"
old_striplib="$STRIP -S"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ ;;
+ freebsd*)
+ if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then
+ old_striplib="$STRIP --strip-debug"
+ striplib="$STRIP --strip-unneeded"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- fi
- ;;
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ fi
+ ;;
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- ;;
- esac
+ ;;
+ esac
+ fi
fi
@@ -15459,8 +15460,8 @@ fi
cygwin* | mingw* | pw32* | cegcc*)
case $GXX,$cc_basename in
- ,cl* | no,cl*)
- # Native MSVC
+ ,cl* | no,cl* | ,icl* | no,icl*)
+ # Native MSVC or ICC
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec_CXX=' '
@@ -15590,6 +15591,7 @@ fi
emximp -o $lib $output_objdir/$libname.def'
old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
enable_shared_with_static_runtimes_CXX=yes
+ file_list_spec_CXX='@'
;;
dgux*)
@@ -16667,7 +16669,7 @@ lt_prog_compiler_static_CXX=
;;
esac
;;
- netbsd* | netbsdelf*-gnu)
+ netbsd*)
;;
*qnx* | *nto*)
# QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -17025,7 +17027,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
- export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
;;
pw32*)
@@ -17033,7 +17035,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
;;
cygwin* | mingw* | cegcc*)
case $cc_basename in
- cl*)
+ cl* | icl*)
exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
;;
*)
@@ -17042,9 +17044,6 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
;;
esac
;;
- linux* | k*bsd*-gnu | gnu*)
- link_all_deplibs_CXX=no
- ;;
*)
export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
;;
@@ -17398,8 +17397,8 @@ cygwin* | mingw* | pw32* | cegcc*)
dynamic_linker='Win32 ld.exe'
;;
- *,cl*)
- # Native MSVC
+ *,cl* | *,icl*)
+ # Native MSVC or ICC
libname_spec='$name'
soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
library_names_spec='$libname.dll.lib'
@@ -17455,7 +17454,7 @@ cygwin* | mingw* | pw32* | cegcc*)
;;
*)
- # Assume MSVC wrapper
+ # Assume MSVC and ICC wrapper
library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
dynamic_linker='Win32 ld.exe'
;;
@@ -17738,18 +17737,6 @@ fi
dynamic_linker='GNU/Linux ld.so'
;;
-netbsdelf*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='NetBSD ld.elf_so'
- ;;
-
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -18103,7 +18090,7 @@ else
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -18149,7 +18136,7 @@ else
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -18173,7 +18160,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -18218,7 +18205,7 @@ else
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -18242,7 +18229,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -18411,9 +18398,9 @@ GIT=${GIT-"${am_missing_run}git"}
HB_VERSION_MAJOR=2
-HB_VERSION_MINOR=3
-HB_VERSION_MICRO=1
-HB_VERSION=2.3.1
+HB_VERSION_MINOR=4
+HB_VERSION_MICRO=0
+HB_VERSION=2.4.0
@@ -18424,7 +18411,7 @@ HB_VERSION=2.3.1
-HB_LIBTOOL_VERSION_INFO=20301:0:20301
+HB_LIBTOOL_VERSION_INFO=20400:0:20400
@@ -21750,7 +21737,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by HarfBuzz $as_me 2.3.1, which was
+This file was extended by HarfBuzz $as_me 2.4.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21817,7 +21804,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-HarfBuzz config.status 2.3.1
+HarfBuzz config.status 2.4.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -21936,7 +21923,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#
# INIT-COMMANDS
#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"
# The HP-UX ksh and POSIX shell print the target directory to stdout
@@ -21988,6 +21975,7 @@ want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`'
AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
@@ -22170,7 +22158,6 @@ want_nocaseglob \
DLLTOOL \
sharedlib_from_linklib_cmd \
AR \
-AR_FLAGS \
archiver_list_spec \
STRIP \
RANLIB \
@@ -22946,29 +22933,35 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
# Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
+ # TODO: see whether this extra hack can be removed once we start
+ # requiring Autoconf 2.70 or later.
+ case $CONFIG_FILES in #(
+ *\'*) :
+ eval set x "$CONFIG_FILES" ;; #(
+ *) :
+ set x $CONFIG_FILES ;; #(
+ *) :
+ ;;
+esac
shift
- for mf
+ # Used to flag and report bootstrapping failures.
+ am_rc=0
+ for am_mf
do
# Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named 'Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
+ am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile which includes
+ # dependency-tracking related rules and includes.
+ # Grep'ing the whole file directly is not great: AIX grep has a line
# limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
+ sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
+ || continue
+ am_dirpart=`$as_dirname -- "$am_mf" ||
+$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$am_mf" : 'X\(//\)[^/]' \| \
+ X"$am_mf" : 'X\(//\)$' \| \
+ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$am_mf" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -22986,53 +22979,48 @@ $as_echo X"$mf" |
q
}
s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running 'make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "$am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
+ am_filepart=`$as_basename -- "$am_mf" ||
+$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$am_mf" : 'X\(//\)$' \| \
+ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$am_mf" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
}
- /^X\(\/\/\)$/{
+ /^X\/\(\/\/\)$/{
s//\1/
q
}
- /^X\(\/\).*/{
+ /^X\/\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
- as_dir=$dirpart/$fdir; as_fn_mkdir_p
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
+ { echo "$as_me:$LINENO: cd "$am_dirpart" \
+ && sed -e '/# am--include-marker/d' "$am_filepart" \
+ | $MAKE -f - am--depfiles" >&5
+ (cd "$am_dirpart" \
+ && sed -e '/# am--include-marker/d' "$am_filepart" \
+ | $MAKE -f - am--depfiles) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } || am_rc=$?
done
+ if test $am_rc -ne 0; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Something went wrong bootstrapping makefile fragments
+ for automatic dependency tracking. Try re-running configure with the
+ '--disable-dependency-tracking' option to at least be able to build
+ the package (albeit without support for automatic dependency tracking).
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+ { am_dirpart=; unset am_dirpart;}
+ { am_filepart=; unset am_filepart;}
+ { am_mf=; unset am_mf;}
+ { am_rc=; unset am_rc;}
+ rm -f conftest-deps.mk
}
;;
"libtool":C)
@@ -23050,6 +23038,7 @@ $as_echo X"$file" |
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
# Generated automatically by $as_me ($PACKAGE) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
# Provide generalized library-building support services.
@@ -23193,8 +23182,11 @@ sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
# The archiver.
AR=$lt_AR
+# Flags to create an archive (by configure).
+lt_ar_flags=$lt_ar_flags
+
# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
+AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"}
# How to feed a file listing to the archiver.
archiver_list_spec=$lt_archiver_list_spec
@@ -23783,6 +23775,11 @@ $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi
+echo
+echo "C++ compiler version:"
+$CXX --version
+echo
+
{ $as_echo "$as_me:${as_lineno-$LINENO}:
Build configuration:
diff --git a/configure.ac b/configure.ac
index b7827a6..b51ac4a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
AC_PREREQ([2.64])
AC_INIT([HarfBuzz],
- [2.3.1],
+ [2.4.0],
[https://github.com/harfbuzz/harfbuzz/issues/new],
[harfbuzz],
[http://harfbuzz.org/])
@@ -515,6 +515,11 @@ docs/version.xml
AC_OUTPUT
+echo
+echo "C++ compiler version:"
+$CXX --version
+echo
+
AC_MSG_NOTICE([
Build configuration:
diff --git a/depcomp b/depcomp
index b39f98f..65cbf70 100755
--- a/depcomp
+++ b/depcomp
@@ -1,9 +1,9 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2016-01-11.22; # UTC
+scriptversion=2018-03-07.03; # UTC
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+# Copyright (C) 1999-2018 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -16,7 +16,7 @@ scriptversion=2016-01-11.22; # UTC
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -783,7 +783,7 @@ exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
diff --git a/docs/Makefile.in b/docs/Makefile.in
index 3e2825e..3fa4a70 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -17,6 +17,24 @@
# Process this file with automake to produce Makefile.in
# -*- mode: makefile -*-
+#
+# gtk-doc.make - make rules for gtk-doc
+# Copyright (C) 2003 James Henstridge
+# 2004-2007 Damon Chaplin
+# 2007-2017 Stefan Sauer
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
####################################
# Everything below here is generic #
@@ -313,7 +331,6 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -468,34 +485,34 @@ CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) gtkdoc-check.test
@GTK_DOC_BUILD_PDF_TRUE@PDF_BUILD_STAMP = pdf-build.stamp
#### setup ####
-GTK_DOC_V_SETUP = $(GTK_DOC_V_SETUP_$(V))
-GTK_DOC_V_SETUP_ = $(GTK_DOC_V_SETUP_$(AM_DEFAULT_VERBOSITY))
+GTK_DOC_V_SETUP = $(GTK_DOC_V_SETUP_@AM_V@)
+GTK_DOC_V_SETUP_ = $(GTK_DOC_V_SETUP_@AM_DEFAULT_V@)
GTK_DOC_V_SETUP_0 = @echo " DOC Preparing build";
#### scan ####
-GTK_DOC_V_SCAN = $(GTK_DOC_V_SCAN_$(V))
-GTK_DOC_V_SCAN_ = $(GTK_DOC_V_SCAN_$(AM_DEFAULT_VERBOSITY))
+GTK_DOC_V_SCAN = $(GTK_DOC_V_SCAN_@AM_V@)
+GTK_DOC_V_SCAN_ = $(GTK_DOC_V_SCAN_@AM_DEFAULT_V@)
GTK_DOC_V_SCAN_0 = @echo " DOC Scanning header files";
-GTK_DOC_V_INTROSPECT = $(GTK_DOC_V_INTROSPECT_$(V))
-GTK_DOC_V_INTROSPECT_ = $(GTK_DOC_V_INTROSPECT_$(AM_DEFAULT_VERBOSITY))
+GTK_DOC_V_INTROSPECT = $(GTK_DOC_V_INTROSPECT_@AM_V@)
+GTK_DOC_V_INTROSPECT_ = $(GTK_DOC_V_INTROSPECT_@AM_DEFAULT_V@)
GTK_DOC_V_INTROSPECT_0 = @echo " DOC Introspecting gobjects";
#### xml ####
-GTK_DOC_V_XML = $(GTK_DOC_V_XML_$(V))
-GTK_DOC_V_XML_ = $(GTK_DOC_V_XML_$(AM_DEFAULT_VERBOSITY))
+GTK_DOC_V_XML = $(GTK_DOC_V_XML_@AM_V@)
+GTK_DOC_V_XML_ = $(GTK_DOC_V_XML_@AM_DEFAULT_V@)
GTK_DOC_V_XML_0 = @echo " DOC Building XML";
#### html ####
-GTK_DOC_V_HTML = $(GTK_DOC_V_HTML_$(V))
-GTK_DOC_V_HTML_ = $(GTK_DOC_V_HTML_$(AM_DEFAULT_VERBOSITY))
+GTK_DOC_V_HTML = $(GTK_DOC_V_HTML_@AM_V@)
+GTK_DOC_V_HTML_ = $(GTK_DOC_V_HTML_@AM_DEFAULT_V@)
GTK_DOC_V_HTML_0 = @echo " DOC Building HTML";
-GTK_DOC_V_XREF = $(GTK_DOC_V_XREF_$(V))
-GTK_DOC_V_XREF_ = $(GTK_DOC_V_XREF_$(AM_DEFAULT_VERBOSITY))
+GTK_DOC_V_XREF = $(GTK_DOC_V_XREF_@AM_V@)
+GTK_DOC_V_XREF_ = $(GTK_DOC_V_XREF_@AM_DEFAULT_V@)
GTK_DOC_V_XREF_0 = @echo " DOC Fixing cross-references";
#### pdf ####
-GTK_DOC_V_PDF = $(GTK_DOC_V_PDF_$(V))
-GTK_DOC_V_PDF_ = $(GTK_DOC_V_PDF_$(AM_DEFAULT_VERBOSITY))
+GTK_DOC_V_PDF = $(GTK_DOC_V_PDF_@AM_V@)
+GTK_DOC_V_PDF_ = $(GTK_DOC_V_PDF_@AM_DEFAULT_V@)
GTK_DOC_V_PDF_0 = @echo " DOC Building PDF";
# Files not to distribute
@@ -529,8 +546,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_srcdir)/gtk-doc.make $(am__empty):
@@ -557,7 +574,10 @@ ctags CTAGS:
cscope cscopelist:
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -728,38 +748,38 @@ $(REPORT_FILES): sgml-build.stamp
setup-build.stamp:
-$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- files=`echo $(SETUP_FILES) $(DOC_MODULE).types`; \
- if test "x$$files" != "x" ; then \
- for file in $$files ; do \
- destdir=`dirname $(abs_builddir)/$$file`; \
- test -d "$$destdir" || mkdir -p "$$destdir"; \
- test -f $(abs_srcdir)/$$file && \
- cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
- done; \
- fi; \
+ files=`echo $(SETUP_FILES) $(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ destdir=`dirname $(abs_builddir)/$$file`; \
+ test -d "$$destdir" || mkdir -p "$$destdir"; \
+ test -f $(abs_srcdir)/$$file && \
+ cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
+ done; \
+ fi; \
fi
$(AM_V_at)touch setup-build.stamp
scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
$(GTK_DOC_V_SCAN)_source_dir='' ; \
for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
done ; \
gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
$(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
- scanobj_options=""; \
- gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
- if test "$$?" = "0"; then \
- if test "x$(V)" = "x1"; then \
- scanobj_options="--verbose"; \
- fi; \
+ scanobj_options=""; \
+ gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$$?" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ scanobj_options="--verbose"; \
fi; \
- CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
- gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
+ fi; \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
else \
- for i in $(SCANOBJ_FILES) ; do \
- test -f $$i || touch $$i ; \
- done \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
fi
$(AM_V_at)touch scan-build.stamp
@@ -769,7 +789,7 @@ $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)
sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
$(GTK_DOC_V_XML)_source_dir='' ; \
for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
done ; \
gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
$(AM_V_at)touch sgml-build.stamp
@@ -777,6 +797,9 @@ sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HF
sgml.stamp: sgml-build.stamp
@true
+$(DOC_MAIN_SGML_FILE): sgml-build.stamp
+ @true
+
xml/gtkdocentities.ent: Makefile
$(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \
echo "<!ENTITY package \"$(PACKAGE)\">"; \
@@ -804,12 +827,8 @@ html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_con
cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
-@test "x$(HTML_IMAGES)" = "x" || \
for file in $(HTML_IMAGES) ; do \
- if test -f $(abs_srcdir)/$$file ; then \
- cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
- fi; \
- if test -f $(abs_builddir)/$$file ; then \
- cp $(abs_builddir)/$$file $(abs_builddir)/html; \
- fi; \
+ test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+ test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \
test -f $$file && cp $$file $(abs_builddir)/html; \
done;
$(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
diff --git a/docs/harfbuzz-docs.xml b/docs/harfbuzz-docs.xml
index 2735338..0c462f3 100644
--- a/docs/harfbuzz-docs.xml
+++ b/docs/harfbuzz-docs.xml
@@ -136,6 +136,7 @@
<index id="api-index-full"><title>API Index</title><xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include></index>
<index id="deprecated-api-index" role="deprecated"><title>Index of deprecated API</title><xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include></index>
+ <index id="api-index-2-2-0" role="2.2.0"><title>Index of new symbols in 2.2.0</title><xi:include href="xml/api-index-2.2.0.xml"><xi:fallback /></xi:include></index>
<index id="api-index-2-1-0" role="2.1.0"><title>Index of new symbols in 2.1.0</title><xi:include href="xml/api-index-2.1.0.xml"><xi:fallback /></xi:include></index>
<index id="api-index-2-0-0" role="2.0.0"><title>Index of new symbols in 2.0.0</title><xi:include href="xml/api-index-2.0.0.xml"><xi:fallback /></xi:include></index>
<index id="api-index-1-9-0" role="1.9.0"><title>Index of new symbols in 1.9.0</title><xi:include href="xml/api-index-1.9.0.xml"><xi:fallback /></xi:include></index>
diff --git a/docs/harfbuzz-sections.txt b/docs/harfbuzz-sections.txt
index fd7682e..27dc1e2 100644
--- a/docs/harfbuzz-sections.txt
+++ b/docs/harfbuzz-sections.txt
@@ -124,11 +124,17 @@ hb_script_get_horizontal_direction
hb_language_from_string
hb_language_to_string
hb_language_get_default
+hb_feature_from_string
+hb_feature_to_string
+hb_variation_from_string
+hb_variation_to_string
hb_bool_t
hb_codepoint_t
hb_destroy_func_t
hb_direction_t
hb_language_t
+hb_feature_t
+hb_variation_t
hb_mask_t
hb_position_t
hb_tag_t
@@ -147,6 +153,8 @@ HB_DIRECTION_IS_HORIZONTAL
HB_DIRECTION_IS_VALID
HB_DIRECTION_IS_VERTICAL
HB_LANGUAGE_INVALID
+HB_FEATURE_GLOBAL_END
+HB_FEATURE_GLOBAL_START
<SUBSECTION Private>
HB_BEGIN_DECLS
HB_END_DECLS
@@ -321,9 +329,6 @@ hb_font_set_ppem
hb_font_set_ptem
hb_font_set_scale
hb_font_set_user_data
-hb_variation_t
-hb_variation_from_string
-hb_variation_to_string
hb_font_set_variations
hb_font_set_var_coords_design
hb_font_set_var_coords_normalized
@@ -649,11 +654,6 @@ hb_set_union
<SECTION>
<FILE>hb-shape</FILE>
-HB_FEATURE_GLOBAL_END
-HB_FEATURE_GLOBAL_START
-hb_feature_t
-hb_feature_from_string
-hb_feature_to_string
hb_shape
hb_shape_full
hb_shape_list_shapers
diff --git a/docs/harfbuzz.types b/docs/harfbuzz.types
deleted file mode 100644
index bd87111..0000000
--- a/docs/harfbuzz.types
+++ /dev/null
@@ -1,36 +0,0 @@
-hb_gobject_aat_layout_feature_selector_get_type
-hb_gobject_aat_layout_feature_type_get_type
-hb_gobject_blob_get_type
-hb_gobject_buffer_cluster_level_get_type
-hb_gobject_buffer_content_type_get_type
-hb_gobject_buffer_diff_flags_get_type
-hb_gobject_buffer_flags_get_type
-hb_gobject_buffer_get_type
-hb_gobject_buffer_serialize_flags_get_type
-hb_gobject_buffer_serialize_format_get_type
-hb_gobject_direction_get_type
-hb_gobject_face_get_type
-hb_gobject_feature_get_type
-hb_gobject_font_funcs_get_type
-hb_gobject_font_get_type
-hb_gobject_glyph_flags_get_type
-hb_gobject_glyph_info_get_type
-hb_gobject_glyph_position_get_type
-hb_gobject_map_get_type
-hb_gobject_memory_mode_get_type
-hb_gobject_ot_color_palette_flags_get_type
-hb_gobject_ot_layout_glyph_class_get_type
-hb_gobject_ot_math_constant_get_type
-hb_gobject_ot_math_glyph_part_flags_get_type
-hb_gobject_ot_math_glyph_part_get_type
-hb_gobject_ot_math_glyph_variant_get_type
-hb_gobject_ot_math_kern_get_type
-hb_gobject_ot_var_axis_flags_get_type
-hb_gobject_script_get_type
-hb_gobject_segment_properties_get_type
-hb_gobject_set_get_type
-hb_gobject_shape_plan_get_type
-hb_gobject_unicode_combining_class_get_type
-hb_gobject_unicode_funcs_get_type
-hb_gobject_unicode_general_category_get_type
-hb_gobject_user_data_key_get_type
diff --git a/docs/html/a-clustering-example-for-levels-0-and-1.html b/docs/html/a-clustering-example-for-levels-0-and-1.html
index 714859a..6fc8e16 100644
--- a/docs/html/a-clustering-example-for-levels-0-and-1.html
+++ b/docs/html/a-clustering-example-for-levels-0-and-1.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>A clustering example for levels 0 and 1: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="clusters.html" title="Clusters">
<link rel="prev" href="working-with-harfbuzz-clusters.html" title="Working with HarfBuzz clusters">
<link rel="next" href="reordering-in-levels-0-and-1.html" title="Reordering in levels 0 and 1">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -115,6 +115,6 @@
</p>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/aat-shaping.html b/docs/html/aat-shaping.html
index e1fff44..8a50f3f 100644
--- a/docs/html/aat-shaping.html
+++ b/docs/html/aat-shaping.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>AAT shaping: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="shaping-concepts.html" title="Shaping concepts">
<link rel="prev" href="graphite-shaping.html" title="Graphite shaping">
<link rel="next" href="buffers-language-script-and-direction.html" title="Buffers, language, script and direction">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -40,6 +40,6 @@
</p>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/adding-text-to-the-buffer.html b/docs/html/adding-text-to-the-buffer.html
index b1157fb..07e7dda 100644
--- a/docs/html/adding-text-to-the-buffer.html
+++ b/docs/html/adding-text-to-the-buffer.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Adding text to the buffer: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="buffers-language-script-and-direction.html" title="Buffers, language, script and direction">
<link rel="prev" href="buffers-language-script-and-direction.html" title="Buffers, language, script and direction">
<link rel="next" href="setting-buffer-properties.html" title="Setting buffer properties">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -30,6 +30,6 @@
</p>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/annotation-glossary.html b/docs/html/annotation-glossary.html
index acf5467..f44d567 100644
--- a/docs/html/annotation-glossary.html
+++ b/docs/html/annotation-glossary.html
@@ -3,11 +3,11 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Annotation Glossary: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="pt02.html" title="Part II. Reference manual">
<link rel="prev" href="api-index-0-9-2.html" title="Index of new symbols in 0.9.2">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -76,6 +76,6 @@
<dd class="glossdef"><p>Don't free data after the code is done.</p></dd>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/api-index-0-9-10.html b/docs/html/api-index-0-9-10.html
deleted file mode 100644
index b670ca5..0000000
--- a/docs/html/api-index-0-9-10.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 0.9.10: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-0-9-11.html" title="Index of new symbols in 0.9.11">
-<link rel="next" href="api-index-0-9-8.html" title="Index of new symbols in 0.9.8">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxO">O</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-0-9-11.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-0-9-8.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-0-9-10"></a>Index of new symbols in 0.9.10</h2></div></div></div>
-<a name="idx"></a><a name="idxO"></a><h3 class="title">O</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-get-size-params" title="hb_ot_layout_get_size_params ()">hb_ot_layout_get_size_params</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-0-9-11.html b/docs/html/api-index-0-9-11.html
deleted file mode 100644
index 4f604c0..0000000
--- a/docs/html/api-index-0-9-11.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 0.9.11: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-0-9-20.html" title="Index of new symbols in 0.9.20">
-<link rel="next" href="api-index-0-9-10.html" title="Index of new symbols in 0.9.10">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxB">B</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-0-9-20.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-0-9-10.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-0-9-11"></a>Index of new symbols in 0.9.11</h2></div></div></div>
-<a name="idx"></a><a name="idxB"></a><h3 class="title">B</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-clear-contents" title="hb_buffer_clear_contents ()">hb_buffer_clear_contents</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-0-9-2.html b/docs/html/api-index-0-9-2.html
deleted file mode 100644
index 921e090..0000000
--- a/docs/html/api-index-0-9-2.html
+++ /dev/null
@@ -1,757 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 0.9.2: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-0-9-5.html" title="Index of new symbols in 0.9.5">
-<link rel="next" href="annotation-glossary.html" title="Annotation Glossary">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxB">B</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxD">D</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxF">F</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxG">G</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxL">L</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxO">O</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxS">S</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxT">T</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxU">U</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxV">V</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-0-9-5.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="annotation-glossary.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-0-9-2"></a>Index of new symbols in 0.9.2</h2></div></div></div>
-<a name="idx"></a><a name="idxB"></a><h3 class="title">B</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-create" title="hb_blob_create ()">hb_blob_create</a>, function in <a class="link" href="harfbuzz-hb-blob.html" title="hb-blob">hb-blob</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-create-sub-blob" title="hb_blob_create_sub_blob ()">hb_blob_create_sub_blob</a>, function in <a class="link" href="harfbuzz-hb-blob.html" title="hb-blob">hb-blob</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-destroy" title="hb_blob_destroy ()">hb_blob_destroy</a>, function in <a class="link" href="harfbuzz-hb-blob.html" title="hb-blob">hb-blob</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-get-data" title="hb_blob_get_data ()">hb_blob_get_data</a>, function in <a class="link" href="harfbuzz-hb-blob.html" title="hb-blob">hb-blob</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-get-data-writable" title="hb_blob_get_data_writable ()">hb_blob_get_data_writable</a>, function in <a class="link" href="harfbuzz-hb-blob.html" title="hb-blob">hb-blob</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-get-empty" title="hb_blob_get_empty ()">hb_blob_get_empty</a>, function in <a class="link" href="harfbuzz-hb-blob.html" title="hb-blob">hb-blob</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-get-length" title="hb_blob_get_length ()">hb_blob_get_length</a>, function in <a class="link" href="harfbuzz-hb-blob.html" title="hb-blob">hb-blob</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-get-user-data" title="hb_blob_get_user_data ()">hb_blob_get_user_data</a>, function in <a class="link" href="harfbuzz-hb-blob.html" title="hb-blob">hb-blob</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-is-immutable" title="hb_blob_is_immutable ()">hb_blob_is_immutable</a>, function in <a class="link" href="harfbuzz-hb-blob.html" title="hb-blob">hb-blob</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-make-immutable" title="hb_blob_make_immutable ()">hb_blob_make_immutable</a>, function in <a class="link" href="harfbuzz-hb-blob.html" title="hb-blob">hb-blob</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-reference" title="hb_blob_reference ()">hb_blob_reference</a>, function in <a class="link" href="harfbuzz-hb-blob.html" title="hb-blob">hb-blob</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-set-user-data" title="hb_blob_set_user_data ()">hb_blob_set_user_data</a>, function in <a class="link" href="harfbuzz-hb-blob.html" title="hb-blob">hb-blob</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-add-utf16" title="hb_buffer_add_utf16 ()">hb_buffer_add_utf16</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-add-utf32" title="hb_buffer_add_utf32 ()">hb_buffer_add_utf32</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-add-utf8" title="hb_buffer_add_utf8 ()">hb_buffer_add_utf8</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-allocation-successful" title="hb_buffer_allocation_successful ()">hb_buffer_allocation_successful</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-create" title="hb_buffer_create ()">hb_buffer_create</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-destroy" title="hb_buffer_destroy ()">hb_buffer_destroy</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-direction" title="hb_buffer_get_direction ()">hb_buffer_get_direction</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-empty" title="hb_buffer_get_empty ()">hb_buffer_get_empty</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-glyph-infos" title="hb_buffer_get_glyph_infos ()">hb_buffer_get_glyph_infos</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-glyph-positions" title="hb_buffer_get_glyph_positions ()">hb_buffer_get_glyph_positions</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-language" title="hb_buffer_get_language ()">hb_buffer_get_language</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-length" title="hb_buffer_get_length ()">hb_buffer_get_length</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-script" title="hb_buffer_get_script ()">hb_buffer_get_script</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-unicode-funcs" title="hb_buffer_get_unicode_funcs ()">hb_buffer_get_unicode_funcs</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-user-data" title="hb_buffer_get_user_data ()">hb_buffer_get_user_data</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-normalize-glyphs" title="hb_buffer_normalize_glyphs ()">hb_buffer_normalize_glyphs</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-pre-allocate" title="hb_buffer_pre_allocate ()">hb_buffer_pre_allocate</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-reference" title="hb_buffer_reference ()">hb_buffer_reference</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-reset" title="hb_buffer_reset ()">hb_buffer_reset</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-reverse" title="hb_buffer_reverse ()">hb_buffer_reverse</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-reverse-clusters" title="hb_buffer_reverse_clusters ()">hb_buffer_reverse_clusters</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-serialize-format-t" title="enum hb_buffer_serialize_format_t">hb_buffer_serialize_format_t</a>, enum in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-direction" title="hb_buffer_set_direction ()">hb_buffer_set_direction</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-language" title="hb_buffer_set_language ()">hb_buffer_set_language</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-length" title="hb_buffer_set_length ()">hb_buffer_set_length</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-script" title="hb_buffer_set_script ()">hb_buffer_set_script</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-unicode-funcs" title="hb_buffer_set_unicode_funcs ()">hb_buffer_set_unicode_funcs</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-user-data" title="hb_buffer_set_user_data ()">hb_buffer_set_user_data</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<a name="idxD"></a><h3 class="title">D</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-common.html#hb-direction-from-string" title="hb_direction_from_string ()">hb_direction_from_string</a>, function in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-common.html#hb-direction-to-string" title="hb_direction_to_string ()">hb_direction_to_string</a>, function in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a>
-</dt>
-<dd></dd>
-<a name="idxF"></a><h3 class="title">F</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-create" title="hb_face_create ()">hb_face_create</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-create-for-tables" title="hb_face_create_for_tables ()">hb_face_create_for_tables</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-destroy" title="hb_face_destroy ()">hb_face_destroy</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-get-empty" title="hb_face_get_empty ()">hb_face_get_empty</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-get-index" title="hb_face_get_index ()">hb_face_get_index</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-get-upem" title="hb_face_get_upem ()">hb_face_get_upem</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-get-user-data" title="hb_face_get_user_data ()">hb_face_get_user_data</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-is-immutable" title="hb_face_is_immutable ()">hb_face_is_immutable</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-make-immutable" title="hb_face_make_immutable ()">hb_face_make_immutable</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-reference" title="hb_face_reference ()">hb_face_reference</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-reference-blob" title="hb_face_reference_blob ()">hb_face_reference_blob</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-reference-table" title="hb_face_reference_table ()">hb_face_reference_table</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-set-index" title="hb_face_set_index ()">hb_face_set_index</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-set-upem" title="hb_face_set_upem ()">hb_face_set_upem</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-set-user-data" title="hb_face_set_user_data ()">hb_face_set_user_data</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-add-glyph-origin-for-direction" title="hb_font_add_glyph_origin_for_direction ()">hb_font_add_glyph_origin_for_direction</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-create" title="hb_font_create ()">hb_font_create</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-create-sub-font" title="hb_font_create_sub_font ()">hb_font_create_sub_font</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-destroy" title="hb_font_destroy ()">hb_font_destroy</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-create" title="hb_font_funcs_create ()">hb_font_funcs_create</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-destroy" title="hb_font_funcs_destroy ()">hb_font_funcs_destroy</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-get-empty" title="hb_font_funcs_get_empty ()">hb_font_funcs_get_empty</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-get-user-data" title="hb_font_funcs_get_user_data ()">hb_font_funcs_get_user_data</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-is-immutable" title="hb_font_funcs_is_immutable ()">hb_font_funcs_is_immutable</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-make-immutable" title="hb_font_funcs_make_immutable ()">hb_font_funcs_make_immutable</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-reference" title="hb_font_funcs_reference ()">hb_font_funcs_reference</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-contour-point-func" title="hb_font_funcs_set_glyph_contour_point_func ()">hb_font_funcs_set_glyph_contour_point_func</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-extents-func" title="hb_font_funcs_set_glyph_extents_func ()">hb_font_funcs_set_glyph_extents_func</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-from-name-func" title="hb_font_funcs_set_glyph_from_name_func ()">hb_font_funcs_set_glyph_from_name_func</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-h-advance-func" title="hb_font_funcs_set_glyph_h_advance_func ()">hb_font_funcs_set_glyph_h_advance_func</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-deprecated.html#hb-font-funcs-set-glyph-h-kerning-func" title="hb_font_funcs_set_glyph_h_kerning_func ()">hb_font_funcs_set_glyph_h_kerning_func</a>, function in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-h-origin-func" title="hb_font_funcs_set_glyph_h_origin_func ()">hb_font_funcs_set_glyph_h_origin_func</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-name-func" title="hb_font_funcs_set_glyph_name_func ()">hb_font_funcs_set_glyph_name_func</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-v-advance-func" title="hb_font_funcs_set_glyph_v_advance_func ()">hb_font_funcs_set_glyph_v_advance_func</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-deprecated.html#hb-font-funcs-set-glyph-v-kerning-func" title="hb_font_funcs_set_glyph_v_kerning_func ()">hb_font_funcs_set_glyph_v_kerning_func</a>, function in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-v-origin-func" title="hb_font_funcs_set_glyph_v_origin_func ()">hb_font_funcs_set_glyph_v_origin_func</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-user-data" title="hb_font_funcs_set_user_data ()">hb_font_funcs_set_user_data</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-empty" title="hb_font_get_empty ()">hb_font_get_empty</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-face" title="hb_font_get_face ()">hb_font_get_face</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph" title="hb_font_get_glyph ()">hb_font_get_glyph</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-advance-for-direction" title="hb_font_get_glyph_advance_for_direction ()">hb_font_get_glyph_advance_for_direction</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-contour-point" title="hb_font_get_glyph_contour_point ()">hb_font_get_glyph_contour_point</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-contour-point-for-origin" title="hb_font_get_glyph_contour_point_for_origin ()">hb_font_get_glyph_contour_point_for_origin</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-extents" title="hb_font_get_glyph_extents ()">hb_font_get_glyph_extents</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-extents-for-origin" title="hb_font_get_glyph_extents_for_origin ()">hb_font_get_glyph_extents_for_origin</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-from-name" title="hb_font_get_glyph_from_name ()">hb_font_get_glyph_from_name</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-advance" title="hb_font_get_glyph_h_advance ()">hb_font_get_glyph_h_advance</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-deprecated.html#hb-font-get-glyph-h-kerning" title="hb_font_get_glyph_h_kerning ()">hb_font_get_glyph_h_kerning</a>, function in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-origin" title="hb_font_get_glyph_h_origin ()">hb_font_get_glyph_h_origin</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-deprecated.html#hb-font-get-glyph-kerning-for-direction" title="hb_font_get_glyph_kerning_for_direction ()">hb_font_get_glyph_kerning_for_direction</a>, function in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-name" title="hb_font_get_glyph_name ()">hb_font_get_glyph_name</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-origin-for-direction" title="hb_font_get_glyph_origin_for_direction ()">hb_font_get_glyph_origin_for_direction</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-v-advance" title="hb_font_get_glyph_v_advance ()">hb_font_get_glyph_v_advance</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-deprecated.html#hb-font-get-glyph-v-kerning" title="hb_font_get_glyph_v_kerning ()">hb_font_get_glyph_v_kerning</a>, function in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-v-origin" title="hb_font_get_glyph_v_origin ()">hb_font_get_glyph_v_origin</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-parent" title="hb_font_get_parent ()">hb_font_get_parent</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-ppem" title="hb_font_get_ppem ()">hb_font_get_ppem</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-ptem" title="hb_font_get_ptem ()">hb_font_get_ptem</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-scale" title="hb_font_get_scale ()">hb_font_get_scale</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-user-data" title="hb_font_get_user_data ()">hb_font_get_user_data</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-glyph-from-string" title="hb_font_glyph_from_string ()">hb_font_glyph_from_string</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-glyph-to-string" title="hb_font_glyph_to_string ()">hb_font_glyph_to_string</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-is-immutable" title="hb_font_is_immutable ()">hb_font_is_immutable</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-make-immutable" title="hb_font_make_immutable ()">hb_font_make_immutable</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-reference" title="hb_font_reference ()">hb_font_reference</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-set-funcs" title="hb_font_set_funcs ()">hb_font_set_funcs</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-set-funcs-data" title="hb_font_set_funcs_data ()">hb_font_set_funcs_data</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-set-ppem" title="hb_font_set_ppem ()">hb_font_set_ppem</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-set-scale" title="hb_font_set_scale ()">hb_font_set_scale</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-set-user-data" title="hb_font_set_user_data ()">hb_font_set_user_data</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-subtract-glyph-origin-for-direction" title="hb_font_subtract_glyph_origin_for_direction ()">hb_font_subtract_glyph_origin_for_direction</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ft.html#hb-ft-face-create" title="hb_ft_face_create ()">hb_ft_face_create</a>, function in <a class="link" href="harfbuzz-hb-ft.html" title="hb-ft">hb-ft</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ft.html#hb-ft-face-create-cached" title="hb_ft_face_create_cached ()">hb_ft_face_create_cached</a>, function in <a class="link" href="harfbuzz-hb-ft.html" title="hb-ft">hb-ft</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ft.html#hb-ft-font-create" title="hb_ft_font_create ()">hb_ft_font_create</a>, function in <a class="link" href="harfbuzz-hb-ft.html" title="hb-ft">hb-ft</a>
-</dt>
-<dd></dd>
-<a name="idxG"></a><h3 class="title">G</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-blob-get-type" title="hb_gobject_blob_get_type ()">hb_gobject_blob_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-get-type" title="hb_gobject_buffer_get_type ()">hb_gobject_buffer_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-face-get-type" title="hb_gobject_face_get_type ()">hb_gobject_face_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-font-funcs-get-type" title="hb_gobject_font_funcs_get_type ()">hb_gobject_font_funcs_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-font-get-type" title="hb_gobject_font_get_type ()">hb_gobject_font_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-unicode-funcs-get-type" title="hb_gobject_unicode_funcs_get_type ()">hb_gobject_unicode_funcs_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<a name="idxL"></a><h3 class="title">L</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-common.html#hb-language-from-string" title="hb_language_from_string ()">hb_language_from_string</a>, function in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-common.html#hb-language-get-default" title="hb_language_get_default ()">hb_language_get_default</a>, function in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-common.html#hb-language-to-string" title="hb_language_to_string ()">hb_language_to_string</a>, function in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a>
-</dt>
-<dd></dd>
-<a name="idxO"></a><h3 class="title">O</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-shape.html#hb-ot-shape-glyphs-closure" title="hb_ot_shape_glyphs_closure ()">hb_ot_shape_glyphs_closure</a>, function in <a class="link" href="harfbuzz-hb-ot-shape.html" title="hb-ot-shape">hb-ot-shape</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-tag-to-language" title="hb_ot_tag_to_language ()">hb_ot_tag_to_language</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a>
-</dt>
-<dd></dd>
-<a name="idxS"></a><h3 class="title">S</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-common.html#hb-script-from-iso15924-tag" title="hb_script_from_iso15924_tag ()">hb_script_from_iso15924_tag</a>, function in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-common.html#hb-script-from-string" title="hb_script_from_string ()">hb_script_from_string</a>, function in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-common.html#hb-script-get-horizontal-direction" title="hb_script_get_horizontal_direction ()">hb_script_get_horizontal_direction</a>, function in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-common.html#hb-script-to-iso15924-tag" title="hb_script_to_iso15924_tag ()">hb_script_to_iso15924_tag</a>, function in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-add" title="hb_set_add ()">hb_set_add</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-allocation-successful" title="hb_set_allocation_successful ()">hb_set_allocation_successful</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-clear" title="hb_set_clear ()">hb_set_clear</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-create" title="hb_set_create ()">hb_set_create</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-del" title="hb_set_del ()">hb_set_del</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-destroy" title="hb_set_destroy ()">hb_set_destroy</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-get-empty" title="hb_set_get_empty ()">hb_set_get_empty</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-get-user-data" title="hb_set_get_user_data ()">hb_set_get_user_data</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-has" title="hb_set_has ()">hb_set_has</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-intersect" title="hb_set_intersect ()">hb_set_intersect</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-next" title="hb_set_next ()">hb_set_next</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-reference" title="hb_set_reference ()">hb_set_reference</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-set" title="hb_set_set ()">hb_set_set</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-set-user-data" title="hb_set_set_user_data ()">hb_set_set_user_data</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-subtract" title="hb_set_subtract ()">hb_set_subtract</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-symmetric-difference" title="hb_set_symmetric_difference ()">hb_set_symmetric_difference</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-union" title="hb_set_union ()">hb_set_union</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-shape.html#hb-shape" title="hb_shape ()">hb_shape</a>, function in <a class="link" href="harfbuzz-hb-shape.html" title="hb-shape">hb-shape</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-shape.html#hb-shape-full" title="hb_shape_full ()">hb_shape_full</a>, function in <a class="link" href="harfbuzz-hb-shape.html" title="hb-shape">hb-shape</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-shape.html#hb-shape-list-shapers" title="hb_shape_list_shapers ()">hb_shape_list_shapers</a>, function in <a class="link" href="harfbuzz-hb-shape.html" title="hb-shape">hb-shape</a>
-</dt>
-<dd></dd>
-<a name="idxT"></a><h3 class="title">T</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-common.html#hb-tag-from-string" title="hb_tag_from_string ()">hb_tag_from_string</a>, function in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a>
-</dt>
-<dd></dd>
-<a name="idxU"></a><h3 class="title">U</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-combining-class" title="hb_unicode_combining_class ()">hb_unicode_combining_class</a>, function in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-compose" title="hb_unicode_compose ()">hb_unicode_compose</a>, function in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-decompose" title="hb_unicode_decompose ()">hb_unicode_decompose</a>, function in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-create" title="hb_unicode_funcs_create ()">hb_unicode_funcs_create</a>, function in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-destroy" title="hb_unicode_funcs_destroy ()">hb_unicode_funcs_destroy</a>, function in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-get-empty" title="hb_unicode_funcs_get_empty ()">hb_unicode_funcs_get_empty</a>, function in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-get-parent" title="hb_unicode_funcs_get_parent ()">hb_unicode_funcs_get_parent</a>, function in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-get-user-data" title="hb_unicode_funcs_get_user_data ()">hb_unicode_funcs_get_user_data</a>, function in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-is-immutable" title="hb_unicode_funcs_is_immutable ()">hb_unicode_funcs_is_immutable</a>, function in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-make-immutable" title="hb_unicode_funcs_make_immutable ()">hb_unicode_funcs_make_immutable</a>, function in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-reference" title="hb_unicode_funcs_reference ()">hb_unicode_funcs_reference</a>, function in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-set-combining-class-func" title="hb_unicode_funcs_set_combining_class_func ()">hb_unicode_funcs_set_combining_class_func</a>, function in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-set-compose-func" title="hb_unicode_funcs_set_compose_func ()">hb_unicode_funcs_set_compose_func</a>, function in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-set-decompose-func" title="hb_unicode_funcs_set_decompose_func ()">hb_unicode_funcs_set_decompose_func</a>, function in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-set-general-category-func" title="hb_unicode_funcs_set_general_category_func ()">hb_unicode_funcs_set_general_category_func</a>, function in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-set-mirroring-func" title="hb_unicode_funcs_set_mirroring_func ()">hb_unicode_funcs_set_mirroring_func</a>, function in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-set-script-func" title="hb_unicode_funcs_set_script_func ()">hb_unicode_funcs_set_script_func</a>, function in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-set-user-data" title="hb_unicode_funcs_set_user_data ()">hb_unicode_funcs_set_user_data</a>, function in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-general-category" title="hb_unicode_general_category ()">hb_unicode_general_category</a>, function in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-mirroring" title="hb_unicode_mirroring ()">hb_unicode_mirroring</a>, function in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-script" title="hb_unicode_script ()">hb_unicode_script</a>, function in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
-</dt>
-<dd></dd>
-<a name="idxV"></a><h3 class="title">V</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-version.html#hb-version" title="hb_version ()">hb_version</a>, function in <a class="link" href="harfbuzz-hb-version.html" title="hb-version">hb-version</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-version.html#hb-version-string" title="hb_version_string ()">hb_version_string</a>, function in <a class="link" href="harfbuzz-hb-version.html" title="hb-version">hb-version</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-0-9-20.html b/docs/html/api-index-0-9-20.html
deleted file mode 100644
index 290acb6..0000000
--- a/docs/html/api-index-0-9-20.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 0.9.20: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-0-9-22.html" title="Index of new symbols in 0.9.22">
-<link rel="next" href="api-index-0-9-11.html" title="Index of new symbols in 0.9.11">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxB">B</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-0-9-22.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-0-9-11.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-0-9-20"></a>Index of new symbols in 0.9.20</h2></div></div></div>
-<a name="idx"></a><a name="idxB"></a><h3 class="title">B</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-flags-t" title="enum hb_buffer_flags_t">hb_buffer_flags_t</a>, enum in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-serialize-flags-t" title="enum hb_buffer_serialize_flags_t">hb_buffer_serialize_flags_t</a>, enum in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-0-9-22.html b/docs/html/api-index-0-9-22.html
deleted file mode 100644
index 7e56b79..0000000
--- a/docs/html/api-index-0-9-22.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 0.9.22: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-0-9-28.html" title="Index of new symbols in 0.9.28">
-<link rel="next" href="api-index-0-9-20.html" title="Index of new symbols in 0.9.20">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxO">O</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-0-9-28.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-0-9-20.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-0-9-22"></a>Index of new symbols in 0.9.22</h2></div></div></div>
-<a name="idx"></a><a name="idxO"></a><h3 class="title">O</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-table-get-lookup-count" title="hb_ot_layout_table_get_lookup_count ()">hb_ot_layout_table_get_lookup_count</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-0-9-28.html b/docs/html/api-index-0-9-28.html
deleted file mode 100644
index 1fa3ea2..0000000
--- a/docs/html/api-index-0-9-28.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 0.9.28: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-0-9-30.html" title="Index of new symbols in 0.9.30">
-<link rel="next" href="api-index-0-9-22.html" title="Index of new symbols in 0.9.22">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxO">O</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-0-9-30.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-0-9-22.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-0-9-28"></a>Index of new symbols in 0.9.28</h2></div></div></div>
-<a name="idx"></a><a name="idxO"></a><h3 class="title">O</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-font.html#hb-ot-font-set-funcs" title="hb_ot_font_set_funcs ()">hb_ot_font_set_funcs</a>, function in <a class="link" href="harfbuzz-hb-ot-font.html" title="hb-ot-font">hb-ot-font</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-0-9-30.html b/docs/html/api-index-0-9-30.html
deleted file mode 100644
index 863701e..0000000
--- a/docs/html/api-index-0-9-30.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 0.9.30: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-0-9-31.html" title="Index of new symbols in 0.9.31">
-<link rel="next" href="api-index-0-9-28.html" title="Index of new symbols in 0.9.28">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxO">O</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxV">V</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-0-9-31.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-0-9-28.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-0-9-30"></a>Index of new symbols in 0.9.30</h2></div></div></div>
-<a name="idx"></a><a name="idxO"></a><h3 class="title">O</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-language-get-required-feature" title="hb_ot_layout_language_get_required_feature ()">hb_ot_layout_language_get_required_feature</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a>
-</dt>
-<dd></dd>
-<a name="idxV"></a><h3 class="title">V</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-version.html#hb-version-atleast" title="hb_version_atleast ()">hb_version_atleast</a>, function in <a class="link" href="harfbuzz-hb-version.html" title="hb-version">hb-version</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-0-9-31.html b/docs/html/api-index-0-9-31.html
deleted file mode 100644
index 7326017..0000000
--- a/docs/html/api-index-0-9-31.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 0.9.31: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-0-9-38.html" title="Index of new symbols in 0.9.38">
-<link rel="next" href="api-index-0-9-30.html" title="Index of new symbols in 0.9.30">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxB">B</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-0-9-38.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-0-9-30.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-0-9-31"></a>Index of new symbols in 0.9.31</h2></div></div></div>
-<a name="idx"></a><a name="idxB"></a><h3 class="title">B</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-add-codepoints" title="hb_buffer_add_codepoints ()">hb_buffer_add_codepoints</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-replacement-codepoint" title="hb_buffer_get_replacement_codepoint ()">hb_buffer_get_replacement_codepoint</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#HB-BUFFER-REPLACEMENT-CODEPOINT-DEFAULT:CAPS" title="HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT">HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT</a>, macro in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-replacement-codepoint" title="hb_buffer_set_replacement_codepoint ()">hb_buffer_set_replacement_codepoint</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-0-9-38.html b/docs/html/api-index-0-9-38.html
deleted file mode 100644
index 196a9cc..0000000
--- a/docs/html/api-index-0-9-38.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 0.9.38: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-0-9-39.html" title="Index of new symbols in 0.9.39">
-<link rel="next" href="api-index-0-9-31.html" title="Index of new symbols in 0.9.31">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxF">F</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxG">G</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-0-9-39.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-0-9-31.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-0-9-38"></a>Index of new symbols in 0.9.38</h2></div></div></div>
-<a name="idx"></a><a name="idxF"></a><h3 class="title">F</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-ft.html#hb-ft-face-create-referenced" title="hb_ft_face_create_referenced ()">hb_ft_face_create_referenced</a>, function in <a class="link" href="harfbuzz-hb-ft.html" title="hb-ft">hb-ft</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ft.html#hb-ft-font-create-referenced" title="hb_ft_font_create_referenced ()">hb_ft_font_create_referenced</a>, function in <a class="link" href="harfbuzz-hb-ft.html" title="hb-ft">hb-ft</a>
-</dt>
-<dd></dd>
-<a name="idxG"></a><h3 class="title">G</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-glib.html#hb-glib-blob-create" title="hb_glib_blob_create ()">hb_glib_blob_create</a>, function in <a class="link" href="harfbuzz-hb-glib.html" title="hb-glib">hb-glib</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-0-9-39.html b/docs/html/api-index-0-9-39.html
deleted file mode 100644
index 91f6acc..0000000
--- a/docs/html/api-index-0-9-39.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 0.9.39: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-0-9-41.html" title="Index of new symbols in 0.9.41">
-<link rel="next" href="api-index-0-9-38.html" title="Index of new symbols in 0.9.38">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxB">B</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-0-9-41.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-0-9-38.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-0-9-39"></a>Index of new symbols in 0.9.39</h2></div></div></div>
-<a name="idx"></a><a name="idxB"></a><h3 class="title">B</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-add-latin1" title="hb_buffer_add_latin1 ()">hb_buffer_add_latin1</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-0-9-41.html b/docs/html/api-index-0-9-41.html
deleted file mode 100644
index b5913e9..0000000
--- a/docs/html/api-index-0-9-41.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 0.9.41: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-0-9-42.html" title="Index of new symbols in 0.9.42">
-<link rel="next" href="api-index-0-9-39.html" title="Index of new symbols in 0.9.39">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxB">B</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-0-9-42.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-0-9-39.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-0-9-41"></a>Index of new symbols in 0.9.41</h2></div></div></div>
-<a name="idx"></a><a name="idxB"></a><h3 class="title">B</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-reverse-range" title="hb_buffer_reverse_range ()">hb_buffer_reverse_range</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-0-9-42.html b/docs/html/api-index-0-9-42.html
deleted file mode 100644
index b048b2d..0000000
--- a/docs/html/api-index-0-9-42.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 0.9.42: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-1-0-5.html" title="Index of new symbols in 1.0.5">
-<link rel="next" href="api-index-0-9-41.html" title="Index of new symbols in 0.9.41">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxB">B</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-1-0-5.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-0-9-41.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-0-9-42"></a>Index of new symbols in 0.9.42</h2></div></div></div>
-<a name="idx"></a><a name="idxB"></a><h3 class="title">B</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-cluster-level-t" title="enum hb_buffer_cluster_level_t">hb_buffer_cluster_level_t</a>, enum in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-cluster-level" title="hb_buffer_get_cluster_level ()">hb_buffer_get_cluster_level</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-cluster-level" title="hb_buffer_set_cluster_level ()">hb_buffer_set_cluster_level</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-0-9-5.html b/docs/html/api-index-0-9-5.html
deleted file mode 100644
index 9054ab0..0000000
--- a/docs/html/api-index-0-9-5.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 0.9.5: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-0-9-7.html" title="Index of new symbols in 0.9.7">
-<link rel="next" href="api-index-0-9-2.html" title="Index of new symbols in 0.9.2">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxB">B</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxF">F</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxT">T</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-0-9-7.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-0-9-2.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-0-9-5"></a>Index of new symbols in 0.9.5</h2></div></div></div>
-<a name="idx"></a><a name="idxB"></a><h3 class="title">B</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-content-type" title="hb_buffer_get_content_type ()">hb_buffer_get_content_type</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-content-type" title="hb_buffer_set_content_type ()">hb_buffer_set_content_type</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<a name="idxF"></a><h3 class="title">F</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-shape.html#hb-feature-from-string" title="hb_feature_from_string ()">hb_feature_from_string</a>, function in <a class="link" href="harfbuzz-hb-shape.html" title="hb-shape">hb-shape</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-shape.html#hb-feature-to-string" title="hb_feature_to_string ()">hb_feature_to_string</a>, function in <a class="link" href="harfbuzz-hb-shape.html" title="hb-shape">hb-shape</a>
-</dt>
-<dd></dd>
-<a name="idxT"></a><h3 class="title">T</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-common.html#hb-tag-to-string" title="hb_tag_to_string ()">hb_tag_to_string</a>, function in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-0-9-7.html b/docs/html/api-index-0-9-7.html
deleted file mode 100644
index 8ffe5dd..0000000
--- a/docs/html/api-index-0-9-7.html
+++ /dev/null
@@ -1,195 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 0.9.7: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-0-9-8.html" title="Index of new symbols in 0.9.8">
-<link rel="next" href="api-index-0-9-5.html" title="Index of new symbols in 0.9.5">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxB">B</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxF">F</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxO">O</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxS">S</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-0-9-8.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-0-9-5.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-0-9-7"></a>Index of new symbols in 0.9.7</h2></div></div></div>
-<a name="idx"></a><a name="idxB"></a><h3 class="title">B</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-add" title="hb_buffer_add ()">hb_buffer_add</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-deserialize-glyphs" title="hb_buffer_deserialize_glyphs ()">hb_buffer_deserialize_glyphs</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-flags" title="hb_buffer_get_flags ()">hb_buffer_get_flags</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-segment-properties" title="hb_buffer_get_segment_properties ()">hb_buffer_get_segment_properties</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-guess-segment-properties" title="hb_buffer_guess_segment_properties ()">hb_buffer_guess_segment_properties</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-serialize-format-from-string" title="hb_buffer_serialize_format_from_string ()">hb_buffer_serialize_format_from_string</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-serialize-format-to-string" title="hb_buffer_serialize_format_to_string ()">hb_buffer_serialize_format_to_string</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-serialize-glyphs" title="hb_buffer_serialize_glyphs ()">hb_buffer_serialize_glyphs</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-serialize-list-formats" title="hb_buffer_serialize_list_formats ()">hb_buffer_serialize_list_formats</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-flags" title="hb_buffer_set_flags ()">hb_buffer_set_flags</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-segment-properties" title="hb_buffer_set_segment_properties ()">hb_buffer_set_segment_properties</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<a name="idxF"></a><h3 class="title">F</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-get-glyph-count" title="hb_face_get_glyph_count ()">hb_face_get_glyph_count</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-set-glyph-count" title="hb_face_set_glyph_count ()">hb_face_set_glyph_count</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<a name="idxO"></a><h3 class="title">O</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-feature-get-lookups" title="hb_ot_layout_feature_get_lookups ()">hb_ot_layout_feature_get_lookups</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-get-glyphs-in-class" title="hb_ot_layout_get_glyphs_in_class ()">hb_ot_layout_get_glyphs_in_class</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-get-glyph-class" title="hb_ot_layout_get_glyph_class ()">hb_ot_layout_get_glyph_class</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-lookup-collect-glyphs" title="hb_ot_layout_lookup_collect_glyphs ()">hb_ot_layout_lookup_collect_glyphs</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-lookup-substitute-closure" title="hb_ot_layout_lookup_substitute_closure ()">hb_ot_layout_lookup_substitute_closure</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-lookup-would-substitute" title="hb_ot_layout_lookup_would_substitute ()">hb_ot_layout_lookup_would_substitute</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-shape-plan-collect-lookups" title="hb_ot_shape_plan_collect_lookups ()">hb_ot_shape_plan_collect_lookups</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a>
-</dt>
-<dd></dd>
-<a name="idxS"></a><h3 class="title">S</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-equal" title="hb_segment_properties_equal ()">hb_segment_properties_equal</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-hash" title="hb_segment_properties_hash ()">hb_segment_properties_hash</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-add-range" title="hb_set_add_range ()">hb_set_add_range</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-del-range" title="hb_set_del_range ()">hb_set_del_range</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-get-max" title="hb_set_get_max ()">hb_set_get_max</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-get-min" title="hb_set_get_min ()">hb_set_get_min</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-get-population" title="hb_set_get_population ()">hb_set_get_population</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-is-empty" title="hb_set_is_empty ()">hb_set_is_empty</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-is-equal" title="hb_set_is_equal ()">hb_set_is_equal</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-next-range" title="hb_set_next_range ()">hb_set_next_range</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-create" title="hb_shape_plan_create ()">hb_shape_plan_create</a>, function in <a class="link" href="harfbuzz-hb-shape-plan.html" title="hb-shape-plan">hb-shape-plan</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-create-cached" title="hb_shape_plan_create_cached ()">hb_shape_plan_create_cached</a>, function in <a class="link" href="harfbuzz-hb-shape-plan.html" title="hb-shape-plan">hb-shape-plan</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-destroy" title="hb_shape_plan_destroy ()">hb_shape_plan_destroy</a>, function in <a class="link" href="harfbuzz-hb-shape-plan.html" title="hb-shape-plan">hb-shape-plan</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-execute" title="hb_shape_plan_execute ()">hb_shape_plan_execute</a>, function in <a class="link" href="harfbuzz-hb-shape-plan.html" title="hb-shape-plan">hb-shape-plan</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-get-empty" title="hb_shape_plan_get_empty ()">hb_shape_plan_get_empty</a>, function in <a class="link" href="harfbuzz-hb-shape-plan.html" title="hb-shape-plan">hb-shape-plan</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-get-shaper" title="hb_shape_plan_get_shaper ()">hb_shape_plan_get_shaper</a>, function in <a class="link" href="harfbuzz-hb-shape-plan.html" title="hb-shape-plan">hb-shape-plan</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-get-user-data" title="hb_shape_plan_get_user_data ()">hb_shape_plan_get_user_data</a>, function in <a class="link" href="harfbuzz-hb-shape-plan.html" title="hb-shape-plan">hb-shape-plan</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-reference" title="hb_shape_plan_reference ()">hb_shape_plan_reference</a>, function in <a class="link" href="harfbuzz-hb-shape-plan.html" title="hb-shape-plan">hb-shape-plan</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-set-user-data" title="hb_shape_plan_set_user_data ()">hb_shape_plan_set_user_data</a>, function in <a class="link" href="harfbuzz-hb-shape-plan.html" title="hb-shape-plan">hb-shape-plan</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-0-9-8.html b/docs/html/api-index-0-9-8.html
deleted file mode 100644
index c42dee8..0000000
--- a/docs/html/api-index-0-9-8.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 0.9.8: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-0-9-10.html" title="Index of new symbols in 0.9.10">
-<link rel="next" href="api-index-0-9-7.html" title="Index of new symbols in 0.9.7">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxO">O</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-0-9-10.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-0-9-7.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-0-9-8"></a>Index of new symbols in 0.9.8</h2></div></div></div>
-<a name="idx"></a><a name="idxO"></a><h3 class="title">O</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-collect-lookups" title="hb_ot_layout_collect_lookups ()">hb_ot_layout_collect_lookups</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-1-0-5.html b/docs/html/api-index-1-0-5.html
deleted file mode 100644
index 47bc601..0000000
--- a/docs/html/api-index-1-0-5.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.0.5: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-1-1-2.html" title="Index of new symbols in 1.1.2">
-<link rel="next" href="api-index-0-9-42.html" title="Index of new symbols in 0.9.42">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxF">F</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-1-1-2.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-0-9-42.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-1-0-5"></a>Index of new symbols in 1.0.5</h2></div></div></div>
-<a name="idx"></a><a name="idxF"></a><h3 class="title">F</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-set-parent" title="hb_font_set_parent ()">hb_font_set_parent</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ft.html#hb-ft-font-get-load-flags" title="hb_ft_font_get_load_flags ()">hb_ft_font_get_load_flags</a>, function in <a class="link" href="harfbuzz-hb-ft.html" title="hb-ft">hb-ft</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ft.html#hb-ft-font-set-load-flags" title="hb_ft_font_set_load_flags ()">hb_ft_font_set_load_flags</a>, function in <a class="link" href="harfbuzz-hb-ft.html" title="hb-ft">hb-ft</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-1-1-2.html b/docs/html/api-index-1-1-2.html
deleted file mode 100644
index 5a774cc..0000000
--- a/docs/html/api-index-1-1-2.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.1.2: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-1-1-3.html" title="Index of new symbols in 1.1.3">
-<link rel="next" href="api-index-1-0-5.html" title="Index of new symbols in 1.0.5">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxF">F</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-1-1-3.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-1-0-5.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-1-1-2"></a>Index of new symbols in 1.1.2</h2></div></div></div>
-<a name="idx"></a><a name="idxF"></a><h3 class="title">F</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-font-h-extents-func" title="hb_font_funcs_set_font_h_extents_func ()">hb_font_funcs_set_font_h_extents_func</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-font-v-extents-func" title="hb_font_funcs_set_font_v_extents_func ()">hb_font_funcs_set_font_v_extents_func</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-1-1-3.html b/docs/html/api-index-1-1-3.html
deleted file mode 100644
index cc9d926..0000000
--- a/docs/html/api-index-1-1-3.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.1.3: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-1-2-3.html" title="Index of new symbols in 1.2.3">
-<link rel="next" href="api-index-1-1-2.html" title="Index of new symbols in 1.1.2">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxB">B</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxF">F</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-1-2-3.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-1-1-2.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-1-1-3"></a>Index of new symbols in 1.1.3</h2></div></div></div>
-<a name="idx"></a><a name="idxB"></a><h3 class="title">B</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-message-func" title="hb_buffer_set_message_func ()">hb_buffer_set_message_func</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<a name="idxF"></a><h3 class="title">F</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-extents-for-direction" title="hb_font_get_extents_for_direction ()">hb_font_get_extents_for_direction</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-h-extents" title="hb_font_get_h_extents ()">hb_font_get_h_extents</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-v-extents" title="hb_font_get_v_extents ()">hb_font_get_v_extents</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-1-2-3.html b/docs/html/api-index-1-2-3.html
deleted file mode 100644
index 36bf20c..0000000
--- a/docs/html/api-index-1-2-3.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.2.3: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-1-3-3.html" title="Index of new symbols in 1.3.3">
-<link rel="next" href="api-index-1-1-3.html" title="Index of new symbols in 1.1.3">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxF">F</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-1-3-3.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-1-1-3.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-1-2-3"></a>Index of new symbols in 1.2.3</h2></div></div></div>
-<a name="idx"></a><a name="idxF"></a><h3 class="title">F</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-nominal-glyph-func" title="hb_font_funcs_set_nominal_glyph_func ()">hb_font_funcs_set_nominal_glyph_func</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-variation-glyph-func" title="hb_font_funcs_set_variation_glyph_func ()">hb_font_funcs_set_variation_glyph_func</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-nominal-glyph" title="hb_font_get_nominal_glyph ()">hb_font_get_nominal_glyph</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-variation-glyph" title="hb_font_get_variation_glyph ()">hb_font_get_variation_glyph</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-1-3-3.html b/docs/html/api-index-1-3-3.html
deleted file mode 100644
index f5687f5..0000000
--- a/docs/html/api-index-1-3-3.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.3.3: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-1-4-0.html" title="Index of new symbols in 1.4.0">
-<link rel="next" href="api-index-1-2-3.html" title="Index of new symbols in 1.2.3">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxO">O</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-1-4-0.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-1-2-3.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-1-3-3"></a>Index of new symbols in 1.3.3</h2></div></div></div>
-<a name="idx"></a><a name="idxO"></a><h3 class="title">O</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-constant-t" title="enum hb_ot_math_constant_t">hb_ot_math_constant_t</a>, enum in <a class="link" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">hb-ot-math</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-get-constant" title="hb_ot_math_get_constant ()">hb_ot_math_get_constant</a>, function in <a class="link" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">hb-ot-math</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-get-glyph-assembly" title="hb_ot_math_get_glyph_assembly ()">hb_ot_math_get_glyph_assembly</a>, function in <a class="link" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">hb-ot-math</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-get-glyph-italics-correction" title="hb_ot_math_get_glyph_italics_correction ()">hb_ot_math_get_glyph_italics_correction</a>, function in <a class="link" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">hb-ot-math</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-get-glyph-kerning" title="hb_ot_math_get_glyph_kerning ()">hb_ot_math_get_glyph_kerning</a>, function in <a class="link" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">hb-ot-math</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-get-glyph-top-accent-attachment" title="hb_ot_math_get_glyph_top_accent_attachment ()">hb_ot_math_get_glyph_top_accent_attachment</a>, function in <a class="link" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">hb-ot-math</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-get-glyph-variants" title="hb_ot_math_get_glyph_variants ()">hb_ot_math_get_glyph_variants</a>, function in <a class="link" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">hb-ot-math</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-get-min-connector-overlap" title="hb_ot_math_get_min_connector_overlap ()">hb_ot_math_get_min_connector_overlap</a>, function in <a class="link" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">hb-ot-math</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-flags-t" title="enum hb_ot_math_glyph_part_flags_t">hb_ot_math_glyph_part_flags_t</a>, enum in <a class="link" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">hb-ot-math</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t-struct" title="hb_ot_math_glyph_part_t">hb_ot_math_glyph_part_t</a>, struct in <a class="link" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">hb-ot-math</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t-struct" title="hb_ot_math_glyph_variant_t">hb_ot_math_glyph_variant_t</a>, struct in <a class="link" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">hb-ot-math</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-has-data" title="hb_ot_math_has_data ()">hb_ot_math_has_data</a>, function in <a class="link" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">hb-ot-math</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-is-glyph-extended-shape" title="hb_ot_math_is_glyph_extended_shape ()">hb_ot_math_is_glyph_extended_shape</a>, function in <a class="link" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">hb-ot-math</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-kern-t" title="enum hb_ot_math_kern_t">hb_ot_math_kern_t</a>, enum in <a class="link" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">hb-ot-math</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-1-4-0.html b/docs/html/api-index-1-4-0.html
deleted file mode 100644
index c6bfe97..0000000
--- a/docs/html/api-index-1-4-0.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.4.0: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-1-4-2.html" title="Index of new symbols in 1.4.2">
-<link rel="next" href="api-index-1-3-3.html" title="Index of new symbols in 1.3.3">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-1-4-2.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-1-3-3.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-1-4-0"></a>Index of new symbols in 1.4.0</h2></div></div></div>
-<div xmlns:xlink="http://www.w3.org/1999/xlink" class="index"></div>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-1-4-2.html b/docs/html/api-index-1-4-2.html
deleted file mode 100644
index e7fd690..0000000
--- a/docs/html/api-index-1-4-2.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.4.2: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-1-4-3.html" title="Index of new symbols in 1.4.3">
-<link rel="next" href="api-index-1-4-0.html" title="Index of new symbols in 1.4.0">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxF">F</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxO">O</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxV">V</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-1-4-3.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-1-4-0.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-1-4-2"></a>Index of new symbols in 1.4.2</h2></div></div></div>
-<a name="idx"></a><a name="idxF"></a><h3 class="title">F</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-var-coords-normalized" title="hb_font_get_var_coords_normalized ()">hb_font_get_var_coords_normalized</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-set-variations" title="hb_font_set_variations ()">hb_font_set_variations</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-set-var-coords-design" title="hb_font_set_var_coords_design ()">hb_font_set_var_coords_design</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-set-var-coords-normalized" title="hb_font_set_var_coords_normalized ()">hb_font_set_var_coords_normalized</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<a name="idxO"></a><h3 class="title">O</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-var.html#hb-ot-var-get-axis-count" title="hb_ot_var_get_axis_count ()">hb_ot_var_get_axis_count</a>, function in <a class="link" href="harfbuzz-hb-ot-var.html" title="hb-ot-var">hb-ot-var</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-var.html#hb-ot-var-has-data" title="hb_ot_var_has_data ()">hb_ot_var_has_data</a>, function in <a class="link" href="harfbuzz-hb-ot-var.html" title="hb-ot-var">hb-ot-var</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-var.html#hb-ot-var-normalize-coords" title="hb_ot_var_normalize_coords ()">hb_ot_var_normalize_coords</a>, function in <a class="link" href="harfbuzz-hb-ot-var.html" title="hb-ot-var">hb-ot-var</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-var.html#hb-ot-var-normalize-variations" title="hb_ot_var_normalize_variations ()">hb_ot_var_normalize_variations</a>, function in <a class="link" href="harfbuzz-hb-ot-var.html" title="hb-ot-var">hb-ot-var</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-deprecated.html#HB-OT-VAR-NO-AXIS-INDEX:CAPS" title="HB_OT_VAR_NO_AXIS_INDEX">HB_OT_VAR_NO_AXIS_INDEX</a>, macro in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a>
-</dt>
-<dd></dd>
-<a name="idxV"></a><h3 class="title">V</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-variation-from-string" title="hb_variation_from_string ()">hb_variation_from_string</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-variation-t" title="hb_variation_t">hb_variation_t</a>, struct in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-variation-to-string" title="hb_variation_to_string ()">hb_variation_to_string</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-1-4-3.html b/docs/html/api-index-1-4-3.html
deleted file mode 100644
index 9b333ed..0000000
--- a/docs/html/api-index-1-4-3.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.4.3: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-1-5-0.html" title="Index of new symbols in 1.5.0">
-<link rel="next" href="api-index-1-4-2.html" title="Index of new symbols in 1.4.2">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxF">F</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-1-5-0.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-1-4-2.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-1-4-3"></a>Index of new symbols in 1.4.3</h2></div></div></div>
-<a name="idx"></a><a name="idxF"></a><h3 class="title">F</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-set-face" title="hb_font_set_face ()">hb_font_set_face</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-1-5-0.html b/docs/html/api-index-1-5-0.html
deleted file mode 100644
index 0321f7a..0000000
--- a/docs/html/api-index-1-5-0.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.5.0: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-1-6-0.html" title="Index of new symbols in 1.6.0">
-<link rel="next" href="api-index-1-4-3.html" title="Index of new symbols in 1.4.3">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxB">B</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxG">G</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-1-6-0.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-1-4-3.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-1-5-0"></a>Index of new symbols in 1.5.0</h2></div></div></div>
-<a name="idx"></a><a name="idxB"></a><h3 class="title">B</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-append" title="hb_buffer_append ()">hb_buffer_append</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-diff" title="hb_buffer_diff ()">hb_buffer_diff</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<a name="idxG"></a><h3 class="title">G</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-flags-t" title="enum hb_glyph_flags_t">hb_glyph_flags_t</a>, enum in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-info-get-glyph-flags" title="hb_glyph_info_get_glyph_flags ()">hb_glyph_info_get_glyph_flags</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-1-6-0.html b/docs/html/api-index-1-6-0.html
deleted file mode 100644
index cf383a5..0000000
--- a/docs/html/api-index-1-6-0.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.6.0: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-1-7-5.html" title="Index of new symbols in 1.7.5">
-<link rel="next" href="api-index-1-5-0.html" title="Index of new symbols in 1.5.0">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxF">F</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-1-7-5.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-1-5-0.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-1-6-0"></a>Index of new symbols in 1.6.0</h2></div></div></div>
-<a name="idx"></a><a name="idxF"></a><h3 class="title">F</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-get-table-tags" title="hb_face_get_table_tags ()">hb_face_get_table_tags</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-set-ptem" title="hb_font_set_ptem ()">hb_font_set_ptem</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-1-7-5.html b/docs/html/api-index-1-7-5.html
deleted file mode 100644
index 3863eea..0000000
--- a/docs/html/api-index-1-7-5.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.7.5: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-1-7-7.html" title="Index of new symbols in 1.7.7">
-<link rel="next" href="api-index-1-6-0.html" title="Index of new symbols in 1.6.0">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-1-7-7.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-1-6-0.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-1-7-5"></a>Index of new symbols in 1.7.5</h2></div></div></div>
-<a name="idx"></a>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-1-7-7.html b/docs/html/api-index-1-7-7.html
deleted file mode 100644
index 277561c..0000000
--- a/docs/html/api-index-1-7-7.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.7.7: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-1-8-0.html" title="Index of new symbols in 1.8.0">
-<link rel="next" href="api-index-1-7-5.html" title="Index of new symbols in 1.7.5">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxB">B</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxF">F</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxM">M</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-1-8-0.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-1-7-5.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-1-7-7"></a>Index of new symbols in 1.7.7</h2></div></div></div>
-<a name="idx"></a><a name="idxB"></a><h3 class="title">B</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-create-from-file" title="hb_blob_create_from_file ()">hb_blob_create_from_file</a>, function in <a class="link" href="harfbuzz-hb-blob.html" title="hb-blob">hb-blob</a>
-</dt>
-<dd></dd>
-<a name="idxF"></a><h3 class="title">F</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-count" title="hb_face_count ()">hb_face_count</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<a name="idxM"></a><h3 class="title">M</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-map.html#hb-map-allocation-successful" title="hb_map_allocation_successful ()">hb_map_allocation_successful</a>, function in <a class="link" href="harfbuzz-hb-map.html" title="hb-map">hb-map</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-map.html#hb-map-clear" title="hb_map_clear ()">hb_map_clear</a>, function in <a class="link" href="harfbuzz-hb-map.html" title="hb-map">hb-map</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-map.html#hb-map-create" title="hb_map_create ()">hb_map_create</a>, function in <a class="link" href="harfbuzz-hb-map.html" title="hb-map">hb-map</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-map.html#hb-map-del" title="hb_map_del ()">hb_map_del</a>, function in <a class="link" href="harfbuzz-hb-map.html" title="hb-map">hb-map</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-map.html#hb-map-destroy" title="hb_map_destroy ()">hb_map_destroy</a>, function in <a class="link" href="harfbuzz-hb-map.html" title="hb-map">hb-map</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-map.html#hb-map-get" title="hb_map_get ()">hb_map_get</a>, function in <a class="link" href="harfbuzz-hb-map.html" title="hb-map">hb-map</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-map.html#hb-map-get-empty" title="hb_map_get_empty ()">hb_map_get_empty</a>, function in <a class="link" href="harfbuzz-hb-map.html" title="hb-map">hb-map</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-map.html#hb-map-get-population" title="hb_map_get_population ()">hb_map_get_population</a>, function in <a class="link" href="harfbuzz-hb-map.html" title="hb-map">hb-map</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-map.html#hb-map-get-user-data" title="hb_map_get_user_data ()">hb_map_get_user_data</a>, function in <a class="link" href="harfbuzz-hb-map.html" title="hb-map">hb-map</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-map.html#hb-map-has" title="hb_map_has ()">hb_map_has</a>, function in <a class="link" href="harfbuzz-hb-map.html" title="hb-map">hb-map</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-map.html#hb-map-is-empty" title="hb_map_is_empty ()">hb_map_is_empty</a>, function in <a class="link" href="harfbuzz-hb-map.html" title="hb-map">hb-map</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-map.html#hb-map-reference" title="hb_map_reference ()">hb_map_reference</a>, function in <a class="link" href="harfbuzz-hb-map.html" title="hb-map">hb-map</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-map.html#hb-map-set" title="hb_map_set ()">hb_map_set</a>, function in <a class="link" href="harfbuzz-hb-map.html" title="hb-map">hb-map</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-map.html#hb-map-set-user-data" title="hb_map_set_user_data ()">hb_map_set_user_data</a>, function in <a class="link" href="harfbuzz-hb-map.html" title="hb-map">hb-map</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-1-8-0.html b/docs/html/api-index-1-8-0.html
deleted file mode 100644
index 65476d8..0000000
--- a/docs/html/api-index-1-8-0.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.8.0: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-1-8-1.html" title="Index of new symbols in 1.8.1">
-<link rel="next" href="api-index-1-7-7.html" title="Index of new symbols in 1.7.7">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxB">B</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxS">S</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-1-8-1.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-1-7-7.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-1-8-0"></a>Index of new symbols in 1.8.0</h2></div></div></div>
-<a name="idx"></a><a name="idxB"></a><h3 class="title">B</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-copy-writable-or-fail" title="hb_blob_copy_writable_or_fail ()">hb_blob_copy_writable_or_fail</a>, function in <a class="link" href="harfbuzz-hb-blob.html" title="hb-blob">hb-blob</a>
-</dt>
-<dd></dd>
-<a name="idxS"></a><h3 class="title">S</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-previous" title="hb_set_previous ()">hb_set_previous</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-previous-range" title="hb_set_previous_range ()">hb_set_previous_range</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-1-8-1.html b/docs/html/api-index-1-8-1.html
deleted file mode 100644
index 2db6d73..0000000
--- a/docs/html/api-index-1-8-1.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.8.1: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-1-8-5.html" title="Index of new symbols in 1.8.5">
-<link rel="next" href="api-index-1-8-0.html" title="Index of new symbols in 1.8.0">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxO">O</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxS">S</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-1-8-5.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-1-8-0.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-1-8-1"></a>Index of new symbols in 1.8.1</h2></div></div></div>
-<a name="idx"></a><a name="idxO"></a><h3 class="title">O</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-lookups-substitute-closure" title="hb_ot_layout_lookups_substitute_closure ()">hb_ot_layout_lookups_substitute_closure</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a>
-</dt>
-<dd></dd>
-<a name="idxS"></a><h3 class="title">S</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-is-subset" title="hb_set_is_subset ()">hb_set_is_subset</a>, function in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-1-8-5.html b/docs/html/api-index-1-8-5.html
deleted file mode 100644
index 4c31dfc..0000000
--- a/docs/html/api-index-1-8-5.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.8.5: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-1-8-6.html" title="Index of new symbols in 1.8.6">
-<link rel="next" href="api-index-1-8-1.html" title="Index of new symbols in 1.8.1">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxO">O</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-1-8-6.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-1-8-1.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-1-8-5"></a>Index of new symbols in 1.8.5</h2></div></div></div>
-<a name="idx"></a><a name="idxO"></a><h3 class="title">O</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-collect-features" title="hb_ot_layout_collect_features ()">hb_ot_layout_collect_features</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-1-8-6.html b/docs/html/api-index-1-8-6.html
deleted file mode 100644
index b930c3f..0000000
--- a/docs/html/api-index-1-8-6.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.8.6: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-1-9-0.html" title="Index of new symbols in 1.9.0">
-<link rel="next" href="api-index-1-8-5.html" title="Index of new symbols in 1.8.5">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxF">F</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-1-9-0.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-1-8-5.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-1-8-6"></a>Index of new symbols in 1.8.6</h2></div></div></div>
-<a name="idx"></a><a name="idxF"></a><h3 class="title">F</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-h-advances-func" title="hb_font_funcs_set_glyph_h_advances_func ()">hb_font_funcs_set_glyph_h_advances_func</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-v-advances-func" title="hb_font_funcs_set_glyph_v_advances_func ()">hb_font_funcs_set_glyph_v_advances_func</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-advances-for-direction" title="hb_font_get_glyph_advances_for_direction ()">hb_font_get_glyph_advances_for_direction</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-advances" title="hb_font_get_glyph_h_advances ()">hb_font_get_glyph_h_advances</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-v-advances" title="hb_font_get_glyph_v_advances ()">hb_font_get_glyph_v_advances</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-1-9-0.html b/docs/html/api-index-1-9-0.html
deleted file mode 100644
index c04ee2e..0000000
--- a/docs/html/api-index-1-9-0.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.9.0: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-2-0-0.html" title="Index of new symbols in 2.0.0">
-<link rel="next" href="api-index-1-8-6.html" title="Index of new symbols in 1.8.6">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxF">F</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxU">U</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-2-0-0.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-1-8-6.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-1-9-0"></a>Index of new symbols in 1.9.0</h2></div></div></div>
-<a name="idx"></a><a name="idxF"></a><h3 class="title">F</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-builder-add-table" title="hb_face_builder_add_table ()">hb_face_builder_add_table</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-builder-create" title="hb_face_builder_create ()">hb_face_builder_create</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-collect-unicodes" title="hb_face_collect_unicodes ()">hb_face_collect_unicodes</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-collect-variation-selectors" title="hb_face_collect_variation_selectors ()">hb_face_collect_variation_selectors</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-collect-variation-unicodes" title="hb_face_collect_variation_unicodes ()">hb_face_collect_variation_unicodes</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
-</dt>
-<dd></dd>
-<a name="idxU"></a><h3 class="title">U</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#HB-UNICODE-MAX:CAPS" title="HB_UNICODE_MAX">HB_UNICODE_MAX</a>, macro in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-2-0-0.html b/docs/html/api-index-2-0-0.html
deleted file mode 100644
index bf4c644..0000000
--- a/docs/html/api-index-2-0-0.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 2.0.0: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-2-1-0.html" title="Index of new symbols in 2.1.0">
-<link rel="next" href="api-index-1-9-0.html" title="Index of new symbols in 1.9.0">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxB">B</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxF">F</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxO">O</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-2-1-0.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-1-9-0.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-2-0-0"></a>Index of new symbols in 2.0.0</h2></div></div></div>
-<a name="idx"></a><a name="idxB"></a><h3 class="title">B</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-invisible-glyph" title="hb_buffer_get_invisible_glyph ()">hb_buffer_get_invisible_glyph</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-invisible-glyph" title="hb_buffer_set_invisible_glyph ()">hb_buffer_set_invisible_glyph</a>, function in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<a name="idxF"></a><h3 class="title">F</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-shape.html#HB-FEATURE-GLOBAL-END:CAPS" title="HB_FEATURE_GLOBAL_END">HB_FEATURE_GLOBAL_END</a>, macro in <a class="link" href="harfbuzz-hb-shape.html" title="hb-shape">hb-shape</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-shape.html#HB-FEATURE-GLOBAL-START:CAPS" title="HB_FEATURE_GLOBAL_START">HB_FEATURE_GLOBAL_START</a>, macro in <a class="link" href="harfbuzz-hb-shape.html" title="hb-shape">hb-shape</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-nominal-glyphs-func" title="hb_font_funcs_set_nominal_glyphs_func ()">hb_font_funcs_set_nominal_glyphs_func</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
-</dt>
-<dd></dd>
-<a name="idxO"></a><h3 class="title">O</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-feature-get-characters" title="hb_ot_layout_feature_get_characters ()">hb_ot_layout_feature_get_characters</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-feature-get-name-ids" title="hb_ot_layout_feature_get_name_ids ()">hb_ot_layout_feature_get_name_ids</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-script-select-language" title="hb_ot_layout_script_select_language ()">hb_ot_layout_script_select_language</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-table-select-script" title="hb_ot_layout_table_select_script ()">hb_ot_layout_table_select_script</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-layout.html#HB-OT-MAX-TAGS-PER-LANGUAGE:CAPS" title="HB_OT_MAX_TAGS_PER_LANGUAGE">HB_OT_MAX_TAGS_PER_LANGUAGE</a>, macro in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-layout.html#HB-OT-MAX-TAGS-PER-SCRIPT:CAPS" title="HB_OT_MAX_TAGS_PER_SCRIPT">HB_OT_MAX_TAGS_PER_SCRIPT</a>, macro in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-id-t" title="hb_ot_name_id_t">hb_ot_name_id_t</a>, typedef in <a class="link" href="harfbuzz-hb-ot-name.html" title="hb-ot-name">hb-ot-name</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-tags-from-script-and-language" title="hb_ot_tags_from_script_and_language ()">hb_ot_tags_from_script_and_language</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-tags-to-script-and-language" title="hb_ot_tags_to_script_and_language ()">hb_ot_tags_to_script_and_language</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-2-1-0.html b/docs/html/api-index-2-1-0.html
deleted file mode 100644
index f1e19aa..0000000
--- a/docs/html/api-index-2-1-0.html
+++ /dev/null
@@ -1,121 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 2.1.0: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="deprecated-api-index.html" title="Index of deprecated API">
-<link rel="next" href="api-index-2-0-0.html" title="Index of new symbols in 2.0.0">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxC">C</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxO">O</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="deprecated-api-index.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-2-0-0.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="api-index-2-1-0"></a>Index of new symbols in 2.1.0</h2></div></div></div>
-<a name="idx"></a><a name="idxC"></a><h3 class="title">C</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-color.html#hb-color-get-alpha" title="hb_color_get_alpha()">hb_color_get_alpha</a>, macro in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-color.html#hb-color-get-blue" title="hb_color_get_blue()">hb_color_get_blue</a>, macro in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-color.html#hb-color-get-green" title="hb_color_get_green()">hb_color_get_green</a>, macro in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-color.html#hb-color-get-red" title="hb_color_get_red()">hb_color_get_red</a>, macro in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-color.html#hb-color-t" title="hb_color_t">hb_color_t</a>, typedef in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a>
-</dt>
-<dd></dd>
-<a name="idxO"></a><h3 class="title">O</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-glyph-get-layers" title="hb_ot_color_glyph_get_layers ()">hb_ot_color_glyph_get_layers</a>, function in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-glyph-reference-png" title="hb_ot_color_glyph_reference_png ()">hb_ot_color_glyph_reference_png</a>, function in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-glyph-reference-svg" title="hb_ot_color_glyph_reference_svg ()">hb_ot_color_glyph_reference_svg</a>, function in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-has-layers" title="hb_ot_color_has_layers ()">hb_ot_color_has_layers</a>, function in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-has-palettes" title="hb_ot_color_has_palettes ()">hb_ot_color_has_palettes</a>, function in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-has-png" title="hb_ot_color_has_png ()">hb_ot_color_has_png</a>, function in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-has-svg" title="hb_ot_color_has_svg ()">hb_ot_color_has_svg</a>, function in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-palette-color-get-name-id" title="hb_ot_color_palette_color_get_name_id ()">hb_ot_color_palette_color_get_name_id</a>, function in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-palette-flags-t" title="enum hb_ot_color_palette_flags_t">hb_ot_color_palette_flags_t</a>, enum in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-palette-get-colors" title="hb_ot_color_palette_get_colors ()">hb_ot_color_palette_get_colors</a>, function in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-palette-get-count" title="hb_ot_color_palette_get_count ()">hb_ot_color_palette_get_count</a>, function in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-palette-get-flags" title="hb_ot_color_palette_get_flags ()">hb_ot_color_palette_get_flags</a>, function in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-palette-get-name-id" title="hb_ot_color_palette_get_name_id ()">hb_ot_color_palette_get_name_id</a>, function in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-get-utf16" title="hb_ot_name_get_utf16 ()">hb_ot_name_get_utf16</a>, function in <a class="link" href="harfbuzz-hb-ot-name.html" title="hb-ot-name">hb-ot-name</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-get-utf32" title="hb_ot_name_get_utf32 ()">hb_ot_name_get_utf32</a>, function in <a class="link" href="harfbuzz-hb-ot-name.html" title="hb-ot-name">hb-ot-name</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-get-utf8" title="hb_ot_name_get_utf8 ()">hb_ot_name_get_utf8</a>, function in <a class="link" href="harfbuzz-hb-ot-name.html" title="hb-ot-name">hb-ot-name</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-list-names" title="hb_ot_name_list_names ()">hb_ot_name_list_names</a>, function in <a class="link" href="harfbuzz-hb-ot-name.html" title="hb-ot-name">hb-ot-name</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/api-index-full.html b/docs/html/api-index-full.html
index 5e0cb84..9e3926d 100644
--- a/docs/html/api-index-full.html
+++ b/docs/html/api-index-full.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>API Index: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="pt02.html" title="Part II. Reference manual">
<link rel="prev" href="harfbuzz-hb-uniscribe.html" title="hb-uniscribe">
<link rel="next" href="deprecated-api-index.html" title="Index of deprecated API">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -147,7 +147,7 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t">hb_blob_t</a>, typedef in <a class="link" href="harfbuzz-hb-blob.html" title="hb-blob">hb-blob</a>
+<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t">hb_blob_t</a>, typedef in <a class="link" href="harfbuzz-hb-blob.html" title="hb-blob">hb-blob</a>
</dt>
<dd></dd>
<dt>
@@ -407,7 +407,7 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t">hb_buffer_t</a>, typedef in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
+<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t">hb_buffer_t</a>, typedef in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
</dt>
<dd></dd>
<a name="idxC"></a><h3 class="title">C</h3>
@@ -606,27 +606,27 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="harfbuzz-hb-face.html#hb-face-t">hb_face_t</a>, typedef in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
+<a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t">hb_face_t</a>, typedef in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="harfbuzz-hb-shape.html#hb-feature-from-string" title="hb_feature_from_string ()">hb_feature_from_string</a>, function in <a class="link" href="harfbuzz-hb-shape.html" title="hb-shape">hb-shape</a>
+<a class="link" href="harfbuzz-hb-common.html#hb-feature-from-string" title="hb_feature_from_string ()">hb_feature_from_string</a>, function in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="harfbuzz-hb-shape.html#HB-FEATURE-GLOBAL-END:CAPS" title="HB_FEATURE_GLOBAL_END">HB_FEATURE_GLOBAL_END</a>, macro in <a class="link" href="harfbuzz-hb-shape.html" title="hb-shape">hb-shape</a>
+<a class="link" href="harfbuzz-hb-common.html#HB-FEATURE-GLOBAL-END:CAPS" title="HB_FEATURE_GLOBAL_END">HB_FEATURE_GLOBAL_END</a>, macro in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="harfbuzz-hb-shape.html#HB-FEATURE-GLOBAL-START:CAPS" title="HB_FEATURE_GLOBAL_START">HB_FEATURE_GLOBAL_START</a>, macro in <a class="link" href="harfbuzz-hb-shape.html" title="hb-shape">hb-shape</a>
+<a class="link" href="harfbuzz-hb-common.html#HB-FEATURE-GLOBAL-START:CAPS" title="HB_FEATURE_GLOBAL_START">HB_FEATURE_GLOBAL_START</a>, macro in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="harfbuzz-hb-shape.html#hb-feature-t-struct" title="hb_feature_t">hb_feature_t</a>, struct in <a class="link" href="harfbuzz-hb-shape.html" title="hb-shape">hb-shape</a>
+<a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t">hb_feature_t</a>, struct in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="harfbuzz-hb-shape.html#hb-feature-to-string" title="hb_feature_to_string ()">hb_feature_to_string</a>, function in <a class="link" href="harfbuzz-hb-shape.html" title="hb-shape">hb-shape</a>
+<a class="link" href="harfbuzz-hb-common.html#hb-feature-to-string" title="hb_feature_to_string ()">hb_feature_to_string</a>, function in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a>
</dt>
<dd></dd>
<dt>
@@ -746,7 +746,7 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t">hb_font_funcs_t</a>, typedef in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
+<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t">hb_font_funcs_t</a>, typedef in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
</dt>
<dd></dd>
<dt>
@@ -1034,7 +1034,7 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-font-t">hb_font_t</a>, typedef in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
+<a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t">hb_font_t</a>, typedef in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
</dt>
<dd></dd>
<dt>
@@ -1103,271 +1103,7 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t-struct" title="hb_glyph_position_t">hb_glyph_position_t</a>, struct in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-blob-get-type" title="hb_gobject_blob_get_type ()">hb_gobject_blob_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-cluster-level-get-type" title="hb_gobject_buffer_cluster_level_get_type ()">hb_gobject_buffer_cluster_level_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-content-type-get-type" title="hb_gobject_buffer_content_type_get_type ()">hb_gobject_buffer_content_type_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-diff-flags-get-type" title="hb_gobject_buffer_diff_flags_get_type ()">hb_gobject_buffer_diff_flags_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-flags-get-type" title="hb_gobject_buffer_flags_get_type ()">hb_gobject_buffer_flags_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-get-type" title="hb_gobject_buffer_get_type ()">hb_gobject_buffer_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-serialize-flags-get-type" title="hb_gobject_buffer_serialize_flags_get_type ()">hb_gobject_buffer_serialize_flags_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-serialize-format-get-type" title="hb_gobject_buffer_serialize_format_get_type ()">hb_gobject_buffer_serialize_format_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-direction-get-type" title="hb_gobject_direction_get_type ()">hb_gobject_direction_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-face-get-type" title="hb_gobject_face_get_type ()">hb_gobject_face_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-feature-get-type" title="hb_gobject_feature_get_type ()">hb_gobject_feature_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-font-funcs-get-type" title="hb_gobject_font_funcs_get_type ()">hb_gobject_font_funcs_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-font-get-type" title="hb_gobject_font_get_type ()">hb_gobject_font_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-glyph-flags-get-type" title="hb_gobject_glyph_flags_get_type ()">hb_gobject_glyph_flags_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-glyph-info-get-type" title="hb_gobject_glyph_info_get_type ()">hb_gobject_glyph_info_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-glyph-position-get-type" title="hb_gobject_glyph_position_get_type ()">hb_gobject_glyph_position_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-map-get-type" title="hb_gobject_map_get_type ()">hb_gobject_map_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-memory-mode-get-type" title="hb_gobject_memory_mode_get_type ()">hb_gobject_memory_mode_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-color-palette-flags-get-type" title="hb_gobject_ot_color_palette_flags_get_type ()">hb_gobject_ot_color_palette_flags_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-layout-glyph-class-get-type" title="hb_gobject_ot_layout_glyph_class_get_type ()">hb_gobject_ot_layout_glyph_class_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-math-constant-get-type" title="hb_gobject_ot_math_constant_get_type ()">hb_gobject_ot_math_constant_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-math-glyph-part-flags-get-type" title="hb_gobject_ot_math_glyph_part_flags_get_type ()">hb_gobject_ot_math_glyph_part_flags_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-math-glyph-part-get-type" title="hb_gobject_ot_math_glyph_part_get_type ()">hb_gobject_ot_math_glyph_part_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-math-glyph-variant-get-type" title="hb_gobject_ot_math_glyph_variant_get_type ()">hb_gobject_ot_math_glyph_variant_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-math-kern-get-type" title="hb_gobject_ot_math_kern_get_type ()">hb_gobject_ot_math_kern_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-script-get-type" title="hb_gobject_script_get_type ()">hb_gobject_script_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-segment-properties-get-type" title="hb_gobject_segment_properties_get_type ()">hb_gobject_segment_properties_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-set-get-type" title="hb_gobject_set_get_type ()">hb_gobject_set_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-shape-plan-get-type" title="hb_gobject_shape_plan_get_type ()">hb_gobject_shape_plan_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BLOB:CAPS" title="HB_GOBJECT_TYPE_BLOB">HB_GOBJECT_TYPE_BLOB</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER:CAPS" title="HB_GOBJECT_TYPE_BUFFER">HB_GOBJECT_TYPE_BUFFER</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-CLUSTER-LEVEL:CAPS" title="HB_GOBJECT_TYPE_BUFFER_CLUSTER_LEVEL">HB_GOBJECT_TYPE_BUFFER_CLUSTER_LEVEL</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-CONTENT-TYPE:CAPS" title="HB_GOBJECT_TYPE_BUFFER_CONTENT_TYPE">HB_GOBJECT_TYPE_BUFFER_CONTENT_TYPE</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-DIFF-FLAGS:CAPS" title="HB_GOBJECT_TYPE_BUFFER_DIFF_FLAGS">HB_GOBJECT_TYPE_BUFFER_DIFF_FLAGS</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-FLAGS:CAPS" title="HB_GOBJECT_TYPE_BUFFER_FLAGS">HB_GOBJECT_TYPE_BUFFER_FLAGS</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-SERIALIZE-FLAGS:CAPS" title="HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FLAGS">HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FLAGS</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-SERIALIZE-FORMAT:CAPS" title="HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FORMAT">HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FORMAT</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-DIRECTION:CAPS" title="HB_GOBJECT_TYPE_DIRECTION">HB_GOBJECT_TYPE_DIRECTION</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FACE:CAPS" title="HB_GOBJECT_TYPE_FACE">HB_GOBJECT_TYPE_FACE</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FEATURE:CAPS" title="HB_GOBJECT_TYPE_FEATURE">HB_GOBJECT_TYPE_FEATURE</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FONT:CAPS" title="HB_GOBJECT_TYPE_FONT">HB_GOBJECT_TYPE_FONT</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FONT-FUNCS:CAPS" title="HB_GOBJECT_TYPE_FONT_FUNCS">HB_GOBJECT_TYPE_FONT_FUNCS</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-GLYPH-FLAGS:CAPS" title="HB_GOBJECT_TYPE_GLYPH_FLAGS">HB_GOBJECT_TYPE_GLYPH_FLAGS</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-GLYPH-INFO:CAPS" title="HB_GOBJECT_TYPE_GLYPH_INFO">HB_GOBJECT_TYPE_GLYPH_INFO</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-GLYPH-POSITION:CAPS" title="HB_GOBJECT_TYPE_GLYPH_POSITION">HB_GOBJECT_TYPE_GLYPH_POSITION</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-MAP:CAPS" title="HB_GOBJECT_TYPE_MAP">HB_GOBJECT_TYPE_MAP</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-MEMORY-MODE:CAPS" title="HB_GOBJECT_TYPE_MEMORY_MODE">HB_GOBJECT_TYPE_MEMORY_MODE</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-COLOR-PALETTE-FLAGS:CAPS" title="HB_GOBJECT_TYPE_OT_COLOR_PALETTE_FLAGS">HB_GOBJECT_TYPE_OT_COLOR_PALETTE_FLAGS</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-LAYOUT-GLYPH-CLASS:CAPS" title="HB_GOBJECT_TYPE_OT_LAYOUT_GLYPH_CLASS">HB_GOBJECT_TYPE_OT_LAYOUT_GLYPH_CLASS</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-CONSTANT:CAPS" title="HB_GOBJECT_TYPE_OT_MATH_CONSTANT">HB_GOBJECT_TYPE_OT_MATH_CONSTANT</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-GLYPH-PART:CAPS" title="HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART">HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-GLYPH-PART-FLAGS:CAPS" title="HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART_FLAGS">HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART_FLAGS</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-GLYPH-VARIANT:CAPS" title="HB_GOBJECT_TYPE_OT_MATH_GLYPH_VARIANT">HB_GOBJECT_TYPE_OT_MATH_GLYPH_VARIANT</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-KERN:CAPS" title="HB_GOBJECT_TYPE_OT_MATH_KERN">HB_GOBJECT_TYPE_OT_MATH_KERN</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SCRIPT:CAPS" title="HB_GOBJECT_TYPE_SCRIPT">HB_GOBJECT_TYPE_SCRIPT</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SEGMENT-PROPERTIES:CAPS" title="HB_GOBJECT_TYPE_SEGMENT_PROPERTIES">HB_GOBJECT_TYPE_SEGMENT_PROPERTIES</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SET:CAPS" title="HB_GOBJECT_TYPE_SET">HB_GOBJECT_TYPE_SET</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SHAPE-PLAN:CAPS" title="HB_GOBJECT_TYPE_SHAPE_PLAN">HB_GOBJECT_TYPE_SHAPE_PLAN</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-UNICODE-COMBINING-CLASS:CAPS" title="HB_GOBJECT_TYPE_UNICODE_COMBINING_CLASS">HB_GOBJECT_TYPE_UNICODE_COMBINING_CLASS</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-UNICODE-FUNCS:CAPS" title="HB_GOBJECT_TYPE_UNICODE_FUNCS">HB_GOBJECT_TYPE_UNICODE_FUNCS</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-UNICODE-GENERAL-CATEGORY:CAPS" title="HB_GOBJECT_TYPE_UNICODE_GENERAL_CATEGORY">HB_GOBJECT_TYPE_UNICODE_GENERAL_CATEGORY</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-USER-DATA-KEY:CAPS" title="HB_GOBJECT_TYPE_USER_DATA_KEY">HB_GOBJECT_TYPE_USER_DATA_KEY</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-unicode-combining-class-get-type" title="hb_gobject_unicode_combining_class_get_type ()">hb_gobject_unicode_combining_class_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-unicode-funcs-get-type" title="hb_gobject_unicode_funcs_get_type ()">hb_gobject_unicode_funcs_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-unicode-general-category-get-type" title="hb_gobject_unicode_general_category_get_type ()">hb_gobject_unicode_general_category_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-user-data-key-get-type" title="hb_gobject_user_data_key_get_type ()">hb_gobject_user_data_key_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a>
+<a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t" title="hb_glyph_position_t">hb_glyph_position_t</a>, struct in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
</dt>
<dd></dd>
<dt>
@@ -1470,7 +1206,7 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="harfbuzz-hb-map.html#hb-map-t">hb_map_t</a>, typedef in <a class="link" href="harfbuzz-hb-map.html" title="hb-map">hb-map</a>
+<a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t">hb_map_t</a>, typedef in <a class="link" href="harfbuzz-hb-map.html" title="hb-map">hb-map</a>
</dt>
<dd></dd>
<dt>
@@ -1727,11 +1463,11 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t-struct" title="hb_ot_math_glyph_part_t">hb_ot_math_glyph_part_t</a>, struct in <a class="link" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">hb-ot-math</a>
+<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t" title="hb_ot_math_glyph_part_t">hb_ot_math_glyph_part_t</a>, struct in <a class="link" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">hb-ot-math</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t-struct" title="hb_ot_math_glyph_variant_t">hb_ot_math_glyph_variant_t</a>, struct in <a class="link" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">hb-ot-math</a>
+<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t" title="hb_ot_math_glyph_variant_t">hb_ot_math_glyph_variant_t</a>, struct in <a class="link" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">hb-ot-math</a>
</dt>
<dd></dd>
<dt>
@@ -1950,7 +1686,7 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t-struct" title="hb_segment_properties_t">hb_segment_properties_t</a>, struct in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
+<a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t">hb_segment_properties_t</a>, struct in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a>
</dt>
<dd></dd>
<dt>
@@ -2062,7 +1798,7 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="harfbuzz-hb-set.html#hb-set-t">hb_set_t</a>, typedef in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
+<a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t">hb_set_t</a>, typedef in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a>
</dt>
<dd></dd>
<dt>
@@ -2130,7 +1866,7 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t">hb_shape_plan_t</a>, typedef in <a class="link" href="harfbuzz-hb-shape-plan.html" title="hb-shape-plan">hb-shape-plan</a>
+<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t">hb_shape_plan_t</a>, typedef in <a class="link" href="harfbuzz-hb-shape-plan.html" title="hb-shape-plan">hb-shape-plan</a>
</dt>
<dd></dd>
<a name="idxT"></a><h3 class="title">T</h3>
@@ -2256,7 +1992,7 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t">hb_unicode_funcs_t</a>, typedef in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
+<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t">hb_unicode_funcs_t</a>, typedef in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a>
</dt>
<dd></dd>
<dt>
@@ -2308,20 +2044,20 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t-struct" title="hb_user_data_key_t">hb_user_data_key_t</a>, struct in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a>
+<a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t">hb_user_data_key_t</a>, struct in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a>
</dt>
<dd></dd>
<a name="idxV"></a><h3 class="title">V</h3>
<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-variation-from-string" title="hb_variation_from_string ()">hb_variation_from_string</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
+<a class="link" href="harfbuzz-hb-common.html#hb-variation-from-string" title="hb_variation_from_string ()">hb_variation_from_string</a>, function in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-variation-t" title="hb_variation_t">hb_variation_t</a>, struct in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
+<a class="link" href="harfbuzz-hb-common.html#hb-variation-t" title="hb_variation_t">hb_variation_t</a>, struct in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="harfbuzz-hb-font.html#hb-variation-to-string" title="hb_variation_to_string ()">hb_variation_to_string</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a>
+<a class="link" href="harfbuzz-hb-common.html#hb-variation-to-string" title="hb_variation_to_string ()">hb_variation_to_string</a>, function in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a>
</dt>
<dd></dd>
<dt>
@@ -2362,6 +2098,6 @@
<dd></dd>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/buffers-language-script-and-direction.html b/docs/html/buffers-language-script-and-direction.html
index d88dc05..57f2f59 100644
--- a/docs/html/buffers-language-script-and-direction.html
+++ b/docs/html/buffers-language-script-and-direction.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Buffers, language, script and direction: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="pt01.html" title="Part I. User's manual">
<link rel="prev" href="aat-shaping.html" title="AAT shaping">
<link rel="next" href="adding-text-to-the-buffer.html" title="Adding text to the buffer">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -83,6 +83,6 @@ void somefunc(hb_buffer_t *buffer) {
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/building.html b/docs/html/building.html
index 6454786..7b158ae 100644
--- a/docs/html/building.html
+++ b/docs/html/building.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Building HarfBuzz: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="install-harfbuzz.html" title="Installing HarfBuzz">
<link rel="prev" href="install-harfbuzz.html" title="Installing HarfBuzz">
<link rel="next" href="getting-started.html" title="Getting started with HarfBuzz">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -408,11 +408,22 @@
</p>
</td>
</tr>
+<tr>
+<td><p><span class="term"><span class="command"><strong>--enable-gtk-doc</strong></span></span></p></td>
+<td>
+<p>
+ Use <a class="ulink" href="https://www.gtk.org/gtk-doc/" target="_top">GTK-Doc</a>. <span class="emphasis"><em>(Default = no)</em></span>
+ </p>
+<p>
+ This option enables the building of the documentation.
+ </p>
+</td>
+</tr>
</tbody>
</table></div>
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/ch01s03.html b/docs/html/ch01s03.html
index afce4d1..96bf10a 100644
--- a/docs/html/ch01s03.html
+++ b/docs/html/ch01s03.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>What does HarfBuzz do?: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="what-is-harfbuzz.html" title="What is HarfBuzz?">
<link rel="prev" href="why-do-i-need-a-shaping-engine.html" title="Why do I need a shaping engine?">
<link rel="next" href="what-harfbuzz-doesnt-do.html" title="What HarfBuzz doesn't do">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -103,6 +103,6 @@
</p>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/ch03s02.html b/docs/html/ch03s02.html
index e3f5af9..0cbc6a6 100644
--- a/docs/html/ch03s02.html
+++ b/docs/html/ch03s02.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Terminology: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="getting-started.html" title="Getting started with HarfBuzz">
<link rel="prev" href="getting-started.html" title="Getting started with HarfBuzz">
<link rel="next" href="ch03s03.html" title="A simple shaping example">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -145,6 +145,6 @@
</table></div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/ch03s03.html b/docs/html/ch03s03.html
index 1905b84..08bb473 100644
--- a/docs/html/ch03s03.html
+++ b/docs/html/ch03s03.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>A simple shaping example: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="getting-started.html" title="Getting started with HarfBuzz">
<link rel="prev" href="ch03s02.html" title="Terminology">
<link rel="next" href="shaping-concepts.html" title="Shaping concepts">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -35,7 +35,7 @@
hb_buffer_add_utf8(buf, text, -1, 0, -1);
</pre>
<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem" value="2"><p>
- Guess the script, language and direction of the buffer.
+ Set the script, language and direction of the buffer.
</p></li></ol></div>
<pre class="programlisting">
hb_buffer_set_direction(buf, HB_DIRECTION_LTR);
@@ -69,14 +69,14 @@
</p></li></ol></div>
<pre class="programlisting">
for (i = 0; i &lt; glyph_count; ++i) {
- glyphid = glyph_info[i].codepoint;
- x_offset = glyph_pos[i].x_offset / 64.0;
- y_offset = glyph_pos[i].y_offset / 64.0;
- x_advance = glyph_pos[i].x_advance / 64.0;
- y_advance = glyph_pos[i].y_advance / 64.0;
- draw_glyph(glyphid, cursor_x + x_offset, cursor_y + y_offset);
- cursor_x += x_advance;
- cursor_y += y_advance;
+ glyphid = glyph_info[i].codepoint;
+ x_offset = glyph_pos[i].x_offset / 64.0;
+ y_offset = glyph_pos[i].y_offset / 64.0;
+ x_advance = glyph_pos[i].x_advance / 64.0;
+ y_advance = glyph_pos[i].y_advance / 64.0;
+ draw_glyph(glyphid, cursor_x + x_offset, cursor_y + y_offset);
+ cursor_x += x_advance;
+ cursor_y += y_advance;
}
</pre>
<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem" value="7"><p>
@@ -94,6 +94,6 @@
</p>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/ch09.html b/docs/html/ch09.html
index 1c709c4..c6cac7b 100644
--- a/docs/html/ch09.html
+++ b/docs/html/ch09.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Core API: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="pt02.html" title="Part II. Reference manual">
<link rel="prev" href="pt02.html" title="Part II. Reference manual">
<link rel="next" href="harfbuzz-hb-blob.html" title="hb-blob">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -62,6 +62,6 @@
</dl></div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/ch10.html b/docs/html/ch10.html
index a80ab8c..7c615c1 100644
--- a/docs/html/ch10.html
+++ b/docs/html/ch10.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>OpenType API: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="pt02.html" title="Part II. Reference manual">
<link rel="prev" href="harfbuzz-hb-version.html" title="hb-version">
<link rel="next" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -47,6 +47,6 @@
</dl></div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/ch11.html b/docs/html/ch11.html
index 3c9039c..4081a6d 100644
--- a/docs/html/ch11.html
+++ b/docs/html/ch11.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Apple Advanced Typography API: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="pt02.html" title="Part II. Reference manual">
<link rel="prev" href="harfbuzz-hb-ot-var.html" title="hb-ot-var">
<link rel="next" href="harfbuzz-hb-aat-layout.html" title="hb-aat-layout">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -27,6 +27,6 @@
</dt></dl></div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/ch12.html b/docs/html/ch12.html
index 0c63823..b504c84 100644
--- a/docs/html/ch12.html
+++ b/docs/html/ch12.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Integration API: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="pt02.html" title="Part II. Reference manual">
<link rel="prev" href="harfbuzz-hb-aat-layout.html" title="hb-aat-layout">
<link rel="next" href="harfbuzz-hb-coretext.html" title="hb-coretext">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -47,6 +47,6 @@
</dl></div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/clusters.html b/docs/html/clusters.html
index 9162099..2d6c36d 100644
--- a/docs/html/clusters.html
+++ b/docs/html/clusters.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Clusters: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="pt01.html" title="Part I. User's manual">
<link rel="prev" href="using-your-own-font-functions.html" title="Using your own font functions">
<link rel="next" href="working-with-harfbuzz-clusters.html" title="Working with HarfBuzz clusters">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -120,6 +120,6 @@
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/complex-scripts.html b/docs/html/complex-scripts.html
index 4ee994b..8584a15 100644
--- a/docs/html/complex-scripts.html
+++ b/docs/html/complex-scripts.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Complex scripts: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="shaping-concepts.html" title="Shaping concepts">
<link rel="prev" href="shaping-concepts.html" title="Shaping concepts">
<link rel="next" href="shaping-operations.html" title="Shaping operations">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -52,6 +52,6 @@
</p>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/customizing-unicode-functions.html b/docs/html/customizing-unicode-functions.html
index 090b871..5528b53 100644
--- a/docs/html/customizing-unicode-functions.html
+++ b/docs/html/customizing-unicode-functions.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Customizing Unicode functions: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="buffers-language-script-and-direction.html" title="Buffers, language, script and direction">
<link rel="prev" href="what-about-the-other-scripts.html" title="What about the other scripts?">
<link rel="next" href="fonts-and-faces.html" title="Fonts and faces">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -26,6 +26,6 @@
</p>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/deprecated-api-index.html b/docs/html/deprecated-api-index.html
deleted file mode 100644
index 5162862..0000000
--- a/docs/html/deprecated-api-index.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of deprecated API: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="pt02.html" title="Part II. Reference manual">
-<link rel="prev" href="api-index-full.html" title="API Index">
-<link rel="next" href="api-index-2-1-0.html" title="Index of new symbols in 2.1.0">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxB">B</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxF">F</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxO">O</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxS">S</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxU">U</a></span></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="api-index-full.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-2-1-0.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="index">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="deprecated-api-index"></a>Index of deprecated API</h2></div></div></div>
-<a name="idx"></a><a name="idxB"></a><h3 class="title">B</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-deprecated.html#HB-BUFFER-FLAGS-DEFAULT:CAPS" title="HB_BUFFER_FLAGS_DEFAULT">HB_BUFFER_FLAGS_DEFAULT</a>, macro in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-deprecated.html#HB-BUFFER-SERIALIZE-FLAGS-DEFAULT:CAPS" title="HB_BUFFER_SERIALIZE_FLAGS_DEFAULT">HB_BUFFER_SERIALIZE_FLAGS_DEFAULT</a>, macro in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a>
-</dt>
-<dd></dd>
-<a name="idxF"></a><h3 class="title">F</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-deprecated.html#hb-font-funcs-set-glyph-h-kerning-func" title="hb_font_funcs_set_glyph_h_kerning_func ()">hb_font_funcs_set_glyph_h_kerning_func</a>, function in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-deprecated.html#hb-font-funcs-set-glyph-v-kerning-func" title="hb_font_funcs_set_glyph_v_kerning_func ()">hb_font_funcs_set_glyph_v_kerning_func</a>, function in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-deprecated.html#hb-font-get-glyph-func-t" title="hb_font_get_glyph_func_t ()">hb_font_get_glyph_func_t</a>, user_function in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-deprecated.html#hb-font-get-glyph-h-kerning" title="hb_font_get_glyph_h_kerning ()">hb_font_get_glyph_h_kerning</a>, function in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-deprecated.html#hb-font-get-glyph-h-kerning-func-t" title="hb_font_get_glyph_h_kerning_func_t">hb_font_get_glyph_h_kerning_func_t</a>, typedef in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-deprecated.html#hb-font-get-glyph-kerning-for-direction" title="hb_font_get_glyph_kerning_for_direction ()">hb_font_get_glyph_kerning_for_direction</a>, function in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-deprecated.html#hb-font-get-glyph-kerning-func-t" title="hb_font_get_glyph_kerning_func_t ()">hb_font_get_glyph_kerning_func_t</a>, user_function in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-deprecated.html#hb-font-get-glyph-v-kerning" title="hb_font_get_glyph_v_kerning ()">hb_font_get_glyph_v_kerning</a>, function in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="harfbuzz-hb-deprecated.html#hb-font-get-glyph-v-kerning-func-t" title="hb_font_get_glyph_v_kerning_func_t">hb_font_get_glyph_v_kerning_func_t</a>, typedef in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a>
-</dt>
-<dd></dd>
-<a name="idxO"></a><h3 class="title">O</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-deprecated.html#HB-OT-VAR-NO-AXIS-INDEX:CAPS" title="HB_OT_VAR_NO_AXIS_INDEX">HB_OT_VAR_NO_AXIS_INDEX</a>, macro in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a>
-</dt>
-<dd></dd>
-<a name="idxS"></a><h3 class="title">S</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-deprecated.html#HB-SCRIPT-CANADIAN-ABORIGINAL:CAPS" title="HB_SCRIPT_CANADIAN_ABORIGINAL">HB_SCRIPT_CANADIAN_ABORIGINAL</a>, macro in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a>
-</dt>
-<dd></dd>
-<a name="idxU"></a><h3 class="title">U</h3>
-<dt>
-<a class="link" href="harfbuzz-hb-deprecated.html#HB-UNICODE-MAX-DECOMPOSITION-LEN:CAPS" title="HB_UNICODE_MAX_DECOMPOSITION_LEN">HB_UNICODE_MAX_DECOMPOSITION_LEN</a>, macro in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a>
-</dt>
-<dd></dd>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
-</body>
-</html> \ No newline at end of file
diff --git a/docs/html/fonts-and-faces.html b/docs/html/fonts-and-faces.html
index 87dd7a6..b5b825f 100644
--- a/docs/html/fonts-and-faces.html
+++ b/docs/html/fonts-and-faces.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Fonts and faces: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="pt01.html" title="Part I. User's manual">
<link rel="prev" href="customizing-unicode-functions.html" title="Customizing Unicode functions">
<link rel="next" href="using-harfbuzzs-native-opentype-implementation.html" title="Using HarfBuzz's native OpenType implementation">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -35,6 +35,6 @@
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/getting-started.html b/docs/html/getting-started.html
index 3372136..8249803 100644
--- a/docs/html/getting-started.html
+++ b/docs/html/getting-started.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Getting started with HarfBuzz: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="pt01.html" title="Part I. User's manual">
<link rel="prev" href="building.html" title="Building HarfBuzz">
<link rel="next" href="ch03s02.html" title="Terminology">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -91,6 +91,6 @@
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/graphite-shaping.html b/docs/html/graphite-shaping.html
index 5285e3f..ebff1b1 100644
--- a/docs/html/graphite-shaping.html
+++ b/docs/html/graphite-shaping.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Graphite shaping: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="shaping-concepts.html" title="Shaping concepts">
<link rel="prev" href="opentype-shaping-models.html" title="OpenType shaping models">
<link rel="next" href="aat-shaping.html" title="AAT shaping">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -40,6 +40,6 @@
</p>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-aat-layout.html b/docs/html/harfbuzz-hb-aat-layout.html
index 01fbdfa..55c8b1c 100644
--- a/docs/html/harfbuzz-hb-aat-layout.html
+++ b/docs/html/harfbuzz-hb-aat-layout.html
@@ -3,20 +3,19 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-aat-layout: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch11.html" title="Apple Advanced Typography API">
<link rel="prev" href="ch11.html" title="Apple Advanced Typography API">
<link rel="next" href="ch12.html" title="Integration API">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-aat-layout.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-aat-layout.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+ <a href="#harfbuzz-hb-aat-layout.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch11.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
@@ -113,13 +112,6 @@
</table></div>
</div>
<div class="refsect1">
-<a name="harfbuzz-hb-aat-layout.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GEnum</a>
- <span class="lineart">├──</span> hb_aat_layout_feature_selector_t
- <span class="lineart">╰──</span> hb_aat_layout_feature_type_t
-</pre>
-</div>
-<div class="refsect1">
<a name="harfbuzz-hb-aat-layout.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;hb-aat.h&gt;
</pre>
@@ -134,7 +126,7 @@
<a name="hb-aat-layout-feature-type-get-name-id"></a><h3>hb_aat_layout_feature_type_get_name_id ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-id-t" title="hb_ot_name_id_t"><span class="returnvalue">hb_ot_name_id_t</span></a>
hb_aat_layout_feature_type_get_name_id
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-aat-layout.html#hb-aat-layout-feature-type-t" title="enum hb_aat_layout_feature_type_t"><span class="type">hb_aat_layout_feature_type_t</span></a> feature_type</code></em>);</pre>
<div class="refsect3">
<a name="hb-aat-layout-feature-type-get-name-id.parameters"></a><h4>Parameters</h4>
@@ -162,14 +154,14 @@ hb_aat_layout_feature_type_get_name_id
<a name="hb-aat-layout-feature-type-get-name-id.returns"></a><h4>Returns</h4>
<p> Name ID index</p>
</div>
-<p class="since">Since: 2.2.0</p>
+<p class="since">Since: <a class="link" href="api-index-2-2-0.html#api-index-2.2.0">2.2.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="hb-aat-layout-feature-type-get-selector-infos"></a><h3>hb_aat_layout_feature_type_get_selector_infos ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
hb_aat_layout_feature_type_get_selector_infos
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-aat-layout.html#hb-aat-layout-feature-type-t" title="enum hb_aat_layout_feature_type_t"><span class="type">hb_aat_layout_feature_type_t</span></a> feature_type</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *selector_count</code></em>,
@@ -180,7 +172,7 @@ hb_aat_layout_feature_type_get_selector_infos
<div class="refsect2">
<a name="hb-aat-layout-get-feature-types"></a><h3>hb_aat_layout_get_feature_types ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_aat_layout_get_feature_types (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_aat_layout_get_feature_types (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *feature_count</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-aat-layout.html#hb-aat-layout-feature-type-t" title="enum hb_aat_layout_feature_type_t"><span class="type">hb_aat_layout_feature_type_t</span></a> *features</code></em>);</pre>
@@ -205,12 +197,12 @@ hb_aat_layout_get_feature_types (<em class="parameter"><code><a class="link" hre
</tr>
<tr>
<td class="parameter_name"><p>feature_count</p></td>
-<td class="parameter_description"><p> buffer size as input, filled size as output. </p></td>
+<td class="parameter_description"><p>buffer size as input, filled size as output. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>features</p></td>
-<td class="parameter_description"><p> features buffer. </p></td>
+<td class="parameter_description"><p>features buffer. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=feature_count]</span></td>
</tr>
</tbody>
@@ -220,25 +212,25 @@ hb_aat_layout_get_feature_types (<em class="parameter"><code><a class="link" hre
<a name="hb-aat-layout-get-feature-types.returns"></a><h4>Returns</h4>
<p> Number of all available feature types.</p>
</div>
-<p class="since">Since: 2.2.0</p>
+<p class="since">Since: <a class="link" href="api-index-2-2-0.html#api-index-2.2.0">2.2.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="hb-aat-layout-has-positioning"></a><h3>hb_aat_layout_has_positioning ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_aat_layout_has_positioning (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_aat_layout_has_positioning (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="hb-aat-layout-has-substitution"></a><h3>hb_aat_layout_has_substitution ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_aat_layout_has_substitution (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_aat_layout_has_substitution (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="hb-aat-layout-has-tracking"></a><h3>hb_aat_layout_has_tracking ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_aat_layout_has_tracking (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_aat_layout_has_tracking (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
</div>
</div>
<div class="refsect1">
@@ -468,7 +460,7 @@ hb_aat_layout_has_tracking (<em class="parameter"><code><a class="link" href="ha
</tbody>
</table></div>
</div>
-<p class="since">Since: 2.2.0</p>
+<p class="since">Since: <a class="link" href="api-index-2-2-0.html#api-index-2.2.0">2.2.0</a></p>
</div>
<hr>
<div class="refsect2">
@@ -1745,11 +1737,11 @@ hb_aat_layout_has_tracking (<em class="parameter"><code><a class="link" href="ha
</tbody>
</table></div>
</div>
-<p class="since">Since: 2.2.0</p>
+<p class="since">Since: <a class="link" href="api-index-2-2-0.html#api-index-2.2.0">2.2.0</a></p>
</div>
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-blob.html b/docs/html/harfbuzz-hb-blob.html
index 9fa3967..f6ff6e7 100644
--- a/docs/html/harfbuzz-hb-blob.html
+++ b/docs/html/harfbuzz-hb-blob.html
@@ -3,20 +3,19 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-blob: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch09.html" title="Core API">
<link rel="prev" href="ch09.html" title="Core API">
<link rel="next" href="harfbuzz-hb-buffer.html" title="hb-buffer">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-blob.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-blob.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+ <a href="#harfbuzz-hb-blob.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
@@ -42,7 +41,7 @@
<tbody>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
+<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-blob.html#hb-blob-create" title="hb_blob_create ()">hb_blob_create</a> <span class="c_punctuation">()</span>
@@ -50,7 +49,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
+<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-blob.html#hb-blob-create-from-file" title="hb_blob_create_from_file ()">hb_blob_create_from_file</a> <span class="c_punctuation">()</span>
@@ -58,7 +57,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
+<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-blob.html#hb-blob-create-sub-blob" title="hb_blob_create_sub_blob ()">hb_blob_create_sub_blob</a> <span class="c_punctuation">()</span>
@@ -66,7 +65,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
+<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-blob.html#hb-blob-copy-writable-or-fail" title="hb_blob_copy_writable_or_fail ()">hb_blob_copy_writable_or_fail</a> <span class="c_punctuation">()</span>
@@ -97,7 +96,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
+<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-blob.html#hb-blob-get-empty" title="hb_blob_get_empty ()">hb_blob_get_empty</a> <span class="c_punctuation">()</span>
@@ -136,7 +135,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
+<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-blob.html#hb-blob-reference" title="hb_blob_reference ()">hb_blob_reference</a> <span class="c_punctuation">()</span>
@@ -153,7 +152,7 @@
</tbody>
</table></div>
</div>
-<a name="hb-blob-t"></a><div class="refsect1">
+<div class="refsect1">
<a name="harfbuzz-hb-blob.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
@@ -163,7 +162,7 @@
<tbody>
<tr>
<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t">hb_blob_t</a></td>
+<td class="function_name"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t">hb_blob_t</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
@@ -173,14 +172,6 @@
</table></div>
</div>
<div class="refsect1">
-<a name="harfbuzz-hb-blob.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a>
- <span class="lineart">╰──</span> hb_blob_t
- <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GEnum</a>
- <span class="lineart">╰──</span> hb_memory_mode_t
-</pre>
-</div>
-<div class="refsect1">
<a name="harfbuzz-hb-blob.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;hb.h&gt;
</pre>
@@ -196,7 +187,7 @@ pass around other binary data.</p>
<a name="harfbuzz-hb-blob.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="hb-blob-create"></a><h3>hb_blob_create ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
hb_blob_create (<em class="parameter"><code>const <span class="type">char</span> *data</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> length</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-memory-mode-t" title="enum hb_memory_mode_t"><span class="type">hb_memory_mode_t</span></a> mode</code></em>,
@@ -260,7 +251,7 @@ zero. Destroy with <a class="link" href="harfbuzz-hb-blob.html#hb-blob-destroy"
<hr>
<div class="refsect2">
<a name="hb-blob-create-from-file"></a><h3>hb_blob_create_from_file ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
hb_blob_create_from_file (<em class="parameter"><code>const <span class="type">char</span> *file_name</code></em>);</pre>
<div class="refsect3">
<a name="hb-blob-create-from-file.parameters"></a><h4>Parameters</h4>
@@ -286,8 +277,8 @@ hb_blob_create_from_file (<em class="parameter"><code>const <span class="type">c
<hr>
<div class="refsect2">
<a name="hb-blob-create-sub-blob"></a><h3>hb_blob_create_sub_blob ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
-hb_blob_create_sub_blob (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *parent</code></em>,
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
+hb_blob_create_sub_blob (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *parent</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> offset</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> length</code></em>);</pre>
<p>Returns a blob that represents a range of bytes in <em class="parameter"><code>parent</code></em>
@@ -340,8 +331,8 @@ with <a class="link" href="harfbuzz-hb-blob.html#hb-blob-destroy" title="hb_blob
<hr>
<div class="refsect2">
<a name="hb-blob-copy-writable-or-fail"></a><h3>hb_blob_copy_writable_or_fail ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
-hb_blob_copy_writable_or_fail (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
+hb_blob_copy_writable_or_fail (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
<p>Makes a writable copy of <em class="parameter"><code>blob</code></em>
.</p>
<div class="refsect3">
@@ -369,7 +360,7 @@ hb_blob_copy_writable_or_fail (<em class="parameter"><code><a class="link" href=
<div class="refsect2">
<a name="hb-blob-destroy"></a><h3>hb_blob_destroy ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_blob_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
+hb_blob_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
<p>Decreases the reference count on <em class="parameter"><code>blob</code></em>
, and if it reaches zero, destroys
<em class="parameter"><code>blob</code></em>
@@ -398,7 +389,7 @@ was created for if it has not been called already.</p>
<div class="refsect2">
<a name="hb-blob-get-data"></a><h3>hb_blob_get_data ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *
-hb_blob_get_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>,
+hb_blob_get_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *length</code></em>);</pre>
<div class="refsect3">
<a name="hb-blob-get-data.parameters"></a><h4>Parameters</h4>
@@ -433,7 +424,7 @@ hb_blob_get_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-
<div class="refsect2">
<a name="hb-blob-get-data-writable"></a><h3>hb_blob_get_data_writable ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *
-hb_blob_get_data_writable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>,
+hb_blob_get_data_writable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *length</code></em>);</pre>
<p>Tries to make blob data writable (possibly copying it) and
return pointer to data.</p>
@@ -455,7 +446,7 @@ fails.</p>
</tr>
<tr>
<td class="parameter_name"><p>length</p></td>
-<td class="parameter_description"><p> output length of the writable data. </p></td>
+<td class="parameter_description"><p>output length of the writable data. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
@@ -463,8 +454,8 @@ fails.</p>
</div>
<div class="refsect3">
<a name="hb-blob-get-data-writable.returns"></a><h4>Returns</h4>
-<p> Writable blob data,
-or <code class="literal">NULL</code> if failed. </p>
+<p>Writable blob data,
+or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if failed. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
@@ -472,13 +463,13 @@ or <code class="literal">NULL</code> if failed. </p>
<hr>
<div class="refsect2">
<a name="hb-blob-get-empty"></a><h3>hb_blob_get_empty ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
hb_blob_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Returns the singleton empty blob.</p>
<p>See TODO:link object types for more information.</p>
<div class="refsect3">
<a name="hb-blob-get-empty.returns"></a><h4>Returns</h4>
-<p> the empty blob. </p>
+<p>the empty blob. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
@@ -487,7 +478,7 @@ hb_blob_get_empty (<em class="parameter"><code><span class="type">void</span></c
<div class="refsect2">
<a name="hb-blob-get-length"></a><h3>hb_blob_get_length ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_blob_get_length (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
+hb_blob_get_length (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
<div class="refsect3">
<a name="hb-blob-get-length.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -513,8 +504,8 @@ hb_blob_get_length (<em class="parameter"><code><a class="link" href="harfbuzz-h
<div class="refsect2">
<a name="hb-blob-get-user-data"></a><h3>hb_blob_get_user_data ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> *
-hb_blob_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
+hb_blob_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-blob-get-user-data.parameters"></a><h4>Parameters</h4>
@@ -549,7 +540,7 @@ hb_blob_get_user_data (<em class="parameter"><code><a class="link" href="harfbuz
<div class="refsect2">
<a name="hb-blob-is-immutable"></a><h3>hb_blob_is_immutable ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_blob_is_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
+hb_blob_is_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
<div class="refsect3">
<a name="hb-blob-is-immutable.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -575,7 +566,7 @@ hb_blob_is_immutable (<em class="parameter"><code><a class="link" href="harfbuzz
<div class="refsect2">
<a name="hb-blob-make-immutable"></a><h3>hb_blob_make_immutable ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_blob_make_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
+hb_blob_make_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
<div class="refsect3">
<a name="hb-blob-make-immutable.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -596,8 +587,8 @@ hb_blob_make_immutable (<em class="parameter"><code><a class="link" href="harfbu
<hr>
<div class="refsect2">
<a name="hb-blob-reference"></a><h3>hb_blob_reference ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
-hb_blob_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
+hb_blob_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
<p>Increases the reference count on <em class="parameter"><code>blob</code></em>
.</p>
<p>See TODO:link object types for more information.</p>
@@ -628,8 +619,8 @@ hb_blob_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb
<div class="refsect2">
<a name="hb-blob-set-user-data"></a><h3>hb_blob_set_user_data ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_blob_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
+hb_blob_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
<em class="parameter"><code><span class="type">void</span> *data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> replace</code></em>);</pre>
@@ -721,6 +712,6 @@ is not needed anymore.</p></td>
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-buffer.html b/docs/html/harfbuzz-hb-buffer.html
index b9f3695..1aeee6f 100644
--- a/docs/html/harfbuzz-hb-buffer.html
+++ b/docs/html/harfbuzz-hb-buffer.html
@@ -3,20 +3,19 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-buffer: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch09.html" title="Core API">
<link rel="prev" href="harfbuzz-hb-blob.html" title="hb-blob">
<link rel="next" href="harfbuzz-hb-common.html" title="hb-common">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-buffer.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-buffer.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+ <a href="#harfbuzz-hb-buffer.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
@@ -42,7 +41,7 @@
<tbody>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="returnvalue">hb_buffer_t</span></a> *
+<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="returnvalue">hb_buffer_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-create" title="hb_buffer_create ()">hb_buffer_create</a> <span class="c_punctuation">()</span>
@@ -50,7 +49,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="returnvalue">hb_buffer_t</span></a> *
+<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="returnvalue">hb_buffer_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-reference" title="hb_buffer_reference ()">hb_buffer_reference</a> <span class="c_punctuation">()</span>
@@ -58,7 +57,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="returnvalue">hb_buffer_t</span></a> *
+<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="returnvalue">hb_buffer_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-empty" title="hb_buffer_get_empty ()">hb_buffer_get_empty</a> <span class="c_punctuation">()</span>
@@ -305,7 +304,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
+<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-unicode-funcs" title="hb_buffer_get_unicode_funcs ()">hb_buffer_get_unicode_funcs</a> <span class="c_punctuation">()</span>
@@ -337,7 +336,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t"><span class="returnvalue">hb_glyph_position_t</span></a> *
+<a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t" title="hb_glyph_position_t"><span class="returnvalue">hb_glyph_position_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-glyph-positions" title="hb_buffer_get_glyph_positions ()">hb_buffer_get_glyph_positions</a> <span class="c_punctuation">()</span>
@@ -494,7 +493,7 @@
</tbody>
</table></div>
</div>
-<a name="hb-buffer-t"></a><a name="hb-glyph-position-t"></a><a name="hb-segment-properties-t"></a><div class="refsect1">
+<div class="refsect1">
<a name="harfbuzz-hb-buffer.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
@@ -512,7 +511,7 @@
</tr>
<tr>
<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t">hb_buffer_t</a></td>
+<td class="function_name"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t">hb_buffer_t</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
@@ -520,7 +519,7 @@
</tr>
<tr>
<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t-struct" title="hb_glyph_position_t">hb_glyph_position_t</a></td>
+<td class="function_name"><a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t" title="hb_glyph_position_t">hb_glyph_position_t</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
@@ -536,7 +535,7 @@
</tr>
<tr>
<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t-struct" title="hb_segment_properties_t">hb_segment_properties_t</a></td>
+<td class="function_name"><a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t">hb_segment_properties_t</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
@@ -554,23 +553,6 @@
</table></div>
</div>
<div class="refsect1">
-<a name="harfbuzz-hb-buffer.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a>
- <span class="lineart">├──</span> hb_buffer_t
- <span class="lineart">├──</span> hb_glyph_position_t
- <span class="lineart">╰──</span> hb_segment_properties_t
- <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GEnum</a>
- <span class="lineart">├──</span> hb_buffer_cluster_level_t
- <span class="lineart">├──</span> hb_buffer_content_type_t
- <span class="lineart">╰──</span> hb_buffer_serialize_format_t
- <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GFlags</a>
- <span class="lineart">├──</span> hb_buffer_diff_flags_t
- <span class="lineart">├──</span> hb_buffer_flags_t
- <span class="lineart">├──</span> hb_buffer_serialize_flags_t
- <span class="lineart">╰──</span> hb_glyph_flags_t
-</pre>
-</div>
-<div class="refsect1">
<a name="harfbuzz-hb-buffer.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;hb.h&gt;
</pre>
@@ -584,16 +566,16 @@ passed to <a class="link" href="harfbuzz-hb-shape.html#hb-shape" title="hb_shape
<a name="harfbuzz-hb-buffer.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="hb-buffer-create"></a><h3>hb_buffer_create ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="returnvalue">hb_buffer_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="returnvalue">hb_buffer_t</span></a> *
hb_buffer_create (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>Creates a new <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> with all properties to defaults.</p>
+<p>Creates a new <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> with all properties to defaults.</p>
<p><span class="annotation">[Xconstructor]</span></p>
<div class="refsect3">
<a name="hb-buffer-create.returns"></a><h4>Returns</h4>
-<p>A newly allocated <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> with a reference count of 1. The initial
+<p>A newly allocated <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> with a reference count of 1. The initial
reference count should be released with <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-destroy" title="hb_buffer_destroy ()"><code class="function">hb_buffer_destroy()</code></a> when you are done
-using the <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>. This function never returns <code class="literal">NULL</code>. If memory cannot
-be allocated, a special <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> object will be returned on which
+using the <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>. This function never returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. If memory cannot
+be allocated, a special <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> object will be returned on which
<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-allocation-successful" title="hb_buffer_allocation_successful ()"><code class="function">hb_buffer_allocation_successful()</code></a> returns <code class="literal">false</code>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
@@ -602,8 +584,8 @@ be allocated, a special <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-
<hr>
<div class="refsect2">
<a name="hb-buffer-reference"></a><h3>hb_buffer_reference ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="returnvalue">hb_buffer_t</span></a> *
-hb_buffer_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="returnvalue">hb_buffer_t</span></a> *
+hb_buffer_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
<p>Increases the reference count on <em class="parameter"><code>buffer</code></em>
by one. This prevents <em class="parameter"><code>buffer</code></em>
from
@@ -619,14 +601,14 @@ being destroyed until a matching call to <a class="link" href="harfbuzz-hb-buffe
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="hb-buffer-reference.returns"></a><h4>Returns</h4>
-<p>The referenced <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>. </p>
+<p>The referenced <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
@@ -634,7 +616,7 @@ being destroyed until a matching call to <a class="link" href="harfbuzz-hb-buffe
<hr>
<div class="refsect2">
<a name="hb-buffer-get-empty"></a><h3>hb_buffer_get_empty ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="returnvalue">hb_buffer_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="returnvalue">hb_buffer_t</span></a> *
hb_buffer_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<div class="refsect3">
<a name="hb-buffer-get-empty.returns"></a><h4>Returns</h4>
@@ -647,7 +629,7 @@ hb_buffer_get_empty (<em class="parameter"><code><span class="type">void</span><
<div class="refsect2">
<a name="hb-buffer-destroy"></a><h3>hb_buffer_destroy ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
+hb_buffer_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
<p>Deallocate the <em class="parameter"><code>buffer</code></em>
.
Decreases the reference count on <em class="parameter"><code>buffer</code></em>
@@ -665,7 +647,7 @@ Decreases the reference count on <em class="parameter"><code>buffer</code></em>
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -676,7 +658,7 @@ Decreases the reference count on <em class="parameter"><code>buffer</code></em>
<div class="refsect2">
<a name="hb-buffer-reset"></a><h3>hb_buffer_reset ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_reset (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
+hb_buffer_reset (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
<p>Resets the buffer to its initial status, as if it was just newly created
with <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-create" title="hb_buffer_create ()"><code class="function">hb_buffer_create()</code></a>.</p>
<div class="refsect3">
@@ -689,7 +671,7 @@ with <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-create" title="hb_b
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -700,7 +682,7 @@ with <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-create" title="hb_b
<div class="refsect2">
<a name="hb-buffer-clear-contents"></a><h3>hb_buffer_clear_contents ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_clear_contents (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
+hb_buffer_clear_contents (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
<p>Similar to <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-reset" title="hb_buffer_reset ()"><code class="function">hb_buffer_reset()</code></a>, but does not clear the Unicode functions and
the replacement code point.</p>
<div class="refsect3">
@@ -713,7 +695,7 @@ the replacement code point.</p>
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -724,7 +706,7 @@ the replacement code point.</p>
<div class="refsect2">
<a name="hb-buffer-pre-allocate"></a><h3>hb_buffer_pre_allocate ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_buffer_pre_allocate (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+hb_buffer_pre_allocate (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> size</code></em>);</pre>
<p>Pre allocates memory for <em class="parameter"><code>buffer</code></em>
to fit at least <em class="parameter"><code>size</code></em>
@@ -740,7 +722,7 @@ hb_buffer_pre_allocate (<em class="parameter"><code><a class="link" href="harfbu
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -762,7 +744,7 @@ memory allocation succeeded, <code class="literal">false</code> otherwise.</p>
<div class="refsect2">
<a name="hb-buffer-allocation-successful"></a><h3>hb_buffer_allocation_successful ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_buffer_allocation_successful (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
+hb_buffer_allocation_successful (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
<p>Check if allocating memory for the buffer succeeded.</p>
<div class="refsect3">
<a name="hb-buffer-allocation-successful.parameters"></a><h4>Parameters</h4>
@@ -774,7 +756,7 @@ hb_buffer_allocation_successful (<em class="parameter"><code><a class="link" hre
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -790,7 +772,7 @@ memory allocation succeeded, <code class="literal">false</code> otherwise.</p>
<div class="refsect2">
<a name="hb-buffer-add"></a><h3>hb_buffer_add ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_add (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+hb_buffer_add (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> codepoint</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> cluster</code></em>);</pre>
<p>Appends a character with the Unicode value of <em class="parameter"><code>codepoint</code></em>
@@ -815,7 +797,7 @@ caller to ensure it is a valid Unicode code point.</p>
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -838,7 +820,7 @@ caller to ensure it is a valid Unicode code point.</p>
<div class="refsect2">
<a name="hb-buffer-add-codepoints"></a><h3>hb_buffer_add_codepoints ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_add_codepoints (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+hb_buffer_add_codepoints (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *text</code></em>,
<em class="parameter"><code><span class="type">int</span> text_length</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> item_offset</code></em>,
@@ -873,18 +855,18 @@ to ensure it contains a valid Unicode code points.</p>
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>a <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> to append characters to.</p></td>
+<td class="parameter_description"><p>a <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> to append characters to.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>text</p></td>
-<td class="parameter_description"><p> an array of Unicode code points to append. </p></td>
+<td class="parameter_description"><p>an array of Unicode code points to append. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=text_length]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>text_length</p></td>
<td class="parameter_description"><p>the length of the <em class="parameter"><code>text</code></em>
-, or -1 if it is <code class="literal">NULL</code> terminated.</p></td>
+, or -1 if it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -898,7 +880,7 @@ to ensure it contains a valid Unicode code points.</p>
<td class="parameter_description"><p>the number of code points to add to the <em class="parameter"><code>buffer</code></em>
, or -1 for the
end of <em class="parameter"><code>text</code></em>
-(assuming it is <code class="literal">NULL</code> terminated).</p></td>
+(assuming it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated).</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
@@ -910,7 +892,7 @@ end of <em class="parameter"><code>text</code></em>
<div class="refsect2">
<a name="hb-buffer-add-utf32"></a><h3>hb_buffer_add_utf32 ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_add_utf32 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+hb_buffer_add_utf32 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
<em class="parameter"><code>const <span class="type">uint32_t</span> *text</code></em>,
<em class="parameter"><code><span class="type">int</span> text_length</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> item_offset</code></em>,
@@ -930,18 +912,18 @@ see <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-replacement-code
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>text</p></td>
-<td class="parameter_description"><p> an array of UTF-32 characters to append. </p></td>
+<td class="parameter_description"><p>an array of UTF-32 characters to append. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=text_length]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>text_length</p></td>
<td class="parameter_description"><p>the length of the <em class="parameter"><code>text</code></em>
-, or -1 if it is <code class="literal">NULL</code> terminated.</p></td>
+, or -1 if it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -955,7 +937,7 @@ see <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-replacement-code
<td class="parameter_description"><p>the number of characters to add to the <em class="parameter"><code>buffer</code></em>
, or -1 for the
end of <em class="parameter"><code>text</code></em>
-(assuming it is <code class="literal">NULL</code> terminated).</p></td>
+(assuming it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated).</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
@@ -967,7 +949,7 @@ end of <em class="parameter"><code>text</code></em>
<div class="refsect2">
<a name="hb-buffer-add-utf16"></a><h3>hb_buffer_add_utf16 ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_add_utf16 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+hb_buffer_add_utf16 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
<em class="parameter"><code>const <span class="type">uint16_t</span> *text</code></em>,
<em class="parameter"><code><span class="type">int</span> text_length</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> item_offset</code></em>,
@@ -987,18 +969,18 @@ see <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-replacement-code
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>text</p></td>
-<td class="parameter_description"><p> an array of UTF-16 characters to append. </p></td>
+<td class="parameter_description"><p>an array of UTF-16 characters to append. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=text_length]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>text_length</p></td>
<td class="parameter_description"><p>the length of the <em class="parameter"><code>text</code></em>
-, or -1 if it is <code class="literal">NULL</code> terminated.</p></td>
+, or -1 if it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -1012,7 +994,7 @@ see <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-replacement-code
<td class="parameter_description"><p>the number of characters to add to the <em class="parameter"><code>buffer</code></em>
, or -1 for the
end of <em class="parameter"><code>text</code></em>
-(assuming it is <code class="literal">NULL</code> terminated).</p></td>
+(assuming it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated).</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
@@ -1024,7 +1006,7 @@ end of <em class="parameter"><code>text</code></em>
<div class="refsect2">
<a name="hb-buffer-add-utf8"></a><h3>hb_buffer_add_utf8 ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_add_utf8 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+hb_buffer_add_utf8 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *text</code></em>,
<em class="parameter"><code><span class="type">int</span> text_length</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> item_offset</code></em>,
@@ -1044,19 +1026,19 @@ see <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-replacement-code
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>text</p></td>
-<td class="parameter_description"><p> an array of UTF-8
+<td class="parameter_description"><p>an array of UTF-8
characters to append. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=text_length][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> uint8_t]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>text_length</p></td>
<td class="parameter_description"><p>the length of the <em class="parameter"><code>text</code></em>
-, or -1 if it is <code class="literal">NULL</code> terminated.</p></td>
+, or -1 if it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -1070,7 +1052,7 @@ characters to append. </p></td>
<td class="parameter_description"><p>the number of characters to add to the <em class="parameter"><code>buffer</code></em>
, or -1 for the
end of <em class="parameter"><code>text</code></em>
-(assuming it is <code class="literal">NULL</code> terminated).</p></td>
+(assuming it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated).</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
@@ -1082,7 +1064,7 @@ end of <em class="parameter"><code>text</code></em>
<div class="refsect2">
<a name="hb-buffer-add-latin1"></a><h3>hb_buffer_add_latin1 ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_add_latin1 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+hb_buffer_add_latin1 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
<em class="parameter"><code>const <span class="type">uint8_t</span> *text</code></em>,
<em class="parameter"><code><span class="type">int</span> text_length</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> item_offset</code></em>,
@@ -1101,19 +1083,19 @@ Unicode code points that can fit in 8-bit strings.</p>
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>text</p></td>
-<td class="parameter_description"><p> an array of UTF-8
+<td class="parameter_description"><p>an array of UTF-8
characters to append. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=text_length][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> uint8_t]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>text_length</p></td>
<td class="parameter_description"><p>the length of the <em class="parameter"><code>text</code></em>
-, or -1 if it is <code class="literal">NULL</code> terminated.</p></td>
+, or -1 if it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -1127,7 +1109,7 @@ characters to append. </p></td>
<td class="parameter_description"><p>the number of characters to add to the <em class="parameter"><code>buffer</code></em>
, or -1 for the
end of <em class="parameter"><code>text</code></em>
-(assuming it is <code class="literal">NULL</code> terminated).</p></td>
+(assuming it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated).</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
@@ -1139,8 +1121,8 @@ end of <em class="parameter"><code>text</code></em>
<div class="refsect2">
<a name="hb-buffer-append"></a><h3>hb_buffer_append ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_append (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *source</code></em>,
+hb_buffer_append (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *source</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> start</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> end</code></em>);</pre>
<p>Append (part of) contents of another buffer to this buffer.</p>
@@ -1155,12 +1137,12 @@ hb_buffer_append (<em class="parameter"><code><a class="link" href="harfbuzz-hb-
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>source</p></td>
-<td class="parameter_description"><p>source <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>source <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -1182,7 +1164,7 @@ hb_buffer_append (<em class="parameter"><code><a class="link" href="harfbuzz-hb-
<div class="refsect2">
<a name="hb-buffer-set-content-type"></a><h3>hb_buffer_set_content_type ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_set_content_type (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+hb_buffer_set_content_type (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-content-type-t" title="enum hb_buffer_content_type_t"><span class="type">hb_buffer_content_type_t</span></a> content_type</code></em>);</pre>
<p>Sets the type of <em class="parameter"><code>buffer</code></em>
contents, buffers are either empty, contain
@@ -1198,7 +1180,7 @@ characters (before shaping) or glyphs (the result of shaping).</p>
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -1215,7 +1197,7 @@ characters (before shaping) or glyphs (the result of shaping).</p>
<div class="refsect2">
<a name="hb-buffer-get-content-type"></a><h3>hb_buffer_get_content_type ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-content-type-t" title="enum hb_buffer_content_type_t"><span class="returnvalue">hb_buffer_content_type_t</span></a>
-hb_buffer_get_content_type (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
+hb_buffer_get_content_type (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
<p>see <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-content-type" title="hb_buffer_set_content_type ()"><code class="function">hb_buffer_set_content_type()</code></a>.</p>
<div class="refsect3">
<a name="hb-buffer-get-content-type.parameters"></a><h4>Parameters</h4>
@@ -1227,7 +1209,7 @@ hb_buffer_get_content_type (<em class="parameter"><code><a class="link" href="ha
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -1243,7 +1225,7 @@ contents.</p>
<div class="refsect2">
<a name="hb-buffer-set-direction"></a><h3>hb_buffer_set_direction ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_set_direction (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+hb_buffer_set_direction (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>);</pre>
<p>Set the text flow direction of the buffer. No shaping can happen without
setting <em class="parameter"><code>buffer</code></em>
@@ -1264,7 +1246,7 @@ direction.</p>
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -1282,7 +1264,7 @@ direction.</p>
<div class="refsect2">
<a name="hb-buffer-get-direction"></a><h3>hb_buffer_get_direction ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="returnvalue">hb_direction_t</span></a>
-hb_buffer_get_direction (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
+hb_buffer_get_direction (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
<p>See <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-direction" title="hb_buffer_set_direction ()"><code class="function">hb_buffer_set_direction()</code></a></p>
<div class="refsect3">
<a name="hb-buffer-get-direction.parameters"></a><h4>Parameters</h4>
@@ -1294,7 +1276,7 @@ hb_buffer_get_direction (<em class="parameter"><code><a class="link" href="harfb
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -1310,7 +1292,7 @@ hb_buffer_get_direction (<em class="parameter"><code><a class="link" href="harfb
<div class="refsect2">
<a name="hb-buffer-set-script"></a><h3>hb_buffer_set_script ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_set_script (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+hb_buffer_set_script (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> script</code></em>);</pre>
<p>Sets the script of <em class="parameter"><code>buffer</code></em>
to <em class="parameter"><code>script</code></em>
@@ -1332,7 +1314,7 @@ corresponding script from an ISO 15924 script tag.</p>
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -1349,7 +1331,7 @@ corresponding script from an ISO 15924 script tag.</p>
<div class="refsect2">
<a name="hb-buffer-get-script"></a><h3>hb_buffer_get_script ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="returnvalue">hb_script_t</span></a>
-hb_buffer_get_script (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
+hb_buffer_get_script (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
<p>See <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-script" title="hb_buffer_set_script ()"><code class="function">hb_buffer_set_script()</code></a>.</p>
<div class="refsect3">
<a name="hb-buffer-get-script.parameters"></a><h4>Parameters</h4>
@@ -1361,7 +1343,7 @@ hb_buffer_get_script (<em class="parameter"><code><a class="link" href="harfbuzz
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -1377,7 +1359,7 @@ hb_buffer_get_script (<em class="parameter"><code><a class="link" href="harfbuzz
<div class="refsect2">
<a name="hb-buffer-set-language"></a><h3>hb_buffer_set_language ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_set_language (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+hb_buffer_set_language (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> language</code></em>);</pre>
<p>Sets the language of <em class="parameter"><code>buffer</code></em>
to <em class="parameter"><code>language</code></em>
@@ -1399,7 +1381,7 @@ different concepts and should not be confused with each other.</p>
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -1416,7 +1398,7 @@ different concepts and should not be confused with each other.</p>
<div class="refsect2">
<a name="hb-buffer-get-language"></a><h3>hb_buffer_get_language ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="returnvalue">hb_language_t</span></a>
-hb_buffer_get_language (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
+hb_buffer_get_language (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
<p>See <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-language" title="hb_buffer_set_language ()"><code class="function">hb_buffer_set_language()</code></a>.</p>
<div class="refsect3">
<a name="hb-buffer-get-language.parameters"></a><h4>Parameters</h4>
@@ -1428,7 +1410,7 @@ hb_buffer_get_language (<em class="parameter"><code><a class="link" href="harfbu
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -1444,7 +1426,7 @@ hb_buffer_get_language (<em class="parameter"><code><a class="link" href="harfbu
<div class="refsect2">
<a name="hb-buffer-set-flags"></a><h3>hb_buffer_set_flags ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_set_flags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+hb_buffer_set_flags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-flags-t" title="enum hb_buffer_flags_t"><span class="type">hb_buffer_flags_t</span></a> flags</code></em>);</pre>
<p>Sets <em class="parameter"><code>buffer</code></em>
flags to <em class="parameter"><code>flags</code></em>
@@ -1460,7 +1442,7 @@ hb_buffer_set_flags (<em class="parameter"><code><a class="link" href="harfbuzz-
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -1477,7 +1459,7 @@ hb_buffer_set_flags (<em class="parameter"><code><a class="link" href="harfbuzz-
<div class="refsect2">
<a name="hb-buffer-get-flags"></a><h3>hb_buffer_get_flags ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-flags-t" title="enum hb_buffer_flags_t"><span class="returnvalue">hb_buffer_flags_t</span></a>
-hb_buffer_get_flags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
+hb_buffer_get_flags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
<p>See <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-flags" title="hb_buffer_set_flags ()"><code class="function">hb_buffer_set_flags()</code></a>.</p>
<div class="refsect3">
<a name="hb-buffer-get-flags.parameters"></a><h4>Parameters</h4>
@@ -1489,7 +1471,7 @@ hb_buffer_get_flags (<em class="parameter"><code><a class="link" href="harfbuzz-
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -1505,7 +1487,7 @@ flags.</p>
<div class="refsect2">
<a name="hb-buffer-set-cluster-level"></a><h3>hb_buffer_set_cluster_level ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_set_cluster_level (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+hb_buffer_set_cluster_level (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-cluster-level-t" title="enum hb_buffer_cluster_level_t"><span class="type">hb_buffer_cluster_level_t</span></a> cluster_level</code></em>);</pre>
<div class="refsect3">
<a name="hb-buffer-set-cluster-level.parameters"></a><h4>Parameters</h4>
@@ -1517,7 +1499,7 @@ hb_buffer_set_cluster_level (<em class="parameter"><code><a class="link" href="h
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -1528,7 +1510,7 @@ hb_buffer_set_cluster_level (<em class="parameter"><code><a class="link" href="h
<div class="refsect2">
<a name="hb-buffer-get-cluster-level"></a><h3>hb_buffer_get_cluster_level ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-cluster-level-t" title="enum hb_buffer_cluster_level_t"><span class="returnvalue">hb_buffer_cluster_level_t</span></a>
-hb_buffer_get_cluster_level (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
+hb_buffer_get_cluster_level (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
<div class="refsect3">
<a name="hb-buffer-get-cluster-level.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1539,7 +1521,7 @@ hb_buffer_get_cluster_level (<em class="parameter"><code><a class="link" href="h
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -1550,7 +1532,7 @@ hb_buffer_get_cluster_level (<em class="parameter"><code><a class="link" href="h
<div class="refsect2">
<a name="hb-buffer-set-length"></a><h3>hb_buffer_set_length ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_buffer_set_length (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+hb_buffer_set_length (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> length</code></em>);</pre>
<p>Similar to <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-pre-allocate" title="hb_buffer_pre_allocate ()"><code class="function">hb_buffer_pre_allocate()</code></a>, but clears any new items added at the
end.</p>
@@ -1565,7 +1547,7 @@ end.</p>
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -1588,7 +1570,7 @@ memory allocation succeeded, <code class="literal">false</code> otherwise.</p>
<div class="refsect2">
<a name="hb-buffer-get-length"></a><h3>hb_buffer_get_length ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_buffer_get_length (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
+hb_buffer_get_length (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
<p>Returns the number of items in the buffer.</p>
<div class="refsect3">
<a name="hb-buffer-get-length.parameters"></a><h4>Parameters</h4>
@@ -1600,7 +1582,7 @@ hb_buffer_get_length (<em class="parameter"><code><a class="link" href="harfbuzz
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -1617,8 +1599,8 @@ The value valid as long as buffer has not been modified.</p>
<div class="refsect2">
<a name="hb-buffer-set-segment-properties"></a><h3>hb_buffer_set_segment_properties ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_set_segment_properties (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *props</code></em>);</pre>
+hb_buffer_set_segment_properties (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> *props</code></em>);</pre>
<p>Sets the segment properties of the buffer, a shortcut for calling
<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-direction" title="hb_buffer_set_direction ()"><code class="function">hb_buffer_set_direction()</code></a>, <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-script" title="hb_buffer_set_script ()"><code class="function">hb_buffer_set_script()</code></a> and
<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-language" title="hb_buffer_set_language ()"><code class="function">hb_buffer_set_language()</code></a> individually.</p>
@@ -1633,12 +1615,12 @@ hb_buffer_set_segment_properties (<em class="parameter"><code><a class="link" hr
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>props</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> to use.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> to use.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
@@ -1650,10 +1632,10 @@ hb_buffer_set_segment_properties (<em class="parameter"><code><a class="link" hr
<div class="refsect2">
<a name="hb-buffer-get-segment-properties"></a><h3>hb_buffer_get_segment_properties ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_get_segment_properties (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *props</code></em>);</pre>
+hb_buffer_get_segment_properties (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> *props</code></em>);</pre>
<p>Sets <em class="parameter"><code>props</code></em>
- to the <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> of <em class="parameter"><code>buffer</code></em>
+ to the <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> of <em class="parameter"><code>buffer</code></em>
.</p>
<div class="refsect3">
<a name="hb-buffer-get-segment-properties.parameters"></a><h4>Parameters</h4>
@@ -1666,12 +1648,12 @@ hb_buffer_get_segment_properties (<em class="parameter"><code><a class="link" hr
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>props</p></td>
-<td class="parameter_description"><p> the output <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a>. </p></td>
+<td class="parameter_description"><p>the output <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
@@ -1683,14 +1665,14 @@ hb_buffer_get_segment_properties (<em class="parameter"><code><a class="link" hr
<div class="refsect2">
<a name="hb-buffer-guess-segment-properties"></a><h3>hb_buffer_guess_segment_properties ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_guess_segment_properties (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
+hb_buffer_guess_segment_properties (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
<p>Sets unset buffer segment properties based on buffer Unicode
contents. If buffer is not empty, it must have content type
<a class="link" href="harfbuzz-hb-buffer.html#HB-BUFFER-CONTENT-TYPE-UNICODE:CAPS"><code class="literal">HB_BUFFER_CONTENT_TYPE_UNICODE</code></a>.</p>
<p>If buffer script is not set (ie. is <a class="link" href="harfbuzz-hb-common.html#HB-SCRIPT-INVALID:CAPS"><code class="literal">HB_SCRIPT_INVALID</code></a>), it
will be set to the Unicode script of the first character in
-the buffer that has a script other than <a class="link" href="harfbuzz-hb-common.html#HB-SCRIPT-COMMON:CAPS"><code class="literal">HB_SCRIPT_COMMON</code></a>,
-<a class="link" href="harfbuzz-hb-common.html#HB-SCRIPT-INHERITED:CAPS"><code class="literal">HB_SCRIPT_INHERITED</code></a>, and <a class="link" href="harfbuzz-hb-common.html#HB-SCRIPT-UNKNOWN:CAPS"><code class="literal">HB_SCRIPT_UNKNOWN</code></a>.</p>
+the buffer that has a script other than <code class="literal">HB_SCRIPT_COMMON</code>,
+<code class="literal">HB_SCRIPT_INHERITED</code>, and <code class="literal">HB_SCRIPT_UNKNOWN</code>.</p>
<p>Next, if buffer direction is not set (ie. is <a class="link" href="harfbuzz-hb-common.html#HB-DIRECTION-INVALID:CAPS"><code class="literal">HB_DIRECTION_INVALID</code></a>),
it will be set to the natural horizontal direction of the
buffer script as returned by <a class="link" href="harfbuzz-hb-common.html#hb-script-get-horizontal-direction" title="hb_script_get_horizontal_direction ()"><code class="function">hb_script_get_horizontal_direction()</code></a>.
@@ -1712,7 +1694,7 @@ it is called. See documentation for that function for details.</p>
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -1723,8 +1705,8 @@ it is called. See documentation for that function for details.</p>
<div class="refsect2">
<a name="hb-buffer-set-unicode-funcs"></a><h3>hb_buffer_set_unicode_funcs ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_set_unicode_funcs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *unicode_funcs</code></em>);</pre>
+hb_buffer_set_unicode_funcs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *unicode_funcs</code></em>);</pre>
<div class="refsect3">
<a name="hb-buffer-set-unicode-funcs.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1735,7 +1717,7 @@ hb_buffer_set_unicode_funcs (<em class="parameter"><code><a class="link" href="h
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -1745,8 +1727,8 @@ hb_buffer_set_unicode_funcs (<em class="parameter"><code><a class="link" href="h
<hr>
<div class="refsect2">
<a name="hb-buffer-get-unicode-funcs"></a><h3>hb_buffer_get_unicode_funcs ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
-hb_buffer_get_unicode_funcs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
+hb_buffer_get_unicode_funcs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
<div class="refsect3">
<a name="hb-buffer-get-unicode-funcs.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1757,7 +1739,7 @@ hb_buffer_get_unicode_funcs (<em class="parameter"><code><a class="link" href="h
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -1768,8 +1750,8 @@ hb_buffer_get_unicode_funcs (<em class="parameter"><code><a class="link" href="h
<div class="refsect2">
<a name="hb-buffer-set-user-data"></a><h3>hb_buffer_set_user_data ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_buffer_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
+hb_buffer_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
<em class="parameter"><code><span class="type">void</span> *data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> replace</code></em>);</pre>
@@ -1784,7 +1766,7 @@ hb_buffer_set_user_data (<em class="parameter"><code><a class="link" href="harfb
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -1795,8 +1777,8 @@ hb_buffer_set_user_data (<em class="parameter"><code><a class="link" href="harfb
<div class="refsect2">
<a name="hb-buffer-get-user-data"></a><h3>hb_buffer_get_user_data ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> *
-hb_buffer_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
+hb_buffer_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-buffer-get-user-data.parameters"></a><h4>Parameters</h4>
@@ -1808,7 +1790,7 @@ hb_buffer_get_user_data (<em class="parameter"><code><a class="link" href="harfb
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -1819,7 +1801,7 @@ hb_buffer_get_user_data (<em class="parameter"><code><a class="link" href="harfb
<div class="refsect2">
<a name="hb-buffer-get-glyph-infos"></a><h3>hb_buffer_get_glyph_infos ()</h3>
<pre class="programlisting"><span class="returnvalue">hb_glyph_info_t</span> *
-hb_buffer_get_glyph_infos (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+hb_buffer_get_glyph_infos (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *length</code></em>);</pre>
<p>Returns <em class="parameter"><code>buffer</code></em>
glyph information array. Returned pointer
@@ -1836,12 +1818,12 @@ is valid as long as <em class="parameter"><code>buffer</code></em>
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>length</p></td>
-<td class="parameter_description"><p> output array length. </p></td>
+<td class="parameter_description"><p>output array length. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
@@ -1859,8 +1841,8 @@ The value valid as long as buffer has not been modified. </p>
<hr>
<div class="refsect2">
<a name="hb-buffer-get-glyph-positions"></a><h3>hb_buffer_get_glyph_positions ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t"><span class="returnvalue">hb_glyph_position_t</span></a> *
-hb_buffer_get_glyph_positions (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t" title="hb_glyph_position_t"><span class="returnvalue">hb_glyph_position_t</span></a> *
+hb_buffer_get_glyph_positions (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *length</code></em>);</pre>
<p>Returns <em class="parameter"><code>buffer</code></em>
glyph position array. Returned pointer
@@ -1877,12 +1859,12 @@ is valid as long as <em class="parameter"><code>buffer</code></em>
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>length</p></td>
-<td class="parameter_description"><p> output length. </p></td>
+<td class="parameter_description"><p>output length. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
@@ -1901,7 +1883,7 @@ The value valid as long as buffer has not been modified. </p>
<div class="refsect2">
<a name="hb-buffer-get-invisible-glyph"></a><h3>hb_buffer_get_invisible_glyph ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="returnvalue">hb_codepoint_t</span></a>
-hb_buffer_get_invisible_glyph (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
+hb_buffer_get_invisible_glyph (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
<p>See <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-invisible-glyph" title="hb_buffer_set_invisible_glyph ()"><code class="function">hb_buffer_set_invisible_glyph()</code></a>.</p>
<div class="refsect3">
<a name="hb-buffer-get-invisible-glyph.parameters"></a><h4>Parameters</h4>
@@ -1913,7 +1895,7 @@ hb_buffer_get_invisible_glyph (<em class="parameter"><code><a class="link" href=
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -1929,7 +1911,7 @@ invisible <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="h
<div class="refsect2">
<a name="hb-buffer-set-invisible-glyph"></a><h3>hb_buffer_set_invisible_glyph ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_set_invisible_glyph (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+hb_buffer_set_invisible_glyph (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> invisible</code></em>);</pre>
<p>Sets the <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> that replaces invisible characters in
the shaping result. If set to zero (default), the glyph for the
@@ -1946,7 +1928,7 @@ verbatim.</p>
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -1963,7 +1945,7 @@ verbatim.</p>
<div class="refsect2">
<a name="hb-buffer-set-replacement-codepoint"></a><h3>hb_buffer_set_replacement_codepoint ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_set_replacement_codepoint (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+hb_buffer_set_replacement_codepoint (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> replacement</code></em>);</pre>
<p>Sets the <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> that replaces invalid entries for a given encoding
when adding text to <em class="parameter"><code>buffer</code></em>
@@ -1980,7 +1962,7 @@ when adding text to <em class="parameter"><code>buffer</code></em>
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -1997,7 +1979,7 @@ when adding text to <em class="parameter"><code>buffer</code></em>
<div class="refsect2">
<a name="hb-buffer-get-replacement-codepoint"></a><h3>hb_buffer_get_replacement_codepoint ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="returnvalue">hb_codepoint_t</span></a>
-hb_buffer_get_replacement_codepoint (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
+hb_buffer_get_replacement_codepoint (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
<p>See <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-replacement-codepoint" title="hb_buffer_set_replacement_codepoint ()"><code class="function">hb_buffer_set_replacement_codepoint()</code></a>.</p>
<div class="refsect3">
<a name="hb-buffer-get-replacement-codepoint.parameters"></a><h4>Parameters</h4>
@@ -2009,7 +1991,7 @@ hb_buffer_get_replacement_codepoint (<em class="parameter"><code><a class="link"
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -2025,7 +2007,7 @@ replacement <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title=
<div class="refsect2">
<a name="hb-buffer-normalize-glyphs"></a><h3>hb_buffer_normalize_glyphs ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_normalize_glyphs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
+hb_buffer_normalize_glyphs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
<p>Reorders a glyph buffer to have canonical in-cluster glyph order / position.
The resulting clusters should behave identical to pre-reordering clusters.</p>
<div class="note">This has nothing to do with Unicode normalization.</div>
@@ -2039,7 +2021,7 @@ The resulting clusters should behave identical to pre-reordering clusters.</p>
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -2050,7 +2032,7 @@ The resulting clusters should behave identical to pre-reordering clusters.</p>
<div class="refsect2">
<a name="hb-buffer-reverse"></a><h3>hb_buffer_reverse ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_reverse (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
+hb_buffer_reverse (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
<p>Reverses buffer contents.</p>
<div class="refsect3">
<a name="hb-buffer-reverse.parameters"></a><h4>Parameters</h4>
@@ -2062,7 +2044,7 @@ hb_buffer_reverse (<em class="parameter"><code><a class="link" href="harfbuzz-hb
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -2073,7 +2055,7 @@ hb_buffer_reverse (<em class="parameter"><code><a class="link" href="harfbuzz-hb
<div class="refsect2">
<a name="hb-buffer-reverse-range"></a><h3>hb_buffer_reverse_range ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_reverse_range (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+hb_buffer_reverse_range (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> start</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> end</code></em>);</pre>
<p>Reverses buffer contents between start to end.</p>
@@ -2088,7 +2070,7 @@ hb_buffer_reverse_range (<em class="parameter"><code><a class="link" href="harfb
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -2110,7 +2092,7 @@ hb_buffer_reverse_range (<em class="parameter"><code><a class="link" href="harfb
<div class="refsect2">
<a name="hb-buffer-reverse-clusters"></a><h3>hb_buffer_reverse_clusters ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_reverse_clusters (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
+hb_buffer_reverse_clusters (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre>
<p>Reverses buffer clusters. That is, the buffer contents are
reversed, then each cluster (consecutive items having the
same cluster number) are reversed again.</p>
@@ -2124,7 +2106,7 @@ same cluster number) are reversed again.</p>
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -2135,13 +2117,13 @@ same cluster number) are reversed again.</p>
<div class="refsect2">
<a name="hb-buffer-serialize-glyphs"></a><h3>hb_buffer_serialize_glyphs ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_buffer_serialize_glyphs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+hb_buffer_serialize_glyphs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> start</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> end</code></em>,
<em class="parameter"><code><span class="type">char</span> *buf</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> buf_size</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *buf_consumed</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-serialize-format-t" title="enum hb_buffer_serialize_format_t"><span class="type">hb_buffer_serialize_format_t</span></a> format</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-serialize-flags-t" title="enum hb_buffer_serialize_flags_t"><span class="type">hb_buffer_serialize_flags_t</span></a> flags</code></em>);</pre>
<p>Serializes <em class="parameter"><code>buffer</code></em>
@@ -2149,7 +2131,7 @@ hb_buffer_serialize_glyphs (<em class="parameter"><code><a class="link" href="ha
useful for showing the contents of the buffer, for example during debugging.
There are currently two supported serialization formats:</p>
<div class="refsect3">
-<a name="id-1.3.4.3.11.48.5"></a><h4>text</h4>
+<a name="id-1.3.4.3.7.48.5"></a><h4>text</h4>
<p>A human-readable, plain text format.
The serialized glyphs will look something like:</p>
<p><code class="literal">
@@ -2164,21 +2146,21 @@ The serialized glyphs will look something like:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
<li class="listitem"><p>If <a class="link" href="harfbuzz-hb-buffer.html#HB-BUFFER-SERIALIZE-FLAG-NO-CLUSTERS:CAPS"><span class="type">HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS</span></a> is not set, <code class="literal">=</code> then <span class="type">hb_glyph_info_t.cluster</span>.</p></li>
<li class="listitem">
-<p>If <a class="link" href="harfbuzz-hb-buffer.html#HB-BUFFER-SERIALIZE-FLAG-NO-POSITIONS:CAPS"><span class="type">HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS</span></a> is not set, the <a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t"><span class="type">hb_glyph_position_t</span></a> in the format:</p>
+<p>If <a class="link" href="harfbuzz-hb-buffer.html#HB-BUFFER-SERIALIZE-FLAG-NO-POSITIONS:CAPS"><span class="type">HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS</span></a> is not set, the <a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t" title="hb_glyph_position_t"><span class="type">hb_glyph_position_t</span></a> in the format:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: square; ">
-<li class="listitem"><p>If both <span class="type">hb_glyph_position_t.x_offset</span> and <span class="type">hb_glyph_position_t.y_offset</span> are not 0, <code class="literal">@x_offset,y_offset</code>. Then,</p></li>
-<li class="listitem"><p><code class="literal">+x_advance</code>, then <code class="literal">,y_advance</code> if <span class="type">hb_glyph_position_t.y_advance</span> is not 0. Then,</p></li>
+<li class="listitem"><p>If both <a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t.x-offset"><span class="type">hb_glyph_position_t.x_offset</span></a> and <a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t.y-offset"><span class="type">hb_glyph_position_t.y_offset</span></a> are not 0, <code class="literal">@x_offset,y_offset</code>. Then,</p></li>
+<li class="listitem"><p><code class="literal">+x_advance</code>, then <code class="literal">,y_advance</code> if <a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t.y-advance"><span class="type">hb_glyph_position_t.y_advance</span></a> is not 0. Then,</p></li>
</ul></div>
</li>
<li class="listitem"><p>If <a class="link" href="harfbuzz-hb-buffer.html#HB-BUFFER-SERIALIZE-FLAG-GLYPH-EXTENTS:CAPS"><span class="type">HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS</span></a> is set, the
<span class="type">hb_glyph_extents_t</span> in the format
-<code class="literal">&lt;x_bearing,y_bearing,width,height&gt;</code></p></li>
+<code class="literal">&amp;lt;x_bearing,y_bearing,width,height&amp;gt;</code></p></li>
</ul></div>
</li>
</ul></div>
</div>
<div class="refsect3">
-<a name="id-1.3.4.3.11.48.6"></a><h4>json</h4>
+<a name="id-1.3.4.3.7.48.6"></a><h4>json</h4>
<p>TODO.</p>
</div>
<div class="refsect3">
@@ -2192,7 +2174,7 @@ The serialized glyphs will look something like:</p>
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> buffer.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> buffer.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -2209,7 +2191,7 @@ to serialize.</p></td>
</tr>
<tr>
<td class="parameter_name"><p>buf</p></td>
-<td class="parameter_description"><p> output string to
+<td class="parameter_description"><p>output string to
write serialized buffer into. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=buf_size][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> uint8_t]</span></td>
</tr>
@@ -2221,14 +2203,14 @@ write serialized buffer into. </p></td>
</tr>
<tr>
<td class="parameter_name"><p>buf_consumed</p></td>
-<td class="parameter_description"><p> if not <code class="literal">NULL</code>, will be set to the number of byes written into <em class="parameter"><code>buf</code></em>
+<td class="parameter_description"><p>if not <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, will be set to the number of byes written into <em class="parameter"><code>buf</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>font</p></td>
-<td class="parameter_description"><p> the <a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> used to shape this buffer, needed to
-read glyph names and extents. If <code class="literal">NULL</code>, and empty font will be used. </p></td>
+<td class="parameter_description"><p>the <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> used to shape this buffer, needed to
+read glyph names and extents. If <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, and empty font will be used. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
@@ -2255,11 +2237,11 @@ to serialize.</p></td>
<div class="refsect2">
<a name="hb-buffer-deserialize-glyphs"></a><h3>hb_buffer_deserialize_glyphs ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_buffer_deserialize_glyphs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+hb_buffer_deserialize_glyphs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *buf</code></em>,
<em class="parameter"><code><span class="type">int</span> buf_len</code></em>,
<em class="parameter"><code>const <span class="type">char</span> **end_ptr</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-serialize-format-t" title="enum hb_buffer_serialize_format_t"><span class="type">hb_buffer_serialize_format_t</span></a> format</code></em>);</pre>
<div class="refsect3">
<a name="hb-buffer-deserialize-glyphs.parameters"></a><h4>Parameters</h4>
@@ -2272,7 +2254,7 @@ hb_buffer_deserialize_glyphs (<em class="parameter"><code><a class="link" href="
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> buffer.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> buffer.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -2312,13 +2294,13 @@ hb_buffer_serialize_format_from_string
<tbody>
<tr>
<td class="parameter_name"><p>str</p></td>
-<td class="parameter_description"><p> a string to parse. </p></td>
+<td class="parameter_description"><p>a string to parse. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> uint8_t]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>len</p></td>
<td class="parameter_description"><p>length of <em class="parameter"><code>str</code></em>
-, or -1 if string is <code class="literal">NULL</code> terminated</p></td>
+, or -1 if string is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
@@ -2336,7 +2318,7 @@ hb_buffer_serialize_format_from_string
<pre class="programlisting">const <span class="returnvalue">char</span> *
hb_buffer_serialize_format_to_string (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-serialize-format-t" title="enum hb_buffer_serialize_format_t"><span class="type">hb_buffer_serialize_format_t</span></a> format</code></em>);</pre>
<p>Converts <em class="parameter"><code>format</code></em>
- to the string corresponding it, or <code class="literal">NULL</code> if it is not a valid
+ to the string corresponding it, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it is not a valid
<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-serialize-format-t" title="enum hb_buffer_serialize_format_t"><span class="type">hb_buffer_serialize_format_t</span></a>.</p>
<div class="refsect3">
<a name="hb-buffer-serialize-format-to-string.parameters"></a><h4>Parameters</h4>
@@ -2355,7 +2337,7 @@ hb_buffer_serialize_format_to_string (<em class="parameter"><code><a class="link
</div>
<div class="refsect3">
<a name="hb-buffer-serialize-format-to-string.returns"></a><h4>Returns</h4>
-<p>A <code class="literal">NULL</code> terminated string corresponding to <em class="parameter"><code>format</code></em>
+<p>A <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated string corresponding to <em class="parameter"><code>format</code></em>
. Should not be freed. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
@@ -2378,9 +2360,9 @@ hb_buffer_serialize_list_formats (<em class="parameter"><code><span class="type"
<div class="refsect2">
<a name="hb-segment-properties-equal"></a><h3>hb_segment_properties_equal ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_segment_properties_equal (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *a</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *b</code></em>);</pre>
-<p>Checks the equality of two <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a>'s.</p>
+hb_segment_properties_equal (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> *a</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> *b</code></em>);</pre>
+<p>Checks the equality of two <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a>'s.</p>
<div class="refsect3">
<a name="hb-segment-properties-equal.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -2392,12 +2374,12 @@ hb_segment_properties_equal (<em class="parameter"><code>const <a class="link" h
<tbody>
<tr>
<td class="parameter_name"><p>a</p></td>
-<td class="parameter_description"><p>first <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> to compare.</p></td>
+<td class="parameter_description"><p>first <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> to compare.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>b</p></td>
-<td class="parameter_description"><p>second <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> to compare.</p></td>
+<td class="parameter_description"><p>second <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> to compare.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
@@ -2415,7 +2397,7 @@ equal those of <em class="parameter"><code>b</code></em>
<div class="refsect2">
<a name="hb-segment-properties-hash"></a><h3>hb_segment_properties_hash ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_segment_properties_hash (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *p</code></em>);</pre>
+hb_segment_properties_hash (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> *p</code></em>);</pre>
<p>Creates a hash representing <em class="parameter"><code>p</code></em>
.</p>
<div class="refsect3">
@@ -2428,7 +2410,7 @@ hb_segment_properties_hash (<em class="parameter"><code>const <a class="link" hr
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>p</p></td>
-<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> to hash.</p></td>
+<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> to hash.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -2444,8 +2426,8 @@ hb_segment_properties_hash (<em class="parameter"><code>const <a class="link" hr
<div class="refsect2">
<a name="hb-buffer-diff"></a><h3>hb_buffer_diff ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-diff-flags-t" title="enum hb_buffer_diff_flags_t"><span class="returnvalue">hb_buffer_diff_flags_t</span></a>
-hb_buffer_diff (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *reference</code></em>,
+hb_buffer_diff (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *reference</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> dottedcircle_glyph</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> position_fuzz</code></em>);</pre>
<p>If dottedcircle_glyph is (hb_codepoint_t) -1 then <a class="link" href="harfbuzz-hb-buffer.html#HB-BUFFER-DIFF-FLAG-DOTTED-CIRCLE-PRESENT:CAPS"><code class="literal">HB_BUFFER_DIFF_FLAG_DOTTED_CIRCLE_PRESENT</code></a>
@@ -2489,7 +2471,7 @@ callers if just comparing two buffers is needed.</p>
<div class="refsect2">
<a name="hb-buffer-set-message-func"></a><h3>hb_buffer_set_message_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_buffer_set_message_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+hb_buffer_set_message_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-message-func-t" title="hb_buffer_message_func_t ()"><span class="type">hb_buffer_message_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -2504,7 +2486,7 @@ hb_buffer_set_message_func (<em class="parameter"><code><a class="link" href="ha
<tbody>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -2549,8 +2531,8 @@ hb_glyph_info_get_glyph_flags (<em class="parameter"><code>const <span class="ty
<div class="refsect2">
<a name="hb-buffer-message-func-t"></a><h3>hb_buffer_message_func_t ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-<span class="c_punctuation">(</span>*hb_buffer_message_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+<span class="c_punctuation">(</span>*hb_buffer_message_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *message</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
</div>
@@ -2625,7 +2607,7 @@ and output glyphs and their information after shaping.</p>
</div>
<hr>
<div class="refsect2">
-<a name="hb-glyph-position-t-struct"></a><h3>hb_glyph_position_t</h3>
+<a name="hb-glyph-position-t"></a><h3>hb_glyph_position_t</h3>
<pre class="programlisting">typedef struct {
hb_position_t x_advance;
hb_position_t y_advance;
@@ -2633,9 +2615,9 @@ and output glyphs and their information after shaping.</p>
hb_position_t y_offset;
} hb_glyph_position_t;
</pre>
-<p>The <a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t"><span class="type">hb_glyph_position_t</span></a> is the structure that holds the positions of the
+<p>The <a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t" title="hb_glyph_position_t"><span class="type">hb_glyph_position_t</span></a> is the structure that holds the positions of the
glyph in both horizontal and vertical directions. All positions in
-<a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t"><span class="type">hb_glyph_position_t</span></a> are relative to the current point.</p>
+<a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t" title="hb_glyph_position_t"><span class="type">hb_glyph_position_t</span></a> are relative to the current point.</p>
<div class="refsect3">
<a name="hb-glyph-position-t.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -2646,25 +2628,25 @@ glyph in both horizontal and vertical directions. All positions in
</colgroup>
<tbody>
<tr>
-<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-glyph-position-t-struct.x-advance"></a>x_advance</code></em>;</p></td>
+<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-glyph-position-t.x-advance"></a>x_advance</code></em>;</p></td>
<td class="struct_member_description"><p>how much the line advances after drawing this glyph when setting
text in horizontal direction.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-glyph-position-t-struct.y-advance"></a>y_advance</code></em>;</p></td>
+<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-glyph-position-t.y-advance"></a>y_advance</code></em>;</p></td>
<td class="struct_member_description"><p>how much the line advances after drawing this glyph when setting
text in vertical direction.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-glyph-position-t-struct.x-offset"></a>x_offset</code></em>;</p></td>
+<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-glyph-position-t.x-offset"></a>x_offset</code></em>;</p></td>
<td class="struct_member_description"><p>how much the glyph moves on the X-axis before drawing it, this
should not affect how much the line advances.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-glyph-position-t-struct.y-offset"></a>y_offset</code></em>;</p></td>
+<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-glyph-position-t.y-offset"></a>y_offset</code></em>;</p></td>
<td class="struct_member_description"><p>how much the glyph moves on the Y-axis before drawing it, this
should not affect how much the line advances.</p></td>
<td class="struct_member_annotations"> </td>
@@ -2775,6 +2757,15 @@ should not affect how much the line advances.</p></td>
</td>
<td class="enum_member_annotations"> </td>
</tr>
+<tr>
+<td class="enum_member_name"><p><a name="HB-BUFFER-FLAG-DO-NOT-INSERT-DOTTED-CIRCLE:CAPS"></a>HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE</p></td>
+<td class="enum_member_description">
+<p> flag indicating that a dotted circle should
+ not be inserted in the rendering of incorrect
+ character sequences (such at &lt;0905 093E&gt;). Since: 2.4</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
</tbody>
</table></div>
</div>
@@ -2830,14 +2821,14 @@ should not affect how much the line advances.</p></td>
</div>
<hr>
<div class="refsect2">
-<a name="hb-segment-properties-t-struct"></a><h3>hb_segment_properties_t</h3>
+<a name="hb-segment-properties-t"></a><h3>hb_segment_properties_t</h3>
<pre class="programlisting">typedef struct {
hb_direction_t direction;
hb_script_t script;
hb_language_t language;
} hb_segment_properties_t;
</pre>
-<p>The structure that holds various text properties of an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>. Can be
+<p>The structure that holds various text properties of an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>. Can be
set and retrieved using <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-segment-properties" title="hb_buffer_set_segment_properties ()"><code class="function">hb_buffer_set_segment_properties()</code></a> and
<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-segment-properties" title="hb_buffer_get_segment_properties ()"><code class="function">hb_buffer_get_segment_properties()</code></a>, respectively.</p>
<div class="refsect3">
@@ -2850,17 +2841,17 @@ set and retrieved using <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-
</colgroup>
<tbody>
<tr>
-<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> <em class="structfield"><code><a name="hb-segment-properties-t-struct.direction"></a>direction</code></em>;</p></td>
+<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> <em class="structfield"><code><a name="hb-segment-properties-t.direction"></a>direction</code></em>;</p></td>
<td class="struct_member_description"><p>the <a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> of the buffer, see <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-direction" title="hb_buffer_set_direction ()"><code class="function">hb_buffer_set_direction()</code></a>.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> <em class="structfield"><code><a name="hb-segment-properties-t-struct.script"></a>script</code></em>;</p></td>
+<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> <em class="structfield"><code><a name="hb-segment-properties-t.script"></a>script</code></em>;</p></td>
<td class="struct_member_description"><p>the <a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> of the buffer, see <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-script" title="hb_buffer_set_script ()"><code class="function">hb_buffer_set_script()</code></a>.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> <em class="structfield"><code><a name="hb-segment-properties-t-struct.language"></a>language</code></em>;</p></td>
+<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> <em class="structfield"><code><a name="hb-segment-properties-t.language"></a>language</code></em>;</p></td>
<td class="struct_member_description"><p>the <a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> of the buffer, see <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-language" title="hb_buffer_set_language ()"><code class="function">hb_buffer_set_language()</code></a>.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
@@ -3040,6 +3031,6 @@ set and retrieved using <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-common.html b/docs/html/harfbuzz-hb-common.html
index 7401836..7074d2c 100644
--- a/docs/html/harfbuzz-hb-common.html
+++ b/docs/html/harfbuzz-hb-common.html
@@ -3,20 +3,19 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-common: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch09.html" title="Core API">
<link rel="prev" href="harfbuzz-hb-buffer.html" title="hb-buffer">
<link rel="next" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-common.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-common.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+ <a href="#harfbuzz-hb-common.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
@@ -128,6 +127,38 @@
</tr>
<tr>
<td class="function_type">
+<a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="harfbuzz-hb-common.html#hb-feature-from-string" title="hb_feature_from_string ()">hb_feature_from_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="harfbuzz-hb-common.html#hb-feature-to-string" title="hb_feature_to_string ()">hb_feature_to_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="harfbuzz-hb-common.html#hb-variation-from-string" title="hb_variation_from_string ()">hb_variation_from_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="harfbuzz-hb-common.html#hb-variation-to-string" title="hb_variation_to_string ()">hb_variation_to_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
@@ -185,7 +216,7 @@
</tbody>
</table></div>
</div>
-<a name="hb-user-data-key-t"></a><div class="refsect1">
+<div class="refsect1">
<a name="harfbuzz-hb-common.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
@@ -210,6 +241,14 @@
<td class="function_name"><a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t">hb_language_t</a></td>
</tr>
<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t">hb_feature_t</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="harfbuzz-hb-common.html#hb-variation-t" title="hb_variation_t">hb_variation_t</a></td>
+</tr>
+<tr>
<td class="typedef_keyword">typedef</td>
<td class="function_name"><a class="link" href="harfbuzz-hb-common.html#hb-mask-t" title="hb_mask_t">hb_mask_t</a></td>
</tr>
@@ -227,7 +266,7 @@
</tr>
<tr>
<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t-struct" title="hb_user_data_key_t">hb_user_data_key_t</a></td>
+<td class="function_name"><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t">hb_user_data_key_t</a></td>
</tr>
<tr>
<td class="datatype_keyword"> </td>
@@ -249,19 +288,18 @@
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="harfbuzz-hb-common.html#HB-LANGUAGE-INVALID:CAPS" title="HB_LANGUAGE_INVALID">HB_LANGUAGE_INVALID</a></td>
</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="harfbuzz-hb-common.html#HB-FEATURE-GLOBAL-END:CAPS" title="HB_FEATURE_GLOBAL_END">HB_FEATURE_GLOBAL_END</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="harfbuzz-hb-common.html#HB-FEATURE-GLOBAL-START:CAPS" title="HB_FEATURE_GLOBAL_START">HB_FEATURE_GLOBAL_START</a></td>
+</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
-<a name="harfbuzz-hb-common.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a>
- <span class="lineart">╰──</span> hb_user_data_key_t
- <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GEnum</a>
- <span class="lineart">├──</span> hb_direction_t
- <span class="lineart">╰──</span> hb_script_t
-</pre>
-</div>
-<div class="refsect1">
<a name="harfbuzz-hb-common.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;hb.h&gt;
</pre>
@@ -400,14 +438,14 @@ corresponding <a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="
<tbody>
<tr>
<td class="parameter_name"><p>str</p></td>
-<td class="parameter_description"><p> a string representing an
+<td class="parameter_description"><p>a string representing an
ISO 15924 tag. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> uint8_t]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>len</p></td>
<td class="parameter_description"><p>length of the <em class="parameter"><code>str</code></em>
-, or -1 if it is <code class="literal">NULL</code>-terminated.</p></td>
+, or -1 if it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
@@ -473,14 +511,14 @@ hb_language_from_string (<em class="parameter"><code>const <span class="type">ch
<tbody>
<tr>
<td class="parameter_name"><p>str</p></td>
-<td class="parameter_description"><p> a string representing
+<td class="parameter_description"><p>a string representing
a BCP 47 language tag. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> uint8_t]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>len</p></td>
<td class="parameter_description"><p>length of the <em class="parameter"><code>str</code></em>
-, or -1 if it is <code class="literal">NULL</code>-terminated.</p></td>
+, or -1 if it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
@@ -516,7 +554,7 @@ hb_language_to_string (<em class="parameter"><code><a class="link" href="harfbuz
</div>
<div class="refsect3">
<a name="hb-language-to-string.returns"></a><h4>Returns</h4>
-<p>A <code class="literal">NULL</code>-terminated string representing the <em class="parameter"><code>language</code></em>
+<p>A <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated string representing the <em class="parameter"><code>language</code></em>
. Must not be freed by
the caller. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
@@ -544,6 +582,245 @@ HarfBuzz itself.</p>
</div>
<hr>
<div class="refsect2">
+<a name="hb-feature-from-string"></a><h3>hb_feature_from_string ()</h3>
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
+hb_feature_from_string (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>,
+ <em class="parameter"><code><span class="type">int</span> len</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> *feature</code></em>);</pre>
+<p>Parses a string into a <a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a>.</p>
+<p>The format for specifying feature strings follows. All valid CSS
+font-feature-settings values other than 'normal' and the global values are
+also accepted, though not documented below. CSS string escapes are not
+supported.</p>
+<p>The range indices refer to the positions between Unicode characters. The
+position before the first character is always 0.</p>
+<p>The format is Python-esque. Here is how it all works:</p>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th align="left">Syntax</th>
+<th align="left">Value</th>
+<th align="left">Start</th>
+<th align="left">End</th>
+<td class="auto-generated"> </td>
+</tr></thead>
+<tbody>
+<tr>
+<td align="left">Setting value:</td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+</tr>
+<tr>
+<td align="left">kern</td>
+<td align="left">1</td>
+<td align="left">0</td>
+<td align="left">∞</td>
+<td align="left">Turn feature on</td>
+</tr>
+<tr>
+<td align="left">+kern</td>
+<td align="left">1</td>
+<td align="left">0</td>
+<td align="left">∞</td>
+<td align="left">Turn feature on</td>
+</tr>
+<tr>
+<td align="left">-kern</td>
+<td align="left">0</td>
+<td align="left">0</td>
+<td align="left">∞</td>
+<td align="left">Turn feature off</td>
+</tr>
+<tr>
+<td align="left">kern=0</td>
+<td align="left">0</td>
+<td align="left">0</td>
+<td align="left">∞</td>
+<td align="left">Turn feature off</td>
+</tr>
+<tr>
+<td align="left">kern=1</td>
+<td align="left">1</td>
+<td align="left">0</td>
+<td align="left">∞</td>
+<td align="left">Turn feature on</td>
+</tr>
+<tr>
+<td align="left">aalt=2</td>
+<td align="left">2</td>
+<td align="left">0</td>
+<td align="left">∞</td>
+<td align="left">Choose 2nd alternate</td>
+</tr>
+<tr>
+<td align="left">Setting index:</td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+</tr>
+<tr>
+<td align="left">kern[]</td>
+<td align="left">1</td>
+<td align="left">0</td>
+<td align="left">∞</td>
+<td align="left">Turn feature on</td>
+</tr>
+<tr>
+<td align="left">kern[:]</td>
+<td align="left">1</td>
+<td align="left">0</td>
+<td align="left">∞</td>
+<td align="left">Turn feature on</td>
+</tr>
+<tr>
+<td align="left">kern[5:]</td>
+<td align="left">1</td>
+<td align="left">5</td>
+<td align="left">∞</td>
+<td align="left">Turn feature on, partial</td>
+</tr>
+<tr>
+<td align="left">kern[:5]</td>
+<td align="left">1</td>
+<td align="left">0</td>
+<td align="left">5</td>
+<td align="left">Turn feature on, partial</td>
+</tr>
+<tr>
+<td align="left">kern[3:5]</td>
+<td align="left">1</td>
+<td align="left">3</td>
+<td align="left">5</td>
+<td align="left">Turn feature on, range</td>
+</tr>
+<tr>
+<td align="left">kern[3]</td>
+<td align="left">1</td>
+<td align="left">3</td>
+<td align="left">3+1</td>
+<td align="left">Turn feature on, single char</td>
+</tr>
+<tr>
+<td align="left">Mixing it all:</td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+</tr>
+<tr>
+<td align="left">aalt[3:5]=2</td>
+<td align="left">2</td>
+<td align="left">3</td>
+<td align="left">5</td>
+<td align="left">Turn 2nd alternate on for range</td>
+</tr>
+</tbody>
+</table></div>
+<div class="refsect3">
+<a name="hb-feature-from-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>a string to parse. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> uint8_t]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>len</p></td>
+<td class="parameter_description"><p>length of <em class="parameter"><code>str</code></em>
+, or -1 if string is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>feature</p></td>
+<td class="parameter_description"><p>the <a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> to initialize with the parsed values. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="hb-feature-from-string.returns"></a><h4>Returns</h4>
+<p><code class="literal">true</code> if <em class="parameter"><code>str</code></em>
+is successfully parsed, <code class="literal">false</code> otherwise.</p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-0-9-5.html#api-index-0.9.5">0.9.5</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hb-feature-to-string"></a><h3>hb_feature_to_string ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+hb_feature_to_string (<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> *feature</code></em>,
+ <em class="parameter"><code><span class="type">char</span> *buf</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">int</span> size</code></em>);</pre>
+<p>Converts a <a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> into a <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated string in the format
+understood by <a class="link" href="harfbuzz-hb-common.html#hb-feature-from-string" title="hb_feature_from_string ()"><code class="function">hb_feature_from_string()</code></a>. The client in responsible for
+allocating big enough size for <em class="parameter"><code>buf</code></em>
+, 128 bytes is more than enough.</p>
+<div class="refsect3">
+<a name="hb-feature-to-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>feature</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> to convert</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>output string. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size][<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the allocated size of <em class="parameter"><code>buf</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: <a class="link" href="api-index-0-9-5.html#api-index-0.9.5">0.9.5</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hb-variation-from-string"></a><h3>hb_variation_from_string ()</h3>
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
+hb_variation_from_string (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>,
+ <em class="parameter"><code><span class="type">int</span> len</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-variation-t" title="hb_variation_t"><span class="type">hb_variation_t</span></a> *variation</code></em>);</pre>
+<p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hb-variation-to-string"></a><h3>hb_variation_to_string ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+hb_variation_to_string (<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-variation-t" title="hb_variation_t"><span class="type">hb_variation_t</span></a> *variation</code></em>,
+ <em class="parameter"><code><span class="type">char</span> *buf</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">int</span> size</code></em>);</pre>
+<p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p>
+</div>
+<hr>
+<div class="refsect2">
<a name="hb-destroy-func-t"></a><h3>hb_destroy_func_t ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
<span class="c_punctuation">(</span>*hb_destroy_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
@@ -669,6 +946,27 @@ HarfBuzz itself.</p>
</div>
<hr>
<div class="refsect2">
+<a name="hb-feature-t"></a><h3>hb_feature_t</h3>
+<pre class="programlisting">typedef struct {
+ hb_tag_t tag;
+ uint32_t value;
+ unsigned int start;
+ unsigned int end;
+} hb_feature_t;
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="hb-variation-t"></a><h3>hb_variation_t</h3>
+<pre class="programlisting">typedef struct {
+ hb_tag_t tag;
+ float value;
+} hb_variation_t;
+</pre>
+<p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p>
+</div>
+<hr>
+<div class="refsect2">
<a name="hb-mask-t"></a><h3>hb_mask_t</h3>
<pre class="programlisting">typedef uint32_t hb_mask_t;
</pre>
@@ -698,747 +996,27 @@ HarfBuzz itself.</p>
</colgroup>
<tbody>
<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-COMMON:CAPS"></a>HB_SCRIPT_COMMON</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-INHERITED:CAPS"></a>HB_SCRIPT_INHERITED</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-UNKNOWN:CAPS"></a>HB_SCRIPT_UNKNOWN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-ARABIC:CAPS"></a>HB_SCRIPT_ARABIC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-ARMENIAN:CAPS"></a>HB_SCRIPT_ARMENIAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-BENGALI:CAPS"></a>HB_SCRIPT_BENGALI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-CYRILLIC:CAPS"></a>HB_SCRIPT_CYRILLIC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-DEVANAGARI:CAPS"></a>HB_SCRIPT_DEVANAGARI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-GEORGIAN:CAPS"></a>HB_SCRIPT_GEORGIAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-GREEK:CAPS"></a>HB_SCRIPT_GREEK</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-GUJARATI:CAPS"></a>HB_SCRIPT_GUJARATI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-GURMUKHI:CAPS"></a>HB_SCRIPT_GURMUKHI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-HANGUL:CAPS"></a>HB_SCRIPT_HANGUL</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-HAN:CAPS"></a>HB_SCRIPT_HAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-HEBREW:CAPS"></a>HB_SCRIPT_HEBREW</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-HIRAGANA:CAPS"></a>HB_SCRIPT_HIRAGANA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-KANNADA:CAPS"></a>HB_SCRIPT_KANNADA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-KATAKANA:CAPS"></a>HB_SCRIPT_KATAKANA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-LAO:CAPS"></a>HB_SCRIPT_LAO</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-LATIN:CAPS"></a>HB_SCRIPT_LATIN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-MALAYALAM:CAPS"></a>HB_SCRIPT_MALAYALAM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-ORIYA:CAPS"></a>HB_SCRIPT_ORIYA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-TAMIL:CAPS"></a>HB_SCRIPT_TAMIL</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-TELUGU:CAPS"></a>HB_SCRIPT_TELUGU</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-THAI:CAPS"></a>HB_SCRIPT_THAI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-TIBETAN:CAPS"></a>HB_SCRIPT_TIBETAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-BOPOMOFO:CAPS"></a>HB_SCRIPT_BOPOMOFO</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-BRAILLE:CAPS"></a>HB_SCRIPT_BRAILLE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-CANADIAN-SYLLABICS:CAPS"></a>HB_SCRIPT_CANADIAN_SYLLABICS</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-CHEROKEE:CAPS"></a>HB_SCRIPT_CHEROKEE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-ETHIOPIC:CAPS"></a>HB_SCRIPT_ETHIOPIC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-KHMER:CAPS"></a>HB_SCRIPT_KHMER</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-MONGOLIAN:CAPS"></a>HB_SCRIPT_MONGOLIAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-MYANMAR:CAPS"></a>HB_SCRIPT_MYANMAR</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-OGHAM:CAPS"></a>HB_SCRIPT_OGHAM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-RUNIC:CAPS"></a>HB_SCRIPT_RUNIC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-SINHALA:CAPS"></a>HB_SCRIPT_SINHALA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-SYRIAC:CAPS"></a>HB_SCRIPT_SYRIAC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-THAANA:CAPS"></a>HB_SCRIPT_THAANA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-YI:CAPS"></a>HB_SCRIPT_YI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-DESERET:CAPS"></a>HB_SCRIPT_DESERET</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-GOTHIC:CAPS"></a>HB_SCRIPT_GOTHIC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-OLD-ITALIC:CAPS"></a>HB_SCRIPT_OLD_ITALIC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-BUHID:CAPS"></a>HB_SCRIPT_BUHID</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-HANUNOO:CAPS"></a>HB_SCRIPT_HANUNOO</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-TAGALOG:CAPS"></a>HB_SCRIPT_TAGALOG</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-TAGBANWA:CAPS"></a>HB_SCRIPT_TAGBANWA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-CYPRIOT:CAPS"></a>HB_SCRIPT_CYPRIOT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-LIMBU:CAPS"></a>HB_SCRIPT_LIMBU</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-LINEAR-B:CAPS"></a>HB_SCRIPT_LINEAR_B</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-OSMANYA:CAPS"></a>HB_SCRIPT_OSMANYA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-SHAVIAN:CAPS"></a>HB_SCRIPT_SHAVIAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-TAI-LE:CAPS"></a>HB_SCRIPT_TAI_LE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-UGARITIC:CAPS"></a>HB_SCRIPT_UGARITIC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-BUGINESE:CAPS"></a>HB_SCRIPT_BUGINESE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-COPTIC:CAPS"></a>HB_SCRIPT_COPTIC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-GLAGOLITIC:CAPS"></a>HB_SCRIPT_GLAGOLITIC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-KHAROSHTHI:CAPS"></a>HB_SCRIPT_KHAROSHTHI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-NEW-TAI-LUE:CAPS"></a>HB_SCRIPT_NEW_TAI_LUE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-OLD-PERSIAN:CAPS"></a>HB_SCRIPT_OLD_PERSIAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-SYLOTI-NAGRI:CAPS"></a>HB_SCRIPT_SYLOTI_NAGRI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-TIFINAGH:CAPS"></a>HB_SCRIPT_TIFINAGH</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-BALINESE:CAPS"></a>HB_SCRIPT_BALINESE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-CUNEIFORM:CAPS"></a>HB_SCRIPT_CUNEIFORM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-NKO:CAPS"></a>HB_SCRIPT_NKO</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-PHAGS-PA:CAPS"></a>HB_SCRIPT_PHAGS_PA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-PHOENICIAN:CAPS"></a>HB_SCRIPT_PHOENICIAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-CARIAN:CAPS"></a>HB_SCRIPT_CARIAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-CHAM:CAPS"></a>HB_SCRIPT_CHAM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-KAYAH-LI:CAPS"></a>HB_SCRIPT_KAYAH_LI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-LEPCHA:CAPS"></a>HB_SCRIPT_LEPCHA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-LYCIAN:CAPS"></a>HB_SCRIPT_LYCIAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-LYDIAN:CAPS"></a>HB_SCRIPT_LYDIAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-OL-CHIKI:CAPS"></a>HB_SCRIPT_OL_CHIKI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-REJANG:CAPS"></a>HB_SCRIPT_REJANG</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-SAURASHTRA:CAPS"></a>HB_SCRIPT_SAURASHTRA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-SUNDANESE:CAPS"></a>HB_SCRIPT_SUNDANESE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-VAI:CAPS"></a>HB_SCRIPT_VAI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-AVESTAN:CAPS"></a>HB_SCRIPT_AVESTAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-BAMUM:CAPS"></a>HB_SCRIPT_BAMUM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-EGYPTIAN-HIEROGLYPHS:CAPS"></a>HB_SCRIPT_EGYPTIAN_HIEROGLYPHS</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-IMPERIAL-ARAMAIC:CAPS"></a>HB_SCRIPT_IMPERIAL_ARAMAIC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-INSCRIPTIONAL-PAHLAVI:CAPS"></a>HB_SCRIPT_INSCRIPTIONAL_PAHLAVI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-INSCRIPTIONAL-PARTHIAN:CAPS"></a>HB_SCRIPT_INSCRIPTIONAL_PARTHIAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-JAVANESE:CAPS"></a>HB_SCRIPT_JAVANESE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-KAITHI:CAPS"></a>HB_SCRIPT_KAITHI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-LISU:CAPS"></a>HB_SCRIPT_LISU</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-MEETEI-MAYEK:CAPS"></a>HB_SCRIPT_MEETEI_MAYEK</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-OLD-SOUTH-ARABIAN:CAPS"></a>HB_SCRIPT_OLD_SOUTH_ARABIAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-OLD-TURKIC:CAPS"></a>HB_SCRIPT_OLD_TURKIC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-SAMARITAN:CAPS"></a>HB_SCRIPT_SAMARITAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-TAI-THAM:CAPS"></a>HB_SCRIPT_TAI_THAM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-TAI-VIET:CAPS"></a>HB_SCRIPT_TAI_VIET</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-BATAK:CAPS"></a>HB_SCRIPT_BATAK</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-BRAHMI:CAPS"></a>HB_SCRIPT_BRAHMI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-MANDAIC:CAPS"></a>HB_SCRIPT_MANDAIC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-CHAKMA:CAPS"></a>HB_SCRIPT_CHAKMA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-MEROITIC-CURSIVE:CAPS"></a>HB_SCRIPT_MEROITIC_CURSIVE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-MEROITIC-HIEROGLYPHS:CAPS"></a>HB_SCRIPT_MEROITIC_HIEROGLYPHS</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-MIAO:CAPS"></a>HB_SCRIPT_MIAO</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-SHARADA:CAPS"></a>HB_SCRIPT_SHARADA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-SORA-SOMPENG:CAPS"></a>HB_SCRIPT_SORA_SOMPENG</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-TAKRI:CAPS"></a>HB_SCRIPT_TAKRI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
<td class="enum_member_name"><p><a name="HB-SCRIPT-BASSA-VAH:CAPS"></a>HB_SCRIPT_BASSA_VAH</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-CAUCASIAN-ALBANIAN:CAPS"></a>HB_SCRIPT_CAUCASIAN_ALBANIAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-DUPLOYAN:CAPS"></a>HB_SCRIPT_DUPLOYAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-ELBASAN:CAPS"></a>HB_SCRIPT_ELBASAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-GRANTHA:CAPS"></a>HB_SCRIPT_GRANTHA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-KHOJKI:CAPS"></a>HB_SCRIPT_KHOJKI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-KHUDAWADI:CAPS"></a>HB_SCRIPT_KHUDAWADI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-LINEAR-A:CAPS"></a>HB_SCRIPT_LINEAR_A</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-MAHAJANI:CAPS"></a>HB_SCRIPT_MAHAJANI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-MANICHAEAN:CAPS"></a>HB_SCRIPT_MANICHAEAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-MENDE-KIKAKUI:CAPS"></a>HB_SCRIPT_MENDE_KIKAKUI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-MODI:CAPS"></a>HB_SCRIPT_MODI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-MRO:CAPS"></a>HB_SCRIPT_MRO</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-NABATAEAN:CAPS"></a>HB_SCRIPT_NABATAEAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-OLD-NORTH-ARABIAN:CAPS"></a>HB_SCRIPT_OLD_NORTH_ARABIAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-OLD-PERMIC:CAPS"></a>HB_SCRIPT_OLD_PERMIC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-PAHAWH-HMONG:CAPS"></a>HB_SCRIPT_PAHAWH_HMONG</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-PALMYRENE:CAPS"></a>HB_SCRIPT_PALMYRENE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-PAU-CIN-HAU:CAPS"></a>HB_SCRIPT_PAU_CIN_HAU</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-PSALTER-PAHLAVI:CAPS"></a>HB_SCRIPT_PSALTER_PAHLAVI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-SIDDHAM:CAPS"></a>HB_SCRIPT_SIDDHAM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-TIRHUTA:CAPS"></a>HB_SCRIPT_TIRHUTA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-WARANG-CITI:CAPS"></a>HB_SCRIPT_WARANG_CITI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-AHOM:CAPS"></a>HB_SCRIPT_AHOM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-ANATOLIAN-HIEROGLYPHS:CAPS"></a>HB_SCRIPT_ANATOLIAN_HIEROGLYPHS</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-HATRAN:CAPS"></a>HB_SCRIPT_HATRAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-MULTANI:CAPS"></a>HB_SCRIPT_MULTANI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-OLD-HUNGARIAN:CAPS"></a>HB_SCRIPT_OLD_HUNGARIAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-SIGNWRITING:CAPS"></a>HB_SCRIPT_SIGNWRITING</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
<td class="enum_member_name"><p><a name="HB-SCRIPT-ADLAM:CAPS"></a>HB_SCRIPT_ADLAM</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-BHAIKSUKI:CAPS"></a>HB_SCRIPT_BHAIKSUKI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-MARCHEN:CAPS"></a>HB_SCRIPT_MARCHEN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-OSAGE:CAPS"></a>HB_SCRIPT_OSAGE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-TANGUT:CAPS"></a>HB_SCRIPT_TANGUT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-NEWA:CAPS"></a>HB_SCRIPT_NEWA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
<td class="enum_member_name"><p><a name="HB-SCRIPT-MASARAM-GONDI:CAPS"></a>HB_SCRIPT_MASARAM_GONDI</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-NUSHU:CAPS"></a>HB_SCRIPT_NUSHU</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-SOYOMBO:CAPS"></a>HB_SCRIPT_SOYOMBO</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-ZANABAZAR-SQUARE:CAPS"></a>HB_SCRIPT_ZANABAZAR_SQUARE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
<td class="enum_member_name"><p><a name="HB-SCRIPT-DOGRA:CAPS"></a>HB_SCRIPT_DOGRA</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-GUNJALA-GONDI:CAPS"></a>HB_SCRIPT_GUNJALA_GONDI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-HANIFI-ROHINGYA:CAPS"></a>HB_SCRIPT_HANIFI_ROHINGYA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-MAKASAR:CAPS"></a>HB_SCRIPT_MAKASAR</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-MEDEFAIDRIN:CAPS"></a>HB_SCRIPT_MEDEFAIDRIN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-OLD-SOGDIAN:CAPS"></a>HB_SCRIPT_OLD_SOGDIAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HB-SCRIPT-SOGDIAN:CAPS"></a>HB_SCRIPT_SOGDIAN</p></td>
+<td class="enum_member_name"><p><a name="HB-SCRIPT-ELYMAIC:CAPS"></a>HB_SCRIPT_ELYMAIC</p></td>
<td> </td>
<td> </td>
</tr>
@@ -1463,7 +1041,7 @@ HarfBuzz itself.</p>
</div>
<hr>
<div class="refsect2">
-<a name="hb-user-data-key-t-struct"></a><h3>hb_user_data_key_t</h3>
+<a name="hb-user-data-key-t"></a><h3>hb_user_data_key_t</h3>
<pre class="programlisting">typedef struct {
} hb_user_data_key_t;
</pre>
@@ -1496,9 +1074,23 @@ HarfBuzz itself.</p>
<pre class="programlisting">#define HB_LANGUAGE_INVALID ((hb_language_t) 0)
</pre>
</div>
+<hr>
+<div class="refsect2">
+<a name="HB-FEATURE-GLOBAL-END:CAPS"></a><h3>HB_FEATURE_GLOBAL_END</h3>
+<pre class="programlisting">#define HB_FEATURE_GLOBAL_END ((unsigned int) -1)
+</pre>
+<p class="since">Since: <a class="link" href="api-index-2-0-0.html#api-index-2.0.0">2.0.0</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="HB-FEATURE-GLOBAL-START:CAPS"></a><h3>HB_FEATURE_GLOBAL_START</h3>
+<pre class="programlisting">#define HB_FEATURE_GLOBAL_START 0
+</pre>
+<p class="since">Since: <a class="link" href="api-index-2-0-0.html#api-index-2.0.0">2.0.0</a></p>
+</div>
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-coretext.html b/docs/html/harfbuzz-hb-coretext.html
index fddeb85..143871a 100644
--- a/docs/html/harfbuzz-hb-coretext.html
+++ b/docs/html/harfbuzz-hb-coretext.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-coretext: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch12.html" title="Integration API">
<link rel="prev" href="ch12.html" title="Integration API">
<link rel="next" href="harfbuzz-hb-ft.html" title="hb-ft">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -41,7 +41,7 @@
<tbody>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
+<a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-coretext.html#hb-coretext-face-create" title="hb_coretext_face_create ()">hb_coretext_face_create</a> <span class="c_punctuation">()</span>
@@ -49,7 +49,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> *
+<a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-coretext.html#hb-coretext-font-create" title="hb_coretext_font_create ()">hb_coretext_font_create</a> <span class="c_punctuation">()</span>
@@ -110,26 +110,26 @@
<a name="harfbuzz-hb-coretext.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="hb-coretext-face-create"></a><h3>hb_coretext_face_create ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
hb_coretext_face_create (<em class="parameter"><code><span class="type">CGFontRef</span> cg_font</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="hb-coretext-font-create"></a><h3>hb_coretext_font_create ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
hb_coretext_font_create (<em class="parameter"><code><span class="type">CTFontRef</span> ct_font</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="hb-coretext-face-get-cg-font"></a><h3>hb_coretext_face_get_cg_font ()</h3>
<pre class="programlisting"><span class="returnvalue">CGFontRef</span>
-hb_coretext_face_get_cg_font (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_coretext_face_get_cg_font (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="hb-coretext-font-get-ct-font"></a><h3>hb_coretext_font_get_ct_font ()</h3>
<pre class="programlisting"><span class="returnvalue">CTFontRef</span>
-hb_coretext_font_get_ct_font (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
+hb_coretext_font_get_ct_font (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
</div>
</div>
<div class="refsect1">
@@ -154,6 +154,6 @@ hb_coretext_font_get_ct_font (<em class="parameter"><code><a class="link" href="
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-deprecated.html b/docs/html/harfbuzz-hb-deprecated.html
index 96ed0a1..428c2a7 100644
--- a/docs/html/harfbuzz-hb-deprecated.html
+++ b/docs/html/harfbuzz-hb-deprecated.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-deprecated: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch09.html" title="Core API">
<link rel="prev" href="harfbuzz-hb-common.html" title="hb-common">
<link rel="next" href="harfbuzz-hb-face.html" title="hb-face">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -160,7 +160,7 @@ were deemed unnecessary.</p>
<div class="refsect2">
<a name="hb-font-get-glyph-func-t"></a><h3>hb_font_get_glyph_func_t ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-<span class="c_punctuation">(</span>*hb_font_get_glyph_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+<span class="c_punctuation">(</span>*hb_font_get_glyph_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> variation_selector</code></em>,
@@ -172,7 +172,7 @@ were deemed unnecessary.</p>
<div class="refsect2">
<a name="hb-ot-layout-table-find-script"></a><h3>hb_ot_layout_table_find_script ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_ot_layout_table_find_script (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_layout_table_find_script (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> table_tag</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> script_tag</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *script_index</code></em>);</pre>
@@ -182,7 +182,7 @@ hb_ot_layout_table_find_script (<em class="parameter"><code><a class="link" href
<a name="hb-font-funcs-set-glyph-h-kerning-func"></a><h3>hb_font_funcs_set_glyph_h_kerning_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
hb_font_funcs_set_glyph_h_kerning_func
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-deprecated.html#hb-font-get-glyph-h-kerning-func-t" title="hb_font_get_glyph_h_kerning_func_t"><span class="type">hb_font_get_glyph_h_kerning_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -216,7 +216,7 @@ hb_font_funcs_set_glyph_h_kerning_func
<a name="hb-font-funcs-set-glyph-v-kerning-func"></a><h3>hb_font_funcs_set_glyph_v_kerning_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
hb_font_funcs_set_glyph_v_kerning_func
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-deprecated.html#hb-font-get-glyph-v-kerning-func-t" title="hb_font_get_glyph_v_kerning_func_t"><span class="type">hb_font_get_glyph_v_kerning_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -249,7 +249,7 @@ hb_font_funcs_set_glyph_v_kerning_func
<div class="refsect2">
<a name="hb-font-get-glyph-h-kerning"></a><h3>hb_font_get_glyph_h_kerning ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
-hb_font_get_glyph_h_kerning (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_get_glyph_h_kerning (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> left_glyph</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> right_glyph</code></em>);</pre>
<div class="warning"><p><code class="literal">hb_font_get_glyph_h_kerning</code> has been deprecated since version 2.0.0 and should not be used in newly-written code.</p></div>
@@ -275,7 +275,7 @@ hb_font_get_glyph_h_kerning (<em class="parameter"><code><a class="link" href="h
<a name="hb-font-get-glyph-kerning-for-direction"></a><h3>hb_font_get_glyph_kerning_for_direction ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
hb_font_get_glyph_kerning_for_direction
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> first_glyph</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> second_glyph</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>,
@@ -315,7 +315,7 @@ hb_font_get_glyph_kerning_for_direction
<div class="refsect2">
<a name="hb-font-get-glyph-kerning-func-t"></a><h3>hb_font_get_glyph_kerning_func_t ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
-<span class="c_punctuation">(</span>*hb_font_get_glyph_kerning_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+<span class="c_punctuation">(</span>*hb_font_get_glyph_kerning_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> first_glyph</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> second_glyph</code></em>,
@@ -326,7 +326,7 @@ hb_font_get_glyph_kerning_for_direction
<div class="refsect2">
<a name="hb-font-get-glyph-v-kerning"></a><h3>hb_font_get_glyph_v_kerning ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
-hb_font_get_glyph_v_kerning (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_get_glyph_v_kerning (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> top_glyph</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> bottom_glyph</code></em>);</pre>
<div class="warning"><p><code class="literal">hb_font_get_glyph_v_kerning</code> has been deprecated since version 2.0.0 and should not be used in newly-written code.</p></div>
@@ -403,6 +403,6 @@ hb_font_get_glyph_v_kerning (<em class="parameter"><code><a class="link" href="h
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-face.html b/docs/html/harfbuzz-hb-face.html
index 25c817e..e32b160 100644
--- a/docs/html/harfbuzz-hb-face.html
+++ b/docs/html/harfbuzz-hb-face.html
@@ -3,20 +3,19 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-face: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch09.html" title="Core API">
<link rel="prev" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">
<link rel="next" href="harfbuzz-hb-font.html" title="hb-font">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-face.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-face.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+ <a href="#harfbuzz-hb-face.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
@@ -49,7 +48,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
+<a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-face.html#hb-face-create" title="hb_face_create ()">hb_face_create</a> <span class="c_punctuation">()</span>
@@ -57,7 +56,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
+<a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-face.html#hb-face-create-for-tables" title="hb_face_create_for_tables ()">hb_face_create_for_tables</a> <span class="c_punctuation">()</span>
@@ -73,7 +72,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
+<a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-face.html#hb-face-get-empty" title="hb_face_get_empty ()">hb_face_get_empty</a> <span class="c_punctuation">()</span>
@@ -133,7 +132,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
+<a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-face.html#hb-face-reference" title="hb_face_reference ()">hb_face_reference</a> <span class="c_punctuation">()</span>
@@ -141,7 +140,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
+<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-face.html#hb-face-reference-blob" title="hb_face_reference_blob ()">hb_face_reference_blob</a> <span class="c_punctuation">()</span>
@@ -149,7 +148,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
+<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-face.html#hb-face-reference-table" title="hb_face_reference_table ()">hb_face_reference_table</a> <span class="c_punctuation">()</span>
@@ -213,7 +212,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
+<a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-face.html#hb-face-builder-create" title="hb_face_builder_create ()">hb_face_builder_create</a> <span class="c_punctuation">()</span>
@@ -230,7 +229,7 @@
</tbody>
</table></div>
</div>
-<a name="hb-face-t"></a><div class="refsect1">
+<div class="refsect1">
<a name="harfbuzz-hb-face.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
@@ -239,17 +238,11 @@
</colgroup>
<tbody><tr>
<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-face.html#hb-face-t">hb_face_t</a></td>
+<td class="function_name"><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t">hb_face_t</a></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
-<a name="harfbuzz-hb-face.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a>
- <span class="lineart">╰──</span> hb_face_t
-</pre>
-</div>
-<div class="refsect1">
<a name="harfbuzz-hb-face.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;hb.h&gt;
</pre>
@@ -266,7 +259,7 @@ Font faces are used to create fonts.</p>
<div class="refsect2">
<a name="hb-face-count"></a><h3>hb_face_count ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_face_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
+hb_face_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
<p>Get number of faces in a blob.</p>
<div class="refsect3">
<a name="hb-face-count.parameters"></a><h4>Parameters</h4>
@@ -293,8 +286,8 @@ hb_face_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blo
<hr>
<div class="refsect2">
<a name="hb-face-create"></a><h3>hb_face_create ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
-hb_face_create (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>,
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
+hb_face_create (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> index</code></em>);</pre>
<p><span class="annotation">[Xconstructor]</span></p>
<div class="refsect3">
@@ -307,7 +300,7 @@ hb_face_create (<em class="parameter"><code><a class="link" href="harfbuzz-hb-bl
<hr>
<div class="refsect2">
<a name="hb-face-create-for-tables"></a><h3>hb_face_create_for_tables ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
hb_face_create_for_tables (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-reference-table-func-t" title="hb_reference_table_func_t ()"><span class="type">hb_reference_table_func_t</span></a> reference_table_func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -336,7 +329,7 @@ hb_face_create_for_tables (<em class="parameter"><code><a class="link" href="har
<div class="refsect2">
<a name="hb-face-destroy"></a><h3>hb_face_destroy ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_face_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_face_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-face-destroy.parameters"></a><h4>Parameters</h4>
@@ -358,7 +351,7 @@ hb_face_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-f
<hr>
<div class="refsect2">
<a name="hb-face-get-empty"></a><h3>hb_face_get_empty ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
hb_face_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<div class="refsect3">
<a name="hb-face-get-empty.returns"></a><h4>Returns</h4>
@@ -370,7 +363,7 @@ hb_face_get_empty (<em class="parameter"><code><span class="type">void</span></c
<div class="refsect2">
<a name="hb-face-get-table-tags"></a><h3>hb_face_get_table_tags ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_face_get_table_tags (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_face_get_table_tags (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *table_count</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *table_tags</code></em>);</pre>
@@ -418,7 +411,7 @@ array, output number of items written.</p></td>
<div class="refsect2">
<a name="hb-face-get-glyph-count"></a><h3>hb_face_get_glyph_count ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_face_get_glyph_count (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_face_get_glyph_count (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
<div class="refsect3">
<a name="hb-face-get-glyph-count.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -440,7 +433,7 @@ hb_face_get_glyph_count (<em class="parameter"><code>const <a class="link" href=
<div class="refsect2">
<a name="hb-face-get-index"></a><h3>hb_face_get_index ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_face_get_index (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_face_get_index (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
<div class="refsect3">
<a name="hb-face-get-index.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -462,7 +455,7 @@ hb_face_get_index (<em class="parameter"><code>const <a class="link" href="harfb
<div class="refsect2">
<a name="hb-face-get-upem"></a><h3>hb_face_get_upem ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_face_get_upem (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_face_get_upem (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
<div class="refsect3">
<a name="hb-face-get-upem.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -484,8 +477,8 @@ hb_face_get_upem (<em class="parameter"><code>const <a class="link" href="harfbu
<div class="refsect2">
<a name="hb-face-get-user-data"></a><h3>hb_face_get_user_data ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> *
-hb_face_get_user_data (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
+hb_face_get_user_data (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-face-get-user-data.parameters"></a><h4>Parameters</h4>
@@ -513,7 +506,7 @@ hb_face_get_user_data (<em class="parameter"><code>const <a class="link" href="h
<div class="refsect2">
<a name="hb-face-is-immutable"></a><h3>hb_face_is_immutable ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_face_is_immutable (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_face_is_immutable (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
<div class="refsect3">
<a name="hb-face-is-immutable.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -535,7 +528,7 @@ hb_face_is_immutable (<em class="parameter"><code>const <a class="link" href="ha
<div class="refsect2">
<a name="hb-face-make-immutable"></a><h3>hb_face_make_immutable ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_face_make_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_face_make_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
<div class="refsect3">
<a name="hb-face-make-immutable.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -556,8 +549,8 @@ hb_face_make_immutable (<em class="parameter"><code><a class="link" href="harfbu
<hr>
<div class="refsect2">
<a name="hb-face-reference"></a><h3>hb_face_reference ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
-hb_face_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
+hb_face_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-face-reference.parameters"></a><h4>Parameters</h4>
@@ -579,8 +572,8 @@ hb_face_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb
<hr>
<div class="refsect2">
<a name="hb-face-reference-blob"></a><h3>hb_face_reference_blob ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
-hb_face_reference_blob (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
+hb_face_reference_blob (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
<div class="refsect3">
<a name="hb-face-reference-blob.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -606,8 +599,8 @@ hb_face_reference_blob (<em class="parameter"><code><a class="link" href="harfbu
<hr>
<div class="refsect2">
<a name="hb-face-reference-table"></a><h3>hb_face_reference_table ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
-hb_face_reference_table (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
+hb_face_reference_table (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> tag</code></em>);</pre>
<div class="refsect3">
<a name="hb-face-reference-table.parameters"></a><h4>Parameters</h4>
@@ -635,7 +628,7 @@ hb_face_reference_table (<em class="parameter"><code>const <a class="link" href=
<div class="refsect2">
<a name="hb-face-set-glyph-count"></a><h3>hb_face_set_glyph_count ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_face_set_glyph_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_face_set_glyph_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> glyph_count</code></em>);</pre>
<div class="refsect3">
<a name="hb-face-set-glyph-count.parameters"></a><h4>Parameters</h4>
@@ -658,7 +651,7 @@ hb_face_set_glyph_count (<em class="parameter"><code><a class="link" href="harfb
<div class="refsect2">
<a name="hb-face-set-index"></a><h3>hb_face_set_index ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_face_set_index (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_face_set_index (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> index</code></em>);</pre>
<div class="refsect3">
<a name="hb-face-set-index.parameters"></a><h4>Parameters</h4>
@@ -681,7 +674,7 @@ hb_face_set_index (<em class="parameter"><code><a class="link" href="harfbuzz-hb
<div class="refsect2">
<a name="hb-face-set-upem"></a><h3>hb_face_set_upem ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_face_set_upem (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_face_set_upem (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> upem</code></em>);</pre>
<div class="refsect3">
<a name="hb-face-set-upem.parameters"></a><h4>Parameters</h4>
@@ -704,8 +697,8 @@ hb_face_set_upem (<em class="parameter"><code><a class="link" href="harfbuzz-hb-
<div class="refsect2">
<a name="hb-face-set-user-data"></a><h3>hb_face_set_user_data ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_face_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
+hb_face_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
<em class="parameter"><code><span class="type">void</span> *data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> replace</code></em>);</pre>
@@ -731,8 +724,8 @@ hb_face_set_user_data (<em class="parameter"><code><a class="link" href="harfbuz
<div class="refsect2">
<a name="hb-face-collect-unicodes"></a><h3>hb_face_collect_unicodes ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_face_collect_unicodes (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *out</code></em>);</pre>
+hb_face_collect_unicodes (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *out</code></em>);</pre>
<div class="refsect3">
<a name="hb-face-collect-unicodes.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -762,8 +755,8 @@ to.</p></td>
<div class="refsect2">
<a name="hb-face-collect-variation-selectors"></a><h3>hb_face_collect_variation_selectors ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_face_collect_variation_selectors (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *out</code></em>);</pre>
+hb_face_collect_variation_selectors (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *out</code></em>);</pre>
<div class="refsect3">
<a name="hb-face-collect-variation-selectors.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -793,9 +786,9 @@ to.</p></td>
<div class="refsect2">
<a name="hb-face-collect-variation-unicodes"></a><h3>hb_face_collect_variation_unicodes ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_face_collect_variation_unicodes (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_face_collect_variation_unicodes (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> variation_selector</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *out</code></em>);</pre>
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *out</code></em>);</pre>
<div class="refsect3">
<a name="hb-face-collect-variation-unicodes.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -825,14 +818,14 @@ to.</p></td>
<hr>
<div class="refsect2">
<a name="hb-face-builder-create"></a><h3>hb_face_builder_create ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
hb_face_builder_create (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>Creates a <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> that can be used with <a class="link" href="harfbuzz-hb-face.html#hb-face-builder-add-table" title="hb_face_builder_add_table ()"><code class="function">hb_face_builder_add_table()</code></a>.
+<p>Creates a <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> that can be used with <a class="link" href="harfbuzz-hb-face.html#hb-face-builder-add-table" title="hb_face_builder_add_table ()"><code class="function">hb_face_builder_add_table()</code></a>.
After tables are added to the face, it can be compiled to a binary
font file by calling <a class="link" href="harfbuzz-hb-face.html#hb-face-reference-blob" title="hb_face_reference_blob ()"><code class="function">hb_face_reference_blob()</code></a>.</p>
<div class="refsect3">
<a name="hb-face-builder-create.returns"></a><h4>Returns</h4>
-<p> New face. </p>
+<p>New face. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-1-9-0.html#api-index-1.9.0">1.9.0</a></p>
@@ -841,9 +834,9 @@ font file by calling <a class="link" href="harfbuzz-hb-face.html#hb-face-referen
<div class="refsect2">
<a name="hb-face-builder-add-table"></a><h3>hb_face_builder_add_table ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_face_builder_add_table (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_face_builder_add_table (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> tag</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
<p>Add table for <em class="parameter"><code>tag</code></em>
with data provided by <em class="parameter"><code>blob</code></em>
to the face. <em class="parameter"><code>face</code></em>
@@ -862,6 +855,6 @@ be created using <a class="link" href="harfbuzz-hb-face.html#hb-face-builder-cre
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-font.html b/docs/html/harfbuzz-hb-font.html
index 10c7d9e..5c9785f 100644
--- a/docs/html/harfbuzz-hb-font.html
+++ b/docs/html/harfbuzz-hb-font.html
@@ -3,20 +3,19 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-font: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch09.html" title="Core API">
<link rel="prev" href="harfbuzz-hb-face.html" title="hb-face">
<link rel="next" href="harfbuzz-hb-map.html" title="hb-map">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-font.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-font.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+ <a href="#harfbuzz-hb-font.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
@@ -50,7 +49,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> *
+<a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-font.html#hb-font-create" title="hb_font_create ()">hb_font_create</a> <span class="c_punctuation">()</span>
@@ -58,7 +57,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> *
+<a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-font.html#hb-font-create-sub-font" title="hb_font_create_sub_font ()">hb_font_create_sub_font</a> <span class="c_punctuation">()</span>
@@ -74,7 +73,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="returnvalue">hb_font_funcs_t</span></a> *
+<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="returnvalue">hb_font_funcs_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-create" title="hb_font_funcs_create ()">hb_font_funcs_create</a> <span class="c_punctuation">()</span>
@@ -90,7 +89,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="returnvalue">hb_font_funcs_t</span></a> *
+<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="returnvalue">hb_font_funcs_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-get-empty" title="hb_font_funcs_get_empty ()">hb_font_funcs_get_empty</a> <span class="c_punctuation">()</span>
@@ -122,7 +121,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="returnvalue">hb_font_funcs_t</span></a> *
+<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="returnvalue">hb_font_funcs_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-reference" title="hb_font_funcs_reference ()">hb_font_funcs_reference</a> <span class="c_punctuation">()</span>
@@ -242,7 +241,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> *
+<a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-font.html#hb-font-get-empty" title="hb_font_get_empty ()">hb_font_get_empty</a> <span class="c_punctuation">()</span>
@@ -250,7 +249,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
+<a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-font.html#hb-font-get-face" title="hb_font_get_face ()">hb_font_get_face</a> <span class="c_punctuation">()</span>
@@ -458,7 +457,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> *
+<a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-font.html#hb-font-get-parent" title="hb_font_get_parent ()">hb_font_get_parent</a> <span class="c_punctuation">()</span>
@@ -553,7 +552,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> *
+<a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-font.html#hb-font-reference" title="hb_font_reference ()">hb_font_reference</a> <span class="c_punctuation">()</span>
@@ -625,22 +624,6 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-font.html#hb-variation-from-string" title="hb_variation_from_string ()">hb_variation_from_string</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-font.html#hb-variation-to-string" title="hb_variation_to_string ()">hb_variation_to_string</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
@@ -673,7 +656,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
+<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
</td>
<td class="function_name">
<span class="c_punctuation">(</span><a class="link" href="harfbuzz-hb-font.html#hb-reference-table-func-t" title="hb_reference_table_func_t ()">*hb_reference_table_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
@@ -730,7 +713,7 @@
</tbody>
</table></div>
</div>
-<a name="hb-font-funcs-t"></a><a name="hb-font-t"></a><div class="refsect1">
+<div class="refsect1">
<a name="harfbuzz-hb-font.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
@@ -740,7 +723,7 @@
<tbody>
<tr>
<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t">hb_font_funcs_t</a></td>
+<td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t">hb_font_funcs_t</a></td>
</tr>
<tr>
<td class="typedef_keyword">typedef</td>
@@ -767,12 +750,8 @@
<td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-v-origin-func-t" title="hb_font_get_glyph_v_origin_func_t">hb_font_get_glyph_v_origin_func_t</a></td>
</tr>
<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-variation-t" title="hb_variation_t">hb_variation_t</a></td>
-</tr>
-<tr>
<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-t">hb_font_t</a></td>
+<td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t">hb_font_t</a></td>
</tr>
<tr>
<td class="typedef_keyword">typedef</td>
@@ -786,13 +765,6 @@
</table></div>
</div>
<div class="refsect1">
-<a name="harfbuzz-hb-font.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a>
- <span class="lineart">├──</span> hb_font_funcs_t
- <span class="lineart">╰──</span> hb_font_t
-</pre>
-</div>
-<div class="refsect1">
<a name="harfbuzz-hb-font.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;hb.h&gt;
</pre>
@@ -810,7 +782,7 @@ Fonts are created from font faces, and are used as input to
<a name="hb-font-add-glyph-origin-for-direction"></a><h3>hb_font_add_glyph_origin_for_direction ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
hb_font_add_glyph_origin_for_direction
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *x</code></em>,
@@ -847,8 +819,8 @@ hb_font_add_glyph_origin_for_direction
<hr>
<div class="refsect2">
<a name="hb-font-create"></a><h3>hb_font_create ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> *
-hb_font_create (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
+hb_font_create (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
<p><span class="annotation">[Xconstructor]</span></p>
<div class="refsect3">
<a name="hb-font-create.parameters"></a><h4>Parameters</h4>
@@ -875,8 +847,8 @@ hb_font_create (<em class="parameter"><code><a class="link" href="harfbuzz-hb-fa
<hr>
<div class="refsect2">
<a name="hb-font-create-sub-font"></a><h3>hb_font_create_sub_font ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> *
-hb_font_create_sub_font (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *parent</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
+hb_font_create_sub_font (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *parent</code></em>);</pre>
<div class="refsect3">
<a name="hb-font-create-sub-font.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -903,7 +875,7 @@ hb_font_create_sub_font (<em class="parameter"><code><a class="link" href="harfb
<div class="refsect2">
<a name="hb-font-destroy"></a><h3>hb_font_destroy ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
+hb_font_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-font-destroy.parameters"></a><h4>Parameters</h4>
@@ -925,7 +897,7 @@ hb_font_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-f
<hr>
<div class="refsect2">
<a name="hb-font-funcs-create"></a><h3>hb_font_funcs_create ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="returnvalue">hb_font_funcs_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="returnvalue">hb_font_funcs_t</span></a> *
hb_font_funcs_create (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p><span class="annotation">[Xconstructor]</span></p>
<div class="refsect3">
@@ -939,7 +911,7 @@ hb_font_funcs_create (<em class="parameter"><code><span class="type">void</span>
<div class="refsect2">
<a name="hb-font-funcs-destroy"></a><h3>hb_font_funcs_destroy ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_funcs_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>);</pre>
+hb_font_funcs_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-font-funcs-destroy.parameters"></a><h4>Parameters</h4>
@@ -961,7 +933,7 @@ hb_font_funcs_destroy (<em class="parameter"><code><a class="link" href="harfbuz
<hr>
<div class="refsect2">
<a name="hb-font-funcs-get-empty"></a><h3>hb_font_funcs_get_empty ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="returnvalue">hb_font_funcs_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="returnvalue">hb_font_funcs_t</span></a> *
hb_font_funcs_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<div class="refsect3">
<a name="hb-font-funcs-get-empty.returns"></a><h4>Returns</h4>
@@ -974,8 +946,8 @@ hb_font_funcs_get_empty (<em class="parameter"><code><span class="type">void</sp
<div class="refsect2">
<a name="hb-font-funcs-get-user-data"></a><h3>hb_font_funcs_get_user_data ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> *
-hb_font_funcs_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
+hb_font_funcs_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-font-funcs-get-user-data.parameters"></a><h4>Parameters</h4>
@@ -1003,7 +975,7 @@ hb_font_funcs_get_user_data (<em class="parameter"><code><a class="link" href="h
<div class="refsect2">
<a name="hb-font-funcs-is-immutable"></a><h3>hb_font_funcs_is_immutable ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_font_funcs_is_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>);</pre>
+hb_font_funcs_is_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>);</pre>
<div class="refsect3">
<a name="hb-font-funcs-is-immutable.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1025,7 +997,7 @@ hb_font_funcs_is_immutable (<em class="parameter"><code><a class="link" href="ha
<div class="refsect2">
<a name="hb-font-funcs-make-immutable"></a><h3>hb_font_funcs_make_immutable ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_funcs_make_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>);</pre>
+hb_font_funcs_make_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>);</pre>
<div class="refsect3">
<a name="hb-font-funcs-make-immutable.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1046,8 +1018,8 @@ hb_font_funcs_make_immutable (<em class="parameter"><code><a class="link" href="
<hr>
<div class="refsect2">
<a name="hb-font-funcs-reference"></a><h3>hb_font_funcs_reference ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="returnvalue">hb_font_funcs_t</span></a> *
-hb_font_funcs_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="returnvalue">hb_font_funcs_t</span></a> *
+hb_font_funcs_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-font-funcs-reference.parameters"></a><h4>Parameters</h4>
@@ -1071,7 +1043,7 @@ hb_font_funcs_reference (<em class="parameter"><code><a class="link" href="harfb
<a name="hb-font-funcs-set-glyph-contour-point-func"></a><h3>hb_font_funcs_set_glyph_contour_point_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
hb_font_funcs_set_glyph_contour_point_func
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-contour-point-func-t" title="hb_font_get_glyph_contour_point_func_t ()"><span class="type">hb_font_get_glyph_contour_point_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -1103,7 +1075,7 @@ hb_font_funcs_set_glyph_contour_point_func
<div class="refsect2">
<a name="hb-font-funcs-set-glyph-extents-func"></a><h3>hb_font_funcs_set_glyph_extents_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_funcs_set_glyph_extents_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
+hb_font_funcs_set_glyph_extents_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-extents-func-t" title="hb_font_get_glyph_extents_func_t ()"><span class="type">hb_font_get_glyph_extents_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -1136,7 +1108,7 @@ hb_font_funcs_set_glyph_extents_func (<em class="parameter"><code><a class="link
<a name="hb-font-funcs-set-glyph-from-name-func"></a><h3>hb_font_funcs_set_glyph_from_name_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
hb_font_funcs_set_glyph_from_name_func
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-from-name-func-t" title="hb_font_get_glyph_from_name_func_t ()"><span class="type">hb_font_get_glyph_from_name_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -1169,7 +1141,7 @@ hb_font_funcs_set_glyph_from_name_func
<a name="hb-font-funcs-set-glyph-h-advance-func"></a><h3>hb_font_funcs_set_glyph_h_advance_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
hb_font_funcs_set_glyph_h_advance_func
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-advance-func-t" title="hb_font_get_glyph_h_advance_func_t"><span class="type">hb_font_get_glyph_h_advance_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -1202,7 +1174,7 @@ hb_font_funcs_set_glyph_h_advance_func
<a name="hb-font-funcs-set-glyph-h-advances-func"></a><h3>hb_font_funcs_set_glyph_h_advances_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
hb_font_funcs_set_glyph_h_advances_func
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-advances-func-t" title="hb_font_get_glyph_h_advances_func_t"><span class="type">hb_font_get_glyph_h_advances_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -1234,7 +1206,7 @@ hb_font_funcs_set_glyph_h_advances_func
<div class="refsect2">
<a name="hb-font-funcs-set-glyph-h-origin-func"></a><h3>hb_font_funcs_set_glyph_h_origin_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_funcs_set_glyph_h_origin_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
+hb_font_funcs_set_glyph_h_origin_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-origin-func-t" title="hb_font_get_glyph_h_origin_func_t"><span class="type">hb_font_get_glyph_h_origin_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -1266,7 +1238,7 @@ hb_font_funcs_set_glyph_h_origin_func (<em class="parameter"><code><a class="lin
<div class="refsect2">
<a name="hb-font-funcs-set-glyph-name-func"></a><h3>hb_font_funcs_set_glyph_name_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_funcs_set_glyph_name_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
+hb_font_funcs_set_glyph_name_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-name-func-t" title="hb_font_get_glyph_name_func_t ()"><span class="type">hb_font_get_glyph_name_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -1299,7 +1271,7 @@ hb_font_funcs_set_glyph_name_func (<em class="parameter"><code><a class="link" h
<a name="hb-font-funcs-set-glyph-v-advance-func"></a><h3>hb_font_funcs_set_glyph_v_advance_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
hb_font_funcs_set_glyph_v_advance_func
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-v-advance-func-t" title="hb_font_get_glyph_v_advance_func_t"><span class="type">hb_font_get_glyph_v_advance_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -1332,7 +1304,7 @@ hb_font_funcs_set_glyph_v_advance_func
<a name="hb-font-funcs-set-glyph-v-advances-func"></a><h3>hb_font_funcs_set_glyph_v_advances_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
hb_font_funcs_set_glyph_v_advances_func
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-v-advances-func-t" title="hb_font_get_glyph_v_advances_func_t"><span class="type">hb_font_get_glyph_v_advances_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -1364,7 +1336,7 @@ hb_font_funcs_set_glyph_v_advances_func
<div class="refsect2">
<a name="hb-font-funcs-set-glyph-v-origin-func"></a><h3>hb_font_funcs_set_glyph_v_origin_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_funcs_set_glyph_v_origin_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
+hb_font_funcs_set_glyph_v_origin_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-v-origin-func-t" title="hb_font_get_glyph_v_origin_func_t"><span class="type">hb_font_get_glyph_v_origin_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -1396,7 +1368,7 @@ hb_font_funcs_set_glyph_v_origin_func (<em class="parameter"><code><a class="lin
<div class="refsect2">
<a name="hb-font-funcs-set-nominal-glyph-func"></a><h3>hb_font_funcs_set_nominal_glyph_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_funcs_set_nominal_glyph_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
+hb_font_funcs_set_nominal_glyph_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-nominal-glyph-func-t" title="hb_font_get_nominal_glyph_func_t ()"><span class="type">hb_font_get_nominal_glyph_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -1428,7 +1400,7 @@ hb_font_funcs_set_nominal_glyph_func (<em class="parameter"><code><a class="link
<div class="refsect2">
<a name="hb-font-funcs-set-nominal-glyphs-func"></a><h3>hb_font_funcs_set_nominal_glyphs_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_funcs_set_nominal_glyphs_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
+hb_font_funcs_set_nominal_glyphs_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
<em class="parameter"><code><span class="type">hb_font_get_nominal_glyphs_func_t</span> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -1460,8 +1432,8 @@ hb_font_funcs_set_nominal_glyphs_func (<em class="parameter"><code><a class="lin
<div class="refsect2">
<a name="hb-font-funcs-set-user-data"></a><h3>hb_font_funcs_set_user_data ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_font_funcs_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
+hb_font_funcs_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
<em class="parameter"><code><span class="type">void</span> *data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> replace</code></em>);</pre>
@@ -1488,7 +1460,7 @@ hb_font_funcs_set_user_data (<em class="parameter"><code><a class="link" href="h
<a name="hb-font-funcs-set-variation-glyph-func"></a><h3>hb_font_funcs_set_variation_glyph_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
hb_font_funcs_set_variation_glyph_func
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-variation-glyph-func-t" title="hb_font_get_variation_glyph_func_t ()"><span class="type">hb_font_get_variation_glyph_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -1519,7 +1491,7 @@ hb_font_funcs_set_variation_glyph_func
<hr>
<div class="refsect2">
<a name="hb-font-get-empty"></a><h3>hb_font_get_empty ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
hb_font_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<div class="refsect3">
<a name="hb-font-get-empty.returns"></a><h4>Returns</h4>
@@ -1530,8 +1502,8 @@ hb_font_get_empty (<em class="parameter"><code><span class="type">void</span></c
<hr>
<div class="refsect2">
<a name="hb-font-get-face"></a><h3>hb_font_get_face ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
-hb_font_get_face (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
+hb_font_get_face (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
<div class="refsect3">
<a name="hb-font-get-face.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1558,7 +1530,7 @@ hb_font_get_face (<em class="parameter"><code><a class="link" href="harfbuzz-hb-
<div class="refsect2">
<a name="hb-font-get-glyph"></a><h3>hb_font_get_glyph ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_font_get_glyph (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_get_glyph (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> variation_selector</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *glyph</code></em>);</pre>
@@ -1591,7 +1563,7 @@ hb_font_get_glyph (<em class="parameter"><code><a class="link" href="harfbuzz-hb
<a name="hb-font-get-glyph-advance-for-direction"></a><h3>hb_font_get_glyph_advance_for_direction ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
hb_font_get_glyph_advance_for_direction
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *x</code></em>,
@@ -1629,7 +1601,7 @@ hb_font_get_glyph_advance_for_direction
<div class="refsect2">
<a name="hb-font-get-glyph-advance-func-t"></a><h3>hb_font_get_glyph_advance_func_t ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
-<span class="c_punctuation">(</span>*hb_font_get_glyph_advance_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+<span class="c_punctuation">(</span>*hb_font_get_glyph_advance_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
@@ -1639,7 +1611,7 @@ hb_font_get_glyph_advance_for_direction
<a name="hb-font-get-glyph-advances-for-direction"></a><h3>hb_font_get_glyph_advances_for_direction ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
hb_font_get_glyph_advances_for_direction
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> count</code></em>,
<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *first_glyph</code></em>,
@@ -1667,7 +1639,7 @@ hb_font_get_glyph_advances_for_direction
<div class="refsect2">
<a name="hb-font-get-glyph-advances-func-t"></a><h3>hb_font_get_glyph_advances_func_t ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-<span class="c_punctuation">(</span>*hb_font_get_glyph_advances_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+<span class="c_punctuation">(</span>*hb_font_get_glyph_advances_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> count</code></em>,
<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *first_glyph</code></em>,
@@ -1680,7 +1652,7 @@ hb_font_get_glyph_advances_for_direction
<div class="refsect2">
<a name="hb-font-get-glyph-contour-point"></a><h3>hb_font_get_glyph_contour_point ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_font_get_glyph_contour_point (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_get_glyph_contour_point (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> point_index</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *x</code></em>,
@@ -1719,7 +1691,7 @@ hb_font_get_glyph_contour_point (<em class="parameter"><code><a class="link" hre
<a name="hb-font-get-glyph-contour-point-for-origin"></a><h3>hb_font_get_glyph_contour_point_for_origin ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
hb_font_get_glyph_contour_point_for_origin
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> point_index</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>,
@@ -1759,7 +1731,7 @@ hb_font_get_glyph_contour_point_for_origin
<a name="hb-font-get-glyph-contour-point-func-t"></a><h3>hb_font_get_glyph_contour_point_func_t ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
<span class="c_punctuation">(</span>*hb_font_get_glyph_contour_point_func_t<span class="c_punctuation">)</span>
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> point_index</code></em>,
@@ -1771,7 +1743,7 @@ hb_font_get_glyph_contour_point_for_origin
<div class="refsect2">
<a name="hb-font-get-glyph-extents"></a><h3>hb_font_get_glyph_extents ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_font_get_glyph_extents (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_get_glyph_extents (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code><span class="type">hb_glyph_extents_t</span> *extents</code></em>);</pre>
<div class="refsect3">
@@ -1802,7 +1774,7 @@ hb_font_get_glyph_extents (<em class="parameter"><code><a class="link" href="har
<div class="refsect2">
<a name="hb-font-get-glyph-extents-for-origin"></a><h3>hb_font_get_glyph_extents_for_origin ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_font_get_glyph_extents_for_origin (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_get_glyph_extents_for_origin (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>,
<em class="parameter"><code><span class="type">hb_glyph_extents_t</span> *extents</code></em>);</pre>
@@ -1834,7 +1806,7 @@ hb_font_get_glyph_extents_for_origin (<em class="parameter"><code><a class="link
<div class="refsect2">
<a name="hb-font-get-glyph-extents-func-t"></a><h3>hb_font_get_glyph_extents_func_t ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-<span class="c_punctuation">(</span>*hb_font_get_glyph_extents_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+<span class="c_punctuation">(</span>*hb_font_get_glyph_extents_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code><span class="type">hb_glyph_extents_t</span> *extents</code></em>,
@@ -1844,7 +1816,7 @@ hb_font_get_glyph_extents_for_origin (<em class="parameter"><code><a class="link
<div class="refsect2">
<a name="hb-font-get-glyph-from-name"></a><h3>hb_font_get_glyph_from_name ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_font_get_glyph_from_name (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_get_glyph_from_name (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
<em class="parameter"><code><span class="type">int</span> len</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *glyph</code></em>);</pre>
@@ -1881,7 +1853,7 @@ hb_font_get_glyph_from_name (<em class="parameter"><code><a class="link" href="h
<div class="refsect2">
<a name="hb-font-get-glyph-from-name-func-t"></a><h3>hb_font_get_glyph_from_name_func_t ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-<span class="c_punctuation">(</span>*hb_font_get_glyph_from_name_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+<span class="c_punctuation">(</span>*hb_font_get_glyph_from_name_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
<em class="parameter"><code><span class="type">int</span> len</code></em>);</pre>
@@ -1890,7 +1862,7 @@ hb_font_get_glyph_from_name (<em class="parameter"><code><a class="link" href="h
<div class="refsect2">
<a name="hb-font-get-glyph-h-advance"></a><h3>hb_font_get_glyph_h_advance ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
-hb_font_get_glyph_h_advance (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_get_glyph_h_advance (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>);</pre>
<div class="refsect3">
<a name="hb-font-get-glyph-h-advance.parameters"></a><h4>Parameters</h4>
@@ -1913,7 +1885,7 @@ hb_font_get_glyph_h_advance (<em class="parameter"><code><a class="link" href="h
<div class="refsect2">
<a name="hb-font-get-glyph-h-advances"></a><h3>hb_font_get_glyph_h_advances ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_get_glyph_h_advances (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_get_glyph_h_advances (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> count</code></em>,
<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *first_glyph</code></em>,
<em class="parameter"><code><span class="type">unsigned </span> glyph_stride</code></em>,
@@ -1940,7 +1912,7 @@ hb_font_get_glyph_h_advances (<em class="parameter"><code><a class="link" href="
<div class="refsect2">
<a name="hb-font-get-glyph-h-origin"></a><h3>hb_font_get_glyph_h_origin ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_font_get_glyph_h_origin (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_get_glyph_h_origin (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *x</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *y</code></em>);</pre>
@@ -1977,7 +1949,7 @@ hb_font_get_glyph_h_origin (<em class="parameter"><code><a class="link" href="ha
<div class="refsect2">
<a name="hb-font-get-glyph-name"></a><h3>hb_font_get_glyph_name ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_font_get_glyph_name (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_get_glyph_name (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code><span class="type">char</span> *name</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> size</code></em>);</pre>
@@ -2009,7 +1981,7 @@ hb_font_get_glyph_name (<em class="parameter"><code><a class="link" href="harfbu
<div class="refsect2">
<a name="hb-font-get-glyph-name-func-t"></a><h3>hb_font_get_glyph_name_func_t ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-<span class="c_punctuation">(</span>*hb_font_get_glyph_name_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+<span class="c_punctuation">(</span>*hb_font_get_glyph_name_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code><span class="type">char</span> *name</code></em>,
@@ -2021,7 +1993,7 @@ hb_font_get_glyph_name (<em class="parameter"><code><a class="link" href="harfbu
<a name="hb-font-get-glyph-origin-for-direction"></a><h3>hb_font_get_glyph_origin_for_direction ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
hb_font_get_glyph_origin_for_direction
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *x</code></em>,
@@ -2059,7 +2031,7 @@ hb_font_get_glyph_origin_for_direction
<div class="refsect2">
<a name="hb-font-get-glyph-origin-func-t"></a><h3>hb_font_get_glyph_origin_func_t ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-<span class="c_punctuation">(</span>*hb_font_get_glyph_origin_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+<span class="c_punctuation">(</span>*hb_font_get_glyph_origin_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *x</code></em>,
@@ -2070,7 +2042,7 @@ hb_font_get_glyph_origin_for_direction
<div class="refsect2">
<a name="hb-font-get-glyph-v-advance"></a><h3>hb_font_get_glyph_v_advance ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
-hb_font_get_glyph_v_advance (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_get_glyph_v_advance (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>);</pre>
<div class="refsect3">
<a name="hb-font-get-glyph-v-advance.parameters"></a><h4>Parameters</h4>
@@ -2093,7 +2065,7 @@ hb_font_get_glyph_v_advance (<em class="parameter"><code><a class="link" href="h
<div class="refsect2">
<a name="hb-font-get-glyph-v-advances"></a><h3>hb_font_get_glyph_v_advances ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_get_glyph_v_advances (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_get_glyph_v_advances (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> count</code></em>,
<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *first_glyph</code></em>,
<em class="parameter"><code><span class="type">unsigned </span> glyph_stride</code></em>,
@@ -2120,7 +2092,7 @@ hb_font_get_glyph_v_advances (<em class="parameter"><code><a class="link" href="
<div class="refsect2">
<a name="hb-font-get-glyph-v-origin"></a><h3>hb_font_get_glyph_v_origin ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_font_get_glyph_v_origin (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_get_glyph_v_origin (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *x</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *y</code></em>);</pre>
@@ -2157,7 +2129,7 @@ hb_font_get_glyph_v_origin (<em class="parameter"><code><a class="link" href="ha
<div class="refsect2">
<a name="hb-font-get-nominal-glyph"></a><h3>hb_font_get_nominal_glyph ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_font_get_nominal_glyph (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_get_nominal_glyph (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *glyph</code></em>);</pre>
<div class="refsect3">
@@ -2188,7 +2160,7 @@ hb_font_get_nominal_glyph (<em class="parameter"><code><a class="link" href="har
<div class="refsect2">
<a name="hb-font-get-nominal-glyph-func-t"></a><h3>hb_font_get_nominal_glyph_func_t ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-<span class="c_punctuation">(</span>*hb_font_get_nominal_glyph_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+<span class="c_punctuation">(</span>*hb_font_get_nominal_glyph_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *glyph</code></em>,
@@ -2197,8 +2169,8 @@ hb_font_get_nominal_glyph (<em class="parameter"><code><a class="link" href="har
<hr>
<div class="refsect2">
<a name="hb-font-get-parent"></a><h3>hb_font_get_parent ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> *
-hb_font_get_parent (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
+hb_font_get_parent (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
<div class="refsect3">
<a name="hb-font-get-parent.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -2225,7 +2197,7 @@ hb_font_get_parent (<em class="parameter"><code><a class="link" href="harfbuzz-h
<div class="refsect2">
<a name="hb-font-get-ppem"></a><h3>hb_font_get_ppem ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_get_ppem (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_get_ppem (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *x_ppem</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *y_ppem</code></em>);</pre>
<div class="refsect3">
@@ -2261,7 +2233,7 @@ hb_font_get_ppem (<em class="parameter"><code><a class="link" href="harfbuzz-hb-
<div class="refsect2">
<a name="hb-font-get-ptem"></a><h3>hb_font_get_ptem ()</h3>
<pre class="programlisting"><span class="returnvalue">float</span>
-hb_font_get_ptem (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
+hb_font_get_ptem (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
<p>Gets the "point size" of the font. A value of 0 means unset.</p>
<div class="refsect3">
<a name="hb-font-get-ptem.parameters"></a><h4>Parameters</h4>
@@ -2288,7 +2260,7 @@ hb_font_get_ptem (<em class="parameter"><code><a class="link" href="harfbuzz-hb-
<div class="refsect2">
<a name="hb-font-get-scale"></a><h3>hb_font_get_scale ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_get_scale (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_get_scale (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><span class="type">int</span> *x_scale</code></em>,
<em class="parameter"><code><span class="type">int</span> *y_scale</code></em>);</pre>
<div class="refsect3">
@@ -2324,8 +2296,8 @@ hb_font_get_scale (<em class="parameter"><code><a class="link" href="harfbuzz-hb
<div class="refsect2">
<a name="hb-font-get-user-data"></a><h3>hb_font_get_user_data ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> *
-hb_font_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
+hb_font_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-font-get-user-data.parameters"></a><h4>Parameters</h4>
@@ -2353,7 +2325,7 @@ hb_font_get_user_data (<em class="parameter"><code><a class="link" href="harfbuz
<div class="refsect2">
<a name="hb-font-get-variation-glyph"></a><h3>hb_font_get_variation_glyph ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_font_get_variation_glyph (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_get_variation_glyph (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> variation_selector</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *glyph</code></em>);</pre>
@@ -2385,7 +2357,7 @@ hb_font_get_variation_glyph (<em class="parameter"><code><a class="link" href="h
<div class="refsect2">
<a name="hb-font-get-variation-glyph-func-t"></a><h3>hb_font_get_variation_glyph_func_t ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-<span class="c_punctuation">(</span>*hb_font_get_variation_glyph_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+<span class="c_punctuation">(</span>*hb_font_get_variation_glyph_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> variation_selector</code></em>,
@@ -2396,7 +2368,7 @@ hb_font_get_variation_glyph (<em class="parameter"><code><a class="link" href="h
<div class="refsect2">
<a name="hb-font-get-var-coords-normalized"></a><h3>hb_font_get_var_coords_normalized ()</h3>
<pre class="programlisting">const <span class="returnvalue">int</span> *
-hb_font_get_var_coords_normalized (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_get_var_coords_normalized (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *length</code></em>);</pre>
<p>Return value is valid as long as variation coordinates of the font
are not modified.</p>
@@ -2406,7 +2378,7 @@ are not modified.</p>
<div class="refsect2">
<a name="hb-font-glyph-from-string"></a><h3>hb_font_glyph_from_string ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_font_glyph_from_string (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_glyph_from_string (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *s</code></em>,
<em class="parameter"><code><span class="type">int</span> len</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *glyph</code></em>);</pre>
@@ -2443,7 +2415,7 @@ hb_font_glyph_from_string (<em class="parameter"><code><a class="link" href="har
<div class="refsect2">
<a name="hb-font-glyph-to-string"></a><h3>hb_font_glyph_to_string ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_glyph_to_string (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_glyph_to_string (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code><span class="type">char</span> *s</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> size</code></em>);</pre>
@@ -2475,7 +2447,7 @@ hb_font_glyph_to_string (<em class="parameter"><code><a class="link" href="harfb
<div class="refsect2">
<a name="hb-font-is-immutable"></a><h3>hb_font_is_immutable ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_font_is_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
+hb_font_is_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
<div class="refsect3">
<a name="hb-font-is-immutable.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -2497,7 +2469,7 @@ hb_font_is_immutable (<em class="parameter"><code><a class="link" href="harfbuzz
<div class="refsect2">
<a name="hb-font-make-immutable"></a><h3>hb_font_make_immutable ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_make_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
+hb_font_make_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
<div class="refsect3">
<a name="hb-font-make-immutable.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -2518,8 +2490,8 @@ hb_font_make_immutable (<em class="parameter"><code><a class="link" href="harfbu
<hr>
<div class="refsect2">
<a name="hb-font-reference"></a><h3>hb_font_reference ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> *
-hb_font_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
+hb_font_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-font-reference.parameters"></a><h4>Parameters</h4>
@@ -2547,8 +2519,8 @@ hb_font_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb
<div class="refsect2">
<a name="hb-font-set-face"></a><h3>hb_font_set_face ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_set_face (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_font_set_face (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
<p>Sets font-face of <em class="parameter"><code>font</code></em>
.</p>
<div class="refsect3">
@@ -2579,8 +2551,8 @@ hb_font_set_face (<em class="parameter"><code><a class="link" href="harfbuzz-hb-
<div class="refsect2">
<a name="hb-font-set-funcs"></a><h3>hb_font_set_funcs ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_set_funcs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *klass</code></em>,
+hb_font_set_funcs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *klass</code></em>,
<em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
<div class="refsect3">
@@ -2611,7 +2583,7 @@ hb_font_set_funcs (<em class="parameter"><code><a class="link" href="harfbuzz-hb
<div class="refsect2">
<a name="hb-font-set-funcs-data"></a><h3>hb_font_set_funcs_data ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_set_funcs_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_set_funcs_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
<div class="refsect3">
@@ -2642,8 +2614,8 @@ hb_font_set_funcs_data (<em class="parameter"><code><a class="link" href="harfbu
<div class="refsect2">
<a name="hb-font-set-parent"></a><h3>hb_font_set_parent ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_set_parent (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *parent</code></em>);</pre>
+hb_font_set_parent (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *parent</code></em>);</pre>
<p>Sets parent font of <em class="parameter"><code>font</code></em>
.</p>
<div class="refsect3">
@@ -2674,7 +2646,7 @@ hb_font_set_parent (<em class="parameter"><code><a class="link" href="harfbuzz-h
<div class="refsect2">
<a name="hb-font-set-ppem"></a><h3>hb_font_set_ppem ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_set_ppem (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_set_ppem (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> x_ppem</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> y_ppem</code></em>);</pre>
<div class="refsect3">
@@ -2698,7 +2670,7 @@ hb_font_set_ppem (<em class="parameter"><code><a class="link" href="harfbuzz-hb-
<div class="refsect2">
<a name="hb-font-set-ptem"></a><h3>hb_font_set_ptem ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_set_ptem (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_set_ptem (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><span class="type">float</span> ptem</code></em>);</pre>
<p>Sets "point size" of the font. Set to 0 to unset.</p>
<p>There are 72 points in an inch.</p>
@@ -2730,7 +2702,7 @@ hb_font_set_ptem (<em class="parameter"><code><a class="link" href="harfbuzz-hb-
<div class="refsect2">
<a name="hb-font-set-scale"></a><h3>hb_font_set_scale ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_set_scale (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_set_scale (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><span class="type">int</span> x_scale</code></em>,
<em class="parameter"><code><span class="type">int</span> y_scale</code></em>);</pre>
<div class="refsect3">
@@ -2754,8 +2726,8 @@ hb_font_set_scale (<em class="parameter"><code><a class="link" href="harfbuzz-hb
<div class="refsect2">
<a name="hb-font-set-user-data"></a><h3>hb_font_set_user_data ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_font_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
+hb_font_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
<em class="parameter"><code><span class="type">void</span> *data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> replace</code></em>);</pre>
@@ -2779,28 +2751,10 @@ hb_font_set_user_data (<em class="parameter"><code><a class="link" href="harfbuz
</div>
<hr>
<div class="refsect2">
-<a name="hb-variation-from-string"></a><h3>hb_variation_from_string ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_variation_from_string (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>,
- <em class="parameter"><code><span class="type">int</span> len</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-variation-t" title="hb_variation_t"><span class="type">hb_variation_t</span></a> *variation</code></em>);</pre>
-<p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-variation-to-string"></a><h3>hb_variation_to_string ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hb_variation_to_string (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-variation-t" title="hb_variation_t"><span class="type">hb_variation_t</span></a> *variation</code></em>,
- <em class="parameter"><code><span class="type">char</span> *buf</code></em>,
- <em class="parameter"><code>unsigned <span class="type">int</span> size</code></em>);</pre>
-<p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p>
-</div>
-<hr>
-<div class="refsect2">
<a name="hb-font-set-variations"></a><h3>hb_font_set_variations ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_set_variations (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-font.html#hb-variation-t" title="hb_variation_t"><span class="type">hb_variation_t</span></a> *variations</code></em>,
+hb_font_set_variations (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-variation-t" title="hb_variation_t"><span class="type">hb_variation_t</span></a> *variations</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> variations_length</code></em>);</pre>
<p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p>
</div>
@@ -2808,7 +2762,7 @@ hb_font_set_variations (<em class="parameter"><code><a class="link" href="harfbu
<div class="refsect2">
<a name="hb-font-set-var-coords-design"></a><h3>hb_font_set_var_coords_design ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_set_var_coords_design (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_set_var_coords_design (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code>const <span class="type">float</span> *coords</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> coords_length</code></em>);</pre>
<p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p>
@@ -2817,7 +2771,7 @@ hb_font_set_var_coords_design (<em class="parameter"><code><a class="link" href=
<div class="refsect2">
<a name="hb-font-set-var-coords-normalized"></a><h3>hb_font_set_var_coords_normalized ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_set_var_coords_normalized (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_set_var_coords_normalized (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code>const <span class="type">int</span> *coords</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> coords_length</code></em>);</pre>
<p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p>
@@ -2827,7 +2781,7 @@ hb_font_set_var_coords_normalized (<em class="parameter"><code><a class="link" h
<a name="hb-font-subtract-glyph-origin-for-direction"></a><h3>hb_font_subtract_glyph_origin_for_direction ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
hb_font_subtract_glyph_origin_for_direction
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *x</code></em>,
@@ -2864,8 +2818,8 @@ hb_font_subtract_glyph_origin_for_direction
<hr>
<div class="refsect2">
<a name="hb-reference-table-func-t"></a><h3>hb_reference_table_func_t ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
-<span class="c_punctuation">(</span>*hb_reference_table_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
+<span class="c_punctuation">(</span>*hb_reference_table_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> tag</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
</div>
@@ -2873,7 +2827,7 @@ hb_font_subtract_glyph_origin_for_direction
<div class="refsect2">
<a name="hb-font-funcs-set-font-h-extents-func"></a><h3>hb_font_funcs_set_font_h_extents_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_funcs_set_font_h_extents_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
+hb_font_funcs_set_font_h_extents_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-font-h-extents-func-t" title="hb_font_get_font_h_extents_func_t"><span class="type">hb_font_get_font_h_extents_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -2905,7 +2859,7 @@ hb_font_funcs_set_font_h_extents_func (<em class="parameter"><code><a class="lin
<div class="refsect2">
<a name="hb-font-funcs-set-font-v-extents-func"></a><h3>hb_font_funcs_set_font_v_extents_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_funcs_set_font_v_extents_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
+hb_font_funcs_set_font_v_extents_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-font-v-extents-func-t" title="hb_font_get_font_v_extents_func_t"><span class="type">hb_font_get_font_v_extents_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -2937,7 +2891,7 @@ hb_font_funcs_set_font_v_extents_func (<em class="parameter"><code><a class="lin
<div class="refsect2">
<a name="hb-font-get-extents-for-direction"></a><h3>hb_font_get_extents_for_direction ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_font_get_extents_for_direction (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_get_extents_for_direction (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>,
<em class="parameter"><code><span class="type">hb_font_extents_t</span> *extents</code></em>);</pre>
<div class="refsect3">
@@ -2968,7 +2922,7 @@ hb_font_get_extents_for_direction (<em class="parameter"><code><a class="link" h
<div class="refsect2">
<a name="hb-font-get-font-extents-func-t"></a><h3>hb_font_get_font_extents_func_t ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-<span class="c_punctuation">(</span>*hb_font_get_font_extents_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+<span class="c_punctuation">(</span>*hb_font_get_font_extents_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
<em class="parameter"><code><span class="type">hb_font_extents_t</span> *extents</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
@@ -2977,7 +2931,7 @@ hb_font_get_extents_for_direction (<em class="parameter"><code><a class="link" h
<div class="refsect2">
<a name="hb-font-get-h-extents"></a><h3>hb_font_get_h_extents ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_font_get_h_extents (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_get_h_extents (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><span class="type">hb_font_extents_t</span> *extents</code></em>);</pre>
<div class="refsect3">
<a name="hb-font-get-h-extents.parameters"></a><h4>Parameters</h4>
@@ -3007,7 +2961,7 @@ hb_font_get_h_extents (<em class="parameter"><code><a class="link" href="harfbuz
<div class="refsect2">
<a name="hb-font-get-v-extents"></a><h3>hb_font_get_v_extents ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_font_get_v_extents (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_font_get_v_extents (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><span class="type">hb_font_extents_t</span> *extents</code></em>);</pre>
<div class="refsect3">
<a name="hb-font-get-v-extents.parameters"></a><h4>Parameters</h4>
@@ -3079,16 +3033,6 @@ hb_font_get_v_extents (<em class="parameter"><code><a class="link" href="harfbuz
</div>
<hr>
<div class="refsect2">
-<a name="hb-variation-t"></a><h3>hb_variation_t</h3>
-<pre class="programlisting">typedef struct {
- hb_tag_t tag;
- float value;
-} hb_variation_t;
-</pre>
-<p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p>
-</div>
-<hr>
-<div class="refsect2">
<a name="hb-font-t"></a><h3>hb_font_t</h3>
<pre class="programlisting">typedef struct hb_font_t hb_font_t;
</pre>
@@ -3108,6 +3052,6 @@ hb_font_get_v_extents (<em class="parameter"><code><a class="link" href="harfbuz
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-ft.html b/docs/html/harfbuzz-hb-ft.html
index 79f3331..dbc1f41 100644
--- a/docs/html/harfbuzz-hb-ft.html
+++ b/docs/html/harfbuzz-hb-ft.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-ft: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch12.html" title="Integration API">
<link rel="prev" href="harfbuzz-hb-coretext.html" title="hb-coretext">
<link rel="next" href="harfbuzz-hb-glib.html" title="hb-glib">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -41,7 +41,7 @@
<tbody>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
+<a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-ft.html#hb-ft-face-create" title="hb_ft_face_create ()">hb_ft_face_create</a> <span class="c_punctuation">()</span>
@@ -49,7 +49,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
+<a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-ft.html#hb-ft-face-create-cached" title="hb_ft_face_create_cached ()">hb_ft_face_create_cached</a> <span class="c_punctuation">()</span>
@@ -57,7 +57,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
+<a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-ft.html#hb-ft-face-create-referenced" title="hb_ft_face_create_referenced ()">hb_ft_face_create_referenced</a> <span class="c_punctuation">()</span>
@@ -65,7 +65,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> *
+<a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-ft.html#hb-ft-font-create" title="hb_ft_font_create ()">hb_ft_font_create</a> <span class="c_punctuation">()</span>
@@ -73,7 +73,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> *
+<a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-ft.html#hb-ft-font-create-referenced" title="hb_ft_font_create_referenced ()">hb_ft_font_create_referenced</a> <span class="c_punctuation">()</span>
@@ -136,7 +136,7 @@ font data.</p>
<a name="harfbuzz-hb-ft.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="hb-ft-face-create"></a><h3>hb_ft_face_create ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
hb_ft_face_create (<em class="parameter"><code><span class="type">FT_Face</span> ft_face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
<div class="refsect3">
@@ -164,7 +164,7 @@ hb_ft_face_create (<em class="parameter"><code><span class="type">FT_Face</span>
<hr>
<div class="refsect2">
<a name="hb-ft-face-create-cached"></a><h3>hb_ft_face_create_cached ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
hb_ft_face_create_cached (<em class="parameter"><code><span class="type">FT_Face</span> ft_face</code></em>);</pre>
<div class="refsect3">
<a name="hb-ft-face-create-cached.returns"></a><h4>Returns</h4>
@@ -176,7 +176,7 @@ hb_ft_face_create_cached (<em class="parameter"><code><span class="type">FT_Face
<hr>
<div class="refsect2">
<a name="hb-ft-face-create-referenced"></a><h3>hb_ft_face_create_referenced ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
hb_ft_face_create_referenced (<em class="parameter"><code><span class="type">FT_Face</span> ft_face</code></em>);</pre>
<div class="refsect3">
<a name="hb-ft-face-create-referenced.returns"></a><h4>Returns</h4>
@@ -188,7 +188,7 @@ hb_ft_face_create_referenced (<em class="parameter"><code><span class="type">FT_
<hr>
<div class="refsect2">
<a name="hb-ft-font-create"></a><h3>hb_ft_font_create ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
hb_ft_font_create (<em class="parameter"><code><span class="type">FT_Face</span> ft_face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
<div class="refsect3">
@@ -216,7 +216,7 @@ hb_ft_font_create (<em class="parameter"><code><span class="type">FT_Face</span>
<hr>
<div class="refsect2">
<a name="hb-ft-font-create-referenced"></a><h3>hb_ft_font_create_referenced ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
hb_ft_font_create_referenced (<em class="parameter"><code><span class="type">FT_Face</span> ft_face</code></em>);</pre>
<div class="refsect3">
<a name="hb-ft-font-create-referenced.returns"></a><h4>Returns</h4>
@@ -229,19 +229,19 @@ hb_ft_font_create_referenced (<em class="parameter"><code><span class="type">FT_
<div class="refsect2">
<a name="hb-ft-font-changed"></a><h3>hb_ft_font_changed ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_ft_font_changed (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
+hb_ft_font_changed (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="hb-ft-font-get-face"></a><h3>hb_ft_font_get_face ()</h3>
<pre class="programlisting"><span class="returnvalue">FT_Face</span>
-hb_ft_font_get_face (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
+hb_ft_font_get_face (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="hb-ft-font-set-load-flags"></a><h3>hb_ft_font_set_load_flags ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_ft_font_set_load_flags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_ft_font_set_load_flags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><span class="type">int</span> load_flags</code></em>);</pre>
<p class="since">Since: <a class="link" href="api-index-1-0-5.html#api-index-1.0.5">1.0.5</a></p>
</div>
@@ -249,14 +249,14 @@ hb_ft_font_set_load_flags (<em class="parameter"><code><a class="link" href="har
<div class="refsect2">
<a name="hb-ft-font-get-load-flags"></a><h3>hb_ft_font_get_load_flags ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>
-hb_ft_font_get_load_flags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
+hb_ft_font_get_load_flags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
<p class="since">Since: <a class="link" href="api-index-1-0-5.html#api-index-1.0.5">1.0.5</a></p>
</div>
<hr>
<div class="refsect2">
<a name="hb-ft-font-set-funcs"></a><h3>hb_ft_font_set_funcs ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_ft_font_set_funcs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
+hb_ft_font_set_funcs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
</div>
</div>
<div class="refsect1">
@@ -264,6 +264,6 @@ hb_ft_font_set_funcs (<em class="parameter"><code><a class="link" href="harfbuzz
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-glib.html b/docs/html/harfbuzz-hb-glib.html
index b4f56a4..2cfc4f2 100644
--- a/docs/html/harfbuzz-hb-glib.html
+++ b/docs/html/harfbuzz-hb-glib.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-glib: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch12.html" title="Integration API">
<link rel="prev" href="harfbuzz-hb-ft.html" title="hb-ft">
<link rel="next" href="harfbuzz-hb-gobject.html" title="hb-gobject">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -41,7 +41,7 @@
<tbody>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
+<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-glib.html#hb-glib-get-unicode-funcs" title="hb_glib_get_unicode_funcs ()">hb_glib_get_unicode_funcs</a> <span class="c_punctuation">()</span>
@@ -49,7 +49,7 @@
</tr>
<tr>
<td class="function_type">
-<span class="returnvalue">GUnicodeScript</span>
+<a href="/usr/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html#GUnicodeScript"><span class="returnvalue">GUnicodeScript</span></a>
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-glib.html#hb-glib-script-from-script" title="hb_glib_script_from_script ()">hb_glib_script_from_script</a> <span class="c_punctuation">()</span>
@@ -65,7 +65,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
+<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-glib.html#hb-glib-blob-create" title="hb_glib_blob_create ()">hb_glib_blob_create</a> <span class="c_punctuation">()</span>
@@ -87,26 +87,26 @@
<a name="harfbuzz-hb-glib.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="hb-glib-get-unicode-funcs"></a><h3>hb_glib_get_unicode_funcs ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
hb_glib_get_unicode_funcs (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="hb-glib-script-from-script"></a><h3>hb_glib_script_from_script ()</h3>
-<pre class="programlisting"><span class="returnvalue">GUnicodeScript</span>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html#GUnicodeScript"><span class="returnvalue">GUnicodeScript</span></a>
hb_glib_script_from_script (<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> script</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="hb-glib-script-to-script"></a><h3>hb_glib_script_to_script ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="returnvalue">hb_script_t</span></a>
-hb_glib_script_to_script (<em class="parameter"><code><span class="type">GUnicodeScript</span> script</code></em>);</pre>
+hb_glib_script_to_script (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html#GUnicodeScript"><span class="type">GUnicodeScript</span></a> script</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="hb-glib-blob-create"></a><h3>hb_glib_blob_create ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
-hb_glib_blob_create (<em class="parameter"><code><span class="type">GBytes</span> *gbytes</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
+hb_glib_blob_create (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Byte-Arrays.html#GBytes"><span class="type">GBytes</span></a> *gbytes</code></em>);</pre>
<p class="since">Since: <a class="link" href="api-index-0-9-38.html#api-index-0.9.38">0.9.38</a></p>
</div>
</div>
@@ -115,6 +115,6 @@ hb_glib_blob_create (<em class="parameter"><code><span class="type">GBytes</span
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-gobject.html b/docs/html/harfbuzz-hb-gobject.html
index 9e1a2a1..60558e8 100644
--- a/docs/html/harfbuzz-hb-gobject.html
+++ b/docs/html/harfbuzz-hb-gobject.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-gobject: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch12.html" title="Integration API">
<link rel="prev" href="harfbuzz-hb-glib.html" title="hb-glib">
<link rel="next" href="harfbuzz-hb-graphite2.html" title="hb-graphite2">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -32,424 +32,6 @@
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="harfbuzz-hb-gobject.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-blob-get-type" title="hb_gobject_blob_get_type ()">hb_gobject_blob_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-content-type-get-type" title="hb_gobject_buffer_content_type_get_type ()">hb_gobject_buffer_content_type_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-diff-flags-get-type" title="hb_gobject_buffer_diff_flags_get_type ()">hb_gobject_buffer_diff_flags_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-flags-get-type" title="hb_gobject_buffer_flags_get_type ()">hb_gobject_buffer_flags_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-get-type" title="hb_gobject_buffer_get_type ()">hb_gobject_buffer_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-serialize-flags-get-type" title="hb_gobject_buffer_serialize_flags_get_type ()">hb_gobject_buffer_serialize_flags_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-serialize-format-get-type" title="hb_gobject_buffer_serialize_format_get_type ()">hb_gobject_buffer_serialize_format_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-direction-get-type" title="hb_gobject_direction_get_type ()">hb_gobject_direction_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-face-get-type" title="hb_gobject_face_get_type ()">hb_gobject_face_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-font-funcs-get-type" title="hb_gobject_font_funcs_get_type ()">hb_gobject_font_funcs_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-font-get-type" title="hb_gobject_font_get_type ()">hb_gobject_font_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-glyph-flags-get-type" title="hb_gobject_glyph_flags_get_type ()">hb_gobject_glyph_flags_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-map-get-type" title="hb_gobject_map_get_type ()">hb_gobject_map_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-memory-mode-get-type" title="hb_gobject_memory_mode_get_type ()">hb_gobject_memory_mode_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-color-palette-flags-get-type" title="hb_gobject_ot_color_palette_flags_get_type ()">hb_gobject_ot_color_palette_flags_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-layout-glyph-class-get-type" title="hb_gobject_ot_layout_glyph_class_get_type ()">hb_gobject_ot_layout_glyph_class_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-math-constant-get-type" title="hb_gobject_ot_math_constant_get_type ()">hb_gobject_ot_math_constant_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-math-glyph-part-get-type" title="hb_gobject_ot_math_glyph_part_get_type ()">hb_gobject_ot_math_glyph_part_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-math-glyph-part-flags-get-type" title="hb_gobject_ot_math_glyph_part_flags_get_type ()">hb_gobject_ot_math_glyph_part_flags_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-math-glyph-variant-get-type" title="hb_gobject_ot_math_glyph_variant_get_type ()">hb_gobject_ot_math_glyph_variant_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-math-kern-get-type" title="hb_gobject_ot_math_kern_get_type ()">hb_gobject_ot_math_kern_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-script-get-type" title="hb_gobject_script_get_type ()">hb_gobject_script_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-shape-plan-get-type" title="hb_gobject_shape_plan_get_type ()">hb_gobject_shape_plan_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-unicode-combining-class-get-type" title="hb_gobject_unicode_combining_class_get_type ()">hb_gobject_unicode_combining_class_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-unicode-funcs-get-type" title="hb_gobject_unicode_funcs_get_type ()">hb_gobject_unicode_funcs_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-unicode-general-category-get-type" title="hb_gobject_unicode_general_category_get_type ()">hb_gobject_unicode_general_category_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-cluster-level-get-type" title="hb_gobject_buffer_cluster_level_get_type ()">hb_gobject_buffer_cluster_level_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-feature-get-type" title="hb_gobject_feature_get_type ()">hb_gobject_feature_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-glyph-info-get-type" title="hb_gobject_glyph_info_get_type ()">hb_gobject_glyph_info_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-glyph-position-get-type" title="hb_gobject_glyph_position_get_type ()">hb_gobject_glyph_position_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-segment-properties-get-type" title="hb_gobject_segment_properties_get_type ()">hb_gobject_segment_properties_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-set-get-type" title="hb_gobject_set_get_type ()">hb_gobject_set_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GType</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-user-data-key-get-type" title="hb_gobject_user_data_key_get_type ()">hb_gobject_user_data_key_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="harfbuzz-hb-gobject.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BLOB:CAPS" title="HB_GOBJECT_TYPE_BLOB">HB_GOBJECT_TYPE_BLOB</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER:CAPS" title="HB_GOBJECT_TYPE_BUFFER">HB_GOBJECT_TYPE_BUFFER</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-CONTENT-TYPE:CAPS" title="HB_GOBJECT_TYPE_BUFFER_CONTENT_TYPE">HB_GOBJECT_TYPE_BUFFER_CONTENT_TYPE</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-DIFF-FLAGS:CAPS" title="HB_GOBJECT_TYPE_BUFFER_DIFF_FLAGS">HB_GOBJECT_TYPE_BUFFER_DIFF_FLAGS</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-FLAGS:CAPS" title="HB_GOBJECT_TYPE_BUFFER_FLAGS">HB_GOBJECT_TYPE_BUFFER_FLAGS</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-SERIALIZE-FLAGS:CAPS" title="HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FLAGS">HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FLAGS</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-SERIALIZE-FORMAT:CAPS" title="HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FORMAT">HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FORMAT</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-DIRECTION:CAPS" title="HB_GOBJECT_TYPE_DIRECTION">HB_GOBJECT_TYPE_DIRECTION</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FACE:CAPS" title="HB_GOBJECT_TYPE_FACE">HB_GOBJECT_TYPE_FACE</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FONT:CAPS" title="HB_GOBJECT_TYPE_FONT">HB_GOBJECT_TYPE_FONT</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FONT-FUNCS:CAPS" title="HB_GOBJECT_TYPE_FONT_FUNCS">HB_GOBJECT_TYPE_FONT_FUNCS</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-GLYPH-FLAGS:CAPS" title="HB_GOBJECT_TYPE_GLYPH_FLAGS">HB_GOBJECT_TYPE_GLYPH_FLAGS</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-MAP:CAPS" title="HB_GOBJECT_TYPE_MAP">HB_GOBJECT_TYPE_MAP</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-MEMORY-MODE:CAPS" title="HB_GOBJECT_TYPE_MEMORY_MODE">HB_GOBJECT_TYPE_MEMORY_MODE</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-COLOR-PALETTE-FLAGS:CAPS" title="HB_GOBJECT_TYPE_OT_COLOR_PALETTE_FLAGS">HB_GOBJECT_TYPE_OT_COLOR_PALETTE_FLAGS</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-LAYOUT-GLYPH-CLASS:CAPS" title="HB_GOBJECT_TYPE_OT_LAYOUT_GLYPH_CLASS">HB_GOBJECT_TYPE_OT_LAYOUT_GLYPH_CLASS</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-CONSTANT:CAPS" title="HB_GOBJECT_TYPE_OT_MATH_CONSTANT">HB_GOBJECT_TYPE_OT_MATH_CONSTANT</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-GLYPH-PART:CAPS" title="HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART">HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-GLYPH-PART-FLAGS:CAPS" title="HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART_FLAGS">HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART_FLAGS</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-GLYPH-VARIANT:CAPS" title="HB_GOBJECT_TYPE_OT_MATH_GLYPH_VARIANT">HB_GOBJECT_TYPE_OT_MATH_GLYPH_VARIANT</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-KERN:CAPS" title="HB_GOBJECT_TYPE_OT_MATH_KERN">HB_GOBJECT_TYPE_OT_MATH_KERN</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SCRIPT:CAPS" title="HB_GOBJECT_TYPE_SCRIPT">HB_GOBJECT_TYPE_SCRIPT</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SHAPE-PLAN:CAPS" title="HB_GOBJECT_TYPE_SHAPE_PLAN">HB_GOBJECT_TYPE_SHAPE_PLAN</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-UNICODE-COMBINING-CLASS:CAPS" title="HB_GOBJECT_TYPE_UNICODE_COMBINING_CLASS">HB_GOBJECT_TYPE_UNICODE_COMBINING_CLASS</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-UNICODE-FUNCS:CAPS" title="HB_GOBJECT_TYPE_UNICODE_FUNCS">HB_GOBJECT_TYPE_UNICODE_FUNCS</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-UNICODE-GENERAL-CATEGORY:CAPS" title="HB_GOBJECT_TYPE_UNICODE_GENERAL_CATEGORY">HB_GOBJECT_TYPE_UNICODE_GENERAL_CATEGORY</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-CLUSTER-LEVEL:CAPS" title="HB_GOBJECT_TYPE_BUFFER_CLUSTER_LEVEL">HB_GOBJECT_TYPE_BUFFER_CLUSTER_LEVEL</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FEATURE:CAPS" title="HB_GOBJECT_TYPE_FEATURE">HB_GOBJECT_TYPE_FEATURE</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-GLYPH-INFO:CAPS" title="HB_GOBJECT_TYPE_GLYPH_INFO">HB_GOBJECT_TYPE_GLYPH_INFO</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-GLYPH-POSITION:CAPS" title="HB_GOBJECT_TYPE_GLYPH_POSITION">HB_GOBJECT_TYPE_GLYPH_POSITION</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SEGMENT-PROPERTIES:CAPS" title="HB_GOBJECT_TYPE_SEGMENT_PROPERTIES">HB_GOBJECT_TYPE_SEGMENT_PROPERTIES</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SET:CAPS" title="HB_GOBJECT_TYPE_SET">HB_GOBJECT_TYPE_SET</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-USER-DATA-KEY:CAPS" title="HB_GOBJECT_TYPE_USER_DATA_KEY">HB_GOBJECT_TYPE_USER_DATA_KEY</a></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
<a name="harfbuzz-hb-gobject.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;hb-gobject.h&gt;
</pre>
@@ -461,424 +43,13 @@ type data.</p>
</div>
<div class="refsect1">
<a name="harfbuzz-hb-gobject.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="hb-gobject-blob-get-type"></a><h3>hb_gobject_blob_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_blob_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-buffer-content-type-get-type"></a><h3>hb_gobject_buffer_content_type_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_buffer_content_type_get_type
- ();</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-buffer-diff-flags-get-type"></a><h3>hb_gobject_buffer_diff_flags_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_buffer_diff_flags_get_type ();</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-buffer-flags-get-type"></a><h3>hb_gobject_buffer_flags_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_buffer_flags_get_type ();</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-buffer-get-type"></a><h3>hb_gobject_buffer_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_buffer_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-buffer-serialize-flags-get-type"></a><h3>hb_gobject_buffer_serialize_flags_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_buffer_serialize_flags_get_type
- ();</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-buffer-serialize-format-get-type"></a><h3>hb_gobject_buffer_serialize_format_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_buffer_serialize_format_get_type
- ();</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-direction-get-type"></a><h3>hb_gobject_direction_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_direction_get_type ();</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-face-get-type"></a><h3>hb_gobject_face_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_face_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-font-funcs-get-type"></a><h3>hb_gobject_font_funcs_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_font_funcs_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-font-get-type"></a><h3>hb_gobject_font_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_font_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-glyph-flags-get-type"></a><h3>hb_gobject_glyph_flags_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_glyph_flags_get_type ();</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-map-get-type"></a><h3>hb_gobject_map_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_map_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-memory-mode-get-type"></a><h3>hb_gobject_memory_mode_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_memory_mode_get_type ();</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-ot-color-palette-flags-get-type"></a><h3>hb_gobject_ot_color_palette_flags_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_ot_color_palette_flags_get_type
- ();</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-ot-layout-glyph-class-get-type"></a><h3>hb_gobject_ot_layout_glyph_class_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_ot_layout_glyph_class_get_type
- ();</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-ot-math-constant-get-type"></a><h3>hb_gobject_ot_math_constant_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_ot_math_constant_get_type ();</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-ot-math-glyph-part-get-type"></a><h3>hb_gobject_ot_math_glyph_part_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_ot_math_glyph_part_get_type
- (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-ot-math-glyph-part-flags-get-type"></a><h3>hb_gobject_ot_math_glyph_part_flags_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_ot_math_glyph_part_flags_get_type
- ();</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-ot-math-glyph-variant-get-type"></a><h3>hb_gobject_ot_math_glyph_variant_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_ot_math_glyph_variant_get_type
- (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-ot-math-kern-get-type"></a><h3>hb_gobject_ot_math_kern_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_ot_math_kern_get_type ();</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-script-get-type"></a><h3>hb_gobject_script_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_script_get_type ();</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-shape-plan-get-type"></a><h3>hb_gobject_shape_plan_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_shape_plan_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-unicode-combining-class-get-type"></a><h3>hb_gobject_unicode_combining_class_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_unicode_combining_class_get_type
- ();</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-unicode-funcs-get-type"></a><h3>hb_gobject_unicode_funcs_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_unicode_funcs_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-unicode-general-category-get-type"></a><h3>hb_gobject_unicode_general_category_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_unicode_general_category_get_type
- ();</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-buffer-cluster-level-get-type"></a><h3>hb_gobject_buffer_cluster_level_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_buffer_cluster_level_get_type
- ();</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-feature-get-type"></a><h3>hb_gobject_feature_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_feature_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-glyph-info-get-type"></a><h3>hb_gobject_glyph_info_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_glyph_info_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-glyph-position-get-type"></a><h3>hb_gobject_glyph_position_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_glyph_position_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-segment-properties-get-type"></a><h3>hb_gobject_segment_properties_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_segment_properties_get_type
- (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-set-get-type"></a><h3>hb_gobject_set_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_set_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-gobject-user-data-key-get-type"></a><h3>hb_gobject_user_data_key_get_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span>
-hb_gobject_user_data_key_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
+<p></p>
</div>
<div class="refsect1">
<a name="harfbuzz-hb-gobject.other_details"></a><h2>Types and Values</h2>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-BLOB:CAPS"></a><h3>HB_GOBJECT_TYPE_BLOB</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_BLOB (hb_gobject_blob_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-BUFFER:CAPS"></a><h3>HB_GOBJECT_TYPE_BUFFER</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_BUFFER (hb_gobject_buffer_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-BUFFER-CONTENT-TYPE:CAPS"></a><h3>HB_GOBJECT_TYPE_BUFFER_CONTENT_TYPE</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_BUFFER_CONTENT_TYPE (hb_gobject_buffer_content_type_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-BUFFER-DIFF-FLAGS:CAPS"></a><h3>HB_GOBJECT_TYPE_BUFFER_DIFF_FLAGS</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_BUFFER_DIFF_FLAGS (hb_gobject_buffer_diff_flags_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-BUFFER-FLAGS:CAPS"></a><h3>HB_GOBJECT_TYPE_BUFFER_FLAGS</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_BUFFER_FLAGS (hb_gobject_buffer_flags_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-BUFFER-SERIALIZE-FLAGS:CAPS"></a><h3>HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FLAGS</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FLAGS (hb_gobject_buffer_serialize_flags_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-BUFFER-SERIALIZE-FORMAT:CAPS"></a><h3>HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FORMAT</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FORMAT (hb_gobject_buffer_serialize_format_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-DIRECTION:CAPS"></a><h3>HB_GOBJECT_TYPE_DIRECTION</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_DIRECTION (hb_gobject_direction_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-FACE:CAPS"></a><h3>HB_GOBJECT_TYPE_FACE</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_FACE (hb_gobject_face_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-FONT:CAPS"></a><h3>HB_GOBJECT_TYPE_FONT</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_FONT (hb_gobject_font_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-FONT-FUNCS:CAPS"></a><h3>HB_GOBJECT_TYPE_FONT_FUNCS</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_FONT_FUNCS (hb_gobject_font_funcs_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-GLYPH-FLAGS:CAPS"></a><h3>HB_GOBJECT_TYPE_GLYPH_FLAGS</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_GLYPH_FLAGS (hb_gobject_glyph_flags_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-MAP:CAPS"></a><h3>HB_GOBJECT_TYPE_MAP</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_MAP (hb_gobject_map_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-MEMORY-MODE:CAPS"></a><h3>HB_GOBJECT_TYPE_MEMORY_MODE</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_MEMORY_MODE (hb_gobject_memory_mode_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-OT-COLOR-PALETTE-FLAGS:CAPS"></a><h3>HB_GOBJECT_TYPE_OT_COLOR_PALETTE_FLAGS</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_OT_COLOR_PALETTE_FLAGS (hb_gobject_ot_color_palette_flags_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-OT-LAYOUT-GLYPH-CLASS:CAPS"></a><h3>HB_GOBJECT_TYPE_OT_LAYOUT_GLYPH_CLASS</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_OT_LAYOUT_GLYPH_CLASS (hb_gobject_ot_layout_glyph_class_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-OT-MATH-CONSTANT:CAPS"></a><h3>HB_GOBJECT_TYPE_OT_MATH_CONSTANT</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_OT_MATH_CONSTANT (hb_gobject_ot_math_constant_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-OT-MATH-GLYPH-PART:CAPS"></a><h3>HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART (hb_gobject_ot_math_glyph_part_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-OT-MATH-GLYPH-PART-FLAGS:CAPS"></a><h3>HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART_FLAGS</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART_FLAGS (hb_gobject_ot_math_glyph_part_flags_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-OT-MATH-GLYPH-VARIANT:CAPS"></a><h3>HB_GOBJECT_TYPE_OT_MATH_GLYPH_VARIANT</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_OT_MATH_GLYPH_VARIANT (hb_gobject_ot_math_glyph_variant_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-OT-MATH-KERN:CAPS"></a><h3>HB_GOBJECT_TYPE_OT_MATH_KERN</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_OT_MATH_KERN (hb_gobject_ot_math_kern_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-SCRIPT:CAPS"></a><h3>HB_GOBJECT_TYPE_SCRIPT</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_SCRIPT (hb_gobject_script_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-SHAPE-PLAN:CAPS"></a><h3>HB_GOBJECT_TYPE_SHAPE_PLAN</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_SHAPE_PLAN (hb_gobject_shape_plan_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-UNICODE-COMBINING-CLASS:CAPS"></a><h3>HB_GOBJECT_TYPE_UNICODE_COMBINING_CLASS</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_UNICODE_COMBINING_CLASS (hb_gobject_unicode_combining_class_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-UNICODE-FUNCS:CAPS"></a><h3>HB_GOBJECT_TYPE_UNICODE_FUNCS</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_UNICODE_FUNCS (hb_gobject_unicode_funcs_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-UNICODE-GENERAL-CATEGORY:CAPS"></a><h3>HB_GOBJECT_TYPE_UNICODE_GENERAL_CATEGORY</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_UNICODE_GENERAL_CATEGORY (hb_gobject_unicode_general_category_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-BUFFER-CLUSTER-LEVEL:CAPS"></a><h3>HB_GOBJECT_TYPE_BUFFER_CLUSTER_LEVEL</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_BUFFER_CLUSTER_LEVEL (hb_gobject_buffer_cluster_level_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-FEATURE:CAPS"></a><h3>HB_GOBJECT_TYPE_FEATURE</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_FEATURE (hb_gobject_feature_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-GLYPH-INFO:CAPS"></a><h3>HB_GOBJECT_TYPE_GLYPH_INFO</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_GLYPH_INFO (hb_gobject_glyph_info_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-GLYPH-POSITION:CAPS"></a><h3>HB_GOBJECT_TYPE_GLYPH_POSITION</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_GLYPH_POSITION (hb_gobject_glyph_position_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-SEGMENT-PROPERTIES:CAPS"></a><h3>HB_GOBJECT_TYPE_SEGMENT_PROPERTIES</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_SEGMENT_PROPERTIES (hb_gobject_segment_properties_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-SET:CAPS"></a><h3>HB_GOBJECT_TYPE_SET</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_SET (hb_gobject_set_get_type ())
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-GOBJECT-TYPE-USER-DATA-KEY:CAPS"></a><h3>HB_GOBJECT_TYPE_USER_DATA_KEY</h3>
-<pre class="programlisting">#define HB_GOBJECT_TYPE_USER_DATA_KEY (hb_gobject_user_data_key_get_type ())
-</pre>
-</div>
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-graphite2.html b/docs/html/harfbuzz-hb-graphite2.html
index 2fdd621..b6d779b 100644
--- a/docs/html/harfbuzz-hb-graphite2.html
+++ b/docs/html/harfbuzz-hb-graphite2.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-graphite2: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch12.html" title="Integration API">
<link rel="prev" href="harfbuzz-hb-gobject.html" title="hb-gobject">
<link rel="next" href="harfbuzz-hb-icu.html" title="hb-icu">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -75,7 +75,7 @@
<div class="refsect2">
<a name="hb-graphite2-face-get-gr-face"></a><h3>hb_graphite2_face_get_gr_face ()</h3>
<pre class="programlisting"><span class="returnvalue">gr_face</span> *
-hb_graphite2_face_get_gr_face (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_graphite2_face_get_gr_face (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
</div>
</div>
<div class="refsect1">
@@ -88,6 +88,6 @@ hb_graphite2_face_get_gr_face (<em class="parameter"><code><a class="link" href=
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-icu.html b/docs/html/harfbuzz-hb-icu.html
index 68fa6aa..d1a31de 100644
--- a/docs/html/harfbuzz-hb-icu.html
+++ b/docs/html/harfbuzz-hb-icu.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-icu: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch12.html" title="Integration API">
<link rel="prev" href="harfbuzz-hb-graphite2.html" title="hb-graphite2">
<link rel="next" href="harfbuzz-hb-uniscribe.html" title="hb-uniscribe">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -41,7 +41,7 @@
<tbody>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
+<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-icu.html#hb-icu-get-unicode-funcs" title="hb_icu_get_unicode_funcs ()">hb_icu_get_unicode_funcs</a> <span class="c_punctuation">()</span>
@@ -79,7 +79,7 @@
<a name="harfbuzz-hb-icu.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="hb-icu-get-unicode-funcs"></a><h3>hb_icu_get_unicode_funcs ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
hb_icu_get_unicode_funcs (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
</div>
<hr>
@@ -100,6 +100,6 @@ hb_icu_script_to_script (<em class="parameter"><code><span class="type">UScriptC
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-map.html b/docs/html/harfbuzz-hb-map.html
index d5f0e4b..1e62513 100644
--- a/docs/html/harfbuzz-hb-map.html
+++ b/docs/html/harfbuzz-hb-map.html
@@ -3,20 +3,19 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-map: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch09.html" title="Core API">
<link rel="prev" href="harfbuzz-hb-font.html" title="hb-font">
<link rel="next" href="harfbuzz-hb-set.html" title="hb-set">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-map.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-map.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+ <a href="#harfbuzz-hb-map.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
@@ -58,7 +57,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="returnvalue">hb_map_t</span></a> *
+<a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="returnvalue">hb_map_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-map.html#hb-map-create" title="hb_map_create ()">hb_map_create</a> <span class="c_punctuation">()</span>
@@ -90,7 +89,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="returnvalue">hb_map_t</span></a> *
+<a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="returnvalue">hb_map_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-map.html#hb-map-get-empty" title="hb_map_get_empty ()">hb_map_get_empty</a> <span class="c_punctuation">()</span>
@@ -129,7 +128,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="returnvalue">hb_map_t</span></a> *
+<a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="returnvalue">hb_map_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-map.html#hb-map-reference" title="hb_map_reference ()">hb_map_reference</a> <span class="c_punctuation">()</span>
@@ -154,7 +153,7 @@
</tbody>
</table></div>
</div>
-<a name="hb-map-t"></a><div class="refsect1">
+<div class="refsect1">
<a name="harfbuzz-hb-map.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
@@ -168,18 +167,12 @@
</tr>
<tr>
<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-map.html#hb-map-t">hb_map_t</a></td>
+<td class="function_name"><a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t">hb_map_t</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
-<a name="harfbuzz-hb-map.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a>
- <span class="lineart">╰──</span> hb_map_t
-</pre>
-</div>
-<div class="refsect1">
<a name="harfbuzz-hb-map.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;hb.h&gt;
</pre>
@@ -195,7 +188,7 @@ use if desired.</p>
<div class="refsect2">
<a name="hb-map-allocation-successful"></a><h3>hb_map_allocation_successful ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_map_allocation_successful (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre>
+hb_map_allocation_successful (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre>
<div class="refsect3">
<a name="hb-map-allocation-successful.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -217,7 +210,7 @@ hb_map_allocation_successful (<em class="parameter"><code>const <a class="link"
<div class="refsect2">
<a name="hb-map-clear"></a><h3>hb_map_clear ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_map_clear (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre>
+hb_map_clear (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre>
<div class="refsect3">
<a name="hb-map-clear.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -238,7 +231,7 @@ hb_map_clear (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.
<hr>
<div class="refsect2">
<a name="hb-map-create"></a><h3>hb_map_create ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="returnvalue">hb_map_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="returnvalue">hb_map_t</span></a> *
hb_map_create (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p><span class="annotation">[Xconstructor]</span></p>
<div class="refsect3">
@@ -252,7 +245,7 @@ hb_map_create (<em class="parameter"><code><span class="type">void</span></code>
<div class="refsect2">
<a name="hb-map-del"></a><h3>hb_map_del ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_map_del (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>,
+hb_map_del (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> key</code></em>);</pre>
<div class="refsect3">
<a name="hb-map-del.parameters"></a><h4>Parameters</h4>
@@ -275,7 +268,7 @@ hb_map_del (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.ht
<div class="refsect2">
<a name="hb-map-destroy"></a><h3>hb_map_destroy ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_map_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre>
+hb_map_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-map-destroy.parameters"></a><h4>Parameters</h4>
@@ -298,7 +291,7 @@ hb_map_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-ma
<div class="refsect2">
<a name="hb-map-get"></a><h3>hb_map_get ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="returnvalue">hb_codepoint_t</span></a>
-hb_map_get (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>,
+hb_map_get (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> key</code></em>);</pre>
<div class="refsect3">
<a name="hb-map-get.parameters"></a><h4>Parameters</h4>
@@ -320,7 +313,7 @@ hb_map_get (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-
<hr>
<div class="refsect2">
<a name="hb-map-get-empty"></a><h3>hb_map_get_empty ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="returnvalue">hb_map_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="returnvalue">hb_map_t</span></a> *
hb_map_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<div class="refsect3">
<a name="hb-map-get-empty.returns"></a><h4>Returns</h4>
@@ -333,7 +326,7 @@ hb_map_get_empty (<em class="parameter"><code><span class="type">void</span></co
<div class="refsect2">
<a name="hb-map-get-population"></a><h3>hb_map_get_population ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_map_get_population (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre>
+hb_map_get_population (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre>
<div class="refsect3">
<a name="hb-map-get-population.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -355,8 +348,8 @@ hb_map_get_population (<em class="parameter"><code>const <a class="link" href="h
<div class="refsect2">
<a name="hb-map-get-user-data"></a><h3>hb_map_get_user_data ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> *
-hb_map_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
+hb_map_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-map-get-user-data.parameters"></a><h4>Parameters</h4>
@@ -384,7 +377,7 @@ hb_map_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz
<div class="refsect2">
<a name="hb-map-has"></a><h3>hb_map_has ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_map_has (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>,
+hb_map_has (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> key</code></em>);</pre>
<div class="refsect3">
<a name="hb-map-has.parameters"></a><h4>Parameters</h4>
@@ -407,7 +400,7 @@ hb_map_has (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-
<div class="refsect2">
<a name="hb-map-is-empty"></a><h3>hb_map_is_empty ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_map_is_empty (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre>
+hb_map_is_empty (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre>
<div class="refsect3">
<a name="hb-map-is-empty.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -428,8 +421,8 @@ hb_map_is_empty (<em class="parameter"><code>const <a class="link" href="harfbuz
<hr>
<div class="refsect2">
<a name="hb-map-reference"></a><h3>hb_map_reference ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="returnvalue">hb_map_t</span></a> *
-hb_map_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="returnvalue">hb_map_t</span></a> *
+hb_map_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-map-reference.parameters"></a><h4>Parameters</h4>
@@ -457,7 +450,7 @@ hb_map_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-
<div class="refsect2">
<a name="hb-map-set"></a><h3>hb_map_set ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_map_set (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>,
+hb_map_set (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> key</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> value</code></em>);</pre>
<div class="refsect3">
@@ -481,8 +474,8 @@ hb_map_set (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.ht
<div class="refsect2">
<a name="hb-map-set-user-data"></a><h3>hb_map_set_user_data ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_map_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
+hb_map_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
<em class="parameter"><code><span class="type">void</span> *data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> replace</code></em>);</pre>
@@ -521,6 +514,6 @@ hb_map_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-ot-color.html b/docs/html/harfbuzz-hb-ot-color.html
index c7bc734..0d230e0 100644
--- a/docs/html/harfbuzz-hb-ot-color.html
+++ b/docs/html/harfbuzz-hb-ot-color.html
@@ -3,20 +3,19 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-ot-color: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch10.html" title="OpenType API">
<link rel="prev" href="ch10.html" title="OpenType API">
<link rel="next" href="harfbuzz-hb-ot-font.html" title="hb-ot-font">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-ot-color.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-ot-color.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+ <a href="#harfbuzz-hb-ot-color.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch10.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
@@ -79,7 +78,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
+<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-glyph-reference-png" title="hb_ot_color_glyph_reference_png ()">hb_ot_color_glyph_reference_png</a> <span class="c_punctuation">()</span>
@@ -87,7 +86,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
+<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-glyph-reference-svg" title="hb_ot_color_glyph_reference_svg ()">hb_ot_color_glyph_reference_svg</a> <span class="c_punctuation">()</span>
@@ -186,12 +185,6 @@
</table></div>
</div>
<div class="refsect1">
-<a name="harfbuzz-hb-ot-color.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GFlags</a>
- <span class="lineart">╰──</span> hb_ot_color_palette_flags_t
-</pre>
-</div>
-<div class="refsect1">
<a name="harfbuzz-hb-ot-color.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;hb-ot.h&gt;
</pre>
@@ -239,7 +232,7 @@
<div class="refsect2">
<a name="hb-ot-color-glyph-get-layers"></a><h3>hb_ot_color_glyph_get_layers ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_ot_color_glyph_get_layers (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_color_glyph_get_layers (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *count</code></em>,
@@ -270,13 +263,13 @@ hb_ot_color_glyph_get_layers (<em class="parameter"><code><a class="link" href="
</tr>
<tr>
<td class="parameter_name"><p>count</p></td>
-<td class="parameter_description"><p> gets number of layers available to be written on buffer
+<td class="parameter_description"><p>gets number of layers available to be written on buffer
and returns number of written layers. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>layers</p></td>
-<td class="parameter_description"><p> layers buffer to buffer. </p></td>
+<td class="parameter_description"><p>layers buffer to buffer. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=count][<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
</tr>
</tbody>
@@ -291,8 +284,8 @@ and returns number of written layers. </p></td>
<hr>
<div class="refsect2">
<a name="hb-ot-color-glyph-reference-png"></a><h3>hb_ot_color_glyph_reference_png ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
-hb_ot_color_glyph_reference_png (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
+hb_ot_color_glyph_reference_png (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>);</pre>
<p>Get PNG image for a glyph.</p>
<div class="refsect3">
@@ -321,7 +314,7 @@ return the biggest one</p></td>
</div>
<div class="refsect3">
<a name="hb-ot-color-glyph-reference-png.returns"></a><h4>Returns</h4>
-<p> respective PNG blob of the glyph, if available. </p>
+<p>respective PNG blob of the glyph, if available. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-1-0.html#api-index-2.1.0">2.1.0</a></p>
@@ -329,8 +322,8 @@ return the biggest one</p></td>
<hr>
<div class="refsect2">
<a name="hb-ot-color-glyph-reference-svg"></a><h3>hb_ot_color_glyph_reference_svg ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
-hb_ot_color_glyph_reference_svg (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
+hb_ot_color_glyph_reference_svg (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>);</pre>
<p>Get SVG document for a glyph. The blob may be either plain text or gzip-encoded.</p>
<div class="refsect3">
@@ -357,7 +350,7 @@ hb_ot_color_glyph_reference_svg (<em class="parameter"><code><a class="link" hre
</div>
<div class="refsect3">
<a name="hb-ot-color-glyph-reference-svg.returns"></a><h4>Returns</h4>
-<p> respective svg blob of the glyph, if available. </p>
+<p>respective svg blob of the glyph, if available. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-1-0.html#api-index-2.1.0">2.1.0</a></p>
@@ -366,7 +359,7 @@ hb_ot_color_glyph_reference_svg (<em class="parameter"><code><a class="link" hre
<div class="refsect2">
<a name="hb-ot-color-has-layers"></a><h3>hb_ot_color_has_layers ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_ot_color_has_layers (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_ot_color_has_layers (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
<div class="refsect3">
<a name="hb-ot-color-has-layers.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -392,7 +385,7 @@ hb_ot_color_has_layers (<em class="parameter"><code><a class="link" href="harfbu
<div class="refsect2">
<a name="hb-ot-color-has-palettes"></a><h3>hb_ot_color_has_palettes ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_ot_color_has_palettes (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_ot_color_has_palettes (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
<div class="refsect3">
<a name="hb-ot-color-has-palettes.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -418,7 +411,7 @@ hb_ot_color_has_palettes (<em class="parameter"><code><a class="link" href="harf
<div class="refsect2">
<a name="hb-ot-color-has-png"></a><h3>hb_ot_color_has_png ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_ot_color_has_png (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_ot_color_has_png (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
<p>Check whether <em class="parameter"><code>face</code></em>
has PNG glyph images (either CBDT or sbix tables).</p>
<p>Returns true if available, false otherwise.</p>
@@ -443,7 +436,7 @@ hb_ot_color_has_png (<em class="parameter"><code><a class="link" href="harfbuzz-
<div class="refsect2">
<a name="hb-ot-color-has-svg"></a><h3>hb_ot_color_has_svg ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_ot_color_has_svg (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_ot_color_has_svg (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
<p>Check whether <em class="parameter"><code>face</code></em>
has SVG glyph images.</p>
<p>Returns true if available, false otherwise.</p>
@@ -468,7 +461,7 @@ hb_ot_color_has_svg (<em class="parameter"><code><a class="link" href="harfbuzz-
<div class="refsect2">
<a name="hb-ot-color-palette-color-get-name-id"></a><h3>hb_ot_color_palette_color_get_name_id ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-id-t" title="hb_ot_name_id_t"><span class="returnvalue">hb_ot_name_id_t</span></a>
-hb_ot_color_palette_color_get_name_id (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_color_palette_color_get_name_id (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> color_index</code></em>);</pre>
<div class="refsect3">
<a name="hb-ot-color-palette-color-get-name-id.parameters"></a><h4>Parameters</h4>
@@ -502,7 +495,7 @@ hb_ot_color_palette_color_get_name_id (<em class="parameter"><code><a class="lin
<div class="refsect2">
<a name="hb-ot-color-palette-get-colors"></a><h3>hb_ot_color_palette_get_colors ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_ot_color_palette_get_colors (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_color_palette_get_colors (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> palette_index</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *color_count</code></em>,
@@ -535,7 +528,7 @@ are being requested.</p></td>
</tr>
<tr>
<td class="parameter_name"><p>color_count</p></td>
-<td class="parameter_description"><p> on input, how many colors
+<td class="parameter_description"><p>on input, how many colors
can be maximally stored into the <em class="parameter"><code>colors</code></em>
array;
on output, how many colors were actually stored. </p></td>
@@ -543,7 +536,7 @@ on output, how many colors were actually stored. </p></td>
</tr>
<tr>
<td class="parameter_name"><p>colors</p></td>
-<td class="parameter_description"><p> an array of <a class="link" href="harfbuzz-hb-ot-color.html#hb-color-t" title="hb_color_t"><span class="type">hb_color_t</span></a> records. After calling
+<td class="parameter_description"><p>an array of <a class="link" href="harfbuzz-hb-ot-color.html#hb-color-t" title="hb_color_t"><span class="type">hb_color_t</span></a> records. After calling
this function, <em class="parameter"><code>colors</code></em>
will be filled with
the palette colors. If <em class="parameter"><code>colors</code></em>
@@ -567,7 +560,7 @@ for allocating a buffer of suitable size before calling
<div class="refsect2">
<a name="hb-ot-color-palette-get-count"></a><h3>hb_ot_color_palette_get_count ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_ot_color_palette_get_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_ot_color_palette_get_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
<div class="refsect3">
<a name="hb-ot-color-palette-get-count.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -596,7 +589,7 @@ no colors.</p>
<div class="refsect2">
<a name="hb-ot-color-palette-get-flags"></a><h3>hb_ot_color_palette_get_flags ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-palette-flags-t" title="enum hb_ot_color_palette_flags_t"><span class="returnvalue">hb_ot_color_palette_flags_t</span></a>
-hb_ot_color_palette_get_flags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_color_palette_get_flags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> palette_index</code></em>);</pre>
<div class="refsect3">
<a name="hb-ot-color-palette-get-flags.parameters"></a><h4>Parameters</h4>
@@ -630,7 +623,7 @@ hb_ot_color_palette_get_flags (<em class="parameter"><code><a class="link" href=
<div class="refsect2">
<a name="hb-ot-color-palette-get-name-id"></a><h3>hb_ot_color_palette_get_name_id ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-id-t" title="hb_ot_name_id_t"><span class="returnvalue">hb_ot_name_id_t</span></a>
-hb_ot_color_palette_get_name_id (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_color_palette_get_name_id (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> palette_index</code></em>);</pre>
<p>Retrieves the name id of a color palette. For example, a color font can
have themed palettes like "Spring", "Summer", "Fall", and "Winter".</p>
@@ -718,6 +711,6 @@ If the requested palette has no name the result is <span class="type">HB_OT_NAME
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-ot-font.html b/docs/html/harfbuzz-hb-ot-font.html
index 02c7686..6c955ca 100644
--- a/docs/html/harfbuzz-hb-ot-font.html
+++ b/docs/html/harfbuzz-hb-ot-font.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-ot-font: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch10.html" title="OpenType API">
<link rel="prev" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">
<link rel="next" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -55,7 +55,7 @@
</div>
<div class="refsect1">
<a name="harfbuzz-hb-ot-font.description"></a><h2>Description</h2>
-<p>Functions for using OpenType fonts with <a class="link" href="harfbuzz-hb-shape.html#hb-shape" title="hb_shape ()"><code class="function">hb_shape()</code></a>. Not that fonts returned
+<p>Functions for using OpenType fonts with <a class="link" href="harfbuzz-hb-shape.html#hb-shape" title="hb_shape ()"><code class="function">hb_shape()</code></a>. Note that fonts returned
by <a class="link" href="harfbuzz-hb-font.html#hb-font-create" title="hb_font_create ()"><code class="function">hb_font_create()</code></a> default to using these functions, so most clients would
never need to call these functions directly.</p>
</div>
@@ -64,7 +64,7 @@ never need to call these functions directly.</p>
<div class="refsect2">
<a name="hb-ot-font-set-funcs"></a><h3>hb_ot_font_set_funcs ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_ot_font_set_funcs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
+hb_ot_font_set_funcs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
<p class="since">Since: <a class="link" href="api-index-0-9-28.html#api-index-0.9.28">0.9.28</a></p>
</div>
</div>
@@ -73,6 +73,6 @@ hb_ot_font_set_funcs (<em class="parameter"><code><a class="link" href="harfbuzz
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-ot-layout.html b/docs/html/harfbuzz-hb-ot-layout.html
index ce6c420..76be161 100644
--- a/docs/html/harfbuzz-hb-ot-layout.html
+++ b/docs/html/harfbuzz-hb-ot-layout.html
@@ -3,20 +3,19 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-ot-layout: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch10.html" title="OpenType API">
<link rel="prev" href="harfbuzz-hb-ot-font.html" title="hb-ot-font">
<link rel="next" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-ot-layout.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-ot-layout.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+ <a href="#harfbuzz-hb-ot-layout.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch10.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
@@ -388,12 +387,6 @@
</table></div>
</div>
<div class="refsect1">
-<a name="harfbuzz-hb-ot-layout.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GEnum</a>
- <span class="lineart">╰──</span> hb_ot_layout_glyph_class_t
-</pre>
-</div>
-<div class="refsect1">
<a name="harfbuzz-hb-ot-layout.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;hb-ot.h&gt;
</pre>
@@ -453,26 +446,26 @@ hb_ot_tags_from_script_and_language (<em class="parameter"><code><a class="link"
</tr>
<tr>
<td class="parameter_name"><p>script_count</p></td>
-<td class="parameter_description"><p> maximum number of script tags to retrieve (IN)
+<td class="parameter_description"><p>maximum number of script tags to retrieve (IN)
and actual number of script tags retrieved (OUT). </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>script_tags</p></td>
-<td class="parameter_description"><p> array of size at least <em class="parameter"><code>script_count</code></em>
+<td class="parameter_description"><p>array of size at least <em class="parameter"><code>script_count</code></em>
to store the
script tag results. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>language_count</p></td>
-<td class="parameter_description"><p> maximum number of language tags to retrieve
+<td class="parameter_description"><p>maximum number of language tags to retrieve
(IN) and actual number of language tags retrieved (OUT). </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>language_tags</p></td>
-<td class="parameter_description"><p> array of size at least <em class="parameter"><code>language_count</code></em>
+<td class="parameter_description"><p>array of size at least <em class="parameter"><code>language_count</code></em>
to store
the language tag results. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
@@ -513,13 +506,13 @@ hb_ot_tags_to_script_and_language (<em class="parameter"><code><a class="link" h
</tr>
<tr>
<td class="parameter_name"><p>script</p></td>
-<td class="parameter_description"><p> the <a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> corresponding to <em class="parameter"><code>script_tag</code></em>
+<td class="parameter_description"><p>the <a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> corresponding to <em class="parameter"><code>script_tag</code></em>
(OUT). </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>language</p></td>
-<td class="parameter_description"><p> the <a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> corresponding to <em class="parameter"><code>script_tag</code></em>
+<td class="parameter_description"><p>the <a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> corresponding to <em class="parameter"><code>script_tag</code></em>
and
<em class="parameter"><code>language_tag</code></em>
(OUT). </p></td>
@@ -534,31 +527,31 @@ and
<div class="refsect2">
<a name="hb-ot-layout-collect-lookups"></a><h3>hb_ot_layout_collect_lookups ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_ot_layout_collect_lookups (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_layout_collect_lookups (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> table_tag</code></em>,
<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *scripts</code></em>,
<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *languages</code></em>,
<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *features</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *lookup_indexes</code></em>);</pre>
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *lookup_indexes</code></em>);</pre>
<p class="since">Since: <a class="link" href="api-index-0-9-8.html#api-index-0.9.8">0.9.8</a></p>
</div>
<hr>
<div class="refsect2">
<a name="hb-ot-layout-collect-features"></a><h3>hb_ot_layout_collect_features ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_ot_layout_collect_features (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_layout_collect_features (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> table_tag</code></em>,
<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *scripts</code></em>,
<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *languages</code></em>,
<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *features</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *feature_indexes</code></em>);</pre>
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *feature_indexes</code></em>);</pre>
<p class="since">Since: <a class="link" href="api-index-1-8-5.html#api-index-1.8.5">1.8.5</a></p>
</div>
<hr>
<div class="refsect2">
<a name="hb-ot-layout-feature-get-characters"></a><h3>hb_ot_layout_feature_get_characters ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_ot_layout_feature_get_characters (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_layout_feature_get_characters (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> table_tag</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> feature_index</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
@@ -577,7 +570,7 @@ Variant" ("cvXX") features.</p>
<tbody>
<tr>
<td class="parameter_name"><p>face</p></td>
-<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> to work upon</p></td>
+<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> to work upon</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -601,13 +594,13 @@ one shot copying).</p></td>
</tr>
<tr>
<td class="parameter_name"><p>char_count</p></td>
-<td class="parameter_description"><p> The count of characters for which this feature
+<td class="parameter_description"><p>The count of characters for which this feature
provides glyph variants. (May be zero.). </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>characters</p></td>
-<td class="parameter_description"><p> A buffer pointer. The Unicode codepoints
+<td class="parameter_description"><p>A buffer pointer. The Unicode codepoints
of the characters for which this feature provides glyph variants. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=char_count]</span></td>
</tr>
@@ -624,7 +617,7 @@ of the characters for which this feature provides glyph variants. </p></td>
<div class="refsect2">
<a name="hb-ot-layout-feature-get-lookups"></a><h3>hb_ot_layout_feature_get_lookups ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_ot_layout_feature_get_lookups (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_layout_feature_get_lookups (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> table_tag</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> feature_index</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
@@ -636,7 +629,7 @@ hb_ot_layout_feature_get_lookups (<em class="parameter"><code><a class="link" hr
<div class="refsect2">
<a name="hb-ot-layout-feature-get-name-ids"></a><h3>hb_ot_layout_feature_get_name_ids ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_ot_layout_feature_get_name_ids (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_layout_feature_get_name_ids (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> table_tag</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> feature_index</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-id-t" title="hb_ot_name_id_t"><span class="type">hb_ot_name_id_t</span></a> *label_id</code></em>,
@@ -657,7 +650,7 @@ hb_ot_layout_feature_get_name_ids (<em class="parameter"><code><a class="link" h
<tbody>
<tr>
<td class="parameter_name"><p>face</p></td>
-<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> to work upon</p></td>
+<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> to work upon</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -672,31 +665,31 @@ hb_ot_layout_feature_get_name_ids (<em class="parameter"><code><a class="link" h
</tr>
<tr>
<td class="parameter_name"><p>label_id</p></td>
-<td class="parameter_description"><p> The ‘name’ table name ID that specifies a string
+<td class="parameter_description"><p>The ‘name’ table name ID that specifies a string
for a user-interface label for this feature. (May be NULL.). </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>tooltip_id</p></td>
-<td class="parameter_description"><p> The ‘name’ table name ID that specifies a string
+<td class="parameter_description"><p>The ‘name’ table name ID that specifies a string
that an application can use for tooltip text for this
feature. (May be NULL.). </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>sample_id</p></td>
-<td class="parameter_description"><p> The ‘name’ table name ID that specifies sample text
+<td class="parameter_description"><p>The ‘name’ table name ID that specifies sample text
that illustrates the effect of this feature. (May be NULL.). </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>num_named_parameters</p></td>
-<td class="parameter_description"><p> Number of named parameters. (May be zero.). </p></td>
+<td class="parameter_description"><p>Number of named parameters. (May be zero.). </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>first_param_id</p></td>
-<td class="parameter_description"><p> The first ‘name’ table name ID used to specify
+<td class="parameter_description"><p>The first ‘name’ table name ID used to specify
strings for user-interface labels for the feature
parameters. (Must be zero if numParameters is zero.). </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
@@ -715,7 +708,7 @@ parameters. (Must be zero if numParameters is zero.). </p></td>
<a name="hb-ot-layout-feature-with-variations-get-lookups"></a><h3>hb_ot_layout_feature_with_variations_get_lookups ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
hb_ot_layout_feature_with_variations_get_lookups
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> table_tag</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> feature_index</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> variations_index</code></em>,
@@ -727,7 +720,7 @@ hb_ot_layout_feature_with_variations_get_lookups
<div class="refsect2">
<a name="hb-ot-layout-get-attach-points"></a><h3>hb_ot_layout_get_attach_points ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_ot_layout_get_attach_points (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_layout_get_attach_points (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *point_count</code></em>,
@@ -737,7 +730,7 @@ hb_ot_layout_get_attach_points (<em class="parameter"><code><a class="link" href
<div class="refsect2">
<a name="hb-ot-layout-get-glyph-class"></a><h3>hb_ot_layout_get_glyph_class ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-glyph-class-t" title="enum hb_ot_layout_glyph_class_t"><span class="returnvalue">hb_ot_layout_glyph_class_t</span></a>
-hb_ot_layout_get_glyph_class (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_layout_get_glyph_class (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>);</pre>
<p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p>
</div>
@@ -745,16 +738,16 @@ hb_ot_layout_get_glyph_class (<em class="parameter"><code><a class="link" href="
<div class="refsect2">
<a name="hb-ot-layout-get-glyphs-in-class"></a><h3>hb_ot_layout_get_glyphs_in_class ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_ot_layout_get_glyphs_in_class (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_layout_get_glyphs_in_class (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-glyph-class-t" title="enum hb_ot_layout_glyph_class_t"><span class="type">hb_ot_layout_glyph_class_t</span></a> klass</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *glyphs</code></em>);</pre>
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *glyphs</code></em>);</pre>
<p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p>
</div>
<hr>
<div class="refsect2">
<a name="hb-ot-layout-get-ligature-carets"></a><h3>hb_ot_layout_get_ligature_carets ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_ot_layout_get_ligature_carets (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_ot_layout_get_ligature_carets (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
@@ -765,7 +758,7 @@ hb_ot_layout_get_ligature_carets (<em class="parameter"><code><a class="link" hr
<div class="refsect2">
<a name="hb-ot-layout-get-size-params"></a><h3>hb_ot_layout_get_size_params ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_ot_layout_get_size_params (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_layout_get_size_params (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *design_size</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *subfamily_id</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-id-t" title="hb_ot_name_id_t"><span class="type">hb_ot_name_id_t</span></a> *subfamily_name_id</code></em>,
@@ -777,7 +770,7 @@ hb_ot_layout_get_size_params (<em class="parameter"><code><a class="link" href="
<div class="refsect2">
<a name="hb-ot-layout-glyph-sequence-func-t"></a><h3>hb_ot_layout_glyph_sequence_func_t ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-<span class="c_punctuation">(</span>*hb_ot_layout_glyph_sequence_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+<span class="c_punctuation">(</span>*hb_ot_layout_glyph_sequence_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> table_tag</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> lookup_index</code></em>,
<em class="parameter"><code>const <span class="type">hb_ot_layout_glyph_sequence_t</span> *sequence</code></em>,
@@ -787,25 +780,25 @@ hb_ot_layout_get_size_params (<em class="parameter"><code><a class="link" href="
<div class="refsect2">
<a name="hb-ot-layout-has-glyph-classes"></a><h3>hb_ot_layout_has_glyph_classes ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_ot_layout_has_glyph_classes (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_ot_layout_has_glyph_classes (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="hb-ot-layout-has-positioning"></a><h3>hb_ot_layout_has_positioning ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_ot_layout_has_positioning (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_ot_layout_has_positioning (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="hb-ot-layout-has-substitution"></a><h3>hb_ot_layout_has_substitution ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_ot_layout_has_substitution (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_ot_layout_has_substitution (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="hb-ot-layout-language-find-feature"></a><h3>hb_ot_layout_language_find_feature ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_ot_layout_language_find_feature (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_layout_language_find_feature (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> table_tag</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> language_index</code></em>,
@@ -817,7 +810,7 @@ hb_ot_layout_language_find_feature (<em class="parameter"><code><a class="link"
<a name="hb-ot-layout-language-get-feature-indexes"></a><h3>hb_ot_layout_language_get_feature_indexes ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
hb_ot_layout_language_get_feature_indexes
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> table_tag</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> language_index</code></em>,
@@ -830,7 +823,7 @@ hb_ot_layout_language_get_feature_indexes
<a name="hb-ot-layout-language-get-feature-tags"></a><h3>hb_ot_layout_language_get_feature_tags ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
hb_ot_layout_language_get_feature_tags
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> table_tag</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> language_index</code></em>,
@@ -843,7 +836,7 @@ hb_ot_layout_language_get_feature_tags
<a name="hb-ot-layout-language-get-required-feature"></a><h3>hb_ot_layout_language_get_required_feature ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
hb_ot_layout_language_get_required_feature
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> table_tag</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> language_index</code></em>,
@@ -855,13 +848,13 @@ hb_ot_layout_language_get_required_feature
<div class="refsect2">
<a name="hb-ot-layout-lookup-collect-glyphs"></a><h3>hb_ot_layout_lookup_collect_glyphs ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_ot_layout_lookup_collect_glyphs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_layout_lookup_collect_glyphs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> table_tag</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> lookup_index</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *glyphs_before</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *glyphs_input</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *glyphs_after</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *glyphs_output</code></em>);</pre>
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *glyphs_before</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *glyphs_input</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *glyphs_after</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *glyphs_output</code></em>);</pre>
<p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p>
</div>
<hr>
@@ -869,9 +862,9 @@ hb_ot_layout_lookup_collect_glyphs (<em class="parameter"><code><a class="link"
<a name="hb-ot-layout-lookup-substitute-closure"></a><h3>hb_ot_layout_lookup_substitute_closure ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
hb_ot_layout_lookup_substitute_closure
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> lookup_index</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *glyphs</code></em>);</pre>
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *glyphs</code></em>);</pre>
<p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p>
</div>
<hr>
@@ -879,9 +872,9 @@ hb_ot_layout_lookup_substitute_closure
<a name="hb-ot-layout-lookups-substitute-closure"></a><h3>hb_ot_layout_lookups_substitute_closure ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
hb_ot_layout_lookups_substitute_closure
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *lookups</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *glyphs</code></em>);</pre>
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *lookups</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *glyphs</code></em>);</pre>
<p>Compute the transitive closure of glyphs needed for all of the
provided lookups.</p>
<p class="since">Since: <a class="link" href="api-index-1-8-1.html#api-index-1.8.1">1.8.1</a></p>
@@ -890,7 +883,7 @@ provided lookups.</p>
<div class="refsect2">
<a name="hb-ot-layout-lookup-would-substitute"></a><h3>hb_ot_layout_lookup_would_substitute ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_ot_layout_lookup_would_substitute (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_layout_lookup_would_substitute (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> lookup_index</code></em>,
<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *glyphs</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> glyphs_length</code></em>,
@@ -901,7 +894,7 @@ hb_ot_layout_lookup_would_substitute (<em class="parameter"><code><a class="link
<div class="refsect2">
<a name="hb-ot-layout-script-get-language-tags"></a><h3>hb_ot_layout_script_get_language_tags ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_ot_layout_script_get_language_tags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_layout_script_get_language_tags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> table_tag</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
@@ -912,7 +905,7 @@ hb_ot_layout_script_get_language_tags (<em class="parameter"><code><a class="lin
<div class="refsect2">
<a name="hb-ot-layout-script-select-language"></a><h3>hb_ot_layout_script_select_language ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_ot_layout_script_select_language (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_layout_script_select_language (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> table_tag</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> language_count</code></em>,
@@ -925,7 +918,7 @@ hb_ot_layout_script_select_language (<em class="parameter"><code><a class="link"
<a name="hb-ot-layout-table-find-feature-variations"></a><h3>hb_ot_layout_table_find_feature_variations ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
hb_ot_layout_table_find_feature_variations
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> table_tag</code></em>,
<em class="parameter"><code>const <span class="type">int</span> *coords</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> num_coords</code></em>,
@@ -935,7 +928,7 @@ hb_ot_layout_table_find_feature_variations
<div class="refsect2">
<a name="hb-ot-layout-table-get-feature-tags"></a><h3>hb_ot_layout_table_get_feature_tags ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_ot_layout_table_get_feature_tags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_layout_table_get_feature_tags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> table_tag</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *feature_count</code></em>,
@@ -945,7 +938,7 @@ hb_ot_layout_table_get_feature_tags (<em class="parameter"><code><a class="link"
<div class="refsect2">
<a name="hb-ot-layout-table-get-script-tags"></a><h3>hb_ot_layout_table_get_script_tags ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_ot_layout_table_get_script_tags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_layout_table_get_script_tags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> table_tag</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *script_count</code></em>,
@@ -955,7 +948,7 @@ hb_ot_layout_table_get_script_tags (<em class="parameter"><code><a class="link"
<div class="refsect2">
<a name="hb-ot-layout-table-get-lookup-count"></a><h3>hb_ot_layout_table_get_lookup_count ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_ot_layout_table_get_lookup_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_layout_table_get_lookup_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> table_tag</code></em>);</pre>
<p class="since">Since: <a class="link" href="api-index-0-9-22.html#api-index-0.9.22">0.9.22</a></p>
</div>
@@ -963,7 +956,7 @@ hb_ot_layout_table_get_lookup_count (<em class="parameter"><code><a class="link"
<div class="refsect2">
<a name="hb-ot-layout-table-select-script"></a><h3>hb_ot_layout_table_select_script ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_ot_layout_table_select_script (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_layout_table_select_script (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> table_tag</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> script_count</code></em>,
<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *script_tags</code></em>,
@@ -975,9 +968,9 @@ hb_ot_layout_table_select_script (<em class="parameter"><code><a class="link" hr
<div class="refsect2">
<a name="hb-ot-shape-plan-collect-lookups"></a><h3>hb_ot_shape_plan_collect_lookups ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_ot_shape_plan_collect_lookups (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>,
+hb_ot_shape_plan_collect_lookups (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> table_tag</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *lookup_indexes</code></em>);</pre>
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *lookup_indexes</code></em>);</pre>
<p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p>
</div>
<hr>
@@ -985,7 +978,7 @@ hb_ot_shape_plan_collect_lookups (<em class="parameter"><code><a class="link" hr
<a name="hb-ot-layout-language-get-required-feature-index"></a><h3>hb_ot_layout_language_get_required_feature_index ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
hb_ot_layout_language_get_required_feature_index
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> table_tag</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> language_index</code></em>,
@@ -1117,6 +1110,6 @@ hb_ot_layout_language_get_required_feature_index
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-ot-math.html b/docs/html/harfbuzz-hb-ot-math.html
index b803cef..679acde 100644
--- a/docs/html/harfbuzz-hb-ot-math.html
+++ b/docs/html/harfbuzz-hb-ot-math.html
@@ -3,20 +3,19 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-ot-math: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch10.html" title="OpenType API">
<link rel="prev" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">
<link rel="next" href="harfbuzz-hb-ot-name.html" title="hb-ot-name">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-ot-math.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-ot-math.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+ <a href="#harfbuzz-hb-ot-math.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch10.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
@@ -113,7 +112,7 @@
</tbody>
</table></div>
</div>
-<a name="hb-ot-math-glyph-variant-t"></a><a name="hb-ot-math-glyph-part-t"></a><div class="refsect1">
+<div class="refsect1">
<a name="harfbuzz-hb-ot-math.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
@@ -139,7 +138,7 @@
</tr>
<tr>
<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t-struct" title="hb_ot_math_glyph_variant_t">hb_ot_math_glyph_variant_t</a></td>
+<td class="function_name"><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t" title="hb_ot_math_glyph_variant_t">hb_ot_math_glyph_variant_t</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
@@ -147,24 +146,12 @@
</tr>
<tr>
<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t-struct" title="hb_ot_math_glyph_part_t">hb_ot_math_glyph_part_t</a></td>
+<td class="function_name"><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t" title="hb_ot_math_glyph_part_t">hb_ot_math_glyph_part_t</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
-<a name="harfbuzz-hb-ot-math.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a>
- <span class="lineart">├──</span> hb_ot_math_glyph_part_t
- <span class="lineart">╰──</span> hb_ot_math_glyph_variant_t
- <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GEnum</a>
- <span class="lineart">├──</span> hb_ot_math_constant_t
- <span class="lineart">╰──</span> hb_ot_math_kern_t
- <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GFlags</a>
- <span class="lineart">╰──</span> hb_ot_math_glyph_part_flags_t
-</pre>
-</div>
-<div class="refsect1">
<a name="harfbuzz-hb-ot-math.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;hb-ot.h&gt;
</pre>
@@ -178,7 +165,7 @@
<div class="refsect2">
<a name="hb-ot-math-has-data"></a><h3>hb_ot_math_has_data ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_ot_math_has_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_ot_math_has_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
<p>This function allows to verify the presence of an OpenType MATH table on the
face.</p>
<div class="refsect3">
@@ -191,7 +178,7 @@ face.</p>
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>face</p></td>
-<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> to test</p></td>
+<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> to test</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -206,7 +193,7 @@ face.</p>
<div class="refsect2">
<a name="hb-ot-math-get-constant"></a><h3>hb_ot_math_get_constant ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
-hb_ot_math_get_constant (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_ot_math_get_constant (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-constant-t" title="enum hb_ot_math_constant_t"><span class="type">hb_ot_math_constant_t</span></a> constant</code></em>);</pre>
<p>This function returns the requested math constants as a <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a>.
If the request constant is HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN,
@@ -224,7 +211,7 @@ actually an integer between 0 and 100 representing that percentage.</p>
<tbody>
<tr>
<td class="parameter_name"><p>font</p></td>
-<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> from which to retrieve the value</p></td>
+<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> from which to retrieve the value</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -246,7 +233,7 @@ actually an integer between 0 and 100 representing that percentage.</p>
<a name="hb-ot-math-get-glyph-italics-correction"></a><h3>hb_ot_math_get_glyph_italics_correction ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
hb_ot_math_get_glyph_italics_correction
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>);</pre>
<div class="refsect3">
<a name="hb-ot-math-get-glyph-italics-correction.parameters"></a><h4>Parameters</h4>
@@ -259,7 +246,7 @@ hb_ot_math_get_glyph_italics_correction
<tbody>
<tr>
<td class="parameter_name"><p>font</p></td>
-<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> from which to retrieve the value</p></td>
+<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> from which to retrieve the value</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -281,7 +268,7 @@ hb_ot_math_get_glyph_italics_correction
<a name="hb-ot-math-get-glyph-top-accent-attachment"></a><h3>hb_ot_math_get_glyph_top_accent_attachment ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
hb_ot_math_get_glyph_top_accent_attachment
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>);</pre>
<div class="refsect3">
<a name="hb-ot-math-get-glyph-top-accent-attachment.parameters"></a><h4>Parameters</h4>
@@ -294,7 +281,7 @@ hb_ot_math_get_glyph_top_accent_attachment
<tbody>
<tr>
<td class="parameter_name"><p>font</p></td>
-<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> from which to retrieve the value</p></td>
+<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> from which to retrieve the value</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -315,7 +302,7 @@ hb_ot_math_get_glyph_top_accent_attachment
<div class="refsect2">
<a name="hb-ot-math-get-glyph-kerning"></a><h3>hb_ot_math_get_glyph_kerning ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
-hb_ot_math_get_glyph_kerning (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_ot_math_get_glyph_kerning (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-kern-t" title="enum hb_ot_math_kern_t"><span class="type">hb_ot_math_kern_t</span></a> kern</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> correction_height</code></em>);</pre>
@@ -335,7 +322,7 @@ kerns is returned and otherwise the last kern value is returned.</p>
<tbody>
<tr>
<td class="parameter_name"><p>font</p></td>
-<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> from which to retrieve the value</p></td>
+<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> from which to retrieve the value</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -366,7 +353,7 @@ kerns is returned and otherwise the last kern value is returned.</p>
<div class="refsect2">
<a name="hb-ot-math-is-glyph-extended-shape"></a><h3>hb_ot_math_is_glyph_extended_shape ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_ot_math_is_glyph_extended_shape (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_math_is_glyph_extended_shape (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>);</pre>
<div class="refsect3">
<a name="hb-ot-math-is-glyph-extended-shape.parameters"></a><h4>Parameters</h4>
@@ -379,7 +366,7 @@ hb_ot_math_is_glyph_extended_shape (<em class="parameter"><code><a class="link"
<tbody>
<tr>
<td class="parameter_name"><p>face</p></td>
-<td class="parameter_description"><p>a <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> to test</p></td>
+<td class="parameter_description"><p>a <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> to test</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -400,12 +387,12 @@ hb_ot_math_is_glyph_extended_shape (<em class="parameter"><code><a class="link"
<div class="refsect2">
<a name="hb-ot-math-get-glyph-variants"></a><h3>hb_ot_math_get_glyph_variants ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_ot_math_get_glyph_variants (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_ot_math_get_glyph_variants (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *variants_count</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t"><span class="type">hb_ot_math_glyph_variant_t</span></a> *variants</code></em>);</pre>
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t" title="hb_ot_math_glyph_variant_t"><span class="type">hb_ot_math_glyph_variant_t</span></a> *variants</code></em>);</pre>
<p>This function tries to retrieve the MathGlyphConstruction for the specified
font, glyph and direction. Note that only the value of
<a class="link" href="harfbuzz-hb-common.html#HB-DIRECTION-IS-HORIZONTAL:CAPS" title="HB_DIRECTION_IS_HORIZONTAL()"><span class="type">HB_DIRECTION_IS_HORIZONTAL</span></a> is considered. It provides the corresponding list
@@ -421,7 +408,7 @@ of size variants as an array of hb_ot_math_glyph_variant_t structs.</p>
<tbody>
<tr>
<td class="parameter_name"><p>font</p></td>
-<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> from which to retrieve the values</p></td>
+<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> from which to retrieve the values</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -464,7 +451,7 @@ to store the result</p></td>
<div class="refsect2">
<a name="hb-ot-math-get-min-connector-overlap"></a><h3>hb_ot_math_get_min_connector_overlap ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
-hb_ot_math_get_min_connector_overlap (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_ot_math_get_min_connector_overlap (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>);</pre>
<p>This function tries to retrieve the MathVariants table for the specified
font and returns the minimum overlap of connecting glyphs to draw a glyph
@@ -481,7 +468,7 @@ assembly in the specified direction. Note that only the value of
<tbody>
<tr>
<td class="parameter_name"><p>font</p></td>
-<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> from which to retrieve the value</p></td>
+<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> from which to retrieve the value</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -502,17 +489,17 @@ assembly in the specified direction. Note that only the value of
<div class="refsect2">
<a name="hb-ot-math-get-glyph-assembly"></a><h3>hb_ot_math_get_glyph_assembly ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_ot_math_get_glyph_assembly (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
+hb_ot_math_get_glyph_assembly (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *parts_count</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t"><span class="type">hb_ot_math_glyph_part_t</span></a> *parts</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t" title="hb_ot_math_glyph_part_t"><span class="type">hb_ot_math_glyph_part_t</span></a> *parts</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *italics_correction</code></em>);</pre>
<p>This function tries to retrieve the GlyphAssembly for the specified font,
glyph and direction. Note that only the value of <a class="link" href="harfbuzz-hb-common.html#HB-DIRECTION-IS-HORIZONTAL:CAPS" title="HB_DIRECTION_IS_HORIZONTAL()"><span class="type">HB_DIRECTION_IS_HORIZONTAL</span></a>
is considered. It provides the information necessary to draw the glyph
-assembly as an array of <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t"><span class="type">hb_ot_math_glyph_part_t</span></a>.</p>
+assembly as an array of <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t" title="hb_ot_math_glyph_part_t"><span class="type">hb_ot_math_glyph_part_t</span></a>.</p>
<div class="refsect3">
<a name="hb-ot-math-get-glyph-assembly.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -524,7 +511,7 @@ assembly as an array of <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-mat
<tbody>
<tr>
<td class="parameter_name"><p>font</p></td>
-<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> from which to retrieve the values</p></td>
+<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> from which to retrieve the values</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
@@ -918,7 +905,7 @@ to store the result</p></td>
</div>
<hr>
<div class="refsect2">
-<a name="hb-ot-math-glyph-variant-t-struct"></a><h3>hb_ot_math_glyph_variant_t</h3>
+<a name="hb-ot-math-glyph-variant-t"></a><h3>hb_ot_math_glyph_variant_t</h3>
<pre class="programlisting">typedef struct {
hb_codepoint_t glyph;
hb_position_t advance;
@@ -948,7 +935,7 @@ to store the result</p></td>
</div>
<hr>
<div class="refsect2">
-<a name="hb-ot-math-glyph-part-t-struct"></a><h3>hb_ot_math_glyph_part_t</h3>
+<a name="hb-ot-math-glyph-part-t"></a><h3>hb_ot_math_glyph_part_t</h3>
<pre class="programlisting">typedef struct {
hb_codepoint_t glyph;
hb_position_t start_connector_length;
@@ -962,6 +949,6 @@ to store the result</p></td>
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-ot-name.html b/docs/html/harfbuzz-hb-ot-name.html
index 68e3a97..1087a86 100644
--- a/docs/html/harfbuzz-hb-ot-name.html
+++ b/docs/html/harfbuzz-hb-ot-name.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-ot-name: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch10.html" title="OpenType API">
<link rel="prev" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">
<link rel="next" href="harfbuzz-hb-ot-shape.html" title="hb-ot-shape">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -97,7 +97,7 @@
<div class="refsect2">
<a name="hb-ot-name-list-names"></a><h3>hb_ot_name_list_names ()</h3>
<pre class="programlisting">const <span class="returnvalue">hb_ot_name_entry_t</span> *
-hb_ot_name_list_names (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_name_list_names (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *num_entries</code></em>);</pre>
<p>Enumerates all available name IDs and language combinations. Returned
array is owned by the <em class="parameter"><code>face</code></em>
@@ -120,7 +120,7 @@ used as long as <em class="parameter"><code>face</code></em>
</tr>
<tr>
<td class="parameter_name"><p>num_entries</p></td>
-<td class="parameter_description"><p> number of returned entries. </p></td>
+<td class="parameter_description"><p>number of returned entries. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
@@ -128,7 +128,7 @@ used as long as <em class="parameter"><code>face</code></em>
</div>
<div class="refsect3">
<a name="hb-ot-name-list-names.returns"></a><h4>Returns</h4>
-<p> Array of available name entries. </p>
+<p>Array of available name entries. </p>
<p><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=num_entries]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-1-0.html#api-index-2.1.0">2.1.0</a></p>
@@ -137,7 +137,7 @@ used as long as <em class="parameter"><code>face</code></em>
<div class="refsect2">
<a name="hb-ot-name-get-utf16"></a><h3>hb_ot_name_get_utf16 ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_ot_name_get_utf16 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_name_get_utf16 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-id-t" title="hb_ot_name_id_t"><span class="type">hb_ot_name_id_t</span></a> name_id</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> language</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *text_size</code></em>,
@@ -172,14 +172,14 @@ Returns string in UTF-16 encoding.</p>
</tr>
<tr>
<td class="parameter_name"><p>text_size</p></td>
-<td class="parameter_description"><p> input size of <em class="parameter"><code>text</code></em>
+<td class="parameter_description"><p>input size of <em class="parameter"><code>text</code></em>
buffer, and output size of
text written to buffer. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>text</p></td>
-<td class="parameter_description"><p> buffer to write fetched name into. </p></td>
+<td class="parameter_description"><p>buffer to write fetched name into. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=text_size]</span></td>
</tr>
</tbody>
@@ -195,7 +195,7 @@ text written to buffer. </p></td>
<div class="refsect2">
<a name="hb-ot-name-get-utf32"></a><h3>hb_ot_name_get_utf32 ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_ot_name_get_utf32 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_name_get_utf32 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-id-t" title="hb_ot_name_id_t"><span class="type">hb_ot_name_id_t</span></a> name_id</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> language</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *text_size</code></em>,
@@ -230,14 +230,14 @@ Returns string in UTF-32 encoding.</p>
</tr>
<tr>
<td class="parameter_name"><p>text_size</p></td>
-<td class="parameter_description"><p> input size of <em class="parameter"><code>text</code></em>
+<td class="parameter_description"><p>input size of <em class="parameter"><code>text</code></em>
buffer, and output size of
text written to buffer. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>text</p></td>
-<td class="parameter_description"><p> buffer to write fetched name into. </p></td>
+<td class="parameter_description"><p>buffer to write fetched name into. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=text_size]</span></td>
</tr>
</tbody>
@@ -253,7 +253,7 @@ text written to buffer. </p></td>
<div class="refsect2">
<a name="hb-ot-name-get-utf8"></a><h3>hb_ot_name_get_utf8 ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_ot_name_get_utf8 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_name_get_utf8 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-id-t" title="hb_ot_name_id_t"><span class="type">hb_ot_name_id_t</span></a> name_id</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> language</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *text_size</code></em>,
@@ -288,14 +288,14 @@ Returns string in UTF-8 encoding.</p>
</tr>
<tr>
<td class="parameter_name"><p>text_size</p></td>
-<td class="parameter_description"><p> input size of <em class="parameter"><code>text</code></em>
+<td class="parameter_description"><p>input size of <em class="parameter"><code>text</code></em>
buffer, and output size of
text written to buffer. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>text</p></td>
-<td class="parameter_description"><p> buffer to write fetched name into. </p></td>
+<td class="parameter_description"><p>buffer to write fetched name into. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=text_size]</span></td>
</tr>
</tbody>
@@ -322,6 +322,6 @@ API. These can be used to fetch name strings from a font face.</p>
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-ot-shape.html b/docs/html/harfbuzz-hb-ot-shape.html
index 30ed441..5814dfe 100644
--- a/docs/html/harfbuzz-hb-ot-shape.html
+++ b/docs/html/harfbuzz-hb-ot-shape.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-ot-shape: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch10.html" title="OpenType API">
<link rel="prev" href="harfbuzz-hb-ot-name.html" title="hb-ot-name">
<link rel="next" href="harfbuzz-hb-ot-var.html" title="hb-ot-var">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -62,11 +62,11 @@
<div class="refsect2">
<a name="hb-ot-shape-glyphs-closure"></a><h3>hb_ot_shape_glyphs_closure ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_ot_shape_glyphs_closure (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-shape.html#hb-feature-t"><span class="type">hb_feature_t</span></a> *features</code></em>,
+hb_ot_shape_glyphs_closure (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> *features</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> num_features</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *glyphs</code></em>);</pre>
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *glyphs</code></em>);</pre>
<p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
</div>
</div>
@@ -75,6 +75,6 @@ hb_ot_shape_glyphs_closure (<em class="parameter"><code><a class="link" href="ha
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-ot-var.html b/docs/html/harfbuzz-hb-ot-var.html
index b8e3fd3..f65fd8d 100644
--- a/docs/html/harfbuzz-hb-ot-var.html
+++ b/docs/html/harfbuzz-hb-ot-var.html
@@ -3,20 +3,19 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-ot-var: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch10.html" title="OpenType API">
<link rel="prev" href="harfbuzz-hb-ot-shape.html" title="hb-ot-shape">
<link rel="next" href="ch11.html" title="Apple Advanced Typography API">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-ot-var.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-ot-var.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+ <a href="#harfbuzz-hb-ot-var.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch10.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
@@ -155,12 +154,6 @@
</table></div>
</div>
<div class="refsect1">
-<a name="harfbuzz-hb-ot-var.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GFlags</a>
- <span class="lineart">╰──</span> hb_ot_var_axis_flags_t
-</pre>
-</div>
-<div class="refsect1">
<a name="harfbuzz-hb-ot-var.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;hb-ot.h&gt;
</pre>
@@ -174,7 +167,7 @@
<div class="refsect2">
<a name="hb-ot-var-has-data"></a><h3>hb_ot_var_has_data ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_ot_var_has_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_ot_var_has_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
<p>This function allows to verify the presence of OpenType variation data on the face.</p>
<div class="refsect3">
<a name="hb-ot-var-has-data.parameters"></a><h4>Parameters</h4>
@@ -186,7 +179,7 @@ hb_ot_var_has_data (<em class="parameter"><code><a class="link" href="harfbuzz-h
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>face</p></td>
-<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> to test</p></td>
+<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> to test</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
@@ -201,40 +194,40 @@ hb_ot_var_has_data (<em class="parameter"><code><a class="link" href="harfbuzz-h
<div class="refsect2">
<a name="hb-ot-var-find-axis-info"></a><h3>hb_ot_var_find_axis_info ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_ot_var_find_axis_info (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_var_find_axis_info (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> axis_tag</code></em>,
<em class="parameter"><code><span class="type">hb_ot_var_axis_info_t</span> *axis_info</code></em>);</pre>
-<p class="since">Since: 2.2.0</p>
+<p class="since">Since: <a class="link" href="api-index-2-2-0.html#api-index-2.2.0">2.2.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="hb-ot-var-get-axis-count"></a><h3>hb_ot_var_get_axis_count ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_ot_var_get_axis_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_ot_var_get_axis_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
<p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p>
</div>
<hr>
<div class="refsect2">
<a name="hb-ot-var-get-axis-infos"></a><h3>hb_ot_var_get_axis_infos ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_ot_var_get_axis_infos (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_var_get_axis_infos (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *axes_count</code></em>,
<em class="parameter"><code><span class="type">hb_ot_var_axis_info_t</span> *axes_array</code></em>);</pre>
-<p class="since">Since: 2.2.0</p>
+<p class="since">Since: <a class="link" href="api-index-2-2-0.html#api-index-2.2.0">2.2.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="hb-ot-var-get-named-instance-count"></a><h3>hb_ot_var_get_named_instance_count ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_ot_var_get_named_instance_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
+hb_ot_var_get_named_instance_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="hb-ot-var-named-instance-get-subfamily-name-id"></a><h3>hb_ot_var_named_instance_get_subfamily_name_id ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-id-t" title="hb_ot_name_id_t"><span class="returnvalue">hb_ot_name_id_t</span></a>
hb_ot_var_named_instance_get_subfamily_name_id
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> instance_index</code></em>);</pre>
</div>
<hr>
@@ -242,7 +235,7 @@ hb_ot_var_named_instance_get_subfamily_name_id
<a name="hb-ot-var-named-instance-get-postscript-name-id"></a><h3>hb_ot_var_named_instance_get_postscript_name_id ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-id-t" title="hb_ot_name_id_t"><span class="returnvalue">hb_ot_name_id_t</span></a>
hb_ot_var_named_instance_get_postscript_name_id
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> instance_index</code></em>);</pre>
</div>
<hr>
@@ -250,7 +243,7 @@ hb_ot_var_named_instance_get_postscript_name_id
<a name="hb-ot-var-named-instance-get-design-coords"></a><h3>hb_ot_var_named_instance_get_design_coords ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
hb_ot_var_named_instance_get_design_coords
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> instance_index</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> *coords_length</code></em>,
<em class="parameter"><code><span class="type">float</span> *coords</code></em>);</pre>
@@ -259,8 +252,8 @@ hb_ot_var_named_instance_get_design_coords
<div class="refsect2">
<a name="hb-ot-var-normalize-variations"></a><h3>hb_ot_var_normalize_variations ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_ot_var_normalize_variations (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-font.html#hb-variation-t" title="hb_variation_t"><span class="type">hb_variation_t</span></a> *variations</code></em>,
+hb_ot_var_normalize_variations (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-variation-t" title="hb_variation_t"><span class="type">hb_variation_t</span></a> *variations</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> variations_length</code></em>,
<em class="parameter"><code><span class="type">int</span> *coords</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> coords_length</code></em>);</pre>
@@ -270,7 +263,7 @@ hb_ot_var_normalize_variations (<em class="parameter"><code><a class="link" href
<div class="refsect2">
<a name="hb-ot-var-normalize-coords"></a><h3>hb_ot_var_normalize_coords ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_ot_var_normalize_coords (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
+hb_ot_var_normalize_coords (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> coords_length</code></em>,
<em class="parameter"><code>const <span class="type">float</span> *design_coords</code></em>,
<em class="parameter"><code><span class="type">int</span> *normalized_coords</code></em>);</pre>
@@ -335,11 +328,11 @@ hb_ot_var_normalize_coords (<em class="parameter"><code><a class="link" href="ha
</tbody>
</table></div>
</div>
-<p class="since">Since: 2.2.0</p>
+<p class="since">Since: <a class="link" href="api-index-2-2-0.html#api-index-2.2.0">2.2.0</a></p>
</div>
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-set.html b/docs/html/harfbuzz-hb-set.html
index b07920d..7607ab2 100644
--- a/docs/html/harfbuzz-hb-set.html
+++ b/docs/html/harfbuzz-hb-set.html
@@ -3,20 +3,19 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-set: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch09.html" title="Core API">
<link rel="prev" href="harfbuzz-hb-map.html" title="hb-map">
<link rel="next" href="harfbuzz-hb-shape-plan.html" title="hb-shape-plan">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-set.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-set.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+ <a href="#harfbuzz-hb-set.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
@@ -74,7 +73,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="returnvalue">hb_set_t</span></a> *
+<a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="returnvalue">hb_set_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-set.html#hb-set-create" title="hb_set_create ()">hb_set_create</a> <span class="c_punctuation">()</span>
@@ -106,7 +105,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="returnvalue">hb_set_t</span></a> *
+<a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="returnvalue">hb_set_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-set.html#hb-set-get-empty" title="hb_set_get_empty ()">hb_set_get_empty</a> <span class="c_punctuation">()</span>
@@ -217,7 +216,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="returnvalue">hb_set_t</span></a> *
+<a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="returnvalue">hb_set_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-set.html#hb-set-reference" title="hb_set_reference ()">hb_set_reference</a> <span class="c_punctuation">()</span>
@@ -266,7 +265,7 @@
</tbody>
</table></div>
</div>
-<a name="hb-set-t"></a><div class="refsect1">
+<div class="refsect1">
<a name="harfbuzz-hb-set.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
@@ -280,18 +279,12 @@
</tr>
<tr>
<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-set.html#hb-set-t">hb_set_t</a></td>
+<td class="function_name"><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t">hb_set_t</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
-<a name="harfbuzz-hb-set.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a>
- <span class="lineart">╰──</span> hb_set_t
-</pre>
-</div>
-<div class="refsect1">
<a name="harfbuzz-hb-set.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;hb.h&gt;
</pre>
@@ -307,7 +300,7 @@ or other integer values.</p>
<div class="refsect2">
<a name="hb-set-add"></a><h3>hb_set_add ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_set_add (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>,
+hb_set_add (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> codepoint</code></em>);</pre>
<div class="refsect3">
<a name="hb-set-add.parameters"></a><h4>Parameters</h4>
@@ -330,7 +323,7 @@ hb_set_add (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.ht
<div class="refsect2">
<a name="hb-set-add-range"></a><h3>hb_set_add_range ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_set_add_range (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>,
+hb_set_add_range (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> first</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> last</code></em>);</pre>
<div class="refsect3">
@@ -354,7 +347,7 @@ hb_set_add_range (<em class="parameter"><code><a class="link" href="harfbuzz-hb-
<div class="refsect2">
<a name="hb-set-allocation-successful"></a><h3>hb_set_allocation_successful ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_set_allocation_successful (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre>
+hb_set_allocation_successful (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre>
<div class="refsect3">
<a name="hb-set-allocation-successful.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -376,7 +369,7 @@ hb_set_allocation_successful (<em class="parameter"><code>const <a class="link"
<div class="refsect2">
<a name="hb-set-clear"></a><h3>hb_set_clear ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_set_clear (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre>
+hb_set_clear (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre>
<div class="refsect3">
<a name="hb-set-clear.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -397,7 +390,7 @@ hb_set_clear (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.
<hr>
<div class="refsect2">
<a name="hb-set-create"></a><h3>hb_set_create ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="returnvalue">hb_set_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="returnvalue">hb_set_t</span></a> *
hb_set_create (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p><span class="annotation">[Xconstructor]</span></p>
<div class="refsect3">
@@ -411,7 +404,7 @@ hb_set_create (<em class="parameter"><code><span class="type">void</span></code>
<div class="refsect2">
<a name="hb-set-del"></a><h3>hb_set_del ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_set_del (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>,
+hb_set_del (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> codepoint</code></em>);</pre>
<div class="refsect3">
<a name="hb-set-del.parameters"></a><h4>Parameters</h4>
@@ -434,7 +427,7 @@ hb_set_del (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.ht
<div class="refsect2">
<a name="hb-set-del-range"></a><h3>hb_set_del_range ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_set_del_range (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>,
+hb_set_del_range (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> first</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> last</code></em>);</pre>
<div class="refsect3">
@@ -458,7 +451,7 @@ hb_set_del_range (<em class="parameter"><code><a class="link" href="harfbuzz-hb-
<div class="refsect2">
<a name="hb-set-destroy"></a><h3>hb_set_destroy ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_set_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre>
+hb_set_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-set-destroy.parameters"></a><h4>Parameters</h4>
@@ -480,7 +473,7 @@ hb_set_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-se
<hr>
<div class="refsect2">
<a name="hb-set-get-empty"></a><h3>hb_set_get_empty ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="returnvalue">hb_set_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="returnvalue">hb_set_t</span></a> *
hb_set_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<div class="refsect3">
<a name="hb-set-get-empty.returns"></a><h4>Returns</h4>
@@ -493,7 +486,7 @@ hb_set_get_empty (<em class="parameter"><code><span class="type">void</span></co
<div class="refsect2">
<a name="hb-set-get-max"></a><h3>hb_set_get_max ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="returnvalue">hb_codepoint_t</span></a>
-hb_set_get_max (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre>
+hb_set_get_max (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre>
<p>Finds the maximum number in the set.</p>
<div class="refsect3">
<a name="hb-set-get-max.parameters"></a><h4>Parameters</h4>
@@ -520,7 +513,7 @@ hb_set_get_max (<em class="parameter"><code>const <a class="link" href="harfbuzz
<div class="refsect2">
<a name="hb-set-get-min"></a><h3>hb_set_get_min ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="returnvalue">hb_codepoint_t</span></a>
-hb_set_get_min (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre>
+hb_set_get_min (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre>
<p>Finds the minimum number in the set.</p>
<div class="refsect3">
<a name="hb-set-get-min.parameters"></a><h4>Parameters</h4>
@@ -547,7 +540,7 @@ hb_set_get_min (<em class="parameter"><code>const <a class="link" href="harfbuzz
<div class="refsect2">
<a name="hb-set-get-population"></a><h3>hb_set_get_population ()</h3>
<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-hb_set_get_population (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre>
+hb_set_get_population (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre>
<p>Returns the number of numbers in the set.</p>
<div class="refsect3">
<a name="hb-set-get-population.parameters"></a><h4>Parameters</h4>
@@ -574,8 +567,8 @@ hb_set_get_population (<em class="parameter"><code>const <a class="link" href="h
<div class="refsect2">
<a name="hb-set-get-user-data"></a><h3>hb_set_get_user_data ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> *
-hb_set_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
+hb_set_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-set-get-user-data.parameters"></a><h4>Parameters</h4>
@@ -603,7 +596,7 @@ hb_set_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz
<div class="refsect2">
<a name="hb-set-has"></a><h3>hb_set_has ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_set_has (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>,
+hb_set_has (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> codepoint</code></em>);</pre>
<div class="refsect3">
<a name="hb-set-has.parameters"></a><h4>Parameters</h4>
@@ -626,8 +619,8 @@ hb_set_has (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-
<div class="refsect2">
<a name="hb-set-intersect"></a><h3>hb_set_intersect ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_set_intersect (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre>
+hb_set_intersect (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre>
<div class="refsect3">
<a name="hb-set-intersect.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -649,7 +642,7 @@ hb_set_intersect (<em class="parameter"><code><a class="link" href="harfbuzz-hb-
<div class="refsect2">
<a name="hb-set-is-empty"></a><h3>hb_set_is_empty ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_set_is_empty (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre>
+hb_set_is_empty (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre>
<div class="refsect3">
<a name="hb-set-is-empty.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -671,8 +664,8 @@ hb_set_is_empty (<em class="parameter"><code>const <a class="link" href="harfbuz
<div class="refsect2">
<a name="hb-set-is-equal"></a><h3>hb_set_is_equal ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_set_is_equal (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre>
+hb_set_is_equal (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre>
<div class="refsect3">
<a name="hb-set-is-equal.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -697,7 +690,7 @@ hb_set_is_equal (<em class="parameter"><code>const <a class="link" href="harfbuz
</div>
<div class="refsect3">
<a name="hb-set-is-equal.returns"></a><h4>Returns</h4>
-<p> <code class="literal">TRUE</code> if the two sets are equal, <code class="literal">FALSE</code> otherwise.</p>
+<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the two sets are equal, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p>
</div>
@@ -705,8 +698,8 @@ hb_set_is_equal (<em class="parameter"><code>const <a class="link" href="harfbuz
<div class="refsect2">
<a name="hb-set-is-subset"></a><h3>hb_set_is_subset ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_set_is_subset (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *larger_set</code></em>);</pre>
+hb_set_is_subset (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *larger_set</code></em>);</pre>
<div class="refsect3">
<a name="hb-set-is-subset.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -731,9 +724,9 @@ hb_set_is_subset (<em class="parameter"><code>const <a class="link" href="harfbu
</div>
<div class="refsect3">
<a name="hb-set-is-subset.returns"></a><h4>Returns</h4>
-<p> <code class="literal">TRUE</code> if the <em class="parameter"><code>set</code></em>
+<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <em class="parameter"><code>set</code></em>
is a subset of (or equal to) <em class="parameter"><code>larger_set</code></em>
-, <code class="literal">FALSE</code> otherwise.</p>
+, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-1-8-1.html#api-index-1.8.1">1.8.1</a></p>
</div>
@@ -741,7 +734,7 @@ is a subset of (or equal to) <em class="parameter"><code>larger_set</code></em>
<div class="refsect2">
<a name="hb-set-next"></a><h3>hb_set_next ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_set_next (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>,
+hb_set_next (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *codepoint</code></em>);</pre>
<p>Gets the next number in <em class="parameter"><code>set</code></em>
that is greater than current value of <em class="parameter"><code>codepoint</code></em>
@@ -780,7 +773,7 @@ hb_set_next (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb
<div class="refsect2">
<a name="hb-set-next-range"></a><h3>hb_set_next_range ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_set_next_range (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>,
+hb_set_next_range (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *first</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *last</code></em>);</pre>
<p>Gets the next consecutive range of numbers in <em class="parameter"><code>set</code></em>
@@ -805,12 +798,12 @@ are greater than current value of <em class="parameter"><code>last</code></em>
</tr>
<tr>
<td class="parameter_name"><p>first</p></td>
-<td class="parameter_description"><p> output first codepoint in the range. </p></td>
+<td class="parameter_description"><p>output first codepoint in the range. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>last</p></td>
-<td class="parameter_description"><p> input current last and output last codepoint in the range. </p></td>
+<td class="parameter_description"><p>input current last and output last codepoint in the range. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>]</span></td>
</tr>
</tbody>
@@ -826,7 +819,7 @@ are greater than current value of <em class="parameter"><code>last</code></em>
<div class="refsect2">
<a name="hb-set-previous"></a><h3>hb_set_previous ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_set_previous (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>,
+hb_set_previous (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *codepoint</code></em>);</pre>
<p>Gets the previous number in <em class="parameter"><code>set</code></em>
that is slower than current value of <em class="parameter"><code>codepoint</code></em>
@@ -865,7 +858,7 @@ hb_set_previous (<em class="parameter"><code>const <a class="link" href="harfbuz
<div class="refsect2">
<a name="hb-set-previous-range"></a><h3>hb_set_previous_range ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_set_previous_range (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>,
+hb_set_previous_range (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *first</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *last</code></em>);</pre>
<p>Gets the previous consecutive range of numbers in <em class="parameter"><code>set</code></em>
@@ -890,12 +883,12 @@ are greater than current value of <em class="parameter"><code>last</code></em>
</tr>
<tr>
<td class="parameter_name"><p>first</p></td>
-<td class="parameter_description"><p> input current first and output first codepoint in the range. </p></td>
+<td class="parameter_description"><p>input current first and output first codepoint in the range. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>last</p></td>
-<td class="parameter_description"><p> output last codepoint in the range. </p></td>
+<td class="parameter_description"><p>output last codepoint in the range. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
@@ -910,8 +903,8 @@ are greater than current value of <em class="parameter"><code>last</code></em>
<hr>
<div class="refsect2">
<a name="hb-set-reference"></a><h3>hb_set_reference ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="returnvalue">hb_set_t</span></a> *
-hb_set_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="returnvalue">hb_set_t</span></a> *
+hb_set_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-set-reference.parameters"></a><h4>Parameters</h4>
@@ -939,8 +932,8 @@ hb_set_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-
<div class="refsect2">
<a name="hb-set-set"></a><h3>hb_set_set ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_set_set (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre>
+hb_set_set (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre>
<div class="refsect3">
<a name="hb-set-set.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -962,8 +955,8 @@ hb_set_set (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.ht
<div class="refsect2">
<a name="hb-set-set-user-data"></a><h3>hb_set_set_user_data ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_set_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
+hb_set_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
<em class="parameter"><code><span class="type">void</span> *data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> replace</code></em>);</pre>
@@ -989,8 +982,8 @@ hb_set_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz
<div class="refsect2">
<a name="hb-set-subtract"></a><h3>hb_set_subtract ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_set_subtract (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre>
+hb_set_subtract (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre>
<div class="refsect3">
<a name="hb-set-subtract.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1012,8 +1005,8 @@ hb_set_subtract (<em class="parameter"><code><a class="link" href="harfbuzz-hb-s
<div class="refsect2">
<a name="hb-set-symmetric-difference"></a><h3>hb_set_symmetric_difference ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_set_symmetric_difference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre>
+hb_set_symmetric_difference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre>
<div class="refsect3">
<a name="hb-set-symmetric-difference.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1035,8 +1028,8 @@ hb_set_symmetric_difference (<em class="parameter"><code><a class="link" href="h
<div class="refsect2">
<a name="hb-set-union"></a><h3>hb_set_union ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_set_union (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre>
+hb_set_union (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre>
<div class="refsect3">
<a name="hb-set-union.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1071,6 +1064,6 @@ hb_set_union (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-shape-plan.html b/docs/html/harfbuzz-hb-shape-plan.html
index 3986cab..e9c3501 100644
--- a/docs/html/harfbuzz-hb-shape-plan.html
+++ b/docs/html/harfbuzz-hb-shape-plan.html
@@ -3,20 +3,19 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-shape-plan: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch09.html" title="Core API">
<link rel="prev" href="harfbuzz-hb-set.html" title="hb-set">
<link rel="next" href="harfbuzz-hb-shape.html" title="hb-shape">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-shape-plan.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-shape-plan.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+ <a href="#harfbuzz-hb-shape-plan.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
@@ -42,7 +41,7 @@
<tbody>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> *
+<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-create" title="hb_shape_plan_create ()">hb_shape_plan_create</a> <span class="c_punctuation">()</span>
@@ -50,7 +49,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> *
+<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-create-cached" title="hb_shape_plan_create_cached ()">hb_shape_plan_create_cached</a> <span class="c_punctuation">()</span>
@@ -58,7 +57,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> *
+<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-create2" title="hb_shape_plan_create2 ()">hb_shape_plan_create2</a> <span class="c_punctuation">()</span>
@@ -66,7 +65,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> *
+<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-create-cached2" title="hb_shape_plan_create_cached2 ()">hb_shape_plan_create_cached2</a> <span class="c_punctuation">()</span>
@@ -90,7 +89,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> *
+<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-get-empty" title="hb_shape_plan_get_empty ()">hb_shape_plan_get_empty</a> <span class="c_punctuation">()</span>
@@ -113,7 +112,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> *
+<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-reference" title="hb_shape_plan_reference ()">hb_shape_plan_reference</a> <span class="c_punctuation">()</span>
@@ -130,7 +129,7 @@
</tbody>
</table></div>
</div>
-<a name="hb-shape-plan-t"></a><div class="refsect1">
+<div class="refsect1">
<a name="harfbuzz-hb-shape-plan.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
@@ -139,17 +138,11 @@
</colgroup>
<tbody><tr>
<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t">hb_shape_plan_t</a></td>
+<td class="function_name"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t">hb_shape_plan_t</a></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
-<a name="harfbuzz-hb-shape-plan.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a>
- <span class="lineart">╰──</span> hb_shape_plan_t
-</pre>
-</div>
-<div class="refsect1">
<a name="harfbuzz-hb-shape-plan.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;hb.h&gt;
</pre>
@@ -165,10 +158,10 @@ Most client would not need to deal with shape plans directly.</p>
<a name="harfbuzz-hb-shape-plan.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="hb-shape-plan-create"></a><h3>hb_shape_plan_create ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> *
-hb_shape_plan_create (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *props</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-shape.html#hb-feature-t"><span class="type">hb_feature_t</span></a> *user_features</code></em>,
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> *
+hb_shape_plan_create (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> *props</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> *user_features</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> num_user_features</code></em>,
<em class="parameter"><code>const <span class="type">char</span> * const *shaper_list</code></em>);</pre>
<p><span class="annotation">[Xconstructor]</span></p>
@@ -204,10 +197,10 @@ hb_shape_plan_create (<em class="parameter"><code><a class="link" href="harfbuzz
<hr>
<div class="refsect2">
<a name="hb-shape-plan-create-cached"></a><h3>hb_shape_plan_create_cached ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> *
-hb_shape_plan_create_cached (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *props</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-shape.html#hb-feature-t"><span class="type">hb_feature_t</span></a> *user_features</code></em>,
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> *
+hb_shape_plan_create_cached (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> *props</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> *user_features</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> num_user_features</code></em>,
<em class="parameter"><code>const <span class="type">char</span> * const *shaper_list</code></em>);</pre>
<div class="refsect3">
@@ -242,10 +235,10 @@ hb_shape_plan_create_cached (<em class="parameter"><code><a class="link" href="h
<hr>
<div class="refsect2">
<a name="hb-shape-plan-create2"></a><h3>hb_shape_plan_create2 ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> *
-hb_shape_plan_create2 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *props</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-shape.html#hb-feature-t"><span class="type">hb_feature_t</span></a> *user_features</code></em>,
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> *
+hb_shape_plan_create2 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> *props</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> *user_features</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> num_user_features</code></em>,
<em class="parameter"><code>const <span class="type">int</span> *coords</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> num_coords</code></em>,
@@ -254,10 +247,10 @@ hb_shape_plan_create2 (<em class="parameter"><code><a class="link" href="harfbuz
<hr>
<div class="refsect2">
<a name="hb-shape-plan-create-cached2"></a><h3>hb_shape_plan_create_cached2 ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> *
-hb_shape_plan_create_cached2 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *props</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-shape.html#hb-feature-t"><span class="type">hb_feature_t</span></a> *user_features</code></em>,
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> *
+hb_shape_plan_create_cached2 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> *props</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> *user_features</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> num_user_features</code></em>,
<em class="parameter"><code>const <span class="type">int</span> *coords</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> num_coords</code></em>,
@@ -267,7 +260,7 @@ hb_shape_plan_create_cached2 (<em class="parameter"><code><a class="link" href="
<div class="refsect2">
<a name="hb-shape-plan-destroy"></a><h3>hb_shape_plan_destroy ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_shape_plan_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>);</pre>
+hb_shape_plan_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-shape-plan-destroy.parameters"></a><h4>Parameters</h4>
@@ -290,10 +283,10 @@ hb_shape_plan_destroy (<em class="parameter"><code><a class="link" href="harfbuz
<div class="refsect2">
<a name="hb-shape-plan-execute"></a><h3>hb_shape_plan_execute ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_shape_plan_execute (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-shape.html#hb-feature-t"><span class="type">hb_feature_t</span></a> *features</code></em>,
+hb_shape_plan_execute (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> *features</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> num_features</code></em>);</pre>
<div class="refsect3">
<a name="hb-shape-plan-execute.parameters"></a><h4>Parameters</h4>
@@ -332,7 +325,7 @@ hb_shape_plan_execute (<em class="parameter"><code><a class="link" href="harfbuz
<hr>
<div class="refsect2">
<a name="hb-shape-plan-get-empty"></a><h3>hb_shape_plan_get_empty ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> *
hb_shape_plan_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<div class="refsect3">
<a name="hb-shape-plan-get-empty.returns"></a><h4>Returns</h4>
@@ -345,7 +338,7 @@ hb_shape_plan_get_empty (<em class="parameter"><code><span class="type">void</sp
<div class="refsect2">
<a name="hb-shape-plan-get-shaper"></a><h3>hb_shape_plan_get_shaper ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *
-hb_shape_plan_get_shaper (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>);</pre>
+hb_shape_plan_get_shaper (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>);</pre>
<div class="refsect3">
<a name="hb-shape-plan-get-shaper.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -372,8 +365,8 @@ hb_shape_plan_get_shaper (<em class="parameter"><code><a class="link" href="harf
<div class="refsect2">
<a name="hb-shape-plan-get-user-data"></a><h3>hb_shape_plan_get_user_data ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> *
-hb_shape_plan_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
+hb_shape_plan_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-shape-plan-get-user-data.parameters"></a><h4>Parameters</h4>
@@ -400,8 +393,8 @@ hb_shape_plan_get_user_data (<em class="parameter"><code><a class="link" href="h
<hr>
<div class="refsect2">
<a name="hb-shape-plan-reference"></a><h3>hb_shape_plan_reference ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> *
-hb_shape_plan_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> *
+hb_shape_plan_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-shape-plan-reference.parameters"></a><h4>Parameters</h4>
@@ -429,8 +422,8 @@ hb_shape_plan_reference (<em class="parameter"><code><a class="link" href="harfb
<div class="refsect2">
<a name="hb-shape-plan-set-user-data"></a><h3>hb_shape_plan_set_user_data ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_shape_plan_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
+hb_shape_plan_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
<em class="parameter"><code><span class="type">void</span> *data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> replace</code></em>);</pre>
@@ -463,6 +456,6 @@ hb_shape_plan_set_user_data (<em class="parameter"><code><a class="link" href="h
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-shape.html b/docs/html/harfbuzz-hb-shape.html
index b26887c..0785017 100644
--- a/docs/html/harfbuzz-hb-shape.html
+++ b/docs/html/harfbuzz-hb-shape.html
@@ -3,20 +3,19 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-shape: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch09.html" title="Core API">
<link rel="prev" href="harfbuzz-hb-shape-plan.html" title="hb-shape-plan">
<link rel="next" href="harfbuzz-hb-unicode.html" title="hb-unicode">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-shape.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-shape.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+ <a href="#harfbuzz-hb-shape.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
@@ -42,22 +41,6 @@
<tbody>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-shape.html#hb-feature-from-string" title="hb_feature_from_string ()">hb_feature_from_string</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="harfbuzz-hb-shape.html#hb-feature-to-string" title="hb_feature_to_string ()">hb_feature_to_string</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
@@ -82,35 +65,6 @@
</tbody>
</table></div>
</div>
-<a name="hb-feature-t"></a><div class="refsect1">
-<a name="harfbuzz-hb-shape.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-shape.html#HB-FEATURE-GLOBAL-END:CAPS" title="HB_FEATURE_GLOBAL_END">HB_FEATURE_GLOBAL_END</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-shape.html#HB-FEATURE-GLOBAL-START:CAPS" title="HB_FEATURE_GLOBAL_START">HB_FEATURE_GLOBAL_START</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-shape.html#hb-feature-t-struct" title="hb_feature_t">hb_feature_t</a></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="harfbuzz-hb-shape.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a>
- <span class="lineart">╰──</span> hb_feature_t
-</pre>
-</div>
<div class="refsect1">
<a name="harfbuzz-hb-shape.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;hb.h&gt;
@@ -126,102 +80,17 @@ contains the output glyphs and their positions.</p>
<div class="refsect1">
<a name="harfbuzz-hb-shape.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
-<a name="hb-feature-from-string"></a><h3>hb_feature_from_string ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_feature_from_string (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>,
- <em class="parameter"><code><span class="type">int</span> len</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-shape.html#hb-feature-t"><span class="type">hb_feature_t</span></a> *feature</code></em>);</pre>
-<p>Parses a string into a <a class="link" href="harfbuzz-hb-shape.html#hb-feature-t"><span class="type">hb_feature_t</span></a>.</p>
-<p>TODO: document the syntax here.</p>
-<div class="refsect3">
-<a name="hb-feature-from-string.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>str</p></td>
-<td class="parameter_description"><p> a string to parse. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> uint8_t]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>len</p></td>
-<td class="parameter_description"><p>length of <em class="parameter"><code>str</code></em>
-, or -1 if string is <code class="literal">NULL</code> terminated</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>feature</p></td>
-<td class="parameter_description"><p> the <a class="link" href="harfbuzz-hb-shape.html#hb-feature-t"><span class="type">hb_feature_t</span></a> to initialize with the parsed values. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="hb-feature-from-string.returns"></a><h4>Returns</h4>
-<p><code class="literal">true</code> if <em class="parameter"><code>str</code></em>
-is successfully parsed, <code class="literal">false</code> otherwise.</p>
-</div>
-<p class="since">Since: <a class="link" href="api-index-0-9-5.html#api-index-0.9.5">0.9.5</a></p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-feature-to-string"></a><h3>hb_feature_to_string ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-hb_feature_to_string (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape.html#hb-feature-t"><span class="type">hb_feature_t</span></a> *feature</code></em>,
- <em class="parameter"><code><span class="type">char</span> *buf</code></em>,
- <em class="parameter"><code>unsigned <span class="type">int</span> size</code></em>);</pre>
-<p>Converts a <a class="link" href="harfbuzz-hb-shape.html#hb-feature-t"><span class="type">hb_feature_t</span></a> into a <code class="literal">NULL</code>-terminated string in the format
-understood by <a class="link" href="harfbuzz-hb-shape.html#hb-feature-from-string" title="hb_feature_from_string ()"><code class="function">hb_feature_from_string()</code></a>. The client in responsible for
-allocating big enough size for <em class="parameter"><code>buf</code></em>
-, 128 bytes is more than enough.</p>
-<div class="refsect3">
-<a name="hb-feature-to-string.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>feature</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-shape.html#hb-feature-t"><span class="type">hb_feature_t</span></a> to convert</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>buf</p></td>
-<td class="parameter_description"><p> output string. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=size][<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>size</p></td>
-<td class="parameter_description"><p>the allocated size of <em class="parameter"><code>buf</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: <a class="link" href="api-index-0-9-5.html#api-index-0.9.5">0.9.5</a></p>
-</div>
-<hr>
-<div class="refsect2">
<a name="hb-shape"></a><h3>hb_shape ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_shape (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-shape.html#hb-feature-t"><span class="type">hb_feature_t</span></a> *features</code></em>,
+hb_shape (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> *features</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> num_features</code></em>);</pre>
<p>Shapes <em class="parameter"><code>buffer</code></em>
using <em class="parameter"><code>font</code></em>
turning its Unicode characters content to
positioned glyphs. If <em class="parameter"><code>features</code></em>
- is not <code class="literal">NULL</code>, it will be used to control the
+ is not <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, it will be used to control the
features applied during shaping.</p>
<div class="refsect3">
<a name="hb-shape.parameters"></a><h4>Parameters</h4>
@@ -234,18 +103,18 @@ features applied during shaping.</p>
<tbody>
<tr>
<td class="parameter_name"><p>font</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> to use for shaping</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> to use for shaping</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> to shape</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> to shape</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>features</p></td>
-<td class="parameter_description"><p> an array of user
-specified <a class="link" href="harfbuzz-hb-shape.html#hb-feature-t"><span class="type">hb_feature_t</span></a> or <code class="literal">NULL</code>. </p></td>
+<td class="parameter_description"><p>an array of user
+specified <a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=num_features][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
@@ -263,13 +132,13 @@ array</p></td>
<div class="refsect2">
<a name="hb-shape-full"></a><h3>hb_shape_full ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_shape_full (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
- <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-shape.html#hb-feature-t"><span class="type">hb_feature_t</span></a> *features</code></em>,
+hb_shape_full (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>,
+ <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> *features</code></em>,
<em class="parameter"><code>unsigned <span class="type">int</span> num_features</code></em>,
<em class="parameter"><code>const <span class="type">char</span> * const *shaper_list</code></em>);</pre>
<p>See <a class="link" href="harfbuzz-hb-shape.html#hb-shape" title="hb_shape ()"><code class="function">hb_shape()</code></a> for details. If <em class="parameter"><code>shaper_list</code></em>
- is not <code class="literal">NULL</code>, the specified
+ is not <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the specified
shapers will be used in the given order, otherwise the default shapers list
will be used.</p>
<div class="refsect3">
@@ -283,18 +152,18 @@ will be used.</p>
<tbody>
<tr>
<td class="parameter_name"><p>font</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> to use for shaping</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> to use for shaping</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>buffer</p></td>
-<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> to shape</p></td>
+<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> to shape</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>features</p></td>
-<td class="parameter_description"><p> an array of user
-specified <a class="link" href="harfbuzz-hb-shape.html#hb-feature-t"><span class="type">hb_feature_t</span></a> or <code class="literal">NULL</code>. </p></td>
+<td class="parameter_description"><p>an array of user
+specified <a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=num_features][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
@@ -305,8 +174,8 @@ array</p></td>
</tr>
<tr>
<td class="parameter_name"><p>shaper_list</p></td>
-<td class="parameter_description"><p> a <code class="literal">NULL</code>-terminated
-array of shapers to use or <code class="literal">NULL</code>. </p></td>
+<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated
+array of shapers to use or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
@@ -326,7 +195,7 @@ hb_shape_list_shapers (<em class="parameter"><code><span class="type">void</span
<p>Retrieves the list of shapers supported by HarfBuzz.</p>
<div class="refsect3">
<a name="hb-shape-list-shapers.returns"></a><h4>Returns</h4>
-<p> an array of
+<p>an array of
constant strings. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></p>
</div>
@@ -335,33 +204,9 @@ constant strings. </p>
</div>
<div class="refsect1">
<a name="harfbuzz-hb-shape.other_details"></a><h2>Types and Values</h2>
-<div class="refsect2">
-<a name="HB-FEATURE-GLOBAL-END:CAPS"></a><h3>HB_FEATURE_GLOBAL_END</h3>
-<pre class="programlisting">#define HB_FEATURE_GLOBAL_END ((unsigned int) -1)
-</pre>
-<p class="since">Since: <a class="link" href="api-index-2-0-0.html#api-index-2.0.0">2.0.0</a></p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="HB-FEATURE-GLOBAL-START:CAPS"></a><h3>HB_FEATURE_GLOBAL_START</h3>
-<pre class="programlisting">#define HB_FEATURE_GLOBAL_START 0
-</pre>
-<p class="since">Since: <a class="link" href="api-index-2-0-0.html#api-index-2.0.0">2.0.0</a></p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="hb-feature-t-struct"></a><h3>hb_feature_t</h3>
-<pre class="programlisting">typedef struct {
- hb_tag_t tag;
- uint32_t value;
- unsigned int start;
- unsigned int end;
-} hb_feature_t;
-</pre>
-</div>
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-unicode.html b/docs/html/harfbuzz-hb-unicode.html
index 97f93ab..51a72c6 100644
--- a/docs/html/harfbuzz-hb-unicode.html
+++ b/docs/html/harfbuzz-hb-unicode.html
@@ -3,20 +3,19 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-unicode: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch09.html" title="Core API">
<link rel="prev" href="harfbuzz-hb-shape.html" title="hb-shape">
<link rel="next" href="harfbuzz-hb-version.html" title="hb-version">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-unicode.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
- <a href="#harfbuzz-hb-unicode.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+ <a href="#harfbuzz-hb-unicode.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
@@ -90,7 +89,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
+<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-create" title="hb_unicode_funcs_create ()">hb_unicode_funcs_create</a> <span class="c_punctuation">()</span>
@@ -106,7 +105,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
+<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-get-default" title="hb_unicode_funcs_get_default ()">hb_unicode_funcs_get_default</a> <span class="c_punctuation">()</span>
@@ -114,7 +113,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
+<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-get-empty" title="hb_unicode_funcs_get_empty ()">hb_unicode_funcs_get_empty</a> <span class="c_punctuation">()</span>
@@ -122,7 +121,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
+<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-get-parent" title="hb_unicode_funcs_get_parent ()">hb_unicode_funcs_get_parent</a> <span class="c_punctuation">()</span>
@@ -154,7 +153,7 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
+<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-reference" title="hb_unicode_funcs_reference ()">hb_unicode_funcs_reference</a> <span class="c_punctuation">()</span>
@@ -267,7 +266,7 @@
</tbody>
</table></div>
</div>
-<a name="hb-unicode-funcs-t"></a><div class="refsect1">
+<div class="refsect1">
<a name="harfbuzz-hb-unicode.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
@@ -285,7 +284,7 @@
</tr>
<tr>
<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t">hb_unicode_funcs_t</a></td>
+<td class="function_name"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t">hb_unicode_funcs_t</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
@@ -295,15 +294,6 @@
</table></div>
</div>
<div class="refsect1">
-<a name="harfbuzz-hb-unicode.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a>
- <span class="lineart">╰──</span> hb_unicode_funcs_t
- <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GEnum</a>
- <span class="lineart">├──</span> hb_unicode_combining_class_t
- <span class="lineart">╰──</span> hb_unicode_general_category_t
-</pre>
-</div>
-<div class="refsect1">
<a name="harfbuzz-hb-unicode.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;hb.h&gt;
</pre>
@@ -321,7 +311,7 @@ properties, such as General Category, Script, Combining Class, etc.</p>
<div class="refsect2">
<a name="hb-unicode-combining-class"></a><h3>hb_unicode_combining_class ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-combining-class-t" title="enum hb_unicode_combining_class_t"><span class="returnvalue">hb_unicode_combining_class_t</span></a>
-hb_unicode_combining_class (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
+hb_unicode_combining_class (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>);</pre>
<p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
</div>
@@ -329,7 +319,7 @@ hb_unicode_combining_class (<em class="parameter"><code><a class="link" href="ha
<div class="refsect2">
<a name="hb-unicode-combining-class-func-t"></a><h3>hb_unicode_combining_class_func_t ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-combining-class-t" title="enum hb_unicode_combining_class_t"><span class="returnvalue">hb_unicode_combining_class_t</span></a>
-<span class="c_punctuation">(</span>*hb_unicode_combining_class_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
+<span class="c_punctuation">(</span>*hb_unicode_combining_class_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
</div>
@@ -337,7 +327,7 @@ hb_unicode_combining_class (<em class="parameter"><code><a class="link" href="ha
<div class="refsect2">
<a name="hb-unicode-compose"></a><h3>hb_unicode_compose ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_unicode_compose (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
+hb_unicode_compose (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> a</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> b</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *ab</code></em>);</pre>
@@ -369,7 +359,7 @@ hb_unicode_compose (<em class="parameter"><code><a class="link" href="harfbuzz-h
<div class="refsect2">
<a name="hb-unicode-compose-func-t"></a><h3>hb_unicode_compose_func_t ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-<span class="c_punctuation">(</span>*hb_unicode_compose_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
+<span class="c_punctuation">(</span>*hb_unicode_compose_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> a</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> b</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *ab</code></em>,
@@ -379,7 +369,7 @@ hb_unicode_compose (<em class="parameter"><code><a class="link" href="harfbuzz-h
<div class="refsect2">
<a name="hb-unicode-decompose"></a><h3>hb_unicode_decompose ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_unicode_decompose (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
+hb_unicode_decompose (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> ab</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *a</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *b</code></em>);</pre>
@@ -416,7 +406,7 @@ hb_unicode_decompose (<em class="parameter"><code><a class="link" href="harfbuzz
<div class="refsect2">
<a name="hb-unicode-decompose-func-t"></a><h3>hb_unicode_decompose_func_t ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-<span class="c_punctuation">(</span>*hb_unicode_decompose_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
+<span class="c_punctuation">(</span>*hb_unicode_decompose_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> ab</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *a</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *b</code></em>,
@@ -425,8 +415,8 @@ hb_unicode_decompose (<em class="parameter"><code><a class="link" href="harfbuzz
<hr>
<div class="refsect2">
<a name="hb-unicode-funcs-create"></a><h3>hb_unicode_funcs_create ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
-hb_unicode_funcs_create (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *parent</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
+hb_unicode_funcs_create (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *parent</code></em>);</pre>
<p><span class="annotation">[Xconstructor]</span></p>
<div class="refsect3">
<a name="hb-unicode-funcs-create.parameters"></a><h4>Parameters</h4>
@@ -454,7 +444,7 @@ hb_unicode_funcs_create (<em class="parameter"><code><a class="link" href="harfb
<div class="refsect2">
<a name="hb-unicode-funcs-destroy"></a><h3>hb_unicode_funcs_destroy ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_unicode_funcs_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>);</pre>
+hb_unicode_funcs_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-unicode-funcs-destroy.parameters"></a><h4>Parameters</h4>
@@ -476,13 +466,13 @@ hb_unicode_funcs_destroy (<em class="parameter"><code><a class="link" href="harf
<hr>
<div class="refsect2">
<a name="hb-unicode-funcs-get-default"></a><h3>hb_unicode_funcs_get_default ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
hb_unicode_funcs_get_default (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="hb-unicode-funcs-get-empty"></a><h3>hb_unicode_funcs_get_empty ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
hb_unicode_funcs_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<div class="refsect3">
<a name="hb-unicode-funcs-get-empty.returns"></a><h4>Returns</h4>
@@ -494,8 +484,8 @@ hb_unicode_funcs_get_empty (<em class="parameter"><code><span class="type">void<
<hr>
<div class="refsect2">
<a name="hb-unicode-funcs-get-parent"></a><h3>hb_unicode_funcs_get_parent ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
-hb_unicode_funcs_get_parent (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
+hb_unicode_funcs_get_parent (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>);</pre>
<div class="refsect3">
<a name="hb-unicode-funcs-get-parent.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -517,8 +507,8 @@ hb_unicode_funcs_get_parent (<em class="parameter"><code><a class="link" href="h
<div class="refsect2">
<a name="hb-unicode-funcs-get-user-data"></a><h3>hb_unicode_funcs_get_user_data ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> *
-hb_unicode_funcs_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
+hb_unicode_funcs_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-unicode-funcs-get-user-data.parameters"></a><h4>Parameters</h4>
@@ -546,7 +536,7 @@ hb_unicode_funcs_get_user_data (<em class="parameter"><code><a class="link" href
<div class="refsect2">
<a name="hb-unicode-funcs-is-immutable"></a><h3>hb_unicode_funcs_is_immutable ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_unicode_funcs_is_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>);</pre>
+hb_unicode_funcs_is_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>);</pre>
<div class="refsect3">
<a name="hb-unicode-funcs-is-immutable.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -568,7 +558,7 @@ hb_unicode_funcs_is_immutable (<em class="parameter"><code><a class="link" href=
<div class="refsect2">
<a name="hb-unicode-funcs-make-immutable"></a><h3>hb_unicode_funcs_make_immutable ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_unicode_funcs_make_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>);</pre>
+hb_unicode_funcs_make_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>);</pre>
<div class="refsect3">
<a name="hb-unicode-funcs-make-immutable.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -589,8 +579,8 @@ hb_unicode_funcs_make_immutable (<em class="parameter"><code><a class="link" hre
<hr>
<div class="refsect2">
<a name="hb-unicode-funcs-reference"></a><h3>hb_unicode_funcs_reference ()</h3>
-<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
-hb_unicode_funcs_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> *
+hb_unicode_funcs_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>);</pre>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="hb-unicode-funcs-reference.parameters"></a><h4>Parameters</h4>
@@ -619,7 +609,7 @@ hb_unicode_funcs_reference (<em class="parameter"><code><a class="link" href="ha
<a name="hb-unicode-funcs-set-combining-class-func"></a><h3>hb_unicode_funcs_set_combining_class_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
hb_unicode_funcs_set_combining_class_func
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-combining-class-func-t" title="hb_unicode_combining_class_func_t ()"><span class="type">hb_unicode_combining_class_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -651,7 +641,7 @@ hb_unicode_funcs_set_combining_class_func
<div class="refsect2">
<a name="hb-unicode-funcs-set-compose-func"></a><h3>hb_unicode_funcs_set_compose_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_unicode_funcs_set_compose_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
+hb_unicode_funcs_set_compose_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-compose-func-t" title="hb_unicode_compose_func_t ()"><span class="type">hb_unicode_compose_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -683,7 +673,7 @@ hb_unicode_funcs_set_compose_func (<em class="parameter"><code><a class="link" h
<div class="refsect2">
<a name="hb-unicode-funcs-set-decompose-func"></a><h3>hb_unicode_funcs_set_decompose_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_unicode_funcs_set_decompose_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
+hb_unicode_funcs_set_decompose_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-decompose-func-t" title="hb_unicode_decompose_func_t ()"><span class="type">hb_unicode_decompose_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -716,7 +706,7 @@ hb_unicode_funcs_set_decompose_func (<em class="parameter"><code><a class="link"
<a name="hb-unicode-funcs-set-general-category-func"></a><h3>hb_unicode_funcs_set_general_category_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
hb_unicode_funcs_set_general_category_func
- (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
+ (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-general-category-func-t" title="hb_unicode_general_category_func_t ()"><span class="type">hb_unicode_general_category_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -748,7 +738,7 @@ hb_unicode_funcs_set_general_category_func
<div class="refsect2">
<a name="hb-unicode-funcs-set-mirroring-func"></a><h3>hb_unicode_funcs_set_mirroring_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_unicode_funcs_set_mirroring_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
+hb_unicode_funcs_set_mirroring_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-mirroring-func-t" title="hb_unicode_mirroring_func_t ()"><span class="type">hb_unicode_mirroring_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -780,7 +770,7 @@ hb_unicode_funcs_set_mirroring_func (<em class="parameter"><code><a class="link"
<div class="refsect2">
<a name="hb-unicode-funcs-set-script-func"></a><h3>hb_unicode_funcs_set_script_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
-hb_unicode_funcs_set_script_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
+hb_unicode_funcs_set_script_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-script-func-t" title="hb_unicode_script_func_t ()"><span class="type">hb_unicode_script_func_t</span></a> func</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
@@ -812,8 +802,8 @@ hb_unicode_funcs_set_script_func (<em class="parameter"><code><a class="link" hr
<div class="refsect2">
<a name="hb-unicode-funcs-set-user-data"></a><h3>hb_unicode_funcs_set_user_data ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
-hb_unicode_funcs_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
- <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
+hb_unicode_funcs_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
+ <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
<em class="parameter"><code><span class="type">void</span> *data</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> replace</code></em>);</pre>
@@ -839,7 +829,7 @@ hb_unicode_funcs_set_user_data (<em class="parameter"><code><a class="link" href
<div class="refsect2">
<a name="hb-unicode-general-category"></a><h3>hb_unicode_general_category ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-general-category-t" title="enum hb_unicode_general_category_t"><span class="returnvalue">hb_unicode_general_category_t</span></a>
-hb_unicode_general_category (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
+hb_unicode_general_category (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>);</pre>
<p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
</div>
@@ -847,7 +837,7 @@ hb_unicode_general_category (<em class="parameter"><code><a class="link" href="h
<div class="refsect2">
<a name="hb-unicode-general-category-func-t"></a><h3>hb_unicode_general_category_func_t ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-general-category-t" title="enum hb_unicode_general_category_t"><span class="returnvalue">hb_unicode_general_category_t</span></a>
-<span class="c_punctuation">(</span>*hb_unicode_general_category_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
+<span class="c_punctuation">(</span>*hb_unicode_general_category_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
</div>
@@ -855,7 +845,7 @@ hb_unicode_general_category (<em class="parameter"><code><a class="link" href="h
<div class="refsect2">
<a name="hb-unicode-mirroring"></a><h3>hb_unicode_mirroring ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="returnvalue">hb_codepoint_t</span></a>
-hb_unicode_mirroring (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
+hb_unicode_mirroring (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>);</pre>
<p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
</div>
@@ -863,7 +853,7 @@ hb_unicode_mirroring (<em class="parameter"><code><a class="link" href="harfbuzz
<div class="refsect2">
<a name="hb-unicode-mirroring-func-t"></a><h3>hb_unicode_mirroring_func_t ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="returnvalue">hb_codepoint_t</span></a>
-<span class="c_punctuation">(</span>*hb_unicode_mirroring_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
+<span class="c_punctuation">(</span>*hb_unicode_mirroring_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
</div>
@@ -871,7 +861,7 @@ hb_unicode_mirroring (<em class="parameter"><code><a class="link" href="harfbuzz
<div class="refsect2">
<a name="hb-unicode-script"></a><h3>hb_unicode_script ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="returnvalue">hb_script_t</span></a>
-hb_unicode_script (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
+hb_unicode_script (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>);</pre>
<p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
</div>
@@ -879,7 +869,7 @@ hb_unicode_script (<em class="parameter"><code><a class="link" href="harfbuzz-hb
<div class="refsect2">
<a name="hb-unicode-script-func-t"></a><h3>hb_unicode_script_func_t ()</h3>
<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="returnvalue">hb_script_t</span></a>
-<span class="c_punctuation">(</span>*hb_unicode_script_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
+<span class="c_punctuation">(</span>*hb_unicode_script_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>,
<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>,
<em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
</div>
@@ -1368,6 +1358,6 @@ hb_unicode_script (<em class="parameter"><code><a class="link" href="harfbuzz-hb
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-uniscribe.html b/docs/html/harfbuzz-hb-uniscribe.html
index 425ef7e..2b60884 100644
--- a/docs/html/harfbuzz-hb-uniscribe.html
+++ b/docs/html/harfbuzz-hb-uniscribe.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-uniscribe: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch12.html" title="Integration API">
<link rel="prev" href="harfbuzz-hb-icu.html" title="hb-icu">
<link rel="next" href="api-index-full.html" title="API Index">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -72,13 +72,13 @@
<div class="refsect2">
<a name="hb-uniscribe-font-get-hfont"></a><h3>hb_uniscribe_font_get_hfont ()</h3>
<pre class="programlisting"><span class="returnvalue">HFONT</span>
-hb_uniscribe_font_get_hfont (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
+hb_uniscribe_font_get_hfont (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="hb-uniscribe-font-get-logfontw"></a><h3>hb_uniscribe_font_get_logfontw ()</h3>
<pre class="programlisting"><span class="returnvalue">LOGFONTW</span> *
-hb_uniscribe_font_get_logfontw (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
+hb_uniscribe_font_get_logfontw (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
</div>
</div>
<div class="refsect1">
@@ -86,6 +86,6 @@ hb_uniscribe_font_get_logfontw (<em class="parameter"><code><a class="link" href
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz-hb-version.html b/docs/html/harfbuzz-hb-version.html
index 00569c9..54c66aa 100644
--- a/docs/html/harfbuzz-hb-version.html
+++ b/docs/html/harfbuzz-hb-version.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hb-version: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="ch09.html" title="Core API">
<link rel="prev" href="harfbuzz-hb-unicode.html" title="hb-unicode">
<link rel="next" href="ch10.html" title="OpenType API">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -134,17 +134,17 @@ hb_version (<em class="parameter"><code>unsigned <span class="type">int</span> *
<tbody>
<tr>
<td class="parameter_name"><p>major</p></td>
-<td class="parameter_description"><p> Library major version component. </p></td>
+<td class="parameter_description"><p>Library major version component. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>minor</p></td>
-<td class="parameter_description"><p> Library minor version component. </p></td>
+<td class="parameter_description"><p>Library minor version component. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>micro</p></td>
-<td class="parameter_description"><p> Library micro version component. </p></td>
+<td class="parameter_description"><p>Library micro version component. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
@@ -184,24 +184,24 @@ hb_version_string (<em class="parameter"><code><span class="type">void</span></c
<hr>
<div class="refsect2">
<a name="HB-VERSION-MICRO:CAPS"></a><h3>HB_VERSION_MICRO</h3>
-<pre class="programlisting">#define HB_VERSION_MICRO 1
+<pre class="programlisting">#define HB_VERSION_MICRO 0
</pre>
</div>
<hr>
<div class="refsect2">
<a name="HB-VERSION-MINOR:CAPS"></a><h3>HB_VERSION_MINOR</h3>
-<pre class="programlisting">#define HB_VERSION_MINOR 3
+<pre class="programlisting">#define HB_VERSION_MINOR 4
</pre>
</div>
<hr>
<div class="refsect2">
<a name="HB-VERSION-STRING:CAPS"></a><h3>HB_VERSION_STRING</h3>
-<pre class="programlisting">#define HB_VERSION_STRING "2.3.1"
+<pre class="programlisting">#define HB_VERSION_STRING "2.4.0"
</pre>
</div>
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/harfbuzz.devhelp2 b/docs/html/harfbuzz.devhelp2
index ccfc846..3b9d482 100644
--- a/docs/html/harfbuzz.devhelp2
+++ b/docs/html/harfbuzz.devhelp2
@@ -101,6 +101,7 @@
</sub>
<sub name="API Index" link="api-index-full.html"/>
<sub name="Index of deprecated API" link="deprecated-api-index.html"/>
+ <sub name="Index of new symbols in 2.2.0" link="api-index-2-2-0.html"/>
<sub name="Index of new symbols in 2.1.0" link="api-index-2-1-0.html"/>
<sub name="Index of new symbols in 2.0.0" link="api-index-2-0-0.html"/>
<sub name="Index of new symbols in 1.9.0" link="api-index-1-9-0.html"/>
@@ -216,11 +217,11 @@
<keyword type="macro" name="HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT" link="harfbuzz-hb-buffer.html#HB-BUFFER-REPLACEMENT-CODEPOINT-DEFAULT:CAPS" since="0.9.31"/>
<keyword type="typedef" name="hb_buffer_t" link="harfbuzz-hb-buffer.html#hb-buffer-t"/>
<keyword type="enum" name="enum hb_glyph_flags_t" link="harfbuzz-hb-buffer.html#hb-glyph-flags-t" since="1.5.0"/>
- <keyword type="struct" name="hb_glyph_position_t" link="harfbuzz-hb-buffer.html#hb-glyph-position-t-struct"/>
+ <keyword type="struct" name="hb_glyph_position_t" link="harfbuzz-hb-buffer.html#hb-glyph-position-t"/>
<keyword type="enum" name="enum hb_buffer_content_type_t" link="harfbuzz-hb-buffer.html#hb-buffer-content-type-t"/>
<keyword type="enum" name="enum hb_buffer_flags_t" link="harfbuzz-hb-buffer.html#hb-buffer-flags-t" since="0.9.20"/>
<keyword type="enum" name="enum hb_buffer_cluster_level_t" link="harfbuzz-hb-buffer.html#hb-buffer-cluster-level-t" since="0.9.42"/>
- <keyword type="struct" name="hb_segment_properties_t" link="harfbuzz-hb-buffer.html#hb-segment-properties-t-struct"/>
+ <keyword type="struct" name="hb_segment_properties_t" link="harfbuzz-hb-buffer.html#hb-segment-properties-t"/>
<keyword type="enum" name="enum hb_buffer_serialize_format_t" link="harfbuzz-hb-buffer.html#hb-buffer-serialize-format-t" since="0.9.2"/>
<keyword type="enum" name="enum hb_buffer_serialize_flags_t" link="harfbuzz-hb-buffer.html#hb-buffer-serialize-flags-t" since="0.9.20"/>
<keyword type="enum" name="enum hb_buffer_diff_flags_t" link="harfbuzz-hb-buffer.html#hb-buffer-diff-flags-t"/>
@@ -235,6 +236,10 @@
<keyword type="function" name="hb_language_from_string ()" link="harfbuzz-hb-common.html#hb-language-from-string" since="0.9.2"/>
<keyword type="function" name="hb_language_to_string ()" link="harfbuzz-hb-common.html#hb-language-to-string" since="0.9.2"/>
<keyword type="function" name="hb_language_get_default ()" link="harfbuzz-hb-common.html#hb-language-get-default" since="0.9.2"/>
+ <keyword type="function" name="hb_feature_from_string ()" link="harfbuzz-hb-common.html#hb-feature-from-string" since="0.9.5"/>
+ <keyword type="function" name="hb_feature_to_string ()" link="harfbuzz-hb-common.html#hb-feature-to-string" since="0.9.5"/>
+ <keyword type="function" name="hb_variation_from_string ()" link="harfbuzz-hb-common.html#hb-variation-from-string" since="1.4.2"/>
+ <keyword type="function" name="hb_variation_to_string ()" link="harfbuzz-hb-common.html#hb-variation-to-string" since="1.4.2"/>
<keyword type="function" name="hb_destroy_func_t ()" link="harfbuzz-hb-common.html#hb-destroy-func-t"/>
<keyword type="macro" name="HB_TAG()" link="harfbuzz-hb-common.html#HB-TAG:CAPS"/>
<keyword type="macro" name="HB_UNTAG()" link="harfbuzz-hb-common.html#HB-UNTAG:CAPS"/>
@@ -248,16 +253,20 @@
<keyword type="typedef" name="hb_codepoint_t" link="harfbuzz-hb-common.html#hb-codepoint-t"/>
<keyword type="enum" name="enum hb_direction_t" link="harfbuzz-hb-common.html#hb-direction-t"/>
<keyword type="typedef" name="hb_language_t" link="harfbuzz-hb-common.html#hb-language-t"/>
+ <keyword type="struct" name="hb_feature_t" link="harfbuzz-hb-common.html#hb-feature-t"/>
+ <keyword type="struct" name="hb_variation_t" link="harfbuzz-hb-common.html#hb-variation-t" since="1.4.2"/>
<keyword type="typedef" name="hb_mask_t" link="harfbuzz-hb-common.html#hb-mask-t"/>
<keyword type="typedef" name="hb_position_t" link="harfbuzz-hb-common.html#hb-position-t"/>
<keyword type="typedef" name="hb_tag_t" link="harfbuzz-hb-common.html#hb-tag-t"/>
<keyword type="enum" name="enum hb_script_t" link="harfbuzz-hb-common.html#hb-script-t"/>
- <keyword type="struct" name="hb_user_data_key_t" link="harfbuzz-hb-common.html#hb-user-data-key-t-struct"/>
+ <keyword type="struct" name="hb_user_data_key_t" link="harfbuzz-hb-common.html#hb-user-data-key-t"/>
<keyword type="union" name="hb_var_int_t" link="harfbuzz-hb-common.html#hb-var-int-t"/>
<keyword type="macro" name="HB_TAG_NONE" link="harfbuzz-hb-common.html#HB-TAG-NONE:CAPS"/>
<keyword type="macro" name="HB_TAG_MAX" link="harfbuzz-hb-common.html#HB-TAG-MAX:CAPS"/>
<keyword type="macro" name="HB_TAG_MAX_SIGNED" link="harfbuzz-hb-common.html#HB-TAG-MAX-SIGNED:CAPS"/>
<keyword type="macro" name="HB_LANGUAGE_INVALID" link="harfbuzz-hb-common.html#HB-LANGUAGE-INVALID:CAPS"/>
+ <keyword type="macro" name="HB_FEATURE_GLOBAL_END" link="harfbuzz-hb-common.html#HB-FEATURE-GLOBAL-END:CAPS" since="2.0.0"/>
+ <keyword type="macro" name="HB_FEATURE_GLOBAL_START" link="harfbuzz-hb-common.html#HB-FEATURE-GLOBAL-START:CAPS" since="2.0.0"/>
<keyword type="function" name="hb_font_get_glyph_func_t ()" link="harfbuzz-hb-deprecated.html#hb-font-get-glyph-func-t" deprecated=""/>
<keyword type="function" name="hb_ot_layout_table_find_script ()" link="harfbuzz-hb-deprecated.html#hb-ot-layout-table-find-script"/>
<keyword type="function" name="hb_font_funcs_set_glyph_h_kerning_func ()" link="harfbuzz-hb-deprecated.html#hb-font-funcs-set-glyph-h-kerning-func" deprecated="2.0.0" since="0.9.2"/>
@@ -371,8 +380,6 @@
<keyword type="function" name="hb_font_set_ptem ()" link="harfbuzz-hb-font.html#hb-font-set-ptem" since="1.6.0"/>
<keyword type="function" name="hb_font_set_scale ()" link="harfbuzz-hb-font.html#hb-font-set-scale" since="0.9.2"/>
<keyword type="function" name="hb_font_set_user_data ()" link="harfbuzz-hb-font.html#hb-font-set-user-data" since="0.9.2"/>
- <keyword type="function" name="hb_variation_from_string ()" link="harfbuzz-hb-font.html#hb-variation-from-string" since="1.4.2"/>
- <keyword type="function" name="hb_variation_to_string ()" link="harfbuzz-hb-font.html#hb-variation-to-string" since="1.4.2"/>
<keyword type="function" name="hb_font_set_variations ()" link="harfbuzz-hb-font.html#hb-font-set-variations" since="1.4.2"/>
<keyword type="function" name="hb_font_set_var_coords_design ()" link="harfbuzz-hb-font.html#hb-font-set-var-coords-design" since="1.4.2"/>
<keyword type="function" name="hb_font_set_var_coords_normalized ()" link="harfbuzz-hb-font.html#hb-font-set-var-coords-normalized" since="1.4.2"/>
@@ -391,7 +398,6 @@
<keyword type="typedef" name="hb_font_get_glyph_v_advance_func_t" link="harfbuzz-hb-font.html#hb-font-get-glyph-v-advance-func-t"/>
<keyword type="typedef" name="hb_font_get_glyph_v_advances_func_t" link="harfbuzz-hb-font.html#hb-font-get-glyph-v-advances-func-t"/>
<keyword type="typedef" name="hb_font_get_glyph_v_origin_func_t" link="harfbuzz-hb-font.html#hb-font-get-glyph-v-origin-func-t"/>
- <keyword type="struct" name="hb_variation_t" link="harfbuzz-hb-font.html#hb-variation-t" since="1.4.2"/>
<keyword type="typedef" name="hb_font_t" link="harfbuzz-hb-font.html#hb-font-t"/>
<keyword type="typedef" name="hb_font_get_font_h_extents_func_t" link="harfbuzz-hb-font.html#hb-font-get-font-h-extents-func-t"/>
<keyword type="typedef" name="hb_font_get_font_v_extents_func_t" link="harfbuzz-hb-font.html#hb-font-get-font-v-extents-func-t"/>
@@ -453,14 +459,9 @@
<keyword type="function" name="hb_shape_plan_reference ()" link="harfbuzz-hb-shape-plan.html#hb-shape-plan-reference" since="0.9.7"/>
<keyword type="function" name="hb_shape_plan_set_user_data ()" link="harfbuzz-hb-shape-plan.html#hb-shape-plan-set-user-data" since="0.9.7"/>
<keyword type="typedef" name="hb_shape_plan_t" link="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"/>
- <keyword type="function" name="hb_feature_from_string ()" link="harfbuzz-hb-shape.html#hb-feature-from-string" since="0.9.5"/>
- <keyword type="function" name="hb_feature_to_string ()" link="harfbuzz-hb-shape.html#hb-feature-to-string" since="0.9.5"/>
<keyword type="function" name="hb_shape ()" link="harfbuzz-hb-shape.html#hb-shape" since="0.9.2"/>
<keyword type="function" name="hb_shape_full ()" link="harfbuzz-hb-shape.html#hb-shape-full" since="0.9.2"/>
<keyword type="function" name="hb_shape_list_shapers ()" link="harfbuzz-hb-shape.html#hb-shape-list-shapers" since="0.9.2"/>
- <keyword type="macro" name="HB_FEATURE_GLOBAL_END" link="harfbuzz-hb-shape.html#HB-FEATURE-GLOBAL-END:CAPS" since="2.0.0"/>
- <keyword type="macro" name="HB_FEATURE_GLOBAL_START" link="harfbuzz-hb-shape.html#HB-FEATURE-GLOBAL-START:CAPS" since="2.0.0"/>
- <keyword type="struct" name="hb_feature_t" link="harfbuzz-hb-shape.html#hb-feature-t-struct"/>
<keyword type="function" name="hb_unicode_combining_class ()" link="harfbuzz-hb-unicode.html#hb-unicode-combining-class" since="0.9.2"/>
<keyword type="function" name="hb_unicode_combining_class_func_t ()" link="harfbuzz-hb-unicode.html#hb-unicode-combining-class-func-t"/>
<keyword type="function" name="hb_unicode_compose ()" link="harfbuzz-hb-unicode.html#hb-unicode-compose" since="0.9.2"/>
@@ -584,9 +585,9 @@
<keyword type="macro" name="HB_OT_MATH_SCRIPT" link="harfbuzz-hb-ot-math.html#HB-OT-MATH-SCRIPT:CAPS"/>
<keyword type="enum" name="enum hb_ot_math_constant_t" link="harfbuzz-hb-ot-math.html#hb-ot-math-constant-t" since="1.3.3"/>
<keyword type="enum" name="enum hb_ot_math_kern_t" link="harfbuzz-hb-ot-math.html#hb-ot-math-kern-t" since="1.3.3"/>
- <keyword type="struct" name="hb_ot_math_glyph_variant_t" link="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t-struct"/>
+ <keyword type="struct" name="hb_ot_math_glyph_variant_t" link="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t" since="1.3.3"/>
<keyword type="enum" name="enum hb_ot_math_glyph_part_flags_t" link="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-flags-t" since="1.3.3"/>
- <keyword type="struct" name="hb_ot_math_glyph_part_t" link="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t-struct"/>
+ <keyword type="struct" name="hb_ot_math_glyph_part_t" link="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t" since="1.3.3"/>
<keyword type="function" name="hb_ot_name_list_names ()" link="harfbuzz-hb-ot-name.html#hb-ot-name-list-names" since="2.1.0"/>
<keyword type="function" name="hb_ot_name_get_utf16 ()" link="harfbuzz-hb-ot-name.html#hb-ot-name-get-utf16" since="2.1.0"/>
<keyword type="function" name="hb_ot_name_get_utf32 ()" link="harfbuzz-hb-ot-name.html#hb-ot-name-get-utf32" since="2.1.0"/>
@@ -639,72 +640,6 @@
<keyword type="function" name="hb_glib_script_from_script ()" link="harfbuzz-hb-glib.html#hb-glib-script-from-script"/>
<keyword type="function" name="hb_glib_script_to_script ()" link="harfbuzz-hb-glib.html#hb-glib-script-to-script"/>
<keyword type="function" name="hb_glib_blob_create ()" link="harfbuzz-hb-glib.html#hb-glib-blob-create" since="0.9.38"/>
- <keyword type="function" name="hb_gobject_blob_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-blob-get-type" since="0.9.2"/>
- <keyword type="function" name="hb_gobject_buffer_content_type_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-buffer-content-type-get-type"/>
- <keyword type="function" name="hb_gobject_buffer_diff_flags_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-buffer-diff-flags-get-type"/>
- <keyword type="function" name="hb_gobject_buffer_flags_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-buffer-flags-get-type"/>
- <keyword type="function" name="hb_gobject_buffer_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-buffer-get-type" since="0.9.2"/>
- <keyword type="function" name="hb_gobject_buffer_serialize_flags_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-buffer-serialize-flags-get-type"/>
- <keyword type="function" name="hb_gobject_buffer_serialize_format_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-buffer-serialize-format-get-type"/>
- <keyword type="function" name="hb_gobject_direction_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-direction-get-type"/>
- <keyword type="function" name="hb_gobject_face_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-face-get-type" since="0.9.2"/>
- <keyword type="function" name="hb_gobject_font_funcs_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-font-funcs-get-type" since="0.9.2"/>
- <keyword type="function" name="hb_gobject_font_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-font-get-type" since="0.9.2"/>
- <keyword type="function" name="hb_gobject_glyph_flags_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-glyph-flags-get-type"/>
- <keyword type="function" name="hb_gobject_map_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-map-get-type"/>
- <keyword type="function" name="hb_gobject_memory_mode_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-memory-mode-get-type"/>
- <keyword type="function" name="hb_gobject_ot_color_palette_flags_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-ot-color-palette-flags-get-type"/>
- <keyword type="function" name="hb_gobject_ot_layout_glyph_class_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-ot-layout-glyph-class-get-type"/>
- <keyword type="function" name="hb_gobject_ot_math_constant_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-ot-math-constant-get-type"/>
- <keyword type="function" name="hb_gobject_ot_math_glyph_part_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-ot-math-glyph-part-get-type"/>
- <keyword type="function" name="hb_gobject_ot_math_glyph_part_flags_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-ot-math-glyph-part-flags-get-type"/>
- <keyword type="function" name="hb_gobject_ot_math_glyph_variant_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-ot-math-glyph-variant-get-type"/>
- <keyword type="function" name="hb_gobject_ot_math_kern_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-ot-math-kern-get-type"/>
- <keyword type="function" name="hb_gobject_script_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-script-get-type"/>
- <keyword type="function" name="hb_gobject_shape_plan_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-shape-plan-get-type"/>
- <keyword type="function" name="hb_gobject_unicode_combining_class_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-unicode-combining-class-get-type"/>
- <keyword type="function" name="hb_gobject_unicode_funcs_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-unicode-funcs-get-type" since="0.9.2"/>
- <keyword type="function" name="hb_gobject_unicode_general_category_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-unicode-general-category-get-type"/>
- <keyword type="function" name="hb_gobject_buffer_cluster_level_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-buffer-cluster-level-get-type"/>
- <keyword type="function" name="hb_gobject_feature_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-feature-get-type"/>
- <keyword type="function" name="hb_gobject_glyph_info_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-glyph-info-get-type"/>
- <keyword type="function" name="hb_gobject_glyph_position_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-glyph-position-get-type"/>
- <keyword type="function" name="hb_gobject_segment_properties_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-segment-properties-get-type"/>
- <keyword type="function" name="hb_gobject_set_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-set-get-type"/>
- <keyword type="function" name="hb_gobject_user_data_key_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-user-data-key-get-type"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_BLOB" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BLOB:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_BUFFER" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_BUFFER_CONTENT_TYPE" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-CONTENT-TYPE:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_BUFFER_DIFF_FLAGS" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-DIFF-FLAGS:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_BUFFER_FLAGS" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-FLAGS:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FLAGS" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-SERIALIZE-FLAGS:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FORMAT" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-SERIALIZE-FORMAT:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_DIRECTION" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-DIRECTION:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_FACE" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FACE:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_FONT" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FONT:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_FONT_FUNCS" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FONT-FUNCS:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_GLYPH_FLAGS" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-GLYPH-FLAGS:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_MAP" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-MAP:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_MEMORY_MODE" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-MEMORY-MODE:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_OT_COLOR_PALETTE_FLAGS" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-COLOR-PALETTE-FLAGS:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_OT_LAYOUT_GLYPH_CLASS" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-LAYOUT-GLYPH-CLASS:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_OT_MATH_CONSTANT" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-CONSTANT:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-GLYPH-PART:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART_FLAGS" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-GLYPH-PART-FLAGS:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_OT_MATH_GLYPH_VARIANT" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-GLYPH-VARIANT:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_OT_MATH_KERN" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-KERN:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_SCRIPT" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SCRIPT:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_SHAPE_PLAN" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SHAPE-PLAN:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_UNICODE_COMBINING_CLASS" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-UNICODE-COMBINING-CLASS:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_UNICODE_FUNCS" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-UNICODE-FUNCS:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_UNICODE_GENERAL_CATEGORY" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-UNICODE-GENERAL-CATEGORY:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_BUFFER_CLUSTER_LEVEL" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-CLUSTER-LEVEL:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_FEATURE" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FEATURE:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_GLYPH_INFO" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-GLYPH-INFO:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_GLYPH_POSITION" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-GLYPH-POSITION:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_SEGMENT_PROPERTIES" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SEGMENT-PROPERTIES:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_SET" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SET:CAPS"/>
- <keyword type="macro" name="HB_GOBJECT_TYPE_USER_DATA_KEY" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-USER-DATA-KEY:CAPS"/>
<keyword type="function" name="hb_graphite2_face_get_gr_face ()" link="harfbuzz-hb-graphite2.html#hb-graphite2-face-get-gr-face"/>
<keyword type="macro" name="HB_GRAPHITE2_TAG_SILF" link="harfbuzz-hb-graphite2.html#HB-GRAPHITE2-TAG-SILF:CAPS"/>
<keyword type="function" name="hb_icu_get_unicode_funcs ()" link="harfbuzz-hb-icu.html#hb-icu-get-unicode-funcs"/>
@@ -726,6 +661,7 @@
<keyword type="constant" name="HB_BUFFER_FLAG_EOT" link="harfbuzz-hb-buffer.html#HB-BUFFER-FLAG-EOT:CAPS"/>
<keyword type="constant" name="HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES" link="harfbuzz-hb-buffer.html#HB-BUFFER-FLAG-PRESERVE-DEFAULT-IGNORABLES:CAPS"/>
<keyword type="constant" name="HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES" link="harfbuzz-hb-buffer.html#HB-BUFFER-FLAG-REMOVE-DEFAULT-IGNORABLES:CAPS"/>
+ <keyword type="constant" name="HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE" link="harfbuzz-hb-buffer.html#HB-BUFFER-FLAG-DO-NOT-INSERT-DOTTED-CIRCLE:CAPS"/>
<keyword type="constant" name="HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES" link="harfbuzz-hb-buffer.html#HB-BUFFER-CLUSTER-LEVEL-MONOTONE-GRAPHEMES:CAPS"/>
<keyword type="constant" name="HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS" link="harfbuzz-hb-buffer.html#HB-BUFFER-CLUSTER-LEVEL-MONOTONE-CHARACTERS:CAPS"/>
<keyword type="constant" name="HB_BUFFER_CLUSTER_LEVEL_CHARACTERS" link="harfbuzz-hb-buffer.html#HB-BUFFER-CLUSTER-LEVEL-CHARACTERS:CAPS"/>
@@ -754,155 +690,11 @@
<keyword type="constant" name="HB_DIRECTION_RTL" link="harfbuzz-hb-common.html#HB-DIRECTION-RTL:CAPS"/>
<keyword type="constant" name="HB_DIRECTION_TTB" link="harfbuzz-hb-common.html#HB-DIRECTION-TTB:CAPS"/>
<keyword type="constant" name="HB_DIRECTION_BTT" link="harfbuzz-hb-common.html#HB-DIRECTION-BTT:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_COMMON" link="harfbuzz-hb-common.html#HB-SCRIPT-COMMON:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_INHERITED" link="harfbuzz-hb-common.html#HB-SCRIPT-INHERITED:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_UNKNOWN" link="harfbuzz-hb-common.html#HB-SCRIPT-UNKNOWN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_ARABIC" link="harfbuzz-hb-common.html#HB-SCRIPT-ARABIC:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_ARMENIAN" link="harfbuzz-hb-common.html#HB-SCRIPT-ARMENIAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_BENGALI" link="harfbuzz-hb-common.html#HB-SCRIPT-BENGALI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_CYRILLIC" link="harfbuzz-hb-common.html#HB-SCRIPT-CYRILLIC:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_DEVANAGARI" link="harfbuzz-hb-common.html#HB-SCRIPT-DEVANAGARI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_GEORGIAN" link="harfbuzz-hb-common.html#HB-SCRIPT-GEORGIAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_GREEK" link="harfbuzz-hb-common.html#HB-SCRIPT-GREEK:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_GUJARATI" link="harfbuzz-hb-common.html#HB-SCRIPT-GUJARATI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_GURMUKHI" link="harfbuzz-hb-common.html#HB-SCRIPT-GURMUKHI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_HANGUL" link="harfbuzz-hb-common.html#HB-SCRIPT-HANGUL:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_HAN" link="harfbuzz-hb-common.html#HB-SCRIPT-HAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_HEBREW" link="harfbuzz-hb-common.html#HB-SCRIPT-HEBREW:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_HIRAGANA" link="harfbuzz-hb-common.html#HB-SCRIPT-HIRAGANA:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_KANNADA" link="harfbuzz-hb-common.html#HB-SCRIPT-KANNADA:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_KATAKANA" link="harfbuzz-hb-common.html#HB-SCRIPT-KATAKANA:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_LAO" link="harfbuzz-hb-common.html#HB-SCRIPT-LAO:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_LATIN" link="harfbuzz-hb-common.html#HB-SCRIPT-LATIN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_MALAYALAM" link="harfbuzz-hb-common.html#HB-SCRIPT-MALAYALAM:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_ORIYA" link="harfbuzz-hb-common.html#HB-SCRIPT-ORIYA:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_TAMIL" link="harfbuzz-hb-common.html#HB-SCRIPT-TAMIL:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_TELUGU" link="harfbuzz-hb-common.html#HB-SCRIPT-TELUGU:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_THAI" link="harfbuzz-hb-common.html#HB-SCRIPT-THAI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_TIBETAN" link="harfbuzz-hb-common.html#HB-SCRIPT-TIBETAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_BOPOMOFO" link="harfbuzz-hb-common.html#HB-SCRIPT-BOPOMOFO:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_BRAILLE" link="harfbuzz-hb-common.html#HB-SCRIPT-BRAILLE:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_CANADIAN_SYLLABICS" link="harfbuzz-hb-common.html#HB-SCRIPT-CANADIAN-SYLLABICS:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_CHEROKEE" link="harfbuzz-hb-common.html#HB-SCRIPT-CHEROKEE:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_ETHIOPIC" link="harfbuzz-hb-common.html#HB-SCRIPT-ETHIOPIC:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_KHMER" link="harfbuzz-hb-common.html#HB-SCRIPT-KHMER:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_MONGOLIAN" link="harfbuzz-hb-common.html#HB-SCRIPT-MONGOLIAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_MYANMAR" link="harfbuzz-hb-common.html#HB-SCRIPT-MYANMAR:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_OGHAM" link="harfbuzz-hb-common.html#HB-SCRIPT-OGHAM:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_RUNIC" link="harfbuzz-hb-common.html#HB-SCRIPT-RUNIC:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_SINHALA" link="harfbuzz-hb-common.html#HB-SCRIPT-SINHALA:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_SYRIAC" link="harfbuzz-hb-common.html#HB-SCRIPT-SYRIAC:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_THAANA" link="harfbuzz-hb-common.html#HB-SCRIPT-THAANA:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_YI" link="harfbuzz-hb-common.html#HB-SCRIPT-YI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_DESERET" link="harfbuzz-hb-common.html#HB-SCRIPT-DESERET:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_GOTHIC" link="harfbuzz-hb-common.html#HB-SCRIPT-GOTHIC:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_OLD_ITALIC" link="harfbuzz-hb-common.html#HB-SCRIPT-OLD-ITALIC:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_BUHID" link="harfbuzz-hb-common.html#HB-SCRIPT-BUHID:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_HANUNOO" link="harfbuzz-hb-common.html#HB-SCRIPT-HANUNOO:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_TAGALOG" link="harfbuzz-hb-common.html#HB-SCRIPT-TAGALOG:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_TAGBANWA" link="harfbuzz-hb-common.html#HB-SCRIPT-TAGBANWA:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_CYPRIOT" link="harfbuzz-hb-common.html#HB-SCRIPT-CYPRIOT:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_LIMBU" link="harfbuzz-hb-common.html#HB-SCRIPT-LIMBU:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_LINEAR_B" link="harfbuzz-hb-common.html#HB-SCRIPT-LINEAR-B:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_OSMANYA" link="harfbuzz-hb-common.html#HB-SCRIPT-OSMANYA:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_SHAVIAN" link="harfbuzz-hb-common.html#HB-SCRIPT-SHAVIAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_TAI_LE" link="harfbuzz-hb-common.html#HB-SCRIPT-TAI-LE:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_UGARITIC" link="harfbuzz-hb-common.html#HB-SCRIPT-UGARITIC:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_BUGINESE" link="harfbuzz-hb-common.html#HB-SCRIPT-BUGINESE:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_COPTIC" link="harfbuzz-hb-common.html#HB-SCRIPT-COPTIC:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_GLAGOLITIC" link="harfbuzz-hb-common.html#HB-SCRIPT-GLAGOLITIC:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_KHAROSHTHI" link="harfbuzz-hb-common.html#HB-SCRIPT-KHAROSHTHI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_NEW_TAI_LUE" link="harfbuzz-hb-common.html#HB-SCRIPT-NEW-TAI-LUE:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_OLD_PERSIAN" link="harfbuzz-hb-common.html#HB-SCRIPT-OLD-PERSIAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_SYLOTI_NAGRI" link="harfbuzz-hb-common.html#HB-SCRIPT-SYLOTI-NAGRI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_TIFINAGH" link="harfbuzz-hb-common.html#HB-SCRIPT-TIFINAGH:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_BALINESE" link="harfbuzz-hb-common.html#HB-SCRIPT-BALINESE:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_CUNEIFORM" link="harfbuzz-hb-common.html#HB-SCRIPT-CUNEIFORM:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_NKO" link="harfbuzz-hb-common.html#HB-SCRIPT-NKO:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_PHAGS_PA" link="harfbuzz-hb-common.html#HB-SCRIPT-PHAGS-PA:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_PHOENICIAN" link="harfbuzz-hb-common.html#HB-SCRIPT-PHOENICIAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_CARIAN" link="harfbuzz-hb-common.html#HB-SCRIPT-CARIAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_CHAM" link="harfbuzz-hb-common.html#HB-SCRIPT-CHAM:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_KAYAH_LI" link="harfbuzz-hb-common.html#HB-SCRIPT-KAYAH-LI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_LEPCHA" link="harfbuzz-hb-common.html#HB-SCRIPT-LEPCHA:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_LYCIAN" link="harfbuzz-hb-common.html#HB-SCRIPT-LYCIAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_LYDIAN" link="harfbuzz-hb-common.html#HB-SCRIPT-LYDIAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_OL_CHIKI" link="harfbuzz-hb-common.html#HB-SCRIPT-OL-CHIKI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_REJANG" link="harfbuzz-hb-common.html#HB-SCRIPT-REJANG:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_SAURASHTRA" link="harfbuzz-hb-common.html#HB-SCRIPT-SAURASHTRA:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_SUNDANESE" link="harfbuzz-hb-common.html#HB-SCRIPT-SUNDANESE:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_VAI" link="harfbuzz-hb-common.html#HB-SCRIPT-VAI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_AVESTAN" link="harfbuzz-hb-common.html#HB-SCRIPT-AVESTAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_BAMUM" link="harfbuzz-hb-common.html#HB-SCRIPT-BAMUM:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_EGYPTIAN_HIEROGLYPHS" link="harfbuzz-hb-common.html#HB-SCRIPT-EGYPTIAN-HIEROGLYPHS:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_IMPERIAL_ARAMAIC" link="harfbuzz-hb-common.html#HB-SCRIPT-IMPERIAL-ARAMAIC:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_INSCRIPTIONAL_PAHLAVI" link="harfbuzz-hb-common.html#HB-SCRIPT-INSCRIPTIONAL-PAHLAVI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_INSCRIPTIONAL_PARTHIAN" link="harfbuzz-hb-common.html#HB-SCRIPT-INSCRIPTIONAL-PARTHIAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_JAVANESE" link="harfbuzz-hb-common.html#HB-SCRIPT-JAVANESE:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_KAITHI" link="harfbuzz-hb-common.html#HB-SCRIPT-KAITHI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_LISU" link="harfbuzz-hb-common.html#HB-SCRIPT-LISU:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_MEETEI_MAYEK" link="harfbuzz-hb-common.html#HB-SCRIPT-MEETEI-MAYEK:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_OLD_SOUTH_ARABIAN" link="harfbuzz-hb-common.html#HB-SCRIPT-OLD-SOUTH-ARABIAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_OLD_TURKIC" link="harfbuzz-hb-common.html#HB-SCRIPT-OLD-TURKIC:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_SAMARITAN" link="harfbuzz-hb-common.html#HB-SCRIPT-SAMARITAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_TAI_THAM" link="harfbuzz-hb-common.html#HB-SCRIPT-TAI-THAM:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_TAI_VIET" link="harfbuzz-hb-common.html#HB-SCRIPT-TAI-VIET:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_BATAK" link="harfbuzz-hb-common.html#HB-SCRIPT-BATAK:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_BRAHMI" link="harfbuzz-hb-common.html#HB-SCRIPT-BRAHMI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_MANDAIC" link="harfbuzz-hb-common.html#HB-SCRIPT-MANDAIC:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_CHAKMA" link="harfbuzz-hb-common.html#HB-SCRIPT-CHAKMA:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_MEROITIC_CURSIVE" link="harfbuzz-hb-common.html#HB-SCRIPT-MEROITIC-CURSIVE:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_MEROITIC_HIEROGLYPHS" link="harfbuzz-hb-common.html#HB-SCRIPT-MEROITIC-HIEROGLYPHS:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_MIAO" link="harfbuzz-hb-common.html#HB-SCRIPT-MIAO:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_SHARADA" link="harfbuzz-hb-common.html#HB-SCRIPT-SHARADA:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_SORA_SOMPENG" link="harfbuzz-hb-common.html#HB-SCRIPT-SORA-SOMPENG:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_TAKRI" link="harfbuzz-hb-common.html#HB-SCRIPT-TAKRI:CAPS"/>
<keyword type="constant" name="HB_SCRIPT_BASSA_VAH" link="harfbuzz-hb-common.html#HB-SCRIPT-BASSA-VAH:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_CAUCASIAN_ALBANIAN" link="harfbuzz-hb-common.html#HB-SCRIPT-CAUCASIAN-ALBANIAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_DUPLOYAN" link="harfbuzz-hb-common.html#HB-SCRIPT-DUPLOYAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_ELBASAN" link="harfbuzz-hb-common.html#HB-SCRIPT-ELBASAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_GRANTHA" link="harfbuzz-hb-common.html#HB-SCRIPT-GRANTHA:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_KHOJKI" link="harfbuzz-hb-common.html#HB-SCRIPT-KHOJKI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_KHUDAWADI" link="harfbuzz-hb-common.html#HB-SCRIPT-KHUDAWADI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_LINEAR_A" link="harfbuzz-hb-common.html#HB-SCRIPT-LINEAR-A:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_MAHAJANI" link="harfbuzz-hb-common.html#HB-SCRIPT-MAHAJANI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_MANICHAEAN" link="harfbuzz-hb-common.html#HB-SCRIPT-MANICHAEAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_MENDE_KIKAKUI" link="harfbuzz-hb-common.html#HB-SCRIPT-MENDE-KIKAKUI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_MODI" link="harfbuzz-hb-common.html#HB-SCRIPT-MODI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_MRO" link="harfbuzz-hb-common.html#HB-SCRIPT-MRO:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_NABATAEAN" link="harfbuzz-hb-common.html#HB-SCRIPT-NABATAEAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_OLD_NORTH_ARABIAN" link="harfbuzz-hb-common.html#HB-SCRIPT-OLD-NORTH-ARABIAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_OLD_PERMIC" link="harfbuzz-hb-common.html#HB-SCRIPT-OLD-PERMIC:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_PAHAWH_HMONG" link="harfbuzz-hb-common.html#HB-SCRIPT-PAHAWH-HMONG:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_PALMYRENE" link="harfbuzz-hb-common.html#HB-SCRIPT-PALMYRENE:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_PAU_CIN_HAU" link="harfbuzz-hb-common.html#HB-SCRIPT-PAU-CIN-HAU:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_PSALTER_PAHLAVI" link="harfbuzz-hb-common.html#HB-SCRIPT-PSALTER-PAHLAVI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_SIDDHAM" link="harfbuzz-hb-common.html#HB-SCRIPT-SIDDHAM:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_TIRHUTA" link="harfbuzz-hb-common.html#HB-SCRIPT-TIRHUTA:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_WARANG_CITI" link="harfbuzz-hb-common.html#HB-SCRIPT-WARANG-CITI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_AHOM" link="harfbuzz-hb-common.html#HB-SCRIPT-AHOM:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_ANATOLIAN_HIEROGLYPHS" link="harfbuzz-hb-common.html#HB-SCRIPT-ANATOLIAN-HIEROGLYPHS:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_HATRAN" link="harfbuzz-hb-common.html#HB-SCRIPT-HATRAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_MULTANI" link="harfbuzz-hb-common.html#HB-SCRIPT-MULTANI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_OLD_HUNGARIAN" link="harfbuzz-hb-common.html#HB-SCRIPT-OLD-HUNGARIAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_SIGNWRITING" link="harfbuzz-hb-common.html#HB-SCRIPT-SIGNWRITING:CAPS"/>
<keyword type="constant" name="HB_SCRIPT_ADLAM" link="harfbuzz-hb-common.html#HB-SCRIPT-ADLAM:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_BHAIKSUKI" link="harfbuzz-hb-common.html#HB-SCRIPT-BHAIKSUKI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_MARCHEN" link="harfbuzz-hb-common.html#HB-SCRIPT-MARCHEN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_OSAGE" link="harfbuzz-hb-common.html#HB-SCRIPT-OSAGE:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_TANGUT" link="harfbuzz-hb-common.html#HB-SCRIPT-TANGUT:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_NEWA" link="harfbuzz-hb-common.html#HB-SCRIPT-NEWA:CAPS"/>
<keyword type="constant" name="HB_SCRIPT_MASARAM_GONDI" link="harfbuzz-hb-common.html#HB-SCRIPT-MASARAM-GONDI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_NUSHU" link="harfbuzz-hb-common.html#HB-SCRIPT-NUSHU:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_SOYOMBO" link="harfbuzz-hb-common.html#HB-SCRIPT-SOYOMBO:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_ZANABAZAR_SQUARE" link="harfbuzz-hb-common.html#HB-SCRIPT-ZANABAZAR-SQUARE:CAPS"/>
<keyword type="constant" name="HB_SCRIPT_DOGRA" link="harfbuzz-hb-common.html#HB-SCRIPT-DOGRA:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_GUNJALA_GONDI" link="harfbuzz-hb-common.html#HB-SCRIPT-GUNJALA-GONDI:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_HANIFI_ROHINGYA" link="harfbuzz-hb-common.html#HB-SCRIPT-HANIFI-ROHINGYA:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_MAKASAR" link="harfbuzz-hb-common.html#HB-SCRIPT-MAKASAR:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_MEDEFAIDRIN" link="harfbuzz-hb-common.html#HB-SCRIPT-MEDEFAIDRIN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_OLD_SOGDIAN" link="harfbuzz-hb-common.html#HB-SCRIPT-OLD-SOGDIAN:CAPS"/>
- <keyword type="constant" name="HB_SCRIPT_SOGDIAN" link="harfbuzz-hb-common.html#HB-SCRIPT-SOGDIAN:CAPS"/>
+ <keyword type="constant" name="HB_SCRIPT_ELYMAIC" link="harfbuzz-hb-common.html#HB-SCRIPT-ELYMAIC:CAPS"/>
<keyword type="constant" name="HB_SCRIPT_INVALID" link="harfbuzz-hb-common.html#HB-SCRIPT-INVALID:CAPS"/>
<keyword type="constant" name="_HB_SCRIPT_MAX_VALUE" link="harfbuzz-hb-common.html#HB-SCRIPT-MAX-VALUE:CAPS"/>
<keyword type="constant" name="_HB_SCRIPT_MAX_VALUE_SIGNED" link="harfbuzz-hb-common.html#HB-SCRIPT-MAX-VALUE-SIGNED:CAPS"/>
@@ -1357,12 +1149,12 @@
<keyword type="constant" name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_CJK_ROMAN" link="harfbuzz-hb-aat-layout.html#HB-AAT-LAYOUT-FEATURE-SELECTOR-DEFAULT-CJK-ROMAN:CAPS"/>
<keyword type="constant" name="HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_CJK_ROMAN" link="harfbuzz-hb-aat-layout.html#HB-AAT-LAYOUT-FEATURE-SELECTOR-FULL-WIDTH-CJK-ROMAN:CAPS"/>
<keyword type="constant" name="_HB_AAT_LAYOUT_FEATURE_SELECTOR_MAX_VALUE" link="harfbuzz-hb-aat-layout.html#HB-AAT-LAYOUT-FEATURE-SELECTOR-MAX-VALUE:CAPS"/>
- <keyword type="member" name="hb-glyph-position-t-struct.x-advance" link="harfbuzz-hb-buffer.html#hb-glyph-position-t-struct.x-advance"/>
- <keyword type="member" name="hb-glyph-position-t-struct.y-advance" link="harfbuzz-hb-buffer.html#hb-glyph-position-t-struct.y-advance"/>
- <keyword type="member" name="hb-glyph-position-t-struct.x-offset" link="harfbuzz-hb-buffer.html#hb-glyph-position-t-struct.x-offset"/>
- <keyword type="member" name="hb-glyph-position-t-struct.y-offset" link="harfbuzz-hb-buffer.html#hb-glyph-position-t-struct.y-offset"/>
- <keyword type="member" name="hb-segment-properties-t-struct.direction" link="harfbuzz-hb-buffer.html#hb-segment-properties-t-struct.direction"/>
- <keyword type="member" name="hb-segment-properties-t-struct.script" link="harfbuzz-hb-buffer.html#hb-segment-properties-t-struct.script"/>
- <keyword type="member" name="hb-segment-properties-t-struct.language" link="harfbuzz-hb-buffer.html#hb-segment-properties-t-struct.language"/>
+ <keyword type="member" name="hb-glyph-position-t.x-advance" link="harfbuzz-hb-buffer.html#hb-glyph-position-t.x-advance"/>
+ <keyword type="member" name="hb-glyph-position-t.y-advance" link="harfbuzz-hb-buffer.html#hb-glyph-position-t.y-advance"/>
+ <keyword type="member" name="hb-glyph-position-t.x-offset" link="harfbuzz-hb-buffer.html#hb-glyph-position-t.x-offset"/>
+ <keyword type="member" name="hb-glyph-position-t.y-offset" link="harfbuzz-hb-buffer.html#hb-glyph-position-t.y-offset"/>
+ <keyword type="member" name="hb-segment-properties-t.direction" link="harfbuzz-hb-buffer.html#hb-segment-properties-t.direction"/>
+ <keyword type="member" name="hb-segment-properties-t.script" link="harfbuzz-hb-buffer.html#hb-segment-properties-t.script"/>
+ <keyword type="member" name="hb-segment-properties-t.language" link="harfbuzz-hb-buffer.html#hb-segment-properties-t.language"/>
</functions>
</book>
diff --git a/docs/html/home.png b/docs/html/home.png
index c989d46..9346b33 100644
--- a/docs/html/home.png
+++ b/docs/html/home.png
Binary files differ
diff --git a/docs/html/index.html b/docs/html/index.html
index 7d9e404..c2fcb4c 100644
--- a/docs/html/index.html
+++ b/docs/html/index.html
@@ -3,11 +3,11 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>HarfBuzz Manual: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<meta name="description" content="HarfBuzz HarfBuzz is an OpenType text shaping engine. Using the HarfBuzz library allows programs to convert a sequence of Unicode input into properly formatted and positioned glyph output—for any writing system and language. The canonical source-code tree is available at github.com/harfbuzz/harfbuzz and is also available at cgit.freedesktop.org/harfbuzz. See for release tarballs.">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="next" href="pt01.html" title="Part I. User's manual">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -204,46 +204,11 @@
</dt>
</dl></dd>
<dt><span class="index"><a href="api-index-full.html">API Index</a></span></dt>
-<dt><span class="index"><a href="deprecated-api-index.html">Index of deprecated API</a></span></dt>
-<dt><span class="index"><a href="api-index-2-1-0.html">Index of new symbols in 2.1.0</a></span></dt>
-<dt><span class="index"><a href="api-index-2-0-0.html">Index of new symbols in 2.0.0</a></span></dt>
-<dt><span class="index"><a href="api-index-1-9-0.html">Index of new symbols in 1.9.0</a></span></dt>
-<dt><span class="index"><a href="api-index-1-8-6.html">Index of new symbols in 1.8.6</a></span></dt>
-<dt><span class="index"><a href="api-index-1-8-5.html">Index of new symbols in 1.8.5</a></span></dt>
-<dt><span class="index"><a href="api-index-1-8-1.html">Index of new symbols in 1.8.1</a></span></dt>
-<dt><span class="index"><a href="api-index-1-8-0.html">Index of new symbols in 1.8.0</a></span></dt>
-<dt><span class="index"><a href="api-index-1-7-7.html">Index of new symbols in 1.7.7</a></span></dt>
-<dt><span class="index"><a href="api-index-1-7-5.html">Index of new symbols in 1.7.5</a></span></dt>
-<dt><span class="index"><a href="api-index-1-6-0.html">Index of new symbols in 1.6.0</a></span></dt>
-<dt><span class="index"><a href="api-index-1-5-0.html">Index of new symbols in 1.5.0</a></span></dt>
-<dt><span class="index"><a href="api-index-1-4-3.html">Index of new symbols in 1.4.3</a></span></dt>
-<dt><span class="index"><a href="api-index-1-4-2.html">Index of new symbols in 1.4.2</a></span></dt>
-<dt><span class="index"><a href="api-index-1-4-0.html">Index of new symbols in 1.4.0</a></span></dt>
-<dt><span class="index"><a href="api-index-1-3-3.html">Index of new symbols in 1.3.3</a></span></dt>
-<dt><span class="index"><a href="api-index-1-2-3.html">Index of new symbols in 1.2.3</a></span></dt>
-<dt><span class="index"><a href="api-index-1-1-3.html">Index of new symbols in 1.1.3</a></span></dt>
-<dt><span class="index"><a href="api-index-1-1-2.html">Index of new symbols in 1.1.2</a></span></dt>
-<dt><span class="index"><a href="api-index-1-0-5.html">Index of new symbols in 1.0.5</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-42.html">Index of new symbols in 0.9.42</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-41.html">Index of new symbols in 0.9.41</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-39.html">Index of new symbols in 0.9.39</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-38.html">Index of new symbols in 0.9.38</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-31.html">Index of new symbols in 0.9.31</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-30.html">Index of new symbols in 0.9.30</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-28.html">Index of new symbols in 0.9.28</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-22.html">Index of new symbols in 0.9.22</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-20.html">Index of new symbols in 0.9.20</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-11.html">Index of new symbols in 0.9.11</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-10.html">Index of new symbols in 0.9.10</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-8.html">Index of new symbols in 0.9.8</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-7.html">Index of new symbols in 0.9.7</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-5.html">Index of new symbols in 0.9.5</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-2.html">Index of new symbols in 0.9.2</a></span></dt>
<dt><span class="glossary"><a href="annotation-glossary.html">Annotation Glossary</a></span></dt>
</dl></dd>
</dl></div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/install-harfbuzz.html b/docs/html/install-harfbuzz.html
index 940cf1a..61dea5e 100644
--- a/docs/html/install-harfbuzz.html
+++ b/docs/html/install-harfbuzz.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Installing HarfBuzz: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="pt01.html" title="Part I. User's manual">
<link rel="prev" href="why-is-it-called-harfbuzz.html" title="Why is it called HarfBuzz?">
<link rel="next" href="building.html" title="Building HarfBuzz">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -65,6 +65,6 @@
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/left-insensitive.png b/docs/html/left-insensitive.png
index b1148fb..3269393 100644
--- a/docs/html/left-insensitive.png
+++ b/docs/html/left-insensitive.png
Binary files differ
diff --git a/docs/html/left.png b/docs/html/left.png
index c164913..2abde03 100644
--- a/docs/html/left.png
+++ b/docs/html/left.png
Binary files differ
diff --git a/docs/html/level-2.html b/docs/html/level-2.html
index 3e67349..a30f6f6 100644
--- a/docs/html/level-2.html
+++ b/docs/html/level-2.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Level 2: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="clusters.html" title="Clusters">
<link rel="prev" href="the-distinction-between-levels-0-and-1.html" title="The distinction between levels 0 and 1">
<link rel="next" href="shaping-and-shape-plans.html" title="Shaping and shape plans">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -171,7 +171,7 @@
<p>
There may be other problems encountered with ligatures under
level 2, such as if the direction of the text is forced to
- opposite of its natural direction (for example, Arabic text
+ the opposite of its natural direction (for example, Arabic text
that is forced into left-to-right directionality). But,
generally speaking, these other scenarios are minor corner
cases that are too obscure for most client programs to need to
@@ -180,6 +180,6 @@
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/opentype-shaping-models.html b/docs/html/opentype-shaping-models.html
index 46b9e2b..01375b1 100644
--- a/docs/html/opentype-shaping-models.html
+++ b/docs/html/opentype-shaping-models.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>OpenType shaping models: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="shaping-concepts.html" title="Shaping concepts">
<link rel="prev" href="text-runs.html" title="Text runs">
<link rel="next" href="graphite-shaping.html" title="Graphite shaping">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -95,6 +95,6 @@
</ul></div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/plans-and-caching.html b/docs/html/plans-and-caching.html
index 5d81872..7407f1e 100644
--- a/docs/html/plans-and-caching.html
+++ b/docs/html/plans-and-caching.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Plans and caching: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="shaping-and-shape-plans.html" title="Shaping and shape plans">
<link rel="prev" href="shaping-and-shape-plans.html" title="Shaping and shape plans">
<link rel="next" href="pt02.html" title="Part II. Reference manual">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -26,6 +26,6 @@
</p>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/pt01.html b/docs/html/pt01.html
index 2aee80e..90e6f93 100644
--- a/docs/html/pt01.html
+++ b/docs/html/pt01.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Part I. User's manual: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="index.html" title="HarfBuzz Manual">
<link rel="prev" href="index.html" title="HarfBuzz Manual">
<link rel="next" href="what-is-harfbuzz.html" title="What is HarfBuzz?">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -108,6 +108,6 @@
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/pt02.html b/docs/html/pt02.html
index 2dd2ac9..33add13 100644
--- a/docs/html/pt02.html
+++ b/docs/html/pt02.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Part II. Reference manual: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="index.html" title="HarfBuzz Manual">
<link rel="prev" href="plans-and-caching.html" title="Plans and caching">
<link rel="next" href="ch09.html" title="Core API">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -24,7 +24,7 @@
<div><h1 class="title">
<a name="id-1.3"></a>Part II. Reference manual</h1></div>
<div><p class="releaseinfo">
- This document is for HarfBuzz 2.3.1
+ This document is for HarfBuzz 2.4.0
.
</p></div>
@@ -124,41 +124,6 @@
</dt>
</dl></dd>
<dt><span class="index"><a href="api-index-full.html">API Index</a></span></dt>
-<dt><span class="index"><a href="deprecated-api-index.html">Index of deprecated API</a></span></dt>
-<dt><span class="index"><a href="api-index-2-1-0.html">Index of new symbols in 2.1.0</a></span></dt>
-<dt><span class="index"><a href="api-index-2-0-0.html">Index of new symbols in 2.0.0</a></span></dt>
-<dt><span class="index"><a href="api-index-1-9-0.html">Index of new symbols in 1.9.0</a></span></dt>
-<dt><span class="index"><a href="api-index-1-8-6.html">Index of new symbols in 1.8.6</a></span></dt>
-<dt><span class="index"><a href="api-index-1-8-5.html">Index of new symbols in 1.8.5</a></span></dt>
-<dt><span class="index"><a href="api-index-1-8-1.html">Index of new symbols in 1.8.1</a></span></dt>
-<dt><span class="index"><a href="api-index-1-8-0.html">Index of new symbols in 1.8.0</a></span></dt>
-<dt><span class="index"><a href="api-index-1-7-7.html">Index of new symbols in 1.7.7</a></span></dt>
-<dt><span class="index"><a href="api-index-1-7-5.html">Index of new symbols in 1.7.5</a></span></dt>
-<dt><span class="index"><a href="api-index-1-6-0.html">Index of new symbols in 1.6.0</a></span></dt>
-<dt><span class="index"><a href="api-index-1-5-0.html">Index of new symbols in 1.5.0</a></span></dt>
-<dt><span class="index"><a href="api-index-1-4-3.html">Index of new symbols in 1.4.3</a></span></dt>
-<dt><span class="index"><a href="api-index-1-4-2.html">Index of new symbols in 1.4.2</a></span></dt>
-<dt><span class="index"><a href="api-index-1-4-0.html">Index of new symbols in 1.4.0</a></span></dt>
-<dt><span class="index"><a href="api-index-1-3-3.html">Index of new symbols in 1.3.3</a></span></dt>
-<dt><span class="index"><a href="api-index-1-2-3.html">Index of new symbols in 1.2.3</a></span></dt>
-<dt><span class="index"><a href="api-index-1-1-3.html">Index of new symbols in 1.1.3</a></span></dt>
-<dt><span class="index"><a href="api-index-1-1-2.html">Index of new symbols in 1.1.2</a></span></dt>
-<dt><span class="index"><a href="api-index-1-0-5.html">Index of new symbols in 1.0.5</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-42.html">Index of new symbols in 0.9.42</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-41.html">Index of new symbols in 0.9.41</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-39.html">Index of new symbols in 0.9.39</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-38.html">Index of new symbols in 0.9.38</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-31.html">Index of new symbols in 0.9.31</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-30.html">Index of new symbols in 0.9.30</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-28.html">Index of new symbols in 0.9.28</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-22.html">Index of new symbols in 0.9.22</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-20.html">Index of new symbols in 0.9.20</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-11.html">Index of new symbols in 0.9.11</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-10.html">Index of new symbols in 0.9.10</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-8.html">Index of new symbols in 0.9.8</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-7.html">Index of new symbols in 0.9.7</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-5.html">Index of new symbols in 0.9.5</a></span></dt>
-<dt><span class="index"><a href="api-index-0-9-2.html">Index of new symbols in 0.9.2</a></span></dt>
<dt><span class="glossary"><a href="annotation-glossary.html">Annotation Glossary</a></span></dt>
</dl>
</div>
@@ -191,6 +156,6 @@
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/reordering-in-levels-0-and-1.html b/docs/html/reordering-in-levels-0-and-1.html
index 2a390b7..4546454 100644
--- a/docs/html/reordering-in-levels-0-and-1.html
+++ b/docs/html/reordering-in-levels-0-and-1.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Reordering in levels 0 and 1: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="clusters.html" title="Clusters">
<link rel="prev" href="a-clustering-example-for-levels-0-and-1.html" title="A clustering example for levels 0 and 1">
<link rel="next" href="the-distinction-between-levels-0-and-1.html" title="The distinction between levels 0 and 1">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -59,6 +59,6 @@
</p>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/right-insensitive.png b/docs/html/right-insensitive.png
index c1efa27..4c95785 100644
--- a/docs/html/right-insensitive.png
+++ b/docs/html/right-insensitive.png
Binary files differ
diff --git a/docs/html/right.png b/docs/html/right.png
index 83361a6..76260ec 100644
--- a/docs/html/right.png
+++ b/docs/html/right.png
Binary files differ
diff --git a/docs/html/setting-buffer-properties.html b/docs/html/setting-buffer-properties.html
index 266dfd7..e35cf7a 100644
--- a/docs/html/setting-buffer-properties.html
+++ b/docs/html/setting-buffer-properties.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Setting buffer properties: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="buffers-language-script-and-direction.html" title="Buffers, language, script and direction">
<link rel="prev" href="adding-text-to-the-buffer.html" title="Adding text to the buffer">
<link rel="next" href="what-about-the-other-scripts.html" title="What about the other scripts?">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -26,6 +26,6 @@
</p>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/shaping-and-shape-plans.html b/docs/html/shaping-and-shape-plans.html
index 4aacb0f..2831034 100644
--- a/docs/html/shaping-and-shape-plans.html
+++ b/docs/html/shaping-and-shape-plans.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Shaping and shape plans: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="pt01.html" title="Part I. User's manual">
<link rel="prev" href="level-2.html" title="Level 2">
<link rel="next" href="plans-and-caching.html" title="Plans and caching">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -34,6 +34,6 @@
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/shaping-concepts.html b/docs/html/shaping-concepts.html
index bfa6a41..90014e1 100644
--- a/docs/html/shaping-concepts.html
+++ b/docs/html/shaping-concepts.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Shaping concepts: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="pt01.html" title="Part I. User's manual">
<link rel="prev" href="ch03s03.html" title="A simple shaping example">
<link rel="next" href="complex-scripts.html" title="Complex scripts">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -64,6 +64,6 @@
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/shaping-operations.html b/docs/html/shaping-operations.html
index 9e6ff5e..a18b3cd 100644
--- a/docs/html/shaping-operations.html
+++ b/docs/html/shaping-operations.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Shaping operations: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="shaping-concepts.html" title="Shaping concepts">
<link rel="prev" href="complex-scripts.html" title="Complex scripts">
<link rel="next" href="unicode-character-categories.html" title="Unicode character categories">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -93,6 +93,6 @@
</ul></div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/style.css b/docs/html/style.css
index 3675420..4be4ede 100644
--- a/docs/html/style.css
+++ b/docs/html/style.css
@@ -30,6 +30,10 @@ body
vertical-align: top;
}
+span.nowrap {
+ white-space: nowrap;
+}
+
div.gallery-float
{
float: left;
diff --git a/docs/html/text-runs.html b/docs/html/text-runs.html
index 26804d3..62bcc5a 100644
--- a/docs/html/text-runs.html
+++ b/docs/html/text-runs.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Text runs: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="shaping-concepts.html" title="Shaping concepts">
<link rel="prev" href="unicode-character-categories.html" title="Unicode character categories">
<link rel="next" href="opentype-shaping-models.html" title="OpenType shaping models">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -42,6 +42,6 @@
</p>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/the-distinction-between-levels-0-and-1.html b/docs/html/the-distinction-between-levels-0-and-1.html
index cbb7afe..c22fe82 100644
--- a/docs/html/the-distinction-between-levels-0-and-1.html
+++ b/docs/html/the-distinction-between-levels-0-and-1.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>The distinction between levels 0 and 1: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="clusters.html" title="Clusters">
<link rel="prev" href="reordering-in-levels-0-and-1.html" title="Reordering in levels 0 and 1">
<link rel="next" href="level-2.html" title="Level 2">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -60,7 +60,7 @@
</p>
<p>
But this initial cluster-merging behavior makes it impossible
- client programs to implement some features (such as to
+ for client programs to implement some features (such as to
color diacritic marks differently from their base
characters). That is why, in level 1, HarfBuzz does not perform
the initial merging step.
@@ -101,6 +101,6 @@
</p>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/unicode-character-categories.html b/docs/html/unicode-character-categories.html
index 2b97961..9328e35 100644
--- a/docs/html/unicode-character-categories.html
+++ b/docs/html/unicode-character-categories.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Unicode character categories: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="shaping-concepts.html" title="Shaping concepts">
<link rel="prev" href="shaping-operations.html" title="Shaping operations">
<link rel="next" href="text-runs.html" title="Text runs">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -74,6 +74,6 @@
</p>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/up-insensitive.png b/docs/html/up-insensitive.png
index 13e1a4f..f404986 100644
--- a/docs/html/up-insensitive.png
+++ b/docs/html/up-insensitive.png
Binary files differ
diff --git a/docs/html/up.png b/docs/html/up.png
index 67a9054..80b4b37 100644
--- a/docs/html/up.png
+++ b/docs/html/up.png
Binary files differ
diff --git a/docs/html/using-harfbuzzs-native-opentype-implementation.html b/docs/html/using-harfbuzzs-native-opentype-implementation.html
index 71cda2c..1ee3f3e 100644
--- a/docs/html/using-harfbuzzs-native-opentype-implementation.html
+++ b/docs/html/using-harfbuzzs-native-opentype-implementation.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Using HarfBuzz's native OpenType implementation: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="fonts-and-faces.html" title="Fonts and faces">
<link rel="prev" href="fonts-and-faces.html" title="Fonts and faces">
<link rel="next" href="using-your-own-font-functions.html" title="Using your own font functions">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -26,6 +26,6 @@
</p>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/using-your-own-font-functions.html b/docs/html/using-your-own-font-functions.html
index 400e3e0..53f33ac 100644
--- a/docs/html/using-your-own-font-functions.html
+++ b/docs/html/using-your-own-font-functions.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Using your own font functions: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="fonts-and-faces.html" title="Fonts and faces">
<link rel="prev" href="using-harfbuzzs-native-opentype-implementation.html" title="Using HarfBuzz's native OpenType implementation">
<link rel="next" href="clusters.html" title="Clusters">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -26,6 +26,6 @@
</p>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/what-about-the-other-scripts.html b/docs/html/what-about-the-other-scripts.html
index 5b0ebed..edb7235 100644
--- a/docs/html/what-about-the-other-scripts.html
+++ b/docs/html/what-about-the-other-scripts.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>What about the other scripts?: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="buffers-language-script-and-direction.html" title="Buffers, language, script and direction">
<link rel="prev" href="setting-buffer-properties.html" title="Setting buffer properties">
<link rel="next" href="customizing-unicode-functions.html" title="Customizing Unicode functions">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -26,6 +26,6 @@
</p>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/what-harfbuzz-doesnt-do.html b/docs/html/what-harfbuzz-doesnt-do.html
index 33309a1..f460f9b 100644
--- a/docs/html/what-harfbuzz-doesnt-do.html
+++ b/docs/html/what-harfbuzz-doesnt-do.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>What HarfBuzz doesn't do: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="what-is-harfbuzz.html" title="What is HarfBuzz?">
<link rel="prev" href="ch01s03.html" title="What does HarfBuzz do?">
<link rel="next" href="why-is-it-called-harfbuzz.html" title="Why is it called HarfBuzz?">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -106,6 +106,6 @@
</p>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/what-is-harfbuzz.html b/docs/html/what-is-harfbuzz.html
index a3eb0a2..251f873 100644
--- a/docs/html/what-is-harfbuzz.html
+++ b/docs/html/what-is-harfbuzz.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>What is HarfBuzz?: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="pt01.html" title="Part I. User's manual">
<link rel="prev" href="pt01.html" title="Part I. User's manual">
<link rel="next" href="why-do-i-need-a-shaping-engine.html" title="Why do I need a shaping engine?">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -95,6 +95,6 @@
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/why-do-i-need-a-shaping-engine.html b/docs/html/why-do-i-need-a-shaping-engine.html
index 1c2350b..e340ac5 100644
--- a/docs/html/why-do-i-need-a-shaping-engine.html
+++ b/docs/html/why-do-i-need-a-shaping-engine.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Why do I need a shaping engine?: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="what-is-harfbuzz.html" title="What is HarfBuzz?">
<link rel="prev" href="what-is-harfbuzz.html" title="What is HarfBuzz?">
<link rel="next" href="ch01s03.html" title="What does HarfBuzz do?">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -169,6 +169,6 @@
</p></div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/why-is-it-called-harfbuzz.html b/docs/html/why-is-it-called-harfbuzz.html
index dbc62c1..b623b92 100644
--- a/docs/html/why-is-it-called-harfbuzz.html
+++ b/docs/html/why-is-it-called-harfbuzz.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Why is it called HarfBuzz?: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="what-is-harfbuzz.html" title="What is HarfBuzz?">
<link rel="prev" href="what-harfbuzz-doesnt-do.html" title="What HarfBuzz doesn't do">
<link rel="next" href="install-harfbuzz.html" title="Installing HarfBuzz">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -33,6 +33,6 @@
</p>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/html/working-with-harfbuzz-clusters.html b/docs/html/working-with-harfbuzz-clusters.html
index 8d40cd0..74ffd3b 100644
--- a/docs/html/working-with-harfbuzz-clusters.html
+++ b/docs/html/working-with-harfbuzz-clusters.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Working with HarfBuzz clusters: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="clusters.html" title="Clusters">
<link rel="prev" href="clusters.html" title="Clusters">
<link rel="next" href="a-clustering-example-for-levels-0-and-1.html" title="A clustering example for levels 0 and 1">
-<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -222,6 +222,6 @@
</ul></div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.25</div>
+<hr>Generated by GTK-Doc V1.29</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/usermanual-clusters.xml b/docs/usermanual-clusters.xml
index 228cc56..b8d9191 100644
--- a/docs/usermanual-clusters.xml
+++ b/docs/usermanual-clusters.xml
@@ -492,7 +492,7 @@
</para>
<para>
But this initial cluster-merging behavior makes it impossible
- client programs to implement some features (such as to
+ for client programs to implement some features (such as to
color diacritic marks differently from their base
characters). That is why, in level 1, HarfBuzz does not perform
the initial merging step.
@@ -684,7 +684,7 @@
<para>
There may be other problems encountered with ligatures under
level 2, such as if the direction of the text is forced to
- opposite of its natural direction (for example, Arabic text
+ the opposite of its natural direction (for example, Arabic text
that is forced into left-to-right directionality). But,
generally speaking, these other scenarios are minor corner
cases that are too obscure for most client programs to need to
diff --git a/docs/usermanual-getting-started.xml b/docs/usermanual-getting-started.xml
index cc867e0..1f26df8 100644
--- a/docs/usermanual-getting-started.xml
+++ b/docs/usermanual-getting-started.xml
@@ -223,7 +223,7 @@
<orderedlist numeration="arabic">
<listitem override="2">
<para>
- Guess the script, language and direction of the buffer.
+ Set the script, language and direction of the buffer.
</para>
</listitem>
</orderedlist>
@@ -275,14 +275,14 @@
</orderedlist>
<programlisting language="C">
for (i = 0; i &lt; glyph_count; ++i) {
- glyphid = glyph_info[i].codepoint;
- x_offset = glyph_pos[i].x_offset / 64.0;
- y_offset = glyph_pos[i].y_offset / 64.0;
- x_advance = glyph_pos[i].x_advance / 64.0;
- y_advance = glyph_pos[i].y_advance / 64.0;
- draw_glyph(glyphid, cursor_x + x_offset, cursor_y + y_offset);
- cursor_x += x_advance;
- cursor_y += y_advance;
+ glyphid = glyph_info[i].codepoint;
+ x_offset = glyph_pos[i].x_offset / 64.0;
+ y_offset = glyph_pos[i].y_offset / 64.0;
+ x_advance = glyph_pos[i].x_advance / 64.0;
+ y_advance = glyph_pos[i].y_advance / 64.0;
+ draw_glyph(glyphid, cursor_x + x_offset, cursor_y + y_offset);
+ cursor_x += x_advance;
+ cursor_y += y_advance;
}
</programlisting>
<orderedlist numeration="arabic">
diff --git a/docs/usermanual-install-harfbuzz.xml b/docs/usermanual-install-harfbuzz.xml
index a885d00..a1e7ab0 100644
--- a/docs/usermanual-install-harfbuzz.xml
+++ b/docs/usermanual-install-harfbuzz.xml
@@ -423,6 +423,18 @@
</para>
</listitem>
</varlistentry>
+
+ <varlistentry>
+ <term><command>--enable-gtk-doc</command></term>
+ <listitem>
+ <para>
+ Use <ulink url="https://www.gtk.org/gtk-doc/">GTK-Doc</ulink>. <emphasis>(Default = no)</emphasis>
+ </para>
+ <para>
+ This option enables the building of the documentation.
+ </para>
+ </listitem>
+ </varlistentry>
</variablelist>
</section>
diff --git a/docs/version.xml b/docs/version.xml
index 2bf1c1c..197c4d5 100644
--- a/docs/version.xml
+++ b/docs/version.xml
@@ -1 +1 @@
-2.3.1
+2.4.0
diff --git a/gtk-doc.make b/gtk-doc.make
index 2454c28..7d9a27f 100644
--- a/gtk-doc.make
+++ b/gtk-doc.make
@@ -1,4 +1,22 @@
# -*- mode: makefile -*-
+#
+# gtk-doc.make - make rules for gtk-doc
+# Copyright (C) 2003 James Henstridge
+# 2004-2007 Damon Chaplin
+# 2007-2017 Stefan Sauer
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
####################################
# Everything below here is generic #
@@ -81,55 +99,54 @@ $(REPORT_FILES): sgml-build.stamp
#### setup ####
-GTK_DOC_V_SETUP=$(GTK_DOC_V_SETUP_$(V))
-GTK_DOC_V_SETUP_=$(GTK_DOC_V_SETUP_$(AM_DEFAULT_VERBOSITY))
+GTK_DOC_V_SETUP=$(GTK_DOC_V_SETUP_@AM_V@)
+GTK_DOC_V_SETUP_=$(GTK_DOC_V_SETUP_@AM_DEFAULT_V@)
GTK_DOC_V_SETUP_0=@echo " DOC Preparing build";
setup-build.stamp:
-$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- files=`echo $(SETUP_FILES) $(DOC_MODULE).types`; \
- if test "x$$files" != "x" ; then \
- for file in $$files ; do \
- destdir=`dirname $(abs_builddir)/$$file`; \
- test -d "$$destdir" || mkdir -p "$$destdir"; \
- test -f $(abs_srcdir)/$$file && \
- cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
- done; \
- fi; \
+ files=`echo $(SETUP_FILES) $(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ destdir=`dirname $(abs_builddir)/$$file`; \
+ test -d "$$destdir" || mkdir -p "$$destdir"; \
+ test -f $(abs_srcdir)/$$file && \
+ cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
+ done; \
+ fi; \
fi
$(AM_V_at)touch setup-build.stamp
-
#### scan ####
-GTK_DOC_V_SCAN=$(GTK_DOC_V_SCAN_$(V))
-GTK_DOC_V_SCAN_=$(GTK_DOC_V_SCAN_$(AM_DEFAULT_VERBOSITY))
+GTK_DOC_V_SCAN=$(GTK_DOC_V_SCAN_@AM_V@)
+GTK_DOC_V_SCAN_=$(GTK_DOC_V_SCAN_@AM_DEFAULT_V@)
GTK_DOC_V_SCAN_0=@echo " DOC Scanning header files";
-GTK_DOC_V_INTROSPECT=$(GTK_DOC_V_INTROSPECT_$(V))
-GTK_DOC_V_INTROSPECT_=$(GTK_DOC_V_INTROSPECT_$(AM_DEFAULT_VERBOSITY))
+GTK_DOC_V_INTROSPECT=$(GTK_DOC_V_INTROSPECT_@AM_V@)
+GTK_DOC_V_INTROSPECT_=$(GTK_DOC_V_INTROSPECT_@AM_DEFAULT_V@)
GTK_DOC_V_INTROSPECT_0=@echo " DOC Introspecting gobjects";
scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
$(GTK_DOC_V_SCAN)_source_dir='' ; \
for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
done ; \
gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
$(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
- scanobj_options=""; \
- gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
- if test "$$?" = "0"; then \
- if test "x$(V)" = "x1"; then \
- scanobj_options="--verbose"; \
- fi; \
+ scanobj_options=""; \
+ gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$$?" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ scanobj_options="--verbose"; \
fi; \
- CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
- gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
+ fi; \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
else \
- for i in $(SCANOBJ_FILES) ; do \
- test -f $$i || touch $$i ; \
- done \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
fi
$(AM_V_at)touch scan-build.stamp
@@ -138,14 +155,14 @@ $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)
#### xml ####
-GTK_DOC_V_XML=$(GTK_DOC_V_XML_$(V))
-GTK_DOC_V_XML_=$(GTK_DOC_V_XML_$(AM_DEFAULT_VERBOSITY))
+GTK_DOC_V_XML=$(GTK_DOC_V_XML_@AM_V@)
+GTK_DOC_V_XML_=$(GTK_DOC_V_XML_@AM_DEFAULT_V@)
GTK_DOC_V_XML_0=@echo " DOC Building XML";
sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
$(GTK_DOC_V_XML)_source_dir='' ; \
for i in $(DOC_SOURCE_DIR) ; do \
- _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
done ; \
gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
$(AM_V_at)touch sgml-build.stamp
@@ -153,6 +170,9 @@ sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HF
sgml.stamp: sgml-build.stamp
@true
+$(DOC_MAIN_SGML_FILE): sgml-build.stamp
+ @true
+
xml/gtkdocentities.ent: Makefile
$(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \
echo "<!ENTITY package \"$(PACKAGE)\">"; \
@@ -166,12 +186,12 @@ xml/gtkdocentities.ent: Makefile
#### html ####
-GTK_DOC_V_HTML=$(GTK_DOC_V_HTML_$(V))
-GTK_DOC_V_HTML_=$(GTK_DOC_V_HTML_$(AM_DEFAULT_VERBOSITY))
+GTK_DOC_V_HTML=$(GTK_DOC_V_HTML_@AM_V@)
+GTK_DOC_V_HTML_=$(GTK_DOC_V_HTML_@AM_DEFAULT_V@)
GTK_DOC_V_HTML_0=@echo " DOC Building HTML";
-GTK_DOC_V_XREF=$(GTK_DOC_V_XREF_$(V))
-GTK_DOC_V_XREF_=$(GTK_DOC_V_XREF_$(AM_DEFAULT_VERBOSITY))
+GTK_DOC_V_XREF=$(GTK_DOC_V_XREF_@AM_V@)
+GTK_DOC_V_XREF_=$(GTK_DOC_V_XREF_@AM_DEFAULT_V@)
GTK_DOC_V_XREF_0=@echo " DOC Fixing cross-references";
html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
@@ -190,12 +210,8 @@ html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_con
cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
-@test "x$(HTML_IMAGES)" = "x" || \
for file in $(HTML_IMAGES) ; do \
- if test -f $(abs_srcdir)/$$file ; then \
- cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
- fi; \
- if test -f $(abs_builddir)/$$file ; then \
- cp $(abs_builddir)/$$file $(abs_builddir)/html; \
- fi; \
+ test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+ test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \
test -f $$file && cp $$file $(abs_builddir)/html; \
done;
$(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
@@ -203,8 +219,8 @@ html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_con
#### pdf ####
-GTK_DOC_V_PDF=$(GTK_DOC_V_PDF_$(V))
-GTK_DOC_V_PDF_=$(GTK_DOC_V_PDF_$(AM_DEFAULT_VERBOSITY))
+GTK_DOC_V_PDF=$(GTK_DOC_V_PDF_@AM_V@)
+GTK_DOC_V_PDF_=$(GTK_DOC_V_PDF_@AM_DEFAULT_V@)
GTK_DOC_V_PDF_0=@echo " DOC Building PDF";
pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
diff --git a/install-sh b/install-sh
index 59990a1..8175c64 100755
--- a/install-sh
+++ b/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2014-09-12.12; # UTC
+scriptversion=2018-03-11.20; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -271,15 +271,18 @@ do
fi
dst=$dst_arg
- # If destination is a directory, append the input filename; won't work
- # if double slashes aren't ignored.
+ # If destination is a directory, append the input filename.
if test -d "$dst"; then
if test "$is_target_a_directory" = never; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
- dst=$dstdir/`basename "$src"`
+ dstbase=`basename "$src"`
+ case $dst in
+ */) dst=$dst$dstbase;;
+ *) dst=$dst/$dstbase;;
+ esac
dstdir_status=0
else
dstdir=`dirname "$dst"`
@@ -288,6 +291,11 @@ do
fi
fi
+ case $dstdir in
+ */) dstdirslash=$dstdir;;
+ *) dstdirslash=$dstdir/;;
+ esac
+
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
@@ -324,14 +332,16 @@ do
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
- # $RANDOM is not portable (e.g. dash); use it when possible to
- # lower collision chance
+ # Note that $RANDOM variable is not portable (e.g. dash); Use it
+ # here however when possible just to lower collision chance.
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+
trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
- # As "mkdir -p" follows symlinks and we work in /tmp possibly; so
- # create the $tmpdir first (and fail if unsuccessful) to make sure
- # that nobody tries to guess the $tmpdir name.
+ # Because "mkdir -p" follows existing symlinks and we likely work
+ # directly in world-writeable /tmp, make sure that the '$tmpdir'
+ # directory is successfully created first before we actually test
+ # 'mkdir -p' feature.
if (umask $mkdir_umask &&
$mkdirprog $mkdir_mode "$tmpdir" &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
@@ -434,8 +444,8 @@ do
else
# Make a couple of temp file names in the proper directory.
- dsttmp=$dstdir/_inst.$$_
- rmtmp=$dstdir/_rm.$$_
+ dsttmp=${dstdirslash}_inst.$$_
+ rmtmp=${dstdirslash}_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
@@ -500,9 +510,9 @@ do
done
# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff --git a/ltmain.sh b/ltmain.sh
index a736cf9..d3ab94d 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -1,12 +1,12 @@
#! /bin/sh
## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
-## by inline-source v2014-01-03.01
+## by inline-source v2018-07-24.06
-# libtool (GNU libtool) 2.4.6
+# libtool (GNU libtool) 2.4.6.42-b88ce
# Provide generalized library-building support services.
# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-# Copyright (C) 1996-2015 Free Software Foundation, Inc.
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions. There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
@@ -31,8 +31,8 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4.6 Debian-2.4.6-2"
-package_revision=2.4.6
+VERSION=2.4.6.42-b88ce
+package_revision=2.4.6.42
## ------ ##
@@ -64,34 +64,25 @@ package_revision=2.4.6
# libraries, which are installed to $pkgauxdir.
# Set a version string for this script.
-scriptversion=2015-01-20.17; # UTC
+scriptversion=2018-07-24.06; # UTC
# General shell script boiler plate, and helper functions.
# Written by Gary V. Vaughan, 2004
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions. There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-
-# As a special exception to the GNU General Public License, if you distribute
-# this file as part of a program or library that is built using GNU Libtool,
-# you may include this file under the same distribution terms that you use
-# for the rest of that program.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# This is free software. There is NO warranty; not even for
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Copyright (C) 2004-2018 Bootstrap Authors
+#
+# This file is dual licensed under the terms of the MIT license
+# <https://opensource.org/license/MIT>, and GPL version 3 or later
+# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of
+# these licenses when using or redistributing this software or any of
+# the files within it. See the URLs above, or the file `LICENSE`
+# included in the Bootstrap distribution for the full license texts.
-# Please report bugs or propose patches to gary@gnu.org.
+# Please report bugs or propose patches to:
+# <https://github.com/gnulib-modules/bootstrap/issues>
## ------ ##
@@ -140,9 +131,6 @@ do
fi"
done
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
# Make sure IFS has a sensible default
sp=' '
nl='
@@ -159,6 +147,26 @@ if test "${PATH_SEPARATOR+set}" != set; then
fi
+# func_unset VAR
+# --------------
+# Portably unset VAR.
+# In some shells, an 'unset VAR' statement leaves a non-zero return
+# status if VAR is already unset, which might be problematic if the
+# statement is used at the end of a function (thus poisoning its return
+# value) or when 'set -e' is active (causing even a spurious abort of
+# the script in this case).
+func_unset ()
+{
+ { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; }
+}
+
+
+# Make sure CDPATH doesn't cause `cd` commands to output the target dir.
+func_unset CDPATH
+
+# Make sure ${,E,F}GREP behave sanely.
+func_unset GREP_OPTIONS
+
## ------------------------- ##
## Locate command utilities. ##
@@ -259,7 +267,7 @@ test -z "$SED" && {
rm -f conftest.in conftest.tmp conftest.nl conftest.out
}
- func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin
+ func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin"
rm -f conftest.sed
SED=$func_path_progs_result
}
@@ -295,7 +303,7 @@ test -z "$GREP" && {
rm -f conftest.in conftest.tmp conftest.nl conftest.out
}
- func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin
+ func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin"
GREP=$func_path_progs_result
}
@@ -580,16 +588,16 @@ if test yes = "$_G_HAVE_PLUSEQ_OP"; then
{
$debug_cmd
- func_quote_for_eval "$2"
- eval "$1+=\\ \$func_quote_for_eval_result"
+ func_quote_arg pretty "$2"
+ eval "$1+=\\ \$func_quote_arg_result"
}'
else
func_append_quoted ()
{
$debug_cmd
- func_quote_for_eval "$2"
- eval "$1=\$$1\\ \$func_quote_for_eval_result"
+ func_quote_arg pretty "$2"
+ eval "$1=\$$1\\ \$func_quote_arg_result"
}
fi
@@ -1091,85 +1099,199 @@ func_relative_path ()
}
-# func_quote_for_eval ARG...
-# --------------------------
-# Aesthetically quote ARGs to be evaled later.
-# This function returns two values:
-# i) func_quote_for_eval_result
-# double-quoted, suitable for a subsequent eval
-# ii) func_quote_for_eval_unquoted_result
-# has all characters that are still active within double
-# quotes backslashified.
-func_quote_for_eval ()
+# func_quote_portable EVAL ARG
+# ----------------------------
+# Internal function to portably implement func_quote_arg. Note that we still
+# keep attention to performance here so we as much as possible try to avoid
+# calling sed binary (so far O(N) complexity as long as func_append is O(1)).
+func_quote_portable ()
{
$debug_cmd
- func_quote_for_eval_unquoted_result=
- func_quote_for_eval_result=
- while test 0 -lt $#; do
- case $1 in
- *[\\\`\"\$]*)
- _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
- *)
- _G_unquoted_arg=$1 ;;
- esac
- if test -n "$func_quote_for_eval_unquoted_result"; then
- func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
- else
- func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
+ func_quote_portable_result=$2
+
+ # one-time-loop (easy break)
+ while true
+ do
+ if $1; then
+ func_quote_portable_result=`$ECHO "$2" | $SED \
+ -e "$sed_double_quote_subst" -e "$sed_double_backslash"`
+ break
fi
- case $_G_unquoted_arg in
- # Double-quote args containing shell metacharacters to delay
- # word splitting, command substitution and variable expansion
- # for a subsequent eval.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- _G_quoted_arg=\"$_G_unquoted_arg\"
+ # Quote for eval.
+ case $func_quote_portable_result in
+ *[\\\`\"\$]*)
+ case $func_quote_portable_result in
+ *[\[\*\?]*)
+ func_quote_portable_result=`$ECHO "$func_quote_portable_result" \
+ | $SED "$sed_quote_subst"`
+ break
+ ;;
+ esac
+
+ func_quote_portable_old_IFS=$IFS
+ for _G_char in '\' '`' '"' '$'
+ do
+ # STATE($1) PREV($2) SEPARATOR($3)
+ set start "" ""
+ func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy
+ IFS=$_G_char
+ for _G_part in $func_quote_portable_result
+ do
+ case $1 in
+ quote)
+ func_append func_quote_portable_result "$3$2"
+ set quote "$_G_part" "\\$_G_char"
+ ;;
+ start)
+ set first "" ""
+ func_quote_portable_result=
+ ;;
+ first)
+ set quote "$_G_part" ""
+ ;;
+ esac
+ done
+ done
+ IFS=$func_quote_portable_old_IFS
;;
- *)
- _G_quoted_arg=$_G_unquoted_arg
- ;;
+ *) ;;
esac
-
- if test -n "$func_quote_for_eval_result"; then
- func_append func_quote_for_eval_result " $_G_quoted_arg"
- else
- func_append func_quote_for_eval_result "$_G_quoted_arg"
- fi
- shift
+ break
done
+
+ func_quote_portable_unquoted_result=$func_quote_portable_result
+ case $func_quote_portable_result in
+ # double-quote args containing shell metacharacters to delay
+ # word splitting, command substitution and variable expansion
+ # for a subsequent eval.
+ # many bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ func_quote_portable_result=\"$func_quote_portable_result\"
+ ;;
+ esac
}
-# func_quote_for_expand ARG
-# -------------------------
-# Aesthetically quote ARG to be evaled later; same as above,
-# but do not quote variable references.
-func_quote_for_expand ()
-{
- $debug_cmd
+# func_quotefast_eval ARG
+# -----------------------
+# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG',
+# but optimized for speed. Result is stored in $func_quotefast_eval.
+if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then
+ printf -v _GL_test_printf_tilde %q '~'
+ if test '\~' = "$_GL_test_printf_tilde"; then
+ func_quotefast_eval ()
+ {
+ printf -v func_quotefast_eval_result %q "$1"
+ }
+ else
+ # Broken older Bash implementations. Make those faster too if possible.
+ func_quotefast_eval ()
+ {
+ case $1 in
+ '~'*)
+ func_quote_portable false "$1"
+ func_quotefast_eval_result=$func_quote_portable_result
+ ;;
+ *)
+ printf -v func_quotefast_eval_result %q "$1"
+ ;;
+ esac
+ }
+ fi
+else
+ func_quotefast_eval ()
+ {
+ func_quote_portable false "$1"
+ func_quotefast_eval_result=$func_quote_portable_result
+ }
+fi
- case $1 in
- *[\\\`\"]*)
- _G_arg=`$ECHO "$1" | $SED \
- -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
- *)
- _G_arg=$1 ;;
+
+# func_quote_arg MODEs ARG
+# ------------------------
+# Quote one ARG to be evaled later. MODEs argument may contain zero or more
+# specifiers listed below separated by ',' character. This function returns two
+# values:
+# i) func_quote_arg_result
+# double-quoted (when needed), suitable for a subsequent eval
+# ii) func_quote_arg_unquoted_result
+# has all characters that are still active within double
+# quotes backslashified. Available only if 'unquoted' is specified.
+#
+# Available modes:
+# ----------------
+# 'eval' (default)
+# - escape shell special characters
+# 'expand'
+# - the same as 'eval'; but do not quote variable references
+# 'pretty'
+# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might
+# be used later in func_quote to get output like: 'echo "a b"' instead
+# of 'echo a\ b'. This is slower than default on some shells.
+# 'unquoted'
+# - produce also $func_quote_arg_unquoted_result which does not contain
+# wrapping double-quotes.
+#
+# Examples for 'func_quote_arg pretty,unquoted string':
+#
+# string | *_result | *_unquoted_result
+# ------------+-----------------------+-------------------
+# " | \" | \"
+# a b | "a b" | a b
+# "a b" | "\"a b\"" | \"a b\"
+# * | "*" | *
+# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\"
+#
+# Examples for 'func_quote_arg pretty,unquoted,expand string':
+#
+# string | *_result | *_unquoted_result
+# --------------+---------------------+--------------------
+# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\"
+func_quote_arg ()
+{
+ _G_quote_expand=false
+ case ,$1, in
+ *,expand,*)
+ _G_quote_expand=:
+ ;;
esac
- case $_G_arg in
- # Double-quote args containing shell metacharacters to delay
- # word splitting and command substitution for a subsequent eval.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- _G_arg=\"$_G_arg\"
+ case ,$1, in
+ *,pretty,*|*,expand,*|*,unquoted,*)
+ func_quote_portable $_G_quote_expand "$2"
+ func_quote_arg_result=$func_quote_portable_result
+ func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result
+ ;;
+ *)
+ # Faster quote-for-eval for some shells.
+ func_quotefast_eval "$2"
+ func_quote_arg_result=$func_quotefast_eval_result
;;
esac
+}
+
- func_quote_for_expand_result=$_G_arg
+# func_quote MODEs ARGs...
+# ------------------------
+# Quote all ARGs to be evaled later and join them into single command. See
+# func_quote_arg's description for more info.
+func_quote ()
+{
+ $debug_cmd
+ _G_func_quote_mode=$1 ; shift
+ func_quote_result=
+ while test 0 -lt $#; do
+ func_quote_arg "$_G_func_quote_mode" "$1"
+ if test -n "$func_quote_result"; then
+ func_append func_quote_result " $func_quote_arg_result"
+ else
+ func_append func_quote_result "$func_quote_arg_result"
+ fi
+ shift
+ done
}
@@ -1215,8 +1337,8 @@ func_show_eval ()
_G_cmd=$1
_G_fail_exp=${2-':'}
- func_quote_for_expand "$_G_cmd"
- eval "func_notquiet $func_quote_for_expand_result"
+ func_quote_arg pretty,expand "$_G_cmd"
+ eval "func_notquiet $func_quote_arg_result"
$opt_dry_run || {
eval "$_G_cmd"
@@ -1241,8 +1363,8 @@ func_show_eval_locale ()
_G_fail_exp=${2-':'}
$opt_quiet || {
- func_quote_for_expand "$_G_cmd"
- eval "func_echo $func_quote_for_expand_result"
+ func_quote_arg expand,pretty "$_G_cmd"
+ eval "func_echo $func_quote_arg_result"
}
$opt_dry_run || {
@@ -1369,30 +1491,26 @@ func_lt_ver ()
# End:
#! /bin/sh
-# Set a version string for this script.
-scriptversion=2014-01-07.03; # UTC
-
# A portable, pluggable option parser for Bourne shell.
# Written by Gary V. Vaughan, 2010
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions. There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# This is free software. There is NO warranty; not even for
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Copyright (C) 2010-2018 Bootstrap Authors
+#
+# This file is dual licensed under the terms of the MIT license
+# <https://opensource.org/license/MIT>, and GPL version 3 or later
+# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of
+# these licenses when using or redistributing this software or any of
+# the files within it. See the URLs above, or the file `LICENSE`
+# included in the Bootstrap distribution for the full license texts.
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# Please report bugs or propose patches to:
+# <https://github.com/gnulib-modules/bootstrap/issues>
-# Please report bugs or propose patches to gary@gnu.org.
+# Set a version string for this script.
+scriptversion=2018-07-24.06; # UTC
## ------ ##
@@ -1415,7 +1533,7 @@ scriptversion=2014-01-07.03; # UTC
#
# In order for the '--version' option to work, you will need to have a
# suitably formatted comment like the one at the top of this file
-# starting with '# Written by ' and ending with '# warranty; '.
+# starting with '# Written by ' and ending with '# Copyright'.
#
# For '-h' and '--help' to work, you will also need a one line
# description of your script's purpose in a comment directly above the
@@ -1427,7 +1545,7 @@ scriptversion=2014-01-07.03; # UTC
# to display verbose messages only when your user has specified
# '--verbose'.
#
-# After sourcing this file, you can plug processing for additional
+# After sourcing this file, you can plug in processing for additional
# options by amending the variables from the 'Configuration' section
# below, and following the instructions in the 'Option parsing'
# section further down.
@@ -1476,8 +1594,8 @@ fatal_help="Try '\$progname --help' for more information."
## ------------------------- ##
# This section contains functions for adding, removing, and running hooks
-# to the main code. A hook is just a named list of of function, that can
-# be run in order later on.
+# in the main code. A hook is just a list of function names that can be
+# run in order later on.
# func_hookable FUNC_NAME
# -----------------------
@@ -1510,7 +1628,8 @@ func_add_hook ()
# func_remove_hook FUNC_NAME HOOK_FUNC
# ------------------------------------
-# Remove HOOK_FUNC from the list of functions called by FUNC_NAME.
+# Remove HOOK_FUNC from the list of hook functions to be called by
+# FUNC_NAME.
func_remove_hook ()
{
$debug_cmd
@@ -1519,10 +1638,28 @@ func_remove_hook ()
}
+# func_propagate_result FUNC_NAME_A FUNC_NAME_B
+# ---------------------------------------------
+# If the *_result variable of FUNC_NAME_A _is set_, assign its value to
+# *_result variable of FUNC_NAME_B.
+func_propagate_result ()
+{
+ $debug_cmd
+
+ func_propagate_result_result=:
+ if eval "test \"\${${1}_result+set}\" = set"
+ then
+ eval "${2}_result=\$${1}_result"
+ else
+ func_propagate_result_result=false
+ fi
+}
+
+
# func_run_hooks FUNC_NAME [ARG]...
# ---------------------------------
# Run all hook functions registered to FUNC_NAME.
-# It is assumed that the list of hook functions contains nothing more
+# It's assumed that the list of hook functions contains nothing more
# than a whitespace-delimited list of legal shell function names, and
# no effort is wasted trying to catch shell meta-characters or preserve
# whitespace.
@@ -1532,22 +1669,19 @@ func_run_hooks ()
case " $hookable_fns " in
*" $1 "*) ;;
- *) func_fatal_error "'$1' does not support hook funcions.n" ;;
+ *) func_fatal_error "'$1' does not support hook functions." ;;
esac
eval _G_hook_fns=\$$1_hooks; shift
for _G_hook in $_G_hook_fns; do
- eval $_G_hook '"$@"'
-
- # store returned options list back into positional
- # parameters for next 'cmd' execution.
- eval _G_hook_result=\$${_G_hook}_result
- eval set dummy "$_G_hook_result"; shift
+ func_unset "${_G_hook}_result"
+ eval $_G_hook '${1+"$@"}'
+ func_propagate_result $_G_hook func_run_hooks
+ if $func_propagate_result_result; then
+ eval set dummy "$func_run_hooks_result"; shift
+ fi
done
-
- func_quote_for_eval ${1+"$@"}
- func_run_hooks_result=$func_quote_for_eval_result
}
@@ -1557,10 +1691,18 @@ func_run_hooks ()
## --------------- ##
# In order to add your own option parsing hooks, you must accept the
-# full positional parameter list in your hook function, remove any
-# options that you action, and then pass back the remaining unprocessed
-# options in '<hooked_function_name>_result', escaped suitably for
-# 'eval'. Like this:
+# full positional parameter list from your hook function. You may remove
+# or edit any options that you action, and then pass back the remaining
+# unprocessed options in '<hooked_function_name>_result', escaped
+# suitably for 'eval'.
+#
+# The '<hooked_function_name>_result' variable is automatically unset
+# before your hook gets called; for best performance, only set the
+# *_result variable when necessary (i.e. don't call the 'func_quote'
+# function unnecessarily because it can be an expensive operation on some
+# machines).
+#
+# Like this:
#
# my_options_prep ()
# {
@@ -1570,9 +1712,8 @@ func_run_hooks ()
# usage_message=$usage_message'
# -s, --silent don'\''t print informational messages
# '
-#
-# func_quote_for_eval ${1+"$@"}
-# my_options_prep_result=$func_quote_for_eval_result
+# # No change in '$@' (ignored completely by this hook). Leave
+# # my_options_prep_result variable intact.
# }
# func_add_hook func_options_prep my_options_prep
#
@@ -1581,25 +1722,36 @@ func_run_hooks ()
# {
# $debug_cmd
#
-# # Note that for efficiency, we parse as many options as we can
+# args_changed=false
+#
+# # Note that, for efficiency, we parse as many options as we can
# # recognise in a loop before passing the remainder back to the
# # caller on the first unrecognised argument we encounter.
# while test $# -gt 0; do
# opt=$1; shift
# case $opt in
-# --silent|-s) opt_silent=: ;;
+# --silent|-s) opt_silent=:
+# args_changed=:
+# ;;
# # Separate non-argument short options:
# -s*) func_split_short_opt "$_G_opt"
# set dummy "$func_split_short_opt_name" \
# "-$func_split_short_opt_arg" ${1+"$@"}
# shift
+# args_changed=:
# ;;
-# *) set dummy "$_G_opt" "$*"; shift; break ;;
+# *) # Make sure the first unrecognised option "$_G_opt"
+# # is added back to "$@" in case we need it later,
+# # if $args_changed was set to 'true'.
+# set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
# esac
# done
#
-# func_quote_for_eval ${1+"$@"}
-# my_silent_option_result=$func_quote_for_eval_result
+# # Only call 'func_quote' here if we processed at least one argument.
+# if $args_changed; then
+# func_quote eval ${1+"$@"}
+# my_silent_option_result=$func_quote_result
+# fi
# }
# func_add_hook func_parse_options my_silent_option
#
@@ -1610,17 +1762,26 @@ func_run_hooks ()
#
# $opt_silent && $opt_verbose && func_fatal_help "\
# '--silent' and '--verbose' options are mutually exclusive."
-#
-# func_quote_for_eval ${1+"$@"}
-# my_option_validation_result=$func_quote_for_eval_result
# }
# func_add_hook func_validate_options my_option_validation
#
-# You'll alse need to manually amend $usage_message to reflect the extra
+# You'll also need to manually amend $usage_message to reflect the extra
# options you parse. It's preferable to append if you can, so that
# multiple option parsing hooks can be added safely.
+# func_options_finish [ARG]...
+# ----------------------------
+# Finishing the option parse loop (call 'func_options' hooks ATM).
+func_options_finish ()
+{
+ $debug_cmd
+
+ func_run_hooks func_options ${1+"$@"}
+ func_propagate_result func_run_hooks func_options_finish
+}
+
+
# func_options [ARG]...
# ---------------------
# All the functions called inside func_options are hookable. See the
@@ -1630,17 +1791,27 @@ func_options ()
{
$debug_cmd
- func_options_prep ${1+"$@"}
- eval func_parse_options \
- ${func_options_prep_result+"$func_options_prep_result"}
- eval func_validate_options \
- ${func_parse_options_result+"$func_parse_options_result"}
+ _G_options_quoted=false
- eval func_run_hooks func_options \
- ${func_validate_options_result+"$func_validate_options_result"}
+ for my_func in options_prep parse_options validate_options options_finish
+ do
+ func_unset func_${my_func}_result
+ func_unset func_run_hooks_result
+ eval func_$my_func '${1+"$@"}'
+ func_propagate_result func_$my_func func_options
+ if $func_propagate_result_result; then
+ eval set dummy "$func_options_result"; shift
+ _G_options_quoted=:
+ fi
+ done
- # save modified positional parameters for caller
- func_options_result=$func_run_hooks_result
+ $_G_options_quoted || {
+ # As we (func_options) are top-level options-parser function and
+ # nobody quoted "$@" for us yet, we need to do it explicitly for
+ # caller.
+ func_quote eval ${1+"$@"}
+ func_options_result=$func_quote_result
+ }
}
@@ -1649,9 +1820,8 @@ func_options ()
# All initialisations required before starting the option parse loop.
# Note that when calling hook functions, we pass through the list of
# positional parameters. If a hook function modifies that list, and
-# needs to propogate that back to rest of this script, then the complete
-# modified list must be put in 'func_run_hooks_result' before
-# returning.
+# needs to propagate that back to rest of this script, then the complete
+# modified list must be put in 'func_run_hooks_result' before returning.
func_hookable func_options_prep
func_options_prep ()
{
@@ -1662,9 +1832,7 @@ func_options_prep ()
opt_warning_types=
func_run_hooks func_options_prep ${1+"$@"}
-
- # save modified positional parameters for caller
- func_options_prep_result=$func_run_hooks_result
+ func_propagate_result func_run_hooks func_options_prep
}
@@ -1676,25 +1844,32 @@ func_parse_options ()
{
$debug_cmd
- func_parse_options_result=
-
+ _G_parse_options_requote=false
# this just eases exit handling
while test $# -gt 0; do
# Defer to hook functions for initial option parsing, so they
# get priority in the event of reusing an option name.
func_run_hooks func_parse_options ${1+"$@"}
-
- # Adjust func_parse_options positional parameters to match
- eval set dummy "$func_run_hooks_result"; shift
+ func_propagate_result func_run_hooks func_parse_options
+ if $func_propagate_result_result; then
+ eval set dummy "$func_parse_options_result"; shift
+ # Even though we may have changed "$@", we passed the "$@" array
+ # down into the hook and it quoted it for us (because we are in
+ # this if-branch). No need to quote it again.
+ _G_parse_options_requote=false
+ fi
# Break out of the loop if we already parsed every option.
test $# -gt 0 || break
+ # We expect that one of the options parsed in this function matches
+ # and thus we remove _G_opt from "$@" and need to re-quote.
+ _G_match_parse_options=:
_G_opt=$1
shift
case $_G_opt in
--debug|-x) debug_cmd='set -x'
- func_echo "enabling shell trace mode"
+ func_echo "enabling shell trace mode" >&2
$debug_cmd
;;
@@ -1704,7 +1879,10 @@ func_parse_options ()
;;
--warnings|--warning|-W)
- test $# = 0 && func_missing_arg $_G_opt && break
+ if test $# = 0 && func_missing_arg $_G_opt; then
+ _G_parse_options_requote=:
+ break
+ fi
case " $warning_categories $1" in
*" $1 "*)
# trailing space prevents matching last $1 above
@@ -1757,15 +1935,24 @@ func_parse_options ()
shift
;;
- --) break ;;
+ --) _G_parse_options_requote=: ; break ;;
-*) func_fatal_help "unrecognised option: '$_G_opt'" ;;
- *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+ *) set dummy "$_G_opt" ${1+"$@"}; shift
+ _G_match_parse_options=false
+ break
+ ;;
esac
+
+ if $_G_match_parse_options; then
+ _G_parse_options_requote=:
+ fi
done
- # save modified positional parameters for caller
- func_quote_for_eval ${1+"$@"}
- func_parse_options_result=$func_quote_for_eval_result
+ if $_G_parse_options_requote; then
+ # save modified positional parameters for caller
+ func_quote eval ${1+"$@"}
+ func_parse_options_result=$func_quote_result
+ fi
}
@@ -1782,12 +1969,10 @@ func_validate_options ()
test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
func_run_hooks func_validate_options ${1+"$@"}
+ func_propagate_result func_run_hooks func_validate_options
# Bail if the options were screwed!
$exit_cmd $EXIT_FAILURE
-
- # save modified positional parameters for caller
- func_validate_options_result=$func_run_hooks_result
}
@@ -1843,8 +2028,8 @@ func_missing_arg ()
# func_split_equals STRING
# ------------------------
-# Set func_split_equals_lhs and func_split_equals_rhs shell variables after
-# splitting STRING at the '=' sign.
+# Set func_split_equals_lhs and func_split_equals_rhs shell variables
+# after splitting STRING at the '=' sign.
test -z "$_G_HAVE_XSI_OPS" \
&& (eval 'x=a/b/c;
test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
@@ -1859,8 +2044,9 @@ then
func_split_equals_lhs=${1%%=*}
func_split_equals_rhs=${1#*=}
- test "x$func_split_equals_lhs" = "x$1" \
- && func_split_equals_rhs=
+ if test "x$func_split_equals_lhs" = "x$1"; then
+ func_split_equals_rhs=
+ fi
}'
else
# ...otherwise fall back to using expr, which is often a shell builtin.
@@ -1938,31 +2124,44 @@ func_usage_message ()
# func_version
# ------------
# Echo version message to standard output and exit.
+# The version message is extracted from the calling file's header
+# comments, with leading '# ' stripped:
+# 1. First display the progname and version
+# 2. Followed by the header comment line matching /^# Written by /
+# 3. Then a blank line followed by the first following line matching
+# /^# Copyright /
+# 4. Immediately followed by any lines between the previous matches,
+# except lines preceding the intervening completely blank line.
+# For example, see the header comments of this file.
func_version ()
{
$debug_cmd
printf '%s\n' "$progname $scriptversion"
$SED -n '
- /(C)/!b go
- :more
- /\./!{
- N
- s|\n# | |
- b more
- }
- :go
- /^# Written by /,/# warranty; / {
- s|^# ||
- s|^# *$||
- s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
- p
+ /^# Written by /!b
+ s|^# ||; p; n
+
+ :fwd2blnk
+ /./ {
+ n
+ b fwd2blnk
}
- /^# Written by / {
- s|^# ||
- p
+ p; n
+
+ :holdwrnt
+ s|^# ||
+ s|^# *$||
+ /^Copyright /!{
+ /./H
+ n
+ b holdwrnt
}
- /^warranty; /q' < "$progpath"
+
+ s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
+ G
+ s|\(\n\)\n*|\1|g
+ p; q' < "$progpath"
exit $?
}
@@ -1972,12 +2171,12 @@ func_version ()
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'before-save-hook 'time-stamp)
-# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC"
# time-stamp-time-zone: "UTC"
# End:
# Set a version string.
-scriptversion='(GNU libtool) 2.4.6'
+scriptversion='(GNU libtool) 2.4.6.42-b88ce'
# func_echo ARG...
@@ -2068,7 +2267,7 @@ include the following information:
compiler: $LTCC
compiler flags: $LTCFLAGS
linker: $LD (gnu? $with_gnu_ld)
- version: $progname $scriptversion Debian-2.4.6-2
+ version: $progname (GNU libtool) 2.4.6.42-b88ce
automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
@@ -2124,7 +2323,7 @@ fi
# a configuration failure hint, and exit.
func_fatal_configuration ()
{
- func__fatal_error ${1+"$@"} \
+ func_fatal_error ${1+"$@"} \
"See the $PACKAGE documentation for more information." \
"Fatal configuration error."
}
@@ -2270,6 +2469,8 @@ libtool_options_prep ()
nonopt=
preserve_args=
+ _G_rc_lt_options_prep=:
+
# Shorthand for --mode=foo, only valid as the first argument
case $1 in
clean|clea|cle|cl)
@@ -2293,11 +2494,16 @@ libtool_options_prep ()
uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
shift; set dummy --mode uninstall ${1+"$@"}; shift
;;
+ *)
+ _G_rc_lt_options_prep=false
+ ;;
esac
- # Pass back the list of options.
- func_quote_for_eval ${1+"$@"}
- libtool_options_prep_result=$func_quote_for_eval_result
+ if $_G_rc_lt_options_prep; then
+ # Pass back the list of options.
+ func_quote eval ${1+"$@"}
+ libtool_options_prep_result=$func_quote_result
+ fi
}
func_add_hook func_options_prep libtool_options_prep
@@ -2309,9 +2515,12 @@ libtool_parse_options ()
{
$debug_cmd
+ _G_rc_lt_parse_options=false
+
# Perform our own loop to consume as many options as possible in
# each iteration.
while test $# -gt 0; do
+ _G_match_lt_parse_options=:
_G_opt=$1
shift
case $_G_opt in
@@ -2386,15 +2595,20 @@ libtool_parse_options ()
func_append preserve_args " $_G_opt"
;;
- # An option not handled by this hook function:
- *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+ # An option not handled by this hook function:
+ *) set dummy "$_G_opt" ${1+"$@"} ; shift
+ _G_match_lt_parse_options=false
+ break
+ ;;
esac
+ $_G_match_lt_parse_options && _G_rc_lt_parse_options=:
done
-
- # save modified positional parameters for caller
- func_quote_for_eval ${1+"$@"}
- libtool_parse_options_result=$func_quote_for_eval_result
+ if $_G_rc_lt_parse_options; then
+ # save modified positional parameters for caller
+ func_quote eval ${1+"$@"}
+ libtool_parse_options_result=$func_quote_result
+ fi
}
func_add_hook func_parse_options libtool_parse_options
@@ -2451,8 +2665,8 @@ libtool_validate_options ()
}
# Pass back the unparsed argument list
- func_quote_for_eval ${1+"$@"}
- libtool_validate_options_result=$func_quote_for_eval_result
+ func_quote eval ${1+"$@"}
+ libtool_validate_options_result=$func_quote_result
}
func_add_hook func_validate_options libtool_validate_options
@@ -3418,8 +3632,8 @@ func_mode_compile ()
esac
done
- func_quote_for_eval "$libobj"
- test "X$libobj" != "X$func_quote_for_eval_result" \
+ func_quote_arg pretty "$libobj"
+ test "X$libobj" != "X$func_quote_arg_result" \
&& $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
&& func_warning "libobj name '$libobj' may not contain shell special characters."
func_dirname_and_basename "$obj" "/" ""
@@ -3492,8 +3706,8 @@ compiler."
func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
srcfile=$func_to_tool_file_result
- func_quote_for_eval "$srcfile"
- qsrcfile=$func_quote_for_eval_result
+ func_quote_arg pretty "$srcfile"
+ qsrcfile=$func_quote_arg_result
# Only build a PIC object if we are building libtool libraries.
if test yes = "$build_libtool_libs"; then
@@ -4096,8 +4310,8 @@ func_mode_install ()
case $nonopt in *shtool*) :;; *) false;; esac
then
# Aesthetically quote it.
- func_quote_for_eval "$nonopt"
- install_prog="$func_quote_for_eval_result "
+ func_quote_arg pretty "$nonopt"
+ install_prog="$func_quote_arg_result "
arg=$1
shift
else
@@ -4107,8 +4321,8 @@ func_mode_install ()
# The real first argument should be the name of the installation program.
# Aesthetically quote it.
- func_quote_for_eval "$arg"
- func_append install_prog "$func_quote_for_eval_result"
+ func_quote_arg pretty "$arg"
+ func_append install_prog "$func_quote_arg_result"
install_shared_prog=$install_prog
case " $install_prog " in
*[\\\ /]cp\ *) install_cp=: ;;
@@ -4165,12 +4379,12 @@ func_mode_install ()
esac
# Aesthetically quote the argument.
- func_quote_for_eval "$arg"
- func_append install_prog " $func_quote_for_eval_result"
+ func_quote_arg pretty "$arg"
+ func_append install_prog " $func_quote_arg_result"
if test -n "$arg2"; then
- func_quote_for_eval "$arg2"
+ func_quote_arg pretty "$arg2"
fi
- func_append install_shared_prog " $func_quote_for_eval_result"
+ func_append install_shared_prog " $func_quote_arg_result"
done
test -z "$install_prog" && \
@@ -4181,8 +4395,8 @@ func_mode_install ()
if test -n "$install_override_mode" && $no_mode; then
if $install_cp; then :; else
- func_quote_for_eval "$install_override_mode"
- func_append install_shared_prog " -m $func_quote_for_eval_result"
+ func_quote_arg pretty "$install_override_mode"
+ func_append install_shared_prog " -m $func_quote_arg_result"
fi
fi
@@ -4478,8 +4692,8 @@ func_mode_install ()
relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
$opt_quiet || {
- func_quote_for_expand "$relink_command"
- eval "func_echo $func_quote_for_expand_result"
+ func_quote_arg expand,pretty "$relink_command"
+ eval "func_echo $func_quote_arg_result"
}
if eval "$relink_command"; then :
else
@@ -5258,7 +5472,8 @@ else
if test \"\$libtool_execute_magic\" != \"$magic\"; then
file=\"\$0\""
- qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
+ func_quote_arg pretty "$ECHO"
+ qECHO=$func_quote_arg_result
$ECHO "\
# A function that is used when there is no print builtin or printf.
@@ -5268,7 +5483,7 @@ func_fallback_echo ()
\$1
_LTECHO_EOF'
}
- ECHO=\"$qECHO\"
+ ECHO=$qECHO
fi
# Very basic option parsing. These options are (a) specific to
@@ -6611,9 +6826,9 @@ func_mode_link ()
while test "$#" -gt 0; do
arg=$1
shift
- func_quote_for_eval "$arg"
- qarg=$func_quote_for_eval_unquoted_result
- func_append libtool_args " $func_quote_for_eval_result"
+ func_quote_arg pretty,unquoted "$arg"
+ qarg=$func_quote_arg_unquoted_result
+ func_append libtool_args " $func_quote_arg_result"
# If the previous option needs an argument, assign it.
if test -n "$prev"; then
@@ -7211,9 +7426,9 @@ func_mode_link ()
save_ifs=$IFS; IFS=,
for flag in $args; do
IFS=$save_ifs
- func_quote_for_eval "$flag"
- func_append arg " $func_quote_for_eval_result"
- func_append compiler_flags " $func_quote_for_eval_result"
+ func_quote_arg pretty "$flag"
+ func_append arg " $func_quote_arg_result"
+ func_append compiler_flags " $func_quote_arg_result"
done
IFS=$save_ifs
func_stripname ' ' '' "$arg"
@@ -7227,10 +7442,10 @@ func_mode_link ()
save_ifs=$IFS; IFS=,
for flag in $args; do
IFS=$save_ifs
- func_quote_for_eval "$flag"
- func_append arg " $wl$func_quote_for_eval_result"
- func_append compiler_flags " $wl$func_quote_for_eval_result"
- func_append linker_flags " $func_quote_for_eval_result"
+ func_quote_arg pretty "$flag"
+ func_append arg " $wl$func_quote_arg_result"
+ func_append compiler_flags " $wl$func_quote_arg_result"
+ func_append linker_flags " $func_quote_arg_result"
done
IFS=$save_ifs
func_stripname ' ' '' "$arg"
@@ -7254,8 +7469,8 @@ func_mode_link ()
# -msg_* for osf cc
-msg_*)
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
;;
# Flags to be passed through unchanged, with rationale:
@@ -7275,12 +7490,13 @@ func_mode_link ()
# -specs=* GCC specs files
# -stdlib=* select c++ std lib with clang
# -fsanitize=* Clang/GCC memory and address sanitizer
+ # -fuse-ld=* Linker select flags for GCC
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
- -specs=*|-fsanitize=*)
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
+ -specs=*|-fsanitize=*|-fuse-ld=*)
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
func_append compile_command " $arg"
func_append finalize_command " $arg"
func_append compiler_flags " $arg"
@@ -7301,15 +7517,15 @@ func_mode_link ()
continue
else
# Otherwise treat like 'Some other compiler flag' below
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
fi
;;
# Some other compiler flag.
-* | +*)
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
;;
*.$objext)
@@ -7429,8 +7645,8 @@ func_mode_link ()
*)
# Unknown arguments in both finalize_command and compile_command need
# to be aesthetically quoted because they are evaled later.
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
;;
esac # arg
@@ -7571,10 +7787,7 @@ func_mode_link ()
case $pass in
dlopen) libs=$dlfiles ;;
dlpreopen) libs=$dlprefiles ;;
- link)
- libs="$deplibs %DEPLIBS%"
- test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
- ;;
+ link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
esac
fi
if test lib,dlpreopen = "$linkmode,$pass"; then
@@ -7893,19 +8106,19 @@ func_mode_link ()
# It is a libtool convenience library, so add in its objects.
func_append convenience " $ladir/$objdir/$old_library"
func_append old_convenience " $ladir/$objdir/$old_library"
- tmp_libs=
- for deplib in $dependency_libs; do
- deplibs="$deplib $deplibs"
- if $opt_preserve_dup_deps; then
- case "$tmp_libs " in
- *" $deplib "*) func_append specialdeplibs " $deplib" ;;
- esac
- fi
- func_append tmp_libs " $deplib"
- done
elif test prog != "$linkmode" && test lib != "$linkmode"; then
func_fatal_error "'$lib' is not a convenience library"
fi
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+ if $opt_preserve_dup_deps; then
+ case "$tmp_libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append tmp_libs " $deplib"
+ done
continue
fi # $pass = conv
@@ -8829,9 +9042,6 @@ func_mode_link ()
revision=$number_minor
lt_irix_increment=no
;;
- *)
- func_fatal_configuration "$modename: unknown library version type '$version_type'"
- ;;
esac
;;
no)
@@ -9942,8 +10152,8 @@ EOF
for cmd in $concat_cmds; do
IFS=$save_ifs
$opt_quiet || {
- func_quote_for_expand "$cmd"
- eval "func_echo $func_quote_for_expand_result"
+ func_quote_arg expand,pretty "$cmd"
+ eval "func_echo $func_quote_arg_result"
}
$opt_dry_run || eval "$cmd" || {
lt_exit=$?
@@ -10036,8 +10246,8 @@ EOF
eval cmd=\"$cmd\"
IFS=$save_ifs
$opt_quiet || {
- func_quote_for_expand "$cmd"
- eval "func_echo $func_quote_for_expand_result"
+ func_quote_arg expand,pretty "$cmd"
+ eval "func_echo $func_quote_arg_result"
}
$opt_dry_run || eval "$cmd" || {
lt_exit=$?
@@ -10511,12 +10721,13 @@ EOF
elif eval var_value=\$$var; test -z "$var_value"; then
relink_command="$var=; export $var; $relink_command"
else
- func_quote_for_eval "$var_value"
- relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ func_quote_arg pretty "$var_value"
+ relink_command="$var=$func_quote_arg_result; export $var; $relink_command"
fi
done
- relink_command="(cd `pwd`; $relink_command)"
- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+ func_quote eval cd "`pwd`"
+ func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)"
+ relink_command=$func_quote_arg_unquoted_result
fi
# Only actually do things if not in dry run mode.
@@ -10756,13 +10967,15 @@ EOF
elif eval var_value=\$$var; test -z "$var_value"; then
relink_command="$var=; export $var; $relink_command"
else
- func_quote_for_eval "$var_value"
- relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ func_quote_arg pretty,unquoted "$var_value"
+ relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command"
fi
done
# Quote the link command for shipping.
- relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+ func_quote eval cd "`pwd`"
+ relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+ func_quote_arg pretty,unquoted "$relink_command"
+ relink_command=$func_quote_arg_unquoted_result
if test yes = "$hardcode_automatic"; then
relink_command=
fi
diff --git a/m4/gtk-doc.m4 b/m4/gtk-doc.m4
index 3675543..2d12f01 100644
--- a/m4/gtk-doc.m4
+++ b/m4/gtk-doc.m4
@@ -1,4 +1,29 @@
-dnl -*- mode: autoconf -*-
+# -*- mode: autoconf -*-
+#
+# gtk-doc.m4 - configure macro to check for gtk-doc
+# Copyright (C) 2003 James Henstridge
+# 2007-2017 Stefan Sauer
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception, the above copyright owner gives unlimited
+# permission to copy, distribute and modify the configure scripts that
+# are the output of Autoconf when processing the Macro. You need not
+# follow the terms of the GNU General Public License when using or
+# distributing such scripts, even though portions of the text of the
+# Macro appear in them. The GNU General Public License (GPL) does govern
+# all other use of the material that constitutes the Autoconf Macro.
# serial 2
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index ee80844..b55a6e5 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1,6 +1,6 @@
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
#
-# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 1996-2001, 2003-2018 Free Software Foundation, Inc.
# Written by Gordon Matzigkeit, 1996
#
# This file is free software; the Free Software Foundation gives
@@ -219,8 +219,8 @@ esac
ofile=libtool
can_build_shared=yes
-# All known linkers require a '.a' archive for static linking (except MSVC,
-# which needs '.lib').
+# All known linkers require a '.a' archive for static linking (except MSVC and
+# ICC, which need '.lib').
libext=a
with_gnu_ld=$lt_cv_prog_gnu_ld
@@ -728,6 +728,7 @@ _LT_CONFIG_SAVE_COMMANDS([
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
# Generated automatically by $as_me ($PACKAGE) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
# Provide generalized library-building support services.
@@ -1041,8 +1042,8 @@ int forced_loaded() { return 2;}
_LT_EOF
echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
- echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
- $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+ echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+ $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
$RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
cat > conftest.c << _LT_EOF
@@ -1492,9 +1493,22 @@ need_locks=$enable_libtool_lock
m4_defun([_LT_PROG_AR],
[AC_CHECK_TOOLS(AR, [ar], false)
: ${AR=ar}
-: ${AR_FLAGS=cru}
_LT_DECL([], [AR], [1], [The archiver])
-_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
+
+# Use ARFLAGS variable as AR's operation code to sync the variable naming with
+# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
+# higher priority because thats what people were doing historically (setting
+# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS
+# variable obsoleted/removed.
+
+test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
+lt_ar_flags=$AR_FLAGS
+_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)])
+
+# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override
+# by AR_FLAGS because that was never working and AR_FLAGS is about to die.
+_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}],
+ [Flags to create an archive])
AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
[lt_cv_ar_at_file=no
@@ -2206,26 +2220,35 @@ m4_defun([_LT_CMD_STRIPLIB],
striplib=
old_striplib=
AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- AC_MSG_RESULT([yes])
+if test -z "$STRIP"; then
+ AC_MSG_RESULT([no])
else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP"; then
+ if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ old_striplib="$STRIP --strip-debug"
+ striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+ else
+ case $host_os in
+ darwin*)
+ # FIXME - insert some real tests, host_os isn't really good enough
striplib="$STRIP -x"
old_striplib="$STRIP -S"
AC_MSG_RESULT([yes])
- else
+ ;;
+ freebsd*)
+ if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then
+ old_striplib="$STRIP --strip-debug"
+ striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ ;;
+ *)
AC_MSG_RESULT([no])
- fi
- ;;
- *)
- AC_MSG_RESULT([no])
- ;;
- esac
+ ;;
+ esac
+ fi
fi
_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
_LT_DECL([], [striplib], [1])
@@ -2564,8 +2587,8 @@ m4_if([$1], [],[
dynamic_linker='Win32 ld.exe'
;;
- *,cl*)
- # Native MSVC
+ *,cl* | *,icl*)
+ # Native MSVC or ICC
libname_spec='$name'
soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
library_names_spec='$libname.dll.lib'
@@ -2621,7 +2644,7 @@ m4_if([$1], [],[
;;
*)
- # Assume MSVC wrapper
+ # Assume MSVC and ICC wrapper
library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
dynamic_linker='Win32 ld.exe'
;;
@@ -2886,18 +2909,6 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
dynamic_linker='GNU/Linux ld.so'
;;
-netbsdelf*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='NetBSD ld.elf_so'
- ;;
-
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -3557,7 +3568,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd* | netbsdelf*-gnu)
+netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
else
@@ -4021,7 +4032,7 @@ for ac_symprfx in "" "_"; do
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
# Fake it for dumpbin and say T for any non-static function,
# D for any global variable and I for any imported variable.
- # Also find C++ and __fastcall symbols from MSVC++,
+ # Also find C++ and __fastcall symbols from MSVC++ or ICC,
# which start with @ or ?.
lt_cv_sys_global_symbol_pipe="$AWK ['"\
" {last_section=section; section=\$ 3};"\
@@ -4435,7 +4446,7 @@ m4_if([$1], [CXX], [
;;
esac
;;
- netbsd* | netbsdelf*-gnu)
+ netbsd*)
;;
*qnx* | *nto*)
# QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -4930,7 +4941,7 @@ m4_if([$1], [CXX], [
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
_LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
- _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
;;
pw32*)
@@ -4938,7 +4949,7 @@ m4_if([$1], [CXX], [
;;
cygwin* | mingw* | cegcc*)
case $cc_basename in
- cl*)
+ cl* | icl*)
_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
;;
*)
@@ -4947,9 +4958,6 @@ m4_if([$1], [CXX], [
;;
esac
;;
- linux* | k*bsd*-gnu | gnu*)
- _LT_TAGVAR(link_all_deplibs, $1)=no
- ;;
*)
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
;;
@@ -4998,23 +5006,20 @@ dnl Note also adjust exclude_expsyms for C++ above.
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
+ # Microsoft Visual C++ or Intel C++ Compiler.
if test yes != "$GCC"; then
with_gnu_ld=no
fi
;;
interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
+ # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
with_gnu_ld=yes
;;
openbsd* | bitrig*)
with_gnu_ld=no
;;
- linux* | k*bsd*-gnu | gnu*)
- _LT_TAGVAR(link_all_deplibs, $1)=no
- ;;
esac
_LT_TAGVAR(ld_shlibs, $1)=yes
@@ -5173,6 +5178,7 @@ _LT_EOF
emximp -o $lib $output_objdir/$libname.def'
_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
;;
interix[[3-9]]*)
@@ -5269,7 +5275,7 @@ _LT_EOF
fi
;;
- netbsd* | netbsdelf*-gnu)
+ netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
@@ -5390,7 +5396,7 @@ _LT_EOF
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
_LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
- _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
@@ -5573,12 +5579,12 @@ _LT_EOF
cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
+ # Microsoft Visual C++ or Intel C++ Compiler.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
case $cc_basename in
- cl*)
- # Native MSVC
+ cl* | icl*)
+ # Native MSVC or ICC
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
_LT_TAGVAR(always_export_symbols, $1)=yes
@@ -5619,7 +5625,7 @@ _LT_EOF
fi'
;;
*)
- # Assume MSVC wrapper
+ # Assume MSVC and ICC wrapper
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
# Tell ltmain to make .lib files, not .a files.
@@ -5790,7 +5796,6 @@ _LT_EOF
if test yes = "$lt_cv_irix_exported_symbol"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
fi
- _LT_TAGVAR(link_all_deplibs, $1)=no
else
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
@@ -5812,7 +5817,7 @@ _LT_EOF
esac
;;
- netbsd* | netbsdelf*-gnu)
+ netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
@@ -5879,6 +5884,7 @@ _LT_EOF
emximp -o $lib $output_objdir/$libname.def'
_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
;;
osf3*)
@@ -6649,8 +6655,8 @@ if test yes != "$_lt_caught_CXX_error"; then
cygwin* | mingw* | pw32* | cegcc*)
case $GXX,$cc_basename in
- ,cl* | no,cl*)
- # Native MSVC
+ ,cl* | no,cl* | ,icl* | no,icl*)
+ # Native MSVC or ICC
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
@@ -6748,6 +6754,7 @@ if test yes != "$_lt_caught_CXX_error"; then
emximp -o $lib $output_objdir/$libname.def'
_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
;;
dgux*)
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
index 94b0829..07421d9 100644
--- a/m4/ltoptions.m4
+++ b/m4/ltoptions.m4
@@ -1,6 +1,6 @@
# Helper functions for option handling. -*- Autoconf -*-
#
-# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
+# Copyright (C) 2004-2005, 2007-2009, 2011-2018 Free Software
# Foundation, Inc.
# Written by Gary V. Vaughan, 2004
#
diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4
index 48bc934..3985c56 100644
--- a/m4/ltsugar.m4
+++ b/m4/ltsugar.m4
@@ -1,6 +1,6 @@
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
#
-# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
+# Copyright (C) 2004-2005, 2007-2008, 2011-2018 Free Software
# Foundation, Inc.
# Written by Gary V. Vaughan, 2004
#
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
index fa04b52..86b2ad7 100644
--- a/m4/ltversion.m4
+++ b/m4/ltversion.m4
@@ -1,6 +1,6 @@
# ltversion.m4 -- version numbers -*- Autoconf -*-
#
-# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2011-2018 Free Software Foundation, Inc.
# Written by Scott James Remnant, 2004
#
# This file is free software; the Free Software Foundation gives
@@ -9,15 +9,15 @@
# @configure_input@
-# serial 4179 ltversion.m4
+# serial 4221 ltversion.m4
# This file is part of GNU Libtool
-m4_define([LT_PACKAGE_VERSION], [2.4.6])
-m4_define([LT_PACKAGE_REVISION], [2.4.6])
+m4_define([LT_PACKAGE_VERSION], [2.4.6.42-b88ce])
+m4_define([LT_PACKAGE_REVISION], [2.4.6.42])
AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4.6'
-macro_revision='2.4.6'
+[macro_version='2.4.6.42-b88ce'
+macro_revision='2.4.6.42'
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
_LT_DECL(, macro_revision, 0)
])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
index c6b26f8..54ea1c4 100644
--- a/m4/lt~obsolete.m4
+++ b/m4/lt~obsolete.m4
@@ -1,6 +1,6 @@
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
#
-# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
+# Copyright (C) 2004-2005, 2007, 2009, 2011-2018 Free Software
# Foundation, Inc.
# Written by Scott James Remnant, 2004.
#
diff --git a/missing b/missing
index f62bbae..625aeb1 100755
--- a/missing
+++ b/missing
@@ -1,9 +1,9 @@
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2013-10-28.13; # UTC
+scriptversion=2018-03-07.03; # UTC
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
@@ -17,7 +17,7 @@ scriptversion=2013-10-28.13; # UTC
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -101,9 +101,9 @@ else
exit $st
fi
-perl_URL=http://www.perl.org/
-flex_URL=http://flex.sourceforge.net/
-gnu_software_URL=http://www.gnu.org/software
+perl_URL=https://www.perl.org/
+flex_URL=https://github.com/westes/flex
+gnu_software_URL=https://www.gnu.org/software
program_details ()
{
@@ -207,9 +207,9 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \
exit $st
# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff --git a/src/Makefile.in b/src/Makefile.in
index beba71c..9614bb0 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -187,6 +187,15 @@ mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = harfbuzz-config.cmake
CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libdir)" \
+ "$(DESTDIR)$(cmakedir)" "$(DESTDIR)$(girdir)" \
+ "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(typelibdir)" \
+ "$(DESTDIR)$(pkgincludedir)" "$(DESTDIR)$(pkgincludedir)"
+am__EXEEXT_1 =
+am__EXEEXT_2 = test-iter$(EXEEXT) test-ot-tag$(EXEEXT) \
+ test-unicode-ranges$(EXEEXT)
+@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@am__EXEEXT_3 = test-ot-color$(EXEEXT)
+PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -214,10 +223,6 @@ am__uninstall_files_from_dir = { \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
- "$(DESTDIR)$(cmakedir)" "$(DESTDIR)$(girdir)" \
- "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(typelibdir)" \
- "$(DESTDIR)$(pkgincludedir)" "$(DESTDIR)$(pkgincludedir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
@HAVE_GOBJECT_TRUE@libharfbuzz_gobject_la_DEPENDENCIES = \
@@ -424,11 +429,6 @@ am__objects_35 = $(am__objects_8) $(am__objects_28) $(am__objects_29) \
$(am__objects_33) $(am__objects_34)
am_libharfbuzz_la_OBJECTS = $(am__objects_27) $(am__objects_35)
libharfbuzz_la_OBJECTS = $(am_libharfbuzz_la_OBJECTS)
-am__EXEEXT_1 =
-am__EXEEXT_2 = test-iter$(EXEEXT) test-ot-tag$(EXEEXT) \
- test-unicode-ranges$(EXEEXT)
-@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@am__EXEEXT_3 = test-ot-color$(EXEEXT)
-PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
am_dump_indic_data_OBJECTS = \
dump_indic_data-dump-indic-data.$(OBJEXT) \
dump_indic_data-hb-ot-shape-complex-indic-table.$(OBJEXT)
@@ -511,7 +511,90 @@ am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/dump_indic_data-dump-indic-data.Po \
+ ./$(DEPDIR)/dump_indic_data-hb-ot-shape-complex-indic-table.Po \
+ ./$(DEPDIR)/dump_khmer_data-dump-khmer-data.Po \
+ ./$(DEPDIR)/dump_khmer_data-hb-ot-shape-complex-indic-table.Po \
+ ./$(DEPDIR)/dump_myanmar_data-dump-myanmar-data.Po \
+ ./$(DEPDIR)/dump_myanmar_data-hb-ot-shape-complex-indic-table.Po \
+ ./$(DEPDIR)/dump_use_data-dump-use-data.Po \
+ ./$(DEPDIR)/dump_use_data-hb-ot-shape-complex-use-table.Po \
+ ./$(DEPDIR)/libharfbuzz_gobject_la-hb-gobject-enums.Plo \
+ ./$(DEPDIR)/libharfbuzz_gobject_la-hb-gobject-structs.Plo \
+ ./$(DEPDIR)/libharfbuzz_icu_la-hb-icu.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-aat-layout.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-aat-map.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-blob.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-buffer-serialize.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-buffer.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-common.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-coretext.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-directwrite.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-face.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-fallback-shape.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-font.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ft.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-glib.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-graphite2.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-icu.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-map.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-cff1-table.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-cff2-table.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-color.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-face.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-font.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-layout.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-map.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-math.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-name-language.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-name.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-arabic.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-default.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-hangul.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-hebrew.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-indic-table.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-indic.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-khmer.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-myanmar.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-thai.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-use-table.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-use.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-vowel-constraints.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-fallback.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-normalize.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-tag.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ot-var.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-set.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-shape-plan.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-shape.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-shaper.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-static.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-ucdn.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-unicode.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-uniscribe.Plo \
+ ./$(DEPDIR)/libharfbuzz_la-hb-warning.Plo \
+ ./$(DEPDIR)/libharfbuzz_subset_la-hb-ot-cff1-table.Plo \
+ ./$(DEPDIR)/libharfbuzz_subset_la-hb-ot-cff2-table.Plo \
+ ./$(DEPDIR)/libharfbuzz_subset_la-hb-static.Plo \
+ ./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-cff-common.Plo \
+ ./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-cff1.Plo \
+ ./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-cff2.Plo \
+ ./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-glyf.Plo \
+ ./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-input.Plo \
+ ./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-plan.Plo \
+ ./$(DEPDIR)/libharfbuzz_subset_la-hb-subset.Plo \
+ ./$(DEPDIR)/main-main.Po ./$(DEPDIR)/test-test.Po \
+ ./$(DEPDIR)/test_buffer_serialize-test-buffer-serialize.Po \
+ ./$(DEPDIR)/test_iter-hb-static.Po \
+ ./$(DEPDIR)/test_iter-test-iter.Po \
+ ./$(DEPDIR)/test_name_table-test-name-table.Po \
+ ./$(DEPDIR)/test_ot_color-test-ot-color.Po \
+ ./$(DEPDIR)/test_ot_tag-hb-ot-tag.Po \
+ ./$(DEPDIR)/test_size_params-test-size-params.Po \
+ ./$(DEPDIR)/test_unicode_ranges-test-unicode-ranges.Po \
+ ./$(DEPDIR)/test_would_substitute-test-would-substitute.Po
am__mv = mv -f
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
@@ -601,7 +684,7 @@ am__recursive_targets = \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- check recheck distdir
+ check recheck distdir distdir-am
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
@@ -1009,7 +1092,6 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -1481,8 +1563,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(srcdir)/Makefile.sources $(am__empty):
@@ -1496,53 +1578,6 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
harfbuzz-config.cmake: $(top_builddir)/config.status $(srcdir)/harfbuzz-config.cmake.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
- }
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-
-libharfbuzz-gobject.la: $(libharfbuzz_gobject_la_OBJECTS) $(libharfbuzz_gobject_la_DEPENDENCIES) $(EXTRA_libharfbuzz_gobject_la_DEPENDENCIES)
- $(AM_V_GEN)$(libharfbuzz_gobject_la_LINK) $(am_libharfbuzz_gobject_la_rpath) $(libharfbuzz_gobject_la_OBJECTS) $(libharfbuzz_gobject_la_LIBADD) $(LIBS)
-
-libharfbuzz-icu.la: $(libharfbuzz_icu_la_OBJECTS) $(libharfbuzz_icu_la_DEPENDENCIES) $(EXTRA_libharfbuzz_icu_la_DEPENDENCIES)
- $(AM_V_CXXLD)$(libharfbuzz_icu_la_LINK) $(am_libharfbuzz_icu_la_rpath) $(libharfbuzz_icu_la_OBJECTS) $(libharfbuzz_icu_la_LIBADD) $(LIBS)
-
-libharfbuzz-subset.la: $(libharfbuzz_subset_la_OBJECTS) $(libharfbuzz_subset_la_DEPENDENCIES) $(EXTRA_libharfbuzz_subset_la_DEPENDENCIES)
- $(AM_V_CXXLD)$(libharfbuzz_subset_la_LINK) -rpath $(libdir) $(libharfbuzz_subset_la_OBJECTS) $(libharfbuzz_subset_la_LIBADD) $(LIBS)
-
-libharfbuzz.la: $(libharfbuzz_la_OBJECTS) $(libharfbuzz_la_DEPENDENCIES) $(EXTRA_libharfbuzz_la_DEPENDENCIES)
- $(AM_V_GEN)$(libharfbuzz_la_LINK) -rpath $(libdir) $(libharfbuzz_la_OBJECTS) $(libharfbuzz_la_LIBADD) $(LIBS)
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
@@ -1627,6 +1662,53 @@ clean-noinstPROGRAMS:
echo " rm -f" $$list; \
rm -f $$list
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
+
+uninstall-libLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
+ done
+
+clean-libLTLIBRARIES:
+ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+ @list='$(lib_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+libharfbuzz-gobject.la: $(libharfbuzz_gobject_la_OBJECTS) $(libharfbuzz_gobject_la_DEPENDENCIES) $(EXTRA_libharfbuzz_gobject_la_DEPENDENCIES)
+ $(AM_V_GEN)$(libharfbuzz_gobject_la_LINK) $(am_libharfbuzz_gobject_la_rpath) $(libharfbuzz_gobject_la_OBJECTS) $(libharfbuzz_gobject_la_LIBADD) $(LIBS)
+
+libharfbuzz-icu.la: $(libharfbuzz_icu_la_OBJECTS) $(libharfbuzz_icu_la_DEPENDENCIES) $(EXTRA_libharfbuzz_icu_la_DEPENDENCIES)
+ $(AM_V_CXXLD)$(libharfbuzz_icu_la_LINK) $(am_libharfbuzz_icu_la_rpath) $(libharfbuzz_icu_la_OBJECTS) $(libharfbuzz_icu_la_LIBADD) $(LIBS)
+
+libharfbuzz-subset.la: $(libharfbuzz_subset_la_OBJECTS) $(libharfbuzz_subset_la_DEPENDENCIES) $(EXTRA_libharfbuzz_subset_la_DEPENDENCIES)
+ $(AM_V_CXXLD)$(libharfbuzz_subset_la_LINK) -rpath $(libdir) $(libharfbuzz_subset_la_OBJECTS) $(libharfbuzz_subset_la_LIBADD) $(LIBS)
+
+libharfbuzz.la: $(libharfbuzz_la_OBJECTS) $(libharfbuzz_la_DEPENDENCIES) $(EXTRA_libharfbuzz_la_DEPENDENCIES)
+ $(AM_V_GEN)$(libharfbuzz_la_LINK) -rpath $(libdir) $(libharfbuzz_la_OBJECTS) $(libharfbuzz_la_LIBADD) $(LIBS)
+
dump-indic-data$(EXEEXT): $(dump_indic_data_OBJECTS) $(dump_indic_data_DEPENDENCIES) $(EXTRA_dump_indic_data_DEPENDENCIES)
@rm -f dump-indic-data$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(dump_indic_data_OBJECTS) $(dump_indic_data_LDADD) $(LIBS)
@@ -1689,90 +1771,96 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_indic_data-dump-indic-data.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_indic_data-hb-ot-shape-complex-indic-table.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_khmer_data-dump-khmer-data.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_khmer_data-hb-ot-shape-complex-indic-table.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_myanmar_data-dump-myanmar-data.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_myanmar_data-hb-ot-shape-complex-indic-table.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_use_data-dump-use-data.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_use_data-hb-ot-shape-complex-use-table.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_gobject_la-hb-gobject-enums.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_gobject_la-hb-gobject-structs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_icu_la-hb-icu.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-aat-layout.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-aat-map.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-blob.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-buffer-serialize.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-buffer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-common.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-coretext.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-directwrite.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-face.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-fallback-shape.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-font.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ft.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-glib.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-graphite2.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-icu.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-map.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-cff1-table.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-cff2-table.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-color.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-face.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-font.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-layout.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-map.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-math.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-name-language.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-arabic.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-default.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-hangul.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-hebrew.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-indic-table.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-indic.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-khmer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-myanmar.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-thai.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-use-table.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-use.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-vowel-constraints.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-fallback.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-normalize.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-tag.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-var.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-set.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-shape-plan.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-shape.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-shaper.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-static.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ucdn.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-unicode.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-uniscribe.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-warning.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-ot-cff1-table.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-ot-cff2-table.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-static.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-cff-common.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-cff1.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-cff2.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-glyf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-input.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-plan.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-subset.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main-main.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-test.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_buffer_serialize-test-buffer-serialize.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_iter-hb-static.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_iter-test-iter.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_name_table-test-name-table.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_ot_color-test-ot-color.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_ot_tag-hb-ot-tag.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_size_params-test-size-params.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_unicode_ranges-test-unicode-ranges.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_would_substitute-test-would-substitute.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_indic_data-dump-indic-data.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_indic_data-hb-ot-shape-complex-indic-table.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_khmer_data-dump-khmer-data.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_khmer_data-hb-ot-shape-complex-indic-table.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_myanmar_data-dump-myanmar-data.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_myanmar_data-hb-ot-shape-complex-indic-table.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_use_data-dump-use-data.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_use_data-hb-ot-shape-complex-use-table.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_gobject_la-hb-gobject-enums.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_gobject_la-hb-gobject-structs.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_icu_la-hb-icu.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-aat-layout.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-aat-map.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-blob.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-buffer-serialize.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-buffer.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-common.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-coretext.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-directwrite.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-face.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-fallback-shape.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-font.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ft.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-glib.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-graphite2.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-icu.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-map.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-cff1-table.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-cff2-table.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-color.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-face.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-font.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-layout.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-map.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-math.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-name-language.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-arabic.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-default.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-hangul.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-hebrew.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-indic-table.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-indic.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-khmer.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-myanmar.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-thai.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-use-table.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-use.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-vowel-constraints.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-fallback.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-normalize.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-tag.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-var.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-set.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-shape-plan.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-shape.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-shaper.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-static.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ucdn.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-unicode.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-uniscribe.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-warning.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-ot-cff1-table.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-ot-cff2-table.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-static.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-cff-common.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-cff1.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-cff2.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-glyf.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-input.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-plan.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-subset.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main-main.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-test.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_buffer_serialize-test-buffer-serialize.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_iter-hb-static.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_iter-test-iter.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_name_table-test-name-table.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_ot_color-test-ot-color.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_ot_tag-hb-ot-tag.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_size_params-test-size-params.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_unicode_ranges-test-unicode-ranges.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_would_substitute-test-would-substitute.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.cc.o:
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -2867,7 +2955,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
fi; \
$$success || exit 1
-check-TESTS:
+check-TESTS: $(check_PROGRAMS) $(dist_check_SCRIPTS)
@list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
@@ -2973,7 +3061,10 @@ test-unicode-ranges.log: test-unicode-ranges$(EXEEXT)
@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -3034,12 +3125,12 @@ check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) check-recursive
-all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA) $(HEADERS)
+all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) $(DATA) $(HEADERS)
install-binPROGRAMS: install-libLTLIBRARIES
installdirs: installdirs-recursive
installdirs-am:
- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(cmakedir)" "$(DESTDIR)$(girdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(typelibdir)" "$(DESTDIR)$(pkgincludedir)" "$(DESTDIR)$(pkgincludedir)"; do \
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cmakedir)" "$(DESTDIR)$(girdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(typelibdir)" "$(DESTDIR)$(pkgincludedir)" "$(DESTDIR)$(pkgincludedir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: $(BUILT_SOURCES)
@@ -3087,7 +3178,90 @@ clean-am: clean-binPROGRAMS clean-checkPROGRAMS clean-generic \
mostlyclean-am
distclean: distclean-recursive
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/dump_indic_data-dump-indic-data.Po
+ -rm -f ./$(DEPDIR)/dump_indic_data-hb-ot-shape-complex-indic-table.Po
+ -rm -f ./$(DEPDIR)/dump_khmer_data-dump-khmer-data.Po
+ -rm -f ./$(DEPDIR)/dump_khmer_data-hb-ot-shape-complex-indic-table.Po
+ -rm -f ./$(DEPDIR)/dump_myanmar_data-dump-myanmar-data.Po
+ -rm -f ./$(DEPDIR)/dump_myanmar_data-hb-ot-shape-complex-indic-table.Po
+ -rm -f ./$(DEPDIR)/dump_use_data-dump-use-data.Po
+ -rm -f ./$(DEPDIR)/dump_use_data-hb-ot-shape-complex-use-table.Po
+ -rm -f ./$(DEPDIR)/libharfbuzz_gobject_la-hb-gobject-enums.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_gobject_la-hb-gobject-structs.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_icu_la-hb-icu.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-aat-layout.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-aat-map.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-blob.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-buffer-serialize.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-buffer.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-common.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-coretext.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-directwrite.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-face.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-fallback-shape.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-font.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ft.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-glib.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-graphite2.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-icu.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-map.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-cff1-table.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-cff2-table.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-color.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-face.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-font.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-layout.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-map.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-math.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-name-language.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-name.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-arabic.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-default.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-hangul.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-hebrew.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-indic-table.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-indic.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-khmer.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-myanmar.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-thai.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-use-table.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-use.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-vowel-constraints.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-fallback.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-normalize.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-tag.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-var.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-set.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-shape-plan.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-shape.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-shaper.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-static.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ucdn.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-unicode.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-uniscribe.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-warning.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_subset_la-hb-ot-cff1-table.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_subset_la-hb-ot-cff2-table.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_subset_la-hb-static.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-cff-common.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-cff1.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-cff2.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-glyf.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-input.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-plan.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_subset_la-hb-subset.Plo
+ -rm -f ./$(DEPDIR)/main-main.Po
+ -rm -f ./$(DEPDIR)/test-test.Po
+ -rm -f ./$(DEPDIR)/test_buffer_serialize-test-buffer-serialize.Po
+ -rm -f ./$(DEPDIR)/test_iter-hb-static.Po
+ -rm -f ./$(DEPDIR)/test_iter-test-iter.Po
+ -rm -f ./$(DEPDIR)/test_name_table-test-name-table.Po
+ -rm -f ./$(DEPDIR)/test_ot_color-test-ot-color.Po
+ -rm -f ./$(DEPDIR)/test_ot_tag-hb-ot-tag.Po
+ -rm -f ./$(DEPDIR)/test_size_params-test-size-params.Po
+ -rm -f ./$(DEPDIR)/test_unicode_ranges-test-unicode-ranges.Po
+ -rm -f ./$(DEPDIR)/test_would_substitute-test-would-substitute.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -3135,7 +3309,90 @@ install-ps-am:
installcheck-am: installcheck-binPROGRAMS
maintainer-clean: maintainer-clean-recursive
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/dump_indic_data-dump-indic-data.Po
+ -rm -f ./$(DEPDIR)/dump_indic_data-hb-ot-shape-complex-indic-table.Po
+ -rm -f ./$(DEPDIR)/dump_khmer_data-dump-khmer-data.Po
+ -rm -f ./$(DEPDIR)/dump_khmer_data-hb-ot-shape-complex-indic-table.Po
+ -rm -f ./$(DEPDIR)/dump_myanmar_data-dump-myanmar-data.Po
+ -rm -f ./$(DEPDIR)/dump_myanmar_data-hb-ot-shape-complex-indic-table.Po
+ -rm -f ./$(DEPDIR)/dump_use_data-dump-use-data.Po
+ -rm -f ./$(DEPDIR)/dump_use_data-hb-ot-shape-complex-use-table.Po
+ -rm -f ./$(DEPDIR)/libharfbuzz_gobject_la-hb-gobject-enums.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_gobject_la-hb-gobject-structs.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_icu_la-hb-icu.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-aat-layout.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-aat-map.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-blob.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-buffer-serialize.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-buffer.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-common.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-coretext.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-directwrite.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-face.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-fallback-shape.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-font.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ft.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-glib.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-graphite2.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-icu.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-map.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-cff1-table.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-cff2-table.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-color.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-face.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-font.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-layout.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-map.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-math.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-name-language.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-name.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-arabic.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-default.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-hangul.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-hebrew.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-indic-table.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-indic.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-khmer.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-myanmar.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-thai.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-use-table.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-use.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-vowel-constraints.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-fallback.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-normalize.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-shape.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-tag.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ot-var.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-set.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-shape-plan.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-shape.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-shaper.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-static.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-ucdn.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-unicode.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-uniscribe.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-warning.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_subset_la-hb-ot-cff1-table.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_subset_la-hb-ot-cff2-table.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_subset_la-hb-static.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-cff-common.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-cff1.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-cff2.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-glyf.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-input.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-plan.Plo
+ -rm -f ./$(DEPDIR)/libharfbuzz_subset_la-hb-subset.Plo
+ -rm -f ./$(DEPDIR)/main-main.Po
+ -rm -f ./$(DEPDIR)/test-test.Po
+ -rm -f ./$(DEPDIR)/test_buffer_serialize-test-buffer-serialize.Po
+ -rm -f ./$(DEPDIR)/test_iter-hb-static.Po
+ -rm -f ./$(DEPDIR)/test_iter-test-iter.Po
+ -rm -f ./$(DEPDIR)/test_name_table-test-name-table.Po
+ -rm -f ./$(DEPDIR)/test_ot_color-test-ot-color.Po
+ -rm -f ./$(DEPDIR)/test_ot_tag-hb-ot-tag.Po
+ -rm -f ./$(DEPDIR)/test_size_params-test-size-params.Po
+ -rm -f ./$(DEPDIR)/test_unicode_ranges-test-unicode-ranges.Po
+ -rm -f ./$(DEPDIR)/test_would_substitute-test-would-substitute.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -3160,28 +3417,29 @@ uninstall-am: uninstall-binPROGRAMS uninstall-cmakeDATA \
.MAKE: $(am__recursive_targets) all check check-am install install-am \
install-strip
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
- check-TESTS check-am clean clean-binPROGRAMS \
- clean-checkPROGRAMS clean-generic clean-libLTLIBRARIES \
- clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
- ctags-am distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-binPROGRAMS \
- install-cmakeDATA install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-girDATA \
- install-html install-html-am install-info install-info-am \
- install-libLTLIBRARIES install-man \
- install-nodist_pkgincludeHEADERS install-pdf install-pdf-am \
- install-pkgconfigDATA install-pkgincludeHEADERS install-ps \
- install-ps-am install-strip install-typelibDATA installcheck \
- installcheck-am installcheck-binPROGRAMS installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am recheck tags tags-am \
- uninstall uninstall-am uninstall-binPROGRAMS \
- uninstall-cmakeDATA uninstall-girDATA uninstall-libLTLIBRARIES \
- uninstall-nodist_pkgincludeHEADERS uninstall-pkgconfigDATA \
- uninstall-pkgincludeHEADERS uninstall-typelibDATA
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+ am--depfiles check check-TESTS check-am clean \
+ clean-binPROGRAMS clean-checkPROGRAMS clean-generic \
+ clean-libLTLIBRARIES clean-libtool clean-noinstPROGRAMS \
+ cscopelist-am ctags ctags-am distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-binPROGRAMS install-cmakeDATA install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-girDATA install-html install-html-am \
+ install-info install-info-am install-libLTLIBRARIES \
+ install-man install-nodist_pkgincludeHEADERS install-pdf \
+ install-pdf-am install-pkgconfigDATA install-pkgincludeHEADERS \
+ install-ps install-ps-am install-strip install-typelibDATA \
+ installcheck installcheck-am installcheck-binPROGRAMS \
+ installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ recheck tags tags-am uninstall uninstall-am \
+ uninstall-binPROGRAMS uninstall-cmakeDATA uninstall-girDATA \
+ uninstall-libLTLIBRARIES uninstall-nodist_pkgincludeHEADERS \
+ uninstall-pkgconfigDATA uninstall-pkgincludeHEADERS \
+ uninstall-typelibDATA
.PRECIOUS: Makefile
diff --git a/src/check-symbols.sh b/src/check-symbols.sh
index cea8684..423d186 100755
--- a/src/check-symbols.sh
+++ b/src/check-symbols.sh
@@ -26,7 +26,7 @@ for soname in harfbuzz harfbuzz-subset harfbuzz-icu harfbuzz-gobject; do
symprefix=
if test $suffix = dylib; then symprefix=_; fi
- EXPORTED_SYMBOLS="`nm "$so" | grep ' [BCDGINRST] .' | grep -v " $symprefix\\($IGNORED_SYMBOLS\\>\\)" | cut -d' ' -f3 | c++filt`"
+ EXPORTED_SYMBOLS=`nm "$so" | grep ' [BCDGINRST] .' | grep -v " $symprefix\\($IGNORED_SYMBOLS\\>\\)" | cut -d' ' -f3 | c++filt`
prefix=$symprefix`basename "$so" | sed 's/libharfbuzz/hb/; s/-/_/g; s/[.].*//'`
diff --git a/src/gen-indic-table.py b/src/gen-indic-table.py
index 6532ee7..eedf420 100755
--- a/src/gen-indic-table.py
+++ b/src/gen-indic-table.py
@@ -79,10 +79,6 @@ data = combined
del combined
num = len (data)
-for u in [0x17CD, 0x17CE, 0x17CF, 0x17D0, 0x17D3]:
- if data[u][0] == 'Other':
- data[u][0] = "Vowel_Dependent"
-
# Move the outliers NO-BREAK SPACE and DOTTED CIRCLE out
singles = {}
for u in ALLOWED_SINGLES:
diff --git a/src/gen-use-table.py b/src/gen-use-table.py
index be204b6..029e66e 100755
--- a/src/gen-use-table.py
+++ b/src/gen-use-table.py
@@ -48,7 +48,6 @@ defaults = ('Other', 'Not_Applicable', 'Cn', 'No_Block')
# TODO Characters that are not in Unicode Indic files, but used in USE
data[0][0x034F] = defaults[0]
data[0][0x2060] = defaults[0]
-data[0][0x20F0] = defaults[0]
# TODO https://github.com/roozbehp/unicode-data/issues/9
data[0][0x11C44] = 'Consonant_Placeholder'
data[0][0x11C45] = 'Consonant_Placeholder'
@@ -317,12 +316,11 @@ def map_to_use(data):
# Resolve Indic_Syllabic_Category
- # TODO: These don't have UISC assigned in Unicode 8.0, but have UIPC
- if U == 0x17DD: UISC = Vowel_Dependent
+ # TODO: These don't have UISC assigned in Unicode 12.0, but have UIPC
if 0x1CE2 <= U <= 0x1CE8: UISC = Cantillation_Mark
# Tibetan:
- # TODO: These don't have UISC assigned in Unicode 11.0, but have UIPC
+ # TODO: These don't have UISC assigned in Unicode 12.0, but have UIPC
if 0x0F18 <= U <= 0x0F19 or 0x0F3E <= U <= 0x0F3F: UISC = Vowel_Dependent
if 0x0F86 <= U <= 0x0F87: UISC = Tone_Mark
# Overrides to allow NFC order matching syllable
@@ -347,13 +345,7 @@ def map_to_use(data):
if U == 0x1CED: UISC = Tone_Mark
# TODO: https://github.com/harfbuzz/harfbuzz/issues/525
- if U == 0x1A7F: UISC = Consonant_Final; UIPC = Bottom
-
- # TODO: https://github.com/harfbuzz/harfbuzz/pull/609
- if U == 0x20F0: UISC = Cantillation_Mark; UIPC = Top
-
- # TODO: https://github.com/harfbuzz/harfbuzz/pull/626
- if U == 0xA8B4: UISC = Consonant_Medial
+ if U == 0x1A7F: UISC = Consonant_Final
# TODO: https://github.com/harfbuzz/harfbuzz/issues/1105
if U == 0x11134: UISC = Gemination_Mark
@@ -367,27 +359,19 @@ def map_to_use(data):
# Resolve Indic_Positional_Category
- # TODO: Not in Unicode 8.0 yet, but in spec.
- if U == 0x1B6C: UIPC = Bottom
-
- # TODO: These should die, but have UIPC in Unicode 8.0
+ # TODO: These should die, but have UIPC in Unicode 12.0
if U in [0x953, 0x954]: UIPC = Not_Applicable
- # TODO: In USE's override list but not in Unicode 11.0
+ # TODO: In USE's override list but not in Unicode 12.0
if U == 0x103C: UIPC = Left
- # TODO: These are not in USE's override list that we have, nor are they in Unicode 11.0
+ # TODO: These are not in USE's override list that we have, nor are they in Unicode 12.0
if 0xA926 <= U <= 0xA92A: UIPC = Top
- if U == 0x111CA: UIPC = Bottom
- if U == 0x11300: UIPC = Top
# TODO: https://github.com/harfbuzz/harfbuzz/pull/1037
- if U == 0x11302: UIPC = Top
- if U == 0x1133C: UIPC = Bottom
- if U == 0x1171E: UIPC = Left # Correct?!
- if 0x1CF2 <= U <= 0x1CF3: UIPC = Right
+ # and https://github.com/harfbuzz/harfbuzz/issues/1631
+ if U in [0x11302, 0x11303, 0x114C1]: UIPC = Top
+ if U == 0x1171E: UIPC = Left
if 0x1CF8 <= U <= 0x1CF9: UIPC = Top
- # https://github.com/roozbehp/unicode-data/issues/8
- if U == 0x0A51: UIPC = Bottom
assert (UIPC in [Not_Applicable, Visual_Order_Left] or
USE in use_positions), "%s %s %s %s %s" % (hex(U), UIPC, USE, UISC, UGC)
diff --git a/src/gen-vowel-constraints.py b/src/gen-vowel-constraints.py
index b7f6be2..afb21d9 100755
--- a/src/gen-vowel-constraints.py
+++ b/src/gen-vowel-constraints.py
@@ -180,6 +180,9 @@ print ('_hb_preprocess_text_vowel_constraints (const hb_ot_shape_plan_t *plan HB
print ('\t\t\t\t hb_buffer_t *buffer,')
print ('\t\t\t\t hb_font_t *font HB_UNUSED)')
print ('{')
+print (' if (buffer->flags & HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE)')
+print (' return;')
+print ()
print (' /* UGLY UGLY UGLY business of adding dotted-circle in the middle of')
print (' * vowel-sequences that look like another vowel. Data for each script')
print (' * collected from the USE script development spec.')
@@ -212,6 +215,7 @@ print (' if (processed)')
print (' {')
print (' if (buffer->idx < count)')
print (' buffer->next_glyph ();')
+print (' buffer->swap_buffers ();')
print (' }')
print ('}')
diff --git a/src/hb-aat-layout-ankr-table.hh b/src/hb-aat-layout-ankr-table.hh
index 236e4aa..4087b8c 100644
--- a/src/hb-aat-layout-ankr-table.hh
+++ b/src/hb-aat-layout-ankr-table.hh
@@ -76,6 +76,7 @@ struct ankr
TRACE_SANITIZE (this);
return_trace (likely (c->check_struct (this) &&
version == 0 &&
+ c->check_range (this, anchorData) &&
lookupTable.sanitize (c, this, &(this+anchorData))));
}
diff --git a/src/hb-aat-layout-common.hh b/src/hb-aat-layout-common.hh
index 27ade28..2508276 100644
--- a/src/hb-aat-layout-common.hh
+++ b/src/hb-aat-layout-common.hh
@@ -418,15 +418,11 @@ struct Lookup
} /* Close namespace. */
/* Ugly hand-coded null objects for template Lookup<> :(. */
extern HB_INTERNAL const unsigned char _hb_Null_AAT_Lookup[2];
-template <>
-/*static*/ inline const AAT::Lookup<OT::HBUINT16>& Null<AAT::Lookup<OT::HBUINT16> > ()
-{ return *reinterpret_cast<const AAT::Lookup<OT::HBUINT16> *> (_hb_Null_AAT_Lookup); }
-template <>
-/*static*/ inline const AAT::Lookup<OT::HBUINT32>& Null<AAT::Lookup<OT::HBUINT32> > ()
-{ return *reinterpret_cast<const AAT::Lookup<OT::HBUINT32> *> (_hb_Null_AAT_Lookup); }
-template <>
-/*static*/ inline const AAT::Lookup<OT::Offset<OT::HBUINT16, false> >& Null<AAT::Lookup<OT::Offset<OT::HBUINT16, false> > > ()
-{ return *reinterpret_cast<const AAT::Lookup<OT::Offset<OT::HBUINT16, false> > *> (_hb_Null_AAT_Lookup); }
+template <typename T>
+struct Null<AAT::Lookup<T> > {
+ static AAT::Lookup<T> const & get_null ()
+ { return *reinterpret_cast<const AAT::Lookup<T> *> (_hb_Null_AAT_Lookup); }
+};
namespace AAT {
enum { DELETED_GLYPH = 0xFFFF };
diff --git a/src/hb-atomic.hh b/src/hb-atomic.hh
index 9321932..f9afd4f 100644
--- a/src/hb-atomic.hh
+++ b/src/hb-atomic.hh
@@ -85,11 +85,11 @@ _hb_atomic_ptr_impl_cmplexch (const void **P, const void *O_, const void *N)
#define hb_atomic_int_impl_add(AI, V) (reinterpret_cast<std::atomic<int> *> (AI)->fetch_add ((V), std::memory_order_acq_rel))
#define hb_atomic_int_impl_set_relaxed(AI, V) (reinterpret_cast<std::atomic<int> *> (AI)->store ((V), std::memory_order_relaxed))
#define hb_atomic_int_impl_set(AI, V) (reinterpret_cast<std::atomic<int> *> (AI)->store ((V), std::memory_order_release))
-#define hb_atomic_int_impl_get_relaxed(AI) (reinterpret_cast<std::atomic<int> *> (AI)->load (std::memory_order_relaxed))
-#define hb_atomic_int_impl_get(AI) (reinterpret_cast<std::atomic<int> *> (AI)->load (std::memory_order_acquire))
+#define hb_atomic_int_impl_get_relaxed(AI) (reinterpret_cast<std::atomic<int> const *> (AI)->load (std::memory_order_relaxed))
+#define hb_atomic_int_impl_get(AI) (reinterpret_cast<std::atomic<int> const *> (AI)->load (std::memory_order_acquire))
#define hb_atomic_ptr_impl_set_relaxed(P, V) (reinterpret_cast<std::atomic<void*> *> (P)->store ((V), std::memory_order_relaxed))
-#define hb_atomic_ptr_impl_get_relaxed(P) (reinterpret_cast<std::atomic<void*> *> (P)->load (std::memory_order_relaxed))
+#define hb_atomic_ptr_impl_get_relaxed(P) (reinterpret_cast<std::atomic<void*> const *> (P)->load (std::memory_order_relaxed))
#define hb_atomic_ptr_impl_get(P) (reinterpret_cast<std::atomic<void*> *> (P)->load (std::memory_order_acquire))
static inline bool
_hb_atomic_ptr_impl_cmplexch (const void **P, const void *O_, const void *N)
@@ -184,7 +184,7 @@ static inline bool _hb_compare_and_swap_ptr (void **P, void *O, void *N)
#endif
-#elif !defined(HB_NO_MT) && defined(_AIX) && defined(__IBMCPP__)
+#elif !defined(HB_NO_MT) && defined(_AIX) && (defined(__IBMCPP__) || defined(__ibmxl__))
#include <builtins.h>
diff --git a/src/hb-buffer.h b/src/hb-buffer.h
index f989d25..ac1d452 100644
--- a/src/hb-buffer.h
+++ b/src/hb-buffer.h
@@ -284,6 +284,10 @@ hb_buffer_guess_segment_properties (hb_buffer_t *buffer);
* space glyph and zeroing the advance width.)
* @HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES takes
* precedence over this flag. Since: 1.8.0
+ * @HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE:
+ * flag indicating that a dotted circle should
+ * not be inserted in the rendering of incorrect
+ * character sequences (such at <0905 093E>). Since: 2.4
*
* Since: 0.9.20
*/
@@ -292,7 +296,8 @@ typedef enum { /*< flags >*/
HB_BUFFER_FLAG_BOT = 0x00000001u, /* Beginning-of-text */
HB_BUFFER_FLAG_EOT = 0x00000002u, /* End-of-text */
HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES = 0x00000004u,
- HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES = 0x00000008u
+ HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES = 0x00000008u,
+ HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE = 0x00000010u
} hb_buffer_flags_t;
HB_EXTERN void
diff --git a/src/hb-common.cc b/src/hb-common.cc
index 93f5b79..ab93bf4 100644
--- a/src/hb-common.cc
+++ b/src/hb-common.cc
@@ -731,7 +731,7 @@ parse_uint (const char **pp, const char *end, unsigned int *pv)
/* Intentionally use strtol instead of strtoul, such that
* -1 turns into "big number"... */
errno = 0;
- v = strtol (p, &pend, 0);
+ v = strtol (p, &pend, 10);
if (errno || p == pend)
return false;
@@ -755,7 +755,7 @@ parse_uint32 (const char **pp, const char *end, uint32_t *pv)
/* Intentionally use strtol instead of strtoul, such that
* -1 turns into "big number"... */
errno = 0;
- v = strtol (p, &pend, 0);
+ v = strtol (p, &pend, 10);
if (errno || p == pend)
return false;
@@ -857,9 +857,14 @@ parse_bool (const char **pp, const char *end, uint32_t *pv)
(*pp)++;
/* CSS allows on/off as aliases 1/0. */
- if (*pp - p == 2 && 0 == strncmp (p, "on", 2))
+ if (*pp - p == 2
+ && TOLOWER (p[0]) == 'o'
+ && TOLOWER (p[1]) == 'n')
*pv = 1;
- else if (*pp - p == 3 && 0 == strncmp (p, "off", 3))
+ else if (*pp - p == 3
+ && TOLOWER (p[0]) == 'o'
+ && TOLOWER (p[1]) == 'f'
+ && TOLOWER (p[2]) == 'f')
*pv = 0;
else
return false;
@@ -974,7 +979,41 @@ parse_one_feature (const char **pp, const char *end, hb_feature_t *feature)
*
* Parses a string into a #hb_feature_t.
*
- * TODO: document the syntax here.
+ * The format for specifying feature strings follows. All valid CSS
+ * font-feature-settings values other than 'normal' and the global values are
+ * also accepted, though not documented below. CSS string escapes are not
+ * supported.
+ *
+ * The range indices refer to the positions between Unicode characters. The
+ * position before the first character is always 0.
+ *
+ * The format is Python-esque. Here is how it all works:
+ *
+ * <informaltable pgwide='1' align='left' frame='none'>
+ * <tgroup cols='5'>
+ * <thead>
+ * <row><entry>Syntax</entry> <entry>Value</entry> <entry>Start</entry> <entry>End</entry></row>
+ * </thead>
+ * <tbody>
+ * <row><entry>Setting value:</entry></row>
+ * <row><entry>kern</entry> <entry>1</entry> <entry>0</entry> <entry>∞</entry> <entry>Turn feature on</entry></row>
+ * <row><entry>+kern</entry> <entry>1</entry> <entry>0</entry> <entry>∞</entry> <entry>Turn feature on</entry></row>
+ * <row><entry>-kern</entry> <entry>0</entry> <entry>0</entry> <entry>∞</entry> <entry>Turn feature off</entry></row>
+ * <row><entry>kern=0</entry> <entry>0</entry> <entry>0</entry> <entry>∞</entry> <entry>Turn feature off</entry></row>
+ * <row><entry>kern=1</entry> <entry>1</entry> <entry>0</entry> <entry>∞</entry> <entry>Turn feature on</entry></row>
+ * <row><entry>aalt=2</entry> <entry>2</entry> <entry>0</entry> <entry>∞</entry> <entry>Choose 2nd alternate</entry></row>
+ * <row><entry>Setting index:</entry></row>
+ * <row><entry>kern[]</entry> <entry>1</entry> <entry>0</entry> <entry>∞</entry> <entry>Turn feature on</entry></row>
+ * <row><entry>kern[:]</entry> <entry>1</entry> <entry>0</entry> <entry>∞</entry> <entry>Turn feature on</entry></row>
+ * <row><entry>kern[5:]</entry> <entry>1</entry> <entry>5</entry> <entry>∞</entry> <entry>Turn feature on, partial</entry></row>
+ * <row><entry>kern[:5]</entry> <entry>1</entry> <entry>0</entry> <entry>5</entry> <entry>Turn feature on, partial</entry></row>
+ * <row><entry>kern[3:5]</entry> <entry>1</entry> <entry>3</entry> <entry>5</entry> <entry>Turn feature on, range</entry></row>
+ * <row><entry>kern[3]</entry> <entry>1</entry> <entry>3</entry> <entry>3+1</entry> <entry>Turn feature on, single char</entry></row>
+ * <row><entry>Mixing it all:</entry></row>
+ * <row><entry>aalt[3:5]=2</entry> <entry>2</entry> <entry>3</entry> <entry>5</entry> <entry>Turn 2nd alternate on for range</entry></row>
+ * </tbody>
+ * </tgroup>
+ * </informaltable>
*
* Return value:
* %true if @str is successfully parsed, %false otherwise.
diff --git a/src/hb-common.h b/src/hb-common.h
index 2b29e44..fbabd71 100644
--- a/src/hb-common.h
+++ b/src/hb-common.h
@@ -357,6 +357,14 @@ typedef enum
/*11.0*/HB_SCRIPT_OLD_SOGDIAN = HB_TAG ('S','o','g','o'),
/*11.0*/HB_SCRIPT_SOGDIAN = HB_TAG ('S','o','g','d'),
+ /*
+ * Since REPLACEME
+ */
+ /*12.0*/HB_SCRIPT_ELYMAIC = HB_TAG ('E','l','y','m'),
+ /*12.0*/HB_SCRIPT_NANDINAGARI = HB_TAG ('N','a','n','d'),
+ /*12.0*/HB_SCRIPT_NYIAKENG_PUACHUE_HMONG = HB_TAG ('H','m','n','p'),
+ /*12.0*/HB_SCRIPT_WANCHO = HB_TAG ('W','c','h','o'),
+
/* No script set. */
HB_SCRIPT_INVALID = HB_TAG_NONE,
diff --git a/src/hb-coretext.cc b/src/hb-coretext.cc
index 42ea3ea..5989306 100644
--- a/src/hb-coretext.cc
+++ b/src/hb-coretext.cc
@@ -171,7 +171,7 @@ create_ct_font (CGFontRef cg_font, CGFloat font_size)
if (CFStringHasPrefix (cg_postscript_name, CFSTR (".SFNSText")) ||
CFStringHasPrefix (cg_postscript_name, CFSTR (".SFNSDisplay")))
{
-#if MAC_OS_X_VERSION_MIN_REQUIRED < 1080
+#if !(defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) && MAC_OS_X_VERSION_MIN_REQUIRED < 1080
# define kCTFontUIFontSystem kCTFontSystemFontType
# define kCTFontUIFontEmphasizedSystem kCTFontEmphasizedSystemFontType
#endif
@@ -214,7 +214,7 @@ create_ct_font (CGFontRef cg_font, CGFloat font_size)
}
CFURLRef original_url = nullptr;
-#if TARGET_OS_OSX && MAC_OS_X_VERSION_MIN_REQUIRED < 1060
+#if !(defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) && MAC_OS_X_VERSION_MIN_REQUIRED < 1060
ATSFontRef atsFont;
FSRef fsref;
OSStatus status;
@@ -244,7 +244,7 @@ create_ct_font (CGFontRef cg_font, CGFloat font_size)
* process in Blink. This can be detected by the new file URL location
* that the newly found font points to. */
CFURLRef new_url = nullptr;
-#if TARGET_OS_OSX && MAC_OS_X_VERSION_MIN_REQUIRED < 1060
+#if !(defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) && MAC_OS_X_VERSION_MIN_REQUIRED < 1060
atsFont = CTFontGetPlatformFont (new_ct_font, NULL);
status = ATSFontGetFileReference (atsFont, &fsref);
if (status == noErr)
@@ -711,7 +711,7 @@ resize_and_retry:
/* What's the iOS equivalent of this check?
* The symbols was introduced in iOS 7.0.
* At any rate, our fallback is safe and works fine. */
-#if MAC_OS_X_VERSION_MIN_REQUIRED < 1090
+#if !(defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) && MAC_OS_X_VERSION_MIN_REQUIRED < 1090
# define kCTLanguageAttributeName CFSTR ("NSLanguage")
#endif
CFStringRef lang = CFStringCreateWithCStringNoCopy (kCFAllocatorDefault,
@@ -783,7 +783,7 @@ resize_and_retry:
int level = HB_DIRECTION_IS_FORWARD (buffer->props.direction) ? 0 : 1;
CFNumberRef level_number = CFNumberCreate (kCFAllocatorDefault, kCFNumberIntType, &level);
-#if MAC_OS_X_VERSION_MIN_REQUIRED < 1060
+#if !(defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) && MAC_OS_X_VERSION_MIN_REQUIRED < 1060
extern const CFStringRef kCTTypesetterOptionForcedEmbeddingLevel;
#endif
CFDictionaryRef options = CFDictionaryCreate (kCFAllocatorDefault,
diff --git a/src/hb-directwrite.cc b/src/hb-directwrite.cc
index aaf10a1..137cd56 100644
--- a/src/hb-directwrite.cc
+++ b/src/hb-directwrite.cc
@@ -1,5 +1,5 @@
/*
- * Copyright © 2015-2018 Ebrahim Byagowi
+ * Copyright © 2015-2019 Ebrahim Byagowi
*
* This is part of HarfBuzz, a text shaping library.
*
@@ -658,10 +658,10 @@ retry_getglyphs:
* alignment needed after the WORD array. sizeof (WORD) == 2. */
unsigned int glyphs_size = (scratch_size * sizeof (int) - 2)
/ (sizeof (WORD) +
- sizeof (DWRITE_SHAPING_GLYPH_PROPERTIES) +
- sizeof (int) +
- sizeof (DWRITE_GLYPH_OFFSET) +
- sizeof (uint32_t));
+ sizeof (DWRITE_SHAPING_GLYPH_PROPERTIES) +
+ sizeof (int) +
+ sizeof (DWRITE_GLYPH_OFFSET) +
+ sizeof (uint32_t));
ALLOCATE_ARRAY (uint32_t, vis_clusters, glyphs_size);
#undef ALLOCATE_ARRAY
@@ -868,3 +868,63 @@ hb_directwrite_shape_experimental_width (hb_font_t *font,
return res;
}
+
+struct _hb_directwrite_font_table_context {
+ IDWriteFontFace *face;
+ void *table_context;
+};
+
+static void
+_hb_directwrite_table_data_release (void *data)
+{
+ _hb_directwrite_font_table_context *context = (_hb_directwrite_font_table_context *) data;
+ context->face->ReleaseFontTable (context->table_context);
+ delete context;
+}
+
+static hb_blob_t *
+reference_table (hb_face_t *face HB_UNUSED, hb_tag_t tag, void *user_data)
+{
+ IDWriteFontFace *dw_face = ((IDWriteFontFace *) user_data);
+ const void *data;
+ uint32_t length;
+ void *table_context;
+ BOOL exists;
+ if (!dw_face || FAILED (dw_face->TryGetFontTable (hb_uint32_swap (tag), &data,
+ &length, &table_context, &exists)))
+ return nullptr;
+
+ if (!data || !exists || !length)
+ {
+ dw_face->ReleaseFontTable (table_context);
+ return nullptr;
+ }
+
+ _hb_directwrite_font_table_context *context = new _hb_directwrite_font_table_context;
+ context->face = dw_face;
+ context->table_context = table_context;
+
+ return hb_blob_create ((const char *) data, length, HB_MEMORY_MODE_READONLY,
+ context, _hb_directwrite_table_data_release);
+}
+
+static void
+_hb_directwrite_font_release (void *data)
+{
+ if (data)
+ ((IDWriteFontFace *) data)->Release ();
+}
+
+/**
+ * hb_directwrite_face_create:
+ * @font_face:
+ * Since: REPLACEME
+ **/
+hb_face_t *
+hb_directwrite_face_create (IDWriteFontFace *font_face)
+{
+ if (font_face)
+ font_face->AddRef ();
+ return hb_face_create_for_tables (reference_table, font_face,
+ _hb_directwrite_font_release);
+}
diff --git a/src/hb-directwrite.h b/src/hb-directwrite.h
index 9bfd1f7..09776fd 100644
--- a/src/hb-directwrite.h
+++ b/src/hb-directwrite.h
@@ -1,5 +1,5 @@
/*
- * Copyright © 2015 Ebrahim Byagowi
+ * Copyright © 2015-2019 Ebrahim Byagowi
*
* This is part of HarfBuzz, a text shaping library.
*
@@ -34,6 +34,9 @@ hb_directwrite_shape_experimental_width (hb_font_t *font, hb_buffer_t *buffer,
const hb_feature_t *features,
unsigned int num_features, float width);
+HB_EXTERN hb_face_t *
+hb_directwrite_face_create (IDWriteFontFace *font_face);
+
HB_END_DECLS
#endif /* HB_DIRECTWRITE_H */
diff --git a/src/hb-dsalgs.hh b/src/hb-dsalgs.hh
index cb3057c..0da244f 100644
--- a/src/hb-dsalgs.hh
+++ b/src/hb-dsalgs.hh
@@ -299,33 +299,19 @@ hb_ceil_to_4 (unsigned int v)
}
template <typename T> struct hb_is_signed;
-template <> struct hb_is_signed<signed char> { enum { value = true }; };
-template <> struct hb_is_signed<signed short> { enum { value = true }; };
-template <> struct hb_is_signed<signed int> { enum { value = true }; };
-template <> struct hb_is_signed<signed long> { enum { value = true }; };
-template <> struct hb_is_signed<unsigned char> { enum { value = false }; };
-template <> struct hb_is_signed<unsigned short> { enum { value = false }; };
-template <> struct hb_is_signed<unsigned int> { enum { value = false }; };
-template <> struct hb_is_signed<unsigned long> { enum { value = false }; };
-/* We need to define hb_is_signed for the typedefs we use on pre-Visual
- * Studio 2010 for the int8_t type, since __int8/__int64 is not considered
- * the same as char/long. The previous lines will suffice for the other
- * types, though. Note that somehow, unsigned __int8 is considered same
- * as unsigned char.
- * https://github.com/harfbuzz/harfbuzz/pull/1499
- */
-#if defined(_MSC_VER) && (_MSC_VER < 1600)
-template <> struct hb_is_signed<__int8> { enum { value = true }; };
-#endif
+/* https://github.com/harfbuzz/harfbuzz/issues/1535 */
+template <> struct hb_is_signed<int8_t> { enum { value = true }; };
+template <> struct hb_is_signed<int16_t> { enum { value = true }; };
+template <> struct hb_is_signed<int32_t> { enum { value = true }; };
+template <> struct hb_is_signed<int64_t> { enum { value = true }; };
+template <> struct hb_is_signed<uint8_t> { enum { value = false }; };
+template <> struct hb_is_signed<uint16_t> { enum { value = false }; };
+template <> struct hb_is_signed<uint32_t> { enum { value = false }; };
+template <> struct hb_is_signed<uint64_t> { enum { value = false }; };
template <typename T> static inline bool
hb_in_range (T u, T lo, T hi)
{
- /* The sizeof() is here to force template instantiation.
- * I'm sure there are better ways to do this but can't think of
- * one right now. Declaring a variable won't work as HB_UNUSED
- * is unusable on some platforms and unused types are less likely
- * to generate a warning than unused variables. */
static_assert (!hb_is_signed<T>::value, "");
/* The casts below are important as if T is smaller than int,
diff --git a/src/hb-graphite2.cc b/src/hb-graphite2.cc
index a1c602c..fdb5453 100644
--- a/src/hb-graphite2.cc
+++ b/src/hb-graphite2.cc
@@ -225,7 +225,7 @@ struct hb_graphite2_cluster_t {
unsigned int base_glyph;
unsigned int num_glyphs;
unsigned int cluster;
- float advance;
+ unsigned int advance;
};
hb_bool_t
@@ -253,7 +253,7 @@ _hb_graphite2_shape (hb_shape_plan_t *shape_plan HB_UNUSED,
gr_segment *seg = nullptr;
const gr_slot *is;
unsigned int ci = 0, ic = 0;
- float curradvx = 0., curradvy = 0.;
+ unsigned int curradvx = 0, curradvy = 0;
unsigned int scratch_size;
hb_buffer_t::scratch_buffer_t *scratch = buffer->get_scratch_buffer (&scratch_size);
@@ -324,11 +324,15 @@ _hb_graphite2_shape (hb_shape_plan_t *shape_plan HB_UNUSED,
hb_codepoint_t *pg = gids;
clusters[0].cluster = buffer->info[0].cluster;
- float curradv = 0.;
+ unsigned int upem = hb_face_get_upem (face);
+ float xscale = (float) font->x_scale / upem;
+ float yscale = (float) font->y_scale / upem;
+ yscale *= yscale / xscale;
+ unsigned int curradv = 0;
if (HB_DIRECTION_IS_BACKWARD(buffer->props.direction))
{
- curradv = gr_slot_origin_X(gr_seg_first_slot(seg));
- clusters[0].advance = gr_seg_advance_X(seg) - curradv;
+ curradv = gr_slot_origin_X(gr_seg_first_slot(seg)) * xscale;
+ clusters[0].advance = gr_seg_advance_X(seg) * xscale - curradv;
}
else
clusters[0].advance = 0;
@@ -355,14 +359,17 @@ _hb_graphite2_shape (hb_shape_plan_t *shape_plan HB_UNUSED,
c->base_glyph = ic;
c->num_glyphs = 0;
if (HB_DIRECTION_IS_BACKWARD(buffer->props.direction))
- c->advance = curradv - gr_slot_origin_X(is);
+ {
+ c->advance = curradv - gr_slot_origin_X(is) * xscale;
+ curradv -= c->advance;
+ }
else
{
c->advance = 0;
- clusters[ci].advance += gr_slot_origin_X(is) - curradv;
+ clusters[ci].advance += gr_slot_origin_X(is) * xscale - curradv;
+ curradv += clusters[ci].advance;
}
ci++;
- curradv = gr_slot_origin_X(is);
}
clusters[ci].num_glyphs++;
@@ -373,7 +380,7 @@ _hb_graphite2_shape (hb_shape_plan_t *shape_plan HB_UNUSED,
if (HB_DIRECTION_IS_BACKWARD(buffer->props.direction))
clusters[ci].advance += curradv;
else
- clusters[ci].advance += gr_seg_advance_X(seg) - curradv;
+ clusters[ci].advance += gr_seg_advance_X(seg) * xscale - curradv;
ci++;
for (unsigned int i = 0; i < ci; ++i)
@@ -388,10 +395,6 @@ _hb_graphite2_shape (hb_shape_plan_t *shape_plan HB_UNUSED,
}
buffer->len = glyph_count;
- unsigned int upem = hb_face_get_upem (face);
- float xscale = (float) font->x_scale / upem;
- float yscale = (float) font->y_scale / upem;
- yscale *= yscale / xscale;
/* Positioning. */
unsigned int currclus = (unsigned int) -1;
const hb_glyph_info_t *info = buffer->info;
@@ -404,7 +407,7 @@ _hb_graphite2_shape (hb_shape_plan_t *shape_plan HB_UNUSED,
pPos->x_offset = gr_slot_origin_X (is) * xscale - curradvx;
pPos->y_offset = gr_slot_origin_Y (is) * yscale - curradvy;
if (info->cluster != currclus) {
- pPos->x_advance = info->var1.i32 * xscale;
+ pPos->x_advance = info->var1.i32;
curradvx += pPos->x_advance;
currclus = info->cluster;
} else
@@ -421,7 +424,7 @@ _hb_graphite2_shape (hb_shape_plan_t *shape_plan HB_UNUSED,
{
if (info->cluster != currclus)
{
- pPos->x_advance = info->var1.i32 * xscale;
+ pPos->x_advance = info->var1.i32;
curradvx -= pPos->x_advance;
currclus = info->cluster;
} else
@@ -429,7 +432,7 @@ _hb_graphite2_shape (hb_shape_plan_t *shape_plan HB_UNUSED,
pPos->y_advance = gr_slot_advance_Y (is, grface, nullptr) * yscale;
curradvy -= pPos->y_advance;
- pPos->x_offset = (gr_slot_origin_X (is) - info->var1.i32) * xscale - curradvx + pPos->x_advance;
+ pPos->x_offset = gr_slot_origin_X (is) * xscale - info->var1.i32 - curradvx + pPos->x_advance;
pPos->y_offset = gr_slot_origin_Y (is) * yscale - curradvy;
}
hb_buffer_reverse_clusters (buffer);
diff --git a/src/hb-machinery.hh b/src/hb-machinery.hh
index b22c238..ffa423d 100644
--- a/src/hb-machinery.hh
+++ b/src/hb-machinery.hh
@@ -326,27 +326,29 @@ struct hb_sanitize_context_t :
}
bool check_range (const void *base,
- unsigned int len) const
+ unsigned int len) const
{
const char *p = (const char *) base;
- bool ok = this->start <= p &&
- p <= this->end &&
- (unsigned int) (this->end - p) >= len &&
- this->max_ops-- > 0;
+ bool ok = !len ||
+ (this->start <= p &&
+ p <= this->end &&
+ (unsigned int) (this->end - p) >= len &&
+ this->max_ops-- > 0);
DEBUG_MSG_LEVEL (SANITIZE, p, this->debug_depth+1, 0,
- "check_range [%p..%p] (%d bytes) in [%p..%p] -> %s",
- p, p + len, len,
- this->start, this->end,
- ok ? "OK" : "OUT-OF-RANGE");
+ "check_range [%p..%p]"
+ " (%d bytes) in [%p..%p] -> %s",
+ p, p + len, len,
+ this->start, this->end,
+ ok ? "OK" : "OUT-OF-RANGE");
return likely (ok);
}
template <typename T>
bool check_range (const T *base,
- unsigned int a,
- unsigned int b) const
+ unsigned int a,
+ unsigned int b) const
{
return !hb_unsigned_mul_overflows (a, b) &&
this->check_range (base, a * b);
@@ -354,9 +356,9 @@ struct hb_sanitize_context_t :
template <typename T>
bool check_range (const T *base,
- unsigned int a,
- unsigned int b,
- unsigned int c) const
+ unsigned int a,
+ unsigned int b,
+ unsigned int c) const
{
return !hb_unsigned_mul_overflows (a, b) &&
this->check_range (base, a * b, c);
diff --git a/src/hb-map.hh b/src/hb-map.hh
index 02d5406..f7156e5 100644
--- a/src/hb-map.hh
+++ b/src/hb-map.hh
@@ -170,7 +170,7 @@ struct hb_map_t
void clear ()
{
- memset (items, 0xFF, ((size_t) mask + 1) * sizeof (item_t));
+ if (items) memset (items, 0xFF, ((size_t) mask + 1) * sizeof (item_t));
population = occupancy = 0;
}
diff --git a/src/hb-null.hh b/src/hb-null.hh
index 204c2fe..baddd99 100644
--- a/src/hb-null.hh
+++ b/src/hb-null.hh
@@ -105,15 +105,18 @@ hb_vector_size_impl_t const _hb_NullPool[(HB_NULL_POOL_SIZE + sizeof (hb_vector_
/* Generic nul-content Null objects. */
template <typename Type>
-static inline Type const & Null () {
- static_assert (hb_null_size (Type) <= HB_NULL_POOL_SIZE, "Increase HB_NULL_POOL_SIZE.");
- return *reinterpret_cast<Type const *> (_hb_NullPool);
-}
+struct Null {
+ static Type const & get_null ()
+ {
+ static_assert (hb_null_size (Type) <= HB_NULL_POOL_SIZE, "Increase HB_NULL_POOL_SIZE.");
+ return *reinterpret_cast<Type const *> (_hb_NullPool);
+ }
+};
template <typename QType>
struct NullHelper
{
typedef typename hb_remove_const (typename hb_remove_reference (QType)) Type;
- static const Type & get_null () { return Null<Type> (); }
+ static const Type & get_null () { return Null<Type>::get_null (); }
};
#define Null(Type) NullHelper<Type>::get_null ()
@@ -122,9 +125,11 @@ struct NullHelper
} /* Close namespace. */ \
extern HB_INTERNAL const unsigned char _hb_Null_##Namespace##_##Type[Namespace::Type::null_size]; \
template <> \
- /*static*/ inline const Namespace::Type& Null<Namespace::Type> () { \
- return *reinterpret_cast<const Namespace::Type *> (_hb_Null_##Namespace##_##Type); \
- } \
+ struct Null<Namespace::Type> { \
+ static Namespace::Type const & get_null () { \
+ return *reinterpret_cast<const Namespace::Type *> (_hb_Null_##Namespace##_##Type); \
+ } \
+ }; \
namespace Namespace { \
static_assert (true, "Just so we take semicolon after.")
#define DEFINE_NULL_NAMESPACE_BYTES(Namespace, Type) \
@@ -134,10 +139,12 @@ struct NullHelper
#define DECLARE_NULL_INSTANCE(Type) \
extern HB_INTERNAL const Type _hb_Null_##Type; \
template <> \
- /*static*/ inline const Type& Null<Type> () { \
- return _hb_Null_##Type; \
- } \
-static_assert (true, "Just so we take semicolon after.")
+ struct Null<Type> { \
+ static Type const & get_null () { \
+ return _hb_Null_##Type; \
+ } \
+ }; \
+ static_assert (true, "Just so we take semicolon after.")
#define DEFINE_NULL_INSTANCE(Type) \
const Type _hb_Null_##Type
diff --git a/src/hb-ot-cff-common.hh b/src/hb-ot-cff-common.hh
index c645953..61e615c 100644
--- a/src/hb-ot-cff-common.hh
+++ b/src/hb-ot-cff-common.hh
@@ -525,6 +525,7 @@ struct FDArray : CFFIndexOf<COUNT, FontDict>
for (unsigned i = 0; i < fontDicts.length; i++)
if (fdmap.includes (i))
{
+ if (unlikely (fid >= fdCount)) return_trace (false);
CFFIndexOf<COUNT, FontDict>::set_offset_at (fid++, offset);
offset += FontDict::calculate_serialized_size (fontDicts[i], opszr);
}
diff --git a/src/hb-ot-cff1-table.hh b/src/hb-ot-cff1-table.hh
index 1effdf0..9d39242 100644
--- a/src/hb-ot-cff1-table.hh
+++ b/src/hb-ot-cff1-table.hh
@@ -59,14 +59,14 @@ struct Encoding0 {
bool sanitize (hb_sanitize_context_t *c) const
{
TRACE_SANITIZE (this);
- return_trace (c->check_struct (this) && codes[nCodes - 1].sanitize (c));
+ return_trace (codes.sanitize (c));
}
hb_codepoint_t get_code (hb_codepoint_t glyph) const
{
assert (glyph > 0);
glyph--;
- if (glyph < nCodes)
+ if (glyph < nCodes ())
{
return (hb_codepoint_t)codes[glyph];
}
@@ -74,13 +74,12 @@ struct Encoding0 {
return CFF_UNDEF_CODE;
}
- unsigned int get_size () const
- { return HBUINT8::static_size * (nCodes + 1); }
+ HBUINT8 &nCodes () { return codes.len; }
+ HBUINT8 nCodes () const { return codes.len; }
- HBUINT8 nCodes;
- HBUINT8 codes[VAR];
+ ArrayOf<HBUINT8, HBUINT8> codes;
- DEFINE_SIZE_ARRAY(1, codes);
+ DEFINE_SIZE_ARRAY_SIZED (1, codes);
};
struct Encoding1_Range {
@@ -97,20 +96,17 @@ struct Encoding1_Range {
};
struct Encoding1 {
- unsigned int get_size () const
- { return HBUINT8::static_size + Encoding1_Range::static_size * nRanges; }
-
bool sanitize (hb_sanitize_context_t *c) const
{
TRACE_SANITIZE (this);
- return_trace (c->check_struct (this) && ((nRanges == 0) || (ranges[nRanges - 1]).sanitize (c)));
+ return_trace (ranges.sanitize (c));
}
hb_codepoint_t get_code (hb_codepoint_t glyph) const
{
assert (glyph > 0);
glyph--;
- for (unsigned int i = 0; i < nRanges; i++)
+ for (unsigned int i = 0; i < nRanges (); i++)
{
if (glyph <= ranges[i].nLeft)
{
@@ -121,10 +117,12 @@ struct Encoding1 {
return CFF_UNDEF_CODE;
}
- HBUINT8 nRanges;
- Encoding1_Range ranges[VAR];
+ HBUINT8 &nRanges () { return ranges.len; }
+ HBUINT8 nRanges () const { return ranges.len; }
- DEFINE_SIZE_ARRAY (1, ranges);
+ ArrayOf<Encoding1_Range, HBUINT8> ranges;
+
+ DEFINE_SIZE_ARRAY_SIZED (1, ranges);
};
struct SuppEncoding {
@@ -144,23 +142,22 @@ struct CFF1SuppEncData {
bool sanitize (hb_sanitize_context_t *c) const
{
TRACE_SANITIZE (this);
- return_trace (c->check_struct (this) && ((nSups == 0) || (supps[nSups - 1]).sanitize (c)));
+ return_trace (supps.sanitize (c));
}
void get_codes (hb_codepoint_t sid, hb_vector_t<hb_codepoint_t> &codes) const
{
- for (unsigned int i = 0; i < nSups; i++)
+ for (unsigned int i = 0; i < nSups (); i++)
if (sid == supps[i].glyph)
codes.push (supps[i].code);
}
- unsigned int get_size () const
- { return HBUINT8::static_size + SuppEncoding::static_size * nSups; }
+ HBUINT8 &nSups () { return supps.len; }
+ HBUINT8 nSups () const { return supps.len; }
- HBUINT8 nSups;
- SuppEncoding supps[VAR];
+ ArrayOf<SuppEncoding, HBUINT8> supps;
- DEFINE_SIZE_ARRAY (1, supps);
+ DEFINE_SIZE_ARRAY_SIZED (1, supps);
};
struct Encoding {
@@ -204,7 +201,7 @@ struct Encoding {
{
Encoding0 *fmt0 = c->allocate_size<Encoding0> (Encoding0::min_size + HBUINT8::static_size * enc_count);
if (unlikely (fmt0 == nullptr)) return_trace (false);
- fmt0->nCodes.set (enc_count);
+ fmt0->nCodes ().set (enc_count);
unsigned int glyph = 0;
for (unsigned int i = 0; i < code_ranges.length; i++)
{
@@ -219,7 +216,7 @@ struct Encoding {
{
Encoding1 *fmt1 = c->allocate_size<Encoding1> (Encoding1::min_size + Encoding1_Range::static_size * code_ranges.length);
if (unlikely (fmt1 == nullptr)) return_trace (false);
- fmt1->nRanges.set (code_ranges.length);
+ fmt1->nRanges ().set (code_ranges.length);
for (unsigned int i = 0; i < code_ranges.length; i++)
{
if (unlikely (!((code_ranges[i].code <= 0xFF) && (code_ranges[i].glyph <= 0xFF))))
@@ -232,7 +229,7 @@ struct Encoding {
{
CFF1SuppEncData *suppData = c->allocate_size<CFF1SuppEncData> (CFF1SuppEncData::min_size + SuppEncoding::static_size * supp_codes.length);
if (unlikely (suppData == nullptr)) return_trace (false);
- suppData->nSups.set (supp_codes.length);
+ suppData->nSups ().set (supp_codes.length);
for (unsigned int i = 0; i < supp_codes.length; i++)
{
suppData->supps[i].code.set (supp_codes[i].code);
@@ -291,9 +288,9 @@ struct Encoding {
const CFF1SuppEncData &suppEncData () const
{
if ((format & 0x7F) == 0)
- return StructAfter<CFF1SuppEncData> (u.format0.codes[u.format0.nCodes-1]);
+ return StructAfter<CFF1SuppEncData> (u.format0.codes[u.format0.nCodes ()-1]);
else
- return StructAfter<CFF1SuppEncData> (u.format1.ranges[u.format1.nRanges-1]);
+ return StructAfter<CFF1SuppEncData> (u.format1.ranges[u.format1.nRanges ()-1]);
}
public:
diff --git a/src/hb-ot-font.cc b/src/hb-ot-font.cc
index 20b09df..94a9fdc 100644
--- a/src/hb-ot-font.cc
+++ b/src/hb-ot-font.cc
@@ -52,7 +52,7 @@
* @short_description: OpenType font implementation
* @include: hb-ot.h
*
- * Functions for using OpenType fonts with hb_shape(). Not that fonts returned
+ * Functions for using OpenType fonts with hb_shape(). Note that fonts returned
* by hb_font_create() default to using these functions, so most clients would
* never need to call these functions directly.
**/
diff --git a/src/hb-ot-hdmx-table.hh b/src/hb-ot-hdmx-table.hh
index 95229c5..953ccab 100644
--- a/src/hb-ot-hdmx-table.hh
+++ b/src/hb-ot-hdmx-table.hh
@@ -57,16 +57,19 @@ struct DeviceRecord
}
unsigned int len () const
- { return this->subset_plan->glyphs.length; }
+ { return this->subset_plan->num_output_glyphs (); }
- const HBUINT8* operator [] (unsigned int i) const
+ const HBUINT8* operator [] (unsigned int new_gid) const
{
- if (unlikely (i >= len ())) return nullptr;
- hb_codepoint_t gid = this->subset_plan->glyphs [i];
+ if (unlikely (new_gid >= len ())) return nullptr;
- if (gid >= sizeDeviceRecord - DeviceRecord::min_size)
+ hb_codepoint_t old_gid;
+ if (!this->subset_plan->old_gid_for_new_gid (new_gid, &old_gid))
+ return &Null(HBUINT8);
+
+ if (old_gid >= sizeDeviceRecord - DeviceRecord::min_size)
return nullptr;
- return &(this->source_device_record->widthsZ[gid]);
+ return &(this->source_device_record->widthsZ[old_gid]);
}
};
@@ -140,7 +143,7 @@ struct hdmx
this->version.set (source_hdmx->version);
this->numRecords.set (source_hdmx->numRecords);
- this->sizeDeviceRecord.set (DeviceRecord::get_size (plan->glyphs.length));
+ this->sizeDeviceRecord.set (DeviceRecord::get_size (plan->num_output_glyphs ()));
for (unsigned int i = 0; i < source_hdmx->numRecords; i++)
{
@@ -156,7 +159,7 @@ struct hdmx
static size_t get_subsetted_size (const hdmx *source_hdmx, hb_subset_plan_t *plan)
{
- return min_size + source_hdmx->numRecords * DeviceRecord::get_size (plan->glyphs.length);
+ return min_size + source_hdmx->numRecords * DeviceRecord::get_size (plan->num_output_glyphs ());
}
bool subset (hb_subset_plan_t *plan) const
diff --git a/src/hb-ot-hmtx-table.hh b/src/hb-ot-hmtx-table.hh
index a95a56f..9ef1f57 100644
--- a/src/hb-ot-hmtx-table.hh
+++ b/src/hb-ot-hmtx-table.hh
@@ -66,7 +66,7 @@ struct hmtxvmtx
bool subset_update_header (hb_subset_plan_t *plan,
- unsigned int num_hmetrics) const
+ unsigned int num_hmetrics) const
{
hb_blob_t *src_blob = hb_sanitize_context_t ().reference_table<H> (plan->source, H::tableTag);
hb_blob_t *dest_blob = hb_blob_copy_writable_or_fail (src_blob);
@@ -93,75 +93,49 @@ struct hmtxvmtx
/* All the trailing glyphs with the same advance can use one LongMetric
* and just keep LSB */
- hb_vector_t<hb_codepoint_t> &gids = plan->glyphs;
- unsigned int num_advances = gids.length;
- unsigned int last_advance = _mtx.get_advance (gids[num_advances - 1]);
- while (num_advances > 1 &&
- last_advance == _mtx.get_advance (gids[num_advances - 2]))
- {
- num_advances--;
- }
+ unsigned int num_output_glyphs = plan->num_output_glyphs ();
+ unsigned int num_advances = _mtx.num_advances_for_subset (plan);
/* alloc the new table */
size_t dest_sz = num_advances * 4
- + (gids.length - num_advances) * 2;
+ + (num_output_glyphs - num_advances) * 2;
void *dest = (void *) malloc (dest_sz);
if (unlikely (!dest))
{
return false;
}
DEBUG_MSG(SUBSET, nullptr, "%c%c%c%c in src has %d advances, %d lsbs", HB_UNTAG(T::tableTag), _mtx.num_advances, _mtx.num_metrics - _mtx.num_advances);
- DEBUG_MSG(SUBSET, nullptr, "%c%c%c%c in dest has %d advances, %d lsbs, %u bytes", HB_UNTAG(T::tableTag), num_advances, gids.length - num_advances, (unsigned int) dest_sz);
+ DEBUG_MSG(SUBSET, nullptr, "%c%c%c%c in dest has %d advances, %d lsbs, %u bytes",
+ HB_UNTAG(T::tableTag), num_advances, num_output_glyphs - num_advances, (unsigned int) dest_sz);
- const char *source_table = hb_blob_get_data (_mtx.table.get_blob (), nullptr);
// Copy everything over
- LongMetric * old_metrics = (LongMetric *) source_table;
- FWORD *lsbs = (FWORD *) (old_metrics + _mtx.num_advances);
char * dest_pos = (char *) dest;
bool failed = false;
- for (unsigned int i = 0; i < gids.length; i++)
+ for (unsigned int i = 0; i < num_output_glyphs; i++)
{
- /* the last metric or the one for gids[i] */
- LongMetric *src_metric = old_metrics + MIN ((hb_codepoint_t) _mtx.num_advances - 1, gids[i]);
- if (gids[i] < _mtx.num_advances)
+ unsigned int side_bearing = 0;
+ unsigned int advance = 0;
+ hb_codepoint_t old_gid;
+ if (plan->old_gid_for_new_gid (i, &old_gid))
+ {
+ // Glyph is not an empty glyph so copy advance and side bearing
+ // from the input font.
+ side_bearing = _mtx.get_side_bearing (old_gid);
+ advance = _mtx.get_advance (old_gid);
+ }
+
+ bool has_advance = i < num_advances;
+ if (has_advance)
{
- /* src is a LongMetric */
- if (i < num_advances)
- {
- /* dest is a LongMetric, copy it */
- *((LongMetric *) dest_pos) = *src_metric;
- }
- else
- {
- /* dest just sb */
- *((FWORD *) dest_pos) = src_metric->sb;
- }
+ ((LongMetric *) dest_pos)->advance.set (advance);
+ ((LongMetric *) dest_pos)->sb.set (side_bearing);
}
else
{
- if (gids[i] >= _mtx.num_metrics)
- {
- DEBUG_MSG(SUBSET, nullptr, "gid %d is >= number of source metrics %d",
- gids[i], _mtx.num_metrics);
- failed = true;
- break;
- }
- FWORD src_sb = *(lsbs + gids[i] - _mtx.num_advances);
- if (i < num_advances)
- {
- /* dest needs a full LongMetric */
- LongMetric *metric = (LongMetric *)dest_pos;
- metric->advance = src_metric->advance;
- metric->sb = src_sb;
- }
- else
- {
- /* dest just needs an sb */
- *((FWORD *) dest_pos) = src_sb;
- }
+ ((FWORD *) dest_pos)->set (side_bearing);
}
- dest_pos += (i < num_advances ? 4 : 2);
+ dest_pos += (has_advance ? 4 : 2);
}
_mtx.fini ();
@@ -187,7 +161,7 @@ struct hmtxvmtx
friend struct hmtxvmtx;
void init (hb_face_t *face,
- unsigned int default_advance_ = 0)
+ unsigned int default_advance_ = 0)
{
default_advance = default_advance_ ? default_advance_ : hb_face_get_upem (face);
@@ -280,6 +254,32 @@ struct hmtxvmtx
return advance;
}
+ unsigned int num_advances_for_subset (const hb_subset_plan_t *plan) const
+ {
+ unsigned int num_advances = plan->num_output_glyphs ();
+ unsigned int last_advance = _advance_for_new_gid (plan,
+ num_advances - 1);
+ while (num_advances > 1 &&
+ last_advance == _advance_for_new_gid (plan,
+ num_advances - 2))
+ {
+ num_advances--;
+ }
+
+ return num_advances;
+ }
+
+ private:
+ unsigned int _advance_for_new_gid (const hb_subset_plan_t *plan,
+ hb_codepoint_t new_gid) const
+ {
+ hb_codepoint_t old_gid;
+ if (!plan->old_gid_for_new_gid (new_gid, &old_gid))
+ return 0;
+
+ return get_advance (old_gid);
+ }
+
public:
bool has_font_extents;
int ascender;
diff --git a/src/hb-ot-layout-common.hh b/src/hb-ot-layout-common.hh
index 39a8bba..9b17225 100644
--- a/src/hb-ot-layout-common.hh
+++ b/src/hb-ot-layout-common.hh
@@ -1222,7 +1222,7 @@ struct ClassDefFormat1
bool subset (hb_subset_context_t *c) const
{
TRACE_SUBSET (this);
- const hb_set_t &glyphset = *c->plan->glyphset;
+ const hb_set_t &glyphset = *c->plan->glyphset ();
const hb_map_t &glyph_map = *c->plan->glyph_map;
hb_vector_t<GlyphID> glyphs;
hb_vector_t<HBUINT16> klasses;
@@ -1369,7 +1369,7 @@ struct ClassDefFormat2
bool subset (hb_subset_context_t *c) const
{
TRACE_SUBSET (this);
- const hb_set_t &glyphset = *c->plan->glyphset;
+ const hb_set_t &glyphset = *c->plan->glyphset ();
const hb_map_t &glyph_map = *c->plan->glyph_map;
hb_vector_t<GlyphID> glyphs;
hb_vector_t<HBUINT16> klasses;
diff --git a/src/hb-ot-layout-gsub-table.hh b/src/hb-ot-layout-gsub-table.hh
index 33b8f0e..cc10634 100644
--- a/src/hb-ot-layout-gsub-table.hh
+++ b/src/hb-ot-layout-gsub-table.hh
@@ -105,7 +105,7 @@ struct SingleSubstFormat1
bool subset (hb_subset_context_t *c) const
{
TRACE_SUBSET (this);
- const hb_set_t &glyphset = *c->plan->glyphset;
+ const hb_set_t &glyphset = *c->plan->glyphset ();
const hb_map_t &glyph_map = *c->plan->glyph_map;
hb_vector_t<GlyphID> from;
hb_vector_t<GlyphID> to;
@@ -202,7 +202,7 @@ struct SingleSubstFormat2
bool subset (hb_subset_context_t *c) const
{
TRACE_SUBSET (this);
- const hb_set_t &glyphset = *c->plan->glyphset;
+ const hb_set_t &glyphset = *c->plan->glyphset ();
const hb_map_t &glyph_map = *c->plan->glyph_map;
hb_vector_t<GlyphID> from;
hb_vector_t<GlyphID> to;
diff --git a/src/hb-ot-layout.cc b/src/hb-ot-layout.cc
index d32be04..1365a3e 100644
--- a/src/hb-ot-layout.cc
+++ b/src/hb-ot-layout.cc
@@ -958,19 +958,6 @@ hb_ot_layout_lookup_would_substitute (hb_face_t *face,
unsigned int glyphs_length,
hb_bool_t zero_context)
{
- return hb_ot_layout_lookup_would_substitute_fast (face,
- lookup_index,
- glyphs, glyphs_length,
- zero_context);
-}
-
-bool
-hb_ot_layout_lookup_would_substitute_fast (hb_face_t *face,
- unsigned int lookup_index,
- const hb_codepoint_t *glyphs,
- unsigned int glyphs_length,
- bool zero_context)
-{
if (unlikely (lookup_index >= face->table.GSUB->lookup_count)) return false;
OT::hb_would_apply_context_t c (face, glyphs, glyphs_length, (bool) zero_context);
diff --git a/src/hb-ot-layout.hh b/src/hb-ot-layout.hh
index a00b940..be7ef02 100644
--- a/src/hb-ot-layout.hh
+++ b/src/hb-ot-layout.hh
@@ -96,13 +96,6 @@ HB_MARK_AS_FLAG_T (hb_ot_layout_glyph_props_flags_t);
* GSUB/GPOS
*/
-HB_INTERNAL bool
-hb_ot_layout_lookup_would_substitute_fast (hb_face_t *face,
- unsigned int lookup_index,
- const hb_codepoint_t *glyphs,
- unsigned int glyphs_length,
- bool zero_context);
-
/* Should be called before all the substitute_lookup's are done. */
HB_INTERNAL void
@@ -215,7 +208,7 @@ _hb_glyph_info_set_unicode_props (hb_glyph_info_t *info, hb_buffer_t *buffer)
unsigned int gen_cat = (unsigned int) unicode->general_category (u);
unsigned int props = gen_cat;
- if (u >= 0x80)
+ if (u >= 0x80u)
{
buffer->scratch_flags |= HB_BUFFER_SCRATCH_FLAG_HAS_NON_ASCII;
@@ -232,10 +225,10 @@ _hb_glyph_info_set_unicode_props (hb_glyph_info_t *info, hb_buffer_t *buffer)
* FVSes are GC=Mn, we have use a separate bit to remember them.
* Fixes:
* https://github.com/harfbuzz/harfbuzz/issues/234 */
- else if (unlikely (hb_in_range (u, 0x180Bu, 0x180Du))) props |= UPROPS_MASK_HIDDEN;
+ else if (unlikely (hb_in_range<hb_codepoint_t> (u, 0x180Bu, 0x180Du))) props |= UPROPS_MASK_HIDDEN;
/* TAG characters need similar treatment. Fixes:
* https://github.com/harfbuzz/harfbuzz/issues/463 */
- else if (unlikely (hb_in_range (u, 0xE0020u, 0xE007Fu))) props |= UPROPS_MASK_HIDDEN;
+ else if (unlikely (hb_in_range<hb_codepoint_t> (u, 0xE0020u, 0xE007Fu))) props |= UPROPS_MASK_HIDDEN;
/* COMBINING GRAPHEME JOINER should not be skipped; at least some times.
* https://github.com/harfbuzz/harfbuzz/issues/554 */
else if (unlikely (u == 0x034Fu))
diff --git a/src/hb-ot-maxp-table.hh b/src/hb-ot-maxp-table.hh
index e4b67ab..10bd592 100644
--- a/src/hb-ot-maxp-table.hh
+++ b/src/hb-ot-maxp-table.hh
@@ -105,7 +105,7 @@ struct maxp
}
maxp *maxp_prime = (maxp *) hb_blob_get_data (maxp_prime_blob, nullptr);
- maxp_prime->set_num_glyphs (plan->glyphs.length);
+ maxp_prime->set_num_glyphs (plan->num_output_glyphs ());
if (plan->drop_hints)
drop_hint_fields (plan, maxp_prime);
diff --git a/src/hb-ot-shape-complex-arabic-table.hh b/src/hb-ot-shape-complex-arabic-table.hh
index 9459aad..719fabd 100644
--- a/src/hb-ot-shape-complex-arabic-table.hh
+++ b/src/hb-ot-shape-complex-arabic-table.hh
@@ -6,10 +6,10 @@
*
* on files with these headers:
*
- * # ArabicShaping-11.0.0.txt
- * # Date: 2018-02-21, 14:50:00 GMT [KW, RP]
- * # Blocks-11.0.0.txt
- * # Date: 2017-10-16, 24:39:00 GMT [KW]
+ * # ArabicShaping-12.0.0.txt
+ * # Date: 2018-09-22, 23:54:00 GMT [KW, RP]
+ * # Blocks-12.0.0.txt
+ * # Date: 2018-07-30, 19:40:00 GMT [KW]
* UnicodeData.txt does not have a header.
*/
@@ -152,9 +152,9 @@ static const uint8_t joining_table[] =
/* 1E900 */ D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,
/* 1E920 */ D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,
- /* 1E940 */ D,D,D,D,
+ /* 1E940 */ D,D,D,D,X,X,X,X,X,X,X,T,
-}; /* Table items: 1304; occupancy: 56% */
+}; /* Table items: 1312; occupancy: 56% */
static unsigned int
@@ -190,7 +190,7 @@ joining_type (hb_codepoint_t u)
break;
case 0x1Eu:
- if (hb_in_range<hb_codepoint_t> (u, 0x1E900u, 0x1E943u)) return joining_table[u - 0x1E900u + joining_offset_0x1e900u];
+ if (hb_in_range<hb_codepoint_t> (u, 0x1E900u, 0x1E94Bu)) return joining_table[u - 0x1E900u + joining_offset_0x1e900u];
break;
default:
diff --git a/src/hb-ot-shape-complex-arabic.cc b/src/hb-ot-shape-complex-arabic.cc
index 50a5213..bdebde0 100644
--- a/src/hb-ot-shape-complex-arabic.cc
+++ b/src/hb-ot-shape-complex-arabic.cc
@@ -467,7 +467,7 @@ apply_stch (const hb_ot_shape_plan_t *plan HB_UNUSED,
unsigned int j = new_len;
for (unsigned int i = count; i; i--)
{
- if (!hb_in_range<unsigned> (info[i - 1].arabic_shaping_action(), STCH_FIXED, STCH_REPEATING))
+ if (!hb_in_range<uint8_t> (info[i - 1].arabic_shaping_action(), STCH_FIXED, STCH_REPEATING))
{
if (step == CUT)
{
@@ -488,7 +488,7 @@ apply_stch (const hb_ot_shape_plan_t *plan HB_UNUSED,
unsigned int end = i;
while (i &&
- hb_in_range<unsigned> (info[i - 1].arabic_shaping_action(), STCH_FIXED, STCH_REPEATING))
+ hb_in_range<uint8_t> (info[i - 1].arabic_shaping_action(), STCH_FIXED, STCH_REPEATING))
{
i--;
hb_position_t width = font->get_glyph_h_advance (info[i].codepoint);
@@ -506,7 +506,7 @@ apply_stch (const hb_ot_shape_plan_t *plan HB_UNUSED,
unsigned int start = i;
unsigned int context = i;
while (context &&
- !hb_in_range<unsigned> (info[context - 1].arabic_shaping_action(), STCH_FIXED, STCH_REPEATING) &&
+ !hb_in_range<uint8_t> (info[context - 1].arabic_shaping_action(), STCH_FIXED, STCH_REPEATING) &&
(_hb_glyph_info_is_default_ignorable (&info[context - 1]) ||
HB_ARABIC_GENERAL_CATEGORY_IS_WORD (_hb_glyph_info_get_general_category (&info[context - 1]))))
{
diff --git a/src/hb-ot-shape-complex-hangul.cc b/src/hb-ot-shape-complex-hangul.cc
index e143867..f084f6a 100644
--- a/src/hb-ot-shape-complex-hangul.cc
+++ b/src/hb-ot-shape-complex-hangul.cc
@@ -214,7 +214,8 @@ preprocess_text_hangul (const hb_ot_shape_plan_t *plan HB_UNUSED,
else
{
/* No valid syllable as base for tone mark; try to insert dotted circle. */
- if (font->has_glyph (0x25CCu))
+ if (!(buffer->flags & HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE) &&
+ font->has_glyph (0x25CCu))
{
hb_codepoint_t chars[2];
if (!is_zero_width_char (font, u)) {
diff --git a/src/hb-ot-shape-complex-indic-machine.hh b/src/hb-ot-shape-complex-indic-machine.hh
index e2ecfb8..08b90e9 100644
--- a/src/hb-ot-shape-complex-indic-machine.hh
+++ b/src/hb-ot-shape-complex-indic-machine.hh
@@ -51,40 +51,40 @@ static const unsigned char _indic_syllable_machine_trans_keys[] = {
5u, 7u, 7u, 7u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u,
4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 13u, 4u, 8u,
4u, 13u, 4u, 8u, 4u, 13u, 4u, 8u, 4u, 13u, 4u, 8u, 4u, 13u, 4u, 13u,
- 5u, 8u, 8u, 8u, 1u, 19u, 3u, 13u, 3u, 10u, 4u, 10u, 1u, 16u, 3u, 13u,
- 3u, 10u, 4u, 10u, 1u, 16u, 3u, 13u, 3u, 10u, 4u, 10u, 1u, 16u, 3u, 13u,
- 3u, 10u, 4u, 10u, 1u, 16u, 3u, 13u, 3u, 10u, 4u, 10u, 5u, 10u, 5u, 10u,
+ 5u, 8u, 8u, 8u, 1u, 19u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u,
+ 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u,
+ 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 5u, 10u, 5u, 10u,
5u, 10u, 10u, 10u, 10u, 10u, 10u, 10u, 5u, 10u, 3u, 10u, 5u, 10u, 3u, 10u,
4u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, 5u, 10u,
- 3u, 10u, 4u, 10u, 3u, 10u, 3u, 13u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 10u,
- 3u, 13u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 10u, 3u, 13u, 1u, 16u, 1u, 16u,
- 1u, 16u, 3u, 10u, 3u, 13u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 10u, 3u, 13u,
- 3u, 13u, 3u, 10u, 4u, 10u, 1u, 16u, 3u, 13u, 3u, 10u, 4u, 10u, 1u, 16u,
- 3u, 13u, 3u, 10u, 4u, 10u, 1u, 16u, 3u, 13u, 3u, 10u, 4u, 10u, 1u, 16u,
- 3u, 13u, 3u, 10u, 4u, 10u, 5u, 10u, 5u, 10u, 5u, 10u, 10u, 10u, 10u, 10u,
- 10u, 10u, 5u, 10u, 3u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, 5u, 10u, 3u, 10u,
- 4u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, 3u, 10u,
- 3u, 13u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 10u, 3u, 13u, 1u, 16u, 1u, 16u,
- 1u, 16u, 3u, 10u, 3u, 13u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 10u, 3u, 13u,
- 1u, 16u, 1u, 16u, 1u, 16u, 4u, 8u, 3u, 10u, 3u, 10u, 4u, 10u, 1u, 16u,
- 3u, 13u, 3u, 10u, 4u, 10u, 1u, 16u, 3u, 13u, 3u, 10u, 4u, 10u, 1u, 16u,
- 3u, 13u, 3u, 10u, 4u, 10u, 1u, 16u, 3u, 13u, 3u, 10u, 4u, 10u, 5u, 10u,
- 5u, 10u, 5u, 10u, 10u, 10u, 10u, 10u, 10u, 10u, 5u, 10u, 3u, 10u, 5u, 10u,
+ 3u, 10u, 4u, 10u, 4u, 10u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u,
+ 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u,
+ 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u,
+ 3u, 17u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u,
+ 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u,
+ 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 5u, 10u, 5u, 10u, 5u, 10u, 10u, 10u,
+ 10u, 10u, 10u, 10u, 5u, 10u, 3u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, 5u, 10u,
3u, 10u, 4u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, 5u, 10u, 3u, 10u, 4u, 10u,
- 5u, 10u, 3u, 10u, 4u, 10u, 3u, 10u, 3u, 13u, 1u, 16u, 1u, 16u, 1u, 16u,
- 3u, 10u, 3u, 13u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 10u, 3u, 13u, 1u, 16u,
- 1u, 16u, 1u, 16u, 3u, 10u, 3u, 13u, 1u, 16u, 1u, 16u, 1u, 16u, 4u, 13u,
- 3u, 10u, 4u, 8u, 3u, 13u, 3u, 10u, 4u, 10u, 1u, 16u, 3u, 13u, 3u, 10u,
- 4u, 10u, 1u, 16u, 3u, 13u, 3u, 10u, 4u, 10u, 1u, 16u, 3u, 13u, 3u, 10u,
- 4u, 10u, 1u, 16u, 3u, 13u, 3u, 10u, 4u, 10u, 5u, 10u, 5u, 10u, 5u, 10u,
- 10u, 10u, 10u, 10u, 10u, 10u, 5u, 10u, 3u, 10u, 5u, 10u, 3u, 10u, 4u, 10u,
+ 4u, 10u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u,
+ 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u,
+ 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 4u, 8u, 3u, 17u, 3u, 17u,
+ 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u,
+ 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u,
+ 4u, 17u, 5u, 10u, 5u, 10u, 5u, 10u, 10u, 10u, 10u, 10u, 10u, 10u, 5u, 10u,
+ 3u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, 5u, 10u,
+ 3u, 10u, 4u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, 4u, 10u, 3u, 17u, 3u, 17u,
+ 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u,
+ 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u,
+ 1u, 16u, 1u, 16u, 4u, 13u, 3u, 17u, 4u, 8u, 3u, 17u, 3u, 17u, 4u, 17u,
+ 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u,
+ 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u, 3u, 17u, 4u, 17u,
+ 5u, 10u, 5u, 10u, 5u, 10u, 10u, 10u, 10u, 10u, 10u, 10u, 5u, 10u, 3u, 10u,
5u, 10u, 3u, 10u, 4u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, 5u, 10u, 3u, 10u,
- 4u, 10u, 3u, 10u, 3u, 13u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 10u, 3u, 13u,
- 1u, 16u, 1u, 16u, 1u, 16u, 3u, 10u, 3u, 13u, 1u, 16u, 1u, 16u, 1u, 16u,
- 3u, 10u, 3u, 13u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 10u, 1u, 16u, 3u, 13u,
- 1u, 16u, 4u, 13u, 5u, 10u, 10u, 10u, 10u, 10u, 10u, 10u, 5u, 10u, 1u, 16u,
- 3u, 10u, 5u, 10u, 5u, 10u, 10u, 10u, 10u, 10u, 10u, 10u, 5u, 10u, 1u, 16u,
- 0
+ 4u, 10u, 5u, 10u, 3u, 10u, 4u, 10u, 4u, 10u, 3u, 17u, 3u, 17u, 1u, 16u,
+ 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u,
+ 3u, 17u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 17u, 3u, 17u, 1u, 16u, 1u, 16u,
+ 1u, 16u, 3u, 17u, 1u, 17u, 3u, 17u, 1u, 17u, 4u, 13u, 5u, 10u, 10u, 10u,
+ 10u, 10u, 10u, 10u, 5u, 10u, 1u, 16u, 3u, 10u, 5u, 10u, 5u, 10u, 10u, 10u,
+ 10u, 10u, 10u, 10u, 5u, 10u, 1u, 16u, 0
};
static const char _indic_syllable_machine_key_spans[] = {
@@ -105,39 +105,40 @@ static const char _indic_syllable_machine_key_spans[] = {
3, 1, 5, 1, 1, 5, 1, 1,
5, 1, 1, 5, 1, 1, 10, 5,
10, 5, 10, 5, 10, 5, 10, 10,
- 4, 1, 19, 11, 8, 7, 16, 11,
- 8, 7, 16, 11, 8, 7, 16, 11,
- 8, 7, 16, 11, 8, 7, 6, 6,
+ 4, 1, 19, 15, 15, 14, 16, 15,
+ 15, 14, 16, 15, 15, 14, 16, 15,
+ 15, 14, 16, 15, 15, 14, 6, 6,
6, 1, 1, 1, 6, 8, 6, 8,
7, 6, 8, 7, 6, 8, 7, 6,
- 8, 7, 8, 11, 16, 16, 16, 8,
- 11, 16, 16, 16, 8, 11, 16, 16,
- 16, 8, 11, 16, 16, 16, 8, 11,
- 11, 8, 7, 16, 11, 8, 7, 16,
- 11, 8, 7, 16, 11, 8, 7, 16,
- 11, 8, 7, 6, 6, 6, 1, 1,
- 1, 6, 8, 6, 8, 7, 6, 8,
- 7, 6, 8, 7, 6, 8, 7, 8,
- 11, 16, 16, 16, 8, 11, 16, 16,
- 16, 8, 11, 16, 16, 16, 8, 11,
- 16, 16, 16, 5, 8, 8, 7, 16,
- 11, 8, 7, 16, 11, 8, 7, 16,
- 11, 8, 7, 16, 11, 8, 7, 6,
- 6, 6, 1, 1, 1, 6, 8, 6,
+ 8, 7, 7, 15, 15, 16, 16, 16,
+ 15, 15, 16, 16, 16, 15, 15, 16,
+ 16, 16, 15, 15, 16, 16, 16, 15,
+ 15, 15, 15, 14, 16, 15, 15, 14,
+ 16, 15, 15, 14, 16, 15, 15, 14,
+ 16, 15, 15, 14, 6, 6, 6, 1,
+ 1, 1, 6, 8, 6, 8, 7, 6,
8, 7, 6, 8, 7, 6, 8, 7,
- 6, 8, 7, 8, 11, 16, 16, 16,
- 8, 11, 16, 16, 16, 8, 11, 16,
- 16, 16, 8, 11, 16, 16, 16, 10,
- 8, 5, 11, 8, 7, 16, 11, 8,
- 7, 16, 11, 8, 7, 16, 11, 8,
- 7, 16, 11, 8, 7, 6, 6, 6,
- 1, 1, 1, 6, 8, 6, 8, 7,
+ 7, 15, 15, 16, 16, 16, 15, 15,
+ 16, 16, 16, 15, 15, 16, 16, 16,
+ 15, 15, 16, 16, 16, 5, 15, 15,
+ 14, 16, 15, 15, 14, 16, 15, 15,
+ 14, 16, 15, 15, 14, 16, 15, 15,
+ 14, 6, 6, 6, 1, 1, 1, 6,
+ 8, 6, 8, 7, 6, 8, 7, 6,
+ 8, 7, 6, 8, 7, 7, 15, 15,
+ 16, 16, 16, 15, 15, 16, 16, 16,
+ 15, 15, 16, 16, 16, 15, 15, 16,
+ 16, 16, 10, 15, 5, 15, 15, 14,
+ 16, 15, 15, 14, 16, 15, 15, 14,
+ 16, 15, 15, 14, 16, 15, 15, 14,
+ 6, 6, 6, 1, 1, 1, 6, 8,
6, 8, 7, 6, 8, 7, 6, 8,
- 7, 8, 11, 16, 16, 16, 8, 11,
- 16, 16, 16, 8, 11, 16, 16, 16,
- 8, 11, 16, 16, 16, 8, 16, 11,
- 16, 10, 6, 1, 1, 1, 6, 16,
- 8, 6, 6, 1, 1, 1, 6, 16
+ 7, 6, 8, 7, 7, 15, 15, 16,
+ 16, 16, 15, 15, 16, 16, 16, 15,
+ 15, 16, 16, 16, 15, 15, 16, 16,
+ 16, 15, 17, 15, 17, 10, 6, 1,
+ 1, 1, 6, 16, 8, 6, 6, 1,
+ 1, 1, 6, 16
};
static const short _indic_syllable_machine_index_offsets[] = {
@@ -158,39 +159,40 @@ static const short _indic_syllable_machine_index_offsets[] = {
528, 532, 534, 540, 542, 544, 550, 552,
554, 560, 562, 564, 570, 572, 574, 585,
591, 602, 608, 619, 625, 636, 642, 653,
- 664, 669, 671, 691, 703, 712, 720, 737,
- 749, 758, 766, 783, 795, 804, 812, 829,
- 841, 850, 858, 875, 887, 896, 904, 911,
- 918, 925, 927, 929, 931, 938, 947, 954,
- 963, 971, 978, 987, 995, 1002, 1011, 1019,
- 1026, 1035, 1043, 1052, 1064, 1081, 1098, 1115,
- 1124, 1136, 1153, 1170, 1187, 1196, 1208, 1225,
- 1242, 1259, 1268, 1280, 1297, 1314, 1331, 1340,
- 1352, 1364, 1373, 1381, 1398, 1410, 1419, 1427,
- 1444, 1456, 1465, 1473, 1490, 1502, 1511, 1519,
- 1536, 1548, 1557, 1565, 1572, 1579, 1586, 1588,
- 1590, 1592, 1599, 1608, 1615, 1624, 1632, 1639,
- 1648, 1656, 1663, 1672, 1680, 1687, 1696, 1704,
- 1713, 1725, 1742, 1759, 1776, 1785, 1797, 1814,
- 1831, 1848, 1857, 1869, 1886, 1903, 1920, 1929,
- 1941, 1958, 1975, 1992, 1998, 2007, 2016, 2024,
- 2041, 2053, 2062, 2070, 2087, 2099, 2108, 2116,
- 2133, 2145, 2154, 2162, 2179, 2191, 2200, 2208,
- 2215, 2222, 2229, 2231, 2233, 2235, 2242, 2251,
- 2258, 2267, 2275, 2282, 2291, 2299, 2306, 2315,
- 2323, 2330, 2339, 2347, 2356, 2368, 2385, 2402,
- 2419, 2428, 2440, 2457, 2474, 2491, 2500, 2512,
- 2529, 2546, 2563, 2572, 2584, 2601, 2618, 2635,
- 2646, 2655, 2661, 2673, 2682, 2690, 2707, 2719,
- 2728, 2736, 2753, 2765, 2774, 2782, 2799, 2811,
- 2820, 2828, 2845, 2857, 2866, 2874, 2881, 2888,
- 2895, 2897, 2899, 2901, 2908, 2917, 2924, 2933,
- 2941, 2948, 2957, 2965, 2972, 2981, 2989, 2996,
- 3005, 3013, 3022, 3034, 3051, 3068, 3085, 3094,
- 3106, 3123, 3140, 3157, 3166, 3178, 3195, 3212,
- 3229, 3238, 3250, 3267, 3284, 3301, 3310, 3327,
- 3339, 3356, 3367, 3374, 3376, 3378, 3380, 3387,
- 3404, 3413, 3420, 3427, 3429, 3431, 3433, 3440
+ 664, 669, 671, 691, 707, 723, 738, 755,
+ 771, 787, 802, 819, 835, 851, 866, 883,
+ 899, 915, 930, 947, 963, 979, 994, 1001,
+ 1008, 1015, 1017, 1019, 1021, 1028, 1037, 1044,
+ 1053, 1061, 1068, 1077, 1085, 1092, 1101, 1109,
+ 1116, 1125, 1133, 1141, 1157, 1173, 1190, 1207,
+ 1224, 1240, 1256, 1273, 1290, 1307, 1323, 1339,
+ 1356, 1373, 1390, 1406, 1422, 1439, 1456, 1473,
+ 1489, 1505, 1521, 1537, 1552, 1569, 1585, 1601,
+ 1616, 1633, 1649, 1665, 1680, 1697, 1713, 1729,
+ 1744, 1761, 1777, 1793, 1808, 1815, 1822, 1829,
+ 1831, 1833, 1835, 1842, 1851, 1858, 1867, 1875,
+ 1882, 1891, 1899, 1906, 1915, 1923, 1930, 1939,
+ 1947, 1955, 1971, 1987, 2004, 2021, 2038, 2054,
+ 2070, 2087, 2104, 2121, 2137, 2153, 2170, 2187,
+ 2204, 2220, 2236, 2253, 2270, 2287, 2293, 2309,
+ 2325, 2340, 2357, 2373, 2389, 2404, 2421, 2437,
+ 2453, 2468, 2485, 2501, 2517, 2532, 2549, 2565,
+ 2581, 2596, 2603, 2610, 2617, 2619, 2621, 2623,
+ 2630, 2639, 2646, 2655, 2663, 2670, 2679, 2687,
+ 2694, 2703, 2711, 2718, 2727, 2735, 2743, 2759,
+ 2775, 2792, 2809, 2826, 2842, 2858, 2875, 2892,
+ 2909, 2925, 2941, 2958, 2975, 2992, 3008, 3024,
+ 3041, 3058, 3075, 3086, 3102, 3108, 3124, 3140,
+ 3155, 3172, 3188, 3204, 3219, 3236, 3252, 3268,
+ 3283, 3300, 3316, 3332, 3347, 3364, 3380, 3396,
+ 3411, 3418, 3425, 3432, 3434, 3436, 3438, 3445,
+ 3454, 3461, 3470, 3478, 3485, 3494, 3502, 3509,
+ 3518, 3526, 3533, 3542, 3550, 3558, 3574, 3590,
+ 3607, 3624, 3641, 3657, 3673, 3690, 3707, 3724,
+ 3740, 3756, 3773, 3790, 3807, 3823, 3839, 3856,
+ 3873, 3890, 3906, 3924, 3940, 3958, 3969, 3976,
+ 3978, 3980, 3982, 3989, 4006, 4015, 4022, 4029,
+ 4031, 4033, 4035, 4042
};
static const short _indic_syllable_machine_indicies[] = {
@@ -279,410 +281,485 @@ static const short _indic_syllable_machine_indicies[] = {
76, 73, 72, 72, 72, 72, 144, 72,
78, 78, 76, 1, 0, 146, 145, 148,
149, 150, 151, 152, 153, 76, 73, 147,
- 154, 155, 155, 144, 147, 156, 157, 147,
- 158, 159, 147, 161, 162, 163, 164, 4,
- 1, 160, 165, 160, 160, 35, 160, 166,
- 162, 167, 167, 4, 1, 160, 165, 160,
- 162, 167, 167, 4, 1, 160, 165, 160,
- 168, 160, 160, 160, 17, 169, 160, 1,
- 160, 165, 160, 160, 160, 160, 160, 168,
- 160, 170, 171, 172, 173, 4, 1, 160,
- 165, 160, 160, 33, 160, 174, 171, 175,
- 175, 4, 1, 160, 165, 160, 171, 175,
- 175, 4, 1, 160, 165, 160, 176, 160,
- 160, 160, 17, 177, 160, 1, 160, 165,
- 160, 160, 160, 160, 160, 176, 160, 178,
- 179, 180, 181, 4, 1, 160, 165, 160,
- 160, 31, 160, 182, 179, 183, 183, 4,
- 1, 160, 165, 160, 179, 183, 183, 4,
- 1, 160, 165, 160, 184, 160, 160, 160,
- 17, 185, 160, 1, 160, 165, 160, 160,
- 160, 160, 160, 184, 160, 186, 187, 188,
- 189, 4, 1, 160, 165, 160, 160, 29,
- 160, 190, 187, 191, 191, 4, 1, 160,
- 165, 160, 187, 191, 191, 4, 1, 160,
- 165, 160, 192, 160, 160, 160, 17, 193,
- 160, 1, 160, 165, 160, 160, 160, 160,
- 160, 192, 160, 194, 195, 196, 197, 4,
- 1, 160, 165, 160, 160, 27, 160, 198,
- 195, 199, 199, 4, 1, 160, 165, 160,
- 195, 199, 199, 4, 1, 160, 165, 160,
- 17, 200, 160, 1, 160, 165, 160, 201,
- 201, 160, 1, 160, 165, 160, 202, 160,
- 160, 203, 160, 165, 160, 165, 160, 204,
- 160, 205, 160, 202, 160, 160, 160, 160,
- 165, 160, 17, 160, 201, 201, 160, 1,
- 160, 165, 160, 201, 200, 160, 1, 160,
- 165, 160, 206, 26, 207, 208, 7, 1,
- 160, 165, 160, 26, 207, 208, 7, 1,
- 160, 165, 160, 207, 207, 7, 1, 160,
- 165, 160, 209, 23, 210, 211, 10, 1,
- 160, 165, 160, 23, 210, 211, 10, 1,
- 160, 165, 160, 210, 210, 10, 1, 160,
- 165, 160, 212, 20, 213, 214, 13, 1,
- 160, 165, 160, 20, 213, 214, 13, 1,
- 160, 165, 160, 213, 213, 13, 1, 160,
- 165, 160, 215, 17, 201, 216, 160, 1,
- 160, 165, 160, 17, 201, 216, 160, 1,
- 160, 165, 160, 194, 195, 199, 199, 4,
- 1, 160, 165, 160, 194, 195, 196, 199,
- 4, 1, 160, 165, 160, 160, 27, 160,
- 192, 160, 217, 160, 201, 201, 160, 1,
- 160, 165, 160, 160, 160, 160, 160, 192,
- 160, 192, 160, 160, 160, 201, 201, 160,
- 1, 160, 165, 160, 160, 160, 160, 160,
- 192, 160, 192, 160, 160, 160, 201, 193,
- 160, 1, 160, 165, 160, 160, 160, 160,
- 160, 192, 160, 186, 187, 191, 191, 4,
- 1, 160, 165, 160, 186, 187, 188, 191,
- 4, 1, 160, 165, 160, 160, 29, 160,
- 184, 160, 218, 160, 201, 201, 160, 1,
- 160, 165, 160, 160, 160, 160, 160, 184,
- 160, 184, 160, 160, 160, 201, 201, 160,
- 1, 160, 165, 160, 160, 160, 160, 160,
- 184, 160, 184, 160, 160, 160, 201, 185,
- 160, 1, 160, 165, 160, 160, 160, 160,
- 160, 184, 160, 178, 179, 183, 183, 4,
- 1, 160, 165, 160, 178, 179, 180, 183,
- 4, 1, 160, 165, 160, 160, 31, 160,
- 176, 160, 219, 160, 201, 201, 160, 1,
- 160, 165, 160, 160, 160, 160, 160, 176,
- 160, 176, 160, 160, 160, 201, 201, 160,
- 1, 160, 165, 160, 160, 160, 160, 160,
- 176, 160, 176, 160, 160, 160, 201, 177,
- 160, 1, 160, 165, 160, 160, 160, 160,
- 160, 176, 160, 170, 171, 175, 175, 4,
- 1, 160, 165, 160, 170, 171, 172, 175,
- 4, 1, 160, 165, 160, 160, 33, 160,
- 168, 160, 220, 160, 201, 201, 160, 1,
- 160, 165, 160, 160, 160, 160, 160, 168,
- 160, 168, 160, 160, 160, 201, 201, 160,
- 1, 160, 165, 160, 160, 160, 160, 160,
- 168, 160, 168, 160, 160, 160, 201, 169,
- 160, 1, 160, 165, 160, 160, 160, 160,
- 160, 168, 160, 161, 162, 167, 167, 4,
- 1, 160, 165, 160, 161, 162, 163, 167,
- 4, 1, 160, 165, 160, 160, 35, 160,
- 222, 223, 224, 225, 40, 37, 221, 226,
- 221, 221, 71, 221, 227, 223, 228, 225,
- 40, 37, 221, 226, 221, 223, 228, 225,
- 40, 37, 221, 226, 221, 229, 221, 221,
- 221, 53, 230, 221, 37, 221, 226, 221,
- 221, 221, 221, 221, 229, 221, 231, 232,
- 233, 234, 40, 37, 221, 226, 221, 221,
- 69, 221, 235, 232, 236, 236, 40, 37,
- 221, 226, 221, 232, 236, 236, 40, 37,
- 221, 226, 221, 237, 221, 221, 221, 53,
- 238, 221, 37, 221, 226, 221, 221, 221,
- 221, 221, 237, 221, 239, 240, 241, 242,
- 40, 37, 221, 226, 221, 221, 67, 221,
- 243, 240, 244, 244, 40, 37, 221, 226,
- 221, 240, 244, 244, 40, 37, 221, 226,
- 221, 245, 221, 221, 221, 53, 246, 221,
- 37, 221, 226, 221, 221, 221, 221, 221,
- 245, 221, 247, 248, 249, 250, 40, 37,
- 221, 226, 221, 221, 65, 221, 251, 248,
- 252, 252, 40, 37, 221, 226, 221, 248,
- 252, 252, 40, 37, 221, 226, 221, 253,
- 221, 221, 221, 53, 254, 221, 37, 221,
- 226, 221, 221, 221, 221, 221, 253, 221,
- 255, 256, 257, 258, 40, 37, 221, 226,
- 221, 221, 63, 221, 259, 256, 260, 260,
- 40, 37, 221, 226, 221, 256, 260, 260,
- 40, 37, 221, 226, 221, 53, 261, 221,
- 37, 221, 226, 221, 262, 262, 221, 37,
- 221, 226, 221, 263, 221, 221, 264, 221,
- 226, 221, 226, 221, 265, 221, 266, 221,
- 263, 221, 221, 221, 221, 226, 221, 53,
- 221, 262, 262, 221, 37, 221, 226, 221,
- 262, 261, 221, 37, 221, 226, 221, 267,
- 62, 268, 269, 43, 37, 221, 226, 221,
- 62, 268, 269, 43, 37, 221, 226, 221,
- 268, 268, 43, 37, 221, 226, 221, 270,
- 59, 271, 272, 46, 37, 221, 226, 221,
- 59, 271, 272, 46, 37, 221, 226, 221,
- 271, 271, 46, 37, 221, 226, 221, 273,
- 56, 274, 275, 49, 37, 221, 226, 221,
- 56, 274, 275, 49, 37, 221, 226, 221,
- 274, 274, 49, 37, 221, 226, 221, 276,
- 53, 262, 277, 221, 37, 221, 226, 221,
- 53, 262, 277, 221, 37, 221, 226, 221,
- 255, 256, 260, 260, 40, 37, 221, 226,
- 221, 255, 256, 257, 260, 40, 37, 221,
- 226, 221, 221, 63, 221, 253, 221, 278,
- 221, 262, 262, 221, 37, 221, 226, 221,
- 221, 221, 221, 221, 253, 221, 253, 221,
- 221, 221, 262, 262, 221, 37, 221, 226,
- 221, 221, 221, 221, 221, 253, 221, 253,
- 221, 221, 221, 262, 254, 221, 37, 221,
- 226, 221, 221, 221, 221, 221, 253, 221,
- 247, 248, 252, 252, 40, 37, 221, 226,
- 221, 247, 248, 249, 252, 40, 37, 221,
- 226, 221, 221, 65, 221, 245, 221, 279,
- 221, 262, 262, 221, 37, 221, 226, 221,
- 221, 221, 221, 221, 245, 221, 245, 221,
- 221, 221, 262, 262, 221, 37, 221, 226,
- 221, 221, 221, 221, 221, 245, 221, 245,
- 221, 221, 221, 262, 246, 221, 37, 221,
- 226, 221, 221, 221, 221, 221, 245, 221,
- 239, 240, 244, 244, 40, 37, 221, 226,
- 221, 239, 240, 241, 244, 40, 37, 221,
- 226, 221, 221, 67, 221, 237, 221, 280,
- 221, 262, 262, 221, 37, 221, 226, 221,
- 221, 221, 221, 221, 237, 221, 237, 221,
- 221, 221, 262, 262, 221, 37, 221, 226,
- 221, 221, 221, 221, 221, 237, 221, 237,
- 221, 221, 221, 262, 238, 221, 37, 221,
- 226, 221, 221, 221, 221, 221, 237, 221,
- 231, 232, 236, 236, 40, 37, 221, 226,
- 221, 231, 232, 233, 236, 40, 37, 221,
- 226, 221, 221, 69, 221, 229, 221, 281,
- 221, 262, 262, 221, 37, 221, 226, 221,
- 221, 221, 221, 221, 229, 221, 229, 221,
- 221, 221, 262, 262, 221, 37, 221, 226,
- 221, 221, 221, 221, 221, 229, 221, 229,
- 221, 221, 221, 262, 230, 221, 37, 221,
- 226, 221, 221, 221, 221, 221, 229, 221,
- 70, 39, 39, 40, 37, 221, 222, 223,
- 228, 225, 40, 37, 221, 226, 221, 283,
- 151, 284, 284, 76, 73, 282, 154, 282,
- 151, 284, 284, 76, 73, 282, 154, 282,
- 285, 282, 282, 282, 90, 286, 282, 73,
- 282, 154, 282, 282, 282, 282, 282, 285,
- 282, 287, 288, 289, 290, 76, 73, 282,
- 154, 282, 282, 106, 282, 291, 288, 292,
- 292, 76, 73, 282, 154, 282, 288, 292,
- 292, 76, 73, 282, 154, 282, 293, 282,
- 282, 282, 90, 294, 282, 73, 282, 154,
- 282, 282, 282, 282, 282, 293, 282, 295,
- 296, 297, 298, 76, 73, 282, 154, 282,
- 282, 104, 282, 299, 296, 300, 300, 76,
- 73, 282, 154, 282, 296, 300, 300, 76,
- 73, 282, 154, 282, 301, 282, 282, 282,
- 90, 302, 282, 73, 282, 154, 282, 282,
- 282, 282, 282, 301, 282, 303, 304, 305,
- 306, 76, 73, 282, 154, 282, 282, 102,
- 282, 307, 304, 308, 308, 76, 73, 282,
- 154, 282, 304, 308, 308, 76, 73, 282,
- 154, 282, 309, 282, 282, 282, 90, 310,
- 282, 73, 282, 154, 282, 282, 282, 282,
- 282, 309, 282, 311, 312, 313, 314, 76,
- 73, 282, 154, 282, 282, 100, 282, 315,
- 312, 316, 316, 76, 73, 282, 154, 282,
- 312, 316, 316, 76, 73, 282, 154, 282,
- 90, 317, 282, 73, 282, 154, 282, 318,
- 318, 282, 73, 282, 154, 282, 319, 282,
- 282, 320, 282, 154, 282, 154, 282, 321,
- 282, 322, 282, 319, 282, 282, 282, 282,
- 154, 282, 90, 282, 318, 318, 282, 73,
- 282, 154, 282, 318, 317, 282, 73, 282,
- 154, 282, 323, 99, 324, 325, 80, 73,
- 282, 154, 282, 99, 324, 325, 80, 73,
- 282, 154, 282, 324, 324, 80, 73, 282,
- 154, 282, 326, 96, 327, 328, 83, 73,
- 282, 154, 282, 96, 327, 328, 83, 73,
- 282, 154, 282, 327, 327, 83, 73, 282,
- 154, 282, 329, 93, 330, 331, 86, 73,
- 282, 154, 282, 93, 330, 331, 86, 73,
- 282, 154, 282, 330, 330, 86, 73, 282,
- 154, 282, 332, 90, 318, 333, 282, 73,
- 282, 154, 282, 90, 318, 333, 282, 73,
- 282, 154, 282, 311, 312, 316, 316, 76,
- 73, 282, 154, 282, 311, 312, 313, 316,
- 76, 73, 282, 154, 282, 282, 100, 282,
- 309, 282, 334, 282, 318, 318, 282, 73,
- 282, 154, 282, 282, 282, 282, 282, 309,
- 282, 309, 282, 282, 282, 318, 318, 282,
- 73, 282, 154, 282, 282, 282, 282, 282,
- 309, 282, 309, 282, 282, 282, 318, 310,
- 282, 73, 282, 154, 282, 282, 282, 282,
- 282, 309, 282, 303, 304, 308, 308, 76,
- 73, 282, 154, 282, 303, 304, 305, 308,
- 76, 73, 282, 154, 282, 282, 102, 282,
- 301, 282, 335, 282, 318, 318, 282, 73,
- 282, 154, 282, 282, 282, 282, 282, 301,
- 282, 301, 282, 282, 282, 318, 318, 282,
- 73, 282, 154, 282, 282, 282, 282, 282,
- 301, 282, 301, 282, 282, 282, 318, 302,
- 282, 73, 282, 154, 282, 282, 282, 282,
- 282, 301, 282, 295, 296, 300, 300, 76,
- 73, 282, 154, 282, 295, 296, 297, 300,
- 76, 73, 282, 154, 282, 282, 104, 282,
- 293, 282, 336, 282, 318, 318, 282, 73,
- 282, 154, 282, 282, 282, 282, 282, 293,
- 282, 293, 282, 282, 282, 318, 318, 282,
- 73, 282, 154, 282, 282, 282, 282, 282,
- 293, 282, 293, 282, 282, 282, 318, 294,
- 282, 73, 282, 154, 282, 282, 282, 282,
- 282, 293, 282, 287, 288, 292, 292, 76,
- 73, 282, 154, 282, 287, 288, 289, 292,
- 76, 73, 282, 154, 282, 282, 106, 282,
- 285, 282, 337, 282, 318, 318, 282, 73,
- 282, 154, 282, 282, 282, 282, 282, 285,
- 282, 285, 282, 282, 282, 318, 318, 282,
- 73, 282, 154, 282, 282, 282, 282, 282,
- 285, 282, 285, 282, 282, 282, 318, 286,
- 282, 73, 282, 154, 282, 282, 282, 282,
- 282, 285, 282, 107, 75, 75, 76, 73,
- 338, 338, 338, 338, 144, 338, 150, 151,
- 284, 284, 76, 73, 282, 154, 282, 107,
- 75, 75, 76, 73, 338, 340, 341, 342,
- 343, 112, 109, 339, 344, 339, 339, 143,
- 339, 345, 341, 343, 343, 112, 109, 339,
- 344, 339, 341, 343, 343, 112, 109, 339,
- 344, 339, 346, 339, 339, 339, 125, 347,
- 339, 109, 339, 344, 339, 339, 339, 339,
- 339, 346, 339, 348, 349, 350, 351, 112,
- 109, 339, 344, 339, 339, 141, 339, 352,
- 349, 353, 353, 112, 109, 339, 344, 339,
- 349, 353, 353, 112, 109, 339, 344, 339,
- 354, 339, 339, 339, 125, 355, 339, 109,
- 339, 344, 339, 339, 339, 339, 339, 354,
- 339, 356, 357, 358, 359, 112, 109, 339,
- 344, 339, 339, 139, 339, 360, 357, 361,
- 361, 112, 109, 339, 344, 339, 357, 361,
- 361, 112, 109, 339, 344, 339, 362, 339,
- 339, 339, 125, 363, 339, 109, 339, 344,
- 339, 339, 339, 339, 339, 362, 339, 364,
- 365, 366, 367, 112, 109, 339, 344, 339,
- 339, 137, 339, 368, 365, 369, 369, 112,
- 109, 339, 344, 339, 365, 369, 369, 112,
- 109, 339, 344, 339, 370, 339, 339, 339,
- 125, 371, 339, 109, 339, 344, 339, 339,
- 339, 339, 339, 370, 339, 372, 373, 374,
- 375, 112, 109, 339, 344, 339, 339, 135,
- 339, 376, 373, 377, 377, 112, 109, 339,
- 344, 339, 373, 377, 377, 112, 109, 339,
- 344, 339, 125, 378, 339, 109, 339, 344,
- 339, 379, 379, 339, 109, 339, 344, 339,
- 380, 339, 339, 381, 339, 344, 339, 344,
- 339, 382, 339, 383, 339, 380, 339, 339,
- 339, 339, 344, 339, 125, 339, 379, 379,
- 339, 109, 339, 344, 339, 379, 378, 339,
- 109, 339, 344, 339, 384, 134, 385, 386,
- 115, 109, 339, 344, 339, 134, 385, 386,
- 115, 109, 339, 344, 339, 385, 385, 115,
- 109, 339, 344, 339, 387, 131, 388, 389,
- 118, 109, 339, 344, 339, 131, 388, 389,
- 118, 109, 339, 344, 339, 388, 388, 118,
- 109, 339, 344, 339, 390, 128, 391, 392,
- 121, 109, 339, 344, 339, 128, 391, 392,
- 121, 109, 339, 344, 339, 391, 391, 121,
- 109, 339, 344, 339, 393, 125, 379, 394,
- 339, 109, 339, 344, 339, 125, 379, 394,
- 339, 109, 339, 344, 339, 372, 373, 377,
- 377, 112, 109, 339, 344, 339, 372, 373,
- 374, 377, 112, 109, 339, 344, 339, 339,
- 135, 339, 370, 339, 395, 339, 379, 379,
- 339, 109, 339, 344, 339, 339, 339, 339,
- 339, 370, 339, 370, 339, 339, 339, 379,
- 379, 339, 109, 339, 344, 339, 339, 339,
- 339, 339, 370, 339, 370, 339, 339, 339,
- 379, 371, 339, 109, 339, 344, 339, 339,
- 339, 339, 339, 370, 339, 364, 365, 369,
- 369, 112, 109, 339, 344, 339, 364, 365,
- 366, 369, 112, 109, 339, 344, 339, 339,
- 137, 339, 362, 339, 396, 339, 379, 379,
- 339, 109, 339, 344, 339, 339, 339, 339,
- 339, 362, 339, 362, 339, 339, 339, 379,
- 379, 339, 109, 339, 344, 339, 339, 339,
- 339, 339, 362, 339, 362, 339, 339, 339,
- 379, 363, 339, 109, 339, 344, 339, 339,
- 339, 339, 339, 362, 339, 356, 357, 361,
- 361, 112, 109, 339, 344, 339, 356, 357,
- 358, 361, 112, 109, 339, 344, 339, 339,
- 139, 339, 354, 339, 397, 339, 379, 379,
- 339, 109, 339, 344, 339, 339, 339, 339,
- 339, 354, 339, 354, 339, 339, 339, 379,
- 379, 339, 109, 339, 344, 339, 339, 339,
- 339, 339, 354, 339, 354, 339, 339, 339,
- 379, 355, 339, 109, 339, 344, 339, 339,
- 339, 339, 339, 354, 339, 348, 349, 353,
- 353, 112, 109, 339, 344, 339, 348, 349,
- 350, 353, 112, 109, 339, 344, 339, 339,
- 141, 339, 346, 339, 398, 339, 379, 379,
- 339, 109, 339, 344, 339, 339, 339, 339,
- 339, 346, 339, 346, 339, 339, 339, 379,
- 379, 339, 109, 339, 344, 339, 339, 339,
- 339, 339, 346, 339, 346, 339, 339, 339,
- 379, 347, 339, 109, 339, 344, 339, 339,
- 339, 339, 339, 346, 339, 340, 341, 343,
- 343, 112, 109, 339, 344, 339, 148, 149,
- 150, 151, 399, 284, 76, 73, 282, 154,
- 155, 155, 144, 282, 282, 148, 282, 161,
- 400, 163, 164, 4, 1, 160, 165, 160,
- 160, 35, 160, 168, 149, 150, 151, 401,
- 402, 76, 403, 160, 404, 160, 155, 144,
- 160, 160, 168, 160, 107, 405, 405, 76,
- 403, 160, 165, 160, 160, 144, 160, 406,
- 160, 160, 407, 160, 404, 160, 404, 160,
- 408, 160, 205, 160, 406, 160, 160, 160,
- 160, 404, 160, 168, 160, 220, 107, 405,
- 405, 76, 403, 160, 165, 160, 160, 160,
- 160, 160, 168, 160, 410, 409, 411, 411,
- 409, 146, 409, 412, 409, 411, 411, 409,
- 146, 409, 412, 409, 413, 409, 409, 414,
- 409, 412, 409, 412, 409, 415, 409, 416,
- 409, 413, 409, 409, 409, 409, 412, 409,
- 148, 338, 338, 338, 338, 338, 338, 338,
- 338, 338, 155, 338, 338, 338, 338, 148,
- 338, 0
+ 154, 155, 155, 144, 147, 156, 157, 158,
+ 159, 160, 147, 162, 163, 164, 165, 4,
+ 1, 161, 166, 161, 161, 35, 161, 161,
+ 161, 167, 161, 168, 163, 169, 169, 4,
+ 1, 161, 166, 161, 161, 161, 161, 161,
+ 161, 167, 161, 163, 169, 169, 4, 1,
+ 161, 166, 161, 161, 161, 161, 161, 161,
+ 167, 161, 170, 161, 161, 161, 17, 171,
+ 161, 1, 161, 166, 161, 161, 161, 161,
+ 161, 170, 161, 172, 173, 174, 175, 4,
+ 1, 161, 166, 161, 161, 33, 161, 161,
+ 161, 167, 161, 176, 173, 177, 177, 4,
+ 1, 161, 166, 161, 161, 161, 161, 161,
+ 161, 167, 161, 173, 177, 177, 4, 1,
+ 161, 166, 161, 161, 161, 161, 161, 161,
+ 167, 161, 178, 161, 161, 161, 17, 179,
+ 161, 1, 161, 166, 161, 161, 161, 161,
+ 161, 178, 161, 180, 181, 182, 183, 4,
+ 1, 161, 166, 161, 161, 31, 161, 161,
+ 161, 167, 161, 184, 181, 185, 185, 4,
+ 1, 161, 166, 161, 161, 161, 161, 161,
+ 161, 167, 161, 181, 185, 185, 4, 1,
+ 161, 166, 161, 161, 161, 161, 161, 161,
+ 167, 161, 186, 161, 161, 161, 17, 187,
+ 161, 1, 161, 166, 161, 161, 161, 161,
+ 161, 186, 161, 188, 189, 190, 191, 4,
+ 1, 161, 166, 161, 161, 29, 161, 161,
+ 161, 167, 161, 192, 189, 193, 193, 4,
+ 1, 161, 166, 161, 161, 161, 161, 161,
+ 161, 167, 161, 189, 193, 193, 4, 1,
+ 161, 166, 161, 161, 161, 161, 161, 161,
+ 167, 161, 194, 161, 161, 161, 17, 195,
+ 161, 1, 161, 166, 161, 161, 161, 161,
+ 161, 194, 161, 196, 197, 198, 199, 4,
+ 1, 161, 166, 161, 161, 27, 161, 161,
+ 161, 167, 161, 200, 197, 201, 201, 4,
+ 1, 161, 166, 161, 161, 161, 161, 161,
+ 161, 167, 161, 197, 201, 201, 4, 1,
+ 161, 166, 161, 161, 161, 161, 161, 161,
+ 167, 161, 17, 202, 161, 1, 161, 166,
+ 161, 203, 203, 161, 1, 161, 166, 161,
+ 204, 161, 161, 205, 161, 166, 161, 166,
+ 161, 206, 161, 207, 161, 204, 161, 161,
+ 161, 161, 166, 161, 17, 161, 203, 203,
+ 161, 1, 161, 166, 161, 203, 202, 161,
+ 1, 161, 166, 161, 208, 26, 209, 210,
+ 7, 1, 161, 166, 161, 26, 209, 210,
+ 7, 1, 161, 166, 161, 209, 209, 7,
+ 1, 161, 166, 161, 211, 23, 212, 213,
+ 10, 1, 161, 166, 161, 23, 212, 213,
+ 10, 1, 161, 166, 161, 212, 212, 10,
+ 1, 161, 166, 161, 214, 20, 215, 216,
+ 13, 1, 161, 166, 161, 20, 215, 216,
+ 13, 1, 161, 166, 161, 215, 215, 13,
+ 1, 161, 166, 161, 217, 17, 203, 218,
+ 161, 1, 161, 166, 161, 17, 203, 218,
+ 161, 1, 161, 166, 161, 197, 201, 201,
+ 4, 1, 161, 166, 161, 196, 197, 201,
+ 201, 4, 1, 161, 166, 161, 161, 161,
+ 161, 161, 161, 167, 161, 196, 197, 198,
+ 201, 4, 1, 161, 166, 161, 161, 27,
+ 161, 161, 161, 167, 161, 194, 161, 219,
+ 161, 203, 203, 161, 1, 161, 166, 161,
+ 161, 161, 161, 161, 194, 161, 194, 161,
+ 161, 161, 203, 203, 161, 1, 161, 166,
+ 161, 161, 161, 161, 161, 194, 161, 194,
+ 161, 161, 161, 203, 195, 161, 1, 161,
+ 166, 161, 161, 161, 161, 161, 194, 161,
+ 188, 189, 193, 193, 4, 1, 161, 166,
+ 161, 161, 161, 161, 161, 161, 167, 161,
+ 188, 189, 190, 193, 4, 1, 161, 166,
+ 161, 161, 29, 161, 161, 161, 167, 161,
+ 186, 161, 220, 161, 203, 203, 161, 1,
+ 161, 166, 161, 161, 161, 161, 161, 186,
+ 161, 186, 161, 161, 161, 203, 203, 161,
+ 1, 161, 166, 161, 161, 161, 161, 161,
+ 186, 161, 186, 161, 161, 161, 203, 187,
+ 161, 1, 161, 166, 161, 161, 161, 161,
+ 161, 186, 161, 180, 181, 185, 185, 4,
+ 1, 161, 166, 161, 161, 161, 161, 161,
+ 161, 167, 161, 180, 181, 182, 185, 4,
+ 1, 161, 166, 161, 161, 31, 161, 161,
+ 161, 167, 161, 178, 161, 221, 161, 203,
+ 203, 161, 1, 161, 166, 161, 161, 161,
+ 161, 161, 178, 161, 178, 161, 161, 161,
+ 203, 203, 161, 1, 161, 166, 161, 161,
+ 161, 161, 161, 178, 161, 178, 161, 161,
+ 161, 203, 179, 161, 1, 161, 166, 161,
+ 161, 161, 161, 161, 178, 161, 172, 173,
+ 177, 177, 4, 1, 161, 166, 161, 161,
+ 161, 161, 161, 161, 167, 161, 172, 173,
+ 174, 177, 4, 1, 161, 166, 161, 161,
+ 33, 161, 161, 161, 167, 161, 170, 161,
+ 222, 161, 203, 203, 161, 1, 161, 166,
+ 161, 161, 161, 161, 161, 170, 161, 170,
+ 161, 161, 161, 203, 203, 161, 1, 161,
+ 166, 161, 161, 161, 161, 161, 170, 161,
+ 170, 161, 161, 161, 203, 171, 161, 1,
+ 161, 166, 161, 161, 161, 161, 161, 170,
+ 161, 162, 163, 169, 169, 4, 1, 161,
+ 166, 161, 161, 161, 161, 161, 161, 167,
+ 161, 162, 163, 164, 169, 4, 1, 161,
+ 166, 161, 161, 35, 161, 161, 161, 167,
+ 161, 224, 225, 226, 227, 40, 37, 223,
+ 228, 223, 223, 71, 223, 223, 223, 229,
+ 223, 230, 225, 231, 227, 40, 37, 223,
+ 228, 223, 223, 223, 223, 223, 223, 229,
+ 223, 225, 231, 227, 40, 37, 223, 228,
+ 223, 223, 223, 223, 223, 223, 229, 223,
+ 232, 223, 223, 223, 53, 233, 223, 37,
+ 223, 228, 223, 223, 223, 223, 223, 232,
+ 223, 234, 235, 236, 237, 40, 37, 223,
+ 228, 223, 223, 69, 223, 223, 223, 229,
+ 223, 238, 235, 239, 239, 40, 37, 223,
+ 228, 223, 223, 223, 223, 223, 223, 229,
+ 223, 235, 239, 239, 40, 37, 223, 228,
+ 223, 223, 223, 223, 223, 223, 229, 223,
+ 240, 223, 223, 223, 53, 241, 223, 37,
+ 223, 228, 223, 223, 223, 223, 223, 240,
+ 223, 242, 243, 244, 245, 40, 37, 223,
+ 228, 223, 223, 67, 223, 223, 223, 229,
+ 223, 246, 243, 247, 247, 40, 37, 223,
+ 228, 223, 223, 223, 223, 223, 223, 229,
+ 223, 243, 247, 247, 40, 37, 223, 228,
+ 223, 223, 223, 223, 223, 223, 229, 223,
+ 248, 223, 223, 223, 53, 249, 223, 37,
+ 223, 228, 223, 223, 223, 223, 223, 248,
+ 223, 250, 251, 252, 253, 40, 37, 223,
+ 228, 223, 223, 65, 223, 223, 223, 229,
+ 223, 254, 251, 255, 255, 40, 37, 223,
+ 228, 223, 223, 223, 223, 223, 223, 229,
+ 223, 251, 255, 255, 40, 37, 223, 228,
+ 223, 223, 223, 223, 223, 223, 229, 223,
+ 256, 223, 223, 223, 53, 257, 223, 37,
+ 223, 228, 223, 223, 223, 223, 223, 256,
+ 223, 258, 259, 260, 261, 40, 37, 223,
+ 228, 223, 223, 63, 223, 223, 223, 229,
+ 223, 262, 259, 263, 263, 40, 37, 223,
+ 228, 223, 223, 223, 223, 223, 223, 229,
+ 223, 259, 263, 263, 40, 37, 223, 228,
+ 223, 223, 223, 223, 223, 223, 229, 223,
+ 53, 264, 223, 37, 223, 228, 223, 265,
+ 265, 223, 37, 223, 228, 223, 266, 223,
+ 223, 267, 223, 228, 223, 228, 223, 268,
+ 223, 269, 223, 266, 223, 223, 223, 223,
+ 228, 223, 53, 223, 265, 265, 223, 37,
+ 223, 228, 223, 265, 264, 223, 37, 223,
+ 228, 223, 270, 62, 271, 272, 43, 37,
+ 223, 228, 223, 62, 271, 272, 43, 37,
+ 223, 228, 223, 271, 271, 43, 37, 223,
+ 228, 223, 273, 59, 274, 275, 46, 37,
+ 223, 228, 223, 59, 274, 275, 46, 37,
+ 223, 228, 223, 274, 274, 46, 37, 223,
+ 228, 223, 276, 56, 277, 278, 49, 37,
+ 223, 228, 223, 56, 277, 278, 49, 37,
+ 223, 228, 223, 277, 277, 49, 37, 223,
+ 228, 223, 279, 53, 265, 280, 223, 37,
+ 223, 228, 223, 53, 265, 280, 223, 37,
+ 223, 228, 223, 259, 263, 263, 40, 37,
+ 223, 228, 223, 258, 259, 263, 263, 40,
+ 37, 223, 228, 223, 223, 223, 223, 223,
+ 223, 229, 223, 258, 259, 260, 263, 40,
+ 37, 223, 228, 223, 223, 63, 223, 223,
+ 223, 229, 223, 256, 223, 281, 223, 265,
+ 265, 223, 37, 223, 228, 223, 223, 223,
+ 223, 223, 256, 223, 256, 223, 223, 223,
+ 265, 265, 223, 37, 223, 228, 223, 223,
+ 223, 223, 223, 256, 223, 256, 223, 223,
+ 223, 265, 257, 223, 37, 223, 228, 223,
+ 223, 223, 223, 223, 256, 223, 250, 251,
+ 255, 255, 40, 37, 223, 228, 223, 223,
+ 223, 223, 223, 223, 229, 223, 250, 251,
+ 252, 255, 40, 37, 223, 228, 223, 223,
+ 65, 223, 223, 223, 229, 223, 248, 223,
+ 282, 223, 265, 265, 223, 37, 223, 228,
+ 223, 223, 223, 223, 223, 248, 223, 248,
+ 223, 223, 223, 265, 265, 223, 37, 223,
+ 228, 223, 223, 223, 223, 223, 248, 223,
+ 248, 223, 223, 223, 265, 249, 223, 37,
+ 223, 228, 223, 223, 223, 223, 223, 248,
+ 223, 242, 243, 247, 247, 40, 37, 223,
+ 228, 223, 223, 223, 223, 223, 223, 229,
+ 223, 242, 243, 244, 247, 40, 37, 223,
+ 228, 223, 223, 67, 223, 223, 223, 229,
+ 223, 240, 223, 283, 223, 265, 265, 223,
+ 37, 223, 228, 223, 223, 223, 223, 223,
+ 240, 223, 240, 223, 223, 223, 265, 265,
+ 223, 37, 223, 228, 223, 223, 223, 223,
+ 223, 240, 223, 240, 223, 223, 223, 265,
+ 241, 223, 37, 223, 228, 223, 223, 223,
+ 223, 223, 240, 223, 234, 235, 239, 239,
+ 40, 37, 223, 228, 223, 223, 223, 223,
+ 223, 223, 229, 223, 234, 235, 236, 239,
+ 40, 37, 223, 228, 223, 223, 69, 223,
+ 223, 223, 229, 223, 232, 223, 284, 223,
+ 265, 265, 223, 37, 223, 228, 223, 223,
+ 223, 223, 223, 232, 223, 232, 223, 223,
+ 223, 265, 265, 223, 37, 223, 228, 223,
+ 223, 223, 223, 223, 232, 223, 232, 223,
+ 223, 223, 265, 233, 223, 37, 223, 228,
+ 223, 223, 223, 223, 223, 232, 223, 70,
+ 39, 39, 40, 37, 223, 224, 225, 231,
+ 227, 40, 37, 223, 228, 223, 223, 223,
+ 223, 223, 223, 229, 223, 286, 151, 287,
+ 287, 76, 73, 285, 154, 285, 285, 285,
+ 285, 285, 285, 158, 285, 151, 287, 287,
+ 76, 73, 285, 154, 285, 285, 285, 285,
+ 285, 285, 158, 285, 288, 285, 285, 285,
+ 90, 289, 285, 73, 285, 154, 285, 285,
+ 285, 285, 285, 288, 285, 290, 291, 292,
+ 293, 76, 73, 285, 154, 285, 285, 106,
+ 285, 285, 285, 158, 285, 294, 291, 295,
+ 295, 76, 73, 285, 154, 285, 285, 285,
+ 285, 285, 285, 158, 285, 291, 295, 295,
+ 76, 73, 285, 154, 285, 285, 285, 285,
+ 285, 285, 158, 285, 296, 285, 285, 285,
+ 90, 297, 285, 73, 285, 154, 285, 285,
+ 285, 285, 285, 296, 285, 298, 299, 300,
+ 301, 76, 73, 285, 154, 285, 285, 104,
+ 285, 285, 285, 158, 285, 302, 299, 303,
+ 303, 76, 73, 285, 154, 285, 285, 285,
+ 285, 285, 285, 158, 285, 299, 303, 303,
+ 76, 73, 285, 154, 285, 285, 285, 285,
+ 285, 285, 158, 285, 304, 285, 285, 285,
+ 90, 305, 285, 73, 285, 154, 285, 285,
+ 285, 285, 285, 304, 285, 306, 307, 308,
+ 309, 76, 73, 285, 154, 285, 285, 102,
+ 285, 285, 285, 158, 285, 310, 307, 311,
+ 311, 76, 73, 285, 154, 285, 285, 285,
+ 285, 285, 285, 158, 285, 307, 311, 311,
+ 76, 73, 285, 154, 285, 285, 285, 285,
+ 285, 285, 158, 285, 312, 285, 285, 285,
+ 90, 313, 285, 73, 285, 154, 285, 285,
+ 285, 285, 285, 312, 285, 314, 315, 316,
+ 317, 76, 73, 285, 154, 285, 285, 100,
+ 285, 285, 285, 158, 285, 318, 315, 319,
+ 319, 76, 73, 285, 154, 285, 285, 285,
+ 285, 285, 285, 158, 285, 315, 319, 319,
+ 76, 73, 285, 154, 285, 285, 285, 285,
+ 285, 285, 158, 285, 90, 320, 285, 73,
+ 285, 154, 285, 321, 321, 285, 73, 285,
+ 154, 285, 322, 285, 285, 323, 285, 154,
+ 285, 154, 285, 324, 285, 325, 285, 322,
+ 285, 285, 285, 285, 154, 285, 90, 285,
+ 321, 321, 285, 73, 285, 154, 285, 321,
+ 320, 285, 73, 285, 154, 285, 326, 99,
+ 327, 328, 80, 73, 285, 154, 285, 99,
+ 327, 328, 80, 73, 285, 154, 285, 327,
+ 327, 80, 73, 285, 154, 285, 329, 96,
+ 330, 331, 83, 73, 285, 154, 285, 96,
+ 330, 331, 83, 73, 285, 154, 285, 330,
+ 330, 83, 73, 285, 154, 285, 332, 93,
+ 333, 334, 86, 73, 285, 154, 285, 93,
+ 333, 334, 86, 73, 285, 154, 285, 333,
+ 333, 86, 73, 285, 154, 285, 335, 90,
+ 321, 336, 285, 73, 285, 154, 285, 90,
+ 321, 336, 285, 73, 285, 154, 285, 315,
+ 319, 319, 76, 73, 285, 154, 285, 314,
+ 315, 319, 319, 76, 73, 285, 154, 285,
+ 285, 285, 285, 285, 285, 158, 285, 314,
+ 315, 316, 319, 76, 73, 285, 154, 285,
+ 285, 100, 285, 285, 285, 158, 285, 312,
+ 285, 337, 285, 321, 321, 285, 73, 285,
+ 154, 285, 285, 285, 285, 285, 312, 285,
+ 312, 285, 285, 285, 321, 321, 285, 73,
+ 285, 154, 285, 285, 285, 285, 285, 312,
+ 285, 312, 285, 285, 285, 321, 313, 285,
+ 73, 285, 154, 285, 285, 285, 285, 285,
+ 312, 285, 306, 307, 311, 311, 76, 73,
+ 285, 154, 285, 285, 285, 285, 285, 285,
+ 158, 285, 306, 307, 308, 311, 76, 73,
+ 285, 154, 285, 285, 102, 285, 285, 285,
+ 158, 285, 304, 285, 338, 285, 321, 321,
+ 285, 73, 285, 154, 285, 285, 285, 285,
+ 285, 304, 285, 304, 285, 285, 285, 321,
+ 321, 285, 73, 285, 154, 285, 285, 285,
+ 285, 285, 304, 285, 304, 285, 285, 285,
+ 321, 305, 285, 73, 285, 154, 285, 285,
+ 285, 285, 285, 304, 285, 298, 299, 303,
+ 303, 76, 73, 285, 154, 285, 285, 285,
+ 285, 285, 285, 158, 285, 298, 299, 300,
+ 303, 76, 73, 285, 154, 285, 285, 104,
+ 285, 285, 285, 158, 285, 296, 285, 339,
+ 285, 321, 321, 285, 73, 285, 154, 285,
+ 285, 285, 285, 285, 296, 285, 296, 285,
+ 285, 285, 321, 321, 285, 73, 285, 154,
+ 285, 285, 285, 285, 285, 296, 285, 296,
+ 285, 285, 285, 321, 297, 285, 73, 285,
+ 154, 285, 285, 285, 285, 285, 296, 285,
+ 290, 291, 295, 295, 76, 73, 285, 154,
+ 285, 285, 285, 285, 285, 285, 158, 285,
+ 290, 291, 292, 295, 76, 73, 285, 154,
+ 285, 285, 106, 285, 285, 285, 158, 285,
+ 288, 285, 340, 285, 321, 321, 285, 73,
+ 285, 154, 285, 285, 285, 285, 285, 288,
+ 285, 288, 285, 285, 285, 321, 321, 285,
+ 73, 285, 154, 285, 285, 285, 285, 285,
+ 288, 285, 288, 285, 285, 285, 321, 289,
+ 285, 73, 285, 154, 285, 285, 285, 285,
+ 285, 288, 285, 107, 75, 75, 76, 73,
+ 341, 341, 341, 341, 144, 341, 150, 151,
+ 287, 287, 76, 73, 285, 154, 285, 285,
+ 285, 285, 285, 285, 158, 285, 107, 75,
+ 75, 76, 73, 341, 343, 344, 345, 346,
+ 112, 109, 342, 347, 342, 342, 143, 342,
+ 342, 342, 348, 342, 349, 344, 346, 346,
+ 112, 109, 342, 347, 342, 342, 342, 342,
+ 342, 342, 348, 342, 344, 346, 346, 112,
+ 109, 342, 347, 342, 342, 342, 342, 342,
+ 342, 348, 342, 350, 342, 342, 342, 125,
+ 351, 342, 109, 342, 347, 342, 342, 342,
+ 342, 342, 350, 342, 352, 353, 354, 355,
+ 112, 109, 342, 347, 342, 342, 141, 342,
+ 342, 342, 348, 342, 356, 353, 357, 357,
+ 112, 109, 342, 347, 342, 342, 342, 342,
+ 342, 342, 348, 342, 353, 357, 357, 112,
+ 109, 342, 347, 342, 342, 342, 342, 342,
+ 342, 348, 342, 358, 342, 342, 342, 125,
+ 359, 342, 109, 342, 347, 342, 342, 342,
+ 342, 342, 358, 342, 360, 361, 362, 363,
+ 112, 109, 342, 347, 342, 342, 139, 342,
+ 342, 342, 348, 342, 364, 361, 365, 365,
+ 112, 109, 342, 347, 342, 342, 342, 342,
+ 342, 342, 348, 342, 361, 365, 365, 112,
+ 109, 342, 347, 342, 342, 342, 342, 342,
+ 342, 348, 342, 366, 342, 342, 342, 125,
+ 367, 342, 109, 342, 347, 342, 342, 342,
+ 342, 342, 366, 342, 368, 369, 370, 371,
+ 112, 109, 342, 347, 342, 342, 137, 342,
+ 342, 342, 348, 342, 372, 369, 373, 373,
+ 112, 109, 342, 347, 342, 342, 342, 342,
+ 342, 342, 348, 342, 369, 373, 373, 112,
+ 109, 342, 347, 342, 342, 342, 342, 342,
+ 342, 348, 342, 374, 342, 342, 342, 125,
+ 375, 342, 109, 342, 347, 342, 342, 342,
+ 342, 342, 374, 342, 376, 377, 378, 379,
+ 112, 109, 342, 347, 342, 342, 135, 342,
+ 342, 342, 348, 342, 380, 377, 381, 381,
+ 112, 109, 342, 347, 342, 342, 342, 342,
+ 342, 342, 348, 342, 377, 381, 381, 112,
+ 109, 342, 347, 342, 342, 342, 342, 342,
+ 342, 348, 342, 125, 382, 342, 109, 342,
+ 347, 342, 383, 383, 342, 109, 342, 347,
+ 342, 384, 342, 342, 385, 342, 347, 342,
+ 347, 342, 386, 342, 387, 342, 384, 342,
+ 342, 342, 342, 347, 342, 125, 342, 383,
+ 383, 342, 109, 342, 347, 342, 383, 382,
+ 342, 109, 342, 347, 342, 388, 134, 389,
+ 390, 115, 109, 342, 347, 342, 134, 389,
+ 390, 115, 109, 342, 347, 342, 389, 389,
+ 115, 109, 342, 347, 342, 391, 131, 392,
+ 393, 118, 109, 342, 347, 342, 131, 392,
+ 393, 118, 109, 342, 347, 342, 392, 392,
+ 118, 109, 342, 347, 342, 394, 128, 395,
+ 396, 121, 109, 342, 347, 342, 128, 395,
+ 396, 121, 109, 342, 347, 342, 395, 395,
+ 121, 109, 342, 347, 342, 397, 125, 383,
+ 398, 342, 109, 342, 347, 342, 125, 383,
+ 398, 342, 109, 342, 347, 342, 377, 381,
+ 381, 112, 109, 342, 347, 342, 376, 377,
+ 381, 381, 112, 109, 342, 347, 342, 342,
+ 342, 342, 342, 342, 348, 342, 376, 377,
+ 378, 381, 112, 109, 342, 347, 342, 342,
+ 135, 342, 342, 342, 348, 342, 374, 342,
+ 399, 342, 383, 383, 342, 109, 342, 347,
+ 342, 342, 342, 342, 342, 374, 342, 374,
+ 342, 342, 342, 383, 383, 342, 109, 342,
+ 347, 342, 342, 342, 342, 342, 374, 342,
+ 374, 342, 342, 342, 383, 375, 342, 109,
+ 342, 347, 342, 342, 342, 342, 342, 374,
+ 342, 368, 369, 373, 373, 112, 109, 342,
+ 347, 342, 342, 342, 342, 342, 342, 348,
+ 342, 368, 369, 370, 373, 112, 109, 342,
+ 347, 342, 342, 137, 342, 342, 342, 348,
+ 342, 366, 342, 400, 342, 383, 383, 342,
+ 109, 342, 347, 342, 342, 342, 342, 342,
+ 366, 342, 366, 342, 342, 342, 383, 383,
+ 342, 109, 342, 347, 342, 342, 342, 342,
+ 342, 366, 342, 366, 342, 342, 342, 383,
+ 367, 342, 109, 342, 347, 342, 342, 342,
+ 342, 342, 366, 342, 360, 361, 365, 365,
+ 112, 109, 342, 347, 342, 342, 342, 342,
+ 342, 342, 348, 342, 360, 361, 362, 365,
+ 112, 109, 342, 347, 342, 342, 139, 342,
+ 342, 342, 348, 342, 358, 342, 401, 342,
+ 383, 383, 342, 109, 342, 347, 342, 342,
+ 342, 342, 342, 358, 342, 358, 342, 342,
+ 342, 383, 383, 342, 109, 342, 347, 342,
+ 342, 342, 342, 342, 358, 342, 358, 342,
+ 342, 342, 383, 359, 342, 109, 342, 347,
+ 342, 342, 342, 342, 342, 358, 342, 352,
+ 353, 357, 357, 112, 109, 342, 347, 342,
+ 342, 342, 342, 342, 342, 348, 342, 352,
+ 353, 354, 357, 112, 109, 342, 347, 342,
+ 342, 141, 342, 342, 342, 348, 342, 350,
+ 342, 402, 342, 383, 383, 342, 109, 342,
+ 347, 342, 342, 342, 342, 342, 350, 342,
+ 350, 342, 342, 342, 383, 383, 342, 109,
+ 342, 347, 342, 342, 342, 342, 342, 350,
+ 342, 350, 342, 342, 342, 383, 351, 342,
+ 109, 342, 347, 342, 342, 342, 342, 342,
+ 350, 342, 343, 344, 346, 346, 112, 109,
+ 342, 347, 342, 342, 342, 342, 342, 342,
+ 348, 342, 148, 149, 150, 151, 403, 287,
+ 76, 73, 285, 154, 155, 155, 144, 285,
+ 285, 148, 158, 285, 162, 404, 164, 165,
+ 4, 1, 161, 166, 161, 161, 35, 161,
+ 161, 161, 167, 161, 170, 149, 150, 151,
+ 405, 406, 76, 407, 161, 408, 161, 155,
+ 144, 161, 161, 170, 158, 161, 107, 409,
+ 409, 76, 407, 161, 166, 161, 161, 144,
+ 161, 410, 161, 161, 411, 161, 408, 161,
+ 408, 161, 412, 161, 207, 161, 410, 161,
+ 161, 161, 161, 408, 161, 170, 161, 222,
+ 107, 409, 409, 76, 407, 161, 166, 161,
+ 161, 161, 161, 161, 170, 161, 414, 413,
+ 415, 415, 413, 146, 413, 416, 413, 415,
+ 415, 413, 146, 413, 416, 413, 417, 413,
+ 413, 418, 413, 416, 413, 416, 413, 419,
+ 413, 420, 413, 417, 413, 413, 413, 413,
+ 416, 413, 148, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 155, 341, 341, 341,
+ 341, 148, 341, 0
};
static const short _indic_syllable_machine_trans_targs[] = {
138, 160, 166, 2, 167, 3, 5, 170,
6, 8, 173, 9, 11, 176, 12, 14,
15, 159, 17, 18, 175, 20, 21, 172,
- 23, 24, 169, 178, 182, 183, 187, 188,
- 192, 193, 197, 198, 138, 221, 227, 36,
- 228, 37, 39, 231, 40, 42, 234, 43,
- 45, 237, 46, 48, 49, 220, 51, 52,
- 236, 54, 55, 233, 57, 58, 230, 239,
- 243, 244, 248, 249, 253, 254, 258, 260,
- 138, 281, 287, 70, 288, 138, 71, 73,
- 291, 74, 76, 294, 77, 79, 297, 80,
- 82, 83, 280, 85, 86, 296, 88, 89,
- 293, 91, 92, 290, 299, 303, 304, 308,
- 309, 313, 314, 318, 138, 343, 349, 103,
- 350, 104, 106, 353, 107, 109, 356, 110,
- 112, 359, 113, 115, 116, 342, 118, 119,
- 358, 121, 122, 355, 124, 125, 352, 361,
- 365, 366, 370, 371, 375, 376, 380, 381,
- 320, 138, 394, 138, 139, 200, 261, 263,
- 319, 321, 283, 322, 382, 383, 392, 399,
- 138, 140, 142, 33, 199, 162, 141, 32,
- 143, 195, 144, 146, 31, 194, 145, 30,
- 147, 190, 148, 150, 29, 189, 149, 28,
- 151, 185, 152, 154, 27, 184, 153, 26,
- 155, 180, 156, 158, 25, 179, 157, 1,
- 165, 0, 161, 164, 163, 138, 168, 4,
- 22, 171, 7, 19, 174, 10, 16, 177,
- 13, 181, 186, 191, 196, 138, 201, 203,
- 67, 259, 223, 202, 66, 204, 256, 205,
- 207, 65, 255, 206, 64, 208, 251, 209,
- 211, 63, 250, 210, 62, 212, 246, 213,
- 215, 61, 245, 214, 60, 216, 241, 217,
- 219, 59, 240, 218, 35, 226, 34, 222,
- 225, 224, 138, 229, 38, 56, 232, 41,
- 53, 235, 44, 50, 238, 47, 242, 247,
- 252, 257, 138, 262, 100, 264, 316, 265,
- 267, 99, 315, 266, 98, 268, 311, 269,
- 271, 97, 310, 270, 96, 272, 306, 273,
- 275, 95, 305, 274, 94, 276, 301, 277,
- 279, 93, 300, 278, 69, 286, 68, 282,
- 285, 284, 138, 289, 72, 90, 292, 75,
- 87, 295, 78, 84, 298, 81, 302, 307,
- 312, 317, 138, 138, 323, 325, 134, 133,
- 345, 324, 326, 378, 327, 329, 132, 377,
- 328, 131, 330, 373, 331, 333, 130, 372,
- 332, 129, 334, 368, 335, 337, 128, 367,
- 336, 127, 338, 363, 339, 341, 126, 362,
- 340, 102, 348, 101, 344, 347, 346, 138,
- 351, 105, 123, 354, 108, 120, 357, 111,
- 117, 360, 114, 364, 369, 374, 379, 135,
- 384, 385, 391, 386, 388, 136, 387, 390,
- 389, 138, 393, 137, 396, 395, 398, 397,
- 138
+ 23, 24, 169, 179, 183, 184, 188, 189,
+ 193, 194, 198, 199, 138, 222, 228, 36,
+ 229, 37, 39, 232, 40, 42, 235, 43,
+ 45, 238, 46, 48, 49, 221, 51, 52,
+ 237, 54, 55, 234, 57, 58, 231, 241,
+ 245, 246, 250, 251, 255, 256, 260, 262,
+ 138, 283, 289, 70, 290, 138, 71, 73,
+ 293, 74, 76, 296, 77, 79, 299, 80,
+ 82, 83, 282, 85, 86, 298, 88, 89,
+ 295, 91, 92, 292, 302, 306, 307, 311,
+ 312, 316, 317, 321, 138, 346, 352, 103,
+ 353, 104, 106, 356, 107, 109, 359, 110,
+ 112, 362, 113, 115, 116, 345, 118, 119,
+ 361, 121, 122, 358, 124, 125, 355, 365,
+ 369, 370, 374, 375, 379, 380, 384, 385,
+ 323, 138, 398, 138, 139, 201, 263, 265,
+ 322, 324, 285, 325, 386, 387, 301, 396,
+ 403, 138, 140, 142, 33, 200, 162, 178,
+ 141, 32, 143, 196, 144, 146, 31, 195,
+ 145, 30, 147, 191, 148, 150, 29, 190,
+ 149, 28, 151, 186, 152, 154, 27, 185,
+ 153, 26, 155, 181, 156, 158, 25, 180,
+ 157, 1, 165, 0, 161, 164, 163, 138,
+ 168, 4, 22, 171, 7, 19, 174, 10,
+ 16, 177, 13, 182, 187, 192, 197, 138,
+ 202, 204, 67, 261, 224, 240, 203, 66,
+ 205, 258, 206, 208, 65, 257, 207, 64,
+ 209, 253, 210, 212, 63, 252, 211, 62,
+ 213, 248, 214, 216, 61, 247, 215, 60,
+ 217, 243, 218, 220, 59, 242, 219, 35,
+ 227, 34, 223, 226, 225, 138, 230, 38,
+ 56, 233, 41, 53, 236, 44, 50, 239,
+ 47, 244, 249, 254, 259, 138, 264, 100,
+ 266, 319, 267, 269, 99, 318, 268, 98,
+ 270, 314, 271, 273, 97, 313, 272, 96,
+ 274, 309, 275, 277, 95, 308, 276, 94,
+ 278, 304, 279, 281, 93, 303, 280, 69,
+ 288, 68, 284, 287, 286, 138, 291, 72,
+ 90, 294, 75, 87, 297, 78, 84, 300,
+ 81, 305, 310, 315, 320, 138, 138, 326,
+ 328, 134, 133, 348, 364, 327, 329, 382,
+ 330, 332, 132, 381, 331, 131, 333, 377,
+ 334, 336, 130, 376, 335, 129, 337, 372,
+ 338, 340, 128, 371, 339, 127, 341, 367,
+ 342, 344, 126, 366, 343, 102, 351, 101,
+ 347, 350, 349, 138, 354, 105, 123, 357,
+ 108, 120, 360, 111, 117, 363, 114, 368,
+ 373, 378, 383, 135, 388, 389, 395, 390,
+ 392, 136, 391, 394, 393, 138, 397, 137,
+ 400, 399, 402, 401, 138
};
static const char _indic_syllable_machine_trans_actions[] = {
@@ -705,40 +782,40 @@ static const char _indic_syllable_machine_trans_actions[] = {
2, 0, 0, 2, 0, 0, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
6, 8, 0, 11, 2, 2, 6, 0,
- 12, 12, 0, 2, 6, 2, 2, 0,
- 13, 2, 0, 0, 2, 0, 2, 0,
+ 12, 12, 0, 2, 6, 2, 6, 2,
+ 0, 13, 2, 0, 0, 2, 0, 2,
+ 2, 0, 2, 2, 2, 0, 0, 2,
+ 2, 0, 2, 2, 2, 0, 0, 2,
+ 2, 0, 2, 2, 2, 0, 0, 2,
+ 2, 0, 2, 2, 2, 0, 0, 2,
+ 2, 0, 2, 0, 0, 0, 0, 14,
+ 2, 0, 0, 2, 0, 0, 2, 0,
+ 0, 2, 0, 2, 2, 2, 2, 15,
+ 2, 0, 0, 2, 0, 2, 2, 0,
2, 2, 2, 0, 0, 2, 2, 0,
2, 2, 2, 0, 0, 2, 2, 0,
2, 2, 2, 0, 0, 2, 2, 0,
2, 2, 2, 0, 0, 2, 2, 0,
- 2, 0, 0, 0, 0, 14, 2, 0,
+ 2, 0, 0, 0, 0, 16, 2, 0,
0, 2, 0, 0, 2, 0, 0, 2,
- 0, 2, 2, 2, 2, 15, 2, 0,
- 0, 2, 0, 2, 0, 2, 2, 2,
- 0, 0, 2, 2, 0, 2, 2, 2,
- 0, 0, 2, 2, 0, 2, 2, 2,
- 0, 0, 2, 2, 0, 2, 2, 2,
- 0, 0, 2, 2, 0, 2, 0, 0,
- 0, 0, 16, 2, 0, 0, 2, 0,
- 0, 2, 0, 0, 2, 0, 2, 2,
- 2, 2, 17, 6, 0, 6, 2, 6,
- 0, 0, 6, 6, 0, 6, 2, 6,
- 0, 0, 6, 6, 0, 6, 2, 6,
- 0, 0, 6, 6, 0, 6, 2, 6,
- 0, 0, 6, 6, 0, 2, 0, 0,
- 0, 0, 18, 2, 0, 0, 2, 0,
- 0, 2, 0, 0, 2, 0, 2, 2,
- 2, 2, 19, 20, 2, 0, 0, 0,
- 0, 2, 2, 2, 2, 0, 0, 2,
- 2, 0, 2, 2, 2, 0, 0, 2,
- 2, 0, 2, 2, 2, 0, 0, 2,
- 2, 0, 2, 2, 2, 0, 0, 2,
- 2, 0, 2, 0, 0, 0, 0, 21,
- 2, 0, 0, 2, 0, 0, 2, 0,
- 0, 2, 0, 2, 2, 2, 2, 0,
- 0, 22, 22, 0, 0, 0, 0, 0,
- 0, 23, 2, 0, 0, 0, 0, 0,
- 24
+ 0, 2, 2, 2, 2, 17, 6, 0,
+ 6, 2, 6, 0, 0, 6, 6, 0,
+ 6, 2, 6, 0, 0, 6, 6, 0,
+ 6, 2, 6, 0, 0, 6, 6, 0,
+ 6, 2, 6, 0, 0, 6, 6, 0,
+ 2, 0, 0, 0, 0, 18, 2, 0,
+ 0, 2, 0, 0, 2, 0, 0, 2,
+ 0, 2, 2, 2, 2, 19, 20, 2,
+ 0, 0, 0, 0, 2, 2, 2, 2,
+ 2, 0, 0, 2, 2, 0, 2, 2,
+ 2, 0, 0, 2, 2, 0, 2, 2,
+ 2, 0, 0, 2, 2, 0, 2, 2,
+ 2, 0, 0, 2, 2, 0, 2, 0,
+ 0, 0, 0, 21, 2, 0, 0, 2,
+ 0, 0, 2, 0, 0, 2, 0, 2,
+ 2, 2, 2, 0, 0, 22, 22, 0,
+ 0, 0, 0, 0, 0, 23, 2, 0,
+ 0, 0, 0, 0, 24
};
static const char _indic_syllable_machine_to_state_actions[] = {
@@ -791,7 +868,8 @@ static const char _indic_syllable_machine_to_state_actions[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0
};
static const char _indic_syllable_machine_from_state_actions[] = {
@@ -844,7 +922,8 @@ static const char _indic_syllable_machine_from_state_actions[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0
};
static const short _indic_syllable_machine_eof_trans[] = {
@@ -865,39 +944,40 @@ static const short _indic_syllable_machine_eof_trans[] = {
109, 109, 109, 109, 109, 109, 109, 109,
109, 109, 109, 109, 109, 109, 109, 109,
109, 109, 109, 109, 109, 109, 109, 73,
- 1, 146, 0, 161, 161, 161, 161, 161,
- 161, 161, 161, 161, 161, 161, 161, 161,
- 161, 161, 161, 161, 161, 161, 161, 161,
- 161, 161, 161, 161, 161, 161, 161, 161,
- 161, 161, 161, 161, 161, 161, 161, 161,
- 161, 161, 161, 161, 161, 161, 161, 161,
- 161, 161, 161, 161, 161, 161, 161, 161,
- 161, 161, 161, 161, 161, 161, 161, 161,
- 222, 222, 222, 222, 222, 222, 222, 222,
- 222, 222, 222, 222, 222, 222, 222, 222,
- 222, 222, 222, 222, 222, 222, 222, 222,
- 222, 222, 222, 222, 222, 222, 222, 222,
- 222, 222, 222, 222, 222, 222, 222, 222,
- 222, 222, 222, 222, 222, 222, 222, 222,
- 222, 222, 222, 222, 222, 222, 222, 222,
- 222, 222, 222, 222, 222, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 283,
- 283, 283, 283, 283, 283, 283, 283, 339,
- 283, 339, 340, 340, 340, 340, 340, 340,
- 340, 340, 340, 340, 340, 340, 340, 340,
- 340, 340, 340, 340, 340, 340, 340, 340,
- 340, 340, 340, 340, 340, 340, 340, 340,
- 340, 340, 340, 340, 340, 340, 340, 340,
- 340, 340, 340, 340, 340, 340, 340, 340,
- 340, 340, 340, 340, 340, 340, 340, 340,
- 340, 340, 340, 340, 340, 340, 283, 161,
- 161, 161, 161, 161, 161, 161, 161, 161,
- 410, 410, 410, 410, 410, 410, 410, 339
+ 1, 146, 0, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 286,
+ 286, 286, 286, 286, 286, 286, 286, 286,
+ 286, 286, 286, 286, 286, 286, 286, 286,
+ 286, 286, 286, 286, 286, 286, 286, 286,
+ 286, 286, 286, 286, 286, 286, 286, 286,
+ 286, 286, 286, 286, 286, 286, 286, 286,
+ 286, 286, 286, 286, 286, 286, 286, 286,
+ 286, 286, 286, 286, 286, 286, 286, 286,
+ 286, 286, 342, 286, 342, 343, 343, 343,
+ 343, 343, 343, 343, 343, 343, 343, 343,
+ 343, 343, 343, 343, 343, 343, 343, 343,
+ 343, 343, 343, 343, 343, 343, 343, 343,
+ 343, 343, 343, 343, 343, 343, 343, 343,
+ 343, 343, 343, 343, 343, 343, 343, 343,
+ 343, 343, 343, 343, 343, 343, 343, 343,
+ 343, 343, 343, 343, 343, 343, 343, 343,
+ 343, 343, 286, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 414, 414, 414, 414,
+ 414, 414, 414, 342
};
static const int indic_syllable_machine_start = 138;
@@ -911,7 +991,7 @@ static const int indic_syllable_machine_en_main = 138;
-#line 92 "hb-ot-shape-complex-indic-machine.rl"
+#line 93 "hb-ot-shape-complex-indic-machine.rl"
#define found_syllable(syllable_type) \
@@ -930,7 +1010,7 @@ find_syllables (hb_buffer_t *buffer)
int cs;
hb_glyph_info_t *info = buffer->info;
-#line 934 "hb-ot-shape-complex-indic-machine.hh"
+#line 1014 "hb-ot-shape-complex-indic-machine.hh"
{
cs = indic_syllable_machine_start;
ts = 0;
@@ -938,7 +1018,7 @@ find_syllables (hb_buffer_t *buffer)
act = 0;
}
-#line 112 "hb-ot-shape-complex-indic-machine.rl"
+#line 113 "hb-ot-shape-complex-indic-machine.rl"
p = 0;
@@ -946,7 +1026,7 @@ find_syllables (hb_buffer_t *buffer)
unsigned int syllable_serial = 1;
-#line 950 "hb-ot-shape-complex-indic-machine.hh"
+#line 1030 "hb-ot-shape-complex-indic-machine.hh"
{
int _slen;
int _trans;
@@ -960,7 +1040,7 @@ _resume:
#line 1 "NONE"
{ts = p;}
break;
-#line 964 "hb-ot-shape-complex-indic-machine.hh"
+#line 1044 "hb-ot-shape-complex-indic-machine.hh"
}
_keys = _indic_syllable_machine_trans_keys + (cs<<1);
@@ -983,71 +1063,71 @@ _eof_trans:
{te = p+1;}
break;
case 14:
-#line 83 "hb-ot-shape-complex-indic-machine.rl"
+#line 84 "hb-ot-shape-complex-indic-machine.rl"
{te = p+1;{ found_syllable (consonant_syllable); }}
break;
case 16:
-#line 84 "hb-ot-shape-complex-indic-machine.rl"
+#line 85 "hb-ot-shape-complex-indic-machine.rl"
{te = p+1;{ found_syllable (vowel_syllable); }}
break;
case 21:
-#line 85 "hb-ot-shape-complex-indic-machine.rl"
+#line 86 "hb-ot-shape-complex-indic-machine.rl"
{te = p+1;{ found_syllable (standalone_cluster); }}
break;
case 24:
-#line 86 "hb-ot-shape-complex-indic-machine.rl"
+#line 87 "hb-ot-shape-complex-indic-machine.rl"
{te = p+1;{ found_syllable (symbol_cluster); }}
break;
case 18:
-#line 87 "hb-ot-shape-complex-indic-machine.rl"
+#line 88 "hb-ot-shape-complex-indic-machine.rl"
{te = p+1;{ found_syllable (broken_cluster); }}
break;
case 11:
-#line 88 "hb-ot-shape-complex-indic-machine.rl"
+#line 89 "hb-ot-shape-complex-indic-machine.rl"
{te = p+1;{ found_syllable (non_indic_cluster); }}
break;
case 13:
-#line 83 "hb-ot-shape-complex-indic-machine.rl"
+#line 84 "hb-ot-shape-complex-indic-machine.rl"
{te = p;p--;{ found_syllable (consonant_syllable); }}
break;
case 15:
-#line 84 "hb-ot-shape-complex-indic-machine.rl"
+#line 85 "hb-ot-shape-complex-indic-machine.rl"
{te = p;p--;{ found_syllable (vowel_syllable); }}
break;
case 20:
-#line 85 "hb-ot-shape-complex-indic-machine.rl"
+#line 86 "hb-ot-shape-complex-indic-machine.rl"
{te = p;p--;{ found_syllable (standalone_cluster); }}
break;
case 23:
-#line 86 "hb-ot-shape-complex-indic-machine.rl"
+#line 87 "hb-ot-shape-complex-indic-machine.rl"
{te = p;p--;{ found_syllable (symbol_cluster); }}
break;
case 17:
-#line 87 "hb-ot-shape-complex-indic-machine.rl"
+#line 88 "hb-ot-shape-complex-indic-machine.rl"
{te = p;p--;{ found_syllable (broken_cluster); }}
break;
case 19:
-#line 88 "hb-ot-shape-complex-indic-machine.rl"
+#line 89 "hb-ot-shape-complex-indic-machine.rl"
{te = p;p--;{ found_syllable (non_indic_cluster); }}
break;
case 1:
-#line 83 "hb-ot-shape-complex-indic-machine.rl"
+#line 84 "hb-ot-shape-complex-indic-machine.rl"
{{p = ((te))-1;}{ found_syllable (consonant_syllable); }}
break;
case 3:
-#line 84 "hb-ot-shape-complex-indic-machine.rl"
+#line 85 "hb-ot-shape-complex-indic-machine.rl"
{{p = ((te))-1;}{ found_syllable (vowel_syllable); }}
break;
case 7:
-#line 85 "hb-ot-shape-complex-indic-machine.rl"
+#line 86 "hb-ot-shape-complex-indic-machine.rl"
{{p = ((te))-1;}{ found_syllable (standalone_cluster); }}
break;
case 8:
-#line 86 "hb-ot-shape-complex-indic-machine.rl"
+#line 87 "hb-ot-shape-complex-indic-machine.rl"
{{p = ((te))-1;}{ found_syllable (symbol_cluster); }}
break;
case 4:
-#line 87 "hb-ot-shape-complex-indic-machine.rl"
+#line 88 "hb-ot-shape-complex-indic-machine.rl"
{{p = ((te))-1;}{ found_syllable (broken_cluster); }}
break;
case 5:
@@ -1068,22 +1148,22 @@ _eof_trans:
case 22:
#line 1 "NONE"
{te = p+1;}
-#line 83 "hb-ot-shape-complex-indic-machine.rl"
+#line 84 "hb-ot-shape-complex-indic-machine.rl"
{act = 1;}
break;
case 6:
#line 1 "NONE"
{te = p+1;}
-#line 87 "hb-ot-shape-complex-indic-machine.rl"
+#line 88 "hb-ot-shape-complex-indic-machine.rl"
{act = 5;}
break;
case 12:
#line 1 "NONE"
{te = p+1;}
-#line 88 "hb-ot-shape-complex-indic-machine.rl"
+#line 89 "hb-ot-shape-complex-indic-machine.rl"
{act = 6;}
break;
-#line 1087 "hb-ot-shape-complex-indic-machine.hh"
+#line 1167 "hb-ot-shape-complex-indic-machine.hh"
}
_again:
@@ -1092,7 +1172,7 @@ _again:
#line 1 "NONE"
{ts = 0;}
break;
-#line 1096 "hb-ot-shape-complex-indic-machine.hh"
+#line 1176 "hb-ot-shape-complex-indic-machine.hh"
}
if ( ++p != pe )
@@ -1108,7 +1188,7 @@ _again:
}
-#line 120 "hb-ot-shape-complex-indic-machine.rl"
+#line 121 "hb-ot-shape-complex-indic-machine.rl"
}
diff --git a/src/hb-ot-shape-complex-indic-machine.rl b/src/hb-ot-shape-complex-indic-machine.rl
index c5d945d..f7e022b 100644
--- a/src/hb-ot-shape-complex-indic-machine.rl
+++ b/src/hb-ot-shape-complex-indic-machine.rl
@@ -52,6 +52,7 @@ DOTTEDCIRCLE = 12;
RS = 13;
Repha = 15;
Ra = 16;
+CM = 17;
Symbol= 18;
CS = 19;
@@ -67,10 +68,10 @@ matra_group = z{0,3}.M.N?.(H | forced_rakar)?;
syllable_tail = (z?.SM.SM?.ZWNJ?)? A{0,3}?;
halant_group = (z?.H.(ZWJ.N?)?);
final_halant_group = halant_group | H.ZWNJ;
+medial_group = CM?;
halant_or_matra_group = (final_halant_group | matra_group{0,4});
-complex_syllable_tail = (halant_group.cn){0,4} halant_or_matra_group syllable_tail;
-
+complex_syllable_tail = (halant_group.cn){0,4} medial_group halant_or_matra_group syllable_tail;
consonant_syllable = (Repha|CS)? cn complex_syllable_tail;
vowel_syllable = reph? V.n? (ZWJ | complex_syllable_tail);
diff --git a/src/hb-ot-shape-complex-indic-table.cc b/src/hb-ot-shape-complex-indic-table.cc
index 43b5ef8..d26bbb8 100644
--- a/src/hb-ot-shape-complex-indic-table.cc
+++ b/src/hb-ot-shape-complex-indic-table.cc
@@ -6,12 +6,12 @@
*
* on files with these headers:
*
- * # IndicSyllabicCategory-11.0.0.txt
- * # Date: 2018-05-21, 18:33:00 GMT [KW, RP]
- * # IndicPositionalCategory-11.0.0.txt
- * # Date: 2018-02-05, 16:21:00 GMT [KW, RP]
- * # Blocks-11.0.0.txt
- * # Date: 2017-10-16, 24:39:00 GMT [KW]
+ * # IndicSyllabicCategory-12.0.0.txt
+ * # Date: 2019-01-31, 02:26:00 GMT [KW, RP]
+ * # IndicPositionalCategory-12.0.0.txt
+ * # Date: 2019-01-31, 02:26:00 GMT [KW, RP]
+ * # Blocks-12.0.0.txt
+ * # Date: 2018-07-30, 19:40:00 GMT [KW]
*/
#include "hb-ot-shape-complex-indic.hh"
@@ -19,21 +19,21 @@
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-macros"
-#define ISC_A INDIC_SYLLABIC_CATEGORY_AVAGRAHA /* 16 chars; Avagraha */
-#define ISC_Bi INDIC_SYLLABIC_CATEGORY_BINDU /* 83 chars; Bindu */
+#define ISC_A INDIC_SYLLABIC_CATEGORY_AVAGRAHA /* 17 chars; Avagraha */
+#define ISC_Bi INDIC_SYLLABIC_CATEGORY_BINDU /* 86 chars; Bindu */
#define ISC_BJN INDIC_SYLLABIC_CATEGORY_BRAHMI_JOINING_NUMBER /* 20 chars; Brahmi_Joining_Number */
-#define ISC_Ca INDIC_SYLLABIC_CATEGORY_CANTILLATION_MARK /* 58 chars; Cantillation_Mark */
-#define ISC_C INDIC_SYLLABIC_CATEGORY_CONSONANT /* 2110 chars; Consonant */
-#define ISC_CD INDIC_SYLLABIC_CATEGORY_CONSONANT_DEAD /* 10 chars; Consonant_Dead */
+#define ISC_Ca INDIC_SYLLABIC_CATEGORY_CANTILLATION_MARK /* 59 chars; Cantillation_Mark */
+#define ISC_C INDIC_SYLLABIC_CATEGORY_CONSONANT /* 2160 chars; Consonant */
+#define ISC_CD INDIC_SYLLABIC_CATEGORY_CONSONANT_DEAD /* 12 chars; Consonant_Dead */
#define ISC_CF INDIC_SYLLABIC_CATEGORY_CONSONANT_FINAL /* 67 chars; Consonant_Final */
#define ISC_CHL INDIC_SYLLABIC_CATEGORY_CONSONANT_HEAD_LETTER /* 5 chars; Consonant_Head_Letter */
#define ISC_CIP INDIC_SYLLABIC_CATEGORY_CONSONANT_INITIAL_POSTFIXED /* 1 chars; Consonant_Initial_Postfixed */
#define ISC_CK INDIC_SYLLABIC_CATEGORY_CONSONANT_KILLER /* 2 chars; Consonant_Killer */
-#define ISC_CM INDIC_SYLLABIC_CATEGORY_CONSONANT_MEDIAL /* 28 chars; Consonant_Medial */
-#define ISC_CP INDIC_SYLLABIC_CATEGORY_CONSONANT_PLACEHOLDER /* 21 chars; Consonant_Placeholder */
+#define ISC_CM INDIC_SYLLABIC_CATEGORY_CONSONANT_MEDIAL /* 29 chars; Consonant_Medial */
+#define ISC_CP INDIC_SYLLABIC_CATEGORY_CONSONANT_PLACEHOLDER /* 22 chars; Consonant_Placeholder */
#define ISC_CPR INDIC_SYLLABIC_CATEGORY_CONSONANT_PRECEDING_REPHA /* 2 chars; Consonant_Preceding_Repha */
-#define ISC_CPrf INDIC_SYLLABIC_CATEGORY_CONSONANT_PREFIXED /* 7 chars; Consonant_Prefixed */
-#define ISC_CS INDIC_SYLLABIC_CATEGORY_CONSONANT_SUBJOINED /* 95 chars; Consonant_Subjoined */
+#define ISC_CPrf INDIC_SYLLABIC_CATEGORY_CONSONANT_PREFIXED /* 9 chars; Consonant_Prefixed */
+#define ISC_CS INDIC_SYLLABIC_CATEGORY_CONSONANT_SUBJOINED /* 94 chars; Consonant_Subjoined */
#define ISC_CSR INDIC_SYLLABIC_CATEGORY_CONSONANT_SUCCEEDING_REPHA /* 4 chars; Consonant_Succeeding_Repha */
#define ISC_CWS INDIC_SYLLABIC_CATEGORY_CONSONANT_WITH_STACKER /* 6 chars; Consonant_With_Stacker */
#define ISC_GM INDIC_SYLLABIC_CATEGORY_GEMINATION_MARK /* 3 chars; Gemination_Mark */
@@ -42,7 +42,7 @@
#define ISC_ML INDIC_SYLLABIC_CATEGORY_MODIFYING_LETTER /* 1 chars; Modifying_Letter */
#define ISC_ZWNJ INDIC_SYLLABIC_CATEGORY_NON_JOINER /* 1 chars; Non_Joiner */
#define ISC_N INDIC_SYLLABIC_CATEGORY_NUKTA /* 30 chars; Nukta */
-#define ISC_Nd INDIC_SYLLABIC_CATEGORY_NUMBER /* 480 chars; Number */
+#define ISC_Nd INDIC_SYLLABIC_CATEGORY_NUMBER /* 481 chars; Number */
#define ISC_NJ INDIC_SYLLABIC_CATEGORY_NUMBER_JOINER /* 1 chars; Number_Joiner */
#define ISC_x INDIC_SYLLABIC_CATEGORY_OTHER /* 1 chars; Other */
#define ISC_PK INDIC_SYLLABIC_CATEGORY_PURE_KILLER /* 21 chars; Pure_Killer */
@@ -50,21 +50,21 @@
#define ISC_SM INDIC_SYLLABIC_CATEGORY_SYLLABLE_MODIFIER /* 25 chars; Syllable_Modifier */
#define ISC_TL INDIC_SYLLABIC_CATEGORY_TONE_LETTER /* 7 chars; Tone_Letter */
#define ISC_TM INDIC_SYLLABIC_CATEGORY_TONE_MARK /* 42 chars; Tone_Mark */
-#define ISC_V INDIC_SYLLABIC_CATEGORY_VIRAMA /* 25 chars; Virama */
-#define ISC_Vs INDIC_SYLLABIC_CATEGORY_VISARGA /* 36 chars; Visarga */
+#define ISC_V INDIC_SYLLABIC_CATEGORY_VIRAMA /* 27 chars; Virama */
+#define ISC_Vs INDIC_SYLLABIC_CATEGORY_VISARGA /* 35 chars; Visarga */
#define ISC_Vo INDIC_SYLLABIC_CATEGORY_VOWEL /* 30 chars; Vowel */
-#define ISC_M INDIC_SYLLABIC_CATEGORY_VOWEL_DEPENDENT /* 660 chars; Vowel_Dependent */
-#define ISC_VI INDIC_SYLLABIC_CATEGORY_VOWEL_INDEPENDENT /* 464 chars; Vowel_Independent */
+#define ISC_M INDIC_SYLLABIC_CATEGORY_VOWEL_DEPENDENT /* 673 chars; Vowel_Dependent */
+#define ISC_VI INDIC_SYLLABIC_CATEGORY_VOWEL_INDEPENDENT /* 476 chars; Vowel_Independent */
-#define IMC_B INDIC_MATRA_CATEGORY_BOTTOM /* 340 chars; Bottom */
+#define IMC_B INDIC_MATRA_CATEGORY_BOTTOM /* 349 chars; Bottom */
#define IMC_BL INDIC_MATRA_CATEGORY_BOTTOM_AND_LEFT /* 1 chars; Bottom_And_Left */
#define IMC_BR INDIC_MATRA_CATEGORY_BOTTOM_AND_RIGHT /* 2 chars; Bottom_And_Right */
-#define IMC_L INDIC_MATRA_CATEGORY_LEFT /* 59 chars; Left */
+#define IMC_L INDIC_MATRA_CATEGORY_LEFT /* 61 chars; Left */
#define IMC_LR INDIC_MATRA_CATEGORY_LEFT_AND_RIGHT /* 21 chars; Left_And_Right */
#define IMC_x INDIC_MATRA_CATEGORY_NOT_APPLICABLE /* 1 chars; Not_Applicable */
#define IMC_O INDIC_MATRA_CATEGORY_OVERSTRUCK /* 10 chars; Overstruck */
-#define IMC_R INDIC_MATRA_CATEGORY_RIGHT /* 276 chars; Right */
-#define IMC_T INDIC_MATRA_CATEGORY_TOP /* 393 chars; Top */
+#define IMC_R INDIC_MATRA_CATEGORY_RIGHT /* 281 chars; Right */
+#define IMC_T INDIC_MATRA_CATEGORY_TOP /* 398 chars; Top */
#define IMC_TB INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM /* 10 chars; Top_And_Bottom */
#define IMC_TBR INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM_AND_RIGHT /* 1 chars; Top_And_Bottom_And_Right */
#define IMC_TL INDIC_MATRA_CATEGORY_TOP_AND_LEFT /* 6 chars; Top_And_Left */
@@ -152,7 +152,7 @@ static const INDIC_TABLE_ELEMENT_TYPE indic_table[] = {
/* 0A38 */ _(C,x), _(C,x), _(x,x), _(x,x), _(N,B), _(x,x), _(M,R), _(M,L),
/* 0A40 */ _(M,R), _(M,B), _(M,B), _(x,x), _(x,x), _(x,x), _(x,x), _(M,T),
/* 0A48 */ _(M,T), _(x,x), _(x,x), _(M,T), _(M,T), _(V,B), _(x,x), _(x,x),
- /* 0A50 */ _(x,x), _(Ca,x), _(x,x), _(x,x), _(x,x), _(x,x), _(x,x), _(x,x),
+ /* 0A50 */ _(x,x), _(Ca,B), _(x,x), _(x,x), _(x,x), _(x,x), _(x,x), _(x,x),
/* 0A58 */ _(x,x), _(C,x), _(C,x), _(C,x), _(C,x), _(x,x), _(C,x), _(x,x),
/* 0A60 */ _(x,x), _(x,x), _(x,x), _(x,x), _(x,x), _(x,x), _(Nd,x), _(Nd,x),
/* 0A68 */ _(Nd,x), _(Nd,x), _(Nd,x), _(Nd,x), _(Nd,x), _(Nd,x), _(Nd,x), _(Nd,x),
@@ -237,7 +237,7 @@ static const INDIC_TABLE_ELEMENT_TYPE indic_table[] = {
/* Kannada */
- /* 0C80 */ _(x,x), _(Bi,T), _(Bi,R), _(Vs,R), _(x,x), _(VI,x), _(VI,x), _(VI,x),
+ /* 0C80 */ _(Bi,x), _(Bi,T), _(Bi,R), _(Vs,R), _(x,x), _(VI,x), _(VI,x), _(VI,x),
/* 0C88 */ _(VI,x), _(VI,x), _(VI,x), _(VI,x), _(VI,x), _(x,x), _(VI,x), _(VI,x),
/* 0C90 */ _(VI,x), _(x,x), _(VI,x), _(VI,x), _(VI,x), _(C,x), _(C,x), _(C,x),
/* 0C98 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x),
@@ -346,8 +346,8 @@ static const INDIC_TABLE_ELEMENT_TYPE indic_table[] = {
/* 1CD8 */ _(Ca,B), _(Ca,B), _(Ca,T), _(Ca,T), _(Ca,B), _(Ca,B), _(Ca,B), _(Ca,B),
/* 1CE0 */ _(Ca,T), _(Ca,R), _(x,O), _(x,O), _(x,O), _(x,O), _(x,O), _(x,O),
/* 1CE8 */ _(x,O), _(x,x), _(x,x), _(x,x), _(x,x), _(x,B), _(x,x), _(x,x),
- /* 1CF0 */ _(x,x), _(x,x), _(Vs,x), _(Vs,x), _(Ca,T),_(CWS,x),_(CWS,x), _(Ca,R),
- /* 1CF8 */ _(Ca,x), _(Ca,x), _(x,x), _(x,x), _(x,x), _(x,x), _(x,x), _(x,x),
+ /* 1CF0 */ _(x,x), _(x,x), _(CD,x), _(CD,x), _(Ca,T),_(CWS,x),_(CWS,x), _(Ca,R),
+ /* 1CF8 */ _(Ca,x), _(Ca,x), _(CP,x), _(x,x), _(x,x), _(x,x), _(x,x), _(x,x),
#define indic_offset_0x2008u 1656
diff --git a/src/hb-ot-shape-complex-indic.cc b/src/hb-ot-shape-complex-indic.cc
index d2d0a5a..1fd8fc6 100644
--- a/src/hb-ot-shape-complex-indic.cc
+++ b/src/hb-ot-shape-complex-indic.cc
@@ -239,7 +239,7 @@ struct would_substitute_feature_t
hb_face_t *face) const
{
for (unsigned int i = 0; i < count; i++)
- if (hb_ot_layout_lookup_would_substitute_fast (face, lookups[i].index, glyphs, glyphs_count, zero_context))
+ if (hb_ot_layout_lookup_would_substitute (face, lookups[i].index, glyphs, glyphs_count, zero_context))
return true;
return false;
}
@@ -720,7 +720,7 @@ initial_reordering_consonant_syllable (const hb_ot_shape_plan_t *plan,
indic_position_t last_pos = POS_START;
for (unsigned int i = start; i < end; i++)
{
- if ((FLAG_UNSAFE (info[i].indic_category()) & (JOINER_FLAGS | FLAG (OT_N) | FLAG (OT_RS) | FLAG (OT_H))))
+ if ((FLAG_UNSAFE (info[i].indic_category()) & (JOINER_FLAGS | FLAG (OT_N) | FLAG (OT_RS) | MEDIAL_FLAGS | FLAG (OT_H))))
{
info[i].indic_position() = last_pos;
if (unlikely (info[i].indic_category() == OT_H &&
@@ -965,6 +965,9 @@ insert_dotted_circles (const hb_ot_shape_plan_t *plan HB_UNUSED,
hb_font_t *font,
hb_buffer_t *buffer)
{
+ if (unlikely (buffer->flags & HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE))
+ return;
+
/* Note: This loop is extra overhead, but should not be measurable.
* TODO Use a buffer scratch flag to remove the loop. */
bool has_broken_syllables = false;
@@ -1199,9 +1202,14 @@ final_reordering_syllable (const hb_ot_shape_plan_t *plan,
goto search;
}
}
- /* -> If ZWNJ follows this halant, position is moved after it. */
- if (info[new_pos + 1].indic_category() == OT_ZWNJ)
- new_pos++;
+ /* -> If ZWNJ follows this halant, position is moved after it.
+ *
+ * IMPLEMENTATION NOTES:
+ *
+ * This is taken care of by the state-machine. A Halant,ZWNJ is a terminating
+ * sequence for a consonant syllable; any pre-base matras occurring after it
+ * will belong to the subsequent syllable.
+ */
}
}
else
diff --git a/src/hb-ot-shape-complex-indic.hh b/src/hb-ot-shape-complex-indic.hh
index dcc2a7a..13ab516 100644
--- a/src/hb-ot-shape-complex-indic.hh
+++ b/src/hb-ot-shape-complex-indic.hh
@@ -62,17 +62,19 @@ enum indic_category_t {
OT_Coeng = 14, /* Khmer-style Virama. */
OT_Repha = 15, /* Atomically-encoded logical or visual repha. */
OT_Ra = 16,
- OT_CM = 17, /* Consonant-Medial; Unused by Indic shaper. */
+ OT_CM = 17, /* Consonant-Medial. */
OT_Symbol = 18, /* Avagraha, etc that take marks (SM,A,VD). */
OT_CS = 19
};
+#define MEDIAL_FLAGS (FLAG (OT_CM))
+
/* Note:
*
* We treat Vowels and placeholders as if they were consonants. This is safe because Vowels
* cannot happen in a consonant syllable. The plus side however is, we can call the
* consonant syllable logic from the vowel syllable function and get it all right! */
-#define CONSONANT_FLAGS (FLAG (OT_C) | FLAG (OT_CS) | FLAG (OT_Ra) | FLAG (OT_V) | FLAG (OT_PLACEHOLDER) | FLAG (OT_DOTTEDCIRCLE))
+#define CONSONANT_FLAGS (FLAG (OT_C) | FLAG (OT_CS) | FLAG (OT_Ra) | MEDIAL_FLAGS | FLAG (OT_V) | FLAG (OT_PLACEHOLDER) | FLAG (OT_DOTTEDCIRCLE))
#define JOINER_FLAGS (FLAG (OT_ZWJ) | FLAG (OT_ZWNJ))
@@ -362,6 +364,7 @@ set_indic_properties (hb_glyph_info_t &info)
else if (unlikely (u == 0x0AFBu)) cat = OT_N; /* https://github.com/harfbuzz/harfbuzz/issues/552 */
else if (unlikely (u == 0x0980u)) cat = OT_PLACEHOLDER; /* https://github.com/harfbuzz/harfbuzz/issues/538 */
+ else if (unlikely (u == 0x09FCu)) cat = OT_PLACEHOLDER; /* https://github.com/harfbuzz/harfbuzz/pull/1613 */
else if (unlikely (u == 0x0C80u)) cat = OT_PLACEHOLDER; /* https://github.com/harfbuzz/harfbuzz/pull/623 */
else if (unlikely (hb_in_range<hb_codepoint_t> (u, 0x2010u, 0x2011u)))
cat = OT_PLACEHOLDER;
diff --git a/src/hb-ot-shape-complex-khmer-machine.hh b/src/hb-ot-shape-complex-khmer-machine.hh
index 2bc8ca6..65e0ffc 100644
--- a/src/hb-ot-shape-complex-khmer-machine.hh
+++ b/src/hb-ot-shape-complex-khmer-machine.hh
@@ -35,29 +35,27 @@
#line 36 "hb-ot-shape-complex-khmer-machine.hh"
static const unsigned char _khmer_syllable_machine_trans_keys[] = {
5u, 26u, 5u, 21u, 5u, 26u, 5u, 21u, 1u, 16u, 5u, 21u, 5u, 26u, 5u, 21u,
- 5u, 26u, 5u, 21u, 1u, 16u, 5u, 21u, 5u, 26u, 5u, 21u, 1u, 16u, 5u, 21u,
- 5u, 26u, 5u, 21u, 5u, 26u, 5u, 21u, 5u, 26u, 1u, 16u, 1u, 29u, 5u, 29u,
- 5u, 29u, 5u, 29u, 22u, 22u, 5u, 22u, 5u, 29u, 5u, 29u, 5u, 29u, 5u, 26u,
- 5u, 29u, 5u, 29u, 22u, 22u, 5u, 22u, 5u, 29u, 5u, 29u, 1u, 16u, 5u, 29u,
- 5u, 29u, 0
+ 5u, 26u, 5u, 21u, 5u, 21u, 5u, 26u, 5u, 21u, 1u, 16u, 5u, 21u, 5u, 26u,
+ 5u, 21u, 5u, 26u, 5u, 21u, 5u, 26u, 1u, 29u, 5u, 29u, 5u, 29u, 5u, 29u,
+ 22u, 22u, 5u, 22u, 5u, 29u, 5u, 29u, 5u, 29u, 1u, 16u, 5u, 26u, 5u, 29u,
+ 5u, 29u, 22u, 22u, 5u, 22u, 5u, 29u, 5u, 29u, 1u, 16u, 5u, 29u, 5u, 29u,
+ 0
};
static const char _khmer_syllable_machine_key_spans[] = {
22, 17, 22, 17, 16, 17, 22, 17,
- 22, 17, 16, 17, 22, 17, 16, 17,
- 22, 17, 22, 17, 22, 16, 29, 25,
- 25, 25, 1, 18, 25, 25, 25, 22,
- 25, 25, 1, 18, 25, 25, 16, 25,
- 25
+ 22, 17, 17, 22, 17, 16, 17, 22,
+ 17, 22, 17, 22, 29, 25, 25, 25,
+ 1, 18, 25, 25, 25, 16, 22, 25,
+ 25, 1, 18, 25, 25, 16, 25, 25
};
static const short _khmer_syllable_machine_index_offsets[] = {
0, 23, 41, 64, 82, 99, 117, 140,
- 158, 181, 199, 216, 234, 257, 275, 292,
- 310, 333, 351, 374, 392, 415, 432, 462,
- 488, 514, 540, 542, 561, 587, 613, 639,
- 662, 688, 714, 716, 735, 761, 787, 804,
- 830
+ 158, 181, 199, 217, 240, 258, 275, 293,
+ 316, 334, 357, 375, 398, 428, 454, 480,
+ 506, 508, 527, 553, 579, 605, 622, 645,
+ 671, 697, 699, 718, 744, 770, 787, 813
};
static const char _khmer_syllable_machine_indicies[] = {
@@ -85,142 +83,136 @@ static const char _khmer_syllable_machine_indicies[] = {
0, 0, 0, 0, 0, 0, 12, 0,
0, 0, 0, 4, 0, 11, 11, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 12, 0, 13,
- 13, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 13, 0,
- 15, 15, 14, 14, 14, 14, 14, 14,
- 14, 14, 14, 14, 14, 14, 14, 14,
- 16, 14, 15, 15, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 16, 17, 17, 17, 17, 18,
- 17, 19, 19, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 18, 17, 20, 20, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 20, 17, 21, 21, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 22, 17, 23, 23,
- 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 24, 17,
- 17, 17, 17, 18, 17, 23, 23, 17,
- 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 24, 17, 25,
- 25, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 26,
- 17, 17, 17, 17, 18, 17, 25, 25,
- 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 26, 17,
- 15, 15, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 27,
- 16, 17, 17, 17, 17, 18, 17, 28,
- 28, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 28, 17,
- 13, 13, 29, 29, 30, 30, 29, 29,
- 29, 29, 2, 2, 29, 31, 29, 13,
- 29, 29, 29, 29, 16, 20, 29, 29,
- 29, 18, 24, 26, 22, 29, 33, 33,
- 32, 32, 32, 32, 32, 32, 32, 34,
- 32, 32, 32, 32, 32, 2, 3, 6,
- 32, 32, 32, 4, 10, 12, 8, 32,
- 35, 35, 32, 32, 32, 32, 32, 32,
- 32, 36, 32, 32, 32, 32, 32, 32,
- 3, 6, 32, 32, 32, 4, 10, 12,
- 8, 32, 5, 5, 32, 32, 32, 32,
- 32, 32, 32, 36, 32, 32, 32, 32,
- 32, 32, 4, 6, 32, 32, 32, 32,
- 32, 32, 8, 32, 6, 32, 7, 7,
- 32, 32, 32, 32, 32, 32, 32, 36,
- 32, 32, 32, 32, 32, 32, 8, 6,
- 32, 37, 37, 32, 32, 32, 32, 32,
- 32, 32, 36, 32, 32, 32, 32, 32,
- 32, 10, 6, 32, 32, 32, 4, 32,
- 32, 8, 32, 38, 38, 32, 32, 32,
- 32, 32, 32, 32, 36, 32, 32, 32,
- 32, 32, 32, 12, 6, 32, 32, 32,
- 4, 10, 32, 8, 32, 35, 35, 32,
- 32, 32, 32, 32, 32, 32, 34, 32,
- 32, 32, 32, 32, 32, 3, 6, 32,
- 32, 32, 4, 10, 12, 8, 32, 15,
- 15, 39, 39, 39, 39, 39, 39, 39,
- 39, 39, 39, 39, 39, 39, 39, 16,
- 39, 39, 39, 39, 18, 39, 41, 41,
- 40, 40, 40, 40, 40, 40, 40, 42,
- 40, 40, 40, 40, 40, 40, 16, 20,
- 40, 40, 40, 18, 24, 26, 22, 40,
- 19, 19, 40, 40, 40, 40, 40, 40,
- 40, 42, 40, 40, 40, 40, 40, 40,
- 18, 20, 40, 40, 40, 40, 40, 40,
- 22, 40, 20, 40, 21, 21, 40, 40,
- 40, 40, 40, 40, 40, 42, 40, 40,
- 40, 40, 40, 40, 22, 20, 40, 43,
- 43, 40, 40, 40, 40, 40, 40, 40,
- 42, 40, 40, 40, 40, 40, 40, 24,
- 20, 40, 40, 40, 18, 40, 40, 22,
- 40, 44, 44, 40, 40, 40, 40, 40,
- 40, 40, 42, 40, 40, 40, 40, 40,
- 40, 26, 20, 40, 40, 40, 18, 24,
- 40, 22, 40, 28, 28, 39, 39, 39,
+ 0, 0, 0, 0, 0, 12, 0, 14,
+ 14, 13, 13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13, 13, 15,
+ 13, 14, 14, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 15, 16, 16, 16, 16, 17, 16,
+ 18, 18, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+ 17, 16, 19, 19, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 19, 16, 20, 20, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 21, 16, 22, 22, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 23, 16, 16,
+ 16, 16, 17, 16, 22, 22, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 23, 16, 24, 24,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 25, 16,
+ 16, 16, 16, 17, 16, 24, 24, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 25, 16, 14,
+ 14, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 26, 15,
+ 16, 16, 16, 16, 17, 16, 28, 28,
+ 27, 27, 29, 29, 27, 27, 27, 27,
+ 2, 2, 27, 30, 27, 28, 27, 27,
+ 27, 27, 15, 19, 27, 27, 27, 17,
+ 23, 25, 21, 27, 32, 32, 31, 31,
+ 31, 31, 31, 31, 31, 33, 31, 31,
+ 31, 31, 31, 2, 3, 6, 31, 31,
+ 31, 4, 10, 12, 8, 31, 34, 34,
+ 31, 31, 31, 31, 31, 31, 31, 35,
+ 31, 31, 31, 31, 31, 31, 3, 6,
+ 31, 31, 31, 4, 10, 12, 8, 31,
+ 5, 5, 31, 31, 31, 31, 31, 31,
+ 31, 35, 31, 31, 31, 31, 31, 31,
+ 4, 6, 31, 31, 31, 31, 31, 31,
+ 8, 31, 6, 31, 7, 7, 31, 31,
+ 31, 31, 31, 31, 31, 35, 31, 31,
+ 31, 31, 31, 31, 8, 6, 31, 36,
+ 36, 31, 31, 31, 31, 31, 31, 31,
+ 35, 31, 31, 31, 31, 31, 31, 10,
+ 6, 31, 31, 31, 4, 31, 31, 8,
+ 31, 37, 37, 31, 31, 31, 31, 31,
+ 31, 31, 35, 31, 31, 31, 31, 31,
+ 31, 12, 6, 31, 31, 31, 4, 10,
+ 31, 8, 31, 34, 34, 31, 31, 31,
+ 31, 31, 31, 31, 33, 31, 31, 31,
+ 31, 31, 31, 3, 6, 31, 31, 31,
+ 4, 10, 12, 8, 31, 28, 28, 31,
+ 31, 31, 31, 31, 31, 31, 31, 31,
+ 31, 31, 31, 31, 28, 31, 14, 14,
+ 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 15, 38,
+ 38, 38, 38, 17, 38, 40, 40, 39,
+ 39, 39, 39, 39, 39, 39, 41, 39,
+ 39, 39, 39, 39, 39, 15, 19, 39,
+ 39, 39, 17, 23, 25, 21, 39, 18,
+ 18, 39, 39, 39, 39, 39, 39, 39,
+ 41, 39, 39, 39, 39, 39, 39, 17,
+ 19, 39, 39, 39, 39, 39, 39, 21,
+ 39, 19, 39, 20, 20, 39, 39, 39,
+ 39, 39, 39, 39, 41, 39, 39, 39,
+ 39, 39, 39, 21, 19, 39, 42, 42,
+ 39, 39, 39, 39, 39, 39, 39, 41,
+ 39, 39, 39, 39, 39, 39, 23, 19,
+ 39, 39, 39, 17, 39, 39, 21, 39,
+ 43, 43, 39, 39, 39, 39, 39, 39,
+ 39, 41, 39, 39, 39, 39, 39, 39,
+ 25, 19, 39, 39, 39, 17, 23, 39,
+ 21, 39, 44, 44, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
- 39, 39, 28, 39, 45, 45, 40, 40,
- 40, 40, 40, 40, 40, 46, 40, 40,
- 40, 40, 40, 27, 16, 20, 40, 40,
- 40, 18, 24, 26, 22, 40, 41, 41,
- 40, 40, 40, 40, 40, 40, 40, 46,
- 40, 40, 40, 40, 40, 40, 16, 20,
- 40, 40, 40, 18, 24, 26, 22, 40,
- 0
+ 39, 44, 39, 45, 45, 39, 39, 39,
+ 39, 39, 39, 39, 30, 39, 39, 39,
+ 39, 39, 26, 15, 19, 39, 39, 39,
+ 17, 23, 25, 21, 39, 40, 40, 39,
+ 39, 39, 39, 39, 39, 39, 30, 39,
+ 39, 39, 39, 39, 39, 15, 19, 39,
+ 39, 39, 17, 23, 25, 21, 39, 0
};
static const char _khmer_syllable_machine_trans_targs[] = {
- 22, 1, 30, 24, 25, 3, 26, 5,
- 27, 7, 28, 9, 29, 23, 22, 11,
- 32, 22, 33, 13, 34, 15, 35, 17,
- 36, 19, 37, 40, 39, 22, 31, 38,
- 22, 0, 10, 2, 4, 6, 8, 22,
- 22, 12, 14, 16, 18, 20, 21
+ 20, 1, 28, 22, 23, 3, 24, 5,
+ 25, 7, 26, 9, 27, 20, 10, 31,
+ 20, 32, 12, 33, 14, 34, 16, 35,
+ 18, 36, 39, 20, 21, 30, 37, 20,
+ 0, 29, 2, 4, 6, 8, 20, 20,
+ 11, 13, 15, 17, 38, 19
};
static const char _khmer_syllable_machine_trans_actions[] = {
1, 0, 2, 2, 2, 0, 0, 0,
- 2, 0, 2, 0, 2, 2, 3, 0,
- 4, 5, 2, 0, 0, 0, 2, 0,
- 2, 0, 2, 4, 4, 8, 9, 0,
- 10, 0, 0, 0, 0, 0, 0, 11,
- 12, 0, 0, 0, 0, 0, 0
+ 2, 0, 2, 0, 2, 3, 0, 4,
+ 5, 2, 0, 0, 0, 2, 0, 2,
+ 0, 2, 4, 8, 2, 9, 0, 10,
+ 0, 0, 0, 0, 0, 0, 11, 12,
+ 0, 0, 0, 0, 4, 0
};
static const char _khmer_syllable_machine_to_state_actions[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 6, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 6, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0
+ 0, 0, 0, 0, 0, 0, 0, 0
};
static const char _khmer_syllable_machine_from_state_actions[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 7, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 7, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0
+ 0, 0, 0, 0, 0, 0, 0, 0
};
static const unsigned char _khmer_syllable_machine_eof_trans[] = {
1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 15, 18, 18, 18, 18,
- 18, 18, 18, 18, 18, 18, 0, 33,
- 33, 33, 33, 33, 33, 33, 33, 40,
- 41, 41, 41, 41, 41, 41, 40, 41,
- 41
+ 1, 1, 14, 17, 17, 17, 17, 17,
+ 17, 17, 17, 17, 0, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 39, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40
};
-static const int khmer_syllable_machine_start = 22;
-static const int khmer_syllable_machine_first_final = 22;
+static const int khmer_syllable_machine_start = 20;
+static const int khmer_syllable_machine_first_final = 20;
static const int khmer_syllable_machine_error = -1;
-static const int khmer_syllable_machine_en_main = 22;
+static const int khmer_syllable_machine_en_main = 20;
#line 36 "hb-ot-shape-complex-khmer-machine.rl"
@@ -246,7 +238,7 @@ find_syllables (hb_buffer_t *buffer)
int cs;
hb_glyph_info_t *info = buffer->info;
-#line 250 "hb-ot-shape-complex-khmer-machine.hh"
+#line 242 "hb-ot-shape-complex-khmer-machine.hh"
{
cs = khmer_syllable_machine_start;
ts = 0;
@@ -262,7 +254,7 @@ find_syllables (hb_buffer_t *buffer)
unsigned int syllable_serial = 1;
-#line 266 "hb-ot-shape-complex-khmer-machine.hh"
+#line 258 "hb-ot-shape-complex-khmer-machine.hh"
{
int _slen;
int _trans;
@@ -276,7 +268,7 @@ _resume:
#line 1 "NONE"
{ts = p;}
break;
-#line 280 "hb-ot-shape-complex-khmer-machine.hh"
+#line 272 "hb-ot-shape-complex-khmer-machine.hh"
}
_keys = _khmer_syllable_machine_trans_keys + (cs<<1);
@@ -346,7 +338,7 @@ _eof_trans:
#line 76 "hb-ot-shape-complex-khmer-machine.rl"
{act = 3;}
break;
-#line 350 "hb-ot-shape-complex-khmer-machine.hh"
+#line 342 "hb-ot-shape-complex-khmer-machine.hh"
}
_again:
@@ -355,7 +347,7 @@ _again:
#line 1 "NONE"
{ts = 0;}
break;
-#line 359 "hb-ot-shape-complex-khmer-machine.hh"
+#line 351 "hb-ot-shape-complex-khmer-machine.hh"
}
if ( ++p != pe )
diff --git a/src/hb-ot-shape-complex-khmer-machine.rl b/src/hb-ot-shape-complex-khmer-machine.rl
index 4c596ab..1076a08 100644
--- a/src/hb-ot-shape-complex-khmer-machine.rl
+++ b/src/hb-ot-shape-complex-khmer-machine.rl
@@ -66,7 +66,7 @@ matra_group = VPre? xgroup VBlw? xgroup (joiner?.VAbv)? xgroup VPst?;
syllable_tail = xgroup matra_group xgroup (Coeng.c)? ygroup;
-broken_cluster = (Coeng.cn)* syllable_tail;
+broken_cluster = (Coeng.cn)* (Coeng | syllable_tail);
consonant_syllable = (cn|PLACEHOLDER|DOTTEDCIRCLE) broken_cluster;
other = any;
diff --git a/src/hb-ot-shape-complex-khmer.cc b/src/hb-ot-shape-complex-khmer.cc
index 4475ceb..5746651 100644
--- a/src/hb-ot-shape-complex-khmer.cc
+++ b/src/hb-ot-shape-complex-khmer.cc
@@ -164,7 +164,7 @@ struct would_substitute_feature_t
hb_face_t *face) const
{
for (unsigned int i = 0; i < count; i++)
- if (hb_ot_layout_lookup_would_substitute_fast (face, lookups[i].index, glyphs, glyphs_count, zero_context))
+ if (hb_ot_layout_lookup_would_substitute (face, lookups[i].index, glyphs, glyphs_count, zero_context))
return true;
return false;
}
@@ -365,6 +365,9 @@ insert_dotted_circles (const hb_ot_shape_plan_t *plan HB_UNUSED,
hb_font_t *font,
hb_buffer_t *buffer)
{
+ if (unlikely (buffer->flags & HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE))
+ return;
+
/* Note: This loop is extra overhead, but should not be measurable. */
bool has_broken_syllables = false;
unsigned int count = buffer->len;
diff --git a/src/hb-ot-shape-complex-myanmar.cc b/src/hb-ot-shape-complex-myanmar.cc
index 8fdf2f4..70ab972 100644
--- a/src/hb-ot-shape-complex-myanmar.cc
+++ b/src/hb-ot-shape-complex-myanmar.cc
@@ -298,6 +298,9 @@ insert_dotted_circles (const hb_ot_shape_plan_t *plan HB_UNUSED,
hb_font_t *font,
hb_buffer_t *buffer)
{
+ if (unlikely (buffer->flags & HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE))
+ return;
+
/* Note: This loop is extra overhead, but should not be measurable. */
bool has_broken_syllables = false;
unsigned int count = buffer->len;
diff --git a/src/hb-ot-shape-complex-use-table.cc b/src/hb-ot-shape-complex-use-table.cc
index 835b95b..cb5c358 100644
--- a/src/hb-ot-shape-complex-use-table.cc
+++ b/src/hb-ot-shape-complex-use-table.cc
@@ -6,12 +6,12 @@
*
* on files with these headers:
*
- * # IndicSyllabicCategory-11.0.0.txt
- * # Date: 2018-05-21, 18:33:00 GMT [KW, RP]
- * # IndicPositionalCategory-11.0.0.txt
- * # Date: 2018-02-05, 16:21:00 GMT [KW, RP]
- * # Blocks-11.0.0.txt
- * # Date: 2017-10-16, 24:39:00 GMT [KW]
+ * # IndicSyllabicCategory-12.0.0.txt
+ * # Date: 2019-01-31, 02:26:00 GMT [KW, RP]
+ * # IndicPositionalCategory-12.0.0.txt
+ * # Date: 2019-01-31, 02:26:00 GMT [KW, RP]
+ * # Blocks-12.0.0.txt
+ * # Date: 2018-07-30, 19:40:00 GMT [KW]
* UnicodeData.txt does not have a header.
*/
@@ -167,7 +167,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* Kannada */
- /* 0C80 */ O, VMAbv, VMPst, VMPst, O, B, B, B, B, B, B, B, B, O, B, B,
+ /* 0C80 */ B, VMAbv, VMPst, VMPst, O, B, B, B, B, B, B, B, B, O, B, B,
/* 0C90 */ B, O, B, B, B, B, B, B, B, B, B, B, B, B, B, B,
/* 0CA0 */ B, B, B, B, B, B, B, B, B, O, B, B, B, B, B, B,
/* 0CB0 */ B, B, B, B, O, B, B, B, B, B, O, O, CMBlw, B, VPst, VAbv,
@@ -261,7 +261,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 17A0 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B,
/* 17B0 */ B, B, B, B, O, O, VPst, VAbv, VAbv, VAbv, VAbv, VBlw, VBlw, VBlw, VPst, VPst,
/* 17C0 */ VPst, VPre, VPre, VPre, VPst, VPst, VMAbv, VMPst, VPst, VMAbv, VMAbv, FM, FAbv, CMAbv, FM, FM,
- /* 17D0 */ FM, VAbv, H, FM, O, O, O, O, O, O, O, O, B, VAbv, O, O,
+ /* 17D0 */ FM, VAbv, H, FM, O, O, O, O, O, O, O, O, B, FM, O, O,
/* 17E0 */ B, B, B, B, B, B, B, B, B, B, O, O, O, O, O, O,
#define use_offset_0x1900u 1936
@@ -288,7 +288,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 19A0 */ B, B, B, B, B, B, B, B, B, B, B, B, O, O, O, O,
/* 19B0 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B,
/* 19C0 */ B, B, B, B, B, B, B, B, VMPst, VMPst, O, O, O, O, O, O,
- /* 19D0 */ B, B, B, B, B, B, B, B, B, B, O, O, O, O, O, O,
+ /* 19D0 */ B, B, B, B, B, B, B, B, B, B, B, O, O, O, O, O,
/* 19E0 */ O, O, O, O, O, O, O, O, O, O, O, O, O, O, O, O,
/* 19F0 */ O, O, O, O, O, O, O, O, O, O, O, O, O, O, O, O,
@@ -351,7 +351,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 1CD0 */ VMAbv, VMAbv, VMAbv, O, VMBlw, VMBlw, VMBlw, VMBlw, VMBlw, VMBlw, VMAbv, VMAbv, VMBlw, VMBlw, VMBlw, VMBlw,
/* 1CE0 */ VMAbv, VMPst, VMBlw, VMBlw, VMBlw, VMBlw, VMBlw, VMBlw, VMBlw, O, O, O, O, VMBlw, O, O,
- /* 1CF0 */ O, O, VMPst, VMPst, VMAbv, CS, CS, VMPst, VMAbv, VMAbv, O, O, O, O, O, O,
+ /* 1CF0 */ O, O, IND, IND, VMAbv, CS, CS, VMPst, VMAbv, VMAbv, GB, O, O, O, O, O,
#define use_offset_0x1df8u 2736
@@ -393,7 +393,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* Syloti Nagri */
- /* A800 */ B, B, O, B, B, B, VAbv, B, B, B, B, VMAbv, B, B, B, B,
+ /* A800 */ B, B, VAbv, B, B, B, H, B, B, B, B, VMAbv, B, B, B, B,
/* A810 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B,
/* A820 */ B, B, B, VPst, VPst, VBlw, VAbv, VPst, O, O, O, O, O, O, O, O,
/* A830 */ O, O, O, O, O, O, O, O, O, O, O, O, O, O, O, O,
@@ -438,7 +438,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* A980 */ VMAbv, VMAbv, FAbv, VMPst, B, B, B, B, B, B, B, B, B, B, B, B,
/* A990 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B,
/* A9A0 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B,
- /* A9B0 */ B, B, B, CMAbv, VPst, VPst, VAbv, VAbv, VBlw, VBlw, VPre, VPre, VAbv, SUB, MPst, MBlw,
+ /* A9B0 */ B, B, B, CMAbv, VPst, VPst, VAbv, VAbv, VBlw, VBlw, VPre, VPre, VAbv, MBlw, MPst, MBlw,
/* A9C0 */ H, O, O, O, O, O, O, O, O, O, O, O, O, O, O, O,
/* A9D0 */ B, B, B, B, B, B, B, B, B, B, O, O, O, O, O, O,
@@ -581,7 +581,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* Grantha */
- /* 11300 */ VMAbv, VMAbv, VMAbv, VMPst, O, B, B, B, B, B, B, B, B, O, O, B,
+ /* 11300 */ VMAbv, VMAbv, VMAbv, VMAbv, O, B, B, B, B, B, B, B, B, O, O, B,
/* 11310 */ B, O, O, B, B, B, B, B, B, B, B, B, B, B, B, B,
/* 11320 */ B, B, B, B, B, B, B, B, B, O, B, B, B, B, B, B,
/* 11330 */ B, O, B, B, O, B, B, B, B, B, O, CMBlw, CMBlw, B, VPst, VPst,
@@ -600,7 +600,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 11420 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B,
/* 11430 */ B, B, B, B, B, VPst, VPre, VPst, VBlw, VBlw, VBlw, VBlw, VBlw, VBlw, VAbv, VAbv,
/* 11440 */ VPst, VPst, H, VMAbv, VMAbv, VMPst, CMBlw, B, O, O, O, O, O, O, O, O,
- /* 11450 */ B, B, B, B, B, B, B, B, B, B, O, O, O, O, FM, O,
+ /* 11450 */ B, B, B, B, B, B, B, B, B, B, O, O, O, O, FM, B,
/* 11460 */ O, O, O, O, O, O, O, O, O, O, O, O, O, O, O, O,
/* 11470 */ O, O, O, O, O, O, O, O, O, O, O, O, O, O, O, O,
@@ -610,7 +610,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 11490 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B,
/* 114A0 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B,
/* 114B0 */ VPst, VPre, VPst, VBlw, VBlw, VBlw, VBlw, VBlw, VBlw, VPre, VAbv, VPst, VPst, VPst, VPst, VMAbv,
- /* 114C0 */ VMAbv, VMPst, H, CMBlw, B, O, O, O, O, O, O, O, O, O, O, O,
+ /* 114C0 */ VMAbv, VMAbv, H, CMBlw, B, O, O, O, O, O, O, O, O, O, O, O,
/* 114D0 */ B, B, B, B, B, B, B, B, B, B, O, O, O, O, O, O,
#define use_offset_0x11580u 4720
@@ -643,7 +643,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 11680 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B,
/* 11690 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B,
/* 116A0 */ B, B, B, B, B, B, B, B, B, B, B, VMAbv, VMPst, VAbv, VPre, VPst,
- /* 116B0 */ VBlw, VBlw, VAbv, VAbv, VAbv, VAbv, H, CMBlw, O, O, O, O, O, O, O, O,
+ /* 116B0 */ VBlw, VBlw, VAbv, VAbv, VAbv, VAbv, H, CMBlw, B, O, O, O, O, O, O, O,
/* 116C0 */ B, B, B, B, B, B, B, B, B, B, O, O, O, O, O, O,
/* 116D0 */ O, O, O, O, O, O, O, O, O, O, O, O, O, O, O, O,
/* 116E0 */ O, O, O, O, O, O, O, O, O, O, O, O, O, O, O, O,
@@ -666,9 +666,18 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 11820 */ B, B, B, B, B, B, B, B, B, B, B, B, VPst, VPre, VPst, VBlw,
/* 11830 */ VBlw, VBlw, VBlw, VAbv, VAbv, VAbv, VAbv, VMAbv, VMPst, H, CMBlw, O, O, O, O, O,
-#define use_offset_0x11a00u 5232
+#define use_offset_0x119a0u 5232
+ /* Nandinagari */
+
+ /* 119A0 */ B, B, B, B, B, B, B, B, O, O, B, B, B, B, B, B,
+ /* 119B0 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B,
+ /* 119C0 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B,
+ /* 119D0 */ B, VPst, VPre, VPst, VBlw, VBlw, VBlw, VBlw, O, O, VAbv, VAbv, VPst, VPst, VMPst, VMPst,
+ /* 119E0 */ H, B, O, O, VPre, O, O, O, O, O, O, O, O, O, O, O,
+ /* 119F0 */ O, O, O, O, O, O, O, O, O, O, O, O, O, O, O, O,
+
/* Zanabazar Square */
/* 11A00 */ B, VAbv, VBlw, VBlw, VAbv, VAbv, VAbv, VAbv, VAbv, VAbv, VBlw, B, B, B, B, B,
@@ -682,10 +691,10 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 11A50 */ B, VAbv, VBlw, VBlw, VAbv, VAbv, VAbv, VPst, VPst, VBlw, VBlw, VBlw, B, B, B, B,
/* 11A60 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B,
/* 11A70 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B,
- /* 11A80 */ B, B, B, B, O, O, R, R, R, R, FBlw, FBlw, FBlw, FBlw, FBlw, FBlw,
+ /* 11A80 */ B, B, B, B, R, R, R, R, R, R, FBlw, FBlw, FBlw, FBlw, FBlw, FBlw,
/* 11A90 */ FBlw, FBlw, FBlw, FBlw, FBlw, FBlw, VMAbv, VMPst, CMAbv, H, O, O, O, B, O, O,
-#define use_offset_0x11c00u 5392
+#define use_offset_0x11c00u 5488
/* Bhaiksuki */
@@ -706,7 +715,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 11CA0 */ SUB, SUB, SUB, SUB, SUB, SUB, SUB, SUB, O, SUB, SUB, SUB, SUB, SUB, SUB, SUB,
/* 11CB0 */ VBlw, VPre, VBlw, VAbv, VPst, VMAbv, VMAbv, O,
-#define use_offset_0x11d00u 5576
+#define use_offset_0x11d00u 5672
/* Masaram Gondi */
@@ -726,7 +735,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 11D90 */ VAbv, VAbv, O, VPst, VPst, VMAbv, VMPst, H, O, O, O, O, O, O, O, O,
/* 11DA0 */ B, B, B, B, B, B, B, B, B, B, O, O, O, O, O, O,
-#define use_offset_0x11ee0u 5752
+#define use_offset_0x11ee0u 5848
/* Makasar */
@@ -734,7 +743,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 11EE0 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B,
/* 11EF0 */ B, B, GB, VAbv, VBlw, VPre, VPst, O,
-}; /* Table items: 5776; occupancy: 74% */
+}; /* Table items: 5872; occupancy: 74% */
USE_TABLE_ELEMENT_TYPE
hb_use_get_category (hb_codepoint_t u)
@@ -785,7 +794,7 @@ hb_use_get_category (hb_codepoint_t u)
if (hb_in_range<hb_codepoint_t> (u, 0x11400u, 0x114DFu)) return use_table[u - 0x11400u + use_offset_0x11400u];
if (hb_in_range<hb_codepoint_t> (u, 0x11580u, 0x1173Fu)) return use_table[u - 0x11580u + use_offset_0x11580u];
if (hb_in_range<hb_codepoint_t> (u, 0x11800u, 0x1183Fu)) return use_table[u - 0x11800u + use_offset_0x11800u];
- if (hb_in_range<hb_codepoint_t> (u, 0x11A00u, 0x11A9Fu)) return use_table[u - 0x11A00u + use_offset_0x11a00u];
+ if (hb_in_range<hb_codepoint_t> (u, 0x119A0u, 0x11A9Fu)) return use_table[u - 0x119A0u + use_offset_0x119a0u];
if (hb_in_range<hb_codepoint_t> (u, 0x11C00u, 0x11CB7u)) return use_table[u - 0x11C00u + use_offset_0x11c00u];
if (hb_in_range<hb_codepoint_t> (u, 0x11D00u, 0x11DAFu)) return use_table[u - 0x11D00u + use_offset_0x11d00u];
if (hb_in_range<hb_codepoint_t> (u, 0x11EE0u, 0x11EF7u)) return use_table[u - 0x11EE0u + use_offset_0x11ee0u];
diff --git a/src/hb-ot-shape-complex-use.cc b/src/hb-ot-shape-complex-use.cc
index 2e3f202..eecde6e 100644
--- a/src/hb-ot-shape-complex-use.cc
+++ b/src/hb-ot-shape-complex-use.cc
@@ -523,6 +523,9 @@ insert_dotted_circles (const hb_ot_shape_plan_t *plan HB_UNUSED,
hb_font_t *font,
hb_buffer_t *buffer)
{
+ if (unlikely (buffer->flags & HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE))
+ return;
+
/* Note: This loop is extra overhead, but should not be measurable. */
bool has_broken_syllables = false;
unsigned int count = buffer->len;
diff --git a/src/hb-ot-shape-complex-vowel-constraints.cc b/src/hb-ot-shape-complex-vowel-constraints.cc
index 0e53258..e4cf645 100644
--- a/src/hb-ot-shape-complex-vowel-constraints.cc
+++ b/src/hb-ot-shape-complex-vowel-constraints.cc
@@ -9,8 +9,8 @@
* # Copied from https://docs.microsoft.com/en-us/typography/script-development/use
* # On October 23, 2018; with documentd dated 02/07/2018.
*
- * # Scripts-11.0.0.txt
- * # Date: 2018-02-21, 05:34:31 GMT
+ * # Scripts-12.0.0.txt
+ * # Date: 2019-01-28, 22:16:47 GMT
*/
#include "hb-ot-shape-complex-vowel-constraints.hh"
@@ -34,6 +34,9 @@ _hb_preprocess_text_vowel_constraints (const hb_ot_shape_plan_t *plan HB_UNUSED,
hb_buffer_t *buffer,
hb_font_t *font HB_UNUSED)
{
+ if (buffer->flags & HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE)
+ return;
+
/* UGLY UGLY UGLY business of adding dotted-circle in the middle of
* vowel-sequences that look like another vowel. Data for each script
* collected from the USE script development spec.
diff --git a/src/hb-ot-shape-complex.hh b/src/hb-ot-shape-complex.hh
index a2499de..2691622 100644
--- a/src/hb-ot-shape-complex.hh
+++ b/src/hb-ot-shape-complex.hh
@@ -377,6 +377,9 @@ hb_ot_shape_complex_categorize (const hb_ot_shape_planner_t *planner)
case HB_SCRIPT_MAKASAR:
//case HB_SCRIPT_SOGDIAN:
+ /* Unicode-12.0 additions */
+ case HB_SCRIPT_NANDINAGARI:
+
/* If the designer designed the font for the 'DFLT' script,
* (or we ended up arbitrarily pick 'latn'), use the default shaper.
* Otherwise, use the specific shaper.
diff --git a/src/hb-ot-shape.cc b/src/hb-ot-shape.cc
index e9d97c9..7fff305 100644
--- a/src/hb-ot-shape.cc
+++ b/src/hb-ot-shape.cc
@@ -448,6 +448,9 @@ hb_set_unicode_props (hb_buffer_t *buffer)
static void
hb_insert_dotted_circle (hb_buffer_t *buffer, hb_font_t *font)
{
+ if (unlikely (buffer->flags & HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE))
+ return;
+
if (!(buffer->flags & HB_BUFFER_FLAG_BOT) ||
buffer->context_len[0] ||
!_hb_glyph_info_is_unicode_mark (&buffer->info[0]))
diff --git a/src/hb-ot-tag-table.hh b/src/hb-ot-tag-table.hh
index b7090a0..09e1627 100644
--- a/src/hb-ot-tag-table.hh
+++ b/src/hb-ot-tag-table.hh
@@ -6,8 +6,8 @@
*
* on files with these headers:
*
- * <meta name="updated_at" content="2018-09-07 07:45 PM" />
- * File-Date: 2018-08-08
+ * <meta name="updated_at" content="2018-11-18 05:25 AM" />
+ * File-Date: 2019-02-20
*/
#ifndef HB_OT_TAG_TABLE_HH
@@ -131,7 +131,7 @@ static const LangTag ot_languages[] = {
{"bjt", {HB_TAG('B','L','N',' ')}}, /* Balanta-Ganja -> Balante */
{"bla", {HB_TAG('B','K','F',' ')}}, /* Siksika -> Blackfoot */
{"ble", {HB_TAG('B','L','N',' ')}}, /* Balanta-Kentohe -> Balante */
- {"blk", {HB_TAG('B','L','K',' ')}}, /* Pa'o Karen */
+ {"blk", {HB_TAG('B','L','K',' ')}}, /* Pa’o Karen */
{"bln", {HB_TAG('B','I','K',' ')}}, /* Southern Catanduanes Bikol -> Bikol */
{"bm", {HB_TAG('B','M','B',' ')}}, /* Bambara (Bamanankan) */
{"bmm", {HB_TAG('M','L','G',' ')}}, /* Northern Betsimisaraka Malagasy -> Malagasy */
@@ -318,7 +318,7 @@ static const LangTag ot_languages[] = {
{"fj", {HB_TAG('F','J','I',' ')}}, /* Fijian */
{"flm", {HB_TAG('H','A','L',' '), /* Halam (Falam Chin) (retired code) */
HB_TAG('Q','I','N',' ')}}, /* Falam Chin (retired code) -> Chin */
- {"fmp", {HB_TAG('F','M','P',' ')}}, /* Fe'fe' */
+ {"fmp", {HB_TAG('F','M','P',' ')}}, /* Fe’fe’ */
{"fo", {HB_TAG('F','O','S',' ')}}, /* Faroese */
{"fon", {HB_TAG('F','O','N',' ')}}, /* Fon */
{"fr", {HB_TAG('F','R','A',' ')}}, /* French */
@@ -653,7 +653,7 @@ static const LangTag ot_languages[] = {
{"mwr", {HB_TAG('M','A','W',' ')}}, /* Marwari [macrolanguage] */
{"mww", {HB_TAG('M','W','W',' ')}}, /* Hmong Daw */
{"my", {HB_TAG('B','R','M',' ')}}, /* Burmese */
- {"mym", {HB_TAG('M','E','N',' ')}}, /* Me'en */
+ {"mym", {HB_TAG('M','E','N',' ')}}, /* Me’en */
{"myn", {HB_TAG('M','Y','N',' ')}}, /* Mayan [family] */
{"myq", {HB_TAG('M','N','K',' ')}}, /* Forest Maninka (retired code) -> Maninka */
{"myv", {HB_TAG('E','R','Z',' ')}}, /* Erzya */
@@ -687,7 +687,7 @@ static const LangTag ot_languages[] = {
{"nog", {HB_TAG('N','O','G',' ')}}, /* Nogai */
{"nov", {HB_TAG('N','O','V',' ')}}, /* Novial */
{"npi", {HB_TAG('N','E','P',' ')}}, /* Nepali */
- {"nqo", {HB_TAG('N','K','O',' ')}}, /* N'Ko */
+ {"nqo", {HB_TAG('N','K','O',' ')}}, /* N’Ko */
{"nr", {HB_TAG('N','D','B',' ')}}, /* South Ndebele -> Ndebele */
{"nsk", {HB_TAG('N','A','S',' ')}}, /* Naskapi */
{"nso", {HB_TAG('N','S','O',' ')}}, /* Pedi -> Sotho, Northern */
diff --git a/src/hb-ot-tag.cc b/src/hb-ot-tag.cc
index d04e532..751ccab 100644
--- a/src/hb-ot-tag.cc
+++ b/src/hb-ot-tag.cc
@@ -171,24 +171,6 @@ hb_ot_tag_to_script (hb_tag_t tag)
/* hb_language_t */
-static int
-lang_compare_first_component (const void *pa,
- const void *pb)
-{
- const char *a = (const char *) pa;
- const char *b = (const char *) pb;
- unsigned int da, db;
- const char *p;
-
- p = strchr (a, '-');
- da = p ? (unsigned int) (p - a) : strlen (a);
-
- p = strchr (b, '-');
- db = p ? (unsigned int) (p - b) : strlen (b);
-
- return strncmp (a, b, MAX (da, db));
-}
-
static bool
subtag_matches (const char *lang_str,
const char *limit,
@@ -213,10 +195,28 @@ lang_matches (const char *lang_str, const char *spec)
(lang_str[len] == '\0' || lang_str[len] == '-');
}
-typedef struct {
+struct LangTag
+{
char language[4];
hb_tag_t tags[HB_OT_MAX_TAGS_PER_LANGUAGE];
-} LangTag;
+
+ int cmp (const char *a) const
+ {
+ const char *b = this->language;
+ unsigned int da, db;
+ const char *p;
+
+ p = strchr (a, '-');
+ da = p ? (unsigned int) (p - a) : strlen (a);
+
+ p = strchr (b, '-');
+ db = p ? (unsigned int) (p - b) : strlen (b);
+
+ return strncmp (a, b, MAX (da, db));
+ }
+ int cmp (const LangTag *that) const
+ { return cmp (that->language); }
+};
#include "hb-ot-tag-table.hh"
@@ -263,9 +263,7 @@ hb_ot_tags_from_language (const char *lang_str,
ISALPHA (s[1]))
lang_str = s + 1;
}
- lang_tag = (LangTag *) bsearch (lang_str, ot_languages,
- ARRAY_LENGTH (ot_languages), sizeof (LangTag),
- lang_compare_first_component);
+ lang_tag = hb_sorted_array (ot_languages).bsearch (lang_str);
if (lang_tag)
{
unsigned int i;
@@ -507,7 +505,7 @@ test_langs_sorted ()
{
for (unsigned int i = 1; i < ARRAY_LENGTH (ot_languages); i++)
{
- int c = lang_compare_first_component (ot_languages[i-1].language, ot_languages[i].language);
+ int c = ot_languages[i].cmp (&ot_languages[i - 1]);
if (c >= 0)
{
fprintf (stderr, "ot_languages not sorted at index %d: %s %d %s\n",
diff --git a/src/hb-ot-vorg-table.hh b/src/hb-ot-vorg-table.hh
index 0202fcc..39073db 100644
--- a/src/hb-ot-vorg-table.hh
+++ b/src/hb-ot-vorg-table.hh
@@ -110,21 +110,29 @@ struct VORG
/* count the number of glyphs to be included in the subset table */
hb_vector_t<VertOriginMetric> subset_metrics;
subset_metrics.init ();
- unsigned int glyph = 0;
+
+
+ hb_codepoint_t old_glyph = HB_SET_VALUE_INVALID;
unsigned int i = 0;
- while ((glyph < plan->glyphs.length) && (i < vertYOrigins.len))
+ while (i < vertYOrigins.len
+ && plan->glyphset ()->next (&old_glyph))
{
- if (plan->glyphs[glyph] > vertYOrigins[i].glyph)
- i++;
- else if (plan->glyphs[glyph] < vertYOrigins[i].glyph)
- glyph++;
- else
+ while (old_glyph > vertYOrigins[i].glyph)
{
- VertOriginMetric *metrics = subset_metrics.push ();
- metrics->glyph.set (glyph);
- metrics->vertOriginY.set (vertYOrigins[i].vertOriginY);
- glyph++;
i++;
+ if (i >= vertYOrigins.len)
+ break;
+ }
+
+ if (old_glyph == vertYOrigins[i].glyph)
+ {
+ hb_codepoint_t new_glyph;
+ if (plan->new_gid_for_old_gid (old_glyph, &new_glyph))
+ {
+ VertOriginMetric *metrics = subset_metrics.push ();
+ metrics->glyph.set (new_glyph);
+ metrics->vertOriginY.set (vertYOrigins[i].vertOriginY);
+ }
}
}
diff --git a/src/hb-subset-cff-common.cc b/src/hb-subset-cff-common.cc
index 3e617d5..f29937a 100644
--- a/src/hb-subset-cff-common.cc
+++ b/src/hb-subset-cff-common.cc
@@ -43,7 +43,7 @@ using namespace CFF;
**/
bool
-hb_plan_subset_cff_fdselect (const hb_vector_t<hb_codepoint_t> &glyphs,
+hb_plan_subset_cff_fdselect (const hb_subset_plan_t *plan,
unsigned int fdCount,
const FDSelect &src, /* IN */
unsigned int &subset_fd_count /* OUT */,
@@ -57,7 +57,7 @@ hb_plan_subset_cff_fdselect (const hb_vector_t<hb_codepoint_t> &glyphs,
subset_fdselect_format = 0;
unsigned int num_ranges = 0;
- unsigned int subset_num_glyphs = glyphs.length;
+ unsigned int subset_num_glyphs = plan->num_output_glyphs ();
if (subset_num_glyphs == 0)
return true;
@@ -69,7 +69,14 @@ hb_plan_subset_cff_fdselect (const hb_vector_t<hb_codepoint_t> &glyphs,
hb_codepoint_t prev_fd = CFF_UNDEF_CODE;
for (hb_codepoint_t i = 0; i < subset_num_glyphs; i++)
{
- hb_codepoint_t fd = src.get_fd (glyphs[i]);
+ hb_codepoint_t glyph;
+ hb_codepoint_t fd;
+ if (!plan->old_gid_for_new_gid (i, &glyph))
+ {
+ /* fonttools retains FDSelect & font dicts for missing glyphs. do the same */
+ glyph = i;
+ }
+ fd = src.get_fd (glyph);
set->add (fd);
if (fd != prev_fd)
diff --git a/src/hb-subset-cff-common.hh b/src/hb-subset-cff-common.hh
index 915b4c4..81368ee 100644
--- a/src/hb-subset-cff-common.hh
+++ b/src/hb-subset-cff-common.hh
@@ -282,30 +282,35 @@ struct flatten_param_t
bool drop_hints;
};
-template <typename ACC, typename ENV, typename OPSET>
+template <typename ACC, typename ENV, typename OPSET, op_code_t endchar_op=OpCode_Invalid>
struct subr_flattener_t
{
subr_flattener_t (const ACC &acc_,
- const hb_vector_t<hb_codepoint_t> &glyphs_,
- bool drop_hints_) : acc (acc_), glyphs (glyphs_),
- drop_hints (drop_hints_) {}
+ const hb_subset_plan_t *plan_)
+ : acc (acc_), plan (plan_) {}
bool flatten (str_buff_vec_t &flat_charstrings)
{
- if (!flat_charstrings.resize (glyphs.length))
+ if (!flat_charstrings.resize (plan->num_output_glyphs ()))
return false;
- for (unsigned int i = 0; i < glyphs.length; i++)
+ for (unsigned int i = 0; i < plan->num_output_glyphs (); i++)
flat_charstrings[i].init ();
- for (unsigned int i = 0; i < glyphs.length; i++)
+ for (unsigned int i = 0; i < plan->num_output_glyphs (); i++)
{
- hb_codepoint_t glyph = glyphs[i];
+ hb_codepoint_t glyph;
+ if (!plan->old_gid_for_new_gid (i, &glyph))
+ {
+ /* add an endchar only charstring for a missing glyph if CFF1 */
+ if (endchar_op != OpCode_Invalid) flat_charstrings[i].push (endchar_op);
+ continue;
+ }
const byte_str_t str = (*acc.charStrings)[glyph];
unsigned int fd = acc.fdSelect->get_fd (glyph);
if (unlikely (fd >= acc.fdCount))
return false;
cs_interpreter_t<ENV, OPSET, flatten_param_t> interp;
interp.env.init (str, acc, fd);
- flatten_param_t param = { flat_charstrings[i], drop_hints };
+ flatten_param_t param = { flat_charstrings[i], plan->drop_hints };
if (unlikely (!interp.interpret (param)))
return false;
}
@@ -313,8 +318,7 @@ struct subr_flattener_t
}
const ACC &acc;
- const hb_vector_t<hb_codepoint_t> &glyphs;
- bool drop_hints;
+ const hb_subset_plan_t *plan;
};
struct subr_closures_t
@@ -611,10 +615,11 @@ struct subr_remap_ts
hb_vector_t<subr_remap_t> local_remaps;
};
-template <typename SUBSETTER, typename SUBRS, typename ACC, typename ENV, typename OPSET>
+template <typename SUBSETTER, typename SUBRS, typename ACC, typename ENV, typename OPSET, op_code_t endchar_op=OpCode_Invalid>
struct subr_subsetter_t
{
- subr_subsetter_t ()
+ subr_subsetter_t (ACC &acc_, const hb_subset_plan_t *plan_)
+ : acc (acc_), plan (plan_)
{
parsed_charstrings.init ();
parsed_global_subrs.init ();
@@ -644,12 +649,12 @@ struct subr_subsetter_t
* Assumption: a callsubr/callgsubr operator must immediately follow a (biased) subroutine number
* within the same charstring/subroutine, e.g., not split across a charstring and a subroutine.
*/
- bool subset (ACC &acc, const hb_vector_t<hb_codepoint_t> &glyphs, bool drop_hints)
+ bool subset (void)
{
closures.init (acc.fdCount);
remaps.init (acc.fdCount);
- parsed_charstrings.init (glyphs.length);
+ parsed_charstrings.init (plan->num_output_glyphs ());
parsed_global_subrs.init (acc.globalSubrs->count);
parsed_local_subrs.resize (acc.fdCount);
for (unsigned int i = 0; i < acc.fdCount; i++)
@@ -660,9 +665,11 @@ struct subr_subsetter_t
return false;
/* phase 1 & 2 */
- for (unsigned int i = 0; i < glyphs.length; i++)
+ for (unsigned int i = 0; i < plan->num_output_glyphs (); i++)
{
- hb_codepoint_t glyph = glyphs[i];
+ hb_codepoint_t glyph;
+ if (!plan->old_gid_for_new_gid (i, &glyph))
+ continue;
const byte_str_t str = (*acc.charStrings)[glyph];
unsigned int fd = acc.fdSelect->get_fd (glyph);
if (unlikely (fd >= acc.fdCount))
@@ -675,7 +682,7 @@ struct subr_subsetter_t
param.init (&parsed_charstrings[i],
&parsed_global_subrs, &parsed_local_subrs[fd],
closures.global_closure, closures.local_closures[fd],
- drop_hints);
+ plan->drop_hints);
if (unlikely (!interp.interpret (param)))
return false;
@@ -684,19 +691,22 @@ struct subr_subsetter_t
SUBSETTER::finalize_parsed_str (interp.env, param, parsed_charstrings[i]);
}
- if (drop_hints)
+ if (plan->drop_hints)
{
/* mark hint ops and arguments for drop */
- for (unsigned int i = 0; i < glyphs.length; i++)
+ for (unsigned int i = 0; i < plan->num_output_glyphs (); i++)
{
- unsigned int fd = acc.fdSelect->get_fd (glyphs[i]);
+ hb_codepoint_t glyph;
+ if (!plan->old_gid_for_new_gid (i, &glyph))
+ continue;
+ unsigned int fd = acc.fdSelect->get_fd (glyph);
if (unlikely (fd >= acc.fdCount))
return false;
subr_subset_param_t param;
param.init (&parsed_charstrings[i],
&parsed_global_subrs, &parsed_local_subrs[fd],
closures.global_closure, closures.local_closures[fd],
- drop_hints);
+ plan->drop_hints);
drop_hints_param_t drop;
if (drop_hints_in_str (parsed_charstrings[i], param, drop))
@@ -709,16 +719,19 @@ struct subr_subsetter_t
/* after dropping hints recreate closures of actually used subrs */
closures.reset ();
- for (unsigned int i = 0; i < glyphs.length; i++)
+ for (unsigned int i = 0; i < plan->num_output_glyphs (); i++)
{
- unsigned int fd = acc.fdSelect->get_fd (glyphs[i]);
+ hb_codepoint_t glyph;
+ if (!plan->old_gid_for_new_gid (i, &glyph))
+ continue;
+ unsigned int fd = acc.fdSelect->get_fd (glyph);
if (unlikely (fd >= acc.fdCount))
return false;
subr_subset_param_t param;
param.init (&parsed_charstrings[i],
&parsed_global_subrs, &parsed_local_subrs[fd],
closures.global_closure, closures.local_closures[fd],
- drop_hints);
+ plan->drop_hints);
collect_subr_refs_in_str (parsed_charstrings[i], param);
}
}
@@ -728,13 +741,20 @@ struct subr_subsetter_t
return true;
}
- bool encode_charstrings (ACC &acc, const hb_vector_t<hb_codepoint_t> &glyphs, str_buff_vec_t &buffArray) const
+ bool encode_charstrings (str_buff_vec_t &buffArray) const
{
- if (unlikely (!buffArray.resize (glyphs.length)))
+ if (unlikely (!buffArray.resize (plan->num_output_glyphs ())))
return false;
- for (unsigned int i = 0; i < glyphs.length; i++)
+ for (unsigned int i = 0; i < plan->num_output_glyphs (); i++)
{
- unsigned int fd = acc.fdSelect->get_fd (glyphs[i]);
+ hb_codepoint_t glyph;
+ if (!plan->old_gid_for_new_gid (i, &glyph))
+ {
+ /* add an endchar only charstring for a missing glyph if CFF1 */
+ if (endchar_op != OpCode_Invalid) buffArray[i].push (endchar_op);
+ continue;
+ }
+ unsigned int fd = acc.fdSelect->get_fd (glyph);
if (unlikely (fd >= acc.fdCount))
return false;
if (unlikely (!encode_str (parsed_charstrings[i], fd, buffArray[i])))
@@ -777,10 +797,12 @@ struct subr_subsetter_t
drop_hints_param_t ()
: seen_moveto (false),
ends_in_hint (false),
+ all_dropped (false),
vsindex_dropped (false) {}
bool seen_moveto;
bool ends_in_hint;
+ bool all_dropped;
bool vsindex_dropped;
};
@@ -791,7 +813,7 @@ struct subr_subsetter_t
drop.ends_in_hint = false;
bool has_hint = drop_hints_in_str (subrs[subr_num], param, drop);
- /* if this subr ends with a stem hint (i.e., not a number a potential argument for moveto),
+ /* if this subr ends with a stem hint (i.e., not a number; potential argument for moveto),
* then this entire subroutine must be a hint. drop its call. */
if (drop.ends_in_hint)
{
@@ -801,6 +823,10 @@ struct subr_subsetter_t
if (!str.at_end (pos))
drop.ends_in_hint = false;
}
+ else if (drop.all_dropped)
+ {
+ str.values[pos].set_drop ();
+ }
return has_hint;
}
@@ -819,7 +845,6 @@ struct subr_subsetter_t
has_hint = drop_hints_in_subr (str, pos,
*param.parsed_local_subrs, str.values[pos].subr_num,
param, drop);
-
break;
case OpCode_callgsubr:
@@ -876,6 +901,23 @@ struct subr_subsetter_t
}
}
+ /* Raise all_dropped flag if all operators except return are dropped from a subr.
+ * It may happen even after seeing the first moveto if a subr contains
+ * only (usually one) hintmask operator, then calls to this subr can be dropped.
+ */
+ drop.all_dropped = true;
+ for (unsigned int pos = 0; pos < str.values.length; pos++)
+ {
+ parsed_cs_op_t &csop = str.values[pos];
+ if (csop.op == OpCode_return)
+ break;
+ if (!csop.for_drop ())
+ {
+ drop.all_dropped = false;
+ break;
+ }
+ }
+
return seen_hint;
}
@@ -954,13 +996,16 @@ struct subr_subsetter_t
}
protected:
- subr_closures_t closures;
+ const ACC &acc;
+ const hb_subset_plan_t *plan;
+
+ subr_closures_t closures;
- parsed_cs_str_vec_t parsed_charstrings;
- parsed_cs_str_vec_t parsed_global_subrs;
+ parsed_cs_str_vec_t parsed_charstrings;
+ parsed_cs_str_vec_t parsed_global_subrs;
hb_vector_t<parsed_cs_str_vec_t> parsed_local_subrs;
- subr_remap_ts remaps;
+ subr_remap_ts remaps;
private:
typedef typename SUBRS::count_type subr_count_type;
@@ -969,7 +1014,7 @@ struct subr_subsetter_t
} /* namespace CFF */
HB_INTERNAL bool
-hb_plan_subset_cff_fdselect (const hb_vector_t<hb_codepoint_t> &glyphs,
+hb_plan_subset_cff_fdselect (const hb_subset_plan_t *plan,
unsigned int fdCount,
const CFF::FDSelect &src, /* IN */
unsigned int &subset_fd_count /* OUT */,
diff --git a/src/hb-subset-cff1.cc b/src/hb-subset-cff1.cc
index 5133a4d..49ac0bf 100644
--- a/src/hb-subset-cff1.cc
+++ b/src/hb-subset-cff1.cc
@@ -392,8 +392,11 @@ struct cff1_cs_opset_subr_subset_t : cff1_cs_opset_t<cff1_cs_opset_subr_subset_t
typedef cff1_cs_opset_t<cff1_cs_opset_subr_subset_t, subr_subset_param_t> SUPER;
};
-struct cff1_subr_subsetter_t : subr_subsetter_t<cff1_subr_subsetter_t, CFF1Subrs, const OT::cff1::accelerator_subset_t, cff1_cs_interp_env_t, cff1_cs_opset_subr_subset_t>
+struct cff1_subr_subsetter_t : subr_subsetter_t<cff1_subr_subsetter_t, CFF1Subrs, const OT::cff1::accelerator_subset_t, cff1_cs_interp_env_t, cff1_cs_opset_subr_subset_t, OpCode_endchar>
{
+ cff1_subr_subsetter_t (const OT::cff1::accelerator_subset_t &acc, const hb_subset_plan_t *plan)
+ : subr_subsetter_t (acc, plan) {}
+
static void finalize_parsed_str (cff1_cs_interp_env_t &env, subr_subset_param_t& param, parsed_cs_str_t &charstring)
{
/* insert width at the beginning of the charstring as necessary */
@@ -469,19 +472,24 @@ struct cff_subset_plan {
supp_size = 0;
supp_codes.init ();
- subset_enc_num_codes = plan->glyphs.length - 1;
+ subset_enc_num_codes = plan->num_output_glyphs () - 1;
unsigned int glyph;
- for (glyph = 1; glyph < plan->glyphs.length; glyph++)
+ for (glyph = 1; glyph < plan->num_output_glyphs (); glyph++)
{
- hb_codepoint_t orig_glyph = plan->glyphs[glyph];
- code = acc.glyph_to_code (orig_glyph);
+ hb_codepoint_t old_glyph;
+ if (!plan->old_gid_for_new_gid (glyph, &old_glyph))
+ {
+ /* Retain the code for the old missing glyph ID */
+ old_glyph = glyph;
+ }
+ code = acc.glyph_to_code (old_glyph);
if (code == CFF_UNDEF_CODE)
{
subset_enc_num_codes = glyph - 1;
break;
}
- if (code != last_code + 1)
+ if ((last_code == CFF_UNDEF_CODE) || (code != last_code + 1))
{
code_pair_t pair = { code, glyph };
subset_enc_code_ranges.push (pair);
@@ -490,7 +498,7 @@ struct cff_subset_plan {
if (encoding != &Null(Encoding))
{
- hb_codepoint_t sid = acc.glyph_to_sid (orig_glyph);
+ hb_codepoint_t sid = acc.glyph_to_sid (old_glyph);
encoding->get_supplement_codes (sid, supp_codes);
for (unsigned int i = 0; i < supp_codes.length; i++)
{
@@ -526,15 +534,20 @@ struct cff_subset_plan {
subset_charset_ranges.resize (0);
unsigned int glyph;
- for (glyph = 1; glyph < plan->glyphs.length; glyph++)
+ for (glyph = 1; glyph < plan->num_output_glyphs (); glyph++)
{
- hb_codepoint_t orig_glyph = plan->glyphs[glyph];
- sid = acc.glyph_to_sid (orig_glyph);
+ hb_codepoint_t old_glyph;
+ if (!plan->old_gid_for_new_gid (glyph, &old_glyph))
+ {
+ /* Retain the SID for the old missing glyph ID */
+ old_glyph = glyph;
+ }
+ sid = acc.glyph_to_sid (old_glyph);
if (!acc.is_CID ())
sid = sidmap.add (sid);
- if (sid != last_sid + 1)
+ if ((last_sid == CFF_UNDEF_CODE) || (sid != last_sid + 1))
{
code_pair_t pair = { sid, glyph };
subset_charset_ranges.push (pair);
@@ -544,7 +557,7 @@ struct cff_subset_plan {
bool two_byte = subset_charset_ranges.finalize (glyph);
- size0 = Charset0::min_size + HBUINT16::static_size * (plan->glyphs.length - 1);
+ size0 = Charset0::min_size + HBUINT16::static_size * (plan->num_output_glyphs () - 1);
if (!two_byte)
size_ranges = Charset1::min_size + Charset1_Range::static_size * subset_charset_ranges.length;
else
@@ -559,7 +572,7 @@ struct cff_subset_plan {
return Charset::calculate_serialized_size (
subset_charset_format,
- subset_charset_format? subset_charset_ranges.length: plan->glyphs.length);
+ subset_charset_format? subset_charset_ranges.length: plan->num_output_glyphs ());
}
bool collect_sids_in_dicts (const OT::cff1::accelerator_subset_t &acc)
@@ -586,22 +599,25 @@ struct cff_subset_plan {
}
bool create (const OT::cff1::accelerator_subset_t &acc,
- hb_subset_plan_t *plan)
+ hb_subset_plan_t *plan)
{
- /* make sure notdef is first */
- if ((plan->glyphs.length == 0) || (plan->glyphs[0] != 0)) return false;
+ /* make sure notdef is first */
+ hb_codepoint_t old_glyph;
+ if (!plan->old_gid_for_new_gid (0, &old_glyph) || (old_glyph != 0)) return false;
final_size = 0;
- num_glyphs = plan->glyphs.length;
+ num_glyphs = plan->num_output_glyphs ();
orig_fdcount = acc.fdCount;
drop_hints = plan->drop_hints;
desubroutinize = plan->desubroutinize;
/* check whether the subset renumbers any glyph IDs */
gid_renum = false;
- for (unsigned int glyph = 0; glyph < plan->glyphs.length; glyph++)
+ for (hb_codepoint_t new_glyph = 0; new_glyph < plan->num_output_glyphs (); new_glyph++)
{
- if (plan->glyphs[glyph] != glyph) {
+ if (!plan->old_gid_for_new_gid(new_glyph, &old_glyph))
+ continue;
+ if (new_glyph != old_glyph) {
gid_renum = true;
break;
}
@@ -644,7 +660,7 @@ struct cff_subset_plan {
/* Determine re-mapping of font index as fdmap among other info */
if (acc.fdSelect != &Null(CFF1FDSelect))
{
- if (unlikely (!hb_plan_subset_cff_fdselect (plan->glyphs,
+ if (unlikely (!hb_plan_subset_cff_fdselect (plan,
orig_fdcount,
*acc.fdSelect,
subset_fdcount,
@@ -680,8 +696,8 @@ struct cff_subset_plan {
if (desubroutinize)
{
/* Flatten global & local subrs */
- subr_flattener_t<const OT::cff1::accelerator_subset_t, cff1_cs_interp_env_t, cff1_cs_opset_flatten_t>
- flattener(acc, plan->glyphs, plan->drop_hints);
+ subr_flattener_t<const OT::cff1::accelerator_subset_t, cff1_cs_interp_env_t, cff1_cs_opset_flatten_t, OpCode_endchar>
+ flattener(acc, plan);
if (!flattener.flatten (subset_charstrings))
return false;
@@ -690,12 +706,14 @@ struct cff_subset_plan {
}
else
{
+ cff1_subr_subsetter_t subr_subsetter (acc, plan);
+
/* Subset subrs: collect used subroutines, leaving all unused ones behind */
- if (!subr_subsetter.subset (acc, plan->glyphs, plan->drop_hints))
+ if (!subr_subsetter.subset ())
return false;
/* encode charstrings, global subrs, local subrs with new subroutine numbers */
- if (!subr_subsetter.encode_charstrings (acc, plan->glyphs, subset_charstrings))
+ if (!subr_subsetter.encode_charstrings (subset_charstrings))
return false;
if (!subr_subsetter.encode_globalsubrs (subset_globalsubrs))
@@ -784,7 +802,7 @@ struct cff_subset_plan {
offsets.charStringsInfo.offSize = calcOffSize (dataSize);
if (unlikely (offsets.charStringsInfo.offSize > 4))
return false;
- final_size += CFF1CharStrings::calculate_serialized_size (offsets.charStringsInfo.offSize, plan->glyphs.length, dataSize);
+ final_size += CFF1CharStrings::calculate_serialized_size (offsets.charStringsInfo.offSize, plan->num_output_glyphs (), dataSize);
}
/* private dicts & local subrs */
@@ -816,7 +834,7 @@ struct cff_subset_plan {
if (!acc.is_CID ())
offsets.privateDictInfo = fontdicts_mod[0].privateDictInfo;
- return ((subset_charstrings.length == plan->glyphs.length)
+ return ((subset_charstrings.length == plan->num_output_glyphs ())
&& (fontdicts_mod.length == subset_fdcount));
}
@@ -859,12 +877,11 @@ struct cff_subset_plan {
unsigned int topDictModSIDs[name_dict_values_t::ValCount];
bool desubroutinize;
- cff1_subr_subsetter_t subr_subsetter;
};
static inline bool _write_cff1 (const cff_subset_plan &plan,
const OT::cff1::accelerator_subset_t &acc,
- const hb_vector_t<hb_codepoint_t>& glyphs,
+ unsigned int num_glyphs,
unsigned int dest_sz,
void *dest)
{
@@ -972,7 +989,7 @@ static inline bool _write_cff1 (const cff_subset_plan &plan,
{
assert (plan.offsets.FDSelectInfo.offset == (unsigned) (c.head - c.start));
- if (unlikely (!hb_serialize_cff_fdselect (&c, glyphs.length, *acc.fdSelect, acc.fdCount,
+ if (unlikely (!hb_serialize_cff_fdselect (&c, num_glyphs, *acc.fdSelect, acc.fdCount,
plan.subset_fdselect_format, plan.offsets.FDSelectInfo.size,
plan.subset_fdselect_ranges)))
{
@@ -1064,7 +1081,7 @@ _hb_subset_cff1 (const OT::cff1::accelerator_subset_t &acc,
unsigned int cff_prime_size = cff_plan.get_final_size ();
char *cff_prime_data = (char *) calloc (1, cff_prime_size);
- if (unlikely (!_write_cff1 (cff_plan, acc, plan->glyphs,
+ if (unlikely (!_write_cff1 (cff_plan, acc, plan->num_output_glyphs (),
cff_prime_size, cff_prime_data))) {
DEBUG_MSG(SUBSET, nullptr, "Failed to write a subset cff.");
free (cff_prime_data);
diff --git a/src/hb-subset-cff2.cc b/src/hb-subset-cff2.cc
index 73a292d..bf76a3e 100644
--- a/src/hb-subset-cff2.cc
+++ b/src/hb-subset-cff2.cc
@@ -225,6 +225,9 @@ struct cff2_cs_opset_subr_subset_t : cff2_cs_opset_t<cff2_cs_opset_subr_subset_t
struct cff2_subr_subsetter_t : subr_subsetter_t<cff2_subr_subsetter_t, CFF2Subrs, const OT::cff2::accelerator_subset_t, cff2_cs_interp_env_t, cff2_cs_opset_subr_subset_t>
{
+ cff2_subr_subsetter_t (const OT::cff2::accelerator_subset_t &acc, const hb_subset_plan_t *plan)
+ : subr_subsetter_t (acc, plan) {}
+
static void finalize_parsed_str (cff2_cs_interp_env_t &env, subr_subset_param_t& param, parsed_cs_str_t &charstring)
{
/* vsindex is inserted at the beginning of the charstring as necessary */
@@ -287,7 +290,7 @@ struct cff2_subset_plan {
{
/* Flatten global & local subrs */
subr_flattener_t<const OT::cff2::accelerator_subset_t, cff2_cs_interp_env_t, cff2_cs_opset_flatten_t>
- flattener(acc, plan->glyphs, plan->drop_hints);
+ flattener(acc, plan);
if (!flattener.flatten (subset_charstrings))
return false;
@@ -296,12 +299,14 @@ struct cff2_subset_plan {
}
else
{
+ cff2_subr_subsetter_t subr_subsetter (acc, plan);
+
/* Subset subrs: collect used subroutines, leaving all unused ones behind */
- if (!subr_subsetter.subset (acc, plan->glyphs, plan->drop_hints))
+ if (!subr_subsetter.subset ())
return false;
/* encode charstrings, global subrs, local subrs with new subroutine numbers */
- if (!subr_subsetter.encode_charstrings (acc, plan->glyphs, subset_charstrings))
+ if (!subr_subsetter.encode_charstrings (subset_charstrings))
return false;
if (!subr_subsetter.encode_globalsubrs (subset_globalsubrs))
@@ -352,7 +357,7 @@ struct cff2_subset_plan {
if (acc.fdSelect != &Null(CFF2FDSelect))
{
offsets.FDSelectInfo.offset = final_size;
- if (unlikely (!hb_plan_subset_cff_fdselect (plan->glyphs,
+ if (unlikely (!hb_plan_subset_cff_fdselect (plan,
orig_fdcount,
*(const FDSelect *)acc.fdSelect,
subset_fdcount,
@@ -385,7 +390,7 @@ struct cff2_subset_plan {
offsets.charStringsInfo.offset = final_size;
unsigned int dataSize = subset_charstrings.total_size ();
offsets.charStringsInfo.offSize = calcOffSize (dataSize);
- final_size += CFF2CharStrings::calculate_serialized_size (offsets.charStringsInfo.offSize, plan->glyphs.length, dataSize);
+ final_size += CFF2CharStrings::calculate_serialized_size (offsets.charStringsInfo.offSize, plan->num_output_glyphs (), dataSize);
}
/* private dicts & local subrs */
@@ -431,12 +436,11 @@ struct cff2_subset_plan {
bool drop_hints;
bool desubroutinize;
- cff2_subr_subsetter_t subr_subsetter;
};
static inline bool _write_cff2 (const cff2_subset_plan &plan,
const OT::cff2::accelerator_subset_t &acc,
- const hb_vector_t<hb_codepoint_t>& glyphs,
+ unsigned int num_glyphs,
unsigned int dest_sz,
void *dest)
{
@@ -493,7 +497,7 @@ static inline bool _write_cff2 (const cff2_subset_plan &plan,
{
assert (plan.offsets.FDSelectInfo.offset == (unsigned) (c.head - c.start));
- if (unlikely (!hb_serialize_cff_fdselect (&c, glyphs.length, *(const FDSelect *)acc.fdSelect, acc.fdArray->count,
+ if (unlikely (!hb_serialize_cff_fdselect (&c, num_glyphs, *(const FDSelect *)acc.fdSelect, acc.fdArray->count,
plan.subset_fdselect_format, plan.offsets.FDSelectInfo.size,
plan.subset_fdselect_ranges)))
{
@@ -584,7 +588,7 @@ _hb_subset_cff2 (const OT::cff2::accelerator_subset_t &acc,
unsigned int cff2_prime_size = cff2_plan.get_final_size ();
char *cff2_prime_data = (char *) calloc (1, cff2_prime_size);
- if (unlikely (!_write_cff2 (cff2_plan, acc, plan->glyphs,
+ if (unlikely (!_write_cff2 (cff2_plan, acc, plan->num_output_glyphs (),
cff2_prime_size, cff2_prime_data))) {
DEBUG_MSG(SUBSET, nullptr, "Failed to write a subset cff2.");
free (cff2_prime_data);
@@ -592,10 +596,10 @@ _hb_subset_cff2 (const OT::cff2::accelerator_subset_t &acc,
}
*prime = hb_blob_create (cff2_prime_data,
- cff2_prime_size,
- HB_MEMORY_MODE_READONLY,
- cff2_prime_data,
- free);
+ cff2_prime_size,
+ HB_MEMORY_MODE_READONLY,
+ cff2_prime_data,
+ free);
return true;
}
diff --git a/src/hb-subset-glyf.cc b/src/hb-subset-glyf.cc
index cca364d..ee004ee 100644
--- a/src/hb-subset-glyf.cc
+++ b/src/hb-subset-glyf.cc
@@ -29,97 +29,128 @@
#include "hb-set.h"
#include "hb-subset-glyf.hh"
+struct loca_data_t
+{
+ bool is_short;
+ void *data;
+ unsigned int size;
+
+ inline bool
+ _write_loca_entry (unsigned int id,
+ unsigned int offset)
+ {
+ unsigned int entry_size = is_short ? sizeof (OT::HBUINT16) : sizeof (OT::HBUINT32);
+ if ((id + 1) * entry_size <= size)
+ {
+ if (is_short) {
+ ((OT::HBUINT16*) data) [id].set (offset / 2);
+ } else {
+ ((OT::HBUINT32*) data) [id].set (offset);
+ }
+ return true;
+ }
+
+ // Offset was not written because the write is out of bounds.
+ DEBUG_MSG(SUBSET,
+ nullptr,
+ "WARNING: Attempted to write an out of bounds loca entry at index %d. Loca size is %d.",
+ id,
+ size);
+ return false;
+ }
+};
+
+/**
+ * If hints are being dropped find the range which in glyf at which
+ * the hinting instructions are located. Add them to the instruction_ranges
+ * vector.
+ */
static bool
-_calculate_glyf_and_loca_prime_size (const OT::glyf::accelerator_t &glyf,
- hb_vector_t<hb_codepoint_t> &glyph_ids,
- hb_bool_t drop_hints,
- bool *use_short_loca /* OUT */,
- unsigned int *glyf_size /* OUT */,
- unsigned int *loca_size /* OUT */,
- hb_vector_t<unsigned int> *instruction_ranges /* OUT */)
+_add_instructions_range (const OT::glyf::accelerator_t &glyf,
+ hb_codepoint_t glyph_id,
+ unsigned int glyph_start_offset,
+ unsigned int glyph_end_offset,
+ bool drop_hints,
+ hb_vector_t<unsigned int> *instruction_ranges /* OUT */)
{
- unsigned int total = 0;
- for (unsigned int i = 0; i < glyph_ids.length; i++)
+ if (!instruction_ranges->resize (instruction_ranges->length + 2))
{
- hb_codepoint_t next_glyph = glyph_ids[i];
- if (!instruction_ranges->resize (instruction_ranges->length + 2))
+ DEBUG_MSG(SUBSET, nullptr, "Failed to resize instruction_ranges.");
+ return false;
+ }
+ unsigned int *instruction_start = &(*instruction_ranges)[instruction_ranges->length - 2];
+ *instruction_start = 0;
+ unsigned int *instruction_end = &(*instruction_ranges)[instruction_ranges->length - 1];
+ *instruction_end = 0;
+
+ if (drop_hints)
+ {
+ if (unlikely (!glyf.get_instruction_offsets (glyph_start_offset, glyph_end_offset,
+ instruction_start, instruction_end)))
{
- DEBUG_MSG(SUBSET, nullptr, "Failed to resize instruction_ranges.");
+ DEBUG_MSG(SUBSET, nullptr, "Unable to get instruction offsets for %d", glyph_id);
return false;
}
- unsigned int *instruction_start = &(*instruction_ranges)[instruction_ranges->length - 2];
- *instruction_start = 0;
- unsigned int *instruction_end = &(*instruction_ranges)[instruction_ranges->length - 1];
- *instruction_end = 0;
+ }
+
+ return true;
+}
+static bool
+_calculate_glyf_and_loca_prime_size (const OT::glyf::accelerator_t &glyf,
+ const hb_subset_plan_t *plan,
+ loca_data_t *loca_data, /* OUT */
+ unsigned int *glyf_size /* OUT */,
+ hb_vector_t<unsigned int> *instruction_ranges /* OUT */)
+{
+ unsigned int total = 0;
+
+ hb_codepoint_t next_glyph = HB_SET_VALUE_INVALID;
+ while (plan->glyphset ()->next (&next_glyph))
+ {
unsigned int start_offset, end_offset;
if (unlikely (!(glyf.get_offsets (next_glyph, &start_offset, &end_offset) &&
glyf.remove_padding (start_offset, &end_offset))))
{
DEBUG_MSG(SUBSET, nullptr, "Invalid gid %d", next_glyph);
- continue;
+ start_offset = end_offset = 0;
}
- if (end_offset - start_offset < OT::glyf::GlyphHeader::static_size)
- continue; /* 0-length glyph */
- if (drop_hints)
- {
- if (unlikely (!glyf.get_instruction_offsets (start_offset, end_offset,
- instruction_start, instruction_end)))
- {
- DEBUG_MSG(SUBSET, nullptr, "Unable to get instruction offsets for %d", next_glyph);
- return false;
- }
- }
+ bool is_zero_length = end_offset - start_offset < OT::glyf::GlyphHeader::static_size;
+ if (!_add_instructions_range (glyf,
+ next_glyph,
+ start_offset,
+ end_offset,
+ plan->drop_hints && !is_zero_length,
+ instruction_ranges))
+ return false;
- total += end_offset - start_offset - (*instruction_end - *instruction_start);
+ if (is_zero_length)
+ continue; /* 0-length glyph */
+
+ total += end_offset - start_offset
+ - ((*instruction_ranges)[instruction_ranges->length - 1]
+ - (*instruction_ranges)[instruction_ranges->length - 2]);
/* round2 so short loca will work */
total += total % 2;
}
*glyf_size = total;
- *use_short_loca = (total <= 131070);
- *loca_size = (glyph_ids.length + 1)
- * (*use_short_loca ? sizeof (OT::HBUINT16) : sizeof (OT::HBUINT32));
+ loca_data->is_short = (total <= 131070);
+ loca_data->size = (plan->num_output_glyphs () + 1)
+ * (loca_data->is_short ? sizeof (OT::HBUINT16) : sizeof (OT::HBUINT32));
DEBUG_MSG(SUBSET, nullptr, "preparing to subset glyf: final size %d, loca size %d, using %s loca",
total,
- *loca_size,
- *use_short_loca ? "short" : "long");
+ loca_data->size,
+ loca_data->is_short ? "short" : "long");
return true;
}
-static bool
-_write_loca_entry (unsigned int id,
- unsigned int offset,
- bool is_short,
- void *loca_prime,
- unsigned int loca_size)
-{
- unsigned int entry_size = is_short ? sizeof (OT::HBUINT16) : sizeof (OT::HBUINT32);
- if ((id + 1) * entry_size <= loca_size)
- {
- if (is_short) {
- ((OT::HBUINT16*) loca_prime) [id].set (offset / 2);
- } else {
- ((OT::HBUINT32*) loca_prime) [id].set (offset);
- }
- return true;
- }
-
- // Offset was not written because the write is out of bounds.
- DEBUG_MSG(SUBSET,
- nullptr,
- "WARNING: Attempted to write an out of bounds loca entry at index %d. Loca size is %d.",
- id,
- loca_size);
- return false;
-}
-
static void
-_update_components (hb_subset_plan_t * plan,
- char * glyph_start,
- unsigned int length)
+_update_components (const hb_subset_plan_t *plan,
+ char *glyph_start,
+ unsigned int length)
{
OT::glyf::CompositeGlyphHeader::Iterator iterator;
if (OT::glyf::CompositeGlyphHeader::get_iterator (glyph_start,
@@ -153,24 +184,35 @@ static bool _remove_composite_instruction_flag (char *glyf_prime, unsigned int l
}
static bool
-_write_glyf_and_loca_prime (hb_subset_plan_t *plan,
+_write_glyf_and_loca_prime (const hb_subset_plan_t *plan,
const OT::glyf::accelerator_t &glyf,
const char *glyf_data,
- bool use_short_loca,
- hb_vector_t<unsigned int> &instruction_ranges,
+ hb_vector_t<unsigned int> &instruction_ranges,
unsigned int glyf_prime_size,
char *glyf_prime_data /* OUT */,
- unsigned int loca_prime_size,
- char *loca_prime_data /* OUT */)
+ loca_data_t *loca_prime /* OUT */)
{
- hb_vector_t<hb_codepoint_t> &glyph_ids = plan->glyphs;
char *glyf_prime_data_next = glyf_prime_data;
bool success = true;
- for (unsigned int i = 0; i < glyph_ids.length; i++)
+
+
+ unsigned int i = 0;
+ hb_codepoint_t new_gid;
+ for (new_gid = 0; new_gid < plan->num_output_glyphs (); new_gid++)
{
+ hb_codepoint_t old_gid;
+ if (!plan->old_gid_for_new_gid (new_gid, &old_gid))
+ {
+ // Empty glyph, add a loca entry and carry on.
+ loca_prime->_write_loca_entry (new_gid,
+ glyf_prime_data_next - glyf_prime_data);
+ continue;
+ }
+
+
unsigned int start_offset, end_offset;
- if (unlikely (!(glyf.get_offsets (glyph_ids[i], &start_offset, &end_offset) &&
+ if (unlikely (!(glyf.get_offsets (old_gid, &start_offset, &end_offset) &&
glyf.remove_padding (start_offset, &end_offset))))
end_offset = start_offset = 0;
@@ -182,9 +224,9 @@ _write_glyf_and_loca_prime (hb_subset_plan_t *plan,
if (glyf_prime_data_next + length > glyf_prime_data + glyf_prime_size)
{
DEBUG_MSG(SUBSET,
- nullptr,
- "WARNING: Attempted to write an out of bounds glyph entry for gid %d (length %d)",
- i, length);
+ nullptr,
+ "WARNING: Attempted to write an out of bounds glyph entry for gid %d (length %d)",
+ i, length);
return false;
}
@@ -204,22 +246,20 @@ _write_glyf_and_loca_prime (hb_subset_plan_t *plan,
memset (glyf_prime_data_next + instruction_start - start_offset - 2, 0, 2);
}
- success = success && _write_loca_entry (i,
- glyf_prime_data_next - glyf_prime_data,
- use_short_loca,
- loca_prime_data,
- loca_prime_size);
+ success = success && loca_prime->_write_loca_entry (new_gid,
+ glyf_prime_data_next - glyf_prime_data);
_update_components (plan, glyf_prime_data_next, length);
// TODO: don't align to two bytes if using long loca.
glyf_prime_data_next += length + (length % 2); // Align to 2 bytes for short loca.
+
+ i++;
}
- success = success && _write_loca_entry (glyph_ids.length,
- glyf_prime_data_next - glyf_prime_data,
- use_short_loca,
- loca_prime_data,
- loca_prime_size);
+ // loca table has n+1 entries where the last entry signifies the end location of the last
+ // glyph.
+ success = success && loca_prime->_write_loca_entry (new_gid,
+ glyf_prime_data_next - glyf_prime_data);
return success;
}
@@ -228,52 +268,48 @@ _hb_subset_glyf_and_loca (const OT::glyf::accelerator_t &glyf,
const char *glyf_data,
hb_subset_plan_t *plan,
bool *use_short_loca,
- hb_blob_t **glyf_prime /* OUT */,
- hb_blob_t **loca_prime /* OUT */)
+ hb_blob_t **glyf_prime_blob /* OUT */,
+ hb_blob_t **loca_prime_blob /* OUT */)
{
// TODO(grieger): Sanity check allocation size for the new table.
- hb_vector_t<hb_codepoint_t> &glyphs_to_retain = plan->glyphs;
-
+ loca_data_t loca_prime;
unsigned int glyf_prime_size;
- unsigned int loca_prime_size;
hb_vector_t<unsigned int> instruction_ranges;
instruction_ranges.init ();
if (unlikely (!_calculate_glyf_and_loca_prime_size (glyf,
- glyphs_to_retain,
- plan->drop_hints,
- use_short_loca,
+ plan,
+ &loca_prime,
&glyf_prime_size,
- &loca_prime_size,
&instruction_ranges))) {
instruction_ranges.fini ();
return false;
}
+ *use_short_loca = loca_prime.is_short;
char *glyf_prime_data = (char *) calloc (1, glyf_prime_size);
- char *loca_prime_data = (char *) calloc (1, loca_prime_size);
+ loca_prime.data = (void *) calloc (1, loca_prime.size);
if (unlikely (!_write_glyf_and_loca_prime (plan, glyf, glyf_data,
- *use_short_loca,
instruction_ranges,
glyf_prime_size, glyf_prime_data,
- loca_prime_size, loca_prime_data))) {
+ &loca_prime))) {
free (glyf_prime_data);
- free (loca_prime_data);
+ free (loca_prime.data);
instruction_ranges.fini ();
return false;
}
instruction_ranges.fini ();
- *glyf_prime = hb_blob_create (glyf_prime_data,
- glyf_prime_size,
- HB_MEMORY_MODE_READONLY,
- glyf_prime_data,
- free);
- *loca_prime = hb_blob_create (loca_prime_data,
- loca_prime_size,
- HB_MEMORY_MODE_READONLY,
- loca_prime_data,
- free);
+ *glyf_prime_blob = hb_blob_create (glyf_prime_data,
+ glyf_prime_size,
+ HB_MEMORY_MODE_READONLY,
+ glyf_prime_data,
+ free);
+ *loca_prime_blob = hb_blob_create ((char *) loca_prime.data,
+ loca_prime.size,
+ HB_MEMORY_MODE_READONLY,
+ loca_prime.data,
+ free);
return true;
}
diff --git a/src/hb-subset-input.cc b/src/hb-subset-input.cc
index f718a56..693c9c2 100644
--- a/src/hb-subset-input.cc
+++ b/src/hb-subset-input.cc
@@ -44,7 +44,10 @@ hb_subset_input_create_or_fail ()
input->unicodes = hb_set_create ();
input->glyphs = hb_set_create ();
+ input->drop_hints = false;
input->drop_layout = true;
+ input->desubroutinize = false;
+ input->retain_gids = false;
return input;
}
@@ -144,3 +147,27 @@ hb_subset_input_get_desubroutinize (hb_subset_input_t *subset_input)
{
return subset_input->desubroutinize;
}
+
+/**
+ * hb_subset_input_set_retain_gids:
+ * @subset_input: a subset_input.
+ * @retain_gids: If true the subsetter will not renumber glyph ids.
+ * Since: REPLACEME
+ **/
+HB_EXTERN void
+hb_subset_input_set_retain_gids (hb_subset_input_t *subset_input,
+ hb_bool_t retain_gids)
+{
+ subset_input->retain_gids = retain_gids;
+}
+
+/**
+ * hb_subset_input_get_retain_gids:
+ * Returns: value of retain_gids.
+ * Since: REPLACEME
+ **/
+HB_EXTERN hb_bool_t
+hb_subset_input_get_retain_gids (hb_subset_input_t *subset_input)
+{
+ return subset_input->retain_gids;
+}
diff --git a/src/hb-subset-input.hh b/src/hb-subset-input.hh
index 8dad94f..04d6e12 100644
--- a/src/hb-subset-input.hh
+++ b/src/hb-subset-input.hh
@@ -44,6 +44,7 @@ struct hb_subset_input_t
bool drop_hints : 1;
bool drop_layout : 1;
bool desubroutinize : 1;
+ bool retain_gids : 1;
/* TODO
*
* features
diff --git a/src/hb-subset-plan.cc b/src/hb-subset-plan.cc
index cff3426..8b72314 100644
--- a/src/hb-subset-plan.cc
+++ b/src/hb-subset-plan.cc
@@ -96,10 +96,10 @@ _remove_invalid_gids (hb_set_t *glyphs,
static hb_set_t *
_populate_gids_to_retain (hb_face_t *face,
const hb_set_t *unicodes,
+ const hb_set_t *input_glyphs_to_retain,
bool close_over_gsub,
hb_set_t *unicodes_to_retain,
- hb_map_t *codepoint_to_glyph,
- hb_vector_t<hb_codepoint_t> *glyphs)
+ hb_map_t *codepoint_to_glyph)
{
OT::cmap::accelerator_t cmap;
OT::glyf::accelerator_t glyf;
@@ -110,6 +110,7 @@ _populate_gids_to_retain (hb_face_t *face,
hb_set_t *initial_gids_to_retain = hb_set_create ();
initial_gids_to_retain->add (0); // Not-def
+ hb_set_union (initial_gids_to_retain, input_glyphs_to_retain);
hb_codepoint_t cp = HB_SET_VALUE_INVALID;
while (unicodes->next (&cp))
@@ -143,10 +144,6 @@ _populate_gids_to_retain (hb_face_t *face,
_remove_invalid_gids (all_gids_to_retain, face->get_num_glyphs ());
- glyphs->alloc (all_gids_to_retain->get_population ());
- gid = HB_SET_VALUE_INVALID;
- while (all_gids_to_retain->next (&gid))
- glyphs->push (gid);
cff.fini ();
glyf.fini ();
@@ -156,11 +153,35 @@ _populate_gids_to_retain (hb_face_t *face,
}
static void
-_create_old_gid_to_new_gid_map (const hb_vector_t<hb_codepoint_t> &glyphs,
- hb_map_t *glyph_map)
+_create_old_gid_to_new_gid_map (const hb_face_t *face,
+ bool retain_gids,
+ hb_set_t *all_gids_to_retain,
+ hb_map_t *glyph_map, /* OUT */
+ hb_map_t *reverse_glyph_map, /* OUT */
+ unsigned int *num_glyphs /* OUT */)
{
- for (unsigned int i = 0; i < glyphs.length; i++) {
- glyph_map->set (glyphs[i], i);
+ hb_codepoint_t gid = HB_SET_VALUE_INVALID;
+ unsigned int length = 0;
+ for (unsigned int i = 0; all_gids_to_retain->next (&gid); i++) {
+ if (!retain_gids)
+ {
+ glyph_map->set (gid, i);
+ reverse_glyph_map->set (i, gid);
+ }
+ else
+ {
+ glyph_map->set (gid, gid);
+ reverse_glyph_map->set (gid, gid);
+ }
+ ++length;
+ }
+ if (!retain_gids || length == 0)
+ {
+ *num_glyphs = length;
+ }
+ else
+ {
+ *num_glyphs = face->get_num_glyphs ();
}
}
@@ -184,19 +205,24 @@ hb_subset_plan_create (hb_face_t *face,
plan->drop_layout = input->drop_layout;
plan->desubroutinize = input->desubroutinize;
plan->unicodes = hb_set_create();
- plan->glyphs.init();
plan->source = hb_face_reference (face);
plan->dest = hb_face_builder_create ();
plan->codepoint_to_glyph = hb_map_create();
plan->glyph_map = hb_map_create();
- plan->glyphset = _populate_gids_to_retain (face,
- input->unicodes,
- !plan->drop_layout,
- plan->unicodes,
- plan->codepoint_to_glyph,
- &plan->glyphs);
- _create_old_gid_to_new_gid_map (plan->glyphs,
- plan->glyph_map);
+ plan->reverse_glyph_map = hb_map_create();
+ plan->_glyphset = _populate_gids_to_retain (face,
+ input->unicodes,
+ input->glyphs,
+ !plan->drop_layout,
+ plan->unicodes,
+ plan->codepoint_to_glyph);
+
+ _create_old_gid_to_new_gid_map (face,
+ input->retain_gids,
+ plan->_glyphset,
+ plan->glyph_map,
+ plan->reverse_glyph_map,
+ &plan->_num_output_glyphs);
return plan;
}
@@ -212,12 +238,12 @@ hb_subset_plan_destroy (hb_subset_plan_t *plan)
if (!hb_object_destroy (plan)) return;
hb_set_destroy (plan->unicodes);
- plan->glyphs.fini ();
hb_face_destroy (plan->source);
hb_face_destroy (plan->dest);
hb_map_destroy (plan->codepoint_to_glyph);
hb_map_destroy (plan->glyph_map);
- hb_set_destroy (plan->glyphset);
+ hb_map_destroy (plan->reverse_glyph_map);
+ hb_set_destroy (plan->_glyphset);
free (plan);
}
diff --git a/src/hb-subset-plan.hh b/src/hb-subset-plan.hh
index a710a4d..56726d4 100644
--- a/src/hb-subset-plan.hh
+++ b/src/hb-subset-plan.hh
@@ -33,6 +33,7 @@
#include "hb-subset-input.hh"
#include "hb-map.hh"
+#include "hb-set.hh"
struct hb_subset_plan_t
{
@@ -45,18 +46,51 @@ struct hb_subset_plan_t
// For each cp that we'd like to retain maps to the corresponding gid.
hb_set_t *unicodes;
- hb_vector_t<hb_codepoint_t> glyphs;
- hb_set_t *glyphset;
-
+ // The glyph subset
hb_map_t *codepoint_to_glyph;
+
+ // Old -> New glyph id mapping
hb_map_t *glyph_map;
+ hb_map_t *reverse_glyph_map;
// Plan is only good for a specific source/dest so keep them with it
hb_face_t *source;
hb_face_t *dest;
- bool new_gid_for_codepoint (hb_codepoint_t codepoint,
- hb_codepoint_t *new_gid) const
+ unsigned int _num_output_glyphs;
+ hb_set_t *_glyphset;
+
+ public:
+
+ /*
+ * The set of input glyph ids which will be retained in the subset.
+ */
+ inline const hb_set_t *
+ glyphset () const
+ {
+ return _glyphset;
+ }
+
+ /*
+ * The total number of output glyphs in the final subset.
+ */
+ inline unsigned int
+ num_output_glyphs () const
+ {
+ return _num_output_glyphs;
+ }
+
+ /*
+ * Given an output gid , returns true if that glyph id is an empty
+ * glyph (ie. it's a gid that we are dropping all data for).
+ */
+ inline bool is_empty_glyph (hb_codepoint_t gid) const
+ {
+ return !_glyphset->has (gid);
+ }
+
+ inline bool new_gid_for_codepoint (hb_codepoint_t codepoint,
+ hb_codepoint_t *new_gid) const
{
hb_codepoint_t old_gid = codepoint_to_glyph->get (codepoint);
if (old_gid == HB_MAP_VALUE_INVALID)
@@ -65,8 +99,8 @@ struct hb_subset_plan_t
return new_gid_for_old_gid (old_gid, new_gid);
}
- bool new_gid_for_old_gid (hb_codepoint_t old_gid,
- hb_codepoint_t *new_gid) const
+ inline bool new_gid_for_old_gid (hb_codepoint_t old_gid,
+ hb_codepoint_t *new_gid) const
{
hb_codepoint_t gid = glyph_map->get (old_gid);
if (gid == HB_MAP_VALUE_INVALID)
@@ -76,7 +110,18 @@ struct hb_subset_plan_t
return true;
}
- bool
+ inline bool old_gid_for_new_gid (hb_codepoint_t new_gid,
+ hb_codepoint_t *old_gid) const
+ {
+ hb_codepoint_t gid = reverse_glyph_map->get (new_gid);
+ if (gid == HB_MAP_VALUE_INVALID)
+ return false;
+
+ *old_gid = gid;
+ return true;
+ }
+
+ inline bool
add_table (hb_tag_t tag,
hb_blob_t *contents)
{
diff --git a/src/hb-subset.cc b/src/hb-subset.cc
index 37e7cec..135265f 100644
--- a/src/hb-subset.cc
+++ b/src/hb-subset.cc
@@ -52,7 +52,7 @@ _plan_estimate_subset_table_size (hb_subset_plan_t *plan,
unsigned int table_len)
{
unsigned int src_glyphs = plan->source->get_num_glyphs ();
- unsigned int dst_glyphs = plan->glyphset->get_population ();
+ unsigned int dst_glyphs = plan->glyphset ()->get_population ();
if (unlikely (!src_glyphs))
return 512 + table_len;
diff --git a/src/hb-subset.h b/src/hb-subset.h
index f582e46..657709e 100644
--- a/src/hb-subset.h
+++ b/src/hb-subset.h
@@ -72,6 +72,12 @@ hb_subset_input_set_desubroutinize (hb_subset_input_t *subset_input,
HB_EXTERN hb_bool_t
hb_subset_input_get_desubroutinize (hb_subset_input_t *subset_input);
+HB_EXTERN void
+hb_subset_input_set_retain_gids (hb_subset_input_t *subset_input,
+ hb_bool_t retain_gids);
+HB_EXTERN hb_bool_t
+hb_subset_input_get_retain_gids (hb_subset_input_t *subset_input);
+
/* hb_subset () */
HB_EXTERN hb_face_t *
hb_subset (hb_face_t *source, hb_subset_input_t *input);
diff --git a/src/hb-ucdn.cc b/src/hb-ucdn.cc
index 534935f..8230bf1 100644
--- a/src/hb-ucdn.cc
+++ b/src/hb-ucdn.cc
@@ -171,6 +171,10 @@ static const hb_script_t ucdn_script_translate[] =
HB_SCRIPT_MEDEFAIDRIN,
HB_SCRIPT_OLD_SOGDIAN,
HB_SCRIPT_SOGDIAN,
+ HB_SCRIPT_ELYMAIC,
+ HB_SCRIPT_NANDINAGARI,
+ HB_SCRIPT_NYIAKENG_PUACHUE_HMONG,
+ HB_SCRIPT_WANCHO,
};
static hb_unicode_combining_class_t
diff --git a/src/hb-ucdn/Makefile.in b/src/hb-ucdn/Makefile.in
index 9529940..509bed2 100644
--- a/src/hb-ucdn/Makefile.in
+++ b/src/hb-ucdn/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -127,7 +127,8 @@ am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/libhb_ucdn_la-ucdn.Plo
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -354,7 +355,6 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -400,8 +400,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(srcdir)/Makefile.sources $(am__empty):
@@ -434,7 +434,13 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhb_ucdn_la-ucdn.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhb_ucdn_la-ucdn.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -522,7 +528,10 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -592,7 +601,7 @@ clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/libhb_ucdn_la-ucdn.Plo
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -638,7 +647,7 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/libhb_ucdn_la-ucdn.Plo
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -659,16 +668,16 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
- ctags-am distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-generic clean-libtool clean-noinstLTLIBRARIES \
+ cscopelist-am ctags ctags-am distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags tags-am uninstall uninstall-am
diff --git a/src/hb-ucdn/ucdn.h b/src/hb-ucdn/ucdn.h
index 05d46d2..1317d4f 100644
--- a/src/hb-ucdn/ucdn.h
+++ b/src/hb-ucdn/ucdn.h
@@ -206,6 +206,17 @@ typedef unsigned __int64 uint64_t;
#define UCDN_SCRIPT_NUSHU 139
#define UCDN_SCRIPT_SOYOMBO 140
#define UCDN_SCRIPT_ZANABAZAR_SQUARE 141
+#define UCDN_SCRIPT_DOGRA 142
+#define UCDN_SCRIPT_GUNJALA_GONDI 143
+#define UCDN_SCRIPT_HANIFI_ROHINGYA 144
+#define UCDN_SCRIPT_MAKASAR 145
+#define UCDN_SCRIPT_MEDEFAIDRIN 146
+#define UCDN_SCRIPT_OLD_SOGDIAN 147
+#define UCDN_SCRIPT_SOGDIAN 148
+#define UCDN_SCRIPT_ELYMAIC 149
+#define UCDN_SCRIPT_NANDINAGARI 150
+#define UCDN_SCRIPT_NYIAKENG_PUACHUE_HMONG 151
+#define UCDN_SCRIPT_WANCHO 152
#define UCDN_LINEBREAK_CLASS_OP 0
#define UCDN_LINEBREAK_CLASS_CL 1
diff --git a/src/hb-ucdn/ucdn_db.h b/src/hb-ucdn/ucdn_db.h
index 87872b7..8f1310f 100644
--- a/src/hb-ucdn/ucdn_db.h
+++ b/src/hb-ucdn/ucdn_db.h
@@ -1,6 +1,6 @@
/* this file was generated by makeunicodedata.py 3.2 */
-#define UNIDATA_VERSION "11.0.0"
+#define UNIDATA_VERSION "12.0.0"
/* a list of unique database records */
static const UCDRecord ucd_records[] = {
{2, 0, 18, 5, 102, 39},
@@ -201,7 +201,6 @@ static const UCDRecord ucd_records[] = {
{7, 0, 0, 5, 9, 12},
{12, 7, 13, 5, 9, 21},
{12, 9, 13, 5, 9, 21},
- {12, 230, 13, 5, 9, 21},
{21, 0, 0, 5, 0, 17},
{13, 0, 0, 5, 9, 11},
{21, 0, 0, 5, 9, 12},
@@ -257,6 +256,7 @@ static const UCDRecord ucd_records[] = {
{12, 84, 13, 5, 15, 21},
{12, 91, 13, 5, 15, 21},
{13, 0, 0, 5, 15, 11},
+ {21, 0, 0, 5, 15, 18},
{15, 0, 18, 5, 15, 12},
{26, 0, 0, 5, 15, 12},
{7, 0, 0, 5, 16, 12},
@@ -294,6 +294,7 @@ static const UCDRecord ucd_records[] = {
{7, 0, 0, 5, 20, 36},
{12, 0, 13, 5, 20, 36},
{12, 118, 13, 5, 20, 36},
+ {12, 9, 13, 5, 20, 36},
{6, 0, 0, 5, 20, 36},
{12, 122, 13, 5, 20, 36},
{13, 0, 0, 5, 20, 11},
@@ -348,6 +349,7 @@ static const UCDRecord ucd_records[] = {
{5, 0, 0, 5, 26, 12},
{17, 0, 18, 5, 27, 17},
{7, 0, 0, 5, 27, 12},
+ {26, 0, 0, 5, 27, 12},
{21, 0, 0, 5, 27, 12},
{29, 0, 17, 5, 28, 17},
{7, 0, 0, 5, 28, 12},
@@ -632,6 +634,7 @@ static const UCDRecord ucd_records[] = {
{12, 0, 13, 5, 70, 21},
{21, 0, 0, 5, 70, 17},
{13, 0, 0, 5, 70, 11},
+ {12, 230, 13, 5, 9, 21},
{21, 0, 0, 5, 9, 18},
{13, 0, 0, 5, 71, 11},
{7, 0, 0, 5, 71, 12},
@@ -817,6 +820,7 @@ static const UCDRecord ucd_records[] = {
{12, 230, 13, 5, 148, 21},
{15, 0, 4, 5, 148, 12},
{21, 0, 4, 5, 148, 12},
+ {7, 0, 3, 5, 149, 12},
{10, 0, 0, 5, 93, 21},
{12, 0, 13, 5, 93, 21},
{7, 0, 0, 5, 93, 12},
@@ -936,6 +940,11 @@ static const UCDRecord ucd_records[] = {
{13, 0, 0, 5, 125, 11},
{15, 0, 0, 5, 125, 12},
{7, 0, 0, 5, 125, 12},
+ {7, 0, 0, 5, 150, 12},
+ {10, 0, 0, 5, 150, 21},
+ {12, 0, 13, 5, 150, 21},
+ {12, 9, 13, 5, 150, 21},
+ {21, 0, 0, 5, 150, 18},
{7, 0, 0, 5, 141, 12},
{12, 0, 13, 5, 141, 21},
{12, 0, 0, 5, 141, 21},
@@ -977,12 +986,17 @@ static const UCDRecord ucd_records[] = {
{12, 0, 13, 5, 145, 21},
{10, 0, 0, 5, 145, 21},
{21, 0, 0, 5, 145, 12},
+ {23, 0, 10, 5, 14, 10},
+ {21, 0, 0, 5, 14, 17},
{7, 0, 0, 5, 62, 12},
{14, 0, 0, 5, 62, 12},
{21, 0, 0, 5, 62, 17},
{7, 0, 0, 5, 80, 12},
{7, 0, 0, 5, 80, 0},
{7, 0, 0, 5, 80, 1},
+ {1, 0, 0, 5, 80, 4},
+ {1, 0, 0, 5, 80, 0},
+ {1, 0, 0, 5, 80, 1},
{7, 0, 0, 5, 127, 12},
{7, 0, 0, 5, 127, 0},
{7, 0, 0, 5, 127, 1},
@@ -1006,11 +1020,12 @@ static const UCDRecord ucd_records[] = {
{21, 0, 0, 5, 146, 17},
{21, 0, 0, 5, 146, 12},
{7, 0, 0, 5, 98, 12},
- {10, 0, 0, 5, 98, 21},
{12, 0, 13, 5, 98, 21},
+ {10, 0, 0, 5, 98, 21},
{6, 0, 0, 5, 98, 12},
{6, 0, 0, 2, 137, 5},
{6, 0, 0, 2, 139, 5},
+ {6, 0, 0, 2, 0, 5},
{7, 0, 0, 2, 137, 14},
{7, 0, 0, 2, 139, 14},
{7, 0, 0, 5, 105, 12},
@@ -1028,6 +1043,15 @@ static const UCDRecord ucd_records[] = {
{21, 0, 0, 5, 131, 17},
{21, 0, 0, 5, 131, 12},
{12, 230, 13, 5, 56, 21},
+ {7, 0, 0, 5, 151, 12},
+ {12, 230, 13, 5, 151, 21},
+ {6, 0, 0, 5, 151, 12},
+ {13, 0, 0, 5, 151, 11},
+ {26, 0, 0, 5, 151, 12},
+ {7, 0, 0, 5, 152, 12},
+ {12, 230, 13, 5, 152, 21},
+ {13, 0, 0, 5, 152, 11},
+ {23, 0, 10, 5, 152, 9},
{7, 0, 3, 5, 113, 12},
{15, 0, 3, 5, 113, 12},
{12, 220, 13, 5, 113, 21},
@@ -1035,11 +1059,13 @@ static const UCDRecord ucd_records[] = {
{5, 0, 3, 5, 132, 12},
{12, 230, 13, 5, 132, 21},
{12, 7, 13, 5, 132, 21},
+ {6, 0, 3, 5, 132, 12},
{13, 0, 3, 5, 132, 11},
{21, 0, 3, 5, 132, 0},
{15, 0, 4, 5, 0, 12},
{26, 0, 4, 5, 0, 10},
{23, 0, 4, 5, 0, 10},
+ {26, 0, 4, 5, 0, 12},
{2, 0, 18, 5, 102, 14},
{26, 0, 0, 2, 0, 29},
{26, 0, 0, 5, 0, 28},
@@ -2012,6 +2038,10 @@ static const Reindex nfc_last[] = {
#define UCDN_SCRIPT_MEDEFAIDRIN 146
#define UCDN_SCRIPT_OLD_SOGDIAN 147
#define UCDN_SCRIPT_SOGDIAN 148
+#define UCDN_SCRIPT_ELYMAIC 149
+#define UCDN_SCRIPT_NANDINAGARI 150
+#define UCDN_SCRIPT_NYIAKENG_PUACHUE_HMONG 151
+#define UCDN_SCRIPT_WANCHO 152
#define UCDN_GENERAL_CATEGORY_CC 0
#define UCDN_GENERAL_CATEGORY_CF 1
@@ -2087,23 +2117,23 @@ static const unsigned char index0[] = {
73, 73, 73, 73, 73, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 52, 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, 106, 108, 109, 110, 106,
- 111, 111, 111, 112, 113, 114, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 115, 115, 116, 117, 118, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 119, 120, 121, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 122, 122, 123, 124, 106, 106, 125, 126, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 128, 127, 127, 129, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 130, 131, 132, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 133, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 134, 135, 136, 137, 138, 139,
- 140, 141, 142, 142, 143, 106, 106, 106, 106, 106, 144, 106, 106, 106,
- 106, 106, 106, 106, 145, 146, 106, 106, 147, 106, 148, 106, 149, 150,
- 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 160, 160, 160, 161, 52,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 113, 113, 114, 115, 116, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 117, 117, 118, 119, 120, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 121, 122, 123, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 124, 124, 125, 126, 108, 108, 127, 128, 129, 129, 129, 129,
+ 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
+ 129, 129, 129, 129, 129, 130, 129, 129, 131, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 132, 133, 134, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 135, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 144, 145, 108, 108, 108, 108, 108, 146, 147, 148, 108,
+ 108, 108, 108, 108, 149, 150, 108, 108, 151, 152, 153, 108, 154, 155,
+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 165, 165, 165, 166, 52,
52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
@@ -2113,231 +2143,231 @@ static const unsigned char index0[] = {
52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
- 52, 52, 52, 162, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
- 52, 52, 163, 164, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
- 52, 52, 52, 52, 52, 52, 52, 165, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 167, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 168, 169, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 170, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
- 166, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 52, 52,
- 168, 167, 167, 167, 167, 169, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 167, 167, 167, 167, 169, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 170, 171, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 74, 74, 74,
+ 171, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 52, 52,
+ 173, 172, 172, 172, 172, 174, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 174, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 175, 176, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
@@ -2352,7 +2382,7 @@ static const unsigned char index0[] = {
74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 172, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
+ 177, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
@@ -2366,7 +2396,7 @@ static const unsigned char index0[] = {
74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 172,
+ 74, 74, 74, 74, 177,
};
static const unsigned short index1[] = {
@@ -2396,388 +2426,400 @@ static const unsigned short index1[] = {
231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 119, 242, 243,
244, 245, 246, 243, 247, 248, 249, 250, 251, 119, 252, 253, 254, 255,
256, 257, 258, 259, 259, 258, 259, 260, 261, 262, 263, 264, 265, 266,
- 119, 267, 268, 269, 270, 271, 271, 270, 272, 273, 274, 275, 276, 277,
- 278, 279, 280, 119, 281, 282, 283, 284, 284, 284, 284, 285, 286, 287,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 295, 295, 298, 299,
- 296, 300, 301, 302, 303, 304, 305, 119, 306, 307, 307, 307, 307, 307,
- 308, 309, 310, 311, 312, 313, 119, 119, 119, 119, 314, 315, 316, 317,
- 318, 319, 320, 321, 322, 323, 324, 325, 119, 119, 119, 119, 326, 327,
- 328, 329, 330, 331, 332, 333, 334, 335, 334, 334, 334, 336, 337, 338,
- 339, 340, 341, 342, 341, 341, 341, 343, 344, 345, 346, 347, 119, 119,
- 119, 119, 348, 348, 348, 348, 348, 349, 350, 351, 352, 353, 354, 355,
- 356, 357, 358, 348, 359, 360, 352, 361, 362, 362, 362, 362, 363, 364,
- 365, 365, 365, 365, 365, 366, 367, 367, 367, 367, 367, 367, 367, 367,
- 367, 367, 367, 367, 368, 368, 368, 368, 368, 368, 368, 368, 368, 369,
- 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, 370, 370, 370, 370,
- 370, 370, 370, 370, 370, 371, 372, 371, 370, 370, 370, 370, 370, 371,
- 370, 370, 370, 370, 371, 372, 371, 370, 372, 370, 370, 370, 370, 370,
- 370, 370, 371, 370, 370, 370, 370, 370, 370, 370, 370, 373, 374, 375,
- 376, 377, 370, 370, 378, 379, 380, 380, 380, 380, 380, 380, 380, 380,
- 380, 380, 381, 382, 383, 384, 384, 384, 384, 384, 384, 384, 384, 384,
- 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384,
- 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384,
- 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384,
- 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384,
- 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 385, 384, 384,
- 386, 387, 387, 388, 389, 389, 389, 389, 389, 389, 389, 389, 389, 390,
- 391, 392, 393, 394, 395, 119, 396, 396, 397, 119, 398, 398, 399, 119,
- 400, 401, 402, 119, 403, 403, 403, 403, 403, 403, 404, 405, 406, 407,
- 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 418, 418, 418,
- 419, 418, 418, 418, 418, 418, 418, 420, 421, 418, 418, 418, 418, 422,
- 384, 384, 384, 384, 384, 384, 384, 384, 423, 119, 424, 424, 424, 425,
- 426, 427, 428, 429, 430, 431, 432, 432, 432, 433, 434, 119, 435, 435,
- 435, 435, 435, 436, 435, 435, 435, 437, 438, 439, 440, 440, 440, 440,
- 441, 441, 442, 443, 444, 444, 444, 444, 444, 444, 445, 446, 447, 448,
- 449, 450, 451, 452, 451, 452, 453, 454, 455, 456, 119, 119, 119, 119,
- 119, 119, 119, 119, 457, 458, 458, 458, 458, 458, 459, 460, 461, 462,
- 463, 464, 465, 466, 467, 468, 469, 470, 470, 470, 471, 472, 473, 474,
- 475, 475, 475, 475, 476, 477, 478, 479, 480, 480, 480, 480, 481, 482,
- 483, 484, 485, 486, 487, 488, 489, 489, 489, 490, 100, 491, 362, 362,
- 362, 362, 362, 492, 493, 119, 494, 495, 496, 497, 498, 499, 54, 54, 54,
- 54, 500, 501, 56, 56, 56, 56, 56, 502, 503, 504, 54, 505, 54, 54, 54,
- 506, 56, 56, 56, 507, 508, 509, 510, 511, 511, 511, 512, 513, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 514, 515, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 516, 517, 518, 519, 516, 517,
- 516, 517, 518, 519, 516, 520, 516, 517, 516, 518, 516, 521, 516, 521,
- 516, 521, 522, 523, 524, 525, 526, 527, 516, 528, 529, 530, 531, 532,
- 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
- 547, 548, 56, 549, 550, 551, 552, 553, 554, 554, 555, 556, 557, 558, 559,
- 119, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
- 573, 572, 574, 575, 576, 577, 578, 579, 580, 581, 582, 581, 583, 584,
- 581, 585, 581, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 587,
- 596, 597, 587, 598, 599, 587, 587, 599, 587, 600, 601, 600, 587, 587,
- 602, 587, 587, 587, 587, 587, 603, 587, 587, 581, 604, 605, 606, 607,
- 608, 609, 610, 610, 610, 610, 610, 610, 610, 610, 611, 581, 581, 612,
- 613, 587, 587, 614, 581, 581, 581, 581, 586, 607, 615, 616, 581, 581,
- 581, 581, 581, 617, 119, 119, 119, 581, 618, 119, 119, 619, 619, 619,
- 619, 619, 620, 620, 621, 622, 622, 622, 622, 622, 622, 622, 622, 622,
- 623, 619, 624, 625, 625, 625, 625, 625, 625, 625, 625, 625, 626, 625,
- 625, 625, 625, 627, 581, 625, 625, 628, 581, 629, 630, 631, 632, 633,
- 634, 630, 581, 628, 635, 581, 636, 637, 638, 639, 640, 581, 581, 581,
- 641, 642, 643, 644, 581, 645, 646, 581, 647, 581, 581, 648, 649, 650,
- 651, 581, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 581,
- 581, 581, 663, 581, 664, 581, 665, 666, 667, 668, 669, 670, 619, 671,
- 671, 672, 581, 581, 581, 663, 673, 674, 587, 587, 587, 675, 676, 587,
- 587, 677, 677, 677, 677, 677, 677, 677, 677, 677, 677, 677, 677, 677,
- 677, 677, 677, 677, 677, 677, 677, 677, 677, 677, 677, 677, 677, 677,
- 677, 677, 677, 677, 677, 587, 587, 587, 587, 587, 587, 587, 587, 587,
- 587, 587, 587, 587, 587, 587, 587, 678, 679, 679, 680, 587, 587, 587,
- 587, 587, 587, 587, 681, 587, 587, 587, 682, 587, 587, 587, 587, 587,
- 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587,
- 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 581,
- 581, 581, 683, 581, 581, 587, 587, 684, 685, 686, 630, 581, 581, 687,
- 581, 581, 581, 688, 581, 581, 581, 581, 581, 581, 689, 581, 581, 581,
- 581, 581, 617, 690, 690, 690, 690, 690, 691, 692, 692, 692, 692, 692,
- 693, 694, 695, 696, 697, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 698, 699, 700, 701, 365, 365, 365, 365, 702, 703, 704, 704, 704, 704,
- 704, 704, 704, 705, 706, 707, 370, 370, 372, 119, 372, 372, 372, 372,
- 372, 372, 372, 372, 708, 708, 708, 708, 709, 710, 711, 712, 713, 714,
- 715, 716, 717, 718, 119, 119, 119, 119, 119, 119, 719, 719, 719, 720,
- 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 721, 119, 719, 719,
- 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 719,
- 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, 722, 119, 119, 119,
- 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 735,
- 736, 735, 735, 735, 737, 738, 739, 740, 741, 742, 743, 743, 744, 743,
- 743, 743, 745, 746, 747, 748, 749, 750, 750, 750, 750, 750, 751, 752,
- 752, 752, 752, 752, 752, 752, 752, 752, 752, 753, 754, 755, 750, 750,
- 750, 756, 723, 723, 723, 723, 724, 119, 757, 757, 758, 758, 758, 759,
- 760, 761, 755, 755, 755, 762, 763, 764, 758, 758, 758, 765, 760, 761,
- 755, 755, 755, 755, 766, 764, 755, 767, 768, 768, 768, 768, 768, 769,
- 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 755, 755, 755,
- 770, 771, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 772,
- 755, 755, 755, 770, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 774, 775, 581, 581, 581, 581, 581, 581, 581, 581, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
- 775, 775, 776, 776, 777, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
- 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 778,
- 779, 779, 779, 779, 779, 779, 780, 119, 781, 781, 781, 781, 781, 782,
- 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
- 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
- 783, 783, 783, 783, 783, 784, 783, 783, 785, 786, 119, 119, 101, 101,
- 101, 101, 101, 787, 788, 789, 101, 101, 101, 790, 791, 791, 791, 791,
- 791, 791, 791, 791, 792, 793, 794, 119, 64, 64, 795, 796, 797, 27, 798,
- 27, 27, 27, 27, 27, 27, 27, 799, 800, 27, 801, 802, 27, 27, 803, 804,
- 805, 119, 119, 119, 119, 119, 119, 806, 807, 808, 809, 810, 810, 811,
- 812, 813, 814, 815, 815, 815, 815, 815, 815, 816, 119, 817, 818, 818,
- 818, 818, 818, 819, 820, 821, 822, 823, 824, 825, 825, 826, 827, 828,
- 829, 830, 830, 831, 832, 833, 833, 834, 835, 836, 837, 367, 367, 367,
- 838, 839, 840, 840, 840, 840, 840, 841, 842, 843, 844, 845, 846, 847,
- 348, 352, 848, 849, 849, 849, 849, 849, 850, 851, 119, 852, 853, 854,
- 855, 348, 348, 856, 857, 858, 858, 858, 858, 858, 858, 859, 860, 861,
- 119, 119, 862, 863, 864, 865, 119, 866, 866, 866, 119, 372, 372, 54, 54,
- 54, 54, 54, 867, 868, 119, 869, 869, 869, 869, 869, 869, 869, 869, 869,
- 869, 863, 863, 863, 863, 870, 871, 872, 873, 874, 875, 875, 876, 875,
- 875, 875, 874, 875, 875, 876, 875, 875, 875, 874, 875, 875, 876, 875,
- 875, 875, 874, 875, 875, 876, 875, 875, 875, 874, 875, 875, 876, 875,
- 875, 875, 874, 875, 875, 876, 875, 875, 875, 874, 875, 875, 876, 875,
- 875, 875, 874, 875, 875, 876, 875, 875, 875, 874, 875, 875, 876, 875,
- 875, 875, 874, 875, 875, 876, 875, 875, 875, 874, 875, 875, 876, 875,
- 875, 875, 874, 875, 875, 876, 875, 875, 875, 874, 875, 875, 876, 875,
- 875, 875, 874, 875, 875, 876, 875, 875, 875, 874, 875, 875, 876, 875,
- 875, 875, 874, 875, 875, 876, 875, 875, 875, 874, 875, 875, 876, 875,
- 875, 875, 874, 875, 875, 876, 875, 875, 875, 874, 875, 875, 876, 875,
- 875, 875, 874, 875, 875, 876, 875, 875, 875, 874, 875, 875, 876, 875,
- 875, 875, 874, 875, 875, 876, 875, 875, 875, 874, 875, 875, 876, 875,
- 875, 875, 874, 875, 875, 876, 875, 875, 875, 874, 875, 875, 876, 875,
- 875, 875, 874, 875, 875, 876, 875, 875, 875, 874, 875, 875, 876, 875,
- 875, 875, 874, 875, 875, 876, 875, 875, 875, 874, 875, 875, 876, 875,
- 875, 875, 874, 875, 875, 876, 875, 875, 875, 874, 875, 875, 876, 875,
- 875, 875, 874, 875, 875, 876, 875, 875, 875, 875, 875, 875, 874, 875,
- 875, 876, 875, 875, 875, 874, 875, 875, 876, 875, 875, 875, 874, 875,
- 875, 877, 119, 368, 368, 878, 879, 369, 369, 369, 369, 369, 880, 881,
- 881, 881, 881, 881, 881, 881, 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 881, 881, 881, 881, 881, 881, 881, 881, 881, 881, 881,
- 881, 881, 881, 882, 882, 882, 882, 882, 882, 882, 882, 882, 882, 882,
- 882, 882, 882, 882, 882, 882, 882, 882, 882, 882, 882, 882, 882, 882,
- 882, 882, 882, 882, 882, 882, 882, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 774, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 883, 775, 775, 775, 775, 884, 119, 885,
- 886, 120, 887, 888, 889, 890, 120, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 891, 892, 893, 119, 894, 127, 127, 127, 127,
+ 267, 268, 269, 270, 271, 272, 272, 271, 273, 274, 275, 276, 277, 278,
+ 279, 280, 281, 119, 282, 283, 284, 285, 285, 285, 285, 286, 287, 288,
+ 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 296, 296, 299, 300,
+ 297, 301, 302, 303, 304, 305, 306, 119, 307, 308, 308, 308, 308, 308,
+ 309, 310, 311, 312, 313, 314, 119, 119, 119, 119, 315, 316, 317, 317,
+ 318, 317, 319, 320, 321, 322, 323, 324, 119, 119, 119, 119, 325, 326,
+ 327, 328, 329, 330, 331, 332, 333, 334, 333, 333, 333, 335, 336, 337,
+ 338, 339, 340, 341, 340, 340, 340, 342, 343, 344, 345, 346, 119, 119,
+ 119, 119, 347, 347, 347, 347, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, 347, 358, 359, 351, 360, 361, 361, 361, 361, 362, 363,
+ 364, 364, 364, 364, 364, 365, 366, 366, 366, 366, 366, 366, 366, 366,
+ 366, 366, 366, 366, 367, 367, 367, 367, 367, 367, 367, 367, 367, 368,
+ 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 369, 369, 369, 369,
+ 369, 369, 369, 369, 369, 370, 371, 370, 369, 369, 369, 369, 369, 370,
+ 369, 369, 369, 369, 370, 371, 370, 369, 371, 369, 369, 369, 369, 369,
+ 369, 369, 370, 369, 369, 369, 369, 369, 369, 369, 369, 372, 373, 374,
+ 375, 376, 369, 369, 377, 378, 379, 379, 379, 379, 379, 379, 379, 379,
+ 379, 379, 380, 381, 382, 383, 383, 383, 383, 383, 383, 383, 383, 383,
+ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
+ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
+ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
+ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
+ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 384, 383, 383,
+ 385, 386, 386, 387, 388, 388, 388, 388, 388, 388, 388, 388, 388, 389,
+ 390, 391, 392, 393, 394, 119, 395, 395, 396, 119, 397, 397, 398, 119,
+ 399, 400, 401, 119, 402, 402, 402, 402, 402, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 417, 417, 417,
+ 418, 417, 417, 417, 417, 417, 417, 419, 420, 417, 417, 417, 417, 421,
+ 383, 383, 383, 383, 383, 383, 383, 383, 422, 119, 423, 423, 423, 424,
+ 425, 426, 427, 428, 429, 430, 431, 431, 431, 432, 433, 119, 434, 434,
+ 434, 434, 434, 435, 434, 434, 434, 436, 437, 438, 439, 439, 439, 439,
+ 440, 440, 441, 442, 443, 443, 443, 443, 443, 443, 444, 445, 446, 447,
+ 448, 449, 450, 451, 450, 451, 452, 453, 454, 455, 119, 119, 119, 119,
+ 119, 119, 119, 119, 456, 457, 457, 457, 457, 457, 458, 459, 460, 461,
+ 462, 463, 464, 465, 466, 467, 468, 469, 469, 469, 470, 471, 472, 473,
+ 474, 474, 474, 474, 475, 476, 477, 478, 479, 479, 479, 479, 480, 481,
+ 482, 483, 484, 485, 486, 487, 488, 488, 488, 489, 100, 490, 361, 361,
+ 361, 361, 361, 491, 492, 119, 493, 494, 495, 496, 497, 498, 54, 54, 54,
+ 54, 499, 500, 56, 56, 56, 56, 56, 501, 502, 503, 54, 504, 54, 54, 54,
+ 505, 56, 56, 56, 506, 507, 508, 509, 510, 510, 510, 511, 512, 27, 27, 27,
+ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 513, 514, 27,
+ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 515, 516, 517, 518, 515, 516,
+ 515, 516, 517, 518, 515, 519, 515, 516, 515, 517, 515, 520, 515, 520,
+ 515, 520, 521, 522, 523, 524, 525, 526, 515, 527, 528, 529, 530, 531,
+ 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
+ 546, 547, 56, 548, 549, 550, 551, 552, 553, 553, 554, 555, 556, 557, 558,
+ 119, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571,
+ 572, 571, 573, 574, 575, 576, 577, 578, 579, 580, 581, 580, 582, 583,
+ 580, 584, 580, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 586,
+ 595, 596, 586, 597, 598, 586, 586, 598, 586, 599, 600, 599, 586, 586,
+ 601, 586, 586, 586, 586, 586, 602, 586, 586, 580, 603, 604, 605, 606,
+ 607, 608, 609, 609, 609, 609, 609, 609, 609, 609, 610, 580, 580, 611,
+ 612, 586, 586, 613, 580, 580, 580, 580, 585, 606, 614, 615, 580, 580,
+ 580, 580, 580, 616, 119, 119, 119, 580, 617, 119, 119, 618, 618, 618,
+ 618, 618, 619, 619, 620, 621, 621, 621, 621, 621, 621, 621, 621, 621,
+ 622, 618, 623, 624, 624, 624, 624, 624, 624, 624, 624, 624, 625, 624,
+ 624, 624, 624, 626, 580, 624, 624, 627, 580, 628, 629, 630, 631, 632,
+ 633, 629, 580, 627, 634, 580, 635, 636, 637, 638, 639, 580, 580, 580,
+ 640, 641, 642, 643, 580, 644, 645, 580, 646, 580, 580, 647, 648, 649,
+ 650, 580, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 580,
+ 580, 580, 662, 580, 663, 580, 664, 665, 666, 667, 668, 669, 618, 670,
+ 670, 671, 580, 580, 580, 662, 672, 673, 586, 586, 586, 674, 675, 586,
+ 586, 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, 676,
+ 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, 676,
+ 676, 676, 676, 676, 676, 586, 586, 586, 586, 586, 586, 586, 586, 586,
+ 586, 586, 586, 586, 586, 586, 586, 677, 678, 678, 679, 586, 586, 586,
+ 586, 586, 586, 586, 680, 586, 586, 586, 681, 586, 586, 586, 586, 586,
+ 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
+ 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 580,
+ 580, 580, 682, 580, 580, 586, 586, 683, 684, 685, 629, 580, 580, 686,
+ 580, 580, 580, 687, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580,
+ 580, 580, 580, 688, 688, 688, 688, 688, 689, 690, 690, 690, 690, 690,
+ 691, 692, 693, 694, 695, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 696, 697, 698, 699, 364, 364, 364, 364, 700, 701, 702, 702, 702, 702,
+ 702, 702, 702, 703, 704, 705, 369, 369, 371, 119, 371, 371, 371, 371,
+ 371, 371, 371, 371, 706, 706, 706, 706, 707, 708, 709, 710, 711, 712,
+ 713, 714, 715, 716, 119, 119, 119, 119, 119, 119, 717, 717, 717, 718,
+ 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 719, 119, 717, 717,
+ 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 717,
+ 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 720, 119, 119, 119,
+ 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 733,
+ 734, 733, 733, 733, 735, 736, 737, 738, 739, 740, 741, 741, 742, 741,
+ 741, 741, 743, 744, 745, 746, 747, 748, 748, 748, 748, 748, 749, 750,
+ 750, 750, 750, 750, 750, 750, 750, 750, 750, 751, 752, 753, 748, 748,
+ 748, 754, 721, 721, 721, 721, 722, 119, 755, 755, 756, 756, 756, 757,
+ 758, 759, 753, 753, 753, 760, 761, 762, 756, 756, 756, 763, 758, 759,
+ 753, 753, 753, 753, 764, 762, 753, 765, 766, 766, 766, 766, 766, 767,
+ 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 766, 753, 753, 753,
+ 768, 769, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 770,
+ 753, 753, 753, 768, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 772, 773, 580, 580, 580, 580, 580, 580, 580, 580, 771, 771,
+ 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
+ 773, 773, 774, 774, 775, 774, 774, 774, 774, 774, 774, 774, 774, 774,
+ 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
+ 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
+ 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
+ 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
+ 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 776,
+ 777, 777, 777, 777, 777, 777, 778, 119, 779, 779, 779, 779, 779, 780,
+ 781, 781, 781, 781, 781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
+ 781, 781, 781, 781, 781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
+ 781, 781, 781, 781, 781, 782, 781, 781, 783, 784, 119, 119, 101, 101,
+ 101, 101, 101, 785, 786, 787, 101, 101, 101, 788, 789, 789, 789, 789,
+ 789, 789, 789, 789, 790, 791, 792, 119, 64, 64, 793, 794, 795, 27, 796,
+ 27, 27, 27, 27, 27, 27, 27, 797, 798, 27, 799, 800, 27, 27, 801, 802, 27,
+ 803, 119, 119, 119, 119, 119, 804, 805, 806, 807, 808, 808, 809, 810,
+ 811, 812, 813, 813, 813, 813, 813, 813, 814, 119, 815, 816, 816, 816,
+ 816, 816, 817, 818, 819, 820, 821, 822, 823, 823, 824, 825, 826, 827,
+ 828, 828, 829, 830, 831, 831, 832, 833, 834, 835, 366, 366, 366, 836,
+ 837, 838, 838, 838, 838, 838, 839, 840, 841, 842, 843, 844, 845, 347,
+ 351, 846, 847, 847, 847, 847, 847, 848, 849, 119, 850, 851, 852, 853,
+ 347, 347, 854, 855, 856, 856, 856, 856, 856, 856, 857, 858, 859, 119,
+ 119, 860, 861, 862, 863, 119, 864, 864, 864, 119, 371, 371, 54, 54, 54,
+ 54, 54, 865, 866, 119, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867,
+ 861, 861, 861, 861, 868, 869, 870, 871, 872, 873, 873, 874, 873, 873,
+ 873, 872, 873, 873, 874, 873, 873, 873, 872, 873, 873, 874, 873, 873,
+ 873, 872, 873, 873, 874, 873, 873, 873, 872, 873, 873, 874, 873, 873,
+ 873, 872, 873, 873, 874, 873, 873, 873, 872, 873, 873, 874, 873, 873,
+ 873, 872, 873, 873, 874, 873, 873, 873, 872, 873, 873, 874, 873, 873,
+ 873, 872, 873, 873, 874, 873, 873, 873, 872, 873, 873, 874, 873, 873,
+ 873, 872, 873, 873, 874, 873, 873, 873, 872, 873, 873, 874, 873, 873,
+ 873, 872, 873, 873, 874, 873, 873, 873, 872, 873, 873, 874, 873, 873,
+ 873, 872, 873, 873, 874, 873, 873, 873, 872, 873, 873, 874, 873, 873,
+ 873, 872, 873, 873, 874, 873, 873, 873, 872, 873, 873, 874, 873, 873,
+ 873, 872, 873, 873, 874, 873, 873, 873, 872, 873, 873, 874, 873, 873,
+ 873, 872, 873, 873, 874, 873, 873, 873, 872, 873, 873, 874, 873, 873,
+ 873, 872, 873, 873, 874, 873, 873, 873, 872, 873, 873, 874, 873, 873,
+ 873, 872, 873, 873, 874, 873, 873, 873, 872, 873, 873, 874, 873, 873,
+ 873, 872, 873, 873, 874, 873, 873, 873, 872, 873, 873, 874, 873, 873,
+ 873, 872, 873, 873, 874, 873, 873, 873, 872, 873, 873, 874, 873, 873,
+ 873, 872, 873, 873, 874, 873, 873, 873, 873, 873, 873, 872, 873, 873,
+ 874, 873, 873, 873, 872, 873, 873, 874, 873, 873, 873, 872, 873, 873,
+ 875, 119, 367, 367, 876, 877, 368, 368, 368, 368, 368, 878, 879, 879,
+ 879, 879, 879, 879, 879, 879, 879, 879, 879, 879, 879, 879, 879, 879,
+ 879, 879, 879, 879, 879, 879, 879, 879, 879, 879, 879, 879, 879, 879,
+ 879, 879, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 771, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 771, 772, 771, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 771, 881, 773, 773, 773, 773, 882, 119, 883, 884,
+ 120, 885, 886, 887, 888, 120, 127, 127, 127, 127, 127, 127, 127, 127,
+ 127, 127, 127, 127, 889, 890, 891, 119, 892, 127, 127, 127, 127, 127,
127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 895, 119,
- 119, 127, 127, 127, 127, 127, 127, 127, 127, 896, 127, 127, 127, 127,
- 127, 127, 119, 119, 119, 119, 119, 127, 897, 898, 898, 899, 900, 901,
- 902, 903, 904, 905, 906, 907, 908, 909, 910, 169, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 911, 912,
- 913, 914, 915, 916, 917, 917, 918, 919, 920, 920, 921, 922, 923, 924,
- 925, 925, 925, 925, 926, 927, 927, 927, 928, 929, 929, 929, 930, 931,
- 932, 119, 933, 934, 935, 934, 934, 936, 934, 934, 937, 934, 938, 934,
- 938, 119, 119, 119, 119, 934, 934, 934, 934, 934, 934, 934, 934, 934,
- 934, 934, 934, 934, 934, 934, 939, 940, 941, 941, 941, 941, 941, 942,
- 610, 943, 943, 943, 943, 943, 943, 944, 945, 946, 947, 581, 948, 949,
- 119, 119, 119, 119, 119, 610, 610, 610, 610, 610, 950, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 951,
- 951, 951, 952, 953, 953, 953, 953, 953, 953, 954, 119, 955, 956, 956,
- 957, 958, 958, 958, 958, 959, 960, 961, 961, 962, 963, 964, 964, 964,
- 964, 965, 966, 967, 967, 967, 968, 969, 969, 969, 969, 970, 969, 971,
- 119, 119, 119, 119, 119, 972, 972, 972, 972, 972, 973, 973, 973, 973,
- 973, 974, 974, 974, 974, 974, 974, 975, 975, 975, 976, 977, 978, 979,
- 979, 979, 979, 980, 981, 981, 981, 981, 982, 983, 983, 983, 983, 983,
- 119, 984, 984, 984, 984, 984, 984, 985, 986, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 987,
- 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987,
- 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987,
- 987, 987, 987, 987, 987, 987, 987, 987, 987, 988, 119, 987, 987, 989,
- 119, 987, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 990, 991, 992, 992, 992, 992, 993,
- 994, 995, 995, 996, 997, 998, 998, 999, 1000, 1001, 1001, 1001, 1002,
- 1003, 1004, 119, 119, 119, 119, 119, 119, 1005, 1005, 1006, 1007, 1008,
- 1008, 1009, 1010, 1011, 1011, 1011, 1012, 119, 119, 119, 119, 119, 119,
- 119, 119, 1013, 1013, 1013, 1013, 1014, 1014, 1014, 1015, 1016, 1016,
- 1017, 1016, 1016, 1016, 1016, 1016, 1018, 1019, 1020, 1021, 1022, 1022,
- 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1029, 1029, 1030, 1031, 1031,
- 1031, 1032, 119, 119, 119, 119, 1033, 1034, 1033, 1033, 1035, 1036, 1037,
- 119, 1038, 1038, 1038, 1038, 1038, 1038, 1039, 1040, 1041, 1041, 1042,
- 1043, 1044, 1044, 1045, 1046, 1047, 1047, 1048, 1049, 119, 1050, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 1051, 1051, 1051, 1051,
- 1051, 1051, 1051, 1051, 1051, 1052, 119, 119, 119, 119, 119, 119, 1053,
- 1053, 1053, 1053, 1053, 1053, 1054, 119, 1055, 1055, 1055, 1055, 1055,
- 1055, 1056, 1057, 1058, 1058, 1058, 1058, 1059, 119, 1060, 1061, 119,
+ 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 893, 119, 119,
+ 127, 127, 127, 127, 127, 127, 127, 127, 894, 127, 127, 127, 127, 127,
+ 127, 119, 119, 119, 119, 119, 127, 895, 896, 896, 897, 898, 899, 900,
+ 901, 902, 903, 904, 905, 906, 907, 908, 169, 127, 127, 127, 127, 127,
+ 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 909, 910, 911,
+ 912, 913, 914, 915, 915, 916, 917, 918, 918, 919, 920, 921, 922, 923,
+ 923, 923, 923, 924, 925, 925, 925, 926, 927, 927, 927, 928, 929, 930,
+ 119, 931, 932, 933, 932, 932, 934, 932, 932, 935, 932, 936, 932, 936,
+ 119, 119, 119, 119, 932, 932, 932, 932, 932, 932, 932, 932, 932, 932,
+ 932, 932, 932, 932, 932, 937, 938, 939, 939, 939, 939, 939, 940, 609,
+ 941, 941, 941, 941, 941, 941, 942, 943, 944, 945, 580, 946, 947, 119,
+ 119, 119, 119, 119, 609, 609, 609, 609, 609, 948, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 949, 949,
+ 949, 950, 951, 951, 951, 951, 951, 951, 952, 119, 953, 954, 954, 955,
+ 956, 956, 956, 956, 957, 958, 959, 959, 960, 961, 962, 962, 962, 962,
+ 963, 964, 965, 965, 965, 966, 967, 967, 967, 967, 968, 967, 969, 119,
+ 119, 119, 119, 119, 970, 970, 970, 970, 970, 971, 971, 971, 971, 971,
+ 972, 972, 972, 972, 972, 972, 973, 973, 973, 974, 975, 976, 977, 977,
+ 977, 977, 978, 979, 979, 979, 979, 980, 981, 981, 981, 981, 981, 119,
+ 982, 982, 982, 982, 982, 982, 983, 984, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 985, 985,
+ 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985,
+ 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985,
+ 985, 985, 985, 985, 985, 985, 985, 985, 986, 119, 985, 985, 987, 119,
+ 985, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 988, 989, 990, 990, 990, 990, 991, 992,
+ 993, 993, 994, 995, 996, 996, 997, 998, 999, 999, 999, 1000, 1001, 1002,
+ 119, 119, 119, 119, 119, 119, 1003, 1003, 1004, 1005, 1006, 1006, 1007,
+ 1008, 1009, 1009, 1009, 1010, 119, 119, 119, 119, 119, 119, 119, 119,
+ 1011, 1011, 1011, 1011, 1012, 1012, 1012, 1013, 1014, 1014, 1015, 1014,
+ 1014, 1014, 1014, 1014, 1016, 1017, 1018, 1019, 1020, 1020, 1021, 1022,
+ 1023, 1024, 1025, 1026, 1027, 1027, 1027, 1028, 1029, 1029, 1029, 1030,
+ 119, 119, 119, 119, 1031, 1032, 1031, 1031, 1033, 1034, 1035, 119, 1036,
+ 1036, 1036, 1036, 1036, 1036, 1037, 1038, 1039, 1039, 1040, 1041, 1042,
+ 1042, 1043, 1044, 1045, 1045, 1046, 1047, 119, 1048, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 1049, 1049, 1049, 1049, 1049, 1049, 1049,
+ 1049, 1049, 1050, 119, 119, 119, 119, 119, 119, 1051, 1051, 1051, 1051,
+ 1051, 1051, 1052, 119, 1053, 1053, 1053, 1053, 1053, 1053, 1054, 1055,
+ 1056, 1056, 1056, 1056, 1057, 119, 1058, 1059, 119, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 1062, 1062, 1062, 1063, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 1064,
- 1064, 1064, 1065, 1066, 119, 1067, 1067, 1068, 1069, 1070, 1071, 119,
+ 119, 119, 119, 1060, 1060, 1060, 1061, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 1062, 1062, 1062, 1063,
+ 1064, 119, 1065, 1065, 1066, 1067, 1068, 1069, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 1070, 1070, 1071,
+ 119, 1072, 1073, 1073, 1073, 1073, 1073, 1073, 1074, 1075, 1076, 1077,
+ 1078, 1079, 1080, 119, 1081, 1082, 1083, 1083, 1083, 1083, 1083, 1084,
+ 1085, 1086, 1087, 1088, 1088, 1088, 1089, 1090, 1091, 1092, 1093, 1093,
+ 1093, 1094, 1095, 1096, 1097, 1098, 119, 1099, 1099, 1099, 1099, 1100,
+ 119, 1101, 1102, 1102, 1102, 1102, 1102, 1103, 1104, 1105, 1106, 1107,
+ 1108, 1109, 1110, 1111, 119, 1112, 1112, 1113, 1112, 1112, 1114, 1115,
+ 1116, 119, 119, 119, 119, 119, 119, 119, 119, 1117, 1118, 1119, 1120,
+ 1119, 1121, 1122, 1122, 1122, 1122, 1122, 1123, 1124, 1125, 1126, 1127,
+ 1128, 1129, 1130, 1131, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138,
+ 1139, 1140, 1140, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 1141, 1141, 1141, 1141, 1141, 1141, 1142,
+ 1143, 1144, 1145, 1146, 1147, 119, 119, 119, 119, 1148, 1148, 1148, 1148,
+ 1148, 1148, 1149, 1150, 1151, 119, 1152, 1153, 119, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 1072, 1073, 1073, 1073, 1073, 1073, 1073, 1074,
- 1075, 1076, 1077, 1078, 1079, 1080, 119, 1081, 1082, 1083, 1083, 1083,
- 1083, 1083, 1084, 1085, 1086, 1087, 1088, 1088, 1088, 1089, 1090, 1091,
- 1092, 1093, 1093, 1093, 1094, 1095, 1096, 1097, 1098, 119, 1099, 1099,
- 1099, 1099, 1100, 119, 1101, 1102, 1102, 1102, 1102, 1102, 1103, 1104,
- 1105, 1106, 1107, 1108, 1109, 1110, 1111, 119, 1112, 1112, 1113, 1112,
- 1112, 1114, 1115, 1116, 119, 119, 119, 119, 119, 119, 119, 119, 1117,
- 1118, 1119, 1120, 1119, 1121, 1122, 1122, 1122, 1122, 1122, 1123, 1124,
- 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1131, 1132, 1133, 1134, 1135,
- 1136, 1137, 1138, 1139, 1140, 1140, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 1141, 1141, 1141, 1141,
- 1141, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 119, 119, 119, 119, 1148,
- 1148, 1148, 1148, 1148, 1148, 1149, 1150, 1151, 119, 1152, 1153, 119,
+ 119, 1154, 1154, 1154, 1154, 1154, 1155, 1156, 1157, 1158, 1159, 1160,
+ 1161, 119, 119, 119, 119, 1162, 1162, 1162, 1162, 1162, 1162, 1163, 1164,
+ 1165, 119, 1166, 1167, 1168, 1169, 119, 119, 1170, 1170, 1170, 1170,
+ 1170, 1171, 1172, 1173, 1174, 1175, 119, 119, 119, 119, 119, 119, 1176,
+ 1176, 1176, 1177, 1178, 1179, 1180, 1181, 119, 119, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 1154, 1154, 1154, 1154, 1154, 1155, 1156, 1157,
- 1158, 1159, 1160, 1161, 119, 119, 119, 119, 1162, 1162, 1162, 1162, 1162,
- 1162, 1163, 1164, 1165, 119, 1166, 1167, 1168, 1169, 119, 119, 1170,
- 1170, 1170, 1170, 1170, 1171, 1172, 119, 1173, 1174, 119, 119, 119, 119,
- 119, 119, 1175, 1175, 1175, 1176, 1177, 1178, 1179, 1180, 119, 119, 119,
+ 119, 119, 119, 119, 1182, 1182, 1182, 1182, 1182, 1183, 1184, 1185, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 1186, 1186, 1186,
+ 1186, 1187, 1187, 1187, 1187, 1188, 1189, 1190, 1191, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 1181, 1181, 1181, 1181, 1181, 1182,
- 1183, 1184, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 1185, 1185, 1185, 1185, 1186, 1186, 1186, 1186, 1187, 1188, 1189, 1190,
+ 119, 119, 1192, 1193, 1192, 1192, 1192, 1192, 1194, 1195, 1196, 119, 119,
+ 119, 1197, 1198, 1199, 1199, 1199, 1199, 1200, 1201, 1202, 119, 1203,
+ 1204, 1205, 1205, 1205, 1205, 1205, 1206, 1207, 1208, 1209, 119, 119,
+ 119, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1211, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 1191, 1192, 1193, 1193, 1193, 1193, 1194, 1195, 1196,
- 119, 1197, 1198, 1199, 1199, 1199, 1199, 1200, 1201, 1202, 1203, 1204,
- 119, 119, 119, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1206, 1207,
- 1208, 1207, 1207, 1207, 1209, 1210, 1211, 1212, 119, 1213, 1214, 1215,
- 1216, 1217, 1218, 1218, 1218, 1219, 1220, 1220, 1221, 1222, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 1223, 1224, 1225, 1225, 1225, 1225,
- 1226, 1227, 1228, 119, 1229, 1230, 1231, 1232, 1233, 1233, 1233, 1234,
- 1235, 1236, 1237, 1238, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 1212, 1213, 1212, 1212, 1212, 1214, 1215, 1216, 1217, 119, 1218, 1219,
+ 1220, 1221, 1222, 1223, 1223, 1223, 1224, 1225, 1225, 1226, 1227, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 1228, 1229, 1230, 1230, 1230,
+ 1230, 1231, 1232, 1233, 119, 1234, 1235, 1236, 1237, 1238, 1238, 1238,
+ 1239, 1240, 1241, 1242, 1243, 119, 119, 119, 119, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 1239, 1239, 1240, 1241, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
- 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
- 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
- 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
- 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1243, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 1244, 1244, 1244, 1244, 1244, 1244,
- 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1245, 1246, 119, 1242, 1242,
- 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
- 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1247, 119,
+ 119, 119, 1244, 1244, 1245, 1246, 119, 119, 119, 119, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 1248, 1248, 1248, 1248, 1248,
- 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
- 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
- 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
- 1248, 1248, 1249, 1248, 1248, 1248, 1248, 1250, 1251, 1248, 1248, 1248,
- 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
- 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
- 1248, 1248, 1252, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
- 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
- 1253, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 1254,
+ 119, 119, 1247, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1254,
1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
- 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1255, 1254, 1254, 1254,
- 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1256,
+ 1254, 1255, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256,
+ 1256, 1257, 1258, 119, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
+ 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
+ 1254, 1254, 1254, 1254, 1259, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
+ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
+ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
+ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1261, 1260, 1260, 1260,
+ 1260, 1262, 1263, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
+ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
+ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1264, 1260, 1260, 1260,
+ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
+ 1260, 1260, 1260, 1260, 1260, 1260, 1265, 1266, 1267, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 791, 791, 791, 791, 791,
- 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791,
- 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791,
- 791, 791, 791, 791, 791, 791, 1257, 1258, 1258, 1258, 1259, 1260, 1261,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 1262, 1262,
- 1262, 1263, 1264, 119, 1265, 1265, 1265, 1265, 1265, 1265, 1266, 1267,
- 1268, 119, 1269, 1270, 1271, 1265, 1265, 1272, 1265, 1265, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 1268, 1268, 1268, 1268, 1268, 1268, 1268,
+ 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268,
+ 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268,
+ 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268,
+ 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268,
+ 1268, 1268, 1269, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268,
+ 1268, 1268, 1268, 1268, 1268, 1270, 119, 119, 119, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 1273, 1273, 1273, 1273, 1274, 1274, 1274, 1274,
- 1275, 1275, 1276, 1277, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1279, 119,
- 1280, 1281, 1281, 1281, 1281, 1282, 119, 1283, 1284, 1285, 119, 119, 119,
- 119, 119, 119, 119, 119, 1286, 119, 119, 119, 1287, 1287, 1287, 1287,
- 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
- 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
- 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
- 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
- 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1288, 119,
- 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
- 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
- 1287, 1287, 1287, 1287, 1287, 1287, 1289, 119, 1290, 735, 735, 735, 735,
- 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735,
- 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735,
- 735, 735, 1291, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 1292,
- 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292,
- 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292,
- 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292,
- 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292,
- 1293, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294,
- 1294, 1294, 1295, 1294, 1296, 1294, 1297, 1294, 1298, 1299, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 610, 610, 610, 610, 610,
- 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610,
- 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 1300, 119, 610,
- 610, 610, 610, 1301, 1302, 610, 610, 610, 610, 610, 610, 1303, 1304,
- 1305, 1306, 1307, 1308, 610, 610, 610, 1309, 610, 610, 610, 610, 610,
- 610, 610, 1310, 119, 119, 946, 946, 946, 946, 946, 946, 946, 946, 1311,
+ 119, 119, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789,
+ 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789,
+ 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, 1271,
+ 1272, 1272, 1272, 1273, 1274, 1275, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 1276, 1276, 1276, 1277, 1278, 119, 1279, 1279,
+ 1279, 1279, 1279, 1279, 1280, 1281, 1282, 119, 1283, 1284, 1285, 1279,
+ 1279, 1286, 1279, 1279, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 1287, 1287,
+ 1287, 1287, 1288, 1288, 1288, 1288, 1289, 1289, 1290, 1291, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 1292, 1292, 1292, 1292,
+ 1292, 1292, 1292, 1292, 1292, 1293, 1294, 1295, 1295, 1295, 1295, 1295,
+ 1295, 1296, 1297, 1298, 119, 119, 119, 119, 119, 119, 119, 119, 1299,
+ 119, 119, 119, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
+ 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
+ 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
+ 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
+ 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
+ 1300, 1300, 1300, 1300, 1300, 1300, 119, 1300, 1300, 1300, 1300, 1300,
+ 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
+ 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
+ 1300, 1301, 119, 1302, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
+ 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
+ 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 1303, 119, 119, 119,
+ 119, 119, 119, 1304, 119, 1305, 119, 1306, 1306, 1306, 1306, 1306, 1306,
+ 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306,
+ 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306,
+ 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306,
+ 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1307, 1308, 1308, 1308, 1308,
+ 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1309, 1308, 1310,
+ 1308, 1311, 1308, 1312, 1313, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609,
+ 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609,
+ 609, 609, 609, 609, 609, 1314, 119, 609, 609, 609, 609, 1315, 1316, 609,
+ 609, 609, 609, 609, 609, 1317, 1318, 1319, 1320, 1321, 1322, 609, 609,
+ 609, 1323, 609, 609, 609, 609, 609, 609, 609, 1324, 119, 119, 944, 944,
+ 944, 944, 944, 944, 944, 944, 1325, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 939, 939,
+ 1326, 119, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 616, 119,
+ 939, 939, 939, 1327, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 1328, 1328, 1328, 1329, 1330, 1330, 1331,
+ 1328, 1328, 1332, 1333, 1330, 1330, 1328, 1328, 1328, 1329, 1330, 1330,
+ 1334, 1335, 1336, 1332, 1337, 1338, 1330, 1328, 1328, 1328, 1329, 1330,
+ 1330, 1339, 1340, 1341, 1342, 1330, 1330, 1330, 1343, 1344, 1345, 1346,
+ 1330, 1330, 1331, 1328, 1328, 1332, 1330, 1330, 1330, 1328, 1328, 1328,
+ 1329, 1330, 1330, 1331, 1328, 1328, 1332, 1330, 1330, 1330, 1328, 1328,
+ 1328, 1329, 1330, 1330, 1331, 1328, 1328, 1332, 1330, 1330, 1330, 1328,
+ 1328, 1328, 1329, 1330, 1330, 1347, 1328, 1328, 1328, 1348, 1330, 1330,
+ 1349, 1350, 1328, 1328, 1351, 1330, 1330, 1352, 1331, 1328, 1328, 1353,
+ 1330, 1330, 1354, 1355, 1328, 1328, 1356, 1330, 1330, 1330, 1357, 1328,
+ 1328, 1328, 1348, 1330, 1330, 1349, 1358, 1359, 1359, 1359, 1359, 1359,
+ 1359, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
+ 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
+ 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1361, 1361, 1361,
+ 1361, 1361, 1361, 1362, 1363, 1361, 1361, 1361, 1361, 1361, 1364, 1365,
+ 1360, 1366, 1367, 119, 1368, 1369, 1361, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 1370, 1371, 1371, 1372, 1373, 1374, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 941, 941, 1312, 119, 581, 581, 581, 581, 581,
- 581, 581, 581, 581, 581, 617, 119, 941, 941, 941, 1313, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 1314,
- 1314, 1314, 1315, 1316, 1316, 1317, 1314, 1314, 1318, 1319, 1316, 1316,
- 1314, 1314, 1314, 1315, 1316, 1316, 1320, 1321, 1322, 1318, 1323, 1324,
- 1316, 1314, 1314, 1314, 1315, 1316, 1316, 1325, 1326, 1327, 1328, 1316,
- 1316, 1316, 1329, 1330, 1331, 1332, 1316, 1316, 1317, 1314, 1314, 1318,
- 1316, 1316, 1316, 1314, 1314, 1314, 1315, 1316, 1316, 1317, 1314, 1314,
- 1318, 1316, 1316, 1316, 1314, 1314, 1314, 1315, 1316, 1316, 1317, 1314,
- 1314, 1318, 1316, 1316, 1316, 1314, 1314, 1314, 1315, 1316, 1316, 1333,
- 1314, 1314, 1314, 1334, 1316, 1316, 1335, 1336, 1314, 1314, 1337, 1316,
- 1316, 1338, 1317, 1314, 1314, 1339, 1316, 1316, 1340, 1341, 1314, 1314,
- 1342, 1316, 1316, 1316, 1343, 1314, 1314, 1314, 1334, 1316, 1316, 1335,
- 1344, 1345, 1345, 1345, 1345, 1345, 1345, 1346, 1346, 1346, 1346, 1346,
- 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346,
- 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346,
- 1346, 1346, 1346, 1347, 1347, 1347, 1347, 1347, 1347, 1348, 1349, 1347,
- 1347, 1347, 1347, 1347, 1350, 1351, 1346, 1352, 1353, 119, 1354, 1355,
- 1347, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 1356, 1357, 1357,
- 1358, 1359, 1360, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 1375, 1375, 1375, 1375,
+ 1375, 1376, 1377, 1378, 1379, 1380, 119, 119, 119, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361,
- 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361,
- 1361, 1362, 1363, 1364, 119, 119, 119, 119, 119, 1365, 1365, 1365, 1365,
- 1366, 1367, 1367, 1367, 1368, 1369, 1370, 1371, 119, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 1381, 1381, 1381,
+ 1381, 1381, 1382, 1383, 1384, 1385, 1385, 1385, 1385, 1385, 1385, 1385,
+ 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385,
+ 1385, 1385, 1385, 1385, 1385, 1386, 1387, 1388, 119, 119, 119, 119, 119,
+ 1389, 1389, 1389, 1389, 1390, 1391, 1391, 1391, 1392, 1393, 1394, 1395,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 1372, 1373, 1373, 1373, 1373, 1373, 1373, 1374, 1375, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 1376, 127, 127, 127, 1377, 1378, 1379,
- 1380, 1381, 1382, 1377, 1383, 1377, 1379, 1379, 1384, 127, 1385, 127,
- 1386, 1387, 1385, 127, 1386, 119, 119, 119, 119, 119, 119, 1388, 119,
- 1389, 1390, 1390, 1390, 1390, 1391, 1390, 1390, 1390, 1390, 1390, 1390,
- 1390, 1390, 1390, 1390, 1390, 1390, 1391, 1392, 1390, 1393, 1394, 1390,
- 1394, 1395, 1394, 1390, 1390, 1390, 1396, 1392, 620, 1397, 622, 622, 622,
- 1398, 622, 622, 622, 622, 622, 622, 622, 1399, 622, 622, 622, 1400, 1401,
- 1402, 622, 1403, 1392, 1392, 1392, 1392, 1392, 1392, 1404, 1405, 1405,
- 1405, 1406, 1392, 755, 755, 755, 755, 755, 1407, 755, 1408, 1409, 1392,
- 1410, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392,
- 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 723, 723, 723, 723, 1411,
- 1412, 1413, 723, 723, 723, 723, 723, 723, 723, 723, 1414, 1415, 723,
- 1416, 1417, 723, 723, 1418, 1419, 1420, 1421, 1416, 1390, 723, 723, 1422,
- 1423, 723, 723, 723, 723, 723, 723, 723, 1424, 1425, 1426, 1427, 723,
- 1428, 1429, 1426, 1430, 1431, 723, 723, 723, 1432, 1433, 1434, 723, 723,
- 723, 723, 723, 723, 723, 723, 1435, 1436, 723, 1437, 643, 1438, 723,
- 1439, 1440, 581, 1441, 723, 723, 723, 1390, 1442, 1443, 1390, 1390, 1444,
- 1390, 1389, 1390, 1390, 1390, 1390, 1390, 1445, 1446, 1390, 1390, 1445,
- 1447, 723, 723, 723, 723, 723, 723, 723, 723, 1448, 1449, 581, 581, 581,
- 581, 1450, 1451, 723, 723, 723, 723, 1452, 723, 1453, 723, 1454, 1455,
- 1456, 1392, 1390, 1457, 1458, 1459, 581, 581, 581, 581, 581, 581, 581,
- 581, 581, 581, 581, 581, 581, 581, 1460, 1392, 581, 581, 581, 581, 581,
- 581, 581, 581, 581, 581, 1461, 1462, 1392, 1392, 1392, 1392, 581, 1460,
- 581, 581, 581, 581, 581, 581, 581, 1392, 581, 1463, 581, 581, 581, 581,
- 581, 1392, 581, 581, 581, 1464, 1392, 1392, 1392, 1392, 1392, 1392, 1392,
- 1392, 1392, 1392, 581, 1460, 723, 1465, 1466, 723, 1426, 1467, 723, 723,
- 723, 723, 723, 723, 1468, 1469, 723, 723, 723, 723, 1470, 1392, 1471,
- 1472, 1470, 1392, 1473, 1474, 723, 723, 723, 723, 1392, 1392, 1392, 1392,
- 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1390, 1396, 1392, 1392,
- 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392,
- 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392,
- 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392,
- 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392,
- 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392,
- 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392,
- 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1475, 773, 773, 773, 773, 773,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 1396, 1397, 1397, 1397, 1397, 1397, 1397,
+ 1398, 1399, 119, 119, 119, 119, 119, 119, 119, 119, 119, 1396, 1397,
+ 1397, 1397, 1397, 1400, 1397, 1401, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 1402, 127, 127, 127, 1403, 1404, 1405, 1406, 1407, 1408,
+ 1403, 1409, 1403, 1405, 1405, 1410, 127, 1411, 127, 1412, 1413, 1411,
+ 127, 1412, 119, 119, 119, 119, 119, 119, 1414, 119, 1415, 1416, 1416,
+ 1416, 1416, 1417, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416,
+ 1416, 1416, 1416, 1417, 1418, 1416, 1419, 1420, 1416, 1420, 1421, 1420,
+ 1416, 1416, 1416, 1422, 1418, 619, 1423, 621, 621, 621, 1424, 621, 621,
+ 621, 621, 621, 621, 621, 1425, 621, 621, 621, 1426, 1427, 1428, 621,
+ 1429, 1418, 1418, 1418, 1418, 1418, 1418, 1430, 1431, 1431, 1431, 1432,
+ 1418, 753, 753, 753, 753, 753, 1433, 753, 1434, 1435, 1418, 1436, 1418,
+ 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+ 1418, 1418, 1418, 1418, 1418, 1418, 721, 721, 721, 721, 1437, 1438, 1439,
+ 721, 721, 721, 721, 721, 721, 721, 721, 1440, 1441, 721, 1442, 1443, 721,
+ 721, 1444, 1445, 1446, 1447, 1442, 1416, 721, 721, 1448, 1449, 721, 721,
+ 721, 721, 721, 721, 721, 1450, 1451, 1452, 1453, 721, 1454, 1452, 1452,
+ 1455, 1456, 1457, 1458, 721, 1459, 1460, 1461, 721, 721, 721, 721, 721,
+ 721, 721, 721, 1462, 1463, 721, 1464, 642, 1465, 721, 1466, 1467, 580,
+ 1468, 721, 721, 721, 1416, 1469, 1470, 1416, 1416, 1471, 1416, 1415,
+ 1416, 1416, 1416, 1416, 1416, 1472, 1473, 1416, 1416, 1472, 1474, 721,
+ 721, 721, 721, 721, 721, 721, 721, 1475, 1476, 580, 580, 580, 580, 1477,
+ 1478, 721, 721, 721, 721, 1479, 721, 1480, 721, 1481, 1482, 1483, 1418,
+ 1416, 1484, 1485, 1486, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580,
+ 580, 580, 580, 580, 1487, 1418, 580, 580, 580, 580, 580, 580, 580, 580,
+ 580, 580, 1488, 1489, 721, 1490, 1418, 1418, 580, 1487, 580, 580, 580,
+ 580, 580, 580, 580, 1418, 580, 1491, 580, 580, 580, 580, 580, 1418, 580,
+ 580, 580, 1492, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+ 1418, 580, 1493, 721, 1452, 1494, 721, 1452, 1495, 721, 721, 721, 721,
+ 721, 721, 1496, 1497, 721, 721, 721, 721, 1498, 1499, 1500, 1501, 721,
+ 1502, 1503, 1504, 721, 721, 721, 721, 580, 580, 580, 580, 580, 580, 580,
+ 580, 580, 580, 1487, 1418, 1416, 1422, 1490, 1486, 1486, 1418, 1436,
+ 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+ 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+ 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+ 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+ 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+ 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+ 1418, 1418, 1418, 1418, 1505, 771, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 1506, 773, 773, 773, 773, 773, 771, 771, 771, 771,
+ 771, 771, 1507, 773, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 772, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 881, 773, 771, 771,
+ 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 771, 771, 771, 771, 1508, 773, 773, 773, 773, 773,
773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 1476, 775, 775, 775, 775, 775, 773,
- 773, 773, 773, 773, 773, 1477, 775, 773, 773, 773, 773, 773, 773, 773,
773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 774, 773, 773, 773, 773, 773, 773, 773,
+ 773, 773, 771, 771, 771, 772, 773, 773, 773, 773, 773, 773, 773, 773,
773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 883,
- 775, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 1478, 775, 775,
- 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
- 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
- 775, 775, 775, 775, 775, 773, 773, 773, 774, 775, 775, 775, 775, 775,
- 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
- 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
- 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
- 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 1479, 1480,
- 119, 119, 119, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481,
- 1481, 1481, 1481, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 898, 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 119, 119, 882, 882, 882, 882, 882,
- 882, 882, 882, 882, 882, 882, 882, 882, 882, 882, 882, 882, 882, 882,
- 882, 882, 882, 882, 882, 882, 882, 882, 882, 882, 882, 882, 1482,
+ 773, 773, 773, 773, 773, 773, 773, 773, 773, 1509, 1510, 119, 119, 119,
+ 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896, 896,
+ 896, 896, 896, 896, 119, 119, 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880,
+ 880, 880, 880, 880, 880, 880, 880, 880, 880, 1512,
};
static const unsigned short index2[] = {
@@ -2868,704 +2910,722 @@ static const unsigned short index2[] = {
139, 139, 139, 157, 139, 139, 157, 157, 139, 139, 139, 139, 139, 193,
193, 193, 194, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195,
195, 195, 195, 193, 194, 196, 195, 194, 194, 194, 193, 193, 193, 193,
- 193, 193, 193, 193, 194, 194, 194, 194, 197, 194, 194, 195, 96, 156, 198,
- 198, 193, 193, 193, 195, 195, 193, 193, 199, 199, 200, 200, 200, 200,
- 200, 200, 200, 200, 200, 200, 201, 202, 195, 195, 195, 195, 195, 195,
- 203, 204, 205, 205, 81, 203, 203, 203, 203, 203, 203, 203, 203, 81, 81,
- 203, 203, 81, 81, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
- 203, 203, 203, 81, 203, 203, 203, 203, 203, 203, 203, 81, 203, 81, 81,
- 81, 203, 203, 203, 203, 81, 81, 206, 203, 205, 205, 205, 204, 204, 204,
- 204, 81, 81, 205, 205, 81, 81, 205, 205, 207, 203, 81, 81, 81, 81, 81,
- 81, 81, 81, 205, 81, 81, 81, 81, 203, 203, 81, 203, 203, 203, 204, 204,
- 81, 81, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 203, 203, 209,
- 209, 210, 210, 210, 210, 210, 211, 212, 213, 203, 214, 215, 81, 81, 216,
- 216, 217, 81, 218, 218, 218, 218, 218, 218, 81, 81, 81, 81, 218, 218, 81,
- 81, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
- 81, 218, 218, 218, 218, 218, 218, 218, 81, 218, 218, 81, 218, 218, 81,
- 218, 218, 81, 81, 219, 81, 217, 217, 217, 216, 216, 81, 81, 81, 81, 216,
- 216, 81, 81, 216, 216, 220, 81, 81, 81, 216, 81, 81, 81, 81, 81, 81, 81,
- 218, 218, 218, 218, 81, 218, 81, 81, 81, 81, 81, 81, 81, 221, 221, 221,
- 221, 221, 221, 221, 221, 221, 221, 216, 216, 218, 218, 218, 216, 222, 81,
- 81, 223, 223, 224, 81, 225, 225, 225, 225, 225, 225, 225, 225, 225, 81,
- 225, 225, 225, 81, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
- 225, 225, 225, 81, 225, 225, 225, 225, 225, 225, 225, 81, 225, 225, 81,
- 225, 225, 225, 225, 225, 81, 81, 226, 225, 224, 224, 224, 223, 223, 223,
- 223, 223, 81, 223, 223, 224, 81, 224, 224, 227, 81, 81, 225, 81, 81, 81,
- 81, 81, 81, 81, 225, 225, 223, 223, 81, 81, 228, 228, 228, 228, 228, 228,
- 228, 228, 228, 228, 229, 230, 81, 81, 81, 81, 81, 81, 81, 225, 223, 223,
- 223, 223, 223, 223, 81, 231, 232, 232, 81, 233, 233, 233, 233, 233, 233,
- 233, 233, 81, 81, 233, 233, 81, 81, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 81, 233, 233, 233, 233, 233, 233, 233,
- 81, 233, 233, 81, 233, 233, 233, 233, 233, 81, 81, 234, 233, 232, 231,
- 232, 231, 231, 231, 231, 81, 81, 232, 232, 81, 81, 232, 232, 235, 81, 81,
- 81, 81, 81, 81, 81, 81, 231, 232, 81, 81, 81, 81, 233, 233, 81, 233, 233,
- 233, 231, 231, 81, 81, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
- 237, 233, 238, 238, 238, 238, 238, 238, 81, 81, 239, 240, 81, 240, 240,
- 240, 240, 240, 240, 81, 81, 81, 240, 240, 240, 81, 240, 240, 240, 240,
- 81, 81, 81, 240, 240, 81, 240, 81, 240, 240, 81, 81, 81, 240, 240, 81,
- 81, 81, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 81, 81, 81, 81,
- 241, 241, 239, 241, 241, 81, 81, 81, 241, 241, 241, 81, 241, 241, 241,
- 242, 81, 81, 240, 81, 81, 81, 81, 81, 81, 241, 81, 81, 81, 81, 81, 81,
- 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 244, 244, 244, 245,
- 245, 245, 245, 245, 245, 246, 245, 81, 81, 81, 81, 81, 247, 248, 248,
- 248, 247, 249, 249, 249, 249, 249, 249, 249, 249, 81, 249, 249, 249, 81,
- 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
- 249, 249, 81, 81, 81, 249, 247, 247, 247, 248, 248, 248, 248, 81, 247,
- 247, 247, 81, 247, 247, 247, 250, 81, 81, 81, 81, 81, 81, 81, 251, 252,
- 81, 249, 249, 249, 81, 81, 81, 81, 81, 249, 249, 247, 247, 81, 81, 253,
- 253, 253, 253, 253, 253, 253, 253, 253, 253, 254, 254, 254, 254, 254,
- 254, 254, 255, 256, 257, 258, 258, 259, 256, 256, 256, 256, 256, 256,
- 256, 256, 81, 256, 256, 256, 81, 256, 256, 256, 256, 256, 256, 256, 256,
- 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 81, 256, 256, 256, 256,
- 256, 81, 81, 260, 256, 258, 261, 258, 258, 258, 258, 258, 81, 261, 258,
- 258, 81, 258, 258, 257, 262, 81, 81, 81, 81, 81, 81, 81, 258, 258, 81,
- 81, 81, 81, 81, 81, 81, 256, 81, 256, 256, 257, 257, 81, 81, 263, 263,
- 263, 263, 263, 263, 263, 263, 263, 263, 81, 256, 256, 81, 81, 81, 81, 81,
- 264, 264, 265, 265, 81, 266, 266, 266, 266, 266, 266, 266, 266, 81, 266,
- 266, 266, 81, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
- 266, 266, 266, 266, 266, 267, 267, 266, 265, 265, 265, 264, 264, 264,
- 264, 81, 265, 265, 265, 81, 265, 265, 265, 267, 266, 268, 81, 81, 81, 81,
- 266, 266, 266, 265, 269, 269, 269, 269, 269, 269, 269, 266, 266, 266,
- 264, 264, 81, 81, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 269,
- 269, 269, 269, 269, 269, 269, 269, 269, 271, 266, 266, 266, 266, 266,
- 266, 81, 81, 272, 272, 81, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- 273, 273, 273, 273, 273, 273, 273, 273, 273, 81, 81, 81, 273, 273, 273,
- 273, 273, 273, 273, 273, 81, 273, 273, 273, 273, 273, 273, 273, 273, 273,
- 81, 273, 81, 81, 81, 81, 274, 81, 81, 81, 81, 272, 272, 272, 275, 275,
- 275, 81, 275, 81, 272, 272, 272, 272, 272, 272, 272, 272, 81, 81, 81, 81,
- 81, 81, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 81, 81, 272,
- 272, 277, 81, 81, 81, 81, 278, 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 279, 278, 278, 279, 279, 279, 279,
- 280, 280, 281, 81, 81, 81, 81, 282, 278, 278, 278, 278, 278, 278, 283,
- 279, 284, 284, 284, 284, 279, 279, 279, 285, 286, 286, 286, 286, 286,
- 286, 286, 286, 286, 286, 287, 287, 81, 81, 81, 81, 81, 288, 288, 81, 288,
- 81, 81, 288, 288, 81, 288, 81, 81, 288, 81, 81, 81, 81, 81, 81, 288, 288,
- 288, 288, 81, 288, 288, 288, 288, 288, 288, 288, 81, 288, 288, 288, 81,
- 288, 81, 288, 81, 81, 288, 288, 81, 288, 288, 288, 288, 289, 288, 288,
- 289, 289, 289, 289, 290, 290, 81, 289, 289, 288, 81, 81, 288, 288, 288,
- 288, 288, 81, 291, 81, 292, 292, 292, 292, 289, 289, 81, 81, 293, 293,
- 293, 293, 293, 293, 293, 293, 293, 293, 81, 81, 288, 288, 288, 288, 294,
- 295, 295, 295, 296, 297, 296, 296, 298, 296, 296, 299, 298, 300, 300,
- 300, 300, 300, 298, 301, 300, 301, 301, 301, 302, 302, 301, 301, 301,
- 301, 301, 301, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 304,
- 304, 304, 304, 304, 304, 304, 304, 304, 304, 305, 302, 301, 302, 301,
- 306, 307, 308, 307, 308, 309, 309, 294, 294, 294, 294, 294, 294, 294,
- 294, 81, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 81,
- 81, 81, 81, 310, 311, 312, 313, 312, 312, 312, 312, 312, 311, 311, 311,
- 311, 312, 314, 311, 312, 315, 315, 316, 299, 315, 315, 294, 294, 294,
- 294, 294, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 81, 312,
- 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 81, 305, 305, 301,
- 301, 301, 301, 301, 301, 302, 301, 301, 301, 301, 301, 301, 81, 301, 301,
- 296, 296, 299, 296, 297, 317, 317, 317, 317, 298, 298, 81, 81, 81, 81,
- 81, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 319, 319, 320,
- 320, 320, 320, 319, 320, 320, 320, 320, 320, 321, 319, 322, 322, 319,
- 319, 320, 320, 318, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
- 324, 324, 325, 325, 325, 325, 318, 318, 318, 318, 318, 318, 319, 319,
- 320, 320, 318, 318, 318, 318, 320, 320, 320, 318, 319, 319, 319, 318,
- 318, 319, 319, 319, 319, 319, 319, 319, 318, 318, 318, 320, 320, 320,
- 320, 318, 318, 318, 318, 318, 320, 319, 319, 320, 320, 319, 319, 319,
- 319, 319, 319, 326, 318, 319, 323, 323, 319, 319, 319, 320, 327, 327,
- 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 81,
- 328, 81, 81, 81, 81, 81, 328, 81, 81, 329, 329, 329, 329, 329, 329, 329,
- 329, 329, 329, 329, 330, 331, 329, 329, 329, 332, 332, 332, 332, 332,
- 332, 332, 332, 333, 333, 333, 333, 333, 333, 333, 333, 334, 334, 334,
- 334, 334, 334, 334, 334, 335, 335, 335, 335, 335, 335, 335, 335, 335, 81,
- 335, 335, 335, 335, 81, 81, 335, 335, 335, 335, 335, 335, 335, 81, 335,
- 335, 335, 81, 81, 336, 336, 336, 337, 338, 337, 337, 337, 337, 337, 337,
- 337, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
- 339, 339, 339, 339, 339, 339, 339, 81, 81, 81, 340, 340, 340, 340, 340,
- 340, 340, 340, 340, 340, 81, 81, 81, 81, 81, 81, 341, 341, 341, 341, 341,
- 341, 341, 341, 341, 341, 341, 341, 341, 341, 81, 81, 342, 342, 342, 342,
- 342, 342, 81, 81, 343, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
- 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 345, 345, 344, 346,
- 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347,
- 347, 347, 347, 347, 348, 349, 81, 81, 81, 350, 350, 350, 350, 350, 350,
- 350, 350, 350, 350, 350, 199, 199, 199, 351, 351, 351, 350, 350, 350,
- 350, 350, 350, 350, 350, 81, 81, 81, 81, 81, 81, 81, 352, 352, 352, 352,
- 352, 352, 352, 352, 352, 352, 352, 352, 352, 81, 352, 352, 352, 352, 353,
- 353, 354, 81, 81, 81, 355, 355, 355, 355, 355, 355, 355, 355, 355, 355,
- 356, 356, 357, 199, 199, 81, 358, 358, 358, 358, 358, 358, 358, 358, 358,
- 358, 359, 359, 81, 81, 81, 81, 360, 360, 360, 360, 360, 360, 360, 360,
- 360, 360, 360, 360, 360, 81, 360, 360, 360, 81, 361, 361, 81, 81, 81, 81,
- 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 363, 363,
- 364, 363, 363, 363, 363, 363, 363, 363, 364, 364, 364, 364, 364, 364,
- 364, 364, 363, 364, 364, 363, 363, 363, 363, 363, 363, 363, 363, 363,
- 365, 363, 366, 366, 367, 368, 366, 369, 366, 370, 362, 371, 81, 81, 372,
- 372, 372, 372, 372, 372, 372, 372, 372, 372, 81, 81, 81, 81, 81, 81, 373,
- 373, 373, 373, 373, 373, 373, 373, 373, 373, 81, 81, 81, 81, 81, 81, 374,
- 374, 375, 375, 376, 377, 378, 374, 379, 379, 374, 380, 380, 380, 381, 81,
- 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 81, 81, 81, 81, 81, 81,
- 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 384, 383, 383,
- 383, 383, 383, 81, 81, 81, 81, 81, 81, 81, 383, 383, 383, 383, 383, 380,
- 380, 383, 383, 385, 383, 81, 81, 81, 81, 81, 344, 344, 344, 344, 344,
- 344, 81, 81, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386,
- 386, 386, 386, 81, 387, 387, 387, 388, 388, 388, 388, 387, 387, 388, 388,
- 388, 81, 81, 81, 81, 388, 388, 387, 388, 388, 388, 388, 388, 388, 389,
- 390, 391, 81, 81, 81, 81, 392, 81, 81, 81, 393, 393, 394, 394, 394, 394,
- 394, 394, 394, 394, 394, 394, 395, 395, 395, 395, 395, 395, 395, 395,
- 395, 395, 395, 395, 395, 395, 81, 81, 395, 395, 395, 395, 395, 81, 81,
- 81, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 81, 81,
- 81, 81, 396, 396, 81, 81, 81, 81, 81, 81, 397, 397, 397, 397, 397, 397,
- 397, 397, 397, 397, 398, 81, 81, 81, 399, 399, 400, 400, 400, 400, 400,
- 400, 400, 400, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, 401,
- 401, 401, 401, 401, 402, 403, 404, 404, 405, 81, 81, 406, 406, 407, 407,
- 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, 408, 409, 408,
- 409, 409, 409, 409, 409, 409, 409, 81, 410, 408, 409, 408, 408, 409, 409,
- 409, 409, 409, 409, 409, 409, 408, 408, 408, 408, 408, 408, 409, 409,
- 411, 411, 411, 411, 411, 411, 411, 411, 81, 81, 412, 413, 413, 413, 413,
- 413, 413, 413, 413, 413, 413, 81, 81, 81, 81, 81, 81, 414, 414, 414, 414,
- 414, 414, 414, 415, 414, 414, 414, 414, 414, 414, 81, 81, 96, 96, 96, 96,
- 96, 156, 156, 156, 156, 156, 156, 96, 96, 156, 416, 81, 417, 417, 417,
- 417, 418, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
- 419, 419, 419, 420, 418, 417, 417, 417, 417, 417, 418, 417, 418, 418,
- 418, 418, 418, 417, 418, 421, 419, 419, 419, 419, 419, 419, 419, 81, 81,
- 81, 81, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 423, 423, 424,
- 423, 423, 423, 423, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
- 426, 427, 426, 426, 426, 426, 426, 426, 426, 425, 425, 425, 425, 425,
- 425, 425, 425, 425, 81, 81, 81, 428, 428, 429, 430, 430, 430, 430, 430,
- 430, 430, 430, 430, 430, 430, 430, 430, 430, 429, 428, 428, 428, 428,
- 429, 429, 428, 428, 431, 432, 428, 428, 430, 430, 433, 433, 433, 433,
- 433, 433, 433, 433, 433, 433, 430, 430, 430, 430, 430, 430, 434, 434,
- 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 435, 436,
- 437, 437, 436, 436, 436, 437, 436, 437, 437, 437, 438, 438, 81, 81, 81,
- 81, 81, 81, 81, 81, 439, 439, 439, 439, 440, 440, 440, 440, 440, 440,
- 440, 440, 440, 440, 440, 440, 441, 441, 441, 441, 441, 441, 441, 441,
- 442, 442, 442, 442, 442, 442, 442, 442, 441, 441, 442, 443, 81, 81, 81,
- 444, 444, 444, 444, 444, 445, 445, 445, 445, 445, 445, 445, 445, 445,
- 445, 81, 81, 81, 440, 440, 440, 446, 446, 446, 446, 446, 446, 446, 446,
- 446, 446, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447,
- 447, 447, 448, 448, 448, 448, 448, 448, 449, 449, 93, 81, 81, 81, 81, 81,
- 81, 81, 328, 328, 328, 81, 81, 328, 328, 328, 450, 450, 450, 450, 450,
- 450, 450, 450, 96, 96, 96, 330, 451, 156, 156, 156, 156, 156, 96, 96,
- 156, 156, 156, 156, 96, 452, 451, 451, 451, 451, 451, 451, 451, 453, 453,
- 453, 453, 156, 453, 453, 453, 453, 452, 452, 96, 453, 453, 452, 96, 96,
- 81, 81, 81, 81, 81, 81, 56, 56, 56, 56, 56, 56, 79, 79, 79, 79, 79, 93,
- 59, 59, 59, 59, 59, 59, 59, 59, 59, 82, 82, 82, 82, 82, 59, 59, 59, 59,
- 82, 82, 82, 82, 82, 56, 56, 56, 56, 56, 454, 56, 56, 56, 56, 56, 56, 56,
- 56, 56, 56, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 82, 96, 96,
- 156, 96, 96, 96, 96, 96, 96, 96, 156, 96, 96, 455, 456, 156, 457, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 458, 459, 459, 156, 81, 96, 460, 156, 96, 156, 52, 56, 52, 56, 52,
- 56, 56, 56, 56, 56, 56, 56, 56, 56, 52, 56, 79, 79, 79, 79, 79, 79, 79,
- 79, 78, 78, 78, 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, 79, 81, 81, 78,
- 78, 78, 78, 78, 78, 81, 81, 81, 78, 81, 78, 81, 78, 81, 78, 461, 461,
- 461, 461, 461, 461, 461, 461, 79, 79, 79, 79, 79, 81, 79, 79, 78, 78, 78,
- 78, 461, 80, 79, 80, 80, 80, 79, 79, 79, 81, 79, 79, 78, 78, 78, 78, 461,
- 80, 80, 80, 79, 79, 79, 79, 81, 81, 79, 79, 78, 78, 78, 78, 81, 80, 80,
- 80, 78, 78, 78, 78, 78, 80, 80, 80, 81, 81, 79, 79, 79, 81, 79, 79, 78,
- 78, 78, 78, 461, 462, 80, 81, 463, 463, 463, 463, 463, 463, 463, 464,
- 463, 463, 463, 465, 466, 467, 468, 469, 470, 471, 472, 470, 473, 474, 38,
- 84, 475, 476, 477, 42, 475, 476, 477, 42, 38, 38, 478, 84, 479, 479, 479,
- 480, 481, 482, 483, 484, 485, 486, 487, 33, 488, 489, 488, 488, 489, 490,
- 491, 491, 84, 42, 50, 38, 492, 492, 478, 493, 493, 84, 84, 84, 494, 477,
- 495, 492, 492, 492, 84, 84, 84, 84, 84, 84, 84, 84, 496, 84, 493, 84,
- 377, 84, 377, 377, 377, 377, 84, 377, 377, 463, 497, 498, 498, 498, 498,
- 81, 499, 500, 501, 502, 503, 503, 503, 503, 503, 503, 504, 59, 81, 81,
- 47, 504, 504, 504, 504, 504, 505, 505, 496, 477, 495, 506, 504, 47, 47,
- 47, 47, 504, 504, 504, 504, 504, 505, 505, 496, 477, 495, 81, 59, 59, 59,
- 59, 59, 81, 81, 81, 282, 282, 282, 282, 282, 282, 282, 507, 282, 508,
- 282, 282, 36, 282, 282, 282, 282, 282, 282, 282, 282, 282, 507, 282, 282,
- 282, 282, 507, 282, 282, 507, 282, 509, 509, 509, 509, 509, 509, 509,
- 509, 96, 96, 451, 451, 96, 96, 96, 96, 451, 451, 451, 96, 96, 416, 416,
- 416, 416, 96, 416, 416, 416, 451, 451, 96, 156, 96, 451, 451, 156, 156,
- 156, 156, 96, 81, 81, 81, 81, 81, 81, 81, 40, 40, 510, 511, 40, 512, 40,
- 510, 40, 511, 49, 510, 510, 510, 49, 49, 510, 510, 510, 513, 40, 510,
- 514, 40, 496, 510, 510, 510, 510, 510, 40, 40, 40, 512, 512, 40, 510, 40,
- 85, 40, 510, 40, 52, 515, 510, 510, 516, 49, 510, 510, 52, 510, 49, 453,
- 453, 453, 453, 49, 40, 40, 49, 49, 510, 510, 496, 496, 496, 496, 496,
- 510, 49, 49, 49, 49, 40, 496, 40, 40, 56, 317, 517, 517, 517, 518, 51,
- 519, 517, 517, 517, 517, 517, 51, 518, 518, 51, 517, 520, 520, 520, 520,
- 520, 520, 520, 520, 520, 520, 520, 520, 521, 521, 521, 521, 520, 520,
- 521, 521, 521, 521, 521, 521, 521, 521, 521, 52, 56, 521, 521, 521, 521,
- 51, 40, 40, 81, 81, 81, 81, 54, 54, 54, 54, 54, 512, 512, 512, 512, 512,
- 496, 496, 40, 40, 40, 40, 496, 40, 40, 496, 40, 40, 496, 40, 40, 40, 40,
- 40, 40, 40, 496, 40, 40, 40, 40, 40, 40, 40, 40, 40, 44, 44, 40, 40, 40,
- 40, 40, 40, 40, 40, 40, 40, 40, 40, 496, 496, 40, 40, 54, 40, 54, 40, 40,
- 40, 40, 40, 40, 40, 40, 40, 40, 44, 40, 40, 40, 40, 496, 496, 496, 496,
- 496, 496, 496, 496, 496, 496, 496, 496, 54, 496, 54, 54, 496, 496, 496,
- 54, 54, 496, 496, 54, 496, 496, 496, 54, 496, 54, 522, 523, 496, 54, 496,
- 496, 496, 496, 54, 496, 496, 54, 54, 54, 54, 496, 496, 54, 496, 54, 496,
- 54, 54, 54, 54, 54, 54, 496, 54, 496, 496, 496, 496, 496, 54, 54, 54, 54,
- 496, 496, 496, 496, 54, 54, 496, 496, 54, 496, 496, 496, 54, 496, 496,
- 496, 496, 496, 54, 496, 496, 496, 496, 496, 54, 54, 496, 496, 54, 54, 54,
- 54, 496, 496, 54, 54, 496, 496, 54, 54, 496, 496, 496, 496, 496, 54, 496,
- 496, 496, 54, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496,
- 496, 54, 496, 496, 496, 496, 496, 496, 496, 524, 477, 495, 477, 495, 40,
- 40, 40, 40, 40, 40, 512, 40, 40, 40, 40, 40, 40, 40, 525, 525, 40, 40,
- 40, 40, 496, 496, 40, 40, 40, 40, 40, 40, 40, 526, 527, 40, 40, 40, 40,
- 40, 40, 40, 40, 40, 40, 40, 317, 317, 317, 317, 317, 317, 317, 317, 317,
- 317, 317, 317, 317, 40, 496, 40, 40, 40, 40, 40, 40, 40, 40, 317, 40, 40,
- 40, 40, 40, 496, 496, 496, 496, 496, 496, 496, 496, 496, 40, 40, 40, 40,
- 40, 528, 528, 528, 528, 40, 40, 40, 525, 529, 529, 525, 40, 40, 40, 40,
+ 193, 193, 193, 193, 194, 194, 194, 194, 197, 194, 194, 195, 96, 156, 96,
+ 96, 193, 193, 193, 195, 195, 193, 193, 198, 198, 199, 199, 199, 199, 199,
+ 199, 199, 199, 199, 199, 200, 201, 195, 195, 195, 195, 195, 195, 202,
+ 203, 204, 204, 81, 202, 202, 202, 202, 202, 202, 202, 202, 81, 81, 202,
+ 202, 81, 81, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
+ 202, 202, 81, 202, 202, 202, 202, 202, 202, 202, 81, 202, 81, 81, 81,
+ 202, 202, 202, 202, 81, 81, 205, 202, 204, 204, 204, 203, 203, 203, 203,
+ 81, 81, 204, 204, 81, 81, 204, 204, 206, 202, 81, 81, 81, 81, 81, 81, 81,
+ 81, 204, 81, 81, 81, 81, 202, 202, 81, 202, 202, 202, 203, 203, 81, 81,
+ 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 202, 202, 208, 208,
+ 209, 209, 209, 209, 209, 210, 211, 212, 202, 213, 214, 81, 81, 215, 215,
+ 216, 81, 217, 217, 217, 217, 217, 217, 81, 81, 81, 81, 217, 217, 81, 81,
+ 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 81,
+ 217, 217, 217, 217, 217, 217, 217, 81, 217, 217, 81, 217, 217, 81, 217,
+ 217, 81, 81, 218, 81, 216, 216, 216, 215, 215, 81, 81, 81, 81, 215, 215,
+ 81, 81, 215, 215, 219, 81, 81, 81, 215, 81, 81, 81, 81, 81, 81, 81, 217,
+ 217, 217, 217, 81, 217, 81, 81, 81, 81, 81, 81, 81, 220, 220, 220, 220,
+ 220, 220, 220, 220, 220, 220, 215, 215, 217, 217, 217, 215, 221, 81, 81,
+ 222, 222, 223, 81, 224, 224, 224, 224, 224, 224, 224, 224, 224, 81, 224,
+ 224, 224, 81, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 81, 224, 224, 224, 224, 224, 224, 224, 81, 224, 224, 81, 224,
+ 224, 224, 224, 224, 81, 81, 225, 224, 223, 223, 223, 222, 222, 222, 222,
+ 222, 81, 222, 222, 223, 81, 223, 223, 226, 81, 81, 224, 81, 81, 81, 81,
+ 81, 81, 81, 224, 224, 222, 222, 81, 81, 227, 227, 227, 227, 227, 227,
+ 227, 227, 227, 227, 228, 229, 81, 81, 81, 81, 81, 81, 81, 224, 222, 222,
+ 222, 222, 222, 222, 81, 230, 231, 231, 81, 232, 232, 232, 232, 232, 232,
+ 232, 232, 81, 81, 232, 232, 81, 81, 232, 232, 232, 232, 232, 232, 232,
+ 232, 232, 232, 232, 232, 232, 232, 81, 232, 232, 232, 232, 232, 232, 232,
+ 81, 232, 232, 81, 232, 232, 232, 232, 232, 81, 81, 233, 232, 231, 230,
+ 231, 230, 230, 230, 230, 81, 81, 231, 231, 81, 81, 231, 231, 234, 81, 81,
+ 81, 81, 81, 81, 81, 81, 230, 231, 81, 81, 81, 81, 232, 232, 81, 232, 232,
+ 232, 230, 230, 81, 81, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
+ 236, 232, 237, 237, 237, 237, 237, 237, 81, 81, 238, 239, 81, 239, 239,
+ 239, 239, 239, 239, 81, 81, 81, 239, 239, 239, 81, 239, 239, 239, 239,
+ 81, 81, 81, 239, 239, 81, 239, 81, 239, 239, 81, 81, 81, 239, 239, 81,
+ 81, 81, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 81, 81, 81, 81,
+ 240, 240, 238, 240, 240, 81, 81, 81, 240, 240, 240, 81, 240, 240, 240,
+ 241, 81, 81, 239, 81, 81, 81, 81, 81, 81, 240, 81, 81, 81, 81, 81, 81,
+ 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 243, 243, 243, 244,
+ 244, 244, 244, 244, 244, 245, 244, 81, 81, 81, 81, 81, 246, 247, 247,
+ 247, 246, 248, 248, 248, 248, 248, 248, 248, 248, 81, 248, 248, 248, 81,
+ 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
+ 248, 248, 81, 81, 81, 248, 246, 246, 246, 247, 247, 247, 247, 81, 246,
+ 246, 246, 81, 246, 246, 246, 249, 81, 81, 81, 81, 81, 81, 81, 250, 251,
+ 81, 248, 248, 248, 81, 81, 81, 81, 81, 248, 248, 246, 246, 81, 81, 252,
+ 252, 252, 252, 252, 252, 252, 252, 252, 252, 81, 81, 81, 81, 81, 81, 81,
+ 253, 254, 254, 254, 254, 254, 254, 254, 255, 256, 257, 258, 258, 259,
+ 256, 256, 256, 256, 256, 256, 256, 256, 81, 256, 256, 256, 81, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 81, 256, 256, 256, 256, 256, 81, 81, 260, 256, 258, 261, 258,
+ 258, 258, 258, 258, 81, 261, 258, 258, 81, 258, 258, 257, 262, 81, 81,
+ 81, 81, 81, 81, 81, 258, 258, 81, 81, 81, 81, 81, 81, 81, 256, 81, 256,
+ 256, 257, 257, 81, 81, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263,
+ 81, 256, 256, 81, 81, 81, 81, 81, 264, 264, 265, 265, 81, 266, 266, 266,
+ 266, 266, 266, 266, 266, 81, 266, 266, 266, 81, 266, 266, 266, 266, 266,
+ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 267, 267,
+ 266, 265, 265, 265, 264, 264, 264, 264, 81, 265, 265, 265, 81, 265, 265,
+ 265, 267, 266, 268, 81, 81, 81, 81, 266, 266, 266, 265, 269, 269, 269,
+ 269, 269, 269, 269, 266, 266, 266, 264, 264, 81, 81, 270, 270, 270, 270,
+ 270, 270, 270, 270, 270, 270, 269, 269, 269, 269, 269, 269, 269, 269,
+ 269, 271, 266, 266, 266, 266, 266, 266, 81, 81, 272, 272, 81, 273, 273,
+ 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
+ 273, 273, 81, 81, 81, 273, 273, 273, 273, 273, 273, 273, 273, 81, 273,
+ 273, 273, 273, 273, 273, 273, 273, 273, 81, 273, 81, 81, 81, 81, 274, 81,
+ 81, 81, 81, 272, 272, 272, 275, 275, 275, 81, 275, 81, 272, 272, 272,
+ 272, 272, 272, 272, 272, 81, 81, 81, 81, 81, 81, 276, 276, 276, 276, 276,
+ 276, 276, 276, 276, 276, 81, 81, 272, 272, 277, 81, 81, 81, 81, 278, 278,
+ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
+ 279, 278, 278, 279, 279, 279, 279, 280, 280, 281, 81, 81, 81, 81, 282,
+ 278, 278, 278, 278, 278, 278, 283, 279, 284, 284, 284, 284, 279, 279,
+ 279, 285, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 287, 287, 81,
+ 81, 81, 81, 81, 288, 288, 81, 288, 81, 288, 288, 288, 288, 288, 81, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 81, 288, 81, 288, 288, 289, 288, 288, 289, 289, 289, 289, 290, 290,
+ 291, 289, 289, 288, 81, 81, 288, 288, 288, 288, 288, 81, 292, 81, 293,
+ 293, 293, 293, 289, 289, 81, 81, 294, 294, 294, 294, 294, 294, 294, 294,
+ 294, 294, 81, 81, 288, 288, 288, 288, 295, 296, 296, 296, 297, 298, 297,
+ 297, 299, 297, 297, 300, 299, 301, 301, 301, 301, 301, 299, 302, 301,
+ 302, 302, 302, 303, 303, 302, 302, 302, 302, 302, 302, 304, 304, 304,
+ 304, 304, 304, 304, 304, 304, 304, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 306, 303, 302, 303, 302, 307, 308, 309, 308, 309, 310,
+ 310, 295, 295, 295, 295, 295, 295, 295, 295, 81, 295, 295, 295, 295, 295,
+ 295, 295, 295, 295, 295, 295, 295, 81, 81, 81, 81, 311, 312, 313, 314,
+ 313, 313, 313, 313, 313, 312, 312, 312, 312, 313, 315, 312, 313, 316,
+ 316, 317, 300, 316, 316, 295, 295, 295, 295, 295, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 81, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 81, 306, 306, 302, 302, 302, 302, 302, 302, 303,
+ 302, 302, 302, 302, 302, 302, 81, 302, 302, 297, 297, 300, 297, 298, 318,
+ 318, 318, 318, 299, 299, 81, 81, 81, 81, 81, 319, 319, 319, 319, 319,
+ 319, 319, 319, 319, 319, 319, 320, 320, 321, 321, 321, 321, 320, 321,
+ 321, 321, 321, 321, 322, 320, 323, 323, 320, 320, 321, 321, 319, 324,
+ 324, 324, 324, 324, 324, 324, 324, 324, 324, 325, 325, 326, 326, 326,
+ 326, 319, 319, 319, 319, 319, 319, 320, 320, 321, 321, 319, 319, 319,
+ 319, 321, 321, 321, 319, 320, 320, 320, 319, 319, 320, 320, 320, 320,
+ 320, 320, 320, 319, 319, 319, 321, 321, 321, 321, 319, 319, 319, 319,
+ 319, 321, 320, 320, 321, 321, 320, 320, 320, 320, 320, 320, 327, 319,
+ 320, 324, 324, 320, 320, 320, 321, 328, 328, 329, 329, 329, 329, 329,
+ 329, 329, 329, 329, 329, 329, 329, 329, 329, 81, 329, 81, 81, 81, 81, 81,
+ 329, 81, 81, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 331,
+ 332, 330, 330, 330, 333, 333, 333, 333, 333, 333, 333, 333, 334, 334,
+ 334, 334, 334, 334, 334, 334, 335, 335, 335, 335, 335, 335, 335, 335,
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 81, 336, 336, 336, 336, 81,
+ 81, 336, 336, 336, 336, 336, 336, 336, 81, 336, 336, 336, 81, 81, 337,
+ 337, 337, 338, 339, 338, 338, 338, 338, 338, 338, 338, 340, 340, 340,
+ 340, 340, 340, 340, 340, 340, 340, 340, 340, 340, 340, 340, 340, 340,
+ 340, 340, 340, 81, 81, 81, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 81, 81, 81, 81, 81, 81, 342, 342, 342, 342, 342, 342, 342, 342, 342,
+ 342, 342, 342, 342, 342, 81, 81, 343, 343, 343, 343, 343, 343, 81, 81,
+ 344, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345,
+ 345, 345, 345, 345, 345, 345, 345, 346, 347, 345, 348, 349, 349, 349,
+ 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349,
+ 349, 350, 351, 81, 81, 81, 352, 352, 352, 352, 352, 352, 352, 352, 352,
+ 352, 352, 198, 198, 198, 353, 353, 353, 352, 352, 352, 352, 352, 352,
+ 352, 352, 81, 81, 81, 81, 81, 81, 81, 354, 354, 354, 354, 354, 354, 354,
+ 354, 354, 354, 354, 354, 354, 81, 354, 354, 354, 354, 355, 355, 356, 81,
+ 81, 81, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 358, 358, 359,
+ 198, 198, 81, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 361, 361,
+ 81, 81, 81, 81, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362,
+ 362, 362, 81, 362, 362, 362, 81, 363, 363, 81, 81, 81, 81, 364, 364, 364,
+ 364, 364, 364, 364, 364, 364, 364, 364, 364, 365, 365, 366, 365, 365,
+ 365, 365, 365, 365, 365, 366, 366, 366, 366, 366, 366, 366, 366, 365,
+ 366, 366, 365, 365, 365, 365, 365, 365, 365, 365, 365, 367, 365, 368,
+ 368, 369, 370, 368, 371, 368, 372, 364, 373, 81, 81, 374, 374, 374, 374,
+ 374, 374, 374, 374, 374, 374, 81, 81, 81, 81, 81, 81, 375, 375, 375, 375,
+ 375, 375, 375, 375, 375, 375, 81, 81, 81, 81, 81, 81, 376, 376, 377, 377,
+ 378, 379, 380, 376, 381, 381, 376, 382, 382, 382, 383, 81, 384, 384, 384,
+ 384, 384, 384, 384, 384, 384, 384, 81, 81, 81, 81, 81, 81, 385, 385, 385,
+ 385, 385, 385, 385, 385, 385, 385, 385, 386, 385, 385, 385, 385, 385, 81,
+ 81, 81, 81, 81, 81, 81, 385, 385, 385, 385, 385, 382, 382, 385, 385, 387,
+ 385, 81, 81, 81, 81, 81, 345, 345, 345, 345, 345, 345, 81, 81, 388, 388,
+ 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 81, 389,
+ 389, 389, 390, 390, 390, 390, 389, 389, 390, 390, 390, 81, 81, 81, 81,
+ 390, 390, 389, 390, 390, 390, 390, 390, 390, 391, 392, 393, 81, 81, 81,
+ 81, 394, 81, 81, 81, 395, 395, 396, 396, 396, 396, 396, 396, 396, 396,
+ 396, 396, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
+ 397, 397, 81, 81, 397, 397, 397, 397, 397, 81, 81, 81, 398, 398, 398,
+ 398, 398, 398, 398, 398, 398, 398, 398, 398, 81, 81, 81, 81, 398, 398,
+ 81, 81, 81, 81, 81, 81, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
+ 400, 81, 81, 81, 401, 401, 402, 402, 402, 402, 402, 402, 402, 402, 403,
+ 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
+ 404, 405, 406, 406, 407, 81, 81, 408, 408, 409, 409, 409, 409, 409, 409,
+ 409, 409, 409, 409, 409, 409, 409, 410, 411, 410, 411, 411, 411, 411,
+ 411, 411, 411, 81, 412, 410, 411, 410, 410, 411, 411, 411, 411, 411, 411,
+ 411, 411, 410, 410, 410, 410, 410, 410, 411, 411, 413, 413, 413, 413,
+ 413, 413, 413, 413, 81, 81, 414, 415, 415, 415, 415, 415, 415, 415, 415,
+ 415, 415, 81, 81, 81, 81, 81, 81, 416, 416, 416, 416, 416, 416, 416, 417,
+ 416, 416, 416, 416, 416, 416, 81, 81, 96, 96, 96, 96, 96, 156, 156, 156,
+ 156, 156, 156, 96, 96, 156, 418, 81, 419, 419, 419, 419, 420, 421, 421,
+ 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 422,
+ 420, 419, 419, 419, 419, 419, 420, 419, 420, 420, 420, 420, 420, 419,
+ 420, 423, 421, 421, 421, 421, 421, 421, 421, 81, 81, 81, 81, 424, 424,
+ 424, 424, 424, 424, 424, 424, 424, 424, 425, 425, 426, 425, 425, 425,
+ 425, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 428, 429, 428,
+ 428, 428, 428, 428, 428, 428, 427, 427, 427, 427, 427, 427, 427, 427,
+ 427, 81, 81, 81, 430, 430, 431, 432, 432, 432, 432, 432, 432, 432, 432,
+ 432, 432, 432, 432, 432, 432, 431, 430, 430, 430, 430, 431, 431, 430,
+ 430, 433, 434, 430, 430, 432, 432, 435, 435, 435, 435, 435, 435, 435,
+ 435, 435, 435, 432, 432, 432, 432, 432, 432, 436, 436, 436, 436, 436,
+ 436, 436, 436, 436, 436, 436, 436, 436, 436, 437, 438, 439, 439, 438,
+ 438, 438, 439, 438, 439, 439, 439, 440, 440, 81, 81, 81, 81, 81, 81, 81,
+ 81, 441, 441, 441, 441, 442, 442, 442, 442, 442, 442, 442, 442, 442, 442,
+ 442, 442, 443, 443, 443, 443, 443, 443, 443, 443, 444, 444, 444, 444,
+ 444, 444, 444, 444, 443, 443, 444, 445, 81, 81, 81, 446, 446, 446, 446,
+ 446, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 81, 81, 81, 442,
+ 442, 442, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 449, 449,
+ 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 450, 450,
+ 450, 450, 450, 450, 451, 451, 93, 81, 81, 81, 81, 81, 81, 81, 329, 329,
+ 329, 81, 81, 329, 329, 329, 452, 452, 452, 452, 452, 452, 452, 452, 96,
+ 96, 96, 331, 453, 156, 156, 156, 156, 156, 96, 96, 156, 156, 156, 156,
+ 96, 454, 453, 453, 453, 453, 453, 453, 453, 455, 455, 455, 455, 156, 455,
+ 455, 455, 455, 455, 455, 96, 455, 455, 454, 96, 96, 455, 81, 81, 81, 81,
+ 81, 56, 56, 56, 56, 56, 56, 79, 79, 79, 79, 79, 93, 59, 59, 59, 59, 59,
+ 59, 59, 59, 59, 82, 82, 82, 82, 82, 59, 59, 59, 59, 82, 82, 82, 82, 82,
+ 56, 56, 56, 56, 56, 456, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 59, 59,
+ 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 82, 96, 96, 156, 96, 96, 96, 96,
+ 96, 96, 96, 156, 96, 96, 457, 458, 156, 459, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 460, 461, 461,
+ 156, 81, 96, 462, 156, 96, 156, 52, 56, 52, 56, 52, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 52, 56, 79, 79, 79, 79, 79, 79, 79, 79, 78, 78, 78, 78,
+ 78, 78, 78, 78, 79, 79, 79, 79, 79, 79, 81, 81, 78, 78, 78, 78, 78, 78,
+ 81, 81, 81, 78, 81, 78, 81, 78, 81, 78, 463, 463, 463, 463, 463, 463,
+ 463, 463, 79, 79, 79, 79, 79, 81, 79, 79, 78, 78, 78, 78, 463, 80, 79,
+ 80, 80, 80, 79, 79, 79, 81, 79, 79, 78, 78, 78, 78, 463, 80, 80, 80, 79,
+ 79, 79, 79, 81, 81, 79, 79, 78, 78, 78, 78, 81, 80, 80, 80, 78, 78, 78,
+ 78, 78, 80, 80, 80, 81, 81, 79, 79, 79, 81, 79, 79, 78, 78, 78, 78, 463,
+ 464, 80, 81, 465, 465, 465, 465, 465, 465, 465, 466, 465, 465, 465, 467,
+ 468, 469, 470, 471, 472, 473, 474, 472, 475, 476, 38, 84, 477, 478, 479,
+ 42, 477, 478, 479, 42, 38, 38, 480, 84, 481, 481, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 33, 490, 491, 490, 490, 491, 492, 493, 493, 84,
+ 42, 50, 38, 494, 494, 480, 495, 495, 84, 84, 84, 496, 479, 497, 494, 494,
+ 494, 84, 84, 84, 84, 84, 84, 84, 84, 498, 84, 495, 84, 379, 84, 379, 379,
+ 379, 379, 84, 379, 379, 465, 499, 500, 500, 500, 500, 81, 501, 502, 503,
+ 504, 505, 505, 505, 505, 505, 505, 506, 59, 81, 81, 47, 506, 506, 506,
+ 506, 506, 507, 507, 498, 479, 497, 508, 506, 47, 47, 47, 47, 506, 506,
+ 506, 506, 506, 507, 507, 498, 479, 497, 81, 59, 59, 59, 59, 59, 81, 81,
+ 81, 282, 282, 282, 282, 282, 282, 282, 509, 282, 510, 282, 282, 36, 282,
+ 282, 282, 282, 282, 282, 282, 282, 282, 509, 282, 282, 282, 282, 509,
+ 282, 282, 509, 282, 511, 511, 511, 511, 511, 511, 511, 511, 96, 96, 453,
+ 453, 96, 96, 96, 96, 453, 453, 453, 96, 96, 418, 418, 418, 418, 96, 418,
+ 418, 418, 453, 453, 96, 156, 96, 453, 453, 156, 156, 156, 156, 96, 81,
+ 81, 81, 81, 81, 81, 81, 40, 40, 512, 513, 40, 514, 40, 512, 40, 513, 49,
+ 512, 512, 512, 49, 49, 512, 512, 512, 515, 40, 512, 516, 40, 498, 512,
+ 512, 512, 512, 512, 40, 40, 40, 514, 514, 40, 512, 40, 85, 40, 512, 40,
+ 52, 517, 512, 512, 518, 49, 512, 512, 52, 512, 49, 455, 455, 455, 455,
+ 49, 40, 40, 49, 49, 512, 512, 498, 498, 498, 498, 498, 512, 49, 49, 49,
+ 49, 40, 498, 40, 40, 56, 318, 519, 519, 519, 520, 51, 521, 519, 519, 519,
+ 519, 519, 51, 520, 520, 51, 519, 522, 522, 522, 522, 522, 522, 522, 522,
+ 522, 522, 522, 522, 523, 523, 523, 523, 522, 522, 523, 523, 523, 523,
+ 523, 523, 523, 523, 523, 52, 56, 523, 523, 523, 523, 51, 40, 40, 81, 81,
+ 81, 81, 54, 54, 54, 54, 54, 514, 514, 514, 514, 514, 498, 498, 40, 40,
+ 40, 40, 498, 40, 40, 498, 40, 40, 498, 40, 40, 40, 40, 40, 40, 40, 498,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 44, 44, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 498, 498, 40, 40, 54, 40, 54, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 44, 40, 40, 40, 40, 498, 498, 498, 498, 498, 498, 498,
+ 498, 498, 498, 498, 498, 54, 498, 54, 54, 498, 498, 498, 54, 54, 498,
+ 498, 54, 498, 498, 498, 54, 498, 54, 524, 525, 498, 54, 498, 498, 498,
+ 498, 54, 498, 498, 54, 54, 54, 54, 498, 498, 54, 498, 54, 498, 54, 54,
+ 54, 54, 54, 54, 498, 54, 498, 498, 498, 498, 498, 54, 54, 54, 54, 498,
+ 498, 498, 498, 54, 54, 498, 498, 54, 498, 498, 498, 54, 498, 498, 498,
+ 498, 498, 54, 498, 498, 498, 498, 498, 54, 54, 498, 498, 54, 54, 54, 54,
+ 498, 498, 54, 54, 498, 498, 54, 54, 498, 498, 498, 498, 498, 54, 498,
+ 498, 498, 54, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498,
+ 498, 54, 498, 498, 498, 498, 498, 498, 498, 526, 479, 497, 479, 497, 40,
+ 40, 40, 40, 40, 40, 514, 40, 40, 40, 40, 40, 40, 40, 527, 527, 40, 40,
+ 40, 40, 498, 498, 40, 40, 40, 40, 40, 40, 40, 528, 529, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 318, 318, 318, 318, 318, 318, 318, 318, 318,
+ 318, 318, 318, 318, 40, 498, 40, 40, 40, 40, 40, 40, 40, 40, 318, 40, 40,
+ 40, 40, 40, 498, 498, 498, 498, 498, 498, 498, 498, 498, 40, 40, 40, 40,
+ 40, 530, 530, 530, 530, 40, 40, 40, 527, 531, 531, 527, 40, 40, 40, 40,
40, 40, 40, 40, 40, 40, 40, 81, 40, 40, 40, 81, 81, 81, 81, 81, 51, 51,
51, 51, 51, 51, 51, 51, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530,
- 519, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 518, 512, 512, 512,
- 512, 512, 512, 512, 512, 512, 512, 512, 512, 40, 40, 40, 40, 512, 512,
- 512, 512, 531, 40, 40, 40, 40, 40, 512, 512, 512, 512, 40, 40, 512, 512,
- 40, 512, 512, 512, 512, 512, 512, 512, 40, 40, 40, 40, 40, 40, 40, 40,
- 512, 512, 40, 40, 512, 54, 40, 40, 40, 40, 512, 512, 40, 40, 512, 54, 40,
- 40, 40, 40, 512, 512, 512, 40, 40, 512, 40, 40, 512, 512, 40, 40, 40, 40,
- 40, 40, 40, 512, 496, 496, 496, 496, 496, 532, 532, 496, 529, 529, 529,
- 529, 40, 512, 512, 40, 40, 512, 40, 40, 40, 40, 512, 512, 40, 40, 40, 40,
- 525, 525, 531, 531, 529, 40, 529, 529, 533, 534, 533, 529, 40, 529, 529,
- 529, 40, 40, 40, 40, 512, 40, 512, 40, 40, 40, 40, 40, 528, 528, 528,
- 528, 528, 528, 528, 528, 528, 528, 528, 528, 40, 40, 40, 40, 512, 512,
- 40, 512, 512, 512, 40, 512, 533, 512, 512, 40, 512, 512, 40, 54, 40, 40,
- 40, 40, 40, 40, 40, 525, 40, 40, 40, 528, 40, 40, 40, 40, 40, 40, 40, 40,
- 40, 40, 512, 512, 40, 528, 40, 40, 40, 40, 40, 40, 40, 40, 528, 528, 317,
- 40, 40, 40, 40, 40, 40, 40, 40, 525, 525, 533, 529, 529, 529, 529, 525,
- 525, 533, 533, 533, 512, 512, 512, 512, 533, 528, 533, 533, 533, 512,
- 533, 525, 512, 512, 512, 533, 533, 512, 512, 533, 512, 512, 533, 533,
- 533, 40, 512, 40, 40, 40, 40, 512, 512, 525, 512, 512, 512, 512, 512,
- 512, 533, 525, 525, 533, 525, 512, 533, 533, 535, 525, 512, 512, 525,
- 533, 533, 529, 529, 529, 529, 529, 528, 40, 40, 529, 529, 536, 536, 534,
- 534, 40, 40, 528, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 44, 40,
- 40, 40, 40, 40, 40, 528, 40, 528, 40, 40, 40, 40, 528, 528, 528, 40, 537,
- 40, 40, 40, 538, 538, 538, 538, 538, 538, 40, 539, 539, 529, 40, 40, 40,
- 477, 495, 477, 495, 477, 495, 477, 495, 477, 495, 477, 495, 477, 495, 51,
- 51, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 40, 528,
- 528, 528, 40, 40, 40, 40, 40, 40, 40, 528, 496, 496, 496, 496, 496, 477,
- 495, 496, 496, 496, 496, 496, 496, 496, 16, 31, 16, 31, 16, 31, 16, 31,
- 477, 495, 540, 540, 540, 540, 540, 540, 540, 540, 496, 496, 496, 477,
- 495, 16, 31, 477, 495, 477, 495, 477, 495, 477, 495, 477, 495, 496, 496,
- 496, 496, 496, 496, 496, 477, 495, 477, 495, 496, 496, 496, 496, 496,
- 496, 496, 496, 477, 495, 496, 496, 40, 40, 40, 528, 528, 40, 40, 40, 496,
- 496, 496, 496, 496, 40, 40, 496, 496, 496, 496, 496, 496, 40, 40, 40,
- 528, 40, 40, 40, 40, 537, 512, 512, 40, 40, 40, 40, 81, 81, 40, 40, 40,
- 40, 40, 40, 40, 40, 81, 81, 40, 81, 40, 40, 40, 40, 40, 40, 541, 541,
- 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 81, 542,
- 542, 542, 542, 542, 542, 542, 542, 542, 542, 542, 542, 542, 542, 542, 81,
- 52, 56, 52, 52, 52, 56, 56, 52, 56, 52, 56, 52, 56, 52, 52, 52, 52, 56,
- 52, 56, 56, 52, 56, 56, 56, 56, 56, 56, 59, 59, 52, 52, 87, 88, 87, 88,
- 88, 543, 543, 543, 543, 543, 543, 87, 88, 87, 88, 544, 544, 544, 87, 88,
- 81, 81, 81, 81, 81, 545, 546, 546, 546, 547, 545, 546, 329, 329, 329,
- 329, 329, 329, 81, 329, 81, 81, 81, 81, 81, 329, 81, 81, 548, 548, 548,
- 548, 548, 548, 548, 548, 81, 81, 81, 81, 81, 81, 81, 549, 550, 81, 81,
- 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 551, 95, 95, 95, 95, 95,
- 95, 95, 95, 552, 552, 42, 50, 42, 50, 552, 552, 552, 42, 50, 552, 42, 50,
- 377, 377, 377, 377, 377, 377, 377, 377, 84, 472, 553, 377, 554, 84, 42,
- 50, 84, 84, 42, 50, 477, 495, 477, 495, 477, 495, 477, 495, 377, 377,
- 377, 377, 375, 60, 377, 377, 84, 377, 377, 84, 84, 84, 84, 84, 555, 555,
- 377, 377, 377, 84, 472, 377, 477, 377, 377, 377, 377, 377, 377, 377, 377,
- 84, 377, 84, 377, 81, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556,
- 81, 556, 556, 556, 556, 556, 556, 556, 556, 556, 81, 81, 81, 81, 556,
- 556, 556, 556, 556, 556, 81, 81, 525, 525, 525, 525, 525, 525, 525, 525,
- 525, 525, 525, 525, 81, 81, 81, 81, 557, 558, 558, 559, 525, 560, 561,
- 562, 526, 527, 526, 527, 526, 527, 526, 527, 526, 527, 525, 525, 526,
- 527, 526, 527, 526, 527, 526, 527, 563, 526, 527, 527, 525, 562, 562,
- 562, 562, 562, 562, 562, 562, 562, 564, 565, 566, 567, 568, 568, 569,
- 570, 570, 570, 570, 571, 525, 525, 562, 562, 562, 560, 572, 559, 525,
- 529, 81, 573, 574, 573, 574, 573, 574, 573, 574, 573, 574, 574, 574, 574,
- 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, 573,
- 574, 574, 574, 574, 574, 574, 574, 573, 574, 573, 574, 573, 574, 574,
- 574, 574, 574, 574, 573, 574, 574, 574, 574, 574, 574, 573, 573, 81, 81,
- 575, 575, 576, 576, 577, 577, 574, 563, 578, 579, 578, 579, 578, 579,
- 578, 579, 578, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 579,
- 579, 579, 579, 579, 579, 579, 578, 579, 579, 579, 579, 579, 579, 579,
- 578, 579, 578, 579, 578, 579, 579, 579, 579, 579, 579, 578, 579, 579,
- 579, 579, 579, 579, 578, 578, 579, 579, 579, 579, 580, 581, 582, 582,
- 579, 81, 81, 81, 81, 81, 583, 583, 583, 583, 583, 583, 583, 583, 583,
- 583, 583, 81, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584,
- 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 81, 585, 585, 586, 586,
- 586, 586, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 583, 583,
- 583, 81, 81, 81, 81, 81, 578, 578, 578, 578, 578, 578, 578, 578, 587,
- 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 588, 588, 81,
- 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 585, 585, 585, 585,
- 585, 585, 589, 589, 589, 589, 589, 589, 589, 589, 525, 590, 590, 590,
- 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 587, 587,
- 587, 587, 588, 588, 588, 585, 585, 590, 590, 590, 590, 590, 590, 590,
- 585, 585, 585, 585, 525, 525, 525, 525, 591, 591, 591, 591, 591, 591,
- 591, 591, 591, 591, 591, 591, 591, 591, 591, 81, 585, 585, 585, 585, 585,
- 585, 585, 525, 525, 525, 525, 585, 585, 585, 585, 585, 585, 585, 585,
- 585, 585, 585, 525, 525, 592, 592, 592, 592, 592, 592, 592, 592, 592,
- 592, 592, 592, 592, 592, 593, 593, 593, 593, 593, 593, 593, 593, 593,
- 593, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
- 595, 594, 594, 594, 594, 594, 594, 594, 81, 81, 81, 596, 596, 596, 596,
- 596, 596, 596, 596, 596, 596, 596, 596, 596, 596, 596, 81, 597, 597, 597,
- 597, 597, 597, 597, 597, 598, 598, 598, 598, 598, 598, 599, 599, 600,
- 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 601, 602, 603,
- 602, 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 600, 600, 81, 81,
- 81, 81, 90, 93, 90, 93, 90, 93, 605, 95, 97, 97, 97, 606, 95, 95, 95, 95,
- 95, 95, 95, 95, 95, 95, 606, 607, 90, 93, 90, 93, 454, 454, 95, 95, 608,
- 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, 609,
- 609, 609, 609, 609, 609, 609, 609, 609, 609, 610, 610, 611, 612, 612,
- 612, 612, 612, 62, 62, 62, 62, 62, 62, 62, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 62, 62, 52, 56, 52, 56, 52, 56, 56, 56, 52, 56, 52, 56, 52, 56,
- 59, 56, 56, 56, 56, 56, 56, 56, 56, 52, 56, 52, 56, 52, 52, 56, 60, 613,
- 613, 52, 56, 52, 56, 57, 52, 56, 52, 56, 56, 56, 52, 56, 52, 56, 52, 52,
- 52, 52, 52, 56, 52, 52, 52, 52, 52, 56, 52, 56, 52, 56, 81, 81, 81, 81,
- 81, 81, 81, 81, 81, 81, 81, 81, 81, 57, 59, 59, 56, 57, 57, 57, 57, 57,
- 614, 614, 615, 614, 614, 614, 616, 614, 614, 614, 614, 615, 614, 614,
- 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, 617,
- 617, 615, 615, 617, 618, 618, 618, 618, 81, 81, 81, 81, 619, 619, 619,
- 619, 619, 619, 317, 317, 507, 516, 81, 81, 81, 81, 81, 81, 620, 620, 620,
- 620, 620, 620, 620, 620, 620, 620, 620, 620, 621, 621, 622, 622, 623,
- 623, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, 624,
- 624, 624, 624, 624, 624, 623, 623, 623, 623, 623, 623, 623, 623, 623,
- 623, 623, 623, 623, 623, 623, 623, 625, 626, 81, 81, 81, 81, 81, 81, 81,
- 81, 627, 627, 628, 628, 628, 628, 628, 628, 628, 628, 628, 628, 81, 81,
- 81, 81, 81, 81, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 195,
- 195, 195, 195, 195, 195, 201, 201, 201, 195, 629, 195, 195, 193, 630,
- 630, 630, 630, 630, 630, 630, 630, 630, 630, 631, 631, 631, 631, 631,
- 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
- 631, 632, 632, 632, 632, 632, 633, 633, 633, 199, 634, 635, 635, 635,
- 635, 635, 635, 635, 635, 635, 635, 635, 635, 635, 635, 635, 636, 636,
- 636, 636, 636, 636, 636, 636, 636, 636, 636, 637, 638, 81, 81, 81, 81,
- 81, 81, 81, 81, 81, 81, 81, 639, 332, 332, 332, 332, 332, 81, 81, 81,
- 640, 640, 640, 641, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642,
- 642, 642, 642, 642, 642, 643, 641, 641, 640, 640, 640, 640, 641, 641,
- 640, 641, 641, 641, 644, 645, 645, 645, 645, 645, 645, 646, 646, 646,
- 645, 645, 645, 645, 81, 61, 647, 647, 647, 647, 647, 647, 647, 647, 647,
- 647, 81, 81, 81, 81, 645, 645, 318, 318, 318, 318, 318, 320, 648, 318,
- 323, 323, 318, 318, 318, 318, 318, 81, 649, 649, 649, 649, 649, 649, 649,
- 649, 649, 650, 650, 650, 650, 650, 650, 651, 651, 650, 650, 651, 651,
- 650, 650, 81, 649, 649, 649, 650, 649, 649, 649, 649, 649, 649, 649, 649,
- 650, 651, 81, 81, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 81,
- 81, 653, 654, 654, 654, 648, 318, 318, 318, 318, 318, 318, 327, 327, 327,
- 318, 319, 320, 319, 318, 318, 655, 655, 655, 655, 655, 655, 655, 655,
- 656, 655, 656, 656, 657, 655, 655, 656, 656, 655, 655, 655, 655, 655,
- 656, 656, 655, 656, 655, 81, 81, 81, 81, 81, 81, 81, 81, 655, 655, 658,
- 659, 659, 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, 660, 661,
- 662, 662, 661, 661, 663, 663, 660, 664, 664, 661, 665, 81, 81, 335, 335,
- 335, 335, 335, 335, 81, 56, 56, 56, 613, 59, 59, 59, 59, 56, 56, 56, 56,
- 56, 79, 81, 81, 342, 342, 342, 342, 342, 342, 342, 342, 660, 660, 660,
- 661, 661, 662, 661, 661, 662, 661, 661, 663, 661, 665, 81, 81, 666, 666,
- 666, 666, 666, 666, 666, 666, 666, 666, 81, 81, 81, 81, 81, 81, 667, 668,
- 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668,
- 668, 668, 668, 668, 667, 668, 668, 668, 668, 668, 668, 668, 81, 81, 81,
- 81, 333, 333, 333, 333, 333, 333, 333, 81, 81, 81, 81, 334, 334, 334,
- 334, 334, 334, 334, 334, 334, 81, 81, 81, 81, 669, 669, 669, 669, 669,
- 669, 669, 669, 670, 670, 670, 670, 670, 670, 670, 670, 592, 592, 593,
- 593, 593, 593, 593, 593, 56, 56, 56, 56, 56, 56, 56, 81, 81, 81, 81, 101,
- 101, 101, 101, 101, 81, 81, 81, 81, 81, 129, 671, 129, 129, 672, 129,
+ 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532,
+ 521, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 520, 514, 514, 514,
+ 514, 514, 514, 514, 514, 514, 514, 514, 514, 40, 40, 40, 40, 514, 514,
+ 514, 514, 533, 40, 40, 40, 40, 40, 514, 514, 514, 514, 40, 40, 514, 514,
+ 40, 514, 514, 514, 514, 514, 514, 514, 40, 40, 40, 40, 40, 40, 40, 40,
+ 514, 514, 40, 40, 514, 54, 40, 40, 40, 40, 514, 514, 40, 40, 514, 54, 40,
+ 40, 40, 40, 514, 514, 514, 40, 40, 514, 40, 40, 514, 514, 40, 40, 40, 40,
+ 40, 40, 40, 514, 498, 498, 498, 498, 498, 534, 534, 498, 531, 531, 531,
+ 531, 40, 514, 514, 40, 40, 514, 40, 40, 40, 40, 514, 514, 40, 40, 40, 40,
+ 527, 527, 533, 533, 531, 40, 531, 531, 535, 536, 535, 531, 40, 531, 531,
+ 531, 40, 40, 40, 40, 514, 40, 514, 40, 40, 40, 40, 40, 530, 530, 530,
+ 530, 530, 530, 530, 530, 530, 530, 530, 530, 40, 40, 40, 40, 514, 514,
+ 40, 514, 514, 514, 40, 514, 535, 514, 514, 40, 514, 514, 40, 54, 40, 40,
+ 40, 40, 40, 40, 40, 527, 40, 40, 40, 530, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 514, 514, 40, 530, 40, 40, 40, 40, 40, 40, 40, 40, 530, 530, 318,
+ 40, 40, 40, 40, 40, 40, 40, 40, 527, 527, 535, 531, 531, 531, 531, 527,
+ 527, 535, 535, 535, 514, 514, 514, 514, 535, 530, 535, 535, 535, 514,
+ 535, 527, 514, 514, 514, 535, 535, 514, 514, 535, 514, 514, 535, 535,
+ 535, 40, 514, 40, 40, 40, 40, 514, 514, 527, 514, 514, 514, 514, 514,
+ 514, 535, 527, 527, 535, 527, 514, 535, 535, 537, 527, 514, 514, 527,
+ 535, 535, 531, 531, 531, 531, 531, 530, 40, 40, 531, 531, 538, 538, 536,
+ 536, 40, 40, 530, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 44, 40,
+ 40, 40, 40, 40, 40, 530, 40, 530, 40, 40, 40, 40, 530, 530, 530, 40, 539,
+ 40, 40, 40, 540, 540, 540, 540, 540, 540, 40, 541, 541, 531, 40, 40, 40,
+ 479, 497, 479, 497, 479, 497, 479, 497, 479, 497, 479, 497, 479, 497, 51,
+ 51, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 40, 530,
+ 530, 530, 40, 40, 40, 40, 40, 40, 40, 530, 498, 498, 498, 498, 498, 479,
+ 497, 498, 498, 498, 498, 498, 498, 498, 16, 31, 16, 31, 16, 31, 16, 31,
+ 479, 497, 542, 542, 542, 542, 542, 542, 542, 542, 498, 498, 498, 479,
+ 497, 16, 31, 479, 497, 479, 497, 479, 497, 479, 497, 479, 497, 498, 498,
+ 498, 498, 498, 498, 498, 479, 497, 479, 497, 498, 498, 498, 498, 498,
+ 498, 498, 498, 479, 497, 498, 498, 40, 40, 40, 530, 530, 40, 40, 40, 498,
+ 498, 498, 498, 498, 40, 40, 498, 498, 498, 498, 498, 498, 40, 40, 40,
+ 530, 40, 40, 40, 40, 539, 514, 514, 40, 40, 40, 40, 81, 81, 40, 40, 40,
+ 40, 40, 40, 40, 40, 81, 81, 543, 543, 543, 543, 543, 543, 543, 543, 543,
+ 543, 543, 543, 543, 543, 543, 81, 544, 544, 544, 544, 544, 544, 544, 544,
+ 544, 544, 544, 544, 544, 544, 544, 81, 52, 56, 52, 52, 52, 56, 56, 52,
+ 56, 52, 56, 52, 56, 52, 52, 52, 52, 56, 52, 56, 56, 52, 56, 56, 56, 56,
+ 56, 56, 59, 59, 52, 52, 87, 88, 87, 88, 88, 545, 545, 545, 545, 545, 545,
+ 87, 88, 87, 88, 546, 546, 546, 87, 88, 81, 81, 81, 81, 81, 547, 548, 548,
+ 548, 549, 547, 548, 330, 330, 330, 330, 330, 330, 81, 330, 81, 81, 81,
+ 81, 81, 330, 81, 81, 550, 550, 550, 550, 550, 550, 550, 550, 81, 81, 81,
+ 81, 81, 81, 81, 551, 552, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
+ 81, 81, 553, 95, 95, 95, 95, 95, 95, 95, 95, 554, 554, 42, 50, 42, 50,
+ 554, 554, 554, 42, 50, 554, 42, 50, 379, 379, 379, 379, 379, 379, 379,
+ 379, 84, 474, 555, 379, 556, 84, 42, 50, 84, 84, 42, 50, 479, 497, 479,
+ 497, 479, 497, 479, 497, 379, 379, 379, 379, 377, 60, 379, 379, 84, 379,
+ 379, 84, 84, 84, 84, 84, 557, 557, 379, 379, 379, 84, 474, 379, 479, 379,
+ 379, 379, 379, 379, 379, 379, 379, 84, 379, 84, 379, 379, 558, 558, 558,
+ 558, 558, 558, 558, 558, 558, 558, 81, 558, 558, 558, 558, 558, 558, 558,
+ 558, 558, 81, 81, 81, 81, 558, 558, 558, 558, 558, 558, 81, 81, 527, 527,
+ 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 81, 81, 81, 81, 559,
+ 560, 560, 561, 527, 562, 563, 564, 528, 529, 528, 529, 528, 529, 528,
+ 529, 528, 529, 527, 527, 528, 529, 528, 529, 528, 529, 528, 529, 565,
+ 528, 529, 529, 527, 564, 564, 564, 564, 564, 564, 564, 564, 564, 566,
+ 567, 568, 569, 570, 570, 571, 572, 572, 572, 572, 573, 527, 527, 564,
+ 564, 564, 562, 574, 561, 527, 531, 81, 575, 576, 575, 576, 575, 576, 575,
+ 576, 575, 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, 576,
+ 576, 576, 576, 576, 576, 575, 576, 576, 576, 576, 576, 576, 576, 575,
+ 576, 575, 576, 575, 576, 576, 576, 576, 576, 576, 575, 576, 576, 576,
+ 576, 576, 576, 575, 575, 81, 81, 577, 577, 578, 578, 579, 579, 576, 565,
+ 580, 581, 580, 581, 580, 581, 580, 581, 580, 581, 581, 581, 581, 581,
+ 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 580, 581,
+ 581, 581, 581, 581, 581, 581, 580, 581, 580, 581, 580, 581, 581, 581,
+ 581, 581, 581, 580, 581, 581, 581, 581, 581, 581, 580, 580, 581, 581,
+ 581, 581, 582, 583, 584, 584, 581, 81, 81, 81, 81, 81, 585, 585, 585,
+ 585, 585, 585, 585, 585, 585, 585, 585, 81, 586, 586, 586, 586, 586, 586,
+ 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
+ 586, 586, 81, 587, 587, 588, 588, 588, 588, 587, 587, 587, 587, 587, 587,
+ 587, 587, 587, 587, 585, 585, 585, 81, 81, 81, 81, 81, 580, 580, 580,
+ 580, 580, 580, 580, 580, 589, 589, 589, 589, 589, 589, 589, 589, 589,
+ 589, 589, 589, 589, 590, 590, 81, 588, 588, 588, 588, 588, 588, 588, 588,
+ 588, 588, 587, 587, 587, 587, 587, 587, 591, 591, 591, 591, 591, 591,
+ 591, 591, 527, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592,
+ 592, 592, 592, 592, 589, 589, 589, 589, 590, 590, 590, 587, 587, 592,
+ 592, 592, 592, 592, 592, 592, 587, 587, 587, 587, 527, 527, 527, 527,
+ 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, 593,
+ 593, 81, 587, 587, 587, 587, 587, 587, 587, 527, 527, 527, 527, 587, 587,
+ 587, 587, 587, 587, 587, 587, 587, 587, 587, 527, 527, 594, 594, 594,
+ 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 595, 595, 595,
+ 595, 595, 595, 595, 595, 595, 595, 596, 596, 596, 596, 596, 596, 596,
+ 596, 596, 596, 596, 596, 596, 597, 596, 596, 596, 596, 596, 596, 596, 81,
+ 81, 81, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598,
+ 598, 598, 81, 599, 599, 599, 599, 599, 599, 599, 599, 600, 600, 600, 600,
+ 600, 600, 601, 601, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602,
+ 602, 602, 603, 604, 605, 604, 606, 606, 606, 606, 606, 606, 606, 606,
+ 606, 606, 602, 602, 81, 81, 81, 81, 90, 93, 90, 93, 90, 93, 607, 95, 97,
+ 97, 97, 608, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 608, 609, 90, 93,
+ 90, 93, 456, 456, 95, 95, 610, 610, 610, 610, 610, 610, 610, 610, 610,
+ 610, 610, 610, 610, 610, 611, 611, 611, 611, 611, 611, 611, 611, 611,
+ 611, 612, 612, 613, 614, 614, 614, 614, 614, 62, 62, 62, 62, 62, 62, 62,
+ 60, 60, 60, 60, 60, 60, 60, 60, 60, 62, 62, 52, 56, 52, 56, 52, 56, 56,
+ 56, 52, 56, 52, 56, 52, 56, 59, 56, 56, 56, 56, 56, 56, 56, 56, 52, 56,
+ 52, 56, 52, 52, 56, 60, 615, 615, 52, 56, 52, 56, 57, 52, 56, 52, 56, 56,
+ 56, 52, 56, 52, 56, 52, 52, 52, 52, 52, 56, 52, 52, 52, 52, 52, 56, 52,
+ 56, 81, 81, 52, 56, 52, 52, 52, 81, 81, 81, 81, 81, 81, 81, 81, 57, 59,
+ 59, 56, 57, 57, 57, 57, 57, 616, 616, 617, 616, 616, 616, 618, 616, 616,
+ 616, 616, 617, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
+ 616, 616, 616, 616, 619, 619, 617, 617, 619, 620, 620, 620, 620, 81, 81,
+ 81, 81, 621, 621, 621, 621, 621, 621, 318, 318, 509, 518, 81, 81, 81, 81,
+ 81, 81, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 623,
+ 623, 624, 624, 625, 625, 626, 626, 626, 626, 626, 626, 626, 626, 626,
+ 626, 626, 626, 626, 626, 626, 626, 626, 626, 625, 625, 625, 625, 625,
+ 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 627, 628, 81, 81,
+ 81, 81, 81, 81, 81, 81, 629, 629, 630, 630, 630, 630, 630, 630, 630, 630,
+ 630, 630, 81, 81, 81, 81, 81, 81, 631, 631, 631, 631, 631, 631, 631, 631,
+ 631, 631, 195, 195, 195, 195, 195, 195, 200, 200, 200, 195, 632, 195,
+ 195, 193, 633, 633, 633, 633, 633, 633, 633, 633, 633, 633, 634, 634,
+ 634, 634, 634, 634, 634, 634, 634, 634, 634, 634, 634, 634, 634, 634,
+ 634, 634, 634, 634, 635, 635, 635, 635, 635, 636, 636, 636, 198, 637,
+ 638, 638, 638, 638, 638, 638, 638, 638, 638, 638, 638, 638, 638, 638,
+ 638, 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, 640, 641, 81,
+ 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 642, 333, 333, 333, 333, 333, 81,
+ 81, 81, 643, 643, 643, 644, 645, 645, 645, 645, 645, 645, 645, 645, 645,
+ 645, 645, 645, 645, 645, 645, 646, 644, 644, 643, 643, 643, 643, 644,
+ 644, 643, 643, 644, 644, 647, 648, 648, 648, 648, 648, 648, 649, 649,
+ 649, 648, 648, 648, 648, 81, 61, 650, 650, 650, 650, 650, 650, 650, 650,
+ 650, 650, 81, 81, 81, 81, 648, 648, 319, 319, 319, 319, 319, 321, 651,
+ 319, 324, 324, 319, 319, 319, 319, 319, 81, 652, 652, 652, 652, 652, 652,
+ 652, 652, 652, 653, 653, 653, 653, 653, 653, 654, 654, 653, 653, 654,
+ 654, 653, 653, 81, 652, 652, 652, 653, 652, 652, 652, 652, 652, 652, 652,
+ 652, 653, 654, 81, 81, 655, 655, 655, 655, 655, 655, 655, 655, 655, 655,
+ 81, 81, 656, 657, 657, 657, 651, 319, 319, 319, 319, 319, 319, 328, 328,
+ 328, 319, 320, 321, 320, 319, 319, 658, 658, 658, 658, 658, 658, 658,
+ 658, 659, 658, 659, 659, 660, 658, 658, 659, 659, 658, 658, 658, 658,
+ 658, 659, 659, 658, 659, 658, 81, 81, 81, 81, 81, 81, 81, 81, 658, 658,
+ 661, 662, 662, 663, 663, 663, 663, 663, 663, 663, 663, 663, 663, 663,
+ 664, 665, 665, 664, 664, 666, 666, 663, 667, 667, 664, 668, 81, 81, 336,
+ 336, 336, 336, 336, 336, 81, 56, 56, 56, 615, 59, 59, 59, 59, 56, 56, 56,
+ 56, 56, 79, 56, 56, 343, 343, 343, 343, 343, 343, 343, 343, 663, 663,
+ 663, 664, 664, 665, 664, 664, 665, 664, 664, 666, 664, 668, 81, 81, 669,
+ 669, 669, 669, 669, 669, 669, 669, 669, 669, 81, 81, 81, 81, 81, 81, 670,
+ 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671,
+ 671, 671, 671, 671, 671, 670, 671, 671, 671, 671, 671, 671, 671, 81, 81,
+ 81, 81, 334, 334, 334, 334, 334, 334, 334, 81, 81, 81, 81, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335, 81, 81, 81, 81, 672, 672, 672, 672, 672,
+ 672, 672, 672, 673, 673, 673, 673, 673, 673, 673, 673, 594, 594, 595,
+ 595, 595, 595, 595, 595, 56, 56, 56, 56, 56, 56, 56, 81, 81, 81, 81, 101,
+ 101, 101, 101, 101, 81, 81, 81, 81, 81, 129, 674, 129, 129, 675, 129,
129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 81, 129, 129,
129, 129, 129, 81, 129, 81, 129, 129, 81, 129, 129, 81, 129, 129, 146,
- 146, 673, 673, 673, 673, 673, 673, 673, 673, 673, 673, 673, 673, 673,
- 673, 673, 673, 81, 81, 81, 81, 81, 81, 81, 81, 81, 146, 146, 146, 146,
- 146, 146, 146, 146, 146, 146, 146, 495, 477, 81, 81, 146, 146, 146, 146,
- 146, 146, 146, 146, 146, 146, 135, 138, 81, 81, 674, 674, 674, 674, 674,
- 674, 674, 674, 675, 558, 558, 675, 675, 676, 676, 526, 527, 677, 81, 81,
+ 146, 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, 676,
+ 676, 676, 676, 81, 81, 81, 81, 81, 81, 81, 81, 81, 146, 146, 146, 146,
+ 146, 146, 146, 146, 146, 146, 146, 497, 479, 81, 81, 146, 146, 146, 146,
+ 146, 146, 146, 146, 146, 146, 135, 138, 81, 81, 677, 677, 677, 677, 677,
+ 677, 677, 677, 678, 560, 560, 678, 678, 679, 679, 528, 529, 680, 81, 81,
81, 81, 81, 81, 96, 96, 96, 96, 96, 96, 96, 156, 156, 156, 156, 156, 156,
- 156, 95, 95, 559, 569, 569, 678, 678, 526, 527, 526, 527, 526, 527, 526,
- 527, 526, 527, 526, 527, 526, 527, 526, 527, 559, 559, 526, 527, 559,
- 559, 559, 559, 678, 678, 678, 679, 559, 679, 81, 580, 680, 676, 676, 569,
- 526, 527, 526, 527, 526, 527, 681, 559, 559, 682, 683, 684, 684, 684, 81,
- 559, 685, 686, 559, 81, 81, 81, 81, 146, 146, 146, 146, 146, 81, 81, 497,
- 81, 687, 688, 689, 690, 691, 688, 688, 692, 693, 688, 694, 695, 696, 695,
- 697, 698, 698, 698, 698, 698, 698, 698, 698, 698, 698, 699, 700, 701,
- 701, 701, 687, 688, 702, 702, 702, 702, 702, 702, 702, 702, 702, 702,
- 702, 702, 702, 702, 702, 702, 702, 702, 692, 688, 693, 703, 704, 703,
- 705, 705, 705, 705, 705, 705, 705, 705, 705, 705, 705, 705, 705, 705,
- 705, 705, 705, 705, 692, 701, 693, 701, 692, 693, 706, 707, 708, 706,
- 709, 710, 711, 711, 711, 711, 711, 711, 711, 711, 711, 712, 710, 710,
- 710, 710, 710, 710, 710, 710, 710, 710, 710, 710, 710, 710, 710, 710,
- 710, 710, 710, 710, 710, 713, 713, 714, 714, 714, 714, 714, 714, 714,
- 714, 714, 714, 714, 714, 714, 714, 714, 81, 81, 81, 714, 714, 714, 714,
- 714, 714, 81, 81, 714, 714, 714, 81, 81, 81, 715, 690, 701, 703, 716,
- 690, 690, 81, 717, 718, 718, 718, 718, 717, 717, 81, 81, 719, 719, 719,
- 720, 512, 81, 81, 721, 721, 721, 721, 721, 721, 721, 721, 721, 721, 721,
- 721, 81, 721, 721, 721, 721, 721, 721, 721, 721, 721, 721, 81, 721, 721,
- 721, 81, 721, 721, 81, 721, 721, 721, 721, 721, 721, 721, 81, 81, 721,
- 721, 721, 81, 81, 81, 81, 81, 199, 377, 199, 81, 81, 81, 81, 619, 619,
- 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 81, 81, 81, 317,
- 722, 722, 722, 722, 722, 722, 722, 722, 722, 722, 722, 722, 722, 723,
- 723, 723, 723, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724,
- 724, 724, 724, 724, 724, 724, 723, 723, 724, 725, 725, 81, 40, 40, 40,
- 40, 81, 81, 81, 81, 724, 81, 81, 81, 81, 81, 81, 81, 317, 317, 317, 317,
- 317, 156, 81, 81, 726, 726, 726, 726, 726, 726, 726, 726, 726, 726, 726,
- 726, 726, 81, 81, 81, 727, 727, 727, 727, 727, 727, 727, 727, 727, 81,
- 81, 81, 81, 81, 81, 81, 156, 504, 504, 504, 504, 504, 504, 504, 504, 504,
- 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 81, 81, 81, 81, 728,
- 728, 728, 728, 728, 728, 728, 728, 729, 729, 729, 729, 81, 81, 81, 81,
- 81, 81, 81, 81, 81, 728, 728, 728, 730, 730, 730, 730, 730, 730, 730,
- 730, 730, 731, 730, 730, 730, 730, 730, 730, 730, 730, 731, 81, 81, 81,
- 81, 81, 732, 732, 732, 732, 732, 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 733, 733, 733, 733, 733, 81, 81, 81, 81, 81, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 734, 734, 734, 81, 735, 736, 736, 736,
- 736, 736, 736, 736, 736, 736, 736, 736, 736, 81, 81, 81, 81, 737, 738,
- 738, 738, 738, 738, 81, 81, 739, 739, 739, 739, 739, 739, 739, 739, 740,
- 740, 740, 740, 740, 740, 740, 740, 741, 741, 741, 741, 741, 741, 741,
- 741, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
- 742, 81, 81, 743, 743, 743, 743, 743, 743, 743, 743, 743, 743, 81, 81,
- 81, 81, 81, 81, 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, 744,
- 744, 81, 81, 81, 81, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745,
- 745, 745, 81, 81, 81, 81, 746, 746, 746, 746, 746, 746, 746, 746, 747,
- 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 81, 81, 81, 81,
- 81, 81, 81, 81, 81, 81, 81, 748, 749, 749, 749, 749, 749, 749, 749, 749,
- 749, 749, 749, 749, 749, 749, 749, 81, 749, 749, 749, 749, 749, 749, 81,
- 81, 750, 750, 750, 750, 750, 750, 81, 81, 750, 81, 750, 750, 750, 750,
- 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750,
- 750, 750, 81, 750, 750, 81, 81, 81, 750, 81, 81, 750, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 81, 752, 753, 753, 753,
- 753, 753, 753, 753, 753, 754, 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 755, 755, 756, 756, 756, 756, 756, 756,
- 756, 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, 757,
- 757, 757, 81, 81, 81, 81, 81, 81, 81, 81, 758, 758, 758, 758, 758, 758,
- 758, 758, 758, 759, 759, 759, 759, 759, 759, 759, 759, 759, 759, 759, 81,
- 759, 759, 81, 81, 81, 81, 81, 760, 760, 760, 760, 760, 761, 761, 761,
- 761, 761, 761, 761, 761, 761, 761, 761, 761, 761, 761, 762, 762, 762,
- 762, 762, 762, 81, 81, 81, 763, 764, 764, 764, 764, 764, 764, 764, 764,
- 764, 764, 81, 81, 81, 81, 81, 765, 766, 766, 766, 766, 766, 766, 766,
- 766, 767, 767, 767, 767, 767, 767, 767, 767, 81, 81, 81, 81, 768, 768,
- 767, 767, 768, 768, 768, 768, 768, 768, 768, 768, 81, 81, 768, 768, 768,
- 768, 768, 768, 769, 770, 770, 770, 81, 770, 770, 81, 81, 81, 81, 81, 770,
- 771, 770, 772, 769, 769, 769, 769, 81, 769, 769, 769, 81, 769, 769, 769,
- 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
- 769, 769, 769, 769, 81, 81, 772, 773, 771, 81, 81, 81, 81, 774, 775, 775,
- 775, 775, 775, 775, 775, 775, 775, 81, 81, 81, 81, 81, 81, 81, 776, 776,
- 776, 776, 776, 776, 776, 776, 777, 81, 81, 81, 81, 81, 81, 81, 778, 778,
- 778, 778, 778, 778, 778, 778, 778, 778, 778, 778, 778, 779, 779, 780,
- 781, 781, 781, 781, 781, 781, 781, 781, 781, 781, 781, 781, 781, 782,
- 782, 782, 783, 783, 783, 783, 783, 783, 783, 783, 784, 783, 783, 783,
- 783, 783, 783, 783, 783, 783, 783, 783, 783, 785, 786, 81, 81, 81, 81,
- 787, 787, 787, 787, 787, 788, 788, 788, 788, 788, 788, 789, 81, 790, 790,
- 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 81, 81, 81,
- 791, 791, 791, 791, 791, 791, 791, 792, 792, 792, 792, 792, 792, 792,
- 792, 792, 792, 792, 792, 792, 792, 81, 81, 793, 793, 793, 793, 793, 793,
- 793, 793, 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, 81, 81,
- 81, 81, 81, 795, 795, 795, 795, 795, 795, 795, 795, 796, 796, 796, 796,
- 796, 796, 796, 796, 796, 796, 81, 81, 81, 81, 81, 81, 81, 797, 797, 797,
- 797, 81, 81, 81, 81, 798, 798, 798, 798, 798, 798, 798, 799, 799, 799,
+ 156, 95, 95, 561, 571, 571, 681, 681, 528, 529, 528, 529, 528, 529, 528,
+ 529, 528, 529, 528, 529, 528, 529, 528, 529, 561, 561, 528, 529, 561,
+ 561, 561, 561, 681, 681, 681, 682, 561, 682, 81, 582, 683, 679, 679, 571,
+ 528, 529, 528, 529, 528, 529, 684, 561, 561, 685, 686, 687, 687, 687, 81,
+ 561, 688, 689, 561, 81, 81, 81, 81, 146, 146, 146, 146, 146, 81, 81, 499,
+ 81, 690, 691, 692, 693, 694, 691, 691, 695, 696, 691, 697, 698, 699, 698,
+ 700, 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, 702, 703, 704,
+ 704, 704, 690, 691, 705, 705, 705, 705, 705, 705, 705, 705, 705, 705,
+ 705, 705, 705, 705, 705, 705, 705, 705, 695, 691, 696, 706, 707, 706,
+ 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
+ 708, 708, 708, 708, 695, 704, 696, 704, 695, 696, 709, 710, 711, 709,
+ 712, 713, 714, 714, 714, 714, 714, 714, 714, 714, 714, 715, 713, 713,
+ 713, 713, 713, 713, 713, 713, 713, 713, 713, 713, 713, 713, 713, 713,
+ 713, 713, 713, 713, 713, 716, 716, 717, 717, 717, 717, 717, 717, 717,
+ 717, 717, 717, 717, 717, 717, 717, 717, 81, 81, 81, 717, 717, 717, 717,
+ 717, 717, 81, 81, 717, 717, 717, 81, 81, 81, 718, 693, 704, 706, 719,
+ 693, 693, 81, 720, 721, 721, 721, 721, 720, 720, 81, 81, 722, 722, 722,
+ 723, 514, 81, 81, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724,
+ 724, 81, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724, 81, 724, 724,
+ 724, 81, 724, 724, 81, 724, 724, 724, 724, 724, 724, 724, 81, 81, 724,
+ 724, 724, 81, 81, 81, 81, 81, 198, 379, 198, 81, 81, 81, 81, 621, 621,
+ 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 81, 81, 81, 318,
+ 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 726,
+ 726, 726, 726, 727, 727, 727, 727, 727, 727, 727, 727, 727, 727, 727,
+ 727, 727, 727, 727, 727, 727, 726, 726, 727, 728, 728, 81, 40, 40, 40,
+ 40, 81, 81, 81, 81, 727, 81, 81, 81, 81, 81, 81, 81, 318, 318, 318, 318,
+ 318, 156, 81, 81, 729, 729, 729, 729, 729, 729, 729, 729, 729, 729, 729,
+ 729, 729, 81, 81, 81, 730, 730, 730, 730, 730, 730, 730, 730, 730, 81,
+ 81, 81, 81, 81, 81, 81, 156, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 81, 81, 81, 81, 731,
+ 731, 731, 731, 731, 731, 731, 731, 732, 732, 732, 732, 81, 81, 81, 81,
+ 81, 81, 81, 81, 81, 731, 731, 731, 733, 733, 733, 733, 733, 733, 733,
+ 733, 733, 734, 733, 733, 733, 733, 733, 733, 733, 733, 734, 81, 81, 81,
+ 81, 81, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, 735,
+ 735, 736, 736, 736, 736, 736, 81, 81, 81, 81, 81, 737, 737, 737, 737,
+ 737, 737, 737, 737, 737, 737, 737, 737, 737, 737, 81, 738, 739, 739, 739,
+ 739, 739, 739, 739, 739, 739, 739, 739, 739, 81, 81, 81, 81, 740, 741,
+ 741, 741, 741, 741, 81, 81, 742, 742, 742, 742, 742, 742, 742, 742, 743,
+ 743, 743, 743, 743, 743, 743, 743, 744, 744, 744, 744, 744, 744, 744,
+ 744, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745,
+ 745, 81, 81, 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, 81, 81,
+ 81, 81, 81, 81, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
+ 747, 81, 81, 81, 81, 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 81, 81, 81, 81, 749, 749, 749, 749, 749, 749, 749, 749, 750,
+ 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 81, 81, 81, 81,
+ 81, 81, 81, 81, 81, 81, 81, 751, 752, 752, 752, 752, 752, 752, 752, 752,
+ 752, 752, 752, 752, 752, 752, 752, 81, 752, 752, 752, 752, 752, 752, 81,
+ 81, 753, 753, 753, 753, 753, 753, 81, 81, 753, 81, 753, 753, 753, 753,
+ 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
+ 753, 753, 81, 753, 753, 81, 81, 81, 753, 81, 81, 753, 754, 754, 754, 754,
+ 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, 81, 755, 756, 756, 756,
+ 756, 756, 756, 756, 756, 757, 757, 757, 757, 757, 757, 757, 757, 757,
+ 757, 757, 757, 757, 757, 757, 758, 758, 759, 759, 759, 759, 759, 759,
+ 759, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
+ 760, 760, 81, 81, 81, 81, 81, 81, 81, 81, 761, 761, 761, 761, 761, 761,
+ 761, 761, 761, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 81,
+ 762, 762, 81, 81, 81, 81, 81, 763, 763, 763, 763, 763, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 764, 765, 765, 765,
+ 765, 765, 765, 81, 81, 81, 766, 767, 767, 767, 767, 767, 767, 767, 767,
+ 767, 767, 81, 81, 81, 81, 81, 768, 769, 769, 769, 769, 769, 769, 769,
+ 769, 770, 770, 770, 770, 770, 770, 770, 770, 81, 81, 81, 81, 771, 771,
+ 770, 770, 771, 771, 771, 771, 771, 771, 771, 771, 81, 81, 771, 771, 771,
+ 771, 771, 771, 772, 773, 773, 773, 81, 773, 773, 81, 81, 81, 81, 81, 773,
+ 774, 773, 775, 772, 772, 772, 772, 81, 772, 772, 772, 81, 772, 772, 772,
+ 772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 772,
+ 772, 772, 772, 772, 81, 81, 775, 776, 774, 81, 81, 81, 81, 777, 778, 778,
+ 778, 778, 778, 778, 778, 778, 778, 81, 81, 81, 81, 81, 81, 81, 779, 779,
+ 779, 779, 779, 779, 779, 779, 780, 81, 81, 81, 81, 81, 81, 81, 781, 781,
+ 781, 781, 781, 781, 781, 781, 781, 781, 781, 781, 781, 782, 782, 783,
+ 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 785,
+ 785, 785, 786, 786, 786, 786, 786, 786, 786, 786, 787, 786, 786, 786,
+ 786, 786, 786, 786, 786, 786, 786, 786, 786, 788, 789, 81, 81, 81, 81,
+ 790, 790, 790, 790, 790, 791, 791, 791, 791, 791, 791, 792, 81, 793, 793,
+ 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, 81, 81, 81,
+ 794, 794, 794, 794, 794, 794, 794, 795, 795, 795, 795, 795, 795, 795,
+ 795, 795, 795, 795, 795, 795, 795, 81, 81, 796, 796, 796, 796, 796, 796,
+ 796, 796, 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 81, 81,
+ 81, 81, 81, 798, 798, 798, 798, 798, 798, 798, 798, 799, 799, 799, 799,
799, 799, 799, 799, 799, 799, 81, 81, 81, 81, 81, 81, 81, 800, 800, 800,
- 800, 800, 800, 800, 800, 800, 800, 800, 81, 81, 81, 81, 81, 801, 801,
- 801, 801, 801, 801, 801, 801, 801, 801, 801, 81, 81, 81, 81, 81, 81, 81,
- 802, 802, 802, 802, 802, 802, 803, 803, 803, 803, 803, 803, 803, 803,
- 803, 803, 803, 803, 804, 804, 804, 804, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 805, 81, 81, 81, 81, 81, 81, 806, 806, 806, 806, 806, 806,
- 806, 806, 806, 806, 806, 806, 806, 806, 806, 81, 807, 807, 807, 807, 807,
- 807, 807, 807, 807, 807, 807, 807, 807, 808, 808, 808, 808, 808, 808,
- 808, 808, 808, 808, 807, 809, 809, 809, 809, 809, 809, 809, 809, 809,
- 809, 809, 809, 809, 809, 810, 810, 811, 811, 811, 810, 811, 810, 810,
- 810, 810, 812, 812, 812, 812, 813, 813, 813, 813, 813, 81, 81, 81, 81,
- 81, 81, 814, 815, 814, 816, 816, 816, 816, 816, 816, 816, 816, 816, 816,
- 816, 816, 816, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815,
- 815, 815, 815, 817, 818, 818, 819, 819, 819, 819, 819, 81, 81, 81, 81,
- 820, 820, 820, 820, 820, 820, 820, 820, 820, 820, 820, 820, 820, 820,
- 820, 820, 820, 820, 820, 820, 821, 821, 821, 821, 821, 821, 821, 821,
- 821, 821, 81, 81, 81, 81, 81, 81, 81, 817, 822, 822, 823, 824, 824, 824,
- 824, 824, 824, 824, 824, 824, 824, 824, 824, 824, 823, 823, 823, 822,
- 822, 822, 822, 823, 823, 825, 826, 827, 827, 828, 829, 829, 829, 829, 81,
- 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 828, 81, 81, 830, 830, 830, 830,
- 830, 830, 830, 830, 830, 81, 81, 81, 81, 81, 81, 81, 831, 831, 831, 831,
- 831, 831, 831, 831, 831, 831, 81, 81, 81, 81, 81, 81, 832, 832, 832, 833,
- 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833,
- 833, 833, 833, 833, 833, 834, 834, 834, 834, 834, 835, 834, 834, 834,
- 834, 834, 834, 836, 836, 81, 837, 837, 837, 837, 837, 837, 837, 837, 837,
- 837, 838, 838, 838, 838, 833, 835, 835, 81, 839, 839, 839, 839, 839, 839,
- 839, 839, 839, 839, 839, 840, 841, 842, 839, 81, 843, 843, 844, 845, 845,
- 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845,
- 844, 844, 844, 843, 843, 843, 843, 843, 843, 843, 843, 843, 844, 846,
- 845, 845, 845, 845, 847, 847, 848, 847, 843, 849, 843, 843, 848, 81, 81,
- 850, 850, 850, 850, 850, 850, 850, 850, 850, 850, 845, 851, 845, 847,
- 847, 847, 81, 852, 852, 852, 852, 852, 852, 852, 852, 852, 852, 852, 852,
- 852, 852, 852, 852, 852, 852, 852, 852, 81, 81, 81, 853, 853, 853, 853,
- 853, 853, 853, 853, 853, 853, 81, 853, 853, 853, 853, 853, 853, 853, 853,
- 853, 854, 854, 854, 855, 855, 855, 854, 854, 855, 856, 857, 855, 858,
- 858, 859, 858, 858, 859, 855, 81, 860, 860, 860, 860, 860, 860, 860, 81,
- 860, 81, 860, 860, 860, 860, 81, 860, 860, 860, 860, 860, 860, 860, 860,
- 860, 860, 860, 860, 860, 860, 860, 81, 860, 860, 861, 81, 81, 81, 81, 81,
- 81, 862, 862, 862, 862, 862, 862, 862, 862, 862, 862, 862, 862, 862, 862,
- 862, 863, 864, 864, 864, 863, 863, 863, 863, 863, 863, 865, 866, 81, 81,
- 81, 81, 81, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 81, 81, 81,
- 81, 81, 81, 868, 868, 869, 869, 81, 870, 870, 870, 870, 870, 870, 870,
- 870, 81, 81, 870, 870, 81, 81, 870, 870, 870, 870, 870, 870, 870, 870,
- 870, 870, 870, 870, 870, 870, 81, 870, 870, 870, 870, 870, 870, 870, 81,
- 870, 870, 81, 870, 870, 870, 870, 870, 81, 871, 872, 870, 869, 869, 868,
- 869, 869, 869, 869, 81, 81, 869, 869, 81, 81, 869, 869, 873, 81, 81, 870,
- 81, 81, 81, 81, 81, 81, 869, 81, 81, 81, 81, 81, 870, 870, 870, 870, 870,
- 869, 869, 81, 81, 874, 874, 874, 874, 874, 874, 874, 81, 81, 81, 875,
- 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, 876, 876,
- 876, 877, 877, 877, 877, 877, 877, 877, 877, 876, 876, 878, 877, 877,
- 876, 879, 875, 875, 875, 875, 880, 880, 880, 880, 881, 882, 882, 882,
- 882, 882, 882, 882, 882, 882, 882, 81, 880, 81, 881, 883, 81, 884, 884,
- 884, 884, 884, 884, 884, 884, 885, 885, 885, 886, 886, 886, 886, 886,
- 886, 885, 886, 885, 885, 885, 885, 886, 886, 885, 887, 888, 884, 884,
- 889, 884, 890, 890, 890, 890, 890, 890, 890, 890, 890, 890, 81, 81, 81,
- 81, 81, 81, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 891,
- 891, 891, 891, 892, 892, 892, 893, 893, 893, 893, 81, 81, 892, 892, 892,
- 892, 893, 893, 892, 894, 895, 896, 897, 897, 898, 898, 899, 899, 899,
- 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, 897,
- 897, 891, 891, 891, 891, 893, 893, 81, 81, 900, 900, 900, 900, 900, 900,
- 900, 900, 901, 901, 901, 902, 902, 902, 902, 902, 902, 902, 902, 901,
- 901, 902, 901, 903, 902, 904, 904, 905, 900, 81, 81, 81, 906, 906, 906,
- 906, 906, 906, 906, 906, 906, 906, 81, 81, 81, 81, 81, 81, 907, 907, 907,
- 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 81, 81, 81, 908, 908,
- 908, 908, 908, 908, 908, 908, 908, 908, 908, 909, 910, 909, 910, 910,
- 909, 909, 909, 909, 909, 909, 911, 912, 913, 913, 913, 913, 913, 913,
- 913, 913, 913, 913, 81, 81, 81, 81, 81, 81, 914, 914, 914, 914, 914, 914,
- 914, 914, 914, 914, 914, 81, 81, 915, 915, 915, 916, 916, 915, 915, 915,
- 915, 916, 915, 915, 915, 915, 917, 81, 81, 81, 81, 918, 918, 918, 918,
- 918, 918, 918, 918, 918, 918, 919, 919, 920, 920, 920, 921, 922, 922,
- 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, 923, 923, 923, 924,
- 924, 924, 924, 924, 924, 924, 924, 924, 923, 925, 926, 927, 81, 81, 81,
- 81, 928, 928, 928, 928, 928, 928, 928, 928, 929, 929, 929, 929, 929, 929,
- 929, 929, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 931, 931,
- 931, 931, 931, 931, 931, 931, 931, 81, 81, 81, 81, 81, 81, 81, 81, 81,
- 81, 81, 81, 932, 933, 934, 934, 934, 934, 934, 934, 935, 935, 934, 934,
- 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, 933,
- 933, 933, 934, 936, 934, 934, 934, 934, 937, 933, 934, 934, 934, 934,
- 938, 939, 940, 940, 940, 940, 938, 939, 936, 941, 942, 942, 942, 942,
- 942, 942, 943, 943, 942, 942, 942, 941, 941, 941, 941, 941, 941, 941,
- 941, 941, 941, 941, 941, 941, 941, 941, 941, 81, 81, 941, 941, 941, 941,
- 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 943,
- 942, 944, 945, 945, 945, 941, 946, 946, 946, 945, 945, 81, 81, 81, 81,
- 81, 947, 947, 947, 947, 947, 947, 947, 947, 947, 81, 81, 81, 81, 81, 81,
- 81, 948, 948, 948, 948, 948, 948, 948, 948, 948, 81, 948, 948, 948, 948,
- 948, 948, 948, 948, 948, 948, 948, 948, 948, 949, 950, 950, 950, 950,
- 950, 950, 950, 81, 950, 950, 950, 950, 950, 950, 949, 951, 948, 952, 952,
- 952, 952, 952, 81, 81, 953, 953, 953, 953, 953, 953, 953, 953, 953, 953,
- 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
- 954, 954, 954, 954, 954, 81, 81, 81, 955, 956, 957, 957, 957, 957, 957,
- 957, 957, 957, 957, 957, 957, 957, 957, 957, 81, 81, 958, 958, 958, 958,
- 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, 81, 959, 958, 958, 958,
- 958, 958, 958, 958, 959, 958, 958, 959, 958, 958, 81, 960, 960, 960, 960,
- 960, 960, 960, 81, 960, 960, 81, 960, 960, 960, 960, 960, 960, 960, 960,
- 960, 960, 960, 960, 960, 960, 961, 961, 961, 961, 961, 961, 81, 81, 81,
- 961, 81, 961, 961, 81, 961, 961, 961, 962, 961, 963, 963, 960, 961, 964,
- 964, 964, 964, 964, 964, 964, 964, 964, 964, 81, 81, 81, 81, 81, 81, 965,
- 965, 965, 965, 965, 965, 81, 965, 965, 81, 965, 965, 965, 965, 965, 965,
- 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, 966, 966, 966, 966,
- 966, 81, 967, 967, 81, 966, 966, 967, 966, 968, 965, 81, 81, 81, 81, 81,
- 81, 81, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 81, 81, 81, 81,
- 81, 81, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, 971, 971,
- 972, 972, 973, 973, 81, 81, 81, 81, 81, 81, 81, 974, 974, 974, 974, 974,
- 974, 974, 974, 974, 974, 81, 81, 81, 81, 81, 81, 975, 975, 975, 975, 975,
- 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, 81, 976, 976, 976, 976,
- 976, 81, 81, 81, 974, 974, 974, 974, 81, 81, 81, 81, 977, 977, 977, 977,
- 977, 977, 977, 977, 978, 978, 978, 979, 979, 979, 977, 977, 977, 977,
- 979, 977, 977, 977, 978, 979, 978, 979, 977, 977, 977, 977, 977, 977,
- 977, 978, 979, 979, 977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
- 977, 81, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, 980,
- 980, 981, 982, 980, 980, 980, 980, 980, 980, 980, 81, 608, 81, 81, 81,
- 81, 81, 81, 81, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983,
- 983, 983, 983, 983, 81, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984,
- 81, 81, 81, 81, 985, 985, 986, 986, 986, 986, 986, 986, 986, 986, 986,
- 986, 986, 986, 986, 986, 81, 81, 987, 987, 987, 987, 987, 988, 81, 81,
- 989, 989, 989, 989, 989, 989, 989, 989, 990, 990, 990, 990, 990, 990,
- 990, 991, 991, 991, 992, 992, 993, 993, 993, 993, 994, 994, 994, 994,
- 991, 993, 81, 81, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 81,
- 996, 996, 996, 996, 996, 996, 996, 81, 989, 989, 989, 989, 989, 81, 81,
- 81, 81, 81, 989, 989, 989, 997, 997, 997, 997, 997, 997, 997, 997, 998,
- 998, 998, 998, 998, 998, 998, 998, 999, 999, 999, 999, 999, 999, 999,
- 999, 999, 999, 999, 999, 999, 999, 999, 1000, 1000, 1001, 1001, 81, 81,
- 81, 81, 81, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
- 1002, 1002, 1002, 81, 81, 81, 1002, 1003, 1003, 1003, 1003, 1003, 1003,
- 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003,
- 1003, 1003, 1003, 1003, 81, 81, 81, 81, 81, 81, 81, 81, 1004, 1004, 1004,
- 1004, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005,
- 1005, 1005, 1006, 1007, 81, 81, 81, 81, 81, 81, 1008, 1008, 1008, 1008,
- 1008, 1008, 1008, 1008, 1008, 1008, 81, 81, 81, 81, 81, 81, 1008, 1008,
- 1008, 81, 81, 81, 81, 81, 579, 574, 574, 574, 574, 574, 574, 574, 574,
- 574, 574, 574, 574, 574, 574, 81, 1009, 1009, 1009, 1009, 1009, 1009,
- 1009, 1009, 1009, 1009, 1009, 1009, 81, 81, 81, 81, 1010, 1010, 1010,
- 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 81, 81, 81, 81, 81, 1010,
- 1010, 1010, 1010, 1010, 81, 81, 81, 1010, 81, 81, 81, 81, 81, 81, 81,
- 1010, 1010, 81, 81, 1011, 1012, 1013, 1014, 503, 503, 503, 503, 81, 81,
- 81, 81, 317, 317, 317, 317, 317, 317, 81, 81, 317, 317, 317, 317, 317,
- 317, 317, 81, 81, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
- 317, 1015, 1015, 451, 451, 451, 317, 317, 317, 1016, 1015, 1015, 1015,
- 1015, 1015, 503, 503, 503, 503, 503, 503, 503, 503, 156, 156, 156, 156,
- 156, 156, 156, 156, 317, 317, 96, 96, 96, 96, 96, 156, 156, 317, 317,
- 317, 317, 317, 317, 96, 96, 96, 96, 317, 317, 317, 81, 81, 81, 81, 81,
- 81, 81, 724, 724, 1017, 1017, 1017, 724, 81, 81, 619, 619, 619, 619, 81,
- 81, 81, 81, 619, 81, 81, 81, 81, 81, 81, 81, 510, 510, 510, 510, 510,
- 510, 510, 510, 510, 510, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510,
- 49, 49, 49, 49, 49, 49, 49, 81, 49, 49, 49, 49, 49, 49, 510, 81, 510,
- 510, 81, 81, 510, 81, 81, 510, 510, 81, 81, 510, 510, 510, 510, 81, 510,
- 510, 49, 49, 81, 49, 81, 49, 49, 49, 49, 49, 49, 49, 81, 49, 49, 49, 49,
- 49, 49, 49, 510, 510, 81, 510, 510, 510, 510, 81, 81, 510, 510, 510, 510,
- 510, 510, 510, 510, 81, 510, 510, 510, 510, 510, 510, 510, 81, 49, 49,
- 510, 510, 81, 510, 510, 510, 510, 81, 510, 510, 510, 510, 510, 81, 510,
- 81, 81, 81, 510, 510, 510, 510, 510, 510, 510, 81, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 81, 81, 510, 1018, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 496, 49, 49, 49, 49, 49, 49, 510, 510, 510, 510, 510, 510,
- 510, 510, 510, 1018, 49, 49, 49, 49, 49, 49, 49, 49, 49, 496, 49, 49,
- 510, 510, 510, 510, 510, 1018, 49, 49, 49, 49, 49, 49, 49, 49, 49, 496,
- 49, 49, 49, 49, 49, 49, 510, 510, 510, 510, 510, 510, 510, 510, 510,
- 1018, 49, 496, 49, 49, 49, 49, 49, 49, 49, 49, 510, 49, 81, 81, 1019,
- 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1020, 1020, 1020,
- 1020, 1020, 1020, 1020, 1020, 1021, 1021, 1021, 1021, 1021, 1021, 1021,
- 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1020, 1020, 1020, 1020,
- 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1020, 1020,
- 1020, 1020, 1020, 1020, 1020, 1020, 1021, 1020, 1020, 1020, 1020, 1020,
- 1020, 1021, 1020, 1020, 1022, 1022, 1022, 1022, 1023, 81, 81, 81, 81, 81,
- 81, 81, 1021, 1021, 1021, 1021, 1021, 81, 1021, 1021, 1021, 1021, 1021,
- 1021, 1021, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 81, 1024, 1024,
- 1024, 1024, 1024, 1024, 1024, 1024, 1024, 81, 81, 1024, 1024, 1024, 1024,
- 1024, 1024, 1024, 81, 1024, 1024, 81, 1024, 1024, 1024, 1024, 1024, 81,
- 81, 81, 81, 81, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025,
- 1025, 1025, 1025, 1025, 81, 81, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
- 1026, 1026, 1027, 1027, 1027, 1027, 1027, 1027, 1027, 81, 1028, 1028,
- 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1029, 1029, 1029, 1029,
- 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029,
- 1029, 1029, 1030, 1030, 1030, 1030, 1030, 1030, 1031, 81, 81, 81, 81, 81,
- 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 81, 81, 81,
- 81, 1033, 1033, 81, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034,
- 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1035, 1034,
- 1034, 1034, 1036, 1034, 1034, 1034, 1034, 81, 81, 81, 146, 146, 146, 146,
- 81, 146, 146, 146, 81, 146, 146, 81, 146, 81, 81, 146, 81, 146, 146, 146,
- 146, 146, 146, 146, 146, 146, 146, 81, 146, 146, 146, 146, 81, 146, 81,
- 146, 81, 81, 81, 81, 81, 81, 146, 81, 81, 81, 81, 146, 81, 146, 81, 146,
- 81, 146, 146, 146, 81, 146, 81, 146, 81, 146, 81, 146, 81, 146, 146, 146,
- 146, 81, 146, 81, 146, 146, 81, 146, 146, 146, 146, 146, 146, 146, 146,
- 146, 81, 81, 81, 81, 81, 146, 146, 146, 81, 146, 146, 146, 132, 132, 81,
- 81, 81, 81, 81, 81, 529, 529, 529, 529, 525, 529, 529, 529, 529, 529,
- 529, 529, 529, 529, 529, 529, 529, 529, 529, 529, 1037, 1037, 1037, 1037,
- 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 529, 529, 529, 529, 529,
- 529, 529, 1037, 1037, 529, 529, 529, 529, 529, 529, 529, 529, 529, 529,
- 529, 529, 529, 529, 525, 529, 529, 529, 529, 529, 529, 1037, 1037, 47,
- 47, 47, 519, 519, 1037, 1037, 1037, 530, 530, 530, 530, 530, 530, 317,
- 40, 530, 530, 40, 40, 1037, 1037, 1037, 1037, 530, 530, 530, 530, 530,
- 530, 1038, 530, 530, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
- 1038, 1038, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 1037, 1037,
- 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1039, 1039, 1039, 1039, 1039,
- 1039, 1039, 1039, 1039, 1039, 1040, 585, 585, 1037, 1037, 1037, 1037,
- 1037, 585, 585, 585, 585, 1037, 1037, 1037, 1037, 585, 1037, 1037, 1037,
- 1037, 1037, 1037, 1037, 585, 585, 1037, 1037, 1037, 1037, 1037, 1037,
- 525, 525, 525, 525, 525, 525, 1037, 1037, 525, 529, 529, 529, 529, 529,
- 529, 529, 529, 529, 529, 529, 529, 525, 525, 525, 525, 525, 525, 525,
- 525, 525, 529, 525, 525, 525, 525, 525, 525, 529, 525, 525, 525, 525,
- 525, 525, 525, 536, 525, 525, 525, 525, 525, 525, 529, 529, 529, 529,
- 529, 529, 529, 529, 40, 40, 529, 529, 525, 525, 525, 525, 525, 528, 528,
- 525, 525, 525, 525, 525, 528, 525, 525, 525, 525, 525, 536, 536, 536,
- 525, 525, 536, 525, 525, 536, 534, 534, 529, 529, 525, 525, 529, 529,
- 529, 525, 529, 529, 529, 525, 525, 525, 1041, 1041, 1041, 1041, 1041,
- 525, 525, 525, 525, 525, 525, 525, 529, 525, 529, 536, 536, 525, 525,
- 536, 536, 536, 536, 536, 536, 536, 536, 536, 536, 536, 525, 525, 525,
- 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 536, 536, 536, 536,
- 525, 525, 525, 525, 536, 525, 536, 525, 525, 525, 536, 525, 525, 525,
- 525, 536, 536, 536, 525, 536, 536, 536, 528, 525, 528, 525, 528, 525,
- 525, 525, 525, 525, 536, 525, 525, 525, 525, 528, 525, 528, 528, 525,
- 525, 525, 525, 525, 525, 525, 525, 525, 525, 529, 529, 525, 528, 528,
- 528, 528, 528, 528, 528, 525, 525, 525, 525, 525, 525, 525, 525, 528,
- 528, 528, 528, 528, 528, 525, 525, 525, 525, 525, 528, 528, 528, 528,
- 528, 528, 528, 528, 528, 528, 528, 528, 40, 40, 40, 40, 529, 525, 525,
- 525, 525, 529, 529, 529, 529, 529, 534, 534, 529, 529, 529, 529, 536,
- 529, 529, 529, 529, 529, 534, 529, 529, 529, 529, 536, 536, 529, 529,
- 529, 529, 529, 40, 40, 40, 40, 40, 40, 40, 40, 529, 529, 529, 529, 40,
- 40, 529, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 536, 536, 536,
- 525, 525, 525, 536, 536, 536, 536, 536, 40, 40, 40, 40, 40, 40, 538, 538,
- 538, 1042, 1042, 1042, 40, 40, 40, 40, 525, 525, 525, 536, 525, 525, 525,
- 525, 525, 525, 525, 525, 536, 536, 536, 525, 536, 525, 525, 525, 525,
- 525, 529, 529, 529, 529, 529, 529, 536, 529, 529, 529, 525, 525, 525,
- 529, 529, 1037, 1037, 1037, 529, 529, 529, 525, 525, 1037, 1037, 1037,
- 529, 529, 529, 529, 525, 525, 525, 525, 525, 525, 1037, 1037, 1037, 1037,
- 1037, 1037, 40, 40, 40, 40, 1037, 1037, 1037, 1037, 40, 40, 40, 40, 40,
- 529, 529, 529, 529, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 40, 40,
- 1037, 1037, 1037, 1037, 1037, 1037, 40, 40, 40, 40, 40, 40, 1037, 1037,
- 536, 536, 536, 536, 536, 525, 536, 536, 525, 525, 525, 525, 525, 525,
- 536, 525, 536, 536, 525, 525, 525, 536, 536, 1037, 525, 1037, 1037, 525,
- 525, 525, 525, 1037, 1037, 1037, 525, 1037, 525, 525, 525, 525, 525, 525,
- 525, 1037, 1037, 1037, 1037, 1037, 525, 525, 525, 525, 525, 536, 536,
- 525, 536, 536, 1037, 1037, 1037, 1037, 1037, 1037, 525, 536, 536, 536,
- 536, 536, 536, 536, 536, 536, 536, 536, 536, 536, 525, 525, 1037, 1037,
- 1037, 1037, 1037, 1037, 81, 81, 592, 592, 592, 592, 592, 592, 592, 593,
- 592, 592, 592, 592, 592, 593, 593, 593, 592, 593, 593, 593, 593, 593,
- 593, 593, 593, 593, 593, 593, 593, 593, 81, 81, 81, 503, 81, 81, 81, 81,
- 81, 81, 503, 503, 503, 503, 503, 503, 503, 503, 670, 670, 670, 670, 670,
- 670, 81, 81,
+ 800, 81, 81, 81, 81, 801, 801, 801, 801, 801, 801, 801, 802, 802, 802,
+ 802, 802, 802, 802, 802, 802, 81, 81, 81, 81, 81, 81, 81, 803, 803, 803,
+ 803, 803, 803, 803, 803, 803, 803, 803, 81, 81, 81, 81, 81, 804, 804,
+ 804, 804, 804, 804, 804, 804, 804, 804, 804, 81, 81, 81, 81, 81, 81, 81,
+ 805, 805, 805, 805, 805, 805, 806, 806, 806, 806, 806, 806, 806, 806,
+ 806, 806, 806, 806, 807, 807, 807, 807, 808, 808, 808, 808, 808, 808,
+ 808, 808, 808, 808, 81, 81, 81, 81, 81, 81, 809, 809, 809, 809, 809, 809,
+ 809, 809, 809, 809, 809, 809, 809, 809, 809, 81, 810, 810, 810, 810, 810,
+ 810, 810, 810, 810, 810, 810, 810, 810, 811, 811, 811, 811, 811, 811,
+ 811, 811, 811, 811, 810, 812, 812, 812, 812, 812, 812, 812, 812, 812,
+ 812, 812, 812, 812, 812, 813, 813, 814, 814, 814, 813, 814, 813, 813,
+ 813, 813, 815, 815, 815, 815, 816, 816, 816, 816, 816, 81, 81, 81, 81,
+ 81, 81, 817, 817, 817, 817, 817, 817, 817, 817, 817, 817, 817, 817, 817,
+ 817, 817, 81, 818, 819, 818, 820, 820, 820, 820, 820, 820, 820, 820, 820,
+ 820, 820, 820, 820, 819, 819, 819, 819, 819, 819, 819, 819, 819, 819,
+ 819, 819, 819, 819, 821, 822, 822, 823, 823, 823, 823, 823, 81, 81, 81,
+ 81, 824, 824, 824, 824, 824, 824, 824, 824, 824, 824, 824, 824, 824, 824,
+ 824, 824, 824, 824, 824, 824, 825, 825, 825, 825, 825, 825, 825, 825,
+ 825, 825, 81, 81, 81, 81, 81, 81, 81, 821, 826, 826, 827, 828, 828, 828,
+ 828, 828, 828, 828, 828, 828, 828, 828, 828, 828, 827, 827, 827, 826,
+ 826, 826, 826, 827, 827, 829, 830, 831, 831, 832, 833, 833, 833, 833, 81,
+ 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 832, 81, 81, 834, 834, 834, 834,
+ 834, 834, 834, 834, 834, 81, 81, 81, 81, 81, 81, 81, 835, 835, 835, 835,
+ 835, 835, 835, 835, 835, 835, 81, 81, 81, 81, 81, 81, 836, 836, 836, 837,
+ 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 837,
+ 837, 837, 837, 837, 837, 838, 838, 838, 838, 838, 839, 838, 838, 838,
+ 838, 838, 838, 840, 840, 81, 841, 841, 841, 841, 841, 841, 841, 841, 841,
+ 841, 842, 842, 842, 842, 837, 839, 839, 81, 843, 843, 843, 843, 843, 843,
+ 843, 843, 843, 843, 843, 844, 845, 846, 843, 81, 847, 847, 848, 849, 849,
+ 849, 849, 849, 849, 849, 849, 849, 849, 849, 849, 849, 849, 849, 849,
+ 848, 848, 848, 847, 847, 847, 847, 847, 847, 847, 847, 847, 848, 850,
+ 849, 849, 849, 849, 851, 851, 852, 851, 847, 853, 847, 847, 852, 81, 81,
+ 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 849, 855, 849, 851,
+ 851, 851, 81, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
+ 856, 856, 856, 856, 856, 856, 856, 856, 81, 81, 81, 857, 857, 857, 857,
+ 857, 857, 857, 857, 857, 857, 81, 857, 857, 857, 857, 857, 857, 857, 857,
+ 857, 858, 858, 858, 859, 859, 859, 858, 858, 859, 860, 861, 859, 862,
+ 862, 863, 862, 862, 863, 859, 81, 864, 864, 864, 864, 864, 864, 864, 81,
+ 864, 81, 864, 864, 864, 864, 81, 864, 864, 864, 864, 864, 864, 864, 864,
+ 864, 864, 864, 864, 864, 864, 864, 81, 864, 864, 865, 81, 81, 81, 81, 81,
+ 81, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866,
+ 866, 867, 868, 868, 868, 867, 867, 867, 867, 867, 867, 869, 870, 81, 81,
+ 81, 81, 81, 871, 871, 871, 871, 871, 871, 871, 871, 871, 871, 81, 81, 81,
+ 81, 81, 81, 872, 872, 873, 873, 81, 874, 874, 874, 874, 874, 874, 874,
+ 874, 81, 81, 874, 874, 81, 81, 874, 874, 874, 874, 874, 874, 874, 874,
+ 874, 874, 874, 874, 874, 874, 81, 874, 874, 874, 874, 874, 874, 874, 81,
+ 874, 874, 81, 874, 874, 874, 874, 874, 81, 875, 876, 874, 873, 873, 872,
+ 873, 873, 873, 873, 81, 81, 873, 873, 81, 81, 873, 873, 877, 81, 81, 874,
+ 81, 81, 81, 81, 81, 81, 873, 81, 81, 81, 81, 81, 874, 874, 874, 874, 874,
+ 873, 873, 81, 81, 878, 878, 878, 878, 878, 878, 878, 81, 81, 81, 879,
+ 879, 879, 879, 879, 879, 879, 879, 879, 879, 879, 879, 879, 880, 880,
+ 880, 881, 881, 881, 881, 881, 881, 881, 881, 880, 880, 882, 881, 881,
+ 880, 883, 879, 879, 879, 879, 884, 884, 884, 884, 885, 886, 886, 886,
+ 886, 886, 886, 886, 886, 886, 886, 81, 884, 81, 885, 887, 879, 888, 888,
+ 888, 888, 888, 888, 888, 888, 889, 889, 889, 890, 890, 890, 890, 890,
+ 890, 889, 890, 889, 889, 889, 889, 890, 890, 889, 891, 892, 888, 888,
+ 893, 888, 894, 894, 894, 894, 894, 894, 894, 894, 894, 894, 81, 81, 81,
+ 81, 81, 81, 895, 895, 895, 895, 895, 895, 895, 895, 895, 895, 895, 895,
+ 895, 895, 895, 896, 896, 896, 897, 897, 897, 897, 81, 81, 896, 896, 896,
+ 896, 897, 897, 896, 898, 899, 900, 901, 901, 902, 902, 903, 903, 903,
+ 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901,
+ 901, 895, 895, 895, 895, 897, 897, 81, 81, 904, 904, 904, 904, 904, 904,
+ 904, 904, 905, 905, 905, 906, 906, 906, 906, 906, 906, 906, 906, 905,
+ 905, 906, 905, 907, 906, 908, 908, 909, 904, 81, 81, 81, 910, 910, 910,
+ 910, 910, 910, 910, 910, 910, 910, 81, 81, 81, 81, 81, 81, 911, 911, 911,
+ 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 81, 81, 81, 912, 912,
+ 912, 912, 912, 912, 912, 912, 912, 912, 912, 913, 914, 913, 914, 914,
+ 913, 913, 913, 913, 913, 913, 915, 916, 912, 81, 81, 81, 81, 81, 81, 81,
+ 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, 81, 81, 81, 81, 81, 81,
+ 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, 81, 81, 919, 919,
+ 919, 920, 920, 919, 919, 919, 919, 920, 919, 919, 919, 919, 921, 81, 81,
+ 81, 81, 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, 923, 923, 924,
+ 924, 924, 925, 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, 926,
+ 926, 927, 927, 927, 928, 928, 928, 928, 928, 928, 928, 928, 928, 927,
+ 929, 930, 931, 81, 81, 81, 81, 932, 932, 932, 932, 932, 932, 932, 932,
+ 933, 933, 933, 933, 933, 933, 933, 933, 934, 934, 934, 934, 934, 934,
+ 934, 934, 934, 934, 935, 935, 935, 935, 935, 935, 935, 935, 935, 81, 81,
+ 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 936, 937, 937, 937, 937, 937,
+ 937, 937, 937, 81, 81, 937, 937, 937, 937, 937, 937, 937, 938, 938, 938,
+ 939, 939, 939, 939, 81, 81, 939, 939, 938, 938, 938, 938, 940, 937, 941,
+ 937, 938, 81, 81, 81, 942, 943, 943, 943, 943, 943, 943, 944, 944, 943,
+ 943, 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
+ 942, 942, 942, 943, 945, 943, 943, 943, 943, 946, 942, 943, 943, 943,
+ 943, 947, 948, 949, 949, 949, 949, 947, 948, 945, 950, 951, 951, 951,
+ 951, 951, 951, 952, 952, 951, 951, 951, 950, 950, 950, 950, 950, 950,
+ 950, 950, 950, 950, 950, 950, 950, 950, 951, 951, 951, 951, 951, 951,
+ 951, 951, 951, 951, 951, 951, 951, 952, 951, 953, 954, 954, 954, 950,
+ 955, 955, 955, 954, 954, 81, 81, 81, 81, 81, 956, 956, 956, 956, 956,
+ 956, 956, 956, 956, 81, 81, 81, 81, 81, 81, 81, 957, 957, 957, 957, 957,
+ 957, 957, 957, 957, 81, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
+ 957, 957, 957, 958, 959, 959, 959, 959, 959, 959, 959, 81, 959, 959, 959,
+ 959, 959, 959, 958, 960, 957, 961, 961, 961, 961, 961, 81, 81, 962, 962,
+ 962, 962, 962, 962, 962, 962, 962, 962, 963, 963, 963, 963, 963, 963,
+ 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 81, 81,
+ 81, 964, 965, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966,
+ 966, 966, 81, 81, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, 967,
+ 967, 967, 967, 81, 968, 967, 967, 967, 967, 967, 967, 967, 968, 967, 967,
+ 968, 967, 967, 81, 969, 969, 969, 969, 969, 969, 969, 81, 969, 969, 81,
+ 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, 969,
+ 970, 970, 970, 970, 970, 970, 81, 81, 81, 970, 81, 970, 970, 81, 970,
+ 970, 970, 971, 970, 972, 972, 969, 970, 973, 973, 973, 973, 973, 973,
+ 973, 973, 973, 973, 81, 81, 81, 81, 81, 81, 974, 974, 974, 974, 974, 974,
+ 81, 974, 974, 81, 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, 974,
+ 974, 974, 974, 974, 974, 975, 975, 975, 975, 975, 81, 976, 976, 81, 975,
+ 975, 976, 975, 977, 974, 81, 81, 81, 81, 81, 81, 81, 978, 978, 978, 978,
+ 978, 978, 978, 978, 978, 978, 81, 81, 81, 81, 81, 81, 979, 979, 979, 979,
+ 979, 979, 979, 979, 979, 979, 979, 980, 980, 981, 981, 982, 982, 81, 81,
+ 81, 81, 81, 81, 81, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 244, 244, 244, 244, 244, 244, 244, 244, 983, 983, 983,
+ 983, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
+ 244, 244, 244, 244, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
+ 984, 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, 81, 81, 81, 81,
+ 81, 81, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, 986,
+ 986, 986, 81, 987, 987, 987, 987, 987, 81, 81, 81, 985, 985, 985, 985,
+ 81, 81, 81, 81, 988, 988, 988, 988, 988, 988, 988, 988, 989, 989, 989,
+ 990, 990, 990, 988, 988, 988, 988, 990, 988, 988, 988, 989, 990, 989,
+ 990, 988, 988, 988, 988, 988, 988, 988, 989, 990, 990, 988, 988, 988,
+ 988, 988, 988, 988, 988, 988, 988, 988, 81, 991, 991, 991, 991, 991, 991,
+ 991, 992, 993, 81, 81, 81, 81, 81, 81, 81, 994, 994, 994, 994, 994, 994,
+ 994, 994, 994, 994, 994, 994, 994, 994, 995, 996, 994, 994, 994, 994,
+ 994, 994, 994, 81, 610, 81, 81, 81, 81, 81, 81, 81, 997, 997, 997, 997,
+ 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, 81, 998, 998, 998,
+ 998, 998, 998, 998, 998, 998, 998, 81, 81, 81, 81, 999, 999, 1000, 1000,
+ 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000,
+ 81, 81, 1001, 1001, 1001, 1001, 1001, 1002, 81, 81, 1003, 1003, 1003,
+ 1003, 1003, 1003, 1003, 1003, 1004, 1004, 1004, 1004, 1004, 1004, 1004,
+ 1005, 1005, 1005, 1006, 1006, 1007, 1007, 1007, 1007, 1008, 1008, 1008,
+ 1008, 1005, 1007, 81, 81, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009,
+ 1009, 1009, 81, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 81, 1003, 1003,
+ 1003, 1003, 1003, 81, 81, 81, 81, 81, 1003, 1003, 1003, 1011, 1011, 1011,
+ 1011, 1011, 1011, 1011, 1011, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
+ 1013, 1013, 1013, 1013, 1014, 1014, 1015, 1015, 81, 81, 81, 81, 81, 1016,
+ 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 81, 81, 81,
+ 81, 1017, 1016, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018,
+ 1018, 1018, 1018, 1018, 1018, 1018, 81, 81, 81, 81, 81, 81, 81, 1017,
+ 1017, 1017, 1017, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019,
+ 1019, 1019, 1019, 1019, 1020, 1021, 582, 1022, 81, 81, 81, 81, 1023,
+ 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 81, 81, 81,
+ 81, 81, 581, 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, 576,
+ 576, 576, 81, 575, 575, 575, 81, 81, 81, 81, 81, 81, 81, 81, 81, 580,
+ 580, 580, 580, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
+ 1024, 1024, 1024, 81, 81, 81, 81, 1025, 1025, 1025, 1025, 1025, 1025,
+ 1025, 1025, 1025, 1025, 1025, 81, 81, 81, 81, 81, 1025, 1025, 1025, 1025,
+ 1025, 81, 81, 81, 1025, 81, 81, 81, 81, 81, 81, 81, 1025, 1025, 81, 81,
+ 1026, 1027, 1028, 1029, 505, 505, 505, 505, 81, 81, 81, 81, 318, 318,
+ 318, 318, 318, 318, 81, 81, 318, 318, 318, 318, 318, 318, 318, 81, 81,
+ 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 1030, 1030,
+ 453, 453, 453, 318, 318, 318, 1031, 1030, 1030, 1030, 1030, 1030, 505,
+ 505, 505, 505, 505, 505, 505, 505, 156, 156, 156, 156, 156, 156, 156,
+ 156, 318, 318, 96, 96, 96, 96, 96, 156, 156, 318, 318, 318, 318, 318,
+ 318, 96, 96, 96, 96, 318, 318, 318, 81, 81, 81, 81, 81, 81, 81, 727, 727,
+ 1032, 1032, 1032, 727, 81, 81, 621, 621, 621, 621, 81, 81, 81, 81, 621,
+ 81, 81, 81, 81, 81, 81, 81, 512, 512, 512, 512, 512, 512, 512, 512, 512,
+ 512, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 49, 49, 49, 49, 49,
+ 49, 49, 81, 49, 49, 49, 49, 49, 49, 512, 81, 512, 512, 81, 81, 512, 81,
+ 81, 512, 512, 81, 81, 512, 512, 512, 512, 81, 512, 512, 49, 49, 81, 49,
+ 81, 49, 49, 49, 49, 49, 49, 49, 81, 49, 49, 49, 49, 49, 49, 49, 512, 512,
+ 81, 512, 512, 512, 512, 81, 81, 512, 512, 512, 512, 512, 512, 512, 512,
+ 81, 512, 512, 512, 512, 512, 512, 512, 81, 49, 49, 512, 512, 81, 512,
+ 512, 512, 512, 81, 512, 512, 512, 512, 512, 81, 512, 81, 81, 81, 512,
+ 512, 512, 512, 512, 512, 512, 81, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 81, 81, 512, 1033, 49, 49, 49, 49, 49, 49, 49, 49, 49, 498, 49,
+ 49, 49, 49, 49, 49, 512, 512, 512, 512, 512, 512, 512, 512, 512, 1033,
+ 49, 49, 49, 49, 49, 49, 49, 49, 49, 498, 49, 49, 512, 512, 512, 512, 512,
+ 1033, 49, 49, 49, 49, 49, 49, 49, 49, 49, 498, 49, 49, 49, 49, 49, 49,
+ 512, 512, 512, 512, 512, 512, 512, 512, 512, 1033, 49, 498, 49, 49, 49,
+ 49, 49, 49, 49, 49, 512, 49, 81, 81, 1034, 1034, 1034, 1034, 1034, 1034,
+ 1034, 1034, 1034, 1034, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035,
+ 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036,
+ 1036, 1036, 1036, 1035, 1035, 1035, 1035, 1036, 1036, 1036, 1036, 1036,
+ 1036, 1036, 1036, 1036, 1036, 1035, 1035, 1035, 1035, 1035, 1035, 1035,
+ 1035, 1036, 1035, 1035, 1035, 1035, 1035, 1035, 1036, 1035, 1035, 1037,
+ 1037, 1037, 1037, 1038, 81, 81, 81, 81, 81, 81, 81, 1036, 1036, 1036,
+ 1036, 1036, 81, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1039, 1039,
+ 1039, 1039, 1039, 1039, 1039, 81, 1039, 1039, 1039, 1039, 1039, 1039,
+ 1039, 1039, 1039, 81, 81, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 81,
+ 1039, 1039, 81, 1039, 1039, 1039, 1039, 1039, 81, 81, 81, 81, 81, 1040,
+ 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040,
+ 81, 81, 81, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1042, 1042, 1042,
+ 1042, 1042, 1042, 1042, 81, 81, 1043, 1043, 1043, 1043, 1043, 1043, 1043,
+ 1043, 1043, 1043, 81, 81, 81, 81, 1040, 1044, 1045, 1045, 1045, 1045,
+ 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1046, 1046, 1046, 1046,
+ 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 81, 81, 81,
+ 81, 81, 1048, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049,
+ 1049, 1049, 1049, 81, 81, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050,
+ 1050, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 81, 1052, 1052, 1052,
+ 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1053, 1053, 1053, 1053, 1053,
+ 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
+ 1053, 1054, 1054, 1054, 1054, 1054, 1054, 1055, 1056, 81, 81, 81, 81,
+ 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 81, 81, 81,
+ 81, 1058, 1058, 81, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,
+ 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1060, 1059,
+ 1059, 1059, 1061, 1059, 1059, 1059, 1059, 81, 81, 81, 1059, 1059, 1059,
+ 1059, 1059, 1059, 1062, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 81, 81,
+ 146, 146, 146, 146, 81, 146, 146, 146, 81, 146, 146, 81, 146, 81, 81,
+ 146, 81, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 81, 146, 146,
+ 146, 146, 81, 146, 81, 146, 81, 81, 81, 81, 81, 81, 146, 81, 81, 81, 81,
+ 146, 81, 146, 81, 146, 81, 146, 146, 146, 81, 146, 81, 146, 81, 146, 81,
+ 146, 81, 146, 146, 146, 146, 81, 146, 81, 146, 146, 81, 146, 146, 146,
+ 146, 146, 146, 146, 146, 146, 81, 81, 81, 81, 81, 146, 146, 146, 81, 146,
+ 146, 146, 132, 132, 81, 81, 81, 81, 81, 81, 531, 531, 531, 531, 527, 531,
+ 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 531,
+ 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063,
+ 531, 531, 531, 531, 531, 531, 531, 1063, 1063, 531, 531, 531, 531, 531,
+ 531, 531, 531, 531, 531, 531, 531, 531, 531, 527, 531, 531, 531, 531,
+ 531, 531, 1063, 1063, 47, 47, 47, 521, 521, 1063, 1063, 1063, 532, 532,
+ 532, 532, 532, 532, 318, 40, 532, 532, 40, 40, 40, 1063, 1063, 1063, 532,
+ 532, 532, 532, 532, 532, 1064, 532, 532, 1064, 1064, 1064, 1064, 1064,
+ 1064, 1064, 1064, 1064, 1064, 532, 532, 532, 532, 532, 532, 532, 532,
+ 532, 532, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1065,
+ 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1066, 587, 587,
+ 1063, 1063, 1063, 1063, 1063, 587, 587, 587, 587, 1063, 1063, 1063, 1063,
+ 587, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 587, 587, 1063, 1063,
+ 1063, 1063, 1063, 1063, 527, 527, 527, 527, 527, 527, 1063, 1063, 527,
+ 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 527, 527,
+ 527, 527, 527, 527, 527, 527, 527, 531, 527, 527, 527, 527, 527, 527,
+ 531, 527, 527, 527, 527, 527, 527, 527, 538, 527, 527, 527, 527, 527,
+ 527, 531, 531, 531, 531, 531, 531, 531, 531, 40, 40, 531, 531, 527, 527,
+ 527, 527, 527, 530, 530, 527, 527, 527, 527, 527, 530, 527, 527, 527,
+ 527, 527, 538, 538, 538, 527, 527, 538, 527, 527, 538, 536, 536, 531,
+ 531, 527, 527, 531, 531, 531, 527, 531, 531, 531, 527, 527, 527, 1067,
+ 1067, 1067, 1067, 1067, 527, 527, 527, 527, 527, 527, 527, 531, 527, 531,
+ 538, 538, 527, 527, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538,
+ 538, 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 527,
+ 538, 538, 538, 527, 527, 527, 538, 527, 527, 527, 527, 538, 538, 538,
+ 527, 538, 538, 538, 527, 527, 527, 527, 527, 527, 527, 538, 527, 538,
+ 527, 527, 527, 527, 527, 527, 530, 527, 530, 527, 530, 527, 527, 527,
+ 527, 527, 538, 527, 527, 527, 527, 530, 527, 530, 530, 527, 527, 527,
+ 527, 527, 527, 527, 527, 527, 527, 531, 531, 527, 530, 530, 530, 530,
+ 530, 530, 530, 527, 527, 527, 527, 527, 527, 527, 527, 530, 530, 530,
+ 530, 530, 530, 527, 527, 527, 527, 527, 530, 530, 530, 530, 530, 530,
+ 530, 530, 530, 530, 530, 530, 40, 40, 40, 40, 531, 527, 527, 527, 527,
+ 531, 531, 531, 531, 531, 536, 536, 531, 531, 531, 531, 538, 531, 531,
+ 531, 531, 531, 536, 531, 531, 531, 531, 538, 538, 531, 531, 531, 531,
+ 531, 40, 40, 40, 40, 40, 40, 40, 40, 531, 531, 531, 531, 40, 40, 531,
+ 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 538, 538, 538, 527,
+ 527, 527, 538, 538, 538, 538, 538, 40, 40, 40, 40, 40, 40, 540, 540, 540,
+ 1068, 1068, 1068, 40, 40, 40, 40, 527, 527, 527, 538, 527, 527, 527, 527,
+ 527, 527, 527, 527, 538, 538, 538, 527, 538, 527, 527, 527, 527, 527,
+ 531, 531, 531, 531, 531, 531, 538, 531, 531, 531, 527, 527, 527, 531,
+ 531, 527, 1063, 1063, 531, 531, 531, 527, 527, 1063, 1063, 1063, 531,
+ 531, 531, 531, 527, 527, 527, 527, 527, 527, 527, 1063, 1063, 1063, 1063,
+ 1063, 40, 40, 40, 40, 1063, 1063, 1063, 1063, 40, 40, 40, 40, 40, 531,
+ 531, 531, 531, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 527, 527, 527,
+ 527, 1063, 1063, 1063, 1063, 40, 40, 1063, 1063, 1063, 1063, 1063, 1063,
+ 40, 40, 40, 40, 40, 40, 1063, 1063, 40, 40, 40, 40, 1063, 527, 527, 538,
+ 527, 527, 527, 527, 527, 527, 538, 527, 538, 538, 527, 527, 538, 538,
+ 538, 527, 527, 527, 1063, 527, 527, 527, 527, 1063, 1063, 1063, 527, 527,
+ 527, 527, 527, 527, 527, 527, 527, 1063, 1063, 527, 527, 527, 527, 527,
+ 527, 1063, 1063, 1063, 527, 527, 527, 527, 527, 527, 527, 538, 538, 527,
+ 538, 538, 527, 538, 527, 527, 527, 527, 527, 527, 527, 1063, 1063, 538,
+ 538, 538, 527, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538, 538,
+ 538, 538, 527, 527, 1063, 1063, 1063, 1063, 1063, 1063, 81, 81, 594, 594,
+ 594, 594, 594, 594, 594, 595, 594, 594, 594, 594, 594, 595, 595, 595,
+ 594, 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, 81,
+ 81, 81, 505, 81, 81, 81, 81, 81, 81, 505, 505, 505, 505, 505, 505, 505,
+ 505, 673, 673, 673, 673, 673, 673, 81, 81,
};
/* decomposition data */
@@ -4534,118 +4594,118 @@ static const unsigned short decomp_data[] = {
78, 266, 79, 266, 80, 266, 81, 266, 82, 266, 83, 266, 84, 266, 85, 266,
86, 266, 87, 266, 88, 266, 89, 266, 90, 522, 72, 86, 522, 77, 86, 522,
83, 68, 522, 83, 83, 778, 80, 80, 86, 522, 87, 67, 515, 77, 67, 515, 77,
- 68, 522, 68, 74, 522, 12411, 12363, 522, 12467, 12467, 266, 12469, 266,
- 25163, 266, 23383, 266, 21452, 266, 12487, 266, 20108, 266, 22810, 266,
- 35299, 266, 22825, 266, 20132, 266, 26144, 266, 28961, 266, 26009, 266,
- 21069, 266, 24460, 266, 20877, 266, 26032, 266, 21021, 266, 32066, 266,
- 29983, 266, 36009, 266, 22768, 266, 21561, 266, 28436, 266, 25237, 266,
- 25429, 266, 19968, 266, 19977, 266, 36938, 266, 24038, 266, 20013, 266,
- 21491, 266, 25351, 266, 36208, 266, 25171, 266, 31105, 266, 31354, 266,
- 21512, 266, 28288, 266, 26377, 266, 26376, 266, 30003, 266, 21106, 266,
- 21942, 266, 37197, 770, 12308, 26412, 12309, 770, 12308, 19977, 12309,
- 770, 12308, 20108, 12309, 770, 12308, 23433, 12309, 770, 12308, 28857,
- 12309, 770, 12308, 25171, 12309, 770, 12308, 30423, 12309, 770, 12308,
- 21213, 12309, 770, 12308, 25943, 12309, 263, 24471, 263, 21487, 256,
- 20029, 256, 20024, 256, 20033, 256, 55360, 56610, 256, 20320, 256, 20398,
- 256, 20411, 256, 20482, 256, 20602, 256, 20633, 256, 20711, 256, 20687,
- 256, 13470, 256, 55361, 56890, 256, 20813, 256, 20820, 256, 20836, 256,
- 20855, 256, 55361, 56604, 256, 13497, 256, 20839, 256, 20877, 256, 55361,
- 56651, 256, 20887, 256, 20900, 256, 20172, 256, 20908, 256, 20917, 256,
- 55396, 56799, 256, 20981, 256, 20995, 256, 13535, 256, 21051, 256, 21062,
- 256, 21106, 256, 21111, 256, 13589, 256, 21191, 256, 21193, 256, 21220,
- 256, 21242, 256, 21253, 256, 21254, 256, 21271, 256, 21321, 256, 21329,
- 256, 21338, 256, 21363, 256, 21373, 256, 21375, 256, 21375, 256, 21375,
- 256, 55362, 56876, 256, 28784, 256, 21450, 256, 21471, 256, 55362, 57187,
- 256, 21483, 256, 21489, 256, 21510, 256, 21662, 256, 21560, 256, 21576,
- 256, 21608, 256, 21666, 256, 21750, 256, 21776, 256, 21843, 256, 21859,
- 256, 21892, 256, 21892, 256, 21913, 256, 21931, 256, 21939, 256, 21954,
- 256, 22294, 256, 22022, 256, 22295, 256, 22097, 256, 22132, 256, 20999,
- 256, 22766, 256, 22478, 256, 22516, 256, 22541, 256, 22411, 256, 22578,
- 256, 22577, 256, 22700, 256, 55365, 56548, 256, 22770, 256, 22775, 256,
- 22790, 256, 22810, 256, 22818, 256, 22882, 256, 55365, 57000, 256, 55365,
- 57066, 256, 23020, 256, 23067, 256, 23079, 256, 23000, 256, 23142, 256,
- 14062, 256, 14076, 256, 23304, 256, 23358, 256, 23358, 256, 55366, 56776,
- 256, 23491, 256, 23512, 256, 23527, 256, 23539, 256, 55366, 57112, 256,
- 23551, 256, 23558, 256, 24403, 256, 23586, 256, 14209, 256, 23648, 256,
- 23662, 256, 23744, 256, 23693, 256, 55367, 56804, 256, 23875, 256, 55367,
- 56806, 256, 23918, 256, 23915, 256, 23932, 256, 24033, 256, 24034, 256,
- 14383, 256, 24061, 256, 24104, 256, 24125, 256, 24169, 256, 14434, 256,
- 55368, 56707, 256, 14460, 256, 24240, 256, 24243, 256, 24246, 256, 24266,
- 256, 55400, 57234, 256, 24318, 256, 55368, 57137, 256, 55368, 57137, 256,
- 33281, 256, 24354, 256, 24354, 256, 14535, 256, 55372, 57016, 256, 55384,
- 56794, 256, 24418, 256, 24427, 256, 14563, 256, 24474, 256, 24525, 256,
- 24535, 256, 24569, 256, 24705, 256, 14650, 256, 14620, 256, 24724, 256,
- 55369, 57044, 256, 24775, 256, 24904, 256, 24908, 256, 24910, 256, 24908,
- 256, 24954, 256, 24974, 256, 25010, 256, 24996, 256, 25007, 256, 25054,
- 256, 25074, 256, 25078, 256, 25104, 256, 25115, 256, 25181, 256, 25265,
- 256, 25300, 256, 25424, 256, 55370, 57100, 256, 25405, 256, 25340, 256,
- 25448, 256, 25475, 256, 25572, 256, 55370, 57329, 256, 25634, 256, 25541,
- 256, 25513, 256, 14894, 256, 25705, 256, 25726, 256, 25757, 256, 25719,
- 256, 14956, 256, 25935, 256, 25964, 256, 55372, 56330, 256, 26083, 256,
- 26360, 256, 26185, 256, 15129, 256, 26257, 256, 15112, 256, 15076, 256,
- 20882, 256, 20885, 256, 26368, 256, 26268, 256, 32941, 256, 17369, 256,
- 26391, 256, 26395, 256, 26401, 256, 26462, 256, 26451, 256, 55372, 57283,
- 256, 15177, 256, 26618, 256, 26501, 256, 26706, 256, 26757, 256, 55373,
- 56429, 256, 26766, 256, 26655, 256, 26900, 256, 15261, 256, 26946, 256,
- 27043, 256, 27114, 256, 27304, 256, 55373, 56995, 256, 27355, 256, 15384,
- 256, 27425, 256, 55374, 56487, 256, 27476, 256, 15438, 256, 27506, 256,
- 27551, 256, 27578, 256, 27579, 256, 55374, 56973, 256, 55367, 56587, 256,
- 55374, 57082, 256, 27726, 256, 55375, 56508, 256, 27839, 256, 27853, 256,
- 27751, 256, 27926, 256, 27966, 256, 28023, 256, 27969, 256, 28009, 256,
- 28024, 256, 28037, 256, 55375, 56606, 256, 27956, 256, 28207, 256, 28270,
- 256, 15667, 256, 28363, 256, 28359, 256, 55375, 57041, 256, 28153, 256,
- 28526, 256, 55375, 57182, 256, 55375, 57230, 256, 28614, 256, 28729, 256,
- 28702, 256, 28699, 256, 15766, 256, 28746, 256, 28797, 256, 28791, 256,
- 28845, 256, 55361, 56613, 256, 28997, 256, 55376, 56931, 256, 29084, 256,
- 55376, 57259, 256, 29224, 256, 29237, 256, 29264, 256, 55377, 56840, 256,
- 29312, 256, 29333, 256, 55377, 57141, 256, 55378, 56340, 256, 29562, 256,
- 29579, 256, 16044, 256, 29605, 256, 16056, 256, 16056, 256, 29767, 256,
- 29788, 256, 29809, 256, 29829, 256, 29898, 256, 16155, 256, 29988, 256,
- 55379, 56374, 256, 30014, 256, 55379, 56466, 256, 30064, 256, 55368,
- 56735, 256, 30224, 256, 55379, 57249, 256, 55379, 57272, 256, 55380,
- 56388, 256, 16380, 256, 16392, 256, 30452, 256, 55380, 56563, 256, 55380,
- 56562, 256, 55380, 56601, 256, 55380, 56627, 256, 30494, 256, 30495, 256,
- 30495, 256, 30538, 256, 16441, 256, 30603, 256, 16454, 256, 16534, 256,
- 55381, 56349, 256, 30798, 256, 30860, 256, 30924, 256, 16611, 256, 55381,
- 56870, 256, 31062, 256, 55381, 56986, 256, 55381, 57029, 256, 31119, 256,
- 31211, 256, 16687, 256, 31296, 256, 31306, 256, 31311, 256, 55382, 56700,
- 256, 55382, 56999, 256, 55382, 56999, 256, 31470, 256, 16898, 256, 55382,
- 57259, 256, 31686, 256, 31689, 256, 16935, 256, 55383, 56448, 256, 31954,
- 256, 17056, 256, 31976, 256, 31971, 256, 32000, 256, 55383, 57222, 256,
- 32099, 256, 17153, 256, 32199, 256, 32258, 256, 32325, 256, 17204, 256,
- 55384, 56872, 256, 55384, 56903, 256, 17241, 256, 55384, 57049, 256,
- 32634, 256, 55384, 57150, 256, 32661, 256, 32762, 256, 32773, 256, 55385,
- 56538, 256, 55385, 56611, 256, 32864, 256, 55385, 56744, 256, 32880, 256,
- 55372, 57183, 256, 17365, 256, 32946, 256, 33027, 256, 17419, 256, 33086,
- 256, 23221, 256, 55385, 57255, 256, 55385, 57269, 256, 55372, 57235, 256,
- 55372, 57244, 256, 33281, 256, 33284, 256, 36766, 256, 17515, 256, 33425,
- 256, 33419, 256, 33437, 256, 21171, 256, 33457, 256, 33459, 256, 33469,
- 256, 33510, 256, 55386, 57148, 256, 33509, 256, 33565, 256, 33635, 256,
- 33709, 256, 33571, 256, 33725, 256, 33767, 256, 33879, 256, 33619, 256,
- 33738, 256, 33740, 256, 33756, 256, 55387, 56374, 256, 55387, 56683, 256,
- 55387, 56533, 256, 17707, 256, 34033, 256, 34035, 256, 34070, 256, 55388,
- 57290, 256, 34148, 256, 55387, 57132, 256, 17757, 256, 17761, 256, 55387,
- 57265, 256, 55388, 56530, 256, 17771, 256, 34384, 256, 34396, 256, 34407,
- 256, 34409, 256, 34473, 256, 34440, 256, 34574, 256, 34530, 256, 34681,
- 256, 34600, 256, 34667, 256, 34694, 256, 17879, 256, 34785, 256, 34817,
- 256, 17913, 256, 34912, 256, 34915, 256, 55389, 56935, 256, 35031, 256,
- 35038, 256, 17973, 256, 35066, 256, 13499, 256, 55390, 56494, 256, 55390,
- 56678, 256, 18110, 256, 18119, 256, 35488, 256, 35565, 256, 35722, 256,
- 35925, 256, 55391, 56488, 256, 36011, 256, 36033, 256, 36123, 256, 36215,
- 256, 55391, 57135, 256, 55362, 56324, 256, 36299, 256, 36284, 256, 36336,
- 256, 55362, 56542, 256, 36564, 256, 36664, 256, 55393, 56786, 256, 55393,
- 56813, 256, 37012, 256, 37105, 256, 37137, 256, 55393, 57134, 256, 37147,
- 256, 37432, 256, 37591, 256, 37592, 256, 37500, 256, 37881, 256, 37909,
- 256, 55394, 57338, 256, 38283, 256, 18837, 256, 38327, 256, 55395, 56695,
- 256, 18918, 256, 38595, 256, 23986, 256, 38691, 256, 55396, 56645, 256,
- 55396, 56858, 256, 19054, 256, 19062, 256, 38880, 256, 55397, 56330, 256,
- 19122, 256, 55397, 56470, 256, 38923, 256, 38923, 256, 38953, 256, 55397,
- 56758, 256, 39138, 256, 19251, 256, 39209, 256, 39335, 256, 39362, 256,
- 39422, 256, 19406, 256, 55398, 57136, 256, 39698, 256, 40000, 256, 40189,
- 256, 19662, 256, 19693, 256, 40295, 256, 55400, 56526, 256, 19704, 256,
- 55400, 56581, 256, 55400, 56846, 256, 55400, 56977, 256, 40635, 256,
- 19798, 256, 40697, 256, 40702, 256, 40709, 256, 40719, 256, 40726, 256,
- 40763, 256, 55401, 56832,
+ 68, 515, 77, 82, 522, 68, 74, 522, 12411, 12363, 522, 12467, 12467, 266,
+ 12469, 266, 25163, 266, 23383, 266, 21452, 266, 12487, 266, 20108, 266,
+ 22810, 266, 35299, 266, 22825, 266, 20132, 266, 26144, 266, 28961, 266,
+ 26009, 266, 21069, 266, 24460, 266, 20877, 266, 26032, 266, 21021, 266,
+ 32066, 266, 29983, 266, 36009, 266, 22768, 266, 21561, 266, 28436, 266,
+ 25237, 266, 25429, 266, 19968, 266, 19977, 266, 36938, 266, 24038, 266,
+ 20013, 266, 21491, 266, 25351, 266, 36208, 266, 25171, 266, 31105, 266,
+ 31354, 266, 21512, 266, 28288, 266, 26377, 266, 26376, 266, 30003, 266,
+ 21106, 266, 21942, 266, 37197, 770, 12308, 26412, 12309, 770, 12308,
+ 19977, 12309, 770, 12308, 20108, 12309, 770, 12308, 23433, 12309, 770,
+ 12308, 28857, 12309, 770, 12308, 25171, 12309, 770, 12308, 30423, 12309,
+ 770, 12308, 21213, 12309, 770, 12308, 25943, 12309, 263, 24471, 263,
+ 21487, 256, 20029, 256, 20024, 256, 20033, 256, 55360, 56610, 256, 20320,
+ 256, 20398, 256, 20411, 256, 20482, 256, 20602, 256, 20633, 256, 20711,
+ 256, 20687, 256, 13470, 256, 55361, 56890, 256, 20813, 256, 20820, 256,
+ 20836, 256, 20855, 256, 55361, 56604, 256, 13497, 256, 20839, 256, 20877,
+ 256, 55361, 56651, 256, 20887, 256, 20900, 256, 20172, 256, 20908, 256,
+ 20917, 256, 55396, 56799, 256, 20981, 256, 20995, 256, 13535, 256, 21051,
+ 256, 21062, 256, 21106, 256, 21111, 256, 13589, 256, 21191, 256, 21193,
+ 256, 21220, 256, 21242, 256, 21253, 256, 21254, 256, 21271, 256, 21321,
+ 256, 21329, 256, 21338, 256, 21363, 256, 21373, 256, 21375, 256, 21375,
+ 256, 21375, 256, 55362, 56876, 256, 28784, 256, 21450, 256, 21471, 256,
+ 55362, 57187, 256, 21483, 256, 21489, 256, 21510, 256, 21662, 256, 21560,
+ 256, 21576, 256, 21608, 256, 21666, 256, 21750, 256, 21776, 256, 21843,
+ 256, 21859, 256, 21892, 256, 21892, 256, 21913, 256, 21931, 256, 21939,
+ 256, 21954, 256, 22294, 256, 22022, 256, 22295, 256, 22097, 256, 22132,
+ 256, 20999, 256, 22766, 256, 22478, 256, 22516, 256, 22541, 256, 22411,
+ 256, 22578, 256, 22577, 256, 22700, 256, 55365, 56548, 256, 22770, 256,
+ 22775, 256, 22790, 256, 22810, 256, 22818, 256, 22882, 256, 55365, 57000,
+ 256, 55365, 57066, 256, 23020, 256, 23067, 256, 23079, 256, 23000, 256,
+ 23142, 256, 14062, 256, 14076, 256, 23304, 256, 23358, 256, 23358, 256,
+ 55366, 56776, 256, 23491, 256, 23512, 256, 23527, 256, 23539, 256, 55366,
+ 57112, 256, 23551, 256, 23558, 256, 24403, 256, 23586, 256, 14209, 256,
+ 23648, 256, 23662, 256, 23744, 256, 23693, 256, 55367, 56804, 256, 23875,
+ 256, 55367, 56806, 256, 23918, 256, 23915, 256, 23932, 256, 24033, 256,
+ 24034, 256, 14383, 256, 24061, 256, 24104, 256, 24125, 256, 24169, 256,
+ 14434, 256, 55368, 56707, 256, 14460, 256, 24240, 256, 24243, 256, 24246,
+ 256, 24266, 256, 55400, 57234, 256, 24318, 256, 55368, 57137, 256, 55368,
+ 57137, 256, 33281, 256, 24354, 256, 24354, 256, 14535, 256, 55372, 57016,
+ 256, 55384, 56794, 256, 24418, 256, 24427, 256, 14563, 256, 24474, 256,
+ 24525, 256, 24535, 256, 24569, 256, 24705, 256, 14650, 256, 14620, 256,
+ 24724, 256, 55369, 57044, 256, 24775, 256, 24904, 256, 24908, 256, 24910,
+ 256, 24908, 256, 24954, 256, 24974, 256, 25010, 256, 24996, 256, 25007,
+ 256, 25054, 256, 25074, 256, 25078, 256, 25104, 256, 25115, 256, 25181,
+ 256, 25265, 256, 25300, 256, 25424, 256, 55370, 57100, 256, 25405, 256,
+ 25340, 256, 25448, 256, 25475, 256, 25572, 256, 55370, 57329, 256, 25634,
+ 256, 25541, 256, 25513, 256, 14894, 256, 25705, 256, 25726, 256, 25757,
+ 256, 25719, 256, 14956, 256, 25935, 256, 25964, 256, 55372, 56330, 256,
+ 26083, 256, 26360, 256, 26185, 256, 15129, 256, 26257, 256, 15112, 256,
+ 15076, 256, 20882, 256, 20885, 256, 26368, 256, 26268, 256, 32941, 256,
+ 17369, 256, 26391, 256, 26395, 256, 26401, 256, 26462, 256, 26451, 256,
+ 55372, 57283, 256, 15177, 256, 26618, 256, 26501, 256, 26706, 256, 26757,
+ 256, 55373, 56429, 256, 26766, 256, 26655, 256, 26900, 256, 15261, 256,
+ 26946, 256, 27043, 256, 27114, 256, 27304, 256, 55373, 56995, 256, 27355,
+ 256, 15384, 256, 27425, 256, 55374, 56487, 256, 27476, 256, 15438, 256,
+ 27506, 256, 27551, 256, 27578, 256, 27579, 256, 55374, 56973, 256, 55367,
+ 56587, 256, 55374, 57082, 256, 27726, 256, 55375, 56508, 256, 27839, 256,
+ 27853, 256, 27751, 256, 27926, 256, 27966, 256, 28023, 256, 27969, 256,
+ 28009, 256, 28024, 256, 28037, 256, 55375, 56606, 256, 27956, 256, 28207,
+ 256, 28270, 256, 15667, 256, 28363, 256, 28359, 256, 55375, 57041, 256,
+ 28153, 256, 28526, 256, 55375, 57182, 256, 55375, 57230, 256, 28614, 256,
+ 28729, 256, 28702, 256, 28699, 256, 15766, 256, 28746, 256, 28797, 256,
+ 28791, 256, 28845, 256, 55361, 56613, 256, 28997, 256, 55376, 56931, 256,
+ 29084, 256, 55376, 57259, 256, 29224, 256, 29237, 256, 29264, 256, 55377,
+ 56840, 256, 29312, 256, 29333, 256, 55377, 57141, 256, 55378, 56340, 256,
+ 29562, 256, 29579, 256, 16044, 256, 29605, 256, 16056, 256, 16056, 256,
+ 29767, 256, 29788, 256, 29809, 256, 29829, 256, 29898, 256, 16155, 256,
+ 29988, 256, 55379, 56374, 256, 30014, 256, 55379, 56466, 256, 30064, 256,
+ 55368, 56735, 256, 30224, 256, 55379, 57249, 256, 55379, 57272, 256,
+ 55380, 56388, 256, 16380, 256, 16392, 256, 30452, 256, 55380, 56563, 256,
+ 55380, 56562, 256, 55380, 56601, 256, 55380, 56627, 256, 30494, 256,
+ 30495, 256, 30495, 256, 30538, 256, 16441, 256, 30603, 256, 16454, 256,
+ 16534, 256, 55381, 56349, 256, 30798, 256, 30860, 256, 30924, 256, 16611,
+ 256, 55381, 56870, 256, 31062, 256, 55381, 56986, 256, 55381, 57029, 256,
+ 31119, 256, 31211, 256, 16687, 256, 31296, 256, 31306, 256, 31311, 256,
+ 55382, 56700, 256, 55382, 56999, 256, 55382, 56999, 256, 31470, 256,
+ 16898, 256, 55382, 57259, 256, 31686, 256, 31689, 256, 16935, 256, 55383,
+ 56448, 256, 31954, 256, 17056, 256, 31976, 256, 31971, 256, 32000, 256,
+ 55383, 57222, 256, 32099, 256, 17153, 256, 32199, 256, 32258, 256, 32325,
+ 256, 17204, 256, 55384, 56872, 256, 55384, 56903, 256, 17241, 256, 55384,
+ 57049, 256, 32634, 256, 55384, 57150, 256, 32661, 256, 32762, 256, 32773,
+ 256, 55385, 56538, 256, 55385, 56611, 256, 32864, 256, 55385, 56744, 256,
+ 32880, 256, 55372, 57183, 256, 17365, 256, 32946, 256, 33027, 256, 17419,
+ 256, 33086, 256, 23221, 256, 55385, 57255, 256, 55385, 57269, 256, 55372,
+ 57235, 256, 55372, 57244, 256, 33281, 256, 33284, 256, 36766, 256, 17515,
+ 256, 33425, 256, 33419, 256, 33437, 256, 21171, 256, 33457, 256, 33459,
+ 256, 33469, 256, 33510, 256, 55386, 57148, 256, 33509, 256, 33565, 256,
+ 33635, 256, 33709, 256, 33571, 256, 33725, 256, 33767, 256, 33879, 256,
+ 33619, 256, 33738, 256, 33740, 256, 33756, 256, 55387, 56374, 256, 55387,
+ 56683, 256, 55387, 56533, 256, 17707, 256, 34033, 256, 34035, 256, 34070,
+ 256, 55388, 57290, 256, 34148, 256, 55387, 57132, 256, 17757, 256, 17761,
+ 256, 55387, 57265, 256, 55388, 56530, 256, 17771, 256, 34384, 256, 34396,
+ 256, 34407, 256, 34409, 256, 34473, 256, 34440, 256, 34574, 256, 34530,
+ 256, 34681, 256, 34600, 256, 34667, 256, 34694, 256, 17879, 256, 34785,
+ 256, 34817, 256, 17913, 256, 34912, 256, 34915, 256, 55389, 56935, 256,
+ 35031, 256, 35038, 256, 17973, 256, 35066, 256, 13499, 256, 55390, 56494,
+ 256, 55390, 56678, 256, 18110, 256, 18119, 256, 35488, 256, 35565, 256,
+ 35722, 256, 35925, 256, 55391, 56488, 256, 36011, 256, 36033, 256, 36123,
+ 256, 36215, 256, 55391, 57135, 256, 55362, 56324, 256, 36299, 256, 36284,
+ 256, 36336, 256, 55362, 56542, 256, 36564, 256, 36664, 256, 55393, 56786,
+ 256, 55393, 56813, 256, 37012, 256, 37105, 256, 37137, 256, 55393, 57134,
+ 256, 37147, 256, 37432, 256, 37591, 256, 37592, 256, 37500, 256, 37881,
+ 256, 37909, 256, 55394, 57338, 256, 38283, 256, 18837, 256, 38327, 256,
+ 55395, 56695, 256, 18918, 256, 38595, 256, 23986, 256, 38691, 256, 55396,
+ 56645, 256, 55396, 56858, 256, 19054, 256, 19062, 256, 38880, 256, 55397,
+ 56330, 256, 19122, 256, 55397, 56470, 256, 38923, 256, 38923, 256, 38953,
+ 256, 55397, 56758, 256, 39138, 256, 19251, 256, 39209, 256, 39335, 256,
+ 39362, 256, 39422, 256, 19406, 256, 55398, 57136, 256, 39698, 256, 40000,
+ 256, 40189, 256, 19662, 256, 19693, 256, 40295, 256, 55400, 56526, 256,
+ 19704, 256, 55400, 56581, 256, 55400, 56846, 256, 55400, 56977, 256,
+ 40635, 256, 19798, 256, 40697, 256, 40702, 256, 40709, 256, 40719, 256,
+ 40726, 256, 40763, 256, 55401, 56832,
};
/* index tables for the decomposition data */
@@ -5304,70 +5364,70 @@ static const unsigned short decomp_index2[] = {
13005, 13007, 13009, 13011, 13013, 13015, 13017, 13019, 13021, 13023,
13025, 13027, 13029, 13031, 13033, 13035, 13037, 13039, 13041, 13043,
13045, 13047, 13049, 13051, 13053, 13055, 13057, 13060, 13063, 13066,
- 13069, 13073, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13076, 13079, 0, 0, 0, 0,
- 13082, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13085, 13088, 13091,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13093, 13095, 13097, 13099, 13101,
- 13103, 13105, 13107, 13109, 13111, 13113, 13115, 13117, 13119, 13121,
- 13123, 13125, 13127, 13129, 13131, 13133, 13135, 13137, 13139, 13141,
- 13143, 13145, 13147, 13149, 13151, 13153, 13155, 13157, 13159, 13161,
- 13163, 13165, 13167, 13169, 13171, 13173, 13175, 13177, 13179, 0, 0, 0,
- 0, 13181, 13185, 13189, 13193, 13197, 13201, 13205, 13209, 13213, 0, 0,
- 0, 0, 0, 0, 0, 13217, 13219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 13221, 13223, 13225, 13227, 13230, 13232, 13234, 13236, 13238, 13240,
- 13242, 13244, 13246, 13248, 13251, 13253, 13255, 13257, 13259, 13262,
- 13264, 13266, 13268, 13271, 13273, 13275, 13277, 13279, 13281, 13284,
- 13286, 13288, 13290, 13292, 13294, 13296, 13298, 13300, 13302, 13304,
- 13306, 13308, 13310, 13312, 13314, 13316, 13318, 13320, 13322, 13324,
- 13326, 13328, 13330, 13333, 13335, 13337, 13339, 13342, 13344, 13346,
- 13348, 13350, 13352, 13354, 13356, 13358, 13360, 13362, 13364, 13366,
- 13368, 13370, 13372, 13374, 13376, 13378, 13380, 13382, 13384, 13386,
- 13388, 13390, 13392, 13394, 13396, 13398, 13400, 13402, 13404, 13406,
- 13409, 13411, 13413, 13415, 13417, 13419, 13421, 13424, 13427, 13429,
- 13431, 13433, 13435, 13437, 13439, 13441, 13443, 13445, 13447, 13450,
- 13452, 13454, 13456, 13458, 13461, 13463, 13465, 13467, 13469, 13471,
- 13473, 13475, 13477, 13479, 13482, 13484, 13487, 13489, 13491, 13493,
- 13495, 13497, 13499, 13501, 13503, 13505, 13507, 13509, 13512, 13514,
- 13516, 13518, 13520, 13522, 13525, 13527, 13530, 13533, 13535, 13537,
- 13539, 13541, 13544, 13547, 13549, 13551, 13553, 13555, 13557, 13559,
- 13561, 13563, 13565, 13567, 13569, 13572, 13574, 13576, 13578, 13580,
- 13582, 13584, 13586, 13588, 13590, 13592, 13594, 13596, 13598, 13600,
- 13602, 13604, 13606, 13608, 13610, 13613, 13615, 13617, 13619, 13621,
- 13623, 13626, 13628, 13630, 13632, 13634, 13636, 13638, 13640, 13642,
- 13644, 13646, 13648, 13651, 13653, 13655, 13657, 13659, 13661, 13663,
- 13665, 13667, 13669, 13671, 13673, 13675, 13677, 13679, 13681, 13683,
- 13685, 13687, 13690, 13692, 13694, 13696, 13698, 13700, 13703, 13705,
- 13707, 13709, 13711, 13713, 13715, 13717, 13719, 13722, 13724, 13726,
- 13728, 13731, 13733, 13735, 13737, 13739, 13741, 13743, 13746, 13749,
- 13752, 13754, 13757, 13759, 13761, 13763, 13765, 13767, 13769, 13771,
- 13773, 13775, 13777, 13780, 13782, 13784, 13786, 13788, 13790, 13792,
- 13795, 13797, 13799, 13802, 13805, 13807, 13809, 13811, 13813, 13815,
- 13817, 13819, 13821, 13823, 13826, 13828, 13831, 13833, 13836, 13838,
- 13840, 13842, 13845, 13847, 13849, 13852, 13855, 13857, 13859, 13861,
- 13863, 13865, 13867, 13869, 13871, 13873, 13875, 13877, 13879, 13881,
- 13884, 13886, 13889, 13891, 13894, 13896, 13899, 13902, 13905, 13907,
- 13909, 13911, 13914, 13917, 13920, 13923, 13925, 13927, 13929, 13931,
- 13933, 13935, 13937, 13939, 13942, 13944, 13946, 13948, 13950, 13953,
- 13955, 13958, 13961, 13963, 13965, 13967, 13969, 13971, 13973, 13976,
- 13979, 13982, 13984, 13986, 13989, 13991, 13993, 13995, 13998, 14000,
- 14002, 14004, 14006, 14008, 14011, 14013, 14015, 14017, 14019, 14021,
- 14023, 14026, 14029, 14031, 14034, 14036, 14039, 14041, 14043, 14045,
- 14048, 14051, 14053, 14056, 14058, 14061, 14063, 14065, 14067, 14069,
- 14071, 14073, 14076, 14079, 14082, 14085, 14087, 14089, 14091, 14093,
- 14095, 14097, 14099, 14101, 14103, 14105, 14107, 14109, 14112, 14114,
- 14116, 14118, 14120, 14122, 14124, 14126, 14128, 14130, 14132, 14134,
- 14136, 14139, 14142, 14145, 14147, 14149, 14151, 14153, 14156, 14158,
- 14161, 14163, 14165, 14168, 14171, 14173, 14175, 14177, 14179, 14181,
- 14183, 14185, 14187, 14189, 14191, 14193, 14195, 14197, 14199, 14201,
- 14203, 14205, 14207, 14209, 14212, 14214, 14216, 14218, 14220, 14222,
- 14225, 14228, 14230, 14232, 14234, 14236, 14238, 14240, 14243, 14245,
- 14247, 14249, 14251, 14254, 14257, 14259, 14261, 14263, 14266, 14268,
- 14270, 14273, 14276, 14278, 14280, 14282, 14285, 14287, 14289, 14291,
- 14293, 14295, 14297, 14299, 14302, 14304, 14306, 14308, 14311, 14313,
- 14315, 14317, 14319, 14322, 14325, 14327, 14329, 14331, 14334, 14336,
- 14339, 14341, 14343, 14345, 14348, 14350, 14352, 14354, 14356, 14358,
- 14360, 14362, 14365, 14367, 14369, 14371, 14373, 14375, 14377, 14380,
- 14382, 14385, 14388, 14391, 14393, 14395, 14397, 14399, 14401, 14403,
- 14405, 14407, 0, 0,
+ 13069, 13073, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13076, 13079, 13082, 0, 0, 0,
+ 13085, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13088, 13091, 13094,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13096, 13098, 13100, 13102, 13104,
+ 13106, 13108, 13110, 13112, 13114, 13116, 13118, 13120, 13122, 13124,
+ 13126, 13128, 13130, 13132, 13134, 13136, 13138, 13140, 13142, 13144,
+ 13146, 13148, 13150, 13152, 13154, 13156, 13158, 13160, 13162, 13164,
+ 13166, 13168, 13170, 13172, 13174, 13176, 13178, 13180, 13182, 0, 0, 0,
+ 0, 13184, 13188, 13192, 13196, 13200, 13204, 13208, 13212, 13216, 0, 0,
+ 0, 0, 0, 0, 0, 13220, 13222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 13224, 13226, 13228, 13230, 13233, 13235, 13237, 13239, 13241, 13243,
+ 13245, 13247, 13249, 13251, 13254, 13256, 13258, 13260, 13262, 13265,
+ 13267, 13269, 13271, 13274, 13276, 13278, 13280, 13282, 13284, 13287,
+ 13289, 13291, 13293, 13295, 13297, 13299, 13301, 13303, 13305, 13307,
+ 13309, 13311, 13313, 13315, 13317, 13319, 13321, 13323, 13325, 13327,
+ 13329, 13331, 13333, 13336, 13338, 13340, 13342, 13345, 13347, 13349,
+ 13351, 13353, 13355, 13357, 13359, 13361, 13363, 13365, 13367, 13369,
+ 13371, 13373, 13375, 13377, 13379, 13381, 13383, 13385, 13387, 13389,
+ 13391, 13393, 13395, 13397, 13399, 13401, 13403, 13405, 13407, 13409,
+ 13412, 13414, 13416, 13418, 13420, 13422, 13424, 13427, 13430, 13432,
+ 13434, 13436, 13438, 13440, 13442, 13444, 13446, 13448, 13450, 13453,
+ 13455, 13457, 13459, 13461, 13464, 13466, 13468, 13470, 13472, 13474,
+ 13476, 13478, 13480, 13482, 13485, 13487, 13490, 13492, 13494, 13496,
+ 13498, 13500, 13502, 13504, 13506, 13508, 13510, 13512, 13515, 13517,
+ 13519, 13521, 13523, 13525, 13528, 13530, 13533, 13536, 13538, 13540,
+ 13542, 13544, 13547, 13550, 13552, 13554, 13556, 13558, 13560, 13562,
+ 13564, 13566, 13568, 13570, 13572, 13575, 13577, 13579, 13581, 13583,
+ 13585, 13587, 13589, 13591, 13593, 13595, 13597, 13599, 13601, 13603,
+ 13605, 13607, 13609, 13611, 13613, 13616, 13618, 13620, 13622, 13624,
+ 13626, 13629, 13631, 13633, 13635, 13637, 13639, 13641, 13643, 13645,
+ 13647, 13649, 13651, 13654, 13656, 13658, 13660, 13662, 13664, 13666,
+ 13668, 13670, 13672, 13674, 13676, 13678, 13680, 13682, 13684, 13686,
+ 13688, 13690, 13693, 13695, 13697, 13699, 13701, 13703, 13706, 13708,
+ 13710, 13712, 13714, 13716, 13718, 13720, 13722, 13725, 13727, 13729,
+ 13731, 13734, 13736, 13738, 13740, 13742, 13744, 13746, 13749, 13752,
+ 13755, 13757, 13760, 13762, 13764, 13766, 13768, 13770, 13772, 13774,
+ 13776, 13778, 13780, 13783, 13785, 13787, 13789, 13791, 13793, 13795,
+ 13798, 13800, 13802, 13805, 13808, 13810, 13812, 13814, 13816, 13818,
+ 13820, 13822, 13824, 13826, 13829, 13831, 13834, 13836, 13839, 13841,
+ 13843, 13845, 13848, 13850, 13852, 13855, 13858, 13860, 13862, 13864,
+ 13866, 13868, 13870, 13872, 13874, 13876, 13878, 13880, 13882, 13884,
+ 13887, 13889, 13892, 13894, 13897, 13899, 13902, 13905, 13908, 13910,
+ 13912, 13914, 13917, 13920, 13923, 13926, 13928, 13930, 13932, 13934,
+ 13936, 13938, 13940, 13942, 13945, 13947, 13949, 13951, 13953, 13956,
+ 13958, 13961, 13964, 13966, 13968, 13970, 13972, 13974, 13976, 13979,
+ 13982, 13985, 13987, 13989, 13992, 13994, 13996, 13998, 14001, 14003,
+ 14005, 14007, 14009, 14011, 14014, 14016, 14018, 14020, 14022, 14024,
+ 14026, 14029, 14032, 14034, 14037, 14039, 14042, 14044, 14046, 14048,
+ 14051, 14054, 14056, 14059, 14061, 14064, 14066, 14068, 14070, 14072,
+ 14074, 14076, 14079, 14082, 14085, 14088, 14090, 14092, 14094, 14096,
+ 14098, 14100, 14102, 14104, 14106, 14108, 14110, 14112, 14115, 14117,
+ 14119, 14121, 14123, 14125, 14127, 14129, 14131, 14133, 14135, 14137,
+ 14139, 14142, 14145, 14148, 14150, 14152, 14154, 14156, 14159, 14161,
+ 14164, 14166, 14168, 14171, 14174, 14176, 14178, 14180, 14182, 14184,
+ 14186, 14188, 14190, 14192, 14194, 14196, 14198, 14200, 14202, 14204,
+ 14206, 14208, 14210, 14212, 14215, 14217, 14219, 14221, 14223, 14225,
+ 14228, 14231, 14233, 14235, 14237, 14239, 14241, 14243, 14246, 14248,
+ 14250, 14252, 14254, 14257, 14260, 14262, 14264, 14266, 14269, 14271,
+ 14273, 14276, 14279, 14281, 14283, 14285, 14288, 14290, 14292, 14294,
+ 14296, 14298, 14300, 14302, 14305, 14307, 14309, 14311, 14314, 14316,
+ 14318, 14320, 14322, 14325, 14328, 14330, 14332, 14334, 14337, 14339,
+ 14342, 14344, 14346, 14348, 14351, 14353, 14355, 14357, 14359, 14361,
+ 14363, 14365, 14368, 14370, 14372, 14374, 14376, 14378, 14380, 14383,
+ 14385, 14388, 14391, 14394, 14396, 14398, 14400, 14402, 14404, 14406,
+ 14408, 14410, 0, 0,
};
/* NFC pairs */
diff --git a/src/hb-unicode-emoji-table.hh b/src/hb-unicode-emoji-table.hh
index 1dd0b32..aa297fc 100644
--- a/src/hb-unicode-emoji-table.hh
+++ b/src/hb-unicode-emoji-table.hh
@@ -7,13 +7,13 @@
* on file with this header:
*
* # emoji-data.txt
- * # Date: 2018-02-07, 07:55:18 GMT
- * # © 2018 Unicode®, Inc.
+ * # Date: 2019-01-15, 12:10:05 GMT
+ * # © 2019 Unicode®, Inc.
* # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
* # For terms of use, see http://www.unicode.org/terms_of_use.html
* #
* # Emoji Data for UTS #51
- * # Version: 11.0
+ * # Version: 12.0
* #
* # For documentation and usage, see http://www.unicode.org/reports/tr51
*/
diff --git a/src/hb-version.h b/src/hb-version.h
index 13db8ce..783e37b 100644
--- a/src/hb-version.h
+++ b/src/hb-version.h
@@ -37,10 +37,10 @@ HB_BEGIN_DECLS
#define HB_VERSION_MAJOR 2
-#define HB_VERSION_MINOR 3
-#define HB_VERSION_MICRO 1
+#define HB_VERSION_MINOR 4
+#define HB_VERSION_MICRO 0
-#define HB_VERSION_STRING "2.3.1"
+#define HB_VERSION_STRING "2.4.0"
#define HB_VERSION_ATLEAST(major,minor,micro) \
((major)*10000+(minor)*100+(micro) <= \
diff --git a/src/hb.hh b/src/hb.hh
index 5b66ba8..ec24c1a 100644
--- a/src/hb.hh
+++ b/src/hb.hh
@@ -214,7 +214,8 @@ extern "C" int hb_memalign_impl(void **memptr, size_t alignment, size_t size);
* Compiler attributes
*/
-#if __cplusplus < 201103L
+/* https://github.com/harfbuzz/harfbuzz/issues/1634 */
+#if __cplusplus < 201103L && !defined(_MSC_VER)
#ifndef nullptr
#define nullptr NULL
diff --git a/test-driver b/test-driver
index 8e575b0..b8521a4 100755
--- a/test-driver
+++ b/test-driver
@@ -1,9 +1,9 @@
#! /bin/sh
# test-driver - basic testsuite driver script.
-scriptversion=2013-07-13.22; # UTC
+scriptversion=2018-03-07.03; # UTC
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2018 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -16,7 +16,7 @@ scriptversion=2013-07-13.22; # UTC
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -140,9 +140,9 @@ echo ":copy-in-global-log: $gcopy" >> $trs_file
# Local Variables:
# mode: shell-script
# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff --git a/test/Makefile.in b/test/Makefile.in
index 2416988..d16a571 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -138,7 +138,7 @@ am__recursive_targets = \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- distdir
+ distdir distdir-am
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
@@ -364,7 +364,6 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -396,8 +395,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -514,7 +513,10 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/test/api/Makefile.in b/test/api/Makefile.in
index b317eb5..5f6f922 100644
--- a/test/api/Makefile.in
+++ b/test/api/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -356,7 +356,31 @@ am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/test-aat-layout.Po \
+ ./$(DEPDIR)/test-baseline.Po ./$(DEPDIR)/test-blob.Po \
+ ./$(DEPDIR)/test-buffer.Po \
+ ./$(DEPDIR)/test-collect-unicodes.Po \
+ ./$(DEPDIR)/test-common.Po ./$(DEPDIR)/test-font.Po \
+ ./$(DEPDIR)/test-map.Po ./$(DEPDIR)/test-object.Po \
+ ./$(DEPDIR)/test-ot-color.Po \
+ ./$(DEPDIR)/test-ot-extents-cff.Po ./$(DEPDIR)/test-ot-face.Po \
+ ./$(DEPDIR)/test-ot-ligature-carets.Po \
+ ./$(DEPDIR)/test-ot-name.Po ./$(DEPDIR)/test-ot-tag.Po \
+ ./$(DEPDIR)/test-set.Po ./$(DEPDIR)/test-shape.Po \
+ ./$(DEPDIR)/test-subset-cff1.Po \
+ ./$(DEPDIR)/test-subset-cff2.Po \
+ ./$(DEPDIR)/test-subset-cmap.Po \
+ ./$(DEPDIR)/test-subset-glyf.Po \
+ ./$(DEPDIR)/test-subset-hdmx.Po \
+ ./$(DEPDIR)/test-subset-hmtx.Po ./$(DEPDIR)/test-subset-os2.Po \
+ ./$(DEPDIR)/test-subset-post.Po \
+ ./$(DEPDIR)/test-subset-vmtx.Po ./$(DEPDIR)/test-subset.Po \
+ ./$(DEPDIR)/test-version.Po ./$(DEPDIR)/test_c-test-c.Po \
+ ./$(DEPDIR)/test_cplusplus-test-cplusplus.Po \
+ ./$(DEPDIR)/test_multithread-test-multithread.Po \
+ ./$(DEPDIR)/test_ot_math-test-ot-math.Po \
+ ./$(DEPDIR)/test_unicode-test-unicode.Po
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -822,7 +846,6 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -926,8 +949,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -1095,39 +1118,45 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-aat-layout.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-baseline.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-blob.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-buffer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-collect-unicodes.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-common.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-font.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-map.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-object.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ot-color.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ot-extents-cff.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ot-face.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ot-ligature-carets.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ot-name.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ot-tag.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-set.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-shape.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-subset-cff1.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-subset-cff2.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-subset-cmap.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-subset-glyf.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-subset-hdmx.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-subset-hmtx.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-subset-os2.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-subset-post.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-subset-vmtx.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-subset.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-version.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_c-test-c.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_cplusplus-test-cplusplus.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_multithread-test-multithread.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_ot_math-test-ot-math.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_unicode-test-unicode.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-aat-layout.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-baseline.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-blob.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-buffer.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-collect-unicodes.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-common.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-font.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-map.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-object.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ot-color.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ot-extents-cff.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ot-face.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ot-ligature-carets.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ot-name.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ot-tag.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-set.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-shape.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-subset-cff1.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-subset-cff2.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-subset-cmap.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-subset-glyf.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-subset-hdmx.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-subset-hmtx.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-subset-os2.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-subset-post.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-subset-vmtx.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-subset.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-version.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_c-test-c.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_cplusplus-test-cplusplus.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_multithread-test-multithread.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_ot_math-test-ot-math.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_unicode-test-unicode.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -1419,7 +1448,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
fi; \
$$success || exit 1
-check-TESTS:
+check-TESTS: $(check_PROGRAMS)
@list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
@@ -1686,7 +1715,10 @@ test-cplusplus.log: test-cplusplus$(EXEEXT)
@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -1764,7 +1796,39 @@ clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
clean-noinstPROGRAMS mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/test-aat-layout.Po
+ -rm -f ./$(DEPDIR)/test-baseline.Po
+ -rm -f ./$(DEPDIR)/test-blob.Po
+ -rm -f ./$(DEPDIR)/test-buffer.Po
+ -rm -f ./$(DEPDIR)/test-collect-unicodes.Po
+ -rm -f ./$(DEPDIR)/test-common.Po
+ -rm -f ./$(DEPDIR)/test-font.Po
+ -rm -f ./$(DEPDIR)/test-map.Po
+ -rm -f ./$(DEPDIR)/test-object.Po
+ -rm -f ./$(DEPDIR)/test-ot-color.Po
+ -rm -f ./$(DEPDIR)/test-ot-extents-cff.Po
+ -rm -f ./$(DEPDIR)/test-ot-face.Po
+ -rm -f ./$(DEPDIR)/test-ot-ligature-carets.Po
+ -rm -f ./$(DEPDIR)/test-ot-name.Po
+ -rm -f ./$(DEPDIR)/test-ot-tag.Po
+ -rm -f ./$(DEPDIR)/test-set.Po
+ -rm -f ./$(DEPDIR)/test-shape.Po
+ -rm -f ./$(DEPDIR)/test-subset-cff1.Po
+ -rm -f ./$(DEPDIR)/test-subset-cff2.Po
+ -rm -f ./$(DEPDIR)/test-subset-cmap.Po
+ -rm -f ./$(DEPDIR)/test-subset-glyf.Po
+ -rm -f ./$(DEPDIR)/test-subset-hdmx.Po
+ -rm -f ./$(DEPDIR)/test-subset-hmtx.Po
+ -rm -f ./$(DEPDIR)/test-subset-os2.Po
+ -rm -f ./$(DEPDIR)/test-subset-post.Po
+ -rm -f ./$(DEPDIR)/test-subset-vmtx.Po
+ -rm -f ./$(DEPDIR)/test-subset.Po
+ -rm -f ./$(DEPDIR)/test-version.Po
+ -rm -f ./$(DEPDIR)/test_c-test-c.Po
+ -rm -f ./$(DEPDIR)/test_cplusplus-test-cplusplus.Po
+ -rm -f ./$(DEPDIR)/test_multithread-test-multithread.Po
+ -rm -f ./$(DEPDIR)/test_ot_math-test-ot-math.Po
+ -rm -f ./$(DEPDIR)/test_unicode-test-unicode.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -1810,7 +1874,39 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/test-aat-layout.Po
+ -rm -f ./$(DEPDIR)/test-baseline.Po
+ -rm -f ./$(DEPDIR)/test-blob.Po
+ -rm -f ./$(DEPDIR)/test-buffer.Po
+ -rm -f ./$(DEPDIR)/test-collect-unicodes.Po
+ -rm -f ./$(DEPDIR)/test-common.Po
+ -rm -f ./$(DEPDIR)/test-font.Po
+ -rm -f ./$(DEPDIR)/test-map.Po
+ -rm -f ./$(DEPDIR)/test-object.Po
+ -rm -f ./$(DEPDIR)/test-ot-color.Po
+ -rm -f ./$(DEPDIR)/test-ot-extents-cff.Po
+ -rm -f ./$(DEPDIR)/test-ot-face.Po
+ -rm -f ./$(DEPDIR)/test-ot-ligature-carets.Po
+ -rm -f ./$(DEPDIR)/test-ot-name.Po
+ -rm -f ./$(DEPDIR)/test-ot-tag.Po
+ -rm -f ./$(DEPDIR)/test-set.Po
+ -rm -f ./$(DEPDIR)/test-shape.Po
+ -rm -f ./$(DEPDIR)/test-subset-cff1.Po
+ -rm -f ./$(DEPDIR)/test-subset-cff2.Po
+ -rm -f ./$(DEPDIR)/test-subset-cmap.Po
+ -rm -f ./$(DEPDIR)/test-subset-glyf.Po
+ -rm -f ./$(DEPDIR)/test-subset-hdmx.Po
+ -rm -f ./$(DEPDIR)/test-subset-hmtx.Po
+ -rm -f ./$(DEPDIR)/test-subset-os2.Po
+ -rm -f ./$(DEPDIR)/test-subset-post.Po
+ -rm -f ./$(DEPDIR)/test-subset-vmtx.Po
+ -rm -f ./$(DEPDIR)/test-subset.Po
+ -rm -f ./$(DEPDIR)/test-version.Po
+ -rm -f ./$(DEPDIR)/test_c-test-c.Po
+ -rm -f ./$(DEPDIR)/test_cplusplus-test-cplusplus.Po
+ -rm -f ./$(DEPDIR)/test_multithread-test-multithread.Po
+ -rm -f ./$(DEPDIR)/test_ot_math-test-ot-math.Po
+ -rm -f ./$(DEPDIR)/test_unicode-test-unicode.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -1831,8 +1927,8 @@ uninstall-am:
.MAKE: check-am install-am install-strip
-.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \
- clean-checkPROGRAMS clean-generic clean-libtool \
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \
+ check-am clean clean-checkPROGRAMS clean-generic clean-libtool \
clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \
distclean-compile distclean-generic distclean-libtool \
distclean-tags distdir dvi dvi-am html html-am info info-am \
diff --git a/test/api/fonts/AdobeVFPrototype.ac.retaingids.otf b/test/api/fonts/AdobeVFPrototype.ac.retaingids.otf
new file mode 100644
index 0000000..8cb3005
--- /dev/null
+++ b/test/api/fonts/AdobeVFPrototype.ac.retaingids.otf
Binary files differ
diff --git a/test/api/fonts/Roboto-Regular.ac.retaingids.ttf b/test/api/fonts/Roboto-Regular.ac.retaingids.ttf
new file mode 100644
index 0000000..8606a55
--- /dev/null
+++ b/test/api/fonts/Roboto-Regular.ac.retaingids.ttf
Binary files differ
diff --git a/test/api/fonts/SourceHanSans-Regular.41,4C2E.retaingids.otf b/test/api/fonts/SourceHanSans-Regular.41,4C2E.retaingids.otf
new file mode 100644
index 0000000..906bdbe
--- /dev/null
+++ b/test/api/fonts/SourceHanSans-Regular.41,4C2E.retaingids.otf
Binary files differ
diff --git a/test/api/fonts/SourceSansPro-Regular.ac.retaingids.otf b/test/api/fonts/SourceSansPro-Regular.ac.retaingids.otf
new file mode 100644
index 0000000..d364b48
--- /dev/null
+++ b/test/api/fonts/SourceSansPro-Regular.ac.retaingids.otf
Binary files differ
diff --git a/test/api/fonts/Zycon.ttf b/test/api/fonts/Zycon.ttf
new file mode 100644
index 0000000..3a6761b
--- /dev/null
+++ b/test/api/fonts/Zycon.ttf
Binary files differ
diff --git a/test/api/hb-subset-test.h b/test/api/hb-subset-test.h
index cefa4e0..3e759a8 100644
--- a/test/api/hb-subset-test.h
+++ b/test/api/hb-subset-test.h
@@ -48,7 +48,7 @@ typedef short bool;
HB_BEGIN_DECLS
static inline hb_subset_input_t *
-hb_subset_test_create_input(const hb_set_t *codepoints)
+hb_subset_test_create_input (const hb_set_t *codepoints)
{
hb_subset_input_t *input = hb_subset_input_create_or_fail ();
hb_set_t * input_codepoints = hb_subset_input_unicode_set (input);
@@ -56,6 +56,15 @@ hb_subset_test_create_input(const hb_set_t *codepoints)
return input;
}
+static inline hb_subset_input_t *
+hb_subset_test_create_input_from_glyphs (const hb_set_t *glyphs)
+{
+ hb_subset_input_t *input = hb_subset_input_create_or_fail ();
+ hb_set_t * input_glyphs = hb_subset_input_glyph_set (input);
+ hb_set_union (input_glyphs, glyphs);
+ return input;
+}
+
static inline hb_face_t *
hb_subset_test_create_subset (hb_face_t *source,
hb_subset_input_t *input)
diff --git a/test/api/test-ot-face.c b/test/api/test-ot-face.c
index f2d2fca..9ebcb4e 100644
--- a/test/api/test-ot-face.c
+++ b/test/api/test-ot-face.c
@@ -110,12 +110,21 @@ test_ot_face_empty (void)
test_face (hb_face_get_empty (), 0);
}
+static void
+test_ot_var_axis_on_zero_named_instance ()
+{
+ hb_face_t *face = hb_test_open_font_file ("fonts/Zycon.ttf");
+ g_assert (hb_ot_var_get_axis_count (face));
+ hb_face_destroy (face);
+}
+
int
main (int argc, char **argv)
{
hb_test_init (&argc, &argv);
hb_test_add (test_ot_face_empty);
+ hb_test_add (test_ot_var_axis_on_zero_named_instance);
return hb_test_run();
}
diff --git a/test/api/test-subset-cff1.c b/test/api/test-subset-cff1.c
index 3ee2702..8b4025d 100644
--- a/test/api/test-subset-cff1.c
+++ b/test/api/test-subset-cff1.c
@@ -290,6 +290,52 @@ test_subset_cff1_dotsection (void)
hb_face_destroy (face);
}
+static void
+test_subset_cff1_retaingids (void)
+{
+ hb_face_t *face_abc = hb_test_open_font_file ("fonts/SourceSansPro-Regular.abc.otf");
+ hb_face_t *face_ac = hb_test_open_font_file ("fonts/SourceSansPro-Regular.ac.retaingids.otf");
+
+ hb_set_t *codepoints = hb_set_create ();
+ hb_subset_input_t *input;
+ hb_face_t *face_abc_subset;
+ hb_set_add (codepoints, 'a');
+ hb_set_add (codepoints, 'c');
+ input = hb_subset_test_create_input (codepoints);
+ hb_subset_input_set_retain_gids (input, true);
+ face_abc_subset = hb_subset_test_create_subset (face_abc, input);
+ hb_set_destroy (codepoints);
+
+ hb_subset_test_check (face_ac, face_abc_subset, HB_TAG ('C','F','F',' '));
+
+ hb_face_destroy (face_abc_subset);
+ hb_face_destroy (face_abc);
+ hb_face_destroy (face_ac);
+}
+
+static void
+test_subset_cff1_j_retaingids (void)
+{
+ hb_face_t *face_41_3041_4c2e = hb_test_open_font_file ("fonts/SourceHanSans-Regular.41,3041,4C2E.otf");
+ hb_face_t *face_41_4c2e = hb_test_open_font_file ("fonts/SourceHanSans-Regular.41,4C2E.retaingids.otf");
+
+ hb_set_t *codepoints = hb_set_create ();
+ hb_subset_input_t *input;
+ hb_face_t *face_41_3041_4c2e_subset;
+ hb_set_add (codepoints, 0x41);
+ hb_set_add (codepoints, 0x4C2E);
+ input = hb_subset_test_create_input (codepoints);
+ hb_subset_input_set_retain_gids (input, true);
+ face_41_3041_4c2e_subset = hb_subset_test_create_subset (face_41_3041_4c2e, input);
+ hb_set_destroy (codepoints);
+
+ hb_subset_test_check (face_41_4c2e, face_41_3041_4c2e_subset, HB_TAG ('C','F','F',' '));
+
+ hb_face_destroy (face_41_3041_4c2e_subset);
+ hb_face_destroy (face_41_3041_4c2e);
+ hb_face_destroy (face_41_4c2e);
+}
+
int
main (int argc, char **argv)
{
@@ -307,6 +353,8 @@ main (int argc, char **argv)
hb_test_add (test_subset_cff1_expert);
hb_test_add (test_subset_cff1_seac);
hb_test_add (test_subset_cff1_dotsection);
+ hb_test_add (test_subset_cff1_retaingids);
+ hb_test_add (test_subset_cff1_j_retaingids);
return hb_test_run ();
}
diff --git a/test/api/test-subset-cff2.c b/test/api/test-subset-cff2.c
index 9367965..7ffcf5e 100644
--- a/test/api/test-subset-cff2.c
+++ b/test/api/test-subset-cff2.c
@@ -138,6 +138,29 @@ test_subset_cff2_desubr_strip_hints (void)
hb_face_destroy (face_ac);
}
+static void
+test_subset_cff2_retaingids (void)
+{
+ hb_face_t *face_abc = hb_test_open_font_file ("fonts/AdobeVFPrototype.abc.otf");
+ hb_face_t *face_ac = hb_test_open_font_file ("fonts/AdobeVFPrototype.ac.retaingids.otf");
+
+ hb_set_t *codepoints = hb_set_create ();
+ hb_subset_input_t *input;
+ hb_face_t *face_abc_subset;
+ hb_set_add (codepoints, 'a');
+ hb_set_add (codepoints, 'c');
+ input = hb_subset_test_create_input (codepoints);
+ hb_subset_input_set_retain_gids (input, true);
+ face_abc_subset = hb_subset_test_create_subset (face_abc, input);
+ hb_set_destroy (codepoints);
+
+ hb_subset_test_check (face_ac, face_abc_subset, HB_TAG ('C', 'F', 'F', '2'));
+
+ hb_face_destroy (face_abc_subset);
+ hb_face_destroy (face_abc);
+ hb_face_destroy (face_ac);
+}
+
int
main (int argc, char **argv)
{
@@ -148,6 +171,7 @@ main (int argc, char **argv)
hb_test_add (test_subset_cff2_strip_hints);
hb_test_add (test_subset_cff2_desubr);
hb_test_add (test_subset_cff2_desubr_strip_hints);
+ hb_test_add (test_subset_cff2_retaingids);
return hb_test_run ();
}
diff --git a/test/api/test-subset-glyf.c b/test/api/test-subset-glyf.c
index 0e5c293..4671156 100644
--- a/test/api/test-subset-glyf.c
+++ b/test/api/test-subset-glyf.c
@@ -80,6 +80,29 @@ test_subset_glyf (void)
}
static void
+test_subset_glyf_with_input_glyphs (void)
+{
+ hb_face_t *face_abc = hb_test_open_font_file ("fonts/Roboto-Regular.abc.ttf");
+ hb_face_t *face_ac = hb_test_open_font_file ("fonts/Roboto-Regular.ac.ttf");
+
+ hb_set_t *glyphs = hb_set_create();
+ hb_face_t *face_abc_subset;
+ hb_set_add (glyphs, 1);
+ hb_set_add (glyphs, 3);
+ face_abc_subset =
+ hb_subset_test_create_subset (face_abc, hb_subset_test_create_input_from_glyphs (glyphs));
+ hb_set_destroy (glyphs);
+
+ hb_subset_test_check (face_ac, face_abc_subset, HB_TAG ('g','l','y','f'));
+ hb_subset_test_check (face_ac, face_abc_subset, HB_TAG ('l','o','c', 'a'));
+ check_maxp_num_glyphs(face_abc_subset, 3, true);
+
+ hb_face_destroy (face_abc_subset);
+ hb_face_destroy (face_abc);
+ hb_face_destroy (face_ac);
+}
+
+static void
test_subset_glyf_with_components (void)
{
hb_face_t *face_components = hb_test_open_font_file ("fonts/Roboto-Regular.components.ttf");
@@ -257,6 +280,31 @@ test_subset_glyf_strip_hints_invalid (void)
hb_face_destroy (face);
}
+static void
+test_subset_glyf_retain_gids (void)
+{
+ hb_face_t *face_abc = hb_test_open_font_file ("fonts/Roboto-Regular.abc.ttf");
+ hb_face_t *face_ac = hb_test_open_font_file ("fonts/Roboto-Regular.ac.retaingids.ttf");
+
+ hb_set_t *codepoints = hb_set_create();
+ hb_face_t *face_abc_subset;
+ hb_set_add (codepoints, 97);
+ hb_set_add (codepoints, 99);
+
+ hb_subset_input_t *input = hb_subset_test_create_input (codepoints);
+ hb_subset_input_set_retain_gids (input, true);
+ face_abc_subset = hb_subset_test_create_subset (face_abc, input);
+ hb_set_destroy (codepoints);
+
+ hb_subset_test_check (face_ac, face_abc_subset, HB_TAG ('g','l','y','f'));
+ hb_subset_test_check (face_ac, face_abc_subset, HB_TAG ('l','o','c', 'a'));
+ check_maxp_num_glyphs(face_abc_subset, 4, true);
+
+ hb_face_destroy (face_abc_subset);
+ hb_face_destroy (face_abc);
+ hb_face_destroy (face_ac);
+}
+
// TODO(grieger): test for long loca generation.
int
@@ -266,12 +314,14 @@ main (int argc, char **argv)
hb_test_add (test_subset_glyf_noop);
hb_test_add (test_subset_glyf);
+ hb_test_add (test_subset_glyf_with_input_glyphs);
hb_test_add (test_subset_glyf_strip_hints_simple);
hb_test_add (test_subset_glyf_strip_hints_composite);
hb_test_add (test_subset_glyf_strip_hints_invalid);
hb_test_add (test_subset_glyf_with_components);
hb_test_add (test_subset_glyf_with_gsub);
hb_test_add (test_subset_glyf_without_gsub);
+ hb_test_add (test_subset_glyf_retain_gids);
return hb_test_run();
}
diff --git a/test/fuzzing/Makefile.in b/test/fuzzing/Makefile.in
index 7675ade..6ecd679 100644
--- a/test/fuzzing/Makefile.in
+++ b/test/fuzzing/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -134,7 +134,11 @@ am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/hb_shape_fuzzer-hb-shape-fuzzer.Po \
+ ./$(DEPDIR)/hb_shape_fuzzer-main.Po \
+ ./$(DEPDIR)/hb_subset_fuzzer-hb-subset-fuzzer.Po \
+ ./$(DEPDIR)/hb_subset_fuzzer-main.Po
am__mv = mv -f
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
@@ -378,7 +382,6 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -441,8 +444,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -477,10 +480,16 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb_shape_fuzzer-hb-shape-fuzzer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb_shape_fuzzer-main.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb_subset_fuzzer-hb-subset-fuzzer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb_subset_fuzzer-main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb_shape_fuzzer-hb-shape-fuzzer.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb_shape_fuzzer-main.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb_subset_fuzzer-hb-subset-fuzzer.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb_subset_fuzzer-main.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.cc.o:
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -617,7 +626,10 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -691,7 +703,10 @@ clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/hb_shape_fuzzer-hb-shape-fuzzer.Po
+ -rm -f ./$(DEPDIR)/hb_shape_fuzzer-main.Po
+ -rm -f ./$(DEPDIR)/hb_subset_fuzzer-hb-subset-fuzzer.Po
+ -rm -f ./$(DEPDIR)/hb_subset_fuzzer-main.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -737,7 +752,10 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/hb_shape_fuzzer-hb-shape-fuzzer.Po
+ -rm -f ./$(DEPDIR)/hb_shape_fuzzer-main.Po
+ -rm -f ./$(DEPDIR)/hb_subset_fuzzer-hb-subset-fuzzer.Po
+ -rm -f ./$(DEPDIR)/hb_subset_fuzzer-main.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -758,7 +776,7 @@ uninstall-am:
.MAKE: check-am install-am install-strip
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \
ctags ctags-am distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-harfbuzz_fuzzer-5748102301614080 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-harfbuzz_fuzzer-5748102301614080
new file mode 100644
index 0000000..4cb979d
--- /dev/null
+++ b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-harfbuzz_fuzzer-5748102301614080
Binary files differ
diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5739000398086144 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5739000398086144
new file mode 100644
index 0000000..0dec23f
--- /dev/null
+++ b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5739000398086144
Binary files differ
diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5760768497156096 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5760768497156096
new file mode 100644
index 0000000..063aab2
--- /dev/null
+++ b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5760768497156096
Binary files differ
diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5764268627066880 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5764268627066880
new file mode 100644
index 0000000..2b49553
--- /dev/null
+++ b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5764268627066880
Binary files differ
diff --git a/test/fuzzing/hb-subset-fuzzer.cc b/test/fuzzing/hb-subset-fuzzer.cc
index 3a71f22..56ffd22 100644
--- a/test/fuzzing/hb-subset-fuzzer.cc
+++ b/test/fuzzing/hb-subset-fuzzer.cc
@@ -11,11 +11,13 @@ trySubset (hb_face_t *face,
const hb_codepoint_t text[],
int text_length,
bool drop_hints,
- bool drop_layout)
+ bool drop_layout,
+ bool retain_gids)
{
hb_subset_input_t *input = hb_subset_input_create_or_fail ();
hb_subset_input_set_drop_hints (input, drop_hints);
hb_subset_input_set_drop_layout (input, drop_layout);
+ hb_subset_input_set_retain_gids (input, retain_gids);
hb_set_t *codepoints = hb_subset_input_unicode_set (input);
for (int i = 0; i < text_length; i++)
@@ -32,16 +34,14 @@ trySubset (hb_face_t *face,
static void
trySubset (hb_face_t *face,
const hb_codepoint_t text[],
- int text_length)
+ int text_length,
+ const uint8_t flags[1])
{
- for (unsigned int drop_hints = 0; drop_hints < 2; drop_hints++)
- {
- for (unsigned int drop_layout = 0; drop_layout < 2; drop_layout++)
- {
- trySubset (face, text, text_length,
- (bool) drop_hints, (bool) drop_layout);
- }
- }
+ bool drop_hints = flags[0] & (1 << 0);
+ bool drop_layout = flags[0] & (1 << 1);
+ bool retain_gids = flags[0] & (1 << 2);
+ trySubset (face, text, text_length,
+ drop_hints, drop_layout, retain_gids);
}
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
@@ -55,21 +55,27 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
hb_face_collect_unicodes (face, output);
hb_set_destroy (output);
+ uint8_t flags[1] = {0};
const hb_codepoint_t text[] =
{
'A', 'B', 'C', 'D', 'E', 'X', 'Y', 'Z', '1', '2',
'3', '@', '_', '%', '&', ')', '*', '$', '!'
};
- trySubset (face, text, sizeof (text) / sizeof (hb_codepoint_t));
+ trySubset (face, text, sizeof (text) / sizeof (hb_codepoint_t), flags);
hb_codepoint_t text_from_data[16];
- if (size > sizeof(text_from_data)) {
+ if (size > sizeof(text_from_data) + sizeof(flags)) {
memcpy (text_from_data,
data + size - sizeof(text_from_data),
sizeof(text_from_data));
+
+ memcpy (flags,
+ data + size - sizeof(text_from_data) - sizeof(flags),
+ sizeof(flags));
unsigned int text_size = sizeof (text_from_data) / sizeof (hb_codepoint_t);
- trySubset (face, text_from_data, text_size);
+
+ trySubset (face, text_from_data, text_size, flags);
}
hb_face_destroy (face);
diff --git a/test/shaping/Makefile.in b/test/shaping/Makefile.in
index 202db22..0e0237a 100644
--- a/test/shaping/Makefile.in
+++ b/test/shaping/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -138,7 +138,7 @@ am__recursive_targets = \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- distdir
+ distdir distdir-am
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
@@ -364,7 +364,6 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -404,8 +403,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -522,7 +521,10 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/test/shaping/data/Makefile.in b/test/shaping/data/Makefile.in
index 78cdb1a..1170e86 100644
--- a/test/shaping/data/Makefile.in
+++ b/test/shaping/data/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -138,7 +138,7 @@ am__recursive_targets = \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- distdir
+ distdir distdir-am
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
@@ -364,7 +364,6 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -400,8 +399,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -518,7 +517,10 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/test/shaping/data/aots/Makefile.in b/test/shaping/data/aots/Makefile.in
index 7cc5193..3e94bb3 100644
--- a/test/shaping/data/aots/Makefile.in
+++ b/test/shaping/data/aots/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -608,7 +608,6 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -650,8 +649,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(srcdir)/Makefile.sources $(am__empty):
@@ -796,7 +795,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
fi; \
$$success || exit 1
-check-TESTS:
+check-TESTS:
@list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
@@ -832,7 +831,10 @@ recheck: all
@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TESTS_LOG_DRIVER_FLAGS) $(TESTS_LOG_DRIVER_FLAGS) -- $(TESTS_LOG_COMPILE) \
@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/test/shaping/data/in-house/Makefile.in b/test/shaping/data/in-house/Makefile.in
index 590807b..eb50742 100644
--- a/test/shaping/data/in-house/Makefile.in
+++ b/test/shaping/data/in-house/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -538,7 +538,6 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -580,8 +579,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(srcdir)/Makefile.sources $(am__empty):
@@ -726,7 +725,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
fi; \
$$success || exit 1
-check-TESTS:
+check-TESTS:
@list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
@@ -762,7 +761,10 @@ recheck: all
@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TESTS_LOG_DRIVER_FLAGS) $(TESTS_LOG_DRIVER_FLAGS) -- $(TESTS_LOG_COMPILE) \
@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/test/shaping/data/in-house/fonts/ad01ab2ea1cb1a4d3a2783e2675112ef11ae6404.ttf b/test/shaping/data/in-house/fonts/ad01ab2ea1cb1a4d3a2783e2675112ef11ae6404.ttf
new file mode 100644
index 0000000..8cc4bb0
--- /dev/null
+++ b/test/shaping/data/in-house/fonts/ad01ab2ea1cb1a4d3a2783e2675112ef11ae6404.ttf
Binary files differ
diff --git a/test/shaping/data/in-house/fonts/f75c4b05a0a4d67c1a808081ae3d74a9c66509e8.ttf b/test/shaping/data/in-house/fonts/f75c4b05a0a4d67c1a808081ae3d74a9c66509e8.ttf
new file mode 100644
index 0000000..ffbbc0e
--- /dev/null
+++ b/test/shaping/data/in-house/fonts/f75c4b05a0a4d67c1a808081ae3d74a9c66509e8.ttf
Binary files differ
diff --git a/test/shaping/data/in-house/tests/indic-syllable.tests b/test/shaping/data/in-house/tests/indic-syllable.tests
index 4c7d651..264983b 100644
--- a/test/shaping/data/in-house/tests/indic-syllable.tests
+++ b/test/shaping/data/in-house/tests/indic-syllable.tests
@@ -6,3 +6,5 @@
../fonts/1735326da89f0818cd8c51a0600e9789812c0f94.ttf::U+0A51:[uni25CC=0+1044|udaatguru=0+0]
../fonts/1735326da89f0818cd8c51a0600e9789812c0f94.ttf::U+25CC,U+0A51:[uni25CC=0+1044|udaatguru=0+0]
../fonts/81c368a33816fb20e9f647e8f24e2180f4720263.ttf:--no-glyph-names:U+0C80,U+0C82:[1=0+502|2=0+502]
+../fonts/f75c4b05a0a4d67c1a808081ae3d74a9c66509e8.ttf::U+0A20,U+0A75,U+0A47:[tthaguru=0+1352|yakashguru=0@-90,0+0|eematraguru=0@-411,0+0]
+../fonts/f75c4b05a0a4d67c1a808081ae3d74a9c66509e8.ttf::U+0A20,U+0A75,U+0A42:[tthaguru=0+1352|yakashuuguru=0+0]
diff --git a/test/shaping/data/in-house/tests/khmer-misc.tests b/test/shaping/data/in-house/tests/khmer-misc.tests
index a7a1c6d..1ea7609 100644
--- a/test/shaping/data/in-house/tests/khmer-misc.tests
+++ b/test/shaping/data/in-house/tests/khmer-misc.tests
@@ -87,3 +87,4 @@
../fonts/3998336402905b8be8301ef7f47cf7e050cbb1bd.ttf::U+17A0,U+17D2,U+1782,U+17D2,U+179F,U+17CA,U+17C0:[uni17C1=0+288|uni17A0=0+928|uni17D21782=0@20,-26+0|uni17D2179F.low=0+302|uni17CA=0@-4,30+0|uni17C0.right1.high=0+288]
../fonts/3998336402905b8be8301ef7f47cf7e050cbb1bd.ttf::U+17A0,U+17D2,U+179A,U+17D2,U+179C,U+1784,U+17D2,U+1780:[uni17D2179A=0+287|uni17A0=0+928|uni17D2179C=0@20,-26+0|uni1784=5+635|uni17D21780=5@0,-26+0]
../fonts/3998336402905b8be8301ef7f47cf7e050cbb1bd.ttf::U+17A0,U+17D2,U+179A,U+17D2,U+179C,U+17B6,U+17C6,U+1784:[uni17D2179A=0+287|uni17A017B6=0+1216|uni17D2179C=0@-268,-26+0|uni17C6=0@47,-29+0|uni1784=7+635]
+../fonts/ad01ab2ea1cb1a4d3a2783e2675112ef11ae6404.ttf::U+17D2,U+17D2:[uni25CC=0+635|uni17D2=0+0|uni25CC=0+635|uni17D2=0+0]
diff --git a/test/shaping/data/in-house/tests/macos.tests b/test/shaping/data/in-house/tests/macos.tests
index 7855c0d..db4a31d 100644
--- a/test/shaping/data/in-house/tests/macos.tests
+++ b/test/shaping/data/in-house/tests/macos.tests
@@ -35,3 +35,22 @@
/System/Library/Fonts/SFNSDisplay.ttf@c8948f464ff822a5f9bbf2e12d0e4e32268815aa:--font-ptem 9 --font-funcs ot:U+0054,U+0065,U+0020,U+0041,U+0056,U+0020,U+0054,U+0072,U+0020,U+0056,U+0061,U+0020,U+0072,U+0054,U+0020,U+0065,U+0054,U+0020,U+0054,U+0064:[gid282=0@46,0+1147|gid658=1@-89,0+1006|gid3=2@46,0+512|gid4=3@46,0+1319|gid332=4@-19,0+1319|gid3=5@46,0+512|gid282=6@46,0+1167|gid813=7@-69,0+608|gid3=8@46,0+512|gid332=9@46,0+1309|gid572=10@-29,0+1045|gid3=11@46,0+512|gid813=12@46,0+638|gid282=13@-39,0+1197|gid3=14@46,0+512|gid658=15@46,0+1006|gid282=16@-89,0+1147|gid3=17@46,0+512|gid282=18@46,0+1147|gid649=19@-89,0+1091]
/System/Library/Fonts/Apple Color Emoji.ttc@2e09b1f3d42c3821cc6c4ac5b6ce16237ab0d496:--remove-default-ignorables --font-funcs ot:U+1F468,U+200D,U+1F469,U+200D,U+1F467,U+200D,U+1F466:[u1F46A.MWGB=0+800]
/Library/Fonts/Zapfino.ttf@99a1e15163c3e9567d5b1019c45e9254dae63b08:--font-funcs ot:U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+006F:[Z=0+416|a=1@-21,0+264|p_f=2+433|i=4+181|n=5+261|Z=6+416|a=7@-21,0+264|p_f=8+433|i=10+181|n=11+261|Z=12+416|a=13@-21,0+264|p_f=14+433|i=16+181|n=17+261|Z=18+416|a=19@-21,0+264|p_f=20+433|i=22+181|n=23+261|Z=24+416|a=25@-21,0+264|p_f=26+433|i=28+181|n=29+261|Z=30+416|a=31@-21,0+264|p_f=32+433|i=34+181|n=35+261|Z=36+416|a=37@-21,0+264|p_f=38+433|i=40+181|n=41+261|Z=42+416|a=43@-21,0+264|p_f=44+433|i=46+181|n=47+261|Z=48+416|a=49@-21,0+264|p_f=50+433|i=52+181|n=53+261|Z=54+416|a=55@-21,0+264|p_f=56+433|i=58+181|n=59+261|Z=60+416|a=61@-21,0+264|p_f=62+433|i=64+181|n=65+261|Z_a_p_f_i_n_o=66+2333]
+
+# 10.14.2 https://gist.github.com/ebraminio/4b731a82f11a662b2164622ebb93086a
+/System/Library/Fonts/Helvetica.ttc@992d29a0fa4ed91773457c29b661e94843619cde:--font-funcs ot:U+006D,U+0300:[m=0+1706|gravecmb=0@-284,10+0]
+/System/Library/Fonts/LucidaGrande.ttc@63ba1b1de4709bd832ca76bd62368dd99fc34269:--font-funcs ot:U+006D,U+0300:[mgrave=0+1912]
+/System/Library/Fonts/Times.ttc@ebb050e4fcaaebe9992efbc7b5660b60ba18b518:--font-funcs ot:U+0066,U+0069:[fi=0+1139]
+/Library/Fonts/Khmer MN.ttc@37687fe0bd2548e08e29c92a30e476367ae6356b:--font-funcs ot:U+17A2,U+1780,U+17D2,U+179F,U+179A,U+1781,U+17D2,U+1798,U+17C2,U+179A:[km_qa=0+1230|km_ka=1+1230|km_sa.sub=1+620|km_ro=4+712|km_vs_ae=5+726|km_kha=5+1230|km_mo.sub=5+0|km_ro=9+712]
+/Library/Fonts/Tamil MN.ttc@e1df5e056be08937fd65990efbafff0814c03677:--font-funcs ot:U+0BA4,U+0BCA,U+0B95,U+0BC1,U+0B95,U+0BCD,U+0B95,U+0BAA,U+0BCD,U+0BAA,U+0B9F,U+0BCD,U+0B9F,U+0BC1:[tgm_e=0+1702|tgc_ta=0+1598|tgm_aa=0+1149|tgc_ku=2+1962|tgc_k=4+1592|tgc_ka=6+1592|tgc_p=7+1370|tgc_pa=9+1370|tgc_tt=10+1596|tgc_ttu=12+1833]
+/System/Library/Fonts/Times.ttc@ebb050e4fcaaebe9992efbc7b5660b60ba18b518:--font-funcs ot:U+0041,U+0066,U+0300,U+0066,U+0069,U+005A:[A=0+1479|f=1+682|gravecmb=1@-551,588+0|fi=3+1139|Z=5+1251]
+/System/Library/Fonts/LucidaGrande.ttc@63ba1b1de4709bd832ca76bd62368dd99fc34269:--font-funcs ot:U+05E1,U+05B0:[shevahebrew=0@51,0+0|samekhhebrew=0+1361]
+/Library/Fonts/Apple Chancery.ttf@4ec49cba0d4e68d025ada0498c4df1b2f9fd57ac:--font-funcs ot:U+0054,U+0068,U+0020,U+0074,U+0068,U+0020,U+006C,U+006C,U+0020,U+0074,U+0065,U+0020,U+0074,U+006F,U+0020,U+0074,U+0072,U+0020,U+0066,U+0072,U+0020,U+0066,U+0075,U+0020,U+0066,U+006A:[T_h=0+2308|space=2+569|t_h=3+1687|space=5+569|l_l=6+1108|space=8+569|t_e=9+1408|space=11+569|t_o=12+1531|space=14+569|t_r=15+1385|space=17+569|f_r=18+1432|space=20+569|f_u=21+1733|space=23+569|f_j=24+1098]
+/Library/Fonts/Apple Chancery.ttf@4ec49cba0d4e68d025ada0498c4df1b2f9fd57ac:--font-funcs ot:U+0054,U+0065,U+0020,U+0041,U+0056,U+0020,U+0054,U+0072,U+0020,U+0056,U+0061,U+0020,U+0072,U+0054,U+0020,U+0065,U+0054,U+0020,U+0054,U+0064:[T=0+1497|e=1@-62,0+699|space=2+569|A=3+1431|V=4@-37,0+1377|space=5+569|T=6+1510|r=7@-50,0+803|space=8+569|V=9+1376|a=10@-37,0+1014|space=11+569|r=12+853|T=13+1560|space=14+569|e=15+761|T=16+1560|space=17+569|T=18+1515|d=19@-45,0+1006]
+/System/Library/Fonts/GeezaPro.ttc@ab26ea45dcaa5e1c5a958e42af10e10d330e7334:--font-funcs ot:U+0627,U+0644,U+0623,U+064E,U+0628,U+0652,U+062C,U+064E,U+062F,U+0650,U+064A,U+064E,U+0651,U+0629,U+0640,U+0627,U+0644,U+0639,U+064E,U+0631,U+064E,U+0628,U+0650,U+064A,U+064E,U+0651,U+0629:[u0629.final.tehMarbuta=26+713|u064e_u0651.shaddaFatha=23@0,-200+0|u064a.medial.yeh=23+656|u0650.kasra=21@80,290+80|u0628.initial.beh=21@-80,0+576|u064e.fatha=19@200,-570+200|u0631.final.reh=19@-200,0+702|u064e.fatha=17@200,-200+200|u0639.medial.ain=17@-200,0+738|u0644.initial.lam=16+515|u0627.final.alef=15+647|u0640.tatweel=14+449|u0629.final.tehMarbuta=13+713|u064e_u0651.shaddaFatha=10@0,-200+0|u064a.initial.yeh=10+656|u0650.kasra=8@80,570+80|u062f.final.dal=8@-80,0+822|u064e.fatha=6@290,-160+290|u062c.medial.jeem=6@-290,0+1069|u0652.sukun=4@0,-200+0|u0628.initial.beh=4+656|u064e.fatha=1@-252,120+-252|u0644_u0623.isolated.lamHamzaOnAlef=1@120,0+1282|u0627.alef=0+647]
+/System/Library/Fonts/GeezaPro.ttc@ab26ea45dcaa5e1c5a958e42af10e10d330e7334:--font-funcs ot:U+0628,U+064A,U+064E,U+0651,U+0629:[u0629.final.tehMarbuta=4+713|u064e_u0651.shaddaFatha=1@0,-200+0|u064a.medial.yeh=1+656|u0628.initial.beh=0+656]
+/System/Library/Fonts/GeezaPro.ttc@ab26ea45dcaa5e1c5a958e42af10e10d330e7334:--font-funcs ot:U+0631,U+0628:[u0628.beh=1+1415|u0631.reh=0@-202,0+700]
+/System/Library/Fonts/GeezaPro.ttc@ab26ea45dcaa5e1c5a958e42af10e10d330e7334:--font-funcs ot:U+0628,U+064F:[u064f.damma=0@250,-250+250|u0628.beh=0@-250,0+1165]
+/System/Library/Fonts/SFNSDisplay.ttf@6e9677c443f6583228a63fd147663cfc635924d9:--font-funcs ot:U+0054,U+0065,U+0020,U+0041,U+0056,U+0020,U+0054,U+0072,U+0020,U+0056,U+0061,U+0020,U+0072,U+0054,U+0020,U+0065,U+0054,U+0020,U+0054,U+0064:[gid283=0+1055|gid659=1@-135,0+914|gid3=2+420|gid4=3+1227|gid333=4@-65,0+1227|gid3=5+420|gid283=6+1075|gid815=7@-115,0+516|gid3=8+420|gid333=9+1217|gid573=10@-75,0+953|gid3=11+420|gid815=12+546|gid283=13@-85,0+1105|gid3=14+420|gid659=15+914|gid283=16@-135,0+1055|gid3=17+420|gid283=18+1055|gid650=19@-135,0+999]
+/System/Library/Fonts/SFNSDisplay.ttf@6e9677c443f6583228a63fd147663cfc635924d9:--font-ptem 9 --font-funcs ot:U+0054,U+0065,U+0020,U+0041,U+0056,U+0020,U+0054,U+0072,U+0020,U+0056,U+0061,U+0020,U+0072,U+0054,U+0020,U+0065,U+0054,U+0020,U+0054,U+0064:[gid283=0@46,0+1147|gid659=1@-89,0+1006|gid3=2@46,0+512|gid4=3@46,0+1319|gid333=4@-19,0+1319|gid3=5@46,0+512|gid283=6@46,0+1167|gid815=7@-69,0+608|gid3=8@46,0+512|gid333=9@46,0+1309|gid573=10@-29,0+1045|gid3=11@46,0+512|gid815=12@46,0+638|gid283=13@-39,0+1197|gid3=14@46,0+512|gid659=15@46,0+1006|gid283=16@-89,0+1147|gid3=17@46,0+512|gid283=18@46,0+1147|gid650=19@-89,0+1091]
+/System/Library/Fonts/Apple Color Emoji.ttc@60f77161021b1b87e99c3690e1a9b56341cf8792:--remove-default-ignorables --font-funcs ot:U+1F468,U+200D,U+1F469,U+200D,U+1F467,U+200D,U+1F466:[u1F46A.MWGB=0+800]
+/Library/Fonts/Zapfino.ttf@99a1e15163c3e9567d5b1019c45e9254dae63b08:--font-funcs ot:U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+005A,U+0061,U+0070,U+0066,U+0069,U+006E,U+006F:[Z=0+416|a=1@-21,0+264|p_f=2+433|i=4+181|n=5+261|Z=6+416|a=7@-21,0+264|p_f=8+433|i=10+181|n=11+261|Z=12+416|a=13@-21,0+264|p_f=14+433|i=16+181|n=17+261|Z=18+416|a=19@-21,0+264|p_f=20+433|i=22+181|n=23+261|Z=24+416|a=25@-21,0+264|p_f=26+433|i=28+181|n=29+261|Z=30+416|a=31@-21,0+264|p_f=32+433|i=34+181|n=35+261|Z=36+416|a=37@-21,0+264|p_f=38+433|i=40+181|n=41+261|Z=42+416|a=43@-21,0+264|p_f=44+433|i=46+181|n=47+261|Z=48+416|a=49@-21,0+264|p_f=50+433|i=52+181|n=53+261|Z=54+416|a=55@-21,0+264|p_f=56+433|i=58+181|n=59+261|Z=60+416|a=61@-21,0+264|p_f=62+433|i=64+181|n=65+261|Z_a_p_f_i_n_o=66+2333]
diff --git a/test/shaping/data/text-rendering-tests/Makefile.in b/test/shaping/data/text-rendering-tests/Makefile.in
index ca784f5..6bf15ce 100644
--- a/test/shaping/data/text-rendering-tests/Makefile.in
+++ b/test/shaping/data/text-rendering-tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -532,7 +532,6 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -585,8 +584,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(srcdir)/Makefile.sources $(am__empty):
@@ -731,7 +730,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
fi; \
$$success || exit 1
-check-TESTS:
+check-TESTS:
@list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
@@ -767,7 +766,10 @@ recheck: all
@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TESTS_LOG_DRIVER_FLAGS) $(TESTS_LOG_DRIVER_FLAGS) -- $(TESTS_LOG_COMPILE) \
@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/test/subset/Makefile.in b/test/subset/Makefile.in
index 71f7a82..16f5c00 100644
--- a/test/subset/Makefile.in
+++ b/test/subset/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -138,7 +138,7 @@ am__recursive_targets = \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- distdir
+ distdir distdir-am
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
@@ -364,7 +364,6 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -397,8 +396,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -515,7 +514,10 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/test/subset/data/Makefile.in b/test/subset/data/Makefile.in
index 957bb34..3ca3360 100644
--- a/test/subset/data/Makefile.in
+++ b/test/subset/data/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -141,7 +141,7 @@ am__recursive_targets = \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- check recheck distdir
+ check recheck distdir distdir-am
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
@@ -569,7 +569,6 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -609,8 +608,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(srcdir)/Makefile.sources $(am__empty):
@@ -848,7 +847,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
fi; \
$$success || exit 1
-check-TESTS:
+check-TESTS:
@list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
@@ -884,7 +883,10 @@ recheck: all
@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TESTS_LOG_DRIVER_FLAGS) $(TESTS_LOG_DRIVER_FLAGS) -- $(TESTS_LOG_COMPILE) \
@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.61,62,63.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.61,62,63.ttf
new file mode 100644
index 0000000..52dc474
--- /dev/null
+++ b/test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.61,62,63.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.61,63.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.61,63.ttf
new file mode 100644
index 0000000..d6c516e
--- /dev/null
+++ b/test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.61,63.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.61.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.61.ttf
new file mode 100644
index 0000000..1a0d5bd
--- /dev/null
+++ b/test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.61.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.62.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.62.ttf
new file mode 100644
index 0000000..257184b
--- /dev/null
+++ b/test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.62.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.63.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.63.ttf
new file mode 100644
index 0000000..ac735b3
--- /dev/null
+++ b/test/subset/data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.63.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.retain-gids.61,62,63.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.retain-gids.61,62,63.ttf
new file mode 100644
index 0000000..12d9208
--- /dev/null
+++ b/test/subset/data/expected/basics/Roboto-Regular.abc.retain-gids.61,62,63.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.retain-gids.61,63.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.retain-gids.61,63.ttf
new file mode 100644
index 0000000..f545375
--- /dev/null
+++ b/test/subset/data/expected/basics/Roboto-Regular.abc.retain-gids.61,63.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.retain-gids.61.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.retain-gids.61.ttf
new file mode 100644
index 0000000..d3a67ea
--- /dev/null
+++ b/test/subset/data/expected/basics/Roboto-Regular.abc.retain-gids.61.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.retain-gids.62.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.retain-gids.62.ttf
new file mode 100644
index 0000000..4ff6e33
--- /dev/null
+++ b/test/subset/data/expected/basics/Roboto-Regular.abc.retain-gids.62.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.retain-gids.63.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.retain-gids.63.ttf
new file mode 100644
index 0000000..efd7c16
--- /dev/null
+++ b/test/subset/data/expected/basics/Roboto-Regular.abc.retain-gids.63.ttf
Binary files differ
diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.default.1FC,21,41,20,62,63.otf b/test/subset/data/expected/full-font/SourceSansPro-Regular.default.1FC,21,41,20,62,63.otf
deleted file mode 100644
index 1bd287d..0000000
--- a/test/subset/data/expected/full-font/SourceSansPro-Regular.default.1FC,21,41,20,62,63.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.default.61,62,63.otf b/test/subset/data/expected/full-font/SourceSansPro-Regular.default.61,62,63.otf
deleted file mode 100644
index 328c6ee..0000000
--- a/test/subset/data/expected/full-font/SourceSansPro-Regular.default.61,62,63.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.default.D7,D8,D9,DA,DE.otf b/test/subset/data/expected/full-font/SourceSansPro-Regular.default.D7,D8,D9,DA,DE.otf
deleted file mode 100644
index 4602847..0000000
--- a/test/subset/data/expected/full-font/SourceSansPro-Regular.default.D7,D8,D9,DA,DE.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize.1FC,21,41,20,62,63.otf b/test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize.1FC,21,41,20,62,63.otf
deleted file mode 100644
index 18a9bcc..0000000
--- a/test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize.1FC,21,41,20,62,63.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize.61,62,63.otf b/test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize.61,62,63.otf
deleted file mode 100644
index edd389b..0000000
--- a/test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize.61,62,63.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize.D7,D8,D9,DA,DE.otf b/test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize.D7,D8,D9,DA,DE.otf
deleted file mode 100644
index 65fa1da..0000000
--- a/test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize.D7,D8,D9,DA,DE.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.1FC,21,41,20,62,63.otf b/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.1FC,21,41,20,62,63.otf
deleted file mode 100644
index 53109e2..0000000
--- a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.1FC,21,41,20,62,63.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.61,62,63.otf b/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.61,62,63.otf
deleted file mode 100644
index dd908c2..0000000
--- a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.61,62,63.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.otf b/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.otf
deleted file mode 100644
index 5422d32..0000000
--- a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.desubroutinize.1FC,21,41,20,62,63.otf b/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.desubroutinize.1FC,21,41,20,62,63.otf
deleted file mode 100644
index 604e140..0000000
--- a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.desubroutinize.1FC,21,41,20,62,63.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.desubroutinize.61,62,63.otf b/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.desubroutinize.61,62,63.otf
deleted file mode 100644
index a0b2c2f..0000000
--- a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.desubroutinize.61,62,63.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.desubroutinize.D7,D8,D9,DA,DE.otf b/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.desubroutinize.D7,D8,D9,DA,DE.otf
deleted file mode 100644
index 8055328..0000000
--- a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.desubroutinize.D7,D8,D9,DA,DE.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.default.3042,3044,3046,3048,304A,304B.otf b/test/subset/data/expected/japanese/SourceHanSans-Regular.default.3042,3044,3046,3048,304A,304B.otf
deleted file mode 100644
index 8d717cc..0000000
--- a/test/subset/data/expected/japanese/SourceHanSans-Regular.default.3042,3044,3046,3048,304A,304B.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.default.3042,3044,3046,73E0,5EA6,8F38.otf b/test/subset/data/expected/japanese/SourceHanSans-Regular.default.3042,3044,3046,73E0,5EA6,8F38.otf
deleted file mode 100644
index 3d570cd..0000000
--- a/test/subset/data/expected/japanese/SourceHanSans-Regular.default.3042,3044,3046,73E0,5EA6,8F38.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.default.61,63,65,6B.otf b/test/subset/data/expected/japanese/SourceHanSans-Regular.default.61,63,65,6B.otf
deleted file mode 100644
index 216ed17..0000000
--- a/test/subset/data/expected/japanese/SourceHanSans-Regular.default.61,63,65,6B.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.default.660E,6975,73E0,5EA6,8F38,6E05.otf b/test/subset/data/expected/japanese/SourceHanSans-Regular.default.660E,6975,73E0,5EA6,8F38,6E05.otf
deleted file mode 100644
index f548f48..0000000
--- a/test/subset/data/expected/japanese/SourceHanSans-Regular.default.660E,6975,73E0,5EA6,8F38,6E05.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.default.660E.otf b/test/subset/data/expected/japanese/SourceHanSans-Regular.default.660E.otf
deleted file mode 100644
index 6362d21..0000000
--- a/test/subset/data/expected/japanese/SourceHanSans-Regular.default.660E.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize..otf b/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize..otf
deleted file mode 100644
index 7c0c5fd..0000000
--- a/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize..otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.3042,3044,3046,3048,304A,304B.otf b/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.3042,3044,3046,3048,304A,304B.otf
deleted file mode 100644
index e51866a..0000000
--- a/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.3042,3044,3046,3048,304A,304B.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf b/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf
deleted file mode 100644
index c4f6bb2..0000000
--- a/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.61,63,65,6B.otf b/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.61,63,65,6B.otf
deleted file mode 100644
index 62ddb60..0000000
--- a/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.61,63,65,6B.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf b/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf
deleted file mode 100644
index 7ce9d40..0000000
--- a/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.660E.otf b/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.660E.otf
deleted file mode 100644
index 35d9eea..0000000
--- a/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.660E.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.3042,3044,3046,3048,304A,304B.otf b/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.3042,3044,3046,3048,304A,304B.otf
deleted file mode 100644
index 9e1041d..0000000
--- a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.3042,3044,3046,3048,304A,304B.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.3042,3044,3046,73E0,5EA6,8F38.otf b/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.3042,3044,3046,73E0,5EA6,8F38.otf
deleted file mode 100644
index 6a3bff1..0000000
--- a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.3042,3044,3046,73E0,5EA6,8F38.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.61,63,65,6B.otf b/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.61,63,65,6B.otf
deleted file mode 100644
index 06d28b6..0000000
--- a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.61,63,65,6B.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.otf b/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.otf
deleted file mode 100644
index ce9d287..0000000
--- a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.660E.otf b/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.660E.otf
deleted file mode 100644
index 27c4676..0000000
--- a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.660E.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize..otf b/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize..otf
deleted file mode 100644
index a73617a..0000000
--- a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize..otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize.3042,3044,3046,3048,304A,304B.otf b/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize.3042,3044,3046,3048,304A,304B.otf
deleted file mode 100644
index 790b714..0000000
--- a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize.3042,3044,3046,3048,304A,304B.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf b/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf
deleted file mode 100644
index c707bcd..0000000
--- a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize.61,63,65,6B.otf b/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize.61,63,65,6B.otf
deleted file mode 100644
index 591d139..0000000
--- a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize.61,63,65,6B.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf b/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf
deleted file mode 100644
index efc98b6..0000000
--- a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize.660E.otf b/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize.660E.otf
deleted file mode 100644
index 27c4676..0000000
--- a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.desubroutinize.660E.otf
+++ /dev/null
Binary files differ
diff --git a/test/subset/data/profiles/desubroutinize-retain-gids.txt b/test/subset/data/profiles/desubroutinize-retain-gids.txt
new file mode 100644
index 0000000..cbb37b6
--- /dev/null
+++ b/test/subset/data/profiles/desubroutinize-retain-gids.txt
@@ -0,0 +1,2 @@
+--desubroutinize
+--retain-gids
diff --git a/test/subset/data/profiles/drop-hints-desubroutinize-retain-gids.txt b/test/subset/data/profiles/drop-hints-desubroutinize-retain-gids.txt
new file mode 100644
index 0000000..848620a
--- /dev/null
+++ b/test/subset/data/profiles/drop-hints-desubroutinize-retain-gids.txt
@@ -0,0 +1,3 @@
+--no-hinting
+--desubroutinize
+--retain-gids
diff --git a/test/subset/data/profiles/drop-hints-retain-gids.txt b/test/subset/data/profiles/drop-hints-retain-gids.txt
new file mode 100644
index 0000000..b0409b8
--- /dev/null
+++ b/test/subset/data/profiles/drop-hints-retain-gids.txt
@@ -0,0 +1,2 @@
+--no-hinting
+--retain-gids
diff --git a/test/subset/data/profiles/retain-gids.txt b/test/subset/data/profiles/retain-gids.txt
new file mode 100644
index 0000000..d757487
--- /dev/null
+++ b/test/subset/data/profiles/retain-gids.txt
@@ -0,0 +1 @@
+--retain-gids
diff --git a/test/subset/data/tests/basics.tests b/test/subset/data/tests/basics.tests
index 9725445..4fc3f4e 100644
--- a/test/subset/data/tests/basics.tests
+++ b/test/subset/data/tests/basics.tests
@@ -4,6 +4,8 @@ Roboto-Regular.abc.ttf
PROFILES:
default.txt
drop-hints.txt
+drop-hints-retain-gids.txt
+retain-gids.txt
SUBSETS:
abc
diff --git a/test/subset/data/tests/full-font.tests b/test/subset/data/tests/full-font.tests
index f422ff5..ff195ce 100644
--- a/test/subset/data/tests/full-font.tests
+++ b/test/subset/data/tests/full-font.tests
@@ -1,6 +1,5 @@
FONTS:
Roboto-Regular.ttf
-SourceSansPro-Regular.otf
PROFILES:
default.txt
diff --git a/test/subset/data/tests/japanese.tests b/test/subset/data/tests/japanese.tests
index fc58646..5a04380 100644
--- a/test/subset/data/tests/japanese.tests
+++ b/test/subset/data/tests/japanese.tests
@@ -1,6 +1,5 @@
FONTS:
Mplus1p-Regular.ttf
-SourceHanSans-Regular.otf
PROFILES:
default.txt
diff --git a/test/subset/subset_test_suite.py b/test/subset/subset_test_suite.py
index 5e3368e..ad438ee 100644
--- a/test/subset/subset_test_suite.py
+++ b/test/subset/subset_test_suite.py
@@ -33,9 +33,6 @@ class Test:
font_base_name_parts = os.path.splitext(font_base_name)
return font_base_name_parts[1]
- def applicable(self):
- return self.profile_path.find("desubroutinize") < 0 or self.get_font_extension() == "otf"
-
# A group of tests to perform on the subsetter. Each test
# Identifies a font a subsetting profile, and a subset to be cut.
class SubsetTestSuite:
@@ -65,9 +62,7 @@ class SubsetTestSuite:
for profile in self.profiles:
profile = os.path.join(self._base_path(), "profiles", profile)
for subset in self.subsets:
- test = Test(font, profile, subset)
- if test.applicable():
- yield test
+ yield Test(font, profile, subset)
def _base_path(self):
return os.path.dirname(os.path.dirname(self.test_path))
diff --git a/util/Makefile.in b/util/Makefile.in
index 820a5a8..40f116f 100644
--- a/util/Makefile.in
+++ b/util/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -177,7 +177,12 @@ am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/ansi-print.Po \
+ ./$(DEPDIR)/hb-ot-shape-closure.Po ./$(DEPDIR)/hb-shape.Po \
+ ./$(DEPDIR)/hb-subset.Po ./$(DEPDIR)/hb-view.Po \
+ ./$(DEPDIR)/helper-cairo-ansi.Po ./$(DEPDIR)/helper-cairo.Po \
+ ./$(DEPDIR)/options.Po ./$(DEPDIR)/view-cairo.Po
am__mv = mv -f
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
@@ -425,7 +430,6 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -528,8 +532,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(srcdir)/Makefile.sources $(am__empty):
@@ -629,15 +633,21 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ansi-print.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-ot-shape-closure.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-shape.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-subset.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-view.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/helper-cairo-ansi.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/helper-cairo.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/options.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/view-cairo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ansi-print.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-ot-shape-closure.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-shape.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-subset.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hb-view.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/helper-cairo-ansi.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/helper-cairo.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/options.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/view-cairo.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.cc.o:
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -718,7 +728,10 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -793,7 +806,15 @@ clean: clean-am
clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/ansi-print.Po
+ -rm -f ./$(DEPDIR)/hb-ot-shape-closure.Po
+ -rm -f ./$(DEPDIR)/hb-shape.Po
+ -rm -f ./$(DEPDIR)/hb-subset.Po
+ -rm -f ./$(DEPDIR)/hb-view.Po
+ -rm -f ./$(DEPDIR)/helper-cairo-ansi.Po
+ -rm -f ./$(DEPDIR)/helper-cairo.Po
+ -rm -f ./$(DEPDIR)/options.Po
+ -rm -f ./$(DEPDIR)/view-cairo.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -839,7 +860,15 @@ install-ps-am:
installcheck-am: installcheck-binPROGRAMS
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/ansi-print.Po
+ -rm -f ./$(DEPDIR)/hb-ot-shape-closure.Po
+ -rm -f ./$(DEPDIR)/hb-shape.Po
+ -rm -f ./$(DEPDIR)/hb-subset.Po
+ -rm -f ./$(DEPDIR)/hb-view.Po
+ -rm -f ./$(DEPDIR)/helper-cairo-ansi.Po
+ -rm -f ./$(DEPDIR)/helper-cairo.Po
+ -rm -f ./$(DEPDIR)/options.Po
+ -rm -f ./$(DEPDIR)/view-cairo.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -860,7 +889,7 @@ uninstall-am: uninstall-binPROGRAMS
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
ctags ctags-am distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
diff --git a/util/hb-subset.cc b/util/hb-subset.cc
index b7d9eb9..33e584b 100644
--- a/util/hb-subset.cc
+++ b/util/hb-subset.cc
@@ -91,6 +91,7 @@ struct subset_consumer_t
{
hb_subset_input_set_drop_layout (input, !subset_options.keep_layout);
hb_subset_input_set_drop_hints (input, subset_options.drop_hints);
+ hb_subset_input_set_retain_gids (input, subset_options.retain_gids);
hb_subset_input_set_desubroutinize (input, subset_options.desubroutinize);
hb_face_t *face = hb_font_get_face (font);
diff --git a/util/options.cc b/util/options.cc
index 04ddcf6..c5a4f0f 100644
--- a/util/options.cc
+++ b/util/options.cc
@@ -432,7 +432,8 @@ shape_options_t::add_options (option_parser_t *parser)
" Features can be enabled or disabled, either globally or limited to\n"
" specific character ranges. The format for specifying feature settings\n"
" follows. All valid CSS font-feature-settings values other than 'normal'\n"
- " and 'inherited' are also accepted, though, not documented below.\n"
+ " and the global values are also accepted, though not documented below.\n"
+ " CSS string escapes are not supported."
"\n"
" The range indices refer to the positions between Unicode characters,\n"
" unless the --utf8-clusters is provided, in which case range indices\n"
@@ -977,6 +978,7 @@ subset_options_t::add_options (option_parser_t *parser)
{
{"layout", 0, 0, G_OPTION_ARG_NONE, &this->keep_layout, "Keep OpenType Layout tables", nullptr},
{"no-hinting", 0, 0, G_OPTION_ARG_NONE, &this->drop_hints, "Whether to drop hints", nullptr},
+ {"retain-gids", 0, 0, G_OPTION_ARG_NONE, &this->retain_gids, "If set don't renumber glyph ids in the subset.", nullptr},
{"desubroutinize", 0, 0, G_OPTION_ARG_NONE, &this->desubroutinize, "Remove CFF/CFF2 use of subroutines", nullptr},
{nullptr}
diff --git a/util/options.hh b/util/options.hh
index e846258..84139f5 100644
--- a/util/options.hh
+++ b/util/options.hh
@@ -675,6 +675,7 @@ struct subset_options_t : option_group_t
{
keep_layout = false;
drop_hints = false;
+ retain_gids = false;
desubroutinize = false;
add_options (parser);
@@ -684,6 +685,7 @@ struct subset_options_t : option_group_t
hb_bool_t keep_layout;
hb_bool_t drop_hints;
+ hb_bool_t retain_gids;
hb_bool_t desubroutinize;
};