From 1a547523091ff56504a3a4684aa7a786cc4f56ec Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Wed, 21 Apr 2010 10:46:37 +0900 Subject: [PATCH] Change maintainer according to the policy, and delete output file --- harfbuzz-0.1/build-stamp | 0 harfbuzz-0.1/debian/changelog | 12 + harfbuzz-0.1/debian/control | 3 +- harfbuzz-0.1/debian/files | 3 - harfbuzz-0.1/debian/libharfbuzz-dbg/DEBIAN/control | 10 - harfbuzz-0.1/debian/libharfbuzz-dbg/DEBIAN/md5sums | 3 - .../usr/lib/debug/usr/lib/libharfbuzz.so | Bin 1464 -> 0 bytes .../share/doc/libharfbuzz-dbg/changelog.Debian.gz | Bin 339 -> 0 bytes .../usr/share/doc/libharfbuzz-dbg/copyright | 26 - harfbuzz-0.1/debian/libharfbuzz-dev/DEBIAN/control | 10 - harfbuzz-0.1/debian/libharfbuzz-dev/DEBIAN/md5sums | 2 - .../share/doc/libharfbuzz-dev/changelog.Debian.gz | Bin 339 -> 0 bytes .../usr/share/doc/libharfbuzz-dev/copyright | 26 - harfbuzz-0.1/debian/libharfbuzz.substvars | 0 harfbuzz-0.1/debian/libharfbuzz/DEBIAN/control | 9 - harfbuzz-0.1/debian/libharfbuzz/DEBIAN/md5sums | 25 - .../usr/include/harfbuzz/harfbuzz-buffer-private.h | 107 - .../usr/include/harfbuzz/harfbuzz-buffer.h | 94 - .../usr/include/harfbuzz/harfbuzz-dump.h | 41 - .../usr/include/harfbuzz/harfbuzz-external.h | 155 - .../usr/include/harfbuzz/harfbuzz-gdef-private.h | 124 - .../usr/include/harfbuzz/harfbuzz-gdef.h | 135 - .../usr/include/harfbuzz/harfbuzz-global.h | 123 - .../usr/include/harfbuzz/harfbuzz-gpos-private.h | 712 ----- .../usr/include/harfbuzz/harfbuzz-gpos.h | 149 - .../usr/include/harfbuzz/harfbuzz-gsub-private.h | 476 --- .../usr/include/harfbuzz/harfbuzz-gsub.h | 141 - .../usr/include/harfbuzz/harfbuzz-impl.h | 135 - .../usr/include/harfbuzz/harfbuzz-open-private.h | 102 - .../usr/include/harfbuzz/harfbuzz-open.h | 282 -- .../usr/include/harfbuzz/harfbuzz-shape.h | 199 -- .../usr/include/harfbuzz/harfbuzz-shaper-private.h | 164 - .../usr/include/harfbuzz/harfbuzz-shaper.h | 283 -- .../usr/include/harfbuzz/harfbuzz-stream-private.h | 81 - .../usr/include/harfbuzz/harfbuzz-stream.h | 42 - .../libharfbuzz/usr/include/harfbuzz/harfbuzz.h | 49 - .../usr/include/harfbuzz/hb_unicode_tables.h | 3312 -------------------- .../debian/libharfbuzz/usr/lib/libharfbuzz.so | Bin 264932 -> 0 bytes .../libharfbuzz/usr/lib/pkgconfig/harfbuzz.pc | 11 - .../usr/share/doc/libharfbuzz/changelog.Debian.gz | Bin 339 -> 0 bytes .../usr/share/doc/libharfbuzz/copyright | 26 - .../usr/include/harfbuzz/harfbuzz-buffer-private.h | 107 - .../tmp/usr/include/harfbuzz/harfbuzz-buffer.h | 94 - .../tmp/usr/include/harfbuzz/harfbuzz-dump.h | 41 - .../tmp/usr/include/harfbuzz/harfbuzz-external.h | 155 - .../usr/include/harfbuzz/harfbuzz-gdef-private.h | 124 - .../tmp/usr/include/harfbuzz/harfbuzz-gdef.h | 135 - .../tmp/usr/include/harfbuzz/harfbuzz-global.h | 123 - .../usr/include/harfbuzz/harfbuzz-gpos-private.h | 712 ----- .../tmp/usr/include/harfbuzz/harfbuzz-gpos.h | 149 - .../usr/include/harfbuzz/harfbuzz-gsub-private.h | 476 --- .../tmp/usr/include/harfbuzz/harfbuzz-gsub.h | 141 - .../tmp/usr/include/harfbuzz/harfbuzz-impl.h | 135 - .../usr/include/harfbuzz/harfbuzz-open-private.h | 102 - .../tmp/usr/include/harfbuzz/harfbuzz-open.h | 282 -- .../tmp/usr/include/harfbuzz/harfbuzz-shape.h | 199 -- .../usr/include/harfbuzz/harfbuzz-shaper-private.h | 164 - .../tmp/usr/include/harfbuzz/harfbuzz-shaper.h | 283 -- .../usr/include/harfbuzz/harfbuzz-stream-private.h | 81 - .../tmp/usr/include/harfbuzz/harfbuzz-stream.h | 42 - .../debian/tmp/usr/include/harfbuzz/harfbuzz.h | 49 - .../tmp/usr/include/harfbuzz/hb_unicode_tables.h | 3312 -------------------- harfbuzz-0.1/debian/tmp/usr/lib/libharfbuzz.so | Bin 452191 -> 0 bytes .../debian/tmp/usr/lib/pkgconfig/harfbuzz.pc | 11 - 64 files changed, 13 insertions(+), 13976 deletions(-) delete mode 100755 harfbuzz-0.1/build-stamp delete mode 100755 harfbuzz-0.1/debian/files delete mode 100755 harfbuzz-0.1/debian/libharfbuzz-dbg/DEBIAN/control delete mode 100755 harfbuzz-0.1/debian/libharfbuzz-dbg/DEBIAN/md5sums delete mode 100755 harfbuzz-0.1/debian/libharfbuzz-dbg/usr/lib/debug/usr/lib/libharfbuzz.so delete mode 100755 harfbuzz-0.1/debian/libharfbuzz-dbg/usr/share/doc/libharfbuzz-dbg/changelog.Debian.gz delete mode 100755 harfbuzz-0.1/debian/libharfbuzz-dbg/usr/share/doc/libharfbuzz-dbg/copyright delete mode 100755 harfbuzz-0.1/debian/libharfbuzz-dev/DEBIAN/control delete mode 100755 harfbuzz-0.1/debian/libharfbuzz-dev/DEBIAN/md5sums delete mode 100755 harfbuzz-0.1/debian/libharfbuzz-dev/usr/share/doc/libharfbuzz-dev/changelog.Debian.gz delete mode 100755 harfbuzz-0.1/debian/libharfbuzz-dev/usr/share/doc/libharfbuzz-dev/copyright delete mode 100755 harfbuzz-0.1/debian/libharfbuzz.substvars delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/DEBIAN/control delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/DEBIAN/md5sums delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-buffer-private.h delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-buffer.h delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-dump.h delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-external.h delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gdef-private.h delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gdef.h delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-global.h delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gpos-private.h delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gpos.h delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gsub-private.h delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gsub.h delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-impl.h delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-open-private.h delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-open.h delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-shape.h delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-shaper-private.h delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-shaper.h delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-stream-private.h delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-stream.h delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz.h delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/hb_unicode_tables.h delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/lib/libharfbuzz.so delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/lib/pkgconfig/harfbuzz.pc delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/share/doc/libharfbuzz/changelog.Debian.gz delete mode 100755 harfbuzz-0.1/debian/libharfbuzz/usr/share/doc/libharfbuzz/copyright delete mode 100755 harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-buffer-private.h delete mode 100755 harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-buffer.h delete mode 100755 harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-dump.h delete mode 100755 harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-external.h delete mode 100755 harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gdef-private.h delete mode 100755 harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gdef.h delete mode 100755 harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-global.h delete mode 100755 harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gpos-private.h delete mode 100755 harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gpos.h delete mode 100755 harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gsub-private.h delete mode 100755 harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gsub.h delete mode 100755 harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-impl.h delete mode 100755 harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-open-private.h delete mode 100755 harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-open.h delete mode 100755 harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-shape.h delete mode 100755 harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-shaper-private.h delete mode 100755 harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-shaper.h delete mode 100755 harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-stream-private.h delete mode 100755 harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-stream.h delete mode 100755 harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz.h delete mode 100755 harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/hb_unicode_tables.h delete mode 100755 harfbuzz-0.1/debian/tmp/usr/lib/libharfbuzz.so delete mode 100755 harfbuzz-0.1/debian/tmp/usr/lib/pkgconfig/harfbuzz.pc diff --git a/harfbuzz-0.1/build-stamp b/harfbuzz-0.1/build-stamp deleted file mode 100755 index e69de29..0000000 diff --git a/harfbuzz-0.1/debian/changelog b/harfbuzz-0.1/debian/changelog index bb223e6..d42e6bb 100755 --- a/harfbuzz-0.1/debian/changelog +++ b/harfbuzz-0.1/debian/changelog @@ -1,3 +1,15 @@ +harfbuzz (0.4.0-1slp2+7) unstable; urgency=low + + * Change maintainer according to the policy + + -- Jihoon Kim Wed, 21 Apr 2010 10:00:53 +0900 + +harfbuzz (0.4.0-1slp2+6) unstable; urgency=high + + * Modified the control file + + -- Janani Thu, 08 Apr 2010 15:14:53 +0530 + harfbuzz (0.4.0-1slp2+5) unstable; urgency=low * Removed DOS style line endings diff --git a/harfbuzz-0.1/debian/control b/harfbuzz-0.1/debian/control index 6b3a4ab..518a070 100755 --- a/harfbuzz-0.1/debian/control +++ b/harfbuzz-0.1/debian/control @@ -1,8 +1,7 @@ Source: harfbuzz Section: libs Priority: optional -Maintainer: janani -Uploaders: Janani , Jihoon Kim +Maintainer: Jihoon Kim , janani , Sehwan Park Build-Depends: debhelper (>= 5),libfreetype6-dev, pkg-config Standards-Version: 3.7.2 diff --git a/harfbuzz-0.1/debian/files b/harfbuzz-0.1/debian/files deleted file mode 100755 index c0beb5c..0000000 --- a/harfbuzz-0.1/debian/files +++ /dev/null @@ -1,3 +0,0 @@ -libharfbuzz_0.4.0-1slp2+4_armel.deb libs optional -libharfbuzz-dev_0.4.0-1slp2+4_armel.deb libdevel optional -libharfbuzz-dbg_0.4.0-1slp2+4_armel.deb debug optional diff --git a/harfbuzz-0.1/debian/libharfbuzz-dbg/DEBIAN/control b/harfbuzz-0.1/debian/libharfbuzz-dbg/DEBIAN/control deleted file mode 100755 index 793f57f..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz-dbg/DEBIAN/control +++ /dev/null @@ -1,10 +0,0 @@ -Package: libharfbuzz-dbg -Source: harfbuzz -Version: 0.4.0-1slp2+4 -Architecture: armel -Maintainer: janani -Installed-Size: 52 -Depends: libharfbuzz (= 0.4.0-1slp2+4) -Section: debug -Priority: optional -Description: Hindi reshaping library (unstripped) diff --git a/harfbuzz-0.1/debian/libharfbuzz-dbg/DEBIAN/md5sums b/harfbuzz-0.1/debian/libharfbuzz-dbg/DEBIAN/md5sums deleted file mode 100755 index 1501549..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz-dbg/DEBIAN/md5sums +++ /dev/null @@ -1,3 +0,0 @@ -93e65ad0ab6ed5807bad917b9f2331ec usr/lib/debug/usr/lib/libharfbuzz.so -03a837c13bdeffc82c8a8b2634bf360d usr/share/doc/libharfbuzz-dbg/changelog.Debian.gz -df1d54271f4722f7e2b3bcfdf7b69ddd usr/share/doc/libharfbuzz-dbg/copyright diff --git a/harfbuzz-0.1/debian/libharfbuzz-dbg/usr/lib/debug/usr/lib/libharfbuzz.so b/harfbuzz-0.1/debian/libharfbuzz-dbg/usr/lib/debug/usr/lib/libharfbuzz.so deleted file mode 100755 index 51602dad076748413f963d5fa4b99456316e53dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1464 zcma)+%W4!s6oyZyJ7Ls-cT7YjUIIa(Q5ZoNidiHCQACL#xJcJzI!;UGLU%_pAY=## z`T#zFAmSpRi!6d0=MBulg$uX7gFF5It~xUTWcN=D(ElnMGfU*YTT`h_w!Iv^5Yq%yuNWG{U85fAA(e*`-MO@;KQ zMaF3Kih5WV8HbNb`3a?;v->~tI)=YQ{j(S0GO?*8;!VLEy}CFjV?o8+=N$=-dB?pI z{)9K_og6tcB4O6Z@-#O!2^%JBNLcT-vToCkc`D(P)>`;1PP3%l`eU*LUmCBHw?=0* zmoRB1c;@jso-3HZ)vlY|NI3i8Zirz*6=P5!&Yt`7f9~bei9-+ zlp%+plThV$4q7f5$D$K`C(dH7+__VhTTmx_?1vhbxYg6HF4idYYpXY4YrZYVy+2CI z3OV}c-N@L*D>mN@H{e9Mdzh2wyY#$jxzaWUb#IrrmyX-jrr@JVeOTi7P4WD`Ees25 z$m0@sdDAaA_MxJj!GiAhn&Wyml^UK)QsQ>{E*~$-iRQ~OXTD7+zi0NxZ`ob(V80uV zD&iZ@@^9+W-In diff --git a/harfbuzz-0.1/debian/libharfbuzz-dbg/usr/share/doc/libharfbuzz-dbg/changelog.Debian.gz b/harfbuzz-0.1/debian/libharfbuzz-dbg/usr/share/doc/libharfbuzz-dbg/changelog.Debian.gz deleted file mode 100755 index 4f2ce806c285d8fdf90c703dd81b1b4ef04e955e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 339 zcmV-Z0j&NXiwFo&=DJG)17m1mZf9j|Z)Yws2s_ z&Y>~&n&z6Xps@v;^!r9v8_xr{fSEFtg>*rt;2PSy(Fk71kWp~`wLkskT}@@(n8Hu1 z@)qEu;UQoG_bUql3Iq{K5lNiD0OJrnZ_()p-Hs|#x#A2;T5_&51DOoe?t#{@yExq@ zWQcBC;IzF_x}<`^P|1H)W&NspwrU7L0y8>rA}KB^YtDKJJ~aBOz`e!m#;}El-w}F+&nnY~$4BAuShj_9 lgu9!c8nsrW+XXaJ&3^y-F+Qq4nn-c@l0SHBGnKXj000ozrHTLm diff --git a/harfbuzz-0.1/debian/libharfbuzz-dbg/usr/share/doc/libharfbuzz-dbg/copyright b/harfbuzz-0.1/debian/libharfbuzz-dbg/usr/share/doc/libharfbuzz-dbg/copyright deleted file mode 100755 index 634932c..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz-dbg/usr/share/doc/libharfbuzz-dbg/copyright +++ /dev/null @@ -1,26 +0,0 @@ -This is harfbuzz library ,maintained by prameet -on Fri, 05 Mar 2010 10:49:10 +0530. - -The original source can always be found at: - ftp://ftp.debian.org/dists/unstable/main/source/ - -Copyright Holder: unknown - -License: - - 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 2 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 package; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -On Debian systems, the complete text of the GNU General -Public License can be found in `/usr/share/common-licenses/GPL'. diff --git a/harfbuzz-0.1/debian/libharfbuzz-dev/DEBIAN/control b/harfbuzz-0.1/debian/libharfbuzz-dev/DEBIAN/control deleted file mode 100755 index ee859c7..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz-dev/DEBIAN/control +++ /dev/null @@ -1,10 +0,0 @@ -Package: libharfbuzz-dev -Source: harfbuzz -Version: 0.4.0-1slp2+4 -Architecture: armel -Maintainer: janani -Installed-Size: 32 -Depends: libharfbuzz (= 0.4.0-1slp2+4) -Section: libdevel -Priority: optional -Description: Hindi reshaping library (unstripped) diff --git a/harfbuzz-0.1/debian/libharfbuzz-dev/DEBIAN/md5sums b/harfbuzz-0.1/debian/libharfbuzz-dev/DEBIAN/md5sums deleted file mode 100755 index ff6905a..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz-dev/DEBIAN/md5sums +++ /dev/null @@ -1,2 +0,0 @@ -03a837c13bdeffc82c8a8b2634bf360d usr/share/doc/libharfbuzz-dev/changelog.Debian.gz -df1d54271f4722f7e2b3bcfdf7b69ddd usr/share/doc/libharfbuzz-dev/copyright diff --git a/harfbuzz-0.1/debian/libharfbuzz-dev/usr/share/doc/libharfbuzz-dev/changelog.Debian.gz b/harfbuzz-0.1/debian/libharfbuzz-dev/usr/share/doc/libharfbuzz-dev/changelog.Debian.gz deleted file mode 100755 index 4f2ce806c285d8fdf90c703dd81b1b4ef04e955e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 339 zcmV-Z0j&NXiwFo&=DJG)17m1mZf9j|Z)Yws2s_ z&Y>~&n&z6Xps@v;^!r9v8_xr{fSEFtg>*rt;2PSy(Fk71kWp~`wLkskT}@@(n8Hu1 z@)qEu;UQoG_bUql3Iq{K5lNiD0OJrnZ_()p-Hs|#x#A2;T5_&51DOoe?t#{@yExq@ zWQcBC;IzF_x}<`^P|1H)W&NspwrU7L0y8>rA}KB^YtDKJJ~aBOz`e!m#;}El-w}F+&nnY~$4BAuShj_9 lgu9!c8nsrW+XXaJ&3^y-F+Qq4nn-c@l0SHBGnKXj000ozrHTLm diff --git a/harfbuzz-0.1/debian/libharfbuzz-dev/usr/share/doc/libharfbuzz-dev/copyright b/harfbuzz-0.1/debian/libharfbuzz-dev/usr/share/doc/libharfbuzz-dev/copyright deleted file mode 100755 index 634932c..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz-dev/usr/share/doc/libharfbuzz-dev/copyright +++ /dev/null @@ -1,26 +0,0 @@ -This is harfbuzz library ,maintained by prameet -on Fri, 05 Mar 2010 10:49:10 +0530. - -The original source can always be found at: - ftp://ftp.debian.org/dists/unstable/main/source/ - -Copyright Holder: unknown - -License: - - 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 2 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 package; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -On Debian systems, the complete text of the GNU General -Public License can be found in `/usr/share/common-licenses/GPL'. diff --git a/harfbuzz-0.1/debian/libharfbuzz.substvars b/harfbuzz-0.1/debian/libharfbuzz.substvars deleted file mode 100755 index e69de29..0000000 diff --git a/harfbuzz-0.1/debian/libharfbuzz/DEBIAN/control b/harfbuzz-0.1/debian/libharfbuzz/DEBIAN/control deleted file mode 100755 index e4b363d..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/DEBIAN/control +++ /dev/null @@ -1,9 +0,0 @@ -Package: libharfbuzz -Source: harfbuzz -Version: 0.4.0-1slp2+4 -Architecture: armel -Maintainer: janani -Installed-Size: 536 -Section: libs -Priority: optional -Description: Hindi Reshaping Library diff --git a/harfbuzz-0.1/debian/libharfbuzz/DEBIAN/md5sums b/harfbuzz-0.1/debian/libharfbuzz/DEBIAN/md5sums deleted file mode 100755 index f2b2811..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/DEBIAN/md5sums +++ /dev/null @@ -1,25 +0,0 @@ -9b0bfea1e5ca29ab694bb66e0c7806d5 usr/lib/pkgconfig/harfbuzz.pc -a2cee363d5fe3f089785f3dab5cdece0 usr/lib/libharfbuzz.so -03a837c13bdeffc82c8a8b2634bf360d usr/share/doc/libharfbuzz/changelog.Debian.gz -df1d54271f4722f7e2b3bcfdf7b69ddd usr/share/doc/libharfbuzz/copyright -4c95527607ebe81b3b87094d25f27d6f usr/include/harfbuzz/harfbuzz-buffer.h -4a7663d206e00bb042dba9fabd243ae9 usr/include/harfbuzz/harfbuzz-gsub.h -65dfc4afe912b56f394c8985cfcf982e usr/include/harfbuzz/harfbuzz.h -fb2e84d414e994fd6d47da65f29df300 usr/include/harfbuzz/harfbuzz-gdef-private.h -8806581e394a1a3a0099fce9f7ae5bb7 usr/include/harfbuzz/harfbuzz-shaper-private.h -111f7fed581aa11bbe2ee382dd96546e usr/include/harfbuzz/harfbuzz-gpos-private.h -654ef5dddd2ddde763009bb010f93f9e usr/include/harfbuzz/harfbuzz-gpos.h -7f73615794097fc97880721f7c3844fa usr/include/harfbuzz/harfbuzz-stream-private.h -3301fa97e5569747a02bd14cf18c87e3 usr/include/harfbuzz/harfbuzz-external.h -54dd91224a24321989a911c28f5189d0 usr/include/harfbuzz/harfbuzz-open-private.h -e20e7a6e21d4a30ce787e19822e6a137 usr/include/harfbuzz/harfbuzz-shaper.h -a60482b499aab325c2f4fb04d7d8d218 usr/include/harfbuzz/harfbuzz-shape.h -cad7ee9763ed7cf8ab8c19a9cd032037 usr/include/harfbuzz/harfbuzz-open.h -c67245642f9cfbe111845d1295e1a1df usr/include/harfbuzz/harfbuzz-stream.h -506fe3027f7d09525d8656a6e75fb28f usr/include/harfbuzz/harfbuzz-global.h -19ceb1cfa7341882723952dbfef77886 usr/include/harfbuzz/harfbuzz-impl.h -0e5f19fed6de3112c16c3c2a00add25b usr/include/harfbuzz/harfbuzz-gsub-private.h -ee979fb624827ff36c3f43e6d95ce2ac usr/include/harfbuzz/harfbuzz-gdef.h -29c5d48f316d72850f83d50fd602e18a usr/include/harfbuzz/hb_unicode_tables.h -5a35d8724db16ab426ef6e730514f3cc usr/include/harfbuzz/harfbuzz-dump.h -f700543a6ea295f677155f9e8aa38846 usr/include/harfbuzz/harfbuzz-buffer-private.h diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-buffer-private.h b/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-buffer-private.h deleted file mode 100755 index 5065f2e..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-buffer-private.h +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2004,2007 Red Hat, Inc. - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Red Hat Author(s): Owen Taylor, Behdad Esfahbod - */ - -#ifndef HARFBUZZ_BUFFER_PRIVATE_H -#define HARFBUZZ_BUFFER_PRIVATE_H - -#include "harfbuzz-impl.h" -#include "harfbuzz-buffer.h" - -HB_BEGIN_HEADER - -#define HB_GLYPH_PROPERTIES_UNKNOWN 0xFFFF - -HB_INTERNAL void -_hb_buffer_swap( HB_Buffer buffer ); - -HB_INTERNAL void -_hb_buffer_clear_output( HB_Buffer buffer ); - -HB_INTERNAL HB_Error -_hb_buffer_clear_positions( HB_Buffer buffer ); - -HB_INTERNAL HB_Error -_hb_buffer_add_output_glyphs( HB_Buffer buffer, - HB_UShort num_in, - HB_UShort num_out, - HB_UShort *glyph_data, - HB_UShort component, - HB_UShort ligID ); - -HB_INTERNAL HB_Error -_hb_buffer_add_output_glyph ( HB_Buffer buffer, - HB_UInt glyph_index, - HB_UShort component, - HB_UShort ligID ); - -HB_INTERNAL HB_Error -_hb_buffer_copy_output_glyph ( HB_Buffer buffer ); - -HB_INTERNAL HB_Error -_hb_buffer_replace_output_glyph ( HB_Buffer buffer, - HB_UInt glyph_index, - HB_Bool inplace ); - -HB_INTERNAL HB_UShort -_hb_buffer_allocate_ligid( HB_Buffer buffer ); - - -/* convenience macros */ - -#define IN_GLYPH( pos ) (buffer->in_string[(pos)].gindex) -#define IN_ITEM( pos ) (&buffer->in_string[(pos)]) -#define IN_CURGLYPH() (buffer->in_string[buffer->in_pos].gindex) -#define IN_CURITEM() (&buffer->in_string[buffer->in_pos]) -#define IN_PROPERTIES( pos ) (buffer->in_string[(pos)].properties) -#define IN_LIGID( pos ) (buffer->in_string[(pos)].ligID) -#define IN_COMPONENT( pos ) (buffer->in_string[(pos)].component) -#define POSITION( pos ) (&buffer->positions[(pos)]) -#define OUT_GLYPH( pos ) (buffer->out_string[(pos)].gindex) -#define OUT_ITEM( pos ) (&buffer->out_string[(pos)]) - -#define CHECK_Property( gdef, index, flags, property ) \ - ( ( error = _HB_GDEF_Check_Property( (gdef), (index), (flags), \ - (property) ) ) != HB_Err_Ok ) - -#define ADD_String( buffer, num_in, num_out, glyph_data, component, ligID ) \ - ( ( error = _hb_buffer_add_output_glyphs( (buffer), \ - (num_in), (num_out), \ - (glyph_data), (component), (ligID) \ - ) ) != HB_Err_Ok ) -#define ADD_Glyph( buffer, glyph_index, component, ligID ) \ - ( ( error = _hb_buffer_add_output_glyph( (buffer), \ - (glyph_index), (component), (ligID) \ - ) ) != HB_Err_Ok ) -#define REPLACE_Glyph( buffer, glyph_index, nesting_level ) \ - ( ( error = _hb_buffer_replace_output_glyph( (buffer), (glyph_index), \ - (nesting_level) == 1 ) ) != HB_Err_Ok ) -#define COPY_Glyph( buffer ) \ - ( (error = _hb_buffer_copy_output_glyph ( buffer ) ) != HB_Err_Ok ) - -HB_END_HEADER - -#endif /* HARFBUZZ_BUFFER_PRIVATE_H */ diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-buffer.h b/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-buffer.h deleted file mode 100755 index b134407..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-buffer.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2004,2007 Red Hat, Inc. - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Red Hat Author(s): Owen Taylor, Behdad Esfahbod - */ - -#ifndef HARFBUZZ_BUFFER_H -#define HARFBUZZ_BUFFER_H - -#include "harfbuzz-global.h" - -HB_BEGIN_HEADER - -typedef struct HB_GlyphItemRec_ { - HB_UInt gindex; - HB_UInt properties; - HB_UInt cluster; - HB_UShort component; - HB_UShort ligID; - HB_UShort gproperties; -} HB_GlyphItemRec, *HB_GlyphItem; - -typedef struct HB_PositionRec_ { - HB_Fixed x_pos; - HB_Fixed y_pos; - HB_Fixed x_advance; - HB_Fixed y_advance; - HB_UShort back; /* number of glyphs to go back - for drawing current glyph */ - HB_Bool new_advance; /* if set, the advance width values are - absolute, i.e., they won't be - added to the original glyph's value - but rather replace them. */ - HB_Short cursive_chain; /* character to which this connects, - may be positive or negative; used - only internally */ -} HB_PositionRec, *HB_Position; - - -typedef struct HB_BufferRec_{ - HB_UInt allocated; - - HB_UInt in_length; - HB_UInt out_length; - HB_UInt in_pos; - HB_UInt out_pos; - - HB_Bool separate_out; - HB_GlyphItem in_string; - HB_GlyphItem out_string; - HB_GlyphItem alt_string; - HB_Position positions; - HB_UShort max_ligID; -} HB_BufferRec, *HB_Buffer; - -HB_Error -hb_buffer_new( HB_Buffer *buffer ); - -void -hb_buffer_free( HB_Buffer buffer ); - -void -hb_buffer_clear( HB_Buffer buffer ); - -HB_Error -hb_buffer_add_glyph( HB_Buffer buffer, - HB_UInt glyph_index, - HB_UInt properties, - HB_UInt cluster ); - -HB_END_HEADER - -#endif /* HARFBUZZ_BUFFER_H */ diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-dump.h b/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-dump.h deleted file mode 100755 index ea4a62b..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-dump.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2000, 2007 Red Hat, Inc. - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Red Hat Author(s): Owen Taylor, Behdad Esfahbod - */ - -#ifndef HARFBUZZ_DUMP_H -#define HARFBUZZ_DUMP_H - -#include -#include "harfbuzz-gsub.h" -#include "harfbuzz-gpos.h" - -HB_BEGIN_HEADER - -void HB_Dump_GSUB_Table (HB_GSUB gsub, FILE *stream); -void HB_Dump_GPOS_Table (HB_GPOS gpos, FILE *stream); - -HB_END_HEADER - -#endif /* HARFBUZZ_DUMP_H */ diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-external.h b/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-external.h deleted file mode 100755 index d064f87..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-external.h +++ /dev/null @@ -1,155 +0,0 @@ -/* - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_EXTERNAL_H -#define HARFBUZZ_EXTERNAL_H - -#include "harfbuzz-global.h" - -HB_BEGIN_HEADER - -/* This header contains some methods that are not part of - Harfbuzz itself, but referenced by it. - They need to be provided by the application/library -*/ - - -/* - see http://www.unicode.org/reports/tr14/tr14-19.html - we don't use the XX, AI and CB properties and map them to AL instead. - as we don't support any EBDIC based OS'es, NL is ignored and mapped to AL as well. -*/ -typedef enum { - HB_LineBreak_OP, HB_LineBreak_CL, HB_LineBreak_QU, HB_LineBreak_GL, HB_LineBreak_NS, - HB_LineBreak_EX, HB_LineBreak_SY, HB_LineBreak_IS, HB_LineBreak_PR, HB_LineBreak_PO, - HB_LineBreak_NU, HB_LineBreak_AL, HB_LineBreak_ID, HB_LineBreak_IN, HB_LineBreak_HY, - HB_LineBreak_BA, HB_LineBreak_BB, HB_LineBreak_B2, HB_LineBreak_ZW, HB_LineBreak_CM, - HB_LineBreak_WJ, HB_LineBreak_H2, HB_LineBreak_H3, HB_LineBreak_JL, HB_LineBreak_JV, - HB_LineBreak_JT, HB_LineBreak_SA, HB_LineBreak_SG, - HB_LineBreak_SP, HB_LineBreak_CR, HB_LineBreak_LF, HB_LineBreak_BK -} HB_LineBreakClass; - -typedef enum -{ - HB_NoCategory, - - HB_Mark_NonSpacing, /* Mn */ - HB_Mark_SpacingCombining, /* Mc */ - HB_Mark_Enclosing, /* Me */ - - HB_Number_DecimalDigit, /* Nd */ - HB_Number_Letter, /* Nl */ - HB_Number_Other, /* No */ - - HB_Separator_Space, /* Zs */ - HB_Separator_Line, /* Zl */ - HB_Separator_Paragraph, /* Zp */ - - HB_Other_Control, /* Cc */ - HB_Other_Format, /* Cf */ - HB_Other_Surrogate, /* Cs */ - HB_Other_PrivateUse, /* Co */ - HB_Other_NotAssigned, /* Cn */ - - HB_Letter_Uppercase, /* Lu */ - HB_Letter_Lowercase, /* Ll */ - HB_Letter_Titlecase, /* Lt */ - HB_Letter_Modifier, /* Lm */ - HB_Letter_Other, /* Lo */ - - HB_Punctuation_Connector, /* Pc */ - HB_Punctuation_Dash, /* Pd */ - HB_Punctuation_Open, /* Ps */ - HB_Punctuation_Close, /* Pe */ - HB_Punctuation_InitialQuote, /* Pi */ - HB_Punctuation_FinalQuote, /* Pf */ - HB_Punctuation_Other, /* Po */ - - HB_Symbol_Math, /* Sm */ - HB_Symbol_Currency, /* Sc */ - HB_Symbol_Modifier, /* Sk */ - HB_Symbol_Other /* So */ -} HB_CharCategory; - -typedef enum -{ - HB_Grapheme_Other, - HB_Grapheme_CR, - HB_Grapheme_LF, - HB_Grapheme_Control, - HB_Grapheme_Extend, - HB_Grapheme_L, - HB_Grapheme_V, - HB_Grapheme_T, - HB_Grapheme_LV, - HB_Grapheme_LVT -} HB_GraphemeClass; - - -typedef enum -{ - HB_Word_Other, - HB_Word_Format, - HB_Word_Katakana, - HB_Word_ALetter, - HB_Word_MidLetter, - HB_Word_MidNum, - HB_Word_Numeric, - HB_Word_ExtendNumLet -} HB_WordClass; - - -typedef enum -{ - HB_Sentence_Other, - HB_Sentence_Sep, - HB_Sentence_Format, - HB_Sentence_Sp, - HB_Sentence_Lower, - HB_Sentence_Upper, - HB_Sentence_OLetter, - HB_Sentence_Numeric, - HB_Sentence_ATerm, - HB_Sentence_STerm, - HB_Sentence_Close -} HB_SentenceClass; - -HB_GraphemeClass HB_GetGraphemeClass(HB_UChar32 ch); -HB_WordClass HB_GetWordClass(HB_UChar32 ch); -HB_SentenceClass HB_GetSentenceClass(HB_UChar32 ch); -HB_LineBreakClass HB_GetLineBreakClass(HB_UChar32 ch); - -void HB_GetGraphemeAndLineBreakClass(HB_UChar32 ch, HB_GraphemeClass *grapheme, HB_LineBreakClass *lineBreak); -void HB_GetUnicodeCharProperties(HB_UChar32 ch, HB_CharCategory *category, int *combiningClass); -HB_CharCategory HB_GetUnicodeCharCategory(HB_UChar32 ch); -int HB_GetUnicodeCharCombiningClass(HB_UChar32 ch); -HB_UChar16 HB_GetMirroredChar(HB_UChar16 ch); - -void *HB_Library_Resolve(const char *library, const char *symbol); - -void *HB_TextCodecForMib(int mib); -char *HB_TextCodec_ConvertFromUnicode(void *codec, const HB_UChar16 *unicode, hb_uint32 length, hb_uint32 *outputLength); -void HB_TextCodec_FreeResult(char *); - -HB_END_HEADER - -#endif diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gdef-private.h b/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gdef-private.h deleted file mode 100755 index da06b6f..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gdef-private.h +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2006 Behdad Esfahbod - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_GDEF_PRIVATE_H -#define HARFBUZZ_GDEF_PRIVATE_H - -#include "harfbuzz-impl.h" -#include "harfbuzz-stream-private.h" -#include "harfbuzz-buffer-private.h" -#include "harfbuzz-gdef.h" - -HB_BEGIN_HEADER - - -/* Attachment related structures */ - -struct HB_AttachPoint_ -{ - HB_UShort PointCount; /* size of the PointIndex array */ - HB_UShort* PointIndex; /* array of contour points */ -}; - -/* Ligature Caret related structures */ - -struct HB_CaretValueFormat1_ -{ - HB_Short Coordinate; /* x or y value (in design units) */ -}; - -typedef struct HB_CaretValueFormat1_ HB_CaretValueFormat1; - - -struct HB_CaretValueFormat2_ -{ - HB_UShort CaretValuePoint; /* contour point index on glyph */ -}; - -typedef struct HB_CaretValueFormat2_ HB_CaretValueFormat2; - - -struct HB_CaretValueFormat3_ -{ - HB_Short Coordinate; /* x or y value (in design units) */ - HB_Device Device; /* Device table for x or y value */ -}; - -typedef struct HB_CaretValueFormat3_ HB_CaretValueFormat3; - - -struct HB_CaretValueFormat4_ -{ - HB_UShort IdCaretValue; /* metric ID */ -}; - -typedef struct HB_CaretValueFormat4_ HB_CaretValueFormat4; - - -struct HB_CaretValue_ -{ - HB_UShort CaretValueFormat; /* 1, 2, 3, or 4 */ - - union - { - HB_CaretValueFormat1 cvf1; - HB_CaretValueFormat2 cvf2; - HB_CaretValueFormat3 cvf3; - HB_CaretValueFormat4 cvf4; - } cvf; -}; - -typedef struct HB_CaretValue_ HB_CaretValue; - - -struct HB_LigGlyph_ -{ - HB_Bool loaded; - - HB_UShort CaretCount; /* number of caret values */ - HB_CaretValue* CaretValue; /* array of caret values */ -}; - - -HB_INTERNAL HB_Error -_HB_GDEF_Add_Glyph_Property( HB_GDEFHeader* gdef, - HB_UShort glyphID, - HB_UShort property ); - -HB_INTERNAL HB_Error -_HB_GDEF_Check_Property( HB_GDEFHeader* gdef, - HB_GlyphItem item, - HB_UShort flags, - HB_UShort* property ); - -HB_INTERNAL HB_Error -_HB_GDEF_LoadMarkAttachClassDef_From_LookupFlags( HB_GDEFHeader* gdef, - HB_Stream input, - HB_Lookup* lo, - HB_UShort num_lookups ); - -HB_END_HEADER - -#endif /* HARFBUZZ_GDEF_PRIVATE_H */ diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gdef.h b/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gdef.h deleted file mode 100755 index b6dcadc..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gdef.h +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2006 Behdad Esfahbod - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_GDEF_H -#define HARFBUZZ_GDEF_H - -#include "harfbuzz-open.h" -#include "harfbuzz-stream.h" - -HB_BEGIN_HEADER - -/* GDEF glyph properties. Note that HB_GDEF_COMPONENT has no corresponding - * flag in the LookupFlag field. */ -#define HB_GDEF_BASE_GLYPH 0x0002 -#define HB_GDEF_LIGATURE 0x0004 -#define HB_GDEF_MARK 0x0008 -#define HB_GDEF_COMPONENT 0x0010 - - -typedef struct HB_AttachPoint_ HB_AttachPoint; - - -struct HB_AttachList_ -{ - HB_Bool loaded; - - HB_Coverage Coverage; /* Coverage table */ - HB_UShort GlyphCount; /* number of glyphs with - attachments */ - HB_AttachPoint* AttachPoint; /* array of AttachPoint tables */ -}; - -typedef struct HB_AttachList_ HB_AttachList; - -typedef struct HB_LigGlyph_ HB_LigGlyph; - -struct HB_LigCaretList_ -{ - HB_Bool loaded; - - HB_Coverage Coverage; /* Coverage table */ - HB_UShort LigGlyphCount; /* number of ligature glyphs */ - HB_LigGlyph* LigGlyph; /* array of LigGlyph tables */ -}; - -typedef struct HB_LigCaretList_ HB_LigCaretList; - - - -/* The `NewGlyphClasses' field is not defined in the TTO specification. - We use it for fonts with a constructed `GlyphClassDef' structure - (i.e., which don't have a GDEF table) to collect glyph classes - assigned during the lookup process. The number of arrays in this - pointer array is GlyphClassDef->cd.cd2.ClassRangeCount+1; the nth - array then contains the glyph class values of the glyphs not covered - by the ClassRangeRecords structures with index n-1 and n. We store - glyph class values for four glyphs in a single array element. - - `LastGlyph' is identical to the number of glyphs minus one in the - font; we need it only if `NewGlyphClasses' is not NULL (to have an - upper bound for the last array). - - Note that we first store the file offset to the `MarkAttachClassDef' - field (which has been introduced in OpenType 1.2) -- since the - `Version' field value hasn't been increased to indicate that we have - one more field for some obscure reason, we must parse the GSUB table - to find out whether class values refer to this table. Only then we - can finally load the MarkAttachClassDef structure if necessary. */ - -struct HB_GDEFHeader_ -{ - HB_UInt offset; - - HB_16Dot16 Version; - - HB_ClassDefinition GlyphClassDef; - HB_AttachList AttachList; - HB_LigCaretList LigCaretList; - HB_UInt MarkAttachClassDef_offset; - HB_ClassDefinition MarkAttachClassDef; /* new in OT 1.2 */ - - HB_UShort LastGlyph; - HB_UShort** NewGlyphClasses; -}; - -typedef struct HB_GDEFHeader_ HB_GDEFHeader; -typedef struct HB_GDEFHeader_* HB_GDEF; - - -HB_Error HB_New_GDEF_Table( HB_GDEFHeader** retptr ); - - -HB_Error HB_Load_GDEF_Table( HB_Stream stream, - HB_GDEFHeader** gdef ); - - -HB_Error HB_Done_GDEF_Table ( HB_GDEFHeader* gdef ); - - -HB_Error HB_GDEF_Get_Glyph_Property( HB_GDEFHeader* gdef, - HB_UShort glyphID, - HB_UShort* property ); - -HB_Error HB_GDEF_Build_ClassDefinition( HB_GDEFHeader* gdef, - HB_UShort num_glyphs, - HB_UShort glyph_count, - HB_UShort* glyph_array, - HB_UShort* class_array ); - - -HB_END_HEADER - -#endif /* HARFBUZZ_GDEF_H */ diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-global.h b/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-global.h deleted file mode 100755 index 0bb5669..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-global.h +++ /dev/null @@ -1,123 +0,0 @@ -/* - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - */ - -#ifndef HARFBUZZ_GLOBAL_H -#define HARFBUZZ_GLOBAL_H - -#include -#include - -#ifdef __cplusplus -#define HB_BEGIN_HEADER extern "C" { -#define HB_END_HEADER } -#else -#define HB_BEGIN_HEADER /* nothing */ -#define HB_END_HEADER /* nothing */ -#endif - -HB_BEGIN_HEADER - -#ifndef FALSE -#define FALSE 0 -#endif - -#ifndef TRUE -#define TRUE (!FALSE) -#endif - -#ifndef false -#define false 0 -#endif - -#ifndef true -#define true (!FALSE) -#endif - -#define HB_MAKE_TAG( _x1, _x2, _x3, _x4 ) \ - ( ( (HB_UInt)_x1 << 24 ) | \ - ( (HB_UInt)_x2 << 16 ) | \ - ( (HB_UInt)_x3 << 8 ) | \ - (HB_UInt)_x4 ) - -typedef char hb_int8; -typedef unsigned char hb_uint8; -typedef short hb_int16; -typedef unsigned short hb_uint16; -typedef int hb_int32; -typedef unsigned int hb_uint32; - -typedef hb_uint8 HB_Bool; -typedef hb_uint8 bool; - -typedef hb_uint8 HB_Byte; -typedef hb_uint16 HB_UShort; -typedef hb_uint32 HB_UInt; -typedef hb_int8 HB_Char; -typedef hb_int16 HB_Short; -typedef hb_int32 HB_Int; - -typedef hb_uint16 HB_UChar16; -typedef hb_uint32 HB_UChar32; -typedef hb_uint32 HB_Glyph; -typedef hb_int32 HB_Fixed; /* 26.6 */ - -#define HB_FIXED_CONSTANT(v) ((v) * 64) -#define HB_FIXED_ROUND(v) (((v)+32) & -64) - -typedef hb_int32 HB_16Dot16; /* 16.16 */ - -typedef void * HB_Pointer; -typedef hb_uint32 HB_Tag; - -typedef enum { - /* no error */ - HB_Err_Ok = 0x0000, - HB_Err_Not_Covered = 0xFFFF, - - /* _hb_err() is called whenever returning the following errors, - * and in a couple places for HB_Err_Not_Covered too. */ - - /* programmer error */ - HB_Err_Invalid_Argument = 0x1A66, - - /* font error */ - HB_Err_Invalid_SubTable_Format = 0x157F, - HB_Err_Invalid_SubTable = 0x1570, - HB_Err_Read_Error = 0x6EAD, - - /* system error */ - HB_Err_Out_Of_Memory = 0xDEAD -} HB_Error; - -typedef struct { - HB_Fixed x; - HB_Fixed y; -} HB_FixedPoint; - -typedef struct HB_Font_ *HB_Font; -typedef struct HB_StreamRec_ *HB_Stream; -typedef struct HB_FaceRec_ *HB_Face; - -HB_END_HEADER - -#endif diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gpos-private.h b/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gpos-private.h deleted file mode 100755 index 4110700..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gpos-private.h +++ /dev/null @@ -1,712 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2006 Behdad Esfahbod - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_GPOS_PRIVATE_H -#define HARFBUZZ_GPOS_PRIVATE_H - -#include "harfbuzz-impl.h" -#include "harfbuzz-stream-private.h" -#include "harfbuzz-gpos.h" - -HB_BEGIN_HEADER - - -/* shared tables */ - -struct HB_ValueRecord_ -{ - HB_Short XPlacement; /* horizontal adjustment for - placement */ - HB_Short YPlacement; /* vertical adjustment for - placement */ - HB_Short XAdvance; /* horizontal adjustment for - advance */ - HB_Short YAdvance; /* vertical adjustment for - advance */ - HB_Device XPlacementDevice; /* device table for horizontal - placement */ - HB_Device YPlacementDevice; /* device table for vertical - placement */ - HB_Device XAdvanceDevice; /* device table for horizontal - advance */ - HB_Device YAdvanceDevice; /* device table for vertical - advance */ - HB_UShort XIdPlacement; /* horizontal placement metric ID */ - HB_UShort YIdPlacement; /* vertical placement metric ID */ - HB_UShort XIdAdvance; /* horizontal advance metric ID */ - HB_UShort YIdAdvance; /* vertical advance metric ID */ -}; - -typedef struct HB_ValueRecord_ HB_ValueRecord; - - -/* Mask values to scan the value format of the ValueRecord structure. - We always expand compressed ValueRecords of the font. */ - -#define HB_GPOS_FORMAT_HAVE_X_PLACEMENT 0x0001 -#define HB_GPOS_FORMAT_HAVE_Y_PLACEMENT 0x0002 -#define HB_GPOS_FORMAT_HAVE_X_ADVANCE 0x0004 -#define HB_GPOS_FORMAT_HAVE_Y_ADVANCE 0x0008 -#define HB_GPOS_FORMAT_HAVE_X_PLACEMENT_DEVICE 0x0010 -#define HB_GPOS_FORMAT_HAVE_Y_PLACEMENT_DEVICE 0x0020 -#define HB_GPOS_FORMAT_HAVE_X_ADVANCE_DEVICE 0x0040 -#define HB_GPOS_FORMAT_HAVE_Y_ADVANCE_DEVICE 0x0080 -#define HB_GPOS_FORMAT_HAVE_X_ID_PLACEMENT 0x0100 -#define HB_GPOS_FORMAT_HAVE_Y_ID_PLACEMENT 0x0200 -#define HB_GPOS_FORMAT_HAVE_X_ID_ADVANCE 0x0400 -#define HB_GPOS_FORMAT_HAVE_Y_ID_ADVANCE 0x0800 - - -struct HB_AnchorFormat1_ -{ - HB_Short XCoordinate; /* horizontal value */ - HB_Short YCoordinate; /* vertical value */ -}; - -typedef struct HB_AnchorFormat1_ HB_AnchorFormat1; - - -struct HB_AnchorFormat2_ -{ - HB_Short XCoordinate; /* horizontal value */ - HB_Short YCoordinate; /* vertical value */ - HB_UShort AnchorPoint; /* index to glyph contour point */ -}; - -typedef struct HB_AnchorFormat2_ HB_AnchorFormat2; - - -struct HB_AnchorFormat3_ -{ - HB_Short XCoordinate; /* horizontal value */ - HB_Short YCoordinate; /* vertical value */ - HB_Device XDeviceTable; /* device table for X coordinate */ - HB_Device YDeviceTable; /* device table for Y coordinate */ -}; - -typedef struct HB_AnchorFormat3_ HB_AnchorFormat3; - - -struct HB_AnchorFormat4_ -{ - HB_UShort XIdAnchor; /* horizontal metric ID */ - HB_UShort YIdAnchor; /* vertical metric ID */ -}; - -typedef struct HB_AnchorFormat4_ HB_AnchorFormat4; - - -struct HB_Anchor_ -{ - HB_UShort PosFormat; /* 1, 2, 3, or 4 -- 0 indicates - that there is no Anchor table */ - - union - { - HB_AnchorFormat1 af1; - HB_AnchorFormat2 af2; - HB_AnchorFormat3 af3; - HB_AnchorFormat4 af4; - } af; -}; - -typedef struct HB_Anchor_ HB_Anchor; - - -struct HB_MarkRecord_ -{ - HB_UShort Class; /* mark class */ - HB_Anchor MarkAnchor; /* anchor table */ -}; - -typedef struct HB_MarkRecord_ HB_MarkRecord; - - -struct HB_MarkArray_ -{ - HB_UShort MarkCount; /* number of MarkRecord tables */ - HB_MarkRecord* MarkRecord; /* array of MarkRecord tables */ -}; - -typedef struct HB_MarkArray_ HB_MarkArray; - - -/* LookupType 1 */ - -struct HB_SinglePosFormat1_ -{ - HB_ValueRecord Value; /* ValueRecord for all covered - glyphs */ -}; - -typedef struct HB_SinglePosFormat1_ HB_SinglePosFormat1; - - -struct HB_SinglePosFormat2_ -{ - HB_UShort ValueCount; /* number of ValueRecord tables */ - HB_ValueRecord* Value; /* array of ValueRecord tables */ -}; - -typedef struct HB_SinglePosFormat2_ HB_SinglePosFormat2; - - -struct HB_SinglePos_ -{ - HB_UShort PosFormat; /* 1 or 2 */ - HB_Coverage Coverage; /* Coverage table */ - - HB_UShort ValueFormat; /* format of ValueRecord table */ - - union - { - HB_SinglePosFormat1 spf1; - HB_SinglePosFormat2 spf2; - } spf; -}; - -typedef struct HB_SinglePos_ HB_SinglePos; - - -/* LookupType 2 */ - -struct HB_PairValueRecord_ -{ - HB_UShort SecondGlyph; /* glyph ID for second glyph */ - HB_ValueRecord Value1; /* pos. data for first glyph */ - HB_ValueRecord Value2; /* pos. data for second glyph */ -}; - -typedef struct HB_PairValueRecord_ HB_PairValueRecord; - - -struct HB_PairSet_ -{ - HB_UShort PairValueCount; - /* number of PairValueRecord tables */ - HB_PairValueRecord* PairValueRecord; - /* array of PairValueRecord tables */ -}; - -typedef struct HB_PairSet_ HB_PairSet; - - -struct HB_PairPosFormat1_ -{ - HB_UShort PairSetCount; /* number of PairSet tables */ - HB_PairSet* PairSet; /* array of PairSet tables */ -}; - -typedef struct HB_PairPosFormat1_ HB_PairPosFormat1; - - -struct HB_Class2Record_ -{ - HB_ValueRecord Value1; /* pos. data for first glyph */ - HB_ValueRecord Value2; /* pos. data for second glyph */ -}; - -typedef struct HB_Class2Record_ HB_Class2Record; - - -struct HB_Class1Record_ -{ - HB_Class2Record* Class2Record; /* array of Class2Record tables */ -}; - -typedef struct HB_Class1Record_ HB_Class1Record; - - -struct HB_PairPosFormat2_ -{ - HB_ClassDefinition ClassDef1; /* class def. for first glyph */ - HB_ClassDefinition ClassDef2; /* class def. for second glyph */ - HB_UShort Class1Count; /* number of classes in ClassDef1 - table */ - HB_UShort Class2Count; /* number of classes in ClassDef2 - table */ - HB_Class1Record* Class1Record; /* array of Class1Record tables */ -}; - -typedef struct HB_PairPosFormat2_ HB_PairPosFormat2; - - -struct HB_PairPos_ -{ - HB_UShort PosFormat; /* 1 or 2 */ - HB_Coverage Coverage; /* Coverage table */ - HB_UShort ValueFormat1; /* format of ValueRecord table - for first glyph */ - HB_UShort ValueFormat2; /* format of ValueRecord table - for second glyph */ - - union - { - HB_PairPosFormat1 ppf1; - HB_PairPosFormat2 ppf2; - } ppf; -}; - -typedef struct HB_PairPos_ HB_PairPos; - - -/* LookupType 3 */ - -struct HB_EntryExitRecord_ -{ - HB_Anchor EntryAnchor; /* entry Anchor table */ - HB_Anchor ExitAnchor; /* exit Anchor table */ -}; - - -typedef struct HB_EntryExitRecord_ HB_EntryExitRecord; - -struct HB_CursivePos_ -{ - HB_UShort PosFormat; /* always 1 */ - HB_Coverage Coverage; /* Coverage table */ - HB_UShort EntryExitCount; - /* number of EntryExitRecord tables */ - HB_EntryExitRecord* EntryExitRecord; - /* array of EntryExitRecord tables */ -}; - -typedef struct HB_CursivePos_ HB_CursivePos; - - -/* LookupType 4 */ - -struct HB_BaseRecord_ -{ - HB_Anchor* BaseAnchor; /* array of base glyph anchor - tables */ -}; - -typedef struct HB_BaseRecord_ HB_BaseRecord; - - -struct HB_BaseArray_ -{ - HB_UShort BaseCount; /* number of BaseRecord tables */ - HB_BaseRecord* BaseRecord; /* array of BaseRecord tables */ -}; - -typedef struct HB_BaseArray_ HB_BaseArray; - - -struct HB_MarkBasePos_ -{ - HB_UShort PosFormat; /* always 1 */ - HB_Coverage MarkCoverage; /* mark glyph coverage table */ - HB_Coverage BaseCoverage; /* base glyph coverage table */ - HB_UShort ClassCount; /* number of mark classes */ - HB_MarkArray MarkArray; /* mark array table */ - HB_BaseArray BaseArray; /* base array table */ -}; - -typedef struct HB_MarkBasePos_ HB_MarkBasePos; - - -/* LookupType 5 */ - -struct HB_ComponentRecord_ -{ - HB_Anchor* LigatureAnchor; /* array of ligature glyph anchor - tables */ -}; - -typedef struct HB_ComponentRecord_ HB_ComponentRecord; - - -struct HB_LigatureAttach_ -{ - HB_UShort ComponentCount; - /* number of ComponentRecord tables */ - HB_ComponentRecord* ComponentRecord; - /* array of ComponentRecord tables */ -}; - -typedef struct HB_LigatureAttach_ HB_LigatureAttach; - - -struct HB_LigatureArray_ -{ - HB_UShort LigatureCount; /* number of LigatureAttach tables */ - HB_LigatureAttach* LigatureAttach; - /* array of LigatureAttach tables */ -}; - -typedef struct HB_LigatureArray_ HB_LigatureArray; - - -struct HB_MarkLigPos_ -{ - HB_UShort PosFormat; /* always 1 */ - HB_Coverage MarkCoverage; /* mark glyph coverage table */ - HB_Coverage LigatureCoverage; - /* ligature glyph coverage table */ - HB_UShort ClassCount; /* number of mark classes */ - HB_MarkArray MarkArray; /* mark array table */ - HB_LigatureArray LigatureArray; /* ligature array table */ -}; - -typedef struct HB_MarkLigPos_ HB_MarkLigPos; - - -/* LookupType 6 */ - -struct HB_Mark2Record_ -{ - HB_Anchor* Mark2Anchor; /* array of mark glyph anchor - tables */ -}; - -typedef struct HB_Mark2Record_ HB_Mark2Record; - - -struct HB_Mark2Array_ -{ - HB_UShort Mark2Count; /* number of Mark2Record tables */ - HB_Mark2Record* Mark2Record; /* array of Mark2Record tables */ -}; - -typedef struct HB_Mark2Array_ HB_Mark2Array; - - -struct HB_MarkMarkPos_ -{ - HB_UShort PosFormat; /* always 1 */ - HB_Coverage Mark1Coverage; /* first mark glyph coverage table */ - HB_Coverage Mark2Coverage; /* second mark glyph coverave table */ - HB_UShort ClassCount; /* number of combining mark classes */ - HB_MarkArray Mark1Array; /* MarkArray table for first mark */ - HB_Mark2Array Mark2Array; /* MarkArray table for second mark */ -}; - -typedef struct HB_MarkMarkPos_ HB_MarkMarkPos; - - -/* needed by both lookup type 7 and 8 */ - -struct HB_PosLookupRecord_ -{ - HB_UShort SequenceIndex; /* index into current - glyph sequence */ - HB_UShort LookupListIndex; /* Lookup to apply to that pos. */ -}; - -typedef struct HB_PosLookupRecord_ HB_PosLookupRecord; - - -/* LookupType 7 */ - -struct HB_PosRule_ -{ - HB_UShort GlyphCount; /* total number of input glyphs */ - HB_UShort PosCount; /* number of PosLookupRecord tables */ - HB_UShort* Input; /* array of input glyph IDs */ - HB_PosLookupRecord* PosLookupRecord; - /* array of PosLookupRecord tables */ -}; - -typedef struct HB_PosRule_ HB_PosRule; - - -struct HB_PosRuleSet_ -{ - HB_UShort PosRuleCount; /* number of PosRule tables */ - HB_PosRule* PosRule; /* array of PosRule tables */ -}; - -typedef struct HB_PosRuleSet_ HB_PosRuleSet; - - -struct HB_ContextPosFormat1_ -{ - HB_Coverage Coverage; /* Coverage table */ - HB_UShort PosRuleSetCount; /* number of PosRuleSet tables */ - HB_PosRuleSet* PosRuleSet; /* array of PosRuleSet tables */ -}; - -typedef struct HB_ContextPosFormat1_ HB_ContextPosFormat1; - - -struct HB_PosClassRule_ -{ - HB_UShort GlyphCount; /* total number of context classes */ - HB_UShort PosCount; /* number of PosLookupRecord tables */ - HB_UShort* Class; /* array of classes */ - HB_PosLookupRecord* PosLookupRecord; - /* array of PosLookupRecord tables */ -}; - -typedef struct HB_PosClassRule_ HB_PosClassRule; - - -struct HB_PosClassSet_ -{ - HB_UShort PosClassRuleCount; - /* number of PosClassRule tables */ - HB_PosClassRule* PosClassRule; /* array of PosClassRule tables */ -}; - -typedef struct HB_PosClassSet_ HB_PosClassSet; - - -/* The `MaxContextLength' field is not defined in the TTO specification - but simplifies the implementation of this format. It holds the - maximal context length used in the context rules. */ - -struct HB_ContextPosFormat2_ -{ - HB_UShort MaxContextLength; - /* maximal context length */ - HB_Coverage Coverage; /* Coverage table */ - HB_ClassDefinition ClassDef; /* ClassDef table */ - HB_UShort PosClassSetCount; - /* number of PosClassSet tables */ - HB_PosClassSet* PosClassSet; /* array of PosClassSet tables */ -}; - -typedef struct HB_ContextPosFormat2_ HB_ContextPosFormat2; - - -struct HB_ContextPosFormat3_ -{ - HB_UShort GlyphCount; /* number of input glyphs */ - HB_UShort PosCount; /* number of PosLookupRecord tables */ - HB_Coverage* Coverage; /* array of Coverage tables */ - HB_PosLookupRecord* PosLookupRecord; - /* array of PosLookupRecord tables */ -}; - -typedef struct HB_ContextPosFormat3_ HB_ContextPosFormat3; - - -struct HB_ContextPos_ -{ - HB_UShort PosFormat; /* 1, 2, or 3 */ - - union - { - HB_ContextPosFormat1 cpf1; - HB_ContextPosFormat2 cpf2; - HB_ContextPosFormat3 cpf3; - } cpf; -}; - -typedef struct HB_ContextPos_ HB_ContextPos; - - -/* LookupType 8 */ - -struct HB_ChainPosRule_ -{ - HB_UShort BacktrackGlyphCount; - /* total number of backtrack glyphs */ - HB_UShort* Backtrack; /* array of backtrack glyph IDs */ - HB_UShort InputGlyphCount; - /* total number of input glyphs */ - HB_UShort* Input; /* array of input glyph IDs */ - HB_UShort LookaheadGlyphCount; - /* total number of lookahead glyphs */ - HB_UShort* Lookahead; /* array of lookahead glyph IDs */ - HB_UShort PosCount; /* number of PosLookupRecords */ - HB_PosLookupRecord* PosLookupRecord; - /* array of PosLookupRecords */ -}; - -typedef struct HB_ChainPosRule_ HB_ChainPosRule; - - -struct HB_ChainPosRuleSet_ -{ - HB_UShort ChainPosRuleCount; - /* number of ChainPosRule tables */ - HB_ChainPosRule* ChainPosRule; /* array of ChainPosRule tables */ -}; - -typedef struct HB_ChainPosRuleSet_ HB_ChainPosRuleSet; - - -struct HB_ChainContextPosFormat1_ -{ - HB_Coverage Coverage; /* Coverage table */ - HB_UShort ChainPosRuleSetCount; - /* number of ChainPosRuleSet tables */ - HB_ChainPosRuleSet* ChainPosRuleSet; - /* array of ChainPosRuleSet tables */ -}; - -typedef struct HB_ChainContextPosFormat1_ HB_ChainContextPosFormat1; - - -struct HB_ChainPosClassRule_ -{ - HB_UShort BacktrackGlyphCount; - /* total number of backtrack - classes */ - HB_UShort* Backtrack; /* array of backtrack classes */ - HB_UShort InputGlyphCount; - /* total number of context classes */ - HB_UShort* Input; /* array of context classes */ - HB_UShort LookaheadGlyphCount; - /* total number of lookahead - classes */ - HB_UShort* Lookahead; /* array of lookahead classes */ - HB_UShort PosCount; /* number of PosLookupRecords */ - HB_PosLookupRecord* PosLookupRecord; - /* array of substitution lookups */ -}; - -typedef struct HB_ChainPosClassRule_ HB_ChainPosClassRule; - - -struct HB_ChainPosClassSet_ -{ - HB_UShort ChainPosClassRuleCount; - /* number of ChainPosClassRule - tables */ - HB_ChainPosClassRule* ChainPosClassRule; - /* array of ChainPosClassRule - tables */ -}; - -typedef struct HB_ChainPosClassSet_ HB_ChainPosClassSet; - - -/* The `MaxXXXLength' fields are not defined in the TTO specification - but simplifies the implementation of this format. It holds the - maximal context length used in the specific context rules. */ - -struct HB_ChainContextPosFormat2_ -{ - HB_Coverage Coverage; /* Coverage table */ - - HB_UShort MaxBacktrackLength; - /* maximal backtrack length */ - HB_ClassDefinition BacktrackClassDef; - /* BacktrackClassDef table */ - HB_UShort MaxInputLength; - /* maximal input length */ - HB_ClassDefinition InputClassDef; - /* InputClassDef table */ - HB_UShort MaxLookaheadLength; - /* maximal lookahead length */ - HB_ClassDefinition LookaheadClassDef; - /* LookaheadClassDef table */ - - HB_UShort ChainPosClassSetCount; - /* number of ChainPosClassSet - tables */ - HB_ChainPosClassSet* ChainPosClassSet; - /* array of ChainPosClassSet - tables */ -}; - -typedef struct HB_ChainContextPosFormat2_ HB_ChainContextPosFormat2; - - -struct HB_ChainContextPosFormat3_ -{ - HB_UShort BacktrackGlyphCount; - /* number of backtrack glyphs */ - HB_Coverage* BacktrackCoverage; - /* array of backtrack Coverage - tables */ - HB_UShort InputGlyphCount; - /* number of input glyphs */ - HB_Coverage* InputCoverage; - /* array of input coverage - tables */ - HB_UShort LookaheadGlyphCount; - /* number of lookahead glyphs */ - HB_Coverage* LookaheadCoverage; - /* array of lookahead coverage - tables */ - HB_UShort PosCount; /* number of PosLookupRecords */ - HB_PosLookupRecord* PosLookupRecord; - /* array of substitution lookups */ -}; - -typedef struct HB_ChainContextPosFormat3_ HB_ChainContextPosFormat3; - - -struct HB_ChainContextPos_ -{ - HB_UShort PosFormat; /* 1, 2, or 3 */ - - union - { - HB_ChainContextPosFormat1 ccpf1; - HB_ChainContextPosFormat2 ccpf2; - HB_ChainContextPosFormat3 ccpf3; - } ccpf; -}; - -typedef struct HB_ChainContextPos_ HB_ChainContextPos; - - -#if 0 -/* LookupType 10 */ -struct HB_ExtensionPos_ -{ - HB_UShort PosFormat; /* always 1 */ - HB_UShort LookuptType; /* lookup-type of referenced subtable */ - HB_GPOS_SubTable *subtable; /* referenced subtable */ -}; - -typedef struct HB_ExtensionPos_ HB_ExtensionPos; -#endif - - -union HB_GPOS_SubTable_ -{ - HB_SinglePos single; - HB_PairPos pair; - HB_CursivePos cursive; - HB_MarkBasePos markbase; - HB_MarkLigPos marklig; - HB_MarkMarkPos markmark; - HB_ContextPos context; - HB_ChainContextPos chain; -}; - -typedef union HB_GPOS_SubTable_ HB_GPOS_SubTable; - - - -HB_INTERNAL HB_Error -_HB_GPOS_Load_SubTable( HB_GPOS_SubTable* st, - HB_Stream stream, - HB_UShort lookup_type ); - -HB_INTERNAL void -_HB_GPOS_Free_SubTable( HB_GPOS_SubTable* st, - HB_UShort lookup_type ); - -HB_END_HEADER - -#endif /* HARFBUZZ_GPOS_PRIVATE_H */ diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gpos.h b/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gpos.h deleted file mode 100755 index 2840dae..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gpos.h +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2006 Behdad Esfahbod - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_GPOS_H -#define HARFBUZZ_GPOS_H - -#include "harfbuzz-gdef.h" -#include "harfbuzz-buffer.h" - -HB_BEGIN_HEADER - - -/* Lookup types for glyph positioning */ - -#define HB_GPOS_LOOKUP_SINGLE 1 -#define HB_GPOS_LOOKUP_PAIR 2 -#define HB_GPOS_LOOKUP_CURSIVE 3 -#define HB_GPOS_LOOKUP_MARKBASE 4 -#define HB_GPOS_LOOKUP_MARKLIG 5 -#define HB_GPOS_LOOKUP_MARKMARK 6 -#define HB_GPOS_LOOKUP_CONTEXT 7 -#define HB_GPOS_LOOKUP_CHAIN 8 -#define HB_GPOS_LOOKUP_EXTENSION 9 - -/* A pointer to a function which accesses the PostScript interpreter. - Multiple Master fonts need this interface to convert a metric ID - (as stored in an OpenType font version 1.2 or higher) `metric_id' - into a metric value (returned in `metric_value'). - - `data' points to the user-defined structure specified during a - call to HB_GPOS_Register_MM_Function(). - - `metric_value' must be returned as a scaled value (but shouldn't - be rounded). */ - -typedef HB_Error (*HB_MMFunction)(HB_Font font, - HB_UShort metric_id, - HB_Fixed* metric_value, - void* data ); - - -struct HB_GPOSHeader_ -{ - HB_16Dot16 Version; - - HB_ScriptList ScriptList; - HB_FeatureList FeatureList; - HB_LookupList LookupList; - - HB_GDEFHeader* gdef; - - /* this is OpenType 1.2 -- Multiple Master fonts need this - callback function to get various metric values from the - PostScript interpreter. */ - - HB_MMFunction mmfunc; - void* data; -}; - -typedef struct HB_GPOSHeader_ HB_GPOSHeader; -typedef HB_GPOSHeader* HB_GPOS; - - -HB_Error HB_Load_GPOS_Table( HB_Stream stream, - HB_GPOSHeader** gpos, - HB_GDEFHeader* gdef, - HB_Stream gdefStream ); - - -HB_Error HB_Done_GPOS_Table( HB_GPOSHeader* gpos ); - - -HB_Error HB_GPOS_Select_Script( HB_GPOSHeader* gpos, - HB_UInt script_tag, - HB_UShort* script_index ); - -HB_Error HB_GPOS_Select_Language( HB_GPOSHeader* gpos, - HB_UInt language_tag, - HB_UShort script_index, - HB_UShort* language_index, - HB_UShort* req_feature_index ); - -HB_Error HB_GPOS_Select_Feature( HB_GPOSHeader* gpos, - HB_UInt feature_tag, - HB_UShort script_index, - HB_UShort language_index, - HB_UShort* feature_index ); - - -HB_Error HB_GPOS_Query_Scripts( HB_GPOSHeader* gpos, - HB_UInt** script_tag_list ); - -HB_Error HB_GPOS_Query_Languages( HB_GPOSHeader* gpos, - HB_UShort script_index, - HB_UInt** language_tag_list ); - -HB_Error HB_GPOS_Query_Features( HB_GPOSHeader* gpos, - HB_UShort script_index, - HB_UShort language_index, - HB_UInt** feature_tag_list ); - - -HB_Error HB_GPOS_Add_Feature( HB_GPOSHeader* gpos, - HB_UShort feature_index, - HB_UInt property ); - -HB_Error HB_GPOS_Clear_Features( HB_GPOSHeader* gpos ); - - -HB_Error HB_GPOS_Register_MM_Function( HB_GPOSHeader* gpos, - HB_MMFunction mmfunc, - void* data ); - -/* If `dvi' is TRUE, glyph contour points for anchor points and device - tables are ignored -- you will get device independent values. */ - - -HB_Error HB_GPOS_Apply_String( HB_Font font, - HB_GPOSHeader* gpos, - HB_UShort load_flags, - HB_Buffer buffer, - HB_Bool dvi, - HB_Bool r2l ); - -HB_END_HEADER - -#endif /* HARFBUZZ_GPOS_H */ diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gsub-private.h b/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gsub-private.h deleted file mode 100755 index dd5ffdf..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gsub-private.h +++ /dev/null @@ -1,476 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2006 Behdad Esfahbod - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_GSUB_PRIVATE_H -#define HARFBUZZ_GSUB_PRIVATE_H - -#include "harfbuzz-impl.h" -#include "harfbuzz-stream-private.h" -#include "harfbuzz-gsub.h" - -HB_BEGIN_HEADER - - -typedef union HB_GSUB_SubTable_ HB_GSUB_SubTable; - -/* LookupType 1 */ - -struct HB_SingleSubstFormat1_ -{ - HB_Short DeltaGlyphID; /* constant added to get - substitution glyph index */ -}; - -typedef struct HB_SingleSubstFormat1_ HB_SingleSubstFormat1; - - -struct HB_SingleSubstFormat2_ -{ - HB_UShort GlyphCount; /* number of glyph IDs in - Substitute array */ - HB_UShort* Substitute; /* array of substitute glyph IDs */ -}; - -typedef struct HB_SingleSubstFormat2_ HB_SingleSubstFormat2; - - -struct HB_SingleSubst_ -{ - HB_UShort SubstFormat; /* 1 or 2 */ - HB_Coverage Coverage; /* Coverage table */ - - union - { - HB_SingleSubstFormat1 ssf1; - HB_SingleSubstFormat2 ssf2; - } ssf; -}; - -typedef struct HB_SingleSubst_ HB_SingleSubst; - - -/* LookupType 2 */ - -struct HB_Sequence_ -{ - HB_UShort GlyphCount; /* number of glyph IDs in the - Substitute array */ - HB_UShort* Substitute; /* string of glyph IDs to - substitute */ -}; - -typedef struct HB_Sequence_ HB_Sequence; - - -struct HB_MultipleSubst_ -{ - HB_UShort SubstFormat; /* always 1 */ - HB_Coverage Coverage; /* Coverage table */ - HB_UShort SequenceCount; /* number of Sequence tables */ - HB_Sequence* Sequence; /* array of Sequence tables */ -}; - -typedef struct HB_MultipleSubst_ HB_MultipleSubst; - - -/* LookupType 3 */ - -struct HB_AlternateSet_ -{ - HB_UShort GlyphCount; /* number of glyph IDs in the - Alternate array */ - HB_UShort* Alternate; /* array of alternate glyph IDs */ -}; - -typedef struct HB_AlternateSet_ HB_AlternateSet; - - -struct HB_AlternateSubst_ -{ - HB_UShort SubstFormat; /* always 1 */ - HB_Coverage Coverage; /* Coverage table */ - HB_UShort AlternateSetCount; - /* number of AlternateSet tables */ - HB_AlternateSet* AlternateSet; /* array of AlternateSet tables */ -}; - -typedef struct HB_AlternateSubst_ HB_AlternateSubst; - - -/* LookupType 4 */ - -struct HB_Ligature_ -{ - HB_UShort LigGlyph; /* glyphID of ligature - to substitute */ - HB_UShort ComponentCount; /* number of components in ligature */ - HB_UShort* Component; /* array of component glyph IDs */ -}; - -typedef struct HB_Ligature_ HB_Ligature; - - -struct HB_LigatureSet_ -{ - HB_UShort LigatureCount; /* number of Ligature tables */ - HB_Ligature* Ligature; /* array of Ligature tables */ -}; - -typedef struct HB_LigatureSet_ HB_LigatureSet; - - -struct HB_LigatureSubst_ -{ - HB_UShort SubstFormat; /* always 1 */ - HB_Coverage Coverage; /* Coverage table */ - HB_UShort LigatureSetCount; /* number of LigatureSet tables */ - HB_LigatureSet* LigatureSet; /* array of LigatureSet tables */ -}; - -typedef struct HB_LigatureSubst_ HB_LigatureSubst; - - -/* needed by both lookup type 5 and 6 */ - -struct HB_SubstLookupRecord_ -{ - HB_UShort SequenceIndex; /* index into current - glyph sequence */ - HB_UShort LookupListIndex; /* Lookup to apply to that pos. */ -}; - -typedef struct HB_SubstLookupRecord_ HB_SubstLookupRecord; - - -/* LookupType 5 */ - -struct HB_SubRule_ -{ - HB_UShort GlyphCount; /* total number of input glyphs */ - HB_UShort SubstCount; /* number of SubstLookupRecord - tables */ - HB_UShort* Input; /* array of input glyph IDs */ - HB_SubstLookupRecord* SubstLookupRecord; - /* array of SubstLookupRecord - tables */ -}; - -typedef struct HB_SubRule_ HB_SubRule; - - -struct HB_SubRuleSet_ -{ - HB_UShort SubRuleCount; /* number of SubRule tables */ - HB_SubRule* SubRule; /* array of SubRule tables */ -}; - -typedef struct HB_SubRuleSet_ HB_SubRuleSet; - - -struct HB_ContextSubstFormat1_ -{ - HB_Coverage Coverage; /* Coverage table */ - HB_UShort SubRuleSetCount; /* number of SubRuleSet tables */ - HB_SubRuleSet* SubRuleSet; /* array of SubRuleSet tables */ -}; - -typedef struct HB_ContextSubstFormat1_ HB_ContextSubstFormat1; - - -struct HB_SubClassRule_ -{ - HB_UShort GlyphCount; /* total number of context classes */ - HB_UShort SubstCount; /* number of SubstLookupRecord - tables */ - HB_UShort* Class; /* array of classes */ - HB_SubstLookupRecord* SubstLookupRecord; - /* array of SubstLookupRecord - tables */ -}; - -typedef struct HB_SubClassRule_ HB_SubClassRule; - - -struct HB_SubClassSet_ -{ - HB_UShort SubClassRuleCount; - /* number of SubClassRule tables */ - HB_SubClassRule* SubClassRule; /* array of SubClassRule tables */ -}; - -typedef struct HB_SubClassSet_ HB_SubClassSet; - - -/* The `MaxContextLength' field is not defined in the TTO specification - but simplifies the implementation of this format. It holds the - maximal context length used in the context rules. */ - -struct HB_ContextSubstFormat2_ -{ - HB_UShort MaxContextLength; - /* maximal context length */ - HB_Coverage Coverage; /* Coverage table */ - HB_ClassDefinition ClassDef; /* ClassDef table */ - HB_UShort SubClassSetCount; - /* number of SubClassSet tables */ - HB_SubClassSet* SubClassSet; /* array of SubClassSet tables */ -}; - -typedef struct HB_ContextSubstFormat2_ HB_ContextSubstFormat2; - - -struct HB_ContextSubstFormat3_ -{ - HB_UShort GlyphCount; /* number of input glyphs */ - HB_UShort SubstCount; /* number of SubstLookupRecords */ - HB_Coverage* Coverage; /* array of Coverage tables */ - HB_SubstLookupRecord* SubstLookupRecord; - /* array of substitution lookups */ -}; - -typedef struct HB_ContextSubstFormat3_ HB_ContextSubstFormat3; - - -struct HB_ContextSubst_ -{ - HB_UShort SubstFormat; /* 1, 2, or 3 */ - - union - { - HB_ContextSubstFormat1 csf1; - HB_ContextSubstFormat2 csf2; - HB_ContextSubstFormat3 csf3; - } csf; -}; - -typedef struct HB_ContextSubst_ HB_ContextSubst; - - -/* LookupType 6 */ - -struct HB_ChainSubRule_ -{ - HB_UShort BacktrackGlyphCount; - /* total number of backtrack glyphs */ - HB_UShort* Backtrack; /* array of backtrack glyph IDs */ - HB_UShort InputGlyphCount; - /* total number of input glyphs */ - HB_UShort* Input; /* array of input glyph IDs */ - HB_UShort LookaheadGlyphCount; - /* total number of lookahead glyphs */ - HB_UShort* Lookahead; /* array of lookahead glyph IDs */ - HB_UShort SubstCount; /* number of SubstLookupRecords */ - HB_SubstLookupRecord* SubstLookupRecord; - /* array of SubstLookupRecords */ -}; - -typedef struct HB_ChainSubRule_ HB_ChainSubRule; - - -struct HB_ChainSubRuleSet_ -{ - HB_UShort ChainSubRuleCount; - /* number of ChainSubRule tables */ - HB_ChainSubRule* ChainSubRule; /* array of ChainSubRule tables */ -}; - -typedef struct HB_ChainSubRuleSet_ HB_ChainSubRuleSet; - - -struct HB_ChainContextSubstFormat1_ -{ - HB_Coverage Coverage; /* Coverage table */ - HB_UShort ChainSubRuleSetCount; - /* number of ChainSubRuleSet tables */ - HB_ChainSubRuleSet* ChainSubRuleSet; - /* array of ChainSubRuleSet tables */ -}; - -typedef struct HB_ChainContextSubstFormat1_ HB_ChainContextSubstFormat1; - - -struct HB_ChainSubClassRule_ -{ - HB_UShort BacktrackGlyphCount; - /* total number of backtrack - classes */ - HB_UShort* Backtrack; /* array of backtrack classes */ - HB_UShort InputGlyphCount; - /* total number of context classes */ - HB_UShort* Input; /* array of context classes */ - HB_UShort LookaheadGlyphCount; - /* total number of lookahead - classes */ - HB_UShort* Lookahead; /* array of lookahead classes */ - HB_UShort SubstCount; /* number of SubstLookupRecords */ - HB_SubstLookupRecord* SubstLookupRecord; - /* array of substitution lookups */ -}; - -typedef struct HB_ChainSubClassRule_ HB_ChainSubClassRule; - - -struct HB_ChainSubClassSet_ -{ - HB_UShort ChainSubClassRuleCount; - /* number of ChainSubClassRule - tables */ - HB_ChainSubClassRule* ChainSubClassRule; - /* array of ChainSubClassRule - tables */ -}; - -typedef struct HB_ChainSubClassSet_ HB_ChainSubClassSet; - - -/* The `MaxXXXLength' fields are not defined in the TTO specification - but simplifies the implementation of this format. It holds the - maximal context length used in the specific context rules. */ - -struct HB_ChainContextSubstFormat2_ -{ - HB_Coverage Coverage; /* Coverage table */ - - HB_UShort MaxBacktrackLength; - /* maximal backtrack length */ - HB_ClassDefinition BacktrackClassDef; - /* BacktrackClassDef table */ - HB_UShort MaxInputLength; - /* maximal input length */ - HB_ClassDefinition InputClassDef; - /* InputClassDef table */ - HB_UShort MaxLookaheadLength; - /* maximal lookahead length */ - HB_ClassDefinition LookaheadClassDef; - /* LookaheadClassDef table */ - - HB_UShort ChainSubClassSetCount; - /* number of ChainSubClassSet - tables */ - HB_ChainSubClassSet* ChainSubClassSet; - /* array of ChainSubClassSet - tables */ -}; - -typedef struct HB_ChainContextSubstFormat2_ HB_ChainContextSubstFormat2; - - -struct HB_ChainContextSubstFormat3_ -{ - HB_UShort BacktrackGlyphCount; - /* number of backtrack glyphs */ - HB_Coverage* BacktrackCoverage; - /* array of backtrack Coverage - tables */ - HB_UShort InputGlyphCount; - /* number of input glyphs */ - HB_Coverage* InputCoverage; - /* array of input coverage - tables */ - HB_UShort LookaheadGlyphCount; - /* number of lookahead glyphs */ - HB_Coverage* LookaheadCoverage; - /* array of lookahead coverage - tables */ - HB_UShort SubstCount; /* number of SubstLookupRecords */ - HB_SubstLookupRecord* SubstLookupRecord; - /* array of substitution lookups */ -}; - -typedef struct HB_ChainContextSubstFormat3_ HB_ChainContextSubstFormat3; - - -struct HB_ChainContextSubst_ -{ - HB_UShort SubstFormat; /* 1, 2, or 3 */ - - union - { - HB_ChainContextSubstFormat1 ccsf1; - HB_ChainContextSubstFormat2 ccsf2; - HB_ChainContextSubstFormat3 ccsf3; - } ccsf; -}; - -typedef struct HB_ChainContextSubst_ HB_ChainContextSubst; - - -#if 0 -/* LookupType 7 */ -struct HB_ExtensionSubst_ -{ - HB_UShort SubstFormat; /* always 1 */ - HB_UShort LookuptType; /* lookup-type of referenced subtable */ - HB_GSUB_SubTable *subtable; /* referenced subtable */ -}; - -typedef struct HB_ExtensionSubst_ HB_ExtensionSubst; -#endif - - -/* LookupType 8 */ -struct HB_ReverseChainContextSubst_ -{ - HB_UShort SubstFormat; /* always 1 */ - HB_Coverage Coverage; /* coverage table for input glyphs */ - HB_UShort BacktrackGlyphCount; /* number of backtrack glyphs */ - HB_Coverage* BacktrackCoverage; /* array of backtrack Coverage - tables */ - HB_UShort LookaheadGlyphCount; /* number of lookahead glyphs */ - HB_Coverage* LookaheadCoverage; /* array of lookahead Coverage - tables */ - HB_UShort GlyphCount; /* number of Glyph IDs */ - HB_UShort* Substitute; /* array of substitute Glyph ID */ -}; - -typedef struct HB_ReverseChainContextSubst_ HB_ReverseChainContextSubst; - - -union HB_GSUB_SubTable_ -{ - HB_SingleSubst single; - HB_MultipleSubst multiple; - HB_AlternateSubst alternate; - HB_LigatureSubst ligature; - HB_ContextSubst context; - HB_ChainContextSubst chain; - HB_ReverseChainContextSubst reverse; -}; - - - - -HB_INTERNAL HB_Error -_HB_GSUB_Load_SubTable( HB_GSUB_SubTable* st, - HB_Stream stream, - HB_UShort lookup_type ); - -HB_INTERNAL void -_HB_GSUB_Free_SubTable( HB_GSUB_SubTable* st, - HB_UShort lookup_type ); - -HB_END_HEADER - -#endif /* HARFBUZZ_GSUB_PRIVATE_H */ diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gsub.h b/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gsub.h deleted file mode 100755 index 1ca3f0c..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gsub.h +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2006 Behdad Esfahbod - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_GSUB_H -#define HARFBUZZ_GSUB_H - -#include "harfbuzz-gdef.h" -#include "harfbuzz-buffer.h" - -HB_BEGIN_HEADER - - -/* Lookup types for glyph substitution */ - -#define HB_GSUB_LOOKUP_SINGLE 1 -#define HB_GSUB_LOOKUP_MULTIPLE 2 -#define HB_GSUB_LOOKUP_ALTERNATE 3 -#define HB_GSUB_LOOKUP_LIGATURE 4 -#define HB_GSUB_LOOKUP_CONTEXT 5 -#define HB_GSUB_LOOKUP_CHAIN 6 -#define HB_GSUB_LOOKUP_EXTENSION 7 -#define HB_GSUB_LOOKUP_REVERSE_CHAIN 8 - - -/* A pointer to a function which selects the alternate glyph. `pos' is - the position of the glyph with index `glyphID', `num_alternates' - gives the number of alternates in the `alternates' array. `data' - points to the user-defined structure specified during a call to - HB_GSUB_Register_Alternate_Function(). The function must return an - index into the `alternates' array. */ - -typedef HB_UShort (*HB_AltFunction)(HB_UInt pos, - HB_UShort glyphID, - HB_UShort num_alternates, - HB_UShort* alternates, - void* data ); - - -struct HB_GSUBHeader_ -{ - HB_UInt offset; - - HB_16Dot16 Version; - - HB_ScriptList ScriptList; - HB_FeatureList FeatureList; - HB_LookupList LookupList; - - HB_GDEFHeader* gdef; - - /* the next two fields are used for an alternate substitution callback - function to select the proper alternate glyph. */ - - HB_AltFunction altfunc; - void* data; -}; - -typedef struct HB_GSUBHeader_ HB_GSUBHeader; -typedef HB_GSUBHeader* HB_GSUB; - - -HB_Error HB_Load_GSUB_Table( HB_Stream stream, - HB_GSUBHeader** gsub, - HB_GDEFHeader* gdef, - HB_Stream gdefStream ); - - -HB_Error HB_Done_GSUB_Table( HB_GSUBHeader* gsub ); - - -HB_Error HB_GSUB_Select_Script( HB_GSUBHeader* gsub, - HB_UInt script_tag, - HB_UShort* script_index ); - -HB_Error HB_GSUB_Select_Language( HB_GSUBHeader* gsub, - HB_UInt language_tag, - HB_UShort script_index, - HB_UShort* language_index, - HB_UShort* req_feature_index ); - -HB_Error HB_GSUB_Select_Feature( HB_GSUBHeader* gsub, - HB_UInt feature_tag, - HB_UShort script_index, - HB_UShort language_index, - HB_UShort* feature_index ); - - -HB_Error HB_GSUB_Query_Scripts( HB_GSUBHeader* gsub, - HB_UInt** script_tag_list ); - -HB_Error HB_GSUB_Query_Languages( HB_GSUBHeader* gsub, - HB_UShort script_index, - HB_UInt** language_tag_list ); - -HB_Error HB_GSUB_Query_Features( HB_GSUBHeader* gsub, - HB_UShort script_index, - HB_UShort language_index, - HB_UInt** feature_tag_list ); - - -HB_Error HB_GSUB_Add_Feature( HB_GSUBHeader* gsub, - HB_UShort feature_index, - HB_UInt property ); - -HB_Error HB_GSUB_Clear_Features( HB_GSUBHeader* gsub ); - - -HB_Error HB_GSUB_Register_Alternate_Function( HB_GSUBHeader* gsub, - HB_AltFunction altfunc, - void* data ); - - -HB_Error HB_GSUB_Apply_String( HB_GSUBHeader* gsub, - HB_Buffer buffer ); - - -HB_END_HEADER - -#endif /* HARFBUZZ_GSUB_H */ diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-impl.h b/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-impl.h deleted file mode 100755 index 2e86168..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-impl.h +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2006 Behdad Esfahbod - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_IMPL_H -#define HARFBUZZ_IMPL_H - -#include "harfbuzz-global.h" - -#include - -HB_BEGIN_HEADER - -#ifndef HB_INTERNAL -# define HB_INTERNAL -#endif - -#ifndef NULL -# define NULL ((void *)0) -#endif - -#ifndef FALSE -# define FALSE 0 -#endif - -#ifndef TRUE -# define TRUE 1 -#endif - -#ifndef TTAG_GDEF -# define TTAG_GDEF HB_MAKE_TAG( 'G', 'D', 'E', 'F' ) -#endif -#ifndef TTAG_GPOS -# define TTAG_GPOS HB_MAKE_TAG( 'G', 'P', 'O', 'S' ) -#endif -#ifndef TTAG_GSUB -# define TTAG_GSUB HB_MAKE_TAG( 'G', 'S', 'U', 'B' ) -#endif - -#ifndef HB_UNUSED -# define HB_UNUSED(arg) ((arg) = (arg)) -#endif - -#define HB_LIKELY(cond) (cond) -#define HB_UNLIKELY(cond) (cond) - -#define ARRAY_LEN(Array) ((int)(sizeof (Array) / sizeof (Array)[0])) - - - -#define HB_IsHighSurrogate(ucs) \ - (((ucs) & 0xfc00) == 0xd800) - -#define HB_IsLowSurrogate(ucs) \ - (((ucs) & 0xfc00) == 0xdc00) - -#define HB_SurrogateToUcs4(high, low) \ - (((HB_UChar32)(high))<<10) + (low) - 0x35fdc00; - - - - - -#define ALLOC(_ptr,_size,_type) \ - ( (_ptr) = (_type)_hb_alloc( _size, &error ), error != 0 ) - -#define REALLOC(_ptr,_newsz,_type) \ - ( (_ptr) = (_type)_hb_realloc( (_ptr), (_newsz), &error ), error != 0 ) - -#define FREE(_ptr) \ - do { \ - if ( (_ptr) ) \ - { \ - _hb_free( _ptr ); \ - _ptr = NULL; \ - } \ - } while (0) - -#define ALLOC_ARRAY(_ptr,_count,_type) \ - ALLOC(_ptr,(_count)*sizeof(_type),_type*) - -#define REALLOC_ARRAY(_ptr,_newcnt,_type) \ - REALLOC(_ptr,(_newcnt)*sizeof(_type),_type*) - -#define MEM_Copy(dest,source,count) memcpy( (char*)(dest), (const char*)(source), (size_t)(count) ) - -#define ERR_HB(err) _hb_err (err) - - -//HB_INTERNAL -HB_Pointer -_hb_alloc( size_t size, - HB_Error *perror_ ); - -//HB_INTERNAL - HB_Pointer -_hb_realloc( HB_Pointer block, - size_t new_size, - HB_Error *perror_ ); - -//HB_INTERNAL - void -_hb_free( HB_Pointer block ); - - -/* helper func to set a breakpoint on */ -//HB_INTERNAL -HB_Error -_hb_err(HB_Error code); - - -HB_END_HEADER - -#endif /* HARFBUZZ_IMPL_H */ diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-open-private.h b/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-open-private.h deleted file mode 100755 index 73dd383..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-open-private.h +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2006 Behdad Esfahbod - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_OPEN_PRIVATE_H -#define HARFBUZZ_OPEN_PRIVATE_H - -#include "harfbuzz-impl.h" -#include "harfbuzz-open.h" -#include "harfbuzz-gsub-private.h" -#include "harfbuzz-gpos-private.h" - -HB_BEGIN_HEADER - - -struct HB_SubTable_ -{ - union - { - HB_GSUB_SubTable gsub; - HB_GPOS_SubTable gpos; - } st; -}; - - -HB_INTERNAL HB_Error -_HB_OPEN_Load_ScriptList( HB_ScriptList* sl, - HB_Stream input ); -HB_INTERNAL HB_Error -_HB_OPEN_Load_FeatureList( HB_FeatureList* fl, - HB_Stream input ); -HB_INTERNAL HB_Error -_HB_OPEN_Load_LookupList( HB_LookupList* ll, - HB_Stream input, - HB_Type type ); - -HB_INTERNAL HB_Error -_HB_OPEN_Load_Coverage( HB_Coverage* c, - HB_Stream input ); -HB_INTERNAL HB_Error -_HB_OPEN_Load_ClassDefinition( HB_ClassDefinition* cd, - HB_UShort limit, - HB_Stream input ); -HB_INTERNAL HB_Error -_HB_OPEN_Load_EmptyOrClassDefinition( HB_ClassDefinition* cd, - HB_UShort limit, - HB_UInt class_offset, - HB_UInt base_offset, - HB_Stream input ); -HB_INTERNAL HB_Error -_HB_OPEN_Load_Device( HB_Device* d, - HB_Stream input ); - -HB_INTERNAL void _HB_OPEN_Free_ScriptList( HB_ScriptList* sl ); -HB_INTERNAL void _HB_OPEN_Free_FeatureList( HB_FeatureList* fl ); -HB_INTERNAL void _HB_OPEN_Free_LookupList( HB_LookupList* ll, - HB_Type type ); - -HB_INTERNAL void _HB_OPEN_Free_Coverage( HB_Coverage* c ); -HB_INTERNAL void _HB_OPEN_Free_ClassDefinition( HB_ClassDefinition* cd ); -HB_INTERNAL void _HB_OPEN_Free_Device( HB_Device* d ); - - - -HB_INTERNAL HB_Error -_HB_OPEN_Coverage_Index( HB_Coverage* c, - HB_UShort glyphID, - HB_UShort* index ); -HB_INTERNAL HB_Error -_HB_OPEN_Get_Class( HB_ClassDefinition* cd, - HB_UShort glyphID, - HB_UShort* klass, - HB_UShort* index ); -HB_INTERNAL HB_Error -_HB_OPEN_Get_Device( HB_Device* d, - HB_UShort size, - HB_Short* value ); - -HB_END_HEADER - -#endif /* HARFBUZZ_OPEN_PRIVATE_H */ diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-open.h b/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-open.h deleted file mode 100755 index bdc6358..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-open.h +++ /dev/null @@ -1,282 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2006 Behdad Esfahbod - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_OPEN_H -#define HARFBUZZ_OPEN_H - -#include "harfbuzz-global.h" - -HB_BEGIN_HEADER - -/* Use this if a feature applies to all glyphs */ -#define HB_ALL_GLYPHS 0xFFFF - -#define HB_DEFAULT_LANGUAGE 0xFFFF - -#define HB_MAX_NESTING_LEVEL 100 - - -/* Script list related structures */ - -struct HB_LangSys_ -{ - HB_UShort LookupOrderOffset; /* always 0 for TT Open 1.0 */ - HB_UShort ReqFeatureIndex; /* required FeatureIndex */ - HB_UShort FeatureCount; /* number of Feature indices */ - HB_UShort* FeatureIndex; /* array of Feature indices */ -}; - -typedef struct HB_LangSys_ HB_LangSys; - - -struct HB_LangSysRecord_ -{ - HB_UInt LangSysTag; /* LangSysTag identifier */ - HB_LangSys LangSys; /* LangSys table */ -}; - -typedef struct HB_LangSysRecord_ HB_LangSysRecord; - - -struct HB_ScriptTable_ -{ - HB_LangSys DefaultLangSys; /* DefaultLangSys table */ - HB_UShort LangSysCount; /* number of LangSysRecords */ - HB_LangSysRecord* LangSysRecord; /* array of LangSysRecords */ -}; - -typedef struct HB_ScriptTable_ HB_ScriptTable; - - -struct HB_ScriptRecord_ -{ - HB_UInt ScriptTag; /* ScriptTag identifier */ - HB_ScriptTable Script; /* Script table */ -}; - -typedef struct HB_ScriptRecord_ HB_ScriptRecord; - - -struct HB_ScriptList_ -{ - HB_UShort ScriptCount; /* number of ScriptRecords */ - HB_ScriptRecord* ScriptRecord; /* array of ScriptRecords */ -}; - -typedef struct HB_ScriptList_ HB_ScriptList; - - -/* Feature list related structures */ - -struct HB_Feature_ -{ - HB_UShort FeatureParams; /* always 0 for TT Open 1.0 */ - HB_UShort LookupListCount; /* number of LookupList indices */ - HB_UShort* LookupListIndex; /* array of LookupList indices */ -}; - -typedef struct HB_Feature_ HB_Feature; - - -struct HB_FeatureRecord_ -{ - HB_UInt FeatureTag; /* FeatureTag identifier */ - HB_Feature Feature; /* Feature table */ -}; - -typedef struct HB_FeatureRecord_ HB_FeatureRecord; - - -struct HB_FeatureList_ -{ - HB_UShort FeatureCount; /* number of FeatureRecords */ - HB_FeatureRecord* FeatureRecord; /* array of FeatureRecords */ - HB_UShort* ApplyOrder; /* order to apply features */ - HB_UShort ApplyCount; /* number of elements in ApplyOrder */ -}; - -typedef struct HB_FeatureList_ HB_FeatureList; - - -/* Lookup list related structures */ - -typedef struct HB_SubTable_ HB_SubTable; - - -struct HB_Lookup_ -{ - HB_UShort LookupType; /* Lookup type */ - HB_UShort LookupFlag; /* Lookup qualifiers */ - HB_UShort SubTableCount; /* number of SubTables */ - HB_SubTable* SubTable; /* array of SubTables */ -}; - -typedef struct HB_Lookup_ HB_Lookup; - - -/* The `Properties' field is not defined in the OpenType specification but - is needed for processing lookups. If properties[n] is > 0, the - functions HB_GSUB_Apply_String() resp. HB_GPOS_Apply_String() will - process Lookup[n] for glyphs which have the specific bit not set in - the `properties' field of the input string object. */ - -struct HB_LookupList_ -{ - HB_UShort LookupCount; /* number of Lookups */ - HB_Lookup* Lookup; /* array of Lookup records */ - HB_UInt* Properties; /* array of flags */ -}; - -typedef struct HB_LookupList_ HB_LookupList; - - -/* Possible LookupFlag bit masks. `HB_LOOKUP_FLAG_IGNORE_SPECIAL_MARKS' comes from the - OpenType 1.2 specification; HB_LOOKUP_FLAG_RIGHT_TO_LEFT has been (re)introduced in - OpenType 1.3 -- if set, the last glyph in a cursive attachment - sequence has to be positioned on the baseline -- regardless of the - writing direction. */ - -#define HB_LOOKUP_FLAG_RIGHT_TO_LEFT 0x0001 -#define HB_LOOKUP_FLAG_IGNORE_BASE_GLYPHS 0x0002 -#define HB_LOOKUP_FLAG_IGNORE_LIGATURES 0x0004 -#define HB_LOOKUP_FLAG_IGNORE_MARKS 0x0008 -#define HB_LOOKUP_FLAG_IGNORE_SPECIAL_MARKS 0xFF00 - - -struct HB_CoverageFormat1_ -{ - HB_UShort GlyphCount; /* number of glyphs in GlyphArray */ - HB_UShort* GlyphArray; /* array of glyph IDs */ -}; - -typedef struct HB_CoverageFormat1_ HB_CoverageFormat1; - - -struct HB_RangeRecord_ -{ - HB_UShort Start; /* first glyph ID in the range */ - HB_UShort End; /* last glyph ID in the range */ - HB_UShort StartCoverageIndex; /* coverage index of first - glyph ID in the range */ -}; - -typedef struct HB_RangeRecord_ HB_RangeRecord; - - -struct HB_CoverageFormat2_ -{ - HB_UShort RangeCount; /* number of RangeRecords */ - HB_RangeRecord* RangeRecord; /* array of RangeRecords */ -}; - -typedef struct HB_CoverageFormat2_ HB_CoverageFormat2; - - -struct HB_Coverage_ -{ - HB_UShort CoverageFormat; /* 1 or 2 */ - - union - { - HB_CoverageFormat1 cf1; - HB_CoverageFormat2 cf2; - } cf; -}; - -typedef struct HB_Coverage_ HB_Coverage; - - -struct HB_ClassDefFormat1_ -{ - HB_UShort StartGlyph; /* first glyph ID of the - ClassValueArray */ - HB_UShort GlyphCount; /* size of the ClassValueArray */ - HB_UShort* ClassValueArray; /* array of class values */ -}; - -typedef struct HB_ClassDefFormat1_ HB_ClassDefFormat1; - - -struct HB_ClassRangeRecord_ -{ - HB_UShort Start; /* first glyph ID in the range */ - HB_UShort End; /* last glyph ID in the range */ - HB_UShort Class; /* applied to all glyphs in range */ -}; - -typedef struct HB_ClassRangeRecord_ HB_ClassRangeRecord; - - -struct HB_ClassDefFormat2_ -{ - HB_UShort ClassRangeCount; - /* number of ClassRangeRecords */ - HB_ClassRangeRecord* ClassRangeRecord; - /* array of ClassRangeRecords */ -}; - -typedef struct HB_ClassDefFormat2_ HB_ClassDefFormat2; - - -struct HB_ClassDefinition_ -{ - HB_Bool loaded; - - HB_UShort ClassFormat; /* 1 or 2 */ - - union - { - HB_ClassDefFormat1 cd1; - HB_ClassDefFormat2 cd2; - } cd; -}; - -typedef struct HB_ClassDefinition_ HB_ClassDefinition; - - -struct HB_Device_ -{ - HB_UShort StartSize; /* smallest size to correct */ - HB_UShort EndSize; /* largest size to correct */ - HB_UShort DeltaFormat; /* DeltaValue array data format: - 1, 2, or 3 */ - HB_UShort* DeltaValue; /* array of compressed data */ -}; - -typedef struct HB_Device_ HB_Device; - - -enum HB_Type_ -{ - HB_Type_GSUB, - HB_Type_GPOS -}; - -typedef enum HB_Type_ HB_Type; - - -HB_END_HEADER - -#endif /* HARFBUZZ_OPEN_H */ diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-shape.h b/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-shape.h deleted file mode 100755 index e4b5f9a..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-shape.h +++ /dev/null @@ -1,199 +0,0 @@ -/* - * Copyright (C) 2006 Red Hat, Inc. - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Red Hat Author(s): Owen Taylor - */ - -#include - -/* Base Types */ - -typedef hb_uint16 HB_CodePoint; /* UTF-16 codepoint (not character ) */ -typedef char HB_Boolean; -typedef hb_uint32 HB_Fixed; /* 26.6 */ -typedef hb_uint32 HB_Glyph; -typedef hb_uint32 HB_Unichar; - -/* Metrics reported by the font backend for use of the shaper */ -typedef struct _HB_GlyphMetrics HB_GlyphMetrics; -struct _HB_GlyphMetrics -{ - HB_Fixed advance; - - /* Do we need ink/logical extents for the glyph here? */ -}; - -/* - * HB_Font: Abstract font interface. - * First pass of this might just have FT_Face *getFace(); - */ -typedef struct _HB_Font HB_Font; -typedef struct _HB_FontClass HB_FontClass; - -struct HB_FontClass { - HB_Glyph (*charToGlyph)(HB_Font *font, HB_Unichar chr); - void (*getMetrics)(HB_Font *font, HB_Glyph glyph, HB_GlyphMetrics *metrics); - HB_Boolean (*getSFontTable)(HB_Font *font, void **cookie, char **start, int *len); - HB_Boolean (*freeSFontTable)(void **cookie); -}; - -struct _HB_Font { - HB_FontClass *clazz; -}; - -/* - * Language tags, of the form en-us; represented as interned, canonicalized - * strings. hb_language_from_string("en_US"), hb_language_from_string("en-us") - * both return the same (pointer-comparable) HB_Language). - */ -typedef struct HB_Language_ *HB_Language; - -HB_Language hb_language_from_string(const char *str); -const char *hb_language_to_string(HB_Language language); - -/* Special treatment for the edges of runs. - */ -typedef enum { - HB_RUN_EDGE_LINE_VISUAL_EDGE = 1 << 0, - HB_RUN_EDGE_LINE_LOGICAL_EDGE = 1 << 1, - HB_RUN_EDGE_LINE_ADD_HYPHEN = 1 << 2 /* ???? */ -} HB_RunEdge; - -/* Defines optional informaiton in HB_ShapeInput; this allows extension - * of HB_ShapeInput while keeping binary compatibility - */ -typedef enum { - HB_SHAPE_START_TYPE = 1 << 0, - HB_SHAPE_END_TYPE = 1 << 1 -} HB_ShapeFlags; - -/* Attributes types are described by "interned strings"; this is a little - * annoying if you want to write a switch statement, but keeps things - * simple. - */ -typedef struct _HB_AttributeType *HB_AttributeType; - -HB_AttributeType hb_attribute_type_from_string(const char *str); -const char *hb_attribute_type_to_string(HB_AttributeType attribute_type); - -struct HB_Attribute { - HB_AttributeType type; - int start; - int end; -}; - - -/** - * You could handle this like HB_Language, but an enum seems a little nicer; - * another approach would be to use OpenType script tags. - */ -typedef enum { - HB_SCRIPT_LATIN - /* ... */ -} HB_ShapeScript; - -/* This is just the subset of direction information needed by the shaper */ -typedef enum { - HB_DIRECTION_LTR, - HB_DIRECTION_RTL, - HB_DIRECTION_TTB -} HB_Direction; - -typedef struct _HB_ShapeInput HB_ShapeInput; -struct _HB_ShapeInput { - /* Defines what fields the caller has initialized - fields not in - * the enum are mandatory. - */ - HB_ShapeFlags flags; - - HB_CodePoint *text; - int length; /* total length of text to shape */ - int shape_offset; /* start of section to shape */ - int shape_length; /* number of code points to shape */ - - HB_Direction direction; - HB_ShapeScript script; - HB_Language language; - - HB_AttributeType *attributes; - int n_attributes; - - HB_RunEdge start_type; - HB_RunEdge end_type; -}; - -struct HB_GlyphItem { - HB_Glyph glyph; - - HB_Fixed x_offset; - HB_Fixed y_offset; - HB_Fixed advance; - - /* Add kashida information, etc, here */ -}; - -typedef enum { - HB_RESULT_SUCCESS, - HB_RESULT_NO_MEMORY, - HB_SHAPE_RESULT_FAILED -} HB_Result; - -/* - * Buffer for output - */ -typedef struct _HB_GlyphBuffer HB_GlyphBuffer; -struct _HB_GlyphBuffer { - int glyph_item_size; - int total_glyphs; - - int *log_clusters; /* Uniscribe style */ - int cluster_space; - - int glyph_space; - void *glyph_buffer; -}; - -/* Making this self-allocating simplifies writing shapers and - * also keeps things easier for caller. item_size passed in - * must be at least sizeof(HB_GlyphItem) but can be bigger, - * to accomodate application structures that extend HB_GlyphItem. - * The allocated items will be zero-initialized. - * - * (Hack: Harfbuzz could choose to use even a *bigger* item size - * and stick internal information before the public item structure. - * This hack could possibly be used to unify this with HB_Buffer) - */ -HB_GlyphBuffer *hb_glyph_buffer_new (size_t item_size); -void hb_glyph_buffer_clear (HB_GlyphBuffer *buf); -HB_Result hb_glyph_buffer_extend_glyphs (HB_GlyphBuffer *buf, int n_items); -HB_Result hb_glyph_buffer_extend_clusters (HB_GlyphBuffer *buf, int n_clusters); -void hb_glyph_buffer_free (HB_GlyphBuffer *buf); - - -/* Accessor for a particular glyph */ -#define HB_GLYPH_BUFFER_ITEM(buffer, index) - -/* - * Main shaping function - */ -HB_Result hb_shape(HB_ShapeInput *input, HB_GlyphBuffer *output); diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-shaper-private.h b/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-shaper-private.h deleted file mode 100755 index e4e7ebc..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-shaper-private.h +++ /dev/null @@ -1,164 +0,0 @@ -/* - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_SHAPER_PRIVATE_H -#define HARFBUZZ_SHAPER_PRIVATE_H - -HB_BEGIN_HEADER -enum { - C_DOTTED_CIRCLE = 0x25CC -}; - -typedef enum -{ - HB_Combining_BelowLeftAttached = 200, - HB_Combining_BelowAttached = 202, - HB_Combining_BelowRightAttached = 204, - HB_Combining_LeftAttached = 208, - HB_Combining_RightAttached = 210, - HB_Combining_AboveLeftAttached = 212, - HB_Combining_AboveAttached = 214, - HB_Combining_AboveRightAttached = 216, - - HB_Combining_BelowLeft = 218, - HB_Combining_Below = 220, - HB_Combining_BelowRight = 222, - HB_Combining_Left = 224, - HB_Combining_Right = 226, - HB_Combining_AboveLeft = 228, - HB_Combining_Above = 230, - HB_Combining_AboveRight = 232, - - HB_Combining_DoubleBelow = 233, - HB_Combining_DoubleAbove = 234, - HB_Combining_IotaSubscript = 240 -} HB_CombiningClass; - -typedef enum { - CcmpProperty = 0x1, - InitProperty = 0x2, - IsolProperty = 0x4, - FinaProperty = 0x8, - MediProperty = 0x10, - RligProperty = 0x20, - CaltProperty = 0x40, - LigaProperty = 0x80, - DligProperty = 0x100, - CswhProperty = 0x200, - MsetProperty = 0x400, - - /* used by indic and myanmar shaper */ - NuktaProperty = 0x4, - AkhantProperty = 0x8, - RephProperty = 0x10, - PreFormProperty = 0x20, - BelowFormProperty = 0x40, - AboveFormProperty = 0x80, - HalfFormProperty = 0x100, - PostFormProperty = 0x200, - VattuProperty = 0x400, - PreSubstProperty = 0x800, - BelowSubstProperty = 0x1000, - AboveSubstProperty = 0x2000, - PostSubstProperty = 0x4000, - HalantProperty = 0x8000, - CligProperty = 0x10000 - -} HB_OpenTypeProperty; - -/* return true if ok. */ -typedef HB_Bool (*HB_ShapeFunction)(HB_ShaperItem *shaper_item); -typedef void (*HB_AttributeFunction)(HB_Script script, const HB_UChar16 *string, hb_uint32 from, hb_uint32 len, HB_CharAttributes *attributes); - -typedef struct { - HB_ShapeFunction shape; - HB_AttributeFunction charAttributes; -} HB_ScriptEngine; - -extern const HB_ScriptEngine HB_ScriptEngines[]; - -extern HB_Bool HB_BasicShape(HB_ShaperItem *shaper_item); -extern HB_Bool HB_TibetanShape(HB_ShaperItem *shaper_item); -extern HB_Bool HB_HebrewShape(HB_ShaperItem *shaper_item); -extern HB_Bool HB_ArabicShape(HB_ShaperItem *shaper_item); -extern HB_Bool HB_HangulShape(HB_ShaperItem *shaper_item); -extern HB_Bool HB_MyanmarShape(HB_ShaperItem *shaper_item); -extern HB_Bool HB_KhmerShape(HB_ShaperItem *shaper_item); -extern HB_Bool HB_IndicShape(HB_ShaperItem *shaper_item); - -extern void HB_TibetanAttributes(HB_Script script, const HB_UChar16 *string, hb_uint32 from, hb_uint32 len, HB_CharAttributes *attributes); - -extern void HB_MyanmarAttributes(HB_Script script, const HB_UChar16 *string, hb_uint32 from, hb_uint32 len, HB_CharAttributes *attributes); - -extern void HB_KhmerAttributes(HB_Script script, const HB_UChar16 *string, hb_uint32 from, hb_uint32 len, HB_CharAttributes *attributes); - -extern void HB_IndicAttributes(HB_Script script, const HB_UChar16 *string, hb_uint32 from, hb_uint32 len, HB_CharAttributes *attributes); - -extern void HB_ThaiAttributes(HB_Script script, const HB_UChar16 *string, hb_uint32 from, hb_uint32 len, HB_CharAttributes *attributes); - -typedef struct { - hb_uint32 tag; - hb_uint32 property; -} HB_OpenTypeFeature; - -#define PositioningProperties 0x80000000 - -HB_Bool HB_SelectScript(HB_ShaperItem *item, const HB_OpenTypeFeature *features); - -HB_Bool HB_OpenTypeShape(HB_ShaperItem *item, const hb_uint32 *properties); -HB_Bool HB_OpenTypePosition(HB_ShaperItem *item, int availableGlyphs, HB_Bool doLogClusters); - -void HB_HeuristicPosition(HB_ShaperItem *item); -void HB_HeuristicSetGlyphAttributes(HB_ShaperItem *item); - -#define HB_IsControlChar(uc) \ - ((uc >= 0x200b && uc <= 0x200f /* ZW Space, ZWNJ, ZWJ, LRM and RLM */) \ - || (uc >= 0x2028 && uc <= 0x202f /* LS, PS, LRE, RLE, PDF, LRO, RLO, NNBSP */) \ - || (uc >= 0x206a && uc <= 0x206f /* ISS, ASS, IAFS, AFS, NADS, NODS */)) - -HB_Bool HB_ConvertStringToGlyphIndices(HB_ShaperItem *shaper_item); - -#define HB_GetGlyphAdvances(shaper_item) \ - shaper_item->font->klass->getGlyphAdvances(shaper_item->font, \ - shaper_item->glyphs, shaper_item->num_glyphs, \ - shaper_item->advances, \ - shaper_item->face->current_flags); - -#define HB_DECLARE_STACKARRAY(Type, Name) \ - Type stack##Name[64]; \ - Type *Name = stack##Name; - -#define HB_INIT_STACKARRAY(Type, Name, Length) \ - if ((Length) >= 64) \ - Name = (Type *)malloc((Length) * sizeof(Type)); - -#define HB_STACKARRAY(Type, Name, Length) \ - HB_DECLARE_STACKARRAY(Type, Name) \ - HB_INIT_STACKARRAY(Type, Name, Length) - -#define HB_FREE_STACKARRAY(Name) \ - if (stack##Name != Name) \ - free(Name); - -HB_END_HEADER - -#endif diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-shaper.h b/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-shaper.h deleted file mode 100755 index 9bdc8c6..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-shaper.h +++ /dev/null @@ -1,283 +0,0 @@ -/* - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_SHAPER_H -#define HARFBUZZ_SHAPER_H - -#include "harfbuzz-global.h" -#include "harfbuzz-gdef.h" -#include "harfbuzz-gpos.h" -#include "harfbuzz-gsub.h" -#include "harfbuzz-external.h" -#include "harfbuzz-stream-private.h" - -HB_BEGIN_HEADER - -typedef enum { - HB_Script_Common, - HB_Script_Greek, - HB_Script_Cyrillic, - HB_Script_Armenian, - HB_Script_Hebrew, - HB_Script_Arabic, - HB_Script_Syriac, - HB_Script_Thaana, - HB_Script_Devanagari, - HB_Script_Bengali, - HB_Script_Gurmukhi, - HB_Script_Gujarati, - HB_Script_Oriya, - HB_Script_Tamil, - HB_Script_Telugu, - HB_Script_Kannada, - HB_Script_Malayalam, - HB_Script_Sinhala, - HB_Script_Thai, - HB_Script_Lao, - HB_Script_Tibetan, - HB_Script_Myanmar, - HB_Script_Georgian, - HB_Script_Hangul, - HB_Script_Ogham, - HB_Script_Runic, - HB_Script_Khmer, - HB_Script_Nko, - HB_Script_Inherited, - HB_ScriptCount = HB_Script_Inherited - /* - HB_Script_Latin = Common, - HB_Script_Ethiopic = Common, - HB_Script_Cherokee = Common, - HB_Script_CanadianAboriginal = Common, - HB_Script_Mongolian = Common, - HB_Script_Hiragana = Common, - HB_Script_Katakana = Common, - HB_Script_Bopomofo = Common, - HB_Script_Han = Common, - HB_Script_Yi = Common, - HB_Script_OldItalic = Common, - HB_Script_Gothic = Common, - HB_Script_Deseret = Common, - HB_Script_Tagalog = Common, - HB_Script_Hanunoo = Common, - HB_Script_Buhid = Common, - HB_Script_Tagbanwa = Common, - HB_Script_Limbu = Common, - HB_Script_TaiLe = Common, - HB_Script_LinearB = Common, - HB_Script_Ugaritic = Common, - HB_Script_Shavian = Common, - HB_Script_Osmanya = Common, - HB_Script_Cypriot = Common, - HB_Script_Braille = Common, - HB_Script_Buginese = Common, - HB_Script_Coptic = Common, - HB_Script_NewTaiLue = Common, - HB_Script_Glagolitic = Common, - HB_Script_Tifinagh = Common, - HB_Script_SylotiNagri = Common, - HB_Script_OldPersian = Common, - HB_Script_Kharoshthi = Common, - HB_Script_Balinese = Common, - HB_Script_Cuneiform = Common, - HB_Script_Phoenician = Common, - HB_Script_PhagsPa = Common, - */ -} HB_Script; - -typedef struct -{ - hb_uint32 pos; - hb_uint32 length; - HB_Script script; - hb_uint8 bidiLevel; -} HB_ScriptItem; - -typedef enum { - HB_NoBreak, - HB_SoftHyphen, - HB_Break, - HB_ForcedBreak -} HB_LineBreakType; - - -typedef struct { - /*HB_LineBreakType*/ unsigned lineBreakType :2; - /*HB_Bool*/ unsigned whiteSpace :1; /* A unicode whitespace character, except NBSP, ZWNBSP */ - /*HB_Bool*/ unsigned charStop :1; /* Valid cursor position (for left/right arrow) */ - /*HB_Bool*/ unsigned wordBoundary :1; - /*HB_Bool*/ unsigned sentenceBoundary :1; - unsigned unused :2; -} HB_CharAttributes; - -void HB_GetCharAttributes(const HB_UChar16 *string, hb_uint32 stringLength, - const HB_ScriptItem *items, hb_uint32 numItems, - HB_CharAttributes *attributes); - -/* requires HB_GetCharAttributes to be called before */ -void HB_GetWordBoundaries(const HB_UChar16 *string, hb_uint32 stringLength, - const HB_ScriptItem *items, hb_uint32 numItems, - HB_CharAttributes *attributes); - -/* requires HB_GetCharAttributes to be called before */ -void HB_GetSentenceBoundaries(const HB_UChar16 *string, hb_uint32 stringLength, - const HB_ScriptItem *items, hb_uint32 numItems, - HB_CharAttributes *attributes); - - -typedef enum { - HB_LeftToRight = 0, - HB_RightToLeft = 1 -} HB_StringToGlyphsFlags; - -typedef enum { - HB_ShaperFlag_Default = 0, - HB_ShaperFlag_NoKerning = 1, - HB_ShaperFlag_UseDesignMetrics = 2 -} HB_ShaperFlag; - -/* - highest value means highest priority for justification. Justification is done by first inserting kashidas - starting with the highest priority positions, then stretching spaces, afterwards extending inter char - spacing, and last spacing between arabic words. - NoJustification is for example set for arabic where no Kashida can be inserted or for diacritics. -*/ -typedef enum { - HB_NoJustification= 0, /* Justification can't be applied after this glyph */ - HB_Arabic_Space = 1, /* This glyph represents a space inside arabic text */ - HB_Character = 2, /* Inter-character justification point follows this glyph */ - HB_Space = 4, /* This glyph represents a blank outside an Arabic run */ - HB_Arabic_Normal = 7, /* Normal Middle-Of-Word glyph that connects to the right (begin) */ - HB_Arabic_Waw = 8, /* Next character is final form of Waw/Ain/Qaf/Fa */ - HB_Arabic_BaRa = 9, /* Next two chars are Ba + Ra/Ya/AlefMaksura */ - HB_Arabic_Alef = 10, /* Next character is final form of Alef/Tah/Lam/Kaf/Gaf */ - HB_Arabic_HaaDal = 11, /* Next character is final form of Haa/Dal/Taa Marbutah */ - HB_Arabic_Seen = 12, /* Initial or Medial form Of Seen/Sad */ - HB_Arabic_Kashida = 13 /* Kashida(U+640) in middle of word */ -} HB_JustificationClass; - -/* This structure is binary compatible with Uniscribe's SCRIPT_VISATTR. Would be nice to keep - * it like that. If this is a problem please tell Trolltech :) - */ -typedef struct { - unsigned justification :4; /* Justification class */ - unsigned clusterStart :1; /* First glyph of representation of cluster */ - unsigned mark :1; /* needs to be positioned around base char */ - unsigned zeroWidth :1; /* ZWJ, ZWNJ etc, with no width */ - unsigned dontPrint :1; - unsigned combiningClass :8; -} HB_GlyphAttributes; - -typedef struct HB_FaceRec_ { - HB_Bool isSymbolFont; - - HB_GDEF gdef; - HB_GSUB gsub; - HB_GPOS gpos; - HB_Bool supported_scripts[HB_ScriptCount]; - HB_Buffer buffer; - HB_Script current_script; - int current_flags; /* HB_ShaperFlags */ - HB_Bool has_opentype_kerning; - HB_Bool glyphs_substituted; - HB_GlyphAttributes *tmpAttributes; - unsigned int *tmpLogClusters; - int length; - int orig_nglyphs; -} HB_FaceRec; - -typedef HB_Error (*HB_GetFontTableFunc)(void *font, HB_Tag tag, HB_Byte *buffer, HB_UInt *length); - -HB_Face HB_NewFace(void *font, HB_GetFontTableFunc tableFunc); -void HB_FreeFace(HB_Face face); - -typedef struct { - HB_Fixed x, y; - HB_Fixed width, height; - HB_Fixed xOffset, yOffset; -} HB_GlyphMetrics; - -typedef enum { - HB_FontAscent -} HB_FontMetric; - -typedef struct { - HB_Bool (*convertStringToGlyphIndices)(HB_Font font, const HB_UChar16 *string, hb_uint32 length, HB_Glyph *glyphs, hb_uint32 *numGlyphs, HB_Bool rightToLeft); - void (*getGlyphAdvances)(HB_Font font, const HB_Glyph *glyphs, hb_uint32 numGlyphs, HB_Fixed *advances, int flags /*HB_ShaperFlag*/); - HB_Bool (*canRender)(HB_Font font, const HB_UChar16 *string, hb_uint32 length); - /* implementation needs to make sure to load a scaled glyph, so /no/ FT_LOAD_NO_SCALE */ - HB_Error (*getPointInOutline)(HB_Font font, HB_Glyph glyph, int flags /*HB_ShaperFlag*/, hb_uint32 point, HB_Fixed *xpos, HB_Fixed *ypos, hb_uint32 *nPoints); - void (*getGlyphMetrics)(HB_Font font, HB_Glyph glyph, HB_GlyphMetrics *metrics); - HB_Fixed (*getFontMetric)(HB_Font font, HB_FontMetric metric); -} HB_FontClass; - -typedef struct HB_Font_ { - const HB_FontClass *klass; - - /* Metrics */ - HB_UShort x_ppem, y_ppem; - HB_16Dot16 x_scale, y_scale; - - void *userData; -} HB_FontRec; - -typedef struct HB_ShaperItem_ HB_ShaperItem; - -struct HB_ShaperItem_ { - const HB_UChar16 *string; /* input: the Unicode UTF16 text to be shaped */ - hb_uint32 stringLength; /* input: the length of the input in 16-bit words */ - HB_ScriptItem item; /* input: the current run to be shaped: a run of text all in the same script that is a substring of */ - HB_Font font; /* input: the font: scale, units and function pointers supplying glyph indices and metrics */ - HB_Face face; /* input: the shaper state; current script, access to the OpenType tables , etc. */ - int shaperFlags; /* input (unused) should be set to 0; intended to support flags defined in HB_ShaperFlag */ - HB_Bool glyphIndicesPresent; /* input: true if the array contains glyph indices ready to be shaped */ - hb_uint32 initialGlyphCount; /* input: if glyphIndicesPresent is true, the number of glyph indices in the array */ - - hb_uint32 num_glyphs; /* input: capacity of output arrays , , , , and ; */ - /* output: required capacity (may be larger than actual capacity) */ - - HB_Glyph *glyphs; /* output: indices of shaped glyphs */ - HB_GlyphAttributes *attributes; /* output: glyph attributes */ - HB_Fixed *advances; /* output: advances */ - HB_FixedPoint *offsets; /* output: offsets */ - unsigned short *log_clusters; /* output: for each output glyph, the index in the input of the start of its logical cluster */ - - /* internal */ - HB_Bool kerning_applied; /* output: true if kerning was applied by the shaper */ -}; - -HB_Bool HB_ShapeItem(HB_ShaperItem *item); - - -extern int tibetan_nextSyllableBoundary(const HB_UChar16 *s, int start, int end, HB_Bool *invalid) ; -extern int myanmar_nextSyllableBoundary(const HB_UChar16 *s, int start, int end, HB_Bool *invalid) ; -extern int khmer_nextSyllableBoundary(const HB_UChar16 *s, int start, int end, HB_Bool *invalid) ; -//#ifdef __cplusplus -//extern "C" //{ int indic_nextSyllableBoundary(HB_Script script, const HB_UChar16 *s, int start, int end, bool *invalid) ; -//#endif - -extern int indic_nextSyllableBoundary(HB_Script script, const HB_UChar16 *s, int start, int end, HB_Bool *invalid) ; - - -HB_END_HEADER - -#endif diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-stream-private.h b/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-stream-private.h deleted file mode 100755 index 7dd41ad..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-stream-private.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2006 Behdad Esfahbod - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_STREAM_PRIVATE_H -#define HARFBUZZ_STREAM_PRIVATE_H - -#include "harfbuzz-impl.h" -#include "harfbuzz-stream.h" - -HB_BEGIN_HEADER - -HB_INTERNAL void -_hb_close_stream( HB_Stream stream ); - -HB_INTERNAL HB_Int -_hb_stream_pos( HB_Stream stream ); - -HB_INTERNAL HB_Error -_hb_stream_seek( HB_Stream stream, - HB_UInt pos ); - -HB_INTERNAL HB_Error -_hb_stream_frame_enter( HB_Stream stream, - HB_UInt size ); - -HB_INTERNAL void -_hb_stream_frame_exit( HB_Stream stream ); - -/* convenience macros */ - -#define SET_ERR(c) ( (error = (c)) != 0 ) - -#define GOTO_Table(tag) (0) -#define FILE_Pos() _hb_stream_pos( stream ) -#define FILE_Seek(pos) SET_ERR( _hb_stream_seek( stream, pos ) ) -#define ACCESS_Frame(size) SET_ERR( _hb_stream_frame_enter( stream, size ) ) -#define FORGET_Frame() _hb_stream_frame_exit( stream ) - -#define GET_Byte() (*stream->cursor++) -#define GET_Short() (stream->cursor += 2, (HB_Short)( \ - (*(((HB_Byte*)stream->cursor)-2) << 8) | \ - *(((HB_Byte*)stream->cursor)-1) \ - )) -#define GET_Long() (stream->cursor += 4, (HB_Int)( \ - (*(((HB_Byte*)stream->cursor)-4) << 24) | \ - (*(((HB_Byte*)stream->cursor)-3) << 16) | \ - (*(((HB_Byte*)stream->cursor)-2) << 8) | \ - *(((HB_Byte*)stream->cursor)-1) \ - )) - - -#define GET_Char() ((HB_Char)GET_Byte()) -#define GET_UShort() ((HB_UShort)GET_Short()) -#define GET_ULong() ((HB_UInt)GET_Long()) -#define GET_Tag4() GET_ULong() - -HB_END_HEADER - -#endif /* HARFBUZZ_STREAM_PRIVATE_H */ diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-stream.h b/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-stream.h deleted file mode 100755 index 07578d5..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-stream.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_STREAM_H -#define HARFBUZZ_STREAM_H - -#include "harfbuzz-global.h" - -HB_BEGIN_HEADER - -typedef struct HB_StreamRec_ -{ - HB_Byte* base; - HB_UInt size; - HB_UInt pos; - - HB_Byte* cursor; -} HB_StreamRec; - - -HB_END_HEADER - -#endif diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz.h b/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz.h deleted file mode 100755 index 8d86779..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2006 Behdad Esfahbod - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_H -#define HARFBUZZ_H - -#include "harfbuzz-external.h" -#include "harfbuzz-impl.h" -#include "harfbuzz-global.h" -#include "harfbuzz-buffer.h" -#include "harfbuzz-gdef.h" -#include "harfbuzz-gsub.h" -#include "harfbuzz-gpos.h" -#include "harfbuzz-open.h" -#include "harfbuzz-shaper.h" - -#define HB_DOTTED_CIRCLE 0x25CC /** DottedCircle used with dependent Matras */ -#define HB_ZWJ 0x200D /** Zero Width Joiner */ -#define HB_ZWNJ 0x200C /** Zero Width Non-Joiner */ - -#define HB_INITIAL_NO_OF_GLYPH 64 - -extern HB_Error hb_getScriptID(HB_UShort value, HB_Script *scriptID) ; -extern HB_Error hb_getTextWithScriptID(HB_UShort *text, int textLen, HB_Script *scriptID, int *scriptLen) ; -extern int hb_getSyllableLength(HB_UShort *text, int textLen, HB_Script *scriptID) ; - -#endif /* HARFBUZZ_OPEN_H */ diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/hb_unicode_tables.h b/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/hb_unicode_tables.h deleted file mode 100755 index 0ff1a4e..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/hb_unicode_tables.h +++ /dev/null @@ -1,3312 +0,0 @@ - -/* - * Copyright (C) 2010 Samsung India Software Operations Pvt. Ltd. - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef __hb_unicode_tables_h__ -#define __hb_unicode_tables_h__ - -#include "math.h" -#include "harfbuzz-shaper.h" -#include "harfbuzz-shaper-private.h" - -typedef struct -{ - HB_UShort scriptID;//it can be sript id if subtable is null, else size of subtable - HB_Script *pSubTable; - -}unicodeScriptTableStruct; - -HB_Script subTableThanaSyriac[] = -{ - HB_Script_Syriac,//0x00 - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac,//0x08 - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - - HB_Script_Syriac,//0x10 - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - - HB_Script_Syriac,//0x18 - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - - HB_Script_Syriac,//0x20 - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac,//0x28 - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - - HB_Script_Syriac,//0x30 - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac,//0x38 - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac,//0x40 - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - - HB_Script_Syriac,//0x48 - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac,//0x4f - - HB_Script_Common,//0x50 - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Common,//0x58 - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Common,//0x60 - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Common,//0x68 - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Common,//0x70 - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Common,//0x78 - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Thaana,//0x80 - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana,//0x88 - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana,//0x90 - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana,//0x98 - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana,//0xa0 - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana,//0xa8 - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana,//0xb0 - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana,//0xb8 - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana,//0xbf -}; - -HB_Script subTableDevaBengali[] = -{ - HB_Script_Devanagari,//0x00 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari,//0x08 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - - HB_Script_Devanagari,//0x10 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - - HB_Script_Devanagari,//0x18 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - - HB_Script_Devanagari,//0x20 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari,//0x28 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - - HB_Script_Devanagari,//0x30 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari,//0x38 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari,//0x40 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - - HB_Script_Devanagari,//0x48 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari,//0x4f - - HB_Script_Devanagari,//0x50 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari,//0x58 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - - HB_Script_Devanagari,//0x60 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - - HB_Script_Devanagari,//0x68 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - - HB_Script_Devanagari,//0x70 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari,//0x78 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari,//0x7f - - - HB_Script_Bengali,//0x80 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali,//0x88 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali,//0x90 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - - HB_Script_Bengali,//0x98 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali,//0xa0 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali,//0xa8 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali,//0xb0 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - - HB_Script_Bengali,//0xb8 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali,//0xc0 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - - HB_Script_Bengali,//0xc8 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali,//0xd0 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali,//0xd8 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali,//0xe0 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - - HB_Script_Bengali,//0xe8 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali,//0xf0 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali,//0xf8 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali,//0xff - -}; - - -HB_Script subTableGuruGuarati[]= -{ - HB_Script_Gurmukhi,//0x00 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi,//0x08 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - - HB_Script_Gurmukhi,//0x10 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - - HB_Script_Gurmukhi,//0x18 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - - HB_Script_Gurmukhi,//0x20 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi,//0x28 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - - HB_Script_Gurmukhi,//0x30 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi,//0x38 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi,//0x40 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - - HB_Script_Gurmukhi,//0x48 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi,//0x4f - - HB_Script_Gurmukhi,//0x50 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi,//0x58 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - - HB_Script_Gurmukhi,//0x60 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - - HB_Script_Gurmukhi,//0x68 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - - HB_Script_Gurmukhi,//0x70 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi,//0x78 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi,//0x7f - - - HB_Script_Gujarati,//0x80 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati,//0x88 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati,//0x90 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - - HB_Script_Gujarati,//0x98 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati,//0xa0 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati,//0xa8 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati,//0xb0 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - - HB_Script_Gujarati,//0xb8 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati,//0xc0 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - - HB_Script_Gujarati,//0xc8 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati,//0xd0 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati,//0xd8 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati,//0xe0 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - - HB_Script_Gujarati,//0xe8 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati,//0xf0 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati,//0xf8 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati,//0xff - -}; - -HB_Script subTableOriyaTamil[]= -{ - HB_Script_Oriya,//0x00 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya,//0x08 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - - HB_Script_Oriya,//0x10 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - - HB_Script_Oriya,//0x18 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - - HB_Script_Oriya,//0x20 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya,//0x28 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - - HB_Script_Oriya,//0x30 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya,//0x38 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya,//0x40 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - - HB_Script_Oriya,//0x48 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya,//0x4f - - HB_Script_Oriya,//0x50 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya,//0x58 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - - HB_Script_Oriya,//0x60 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - - HB_Script_Oriya,//0x68 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - - HB_Script_Oriya,//0x70 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya,//0x78 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya,//0x7f - - - HB_Script_Tamil,//0x80 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil,//0x88 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil,//0x90 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - - HB_Script_Tamil,//0x98 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil,//0xa0 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil,//0xa8 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil,//0xb0 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - - HB_Script_Tamil,//0xb8 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil,//0xc0 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - - HB_Script_Tamil,//0xc8 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil,//0xd0 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil,//0xd8 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil,//0xe0 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - - HB_Script_Tamil,//0xe8 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil,//0xf0 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil,//0xf8 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil,//0xff - -}; - - -HB_Script subTableTelukannada[]= -{ - HB_Script_Telugu,//0x00 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu,//0x08 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - - HB_Script_Telugu,//0x10 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - - HB_Script_Telugu,//0x18 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - - HB_Script_Telugu,//0x20 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu,//0x28 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - - HB_Script_Telugu,//0x30 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu,//0x38 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu,//0x40 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - - HB_Script_Telugu,//0x48 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu,//0x4f - - HB_Script_Telugu,//0x50 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu,//0x58 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - - HB_Script_Telugu,//0x60 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - - HB_Script_Telugu,//0x68 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - - HB_Script_Telugu,//0x70 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu,//0x78 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu,//0x7f - - - HB_Script_Kannada,//0x80 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada,//0x88 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada,//0x90 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - - HB_Script_Kannada,//0x98 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada,//0xa0 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada,//0xa8 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada,//0xb0 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - - HB_Script_Kannada,//0xb8 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada,//0xc0 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - - HB_Script_Kannada,//0xc8 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada,//0xd0 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada,//0xd8 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada,//0xe0 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - - HB_Script_Kannada,//0xe8 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada,//0xf0 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada,//0xf8 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada,//0xff - -}; - -HB_Script subTableMalSinhala[]= -{ - HB_Script_Malayalam,//0x00 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam,//0x08 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - - HB_Script_Malayalam,//0x10 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - - HB_Script_Malayalam,//0x18 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - - HB_Script_Malayalam,//0x20 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam,//0x28 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - - HB_Script_Malayalam,//0x30 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam,//0x38 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam,//0x40 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - - HB_Script_Malayalam,//0x48 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam,//0x4f - - HB_Script_Malayalam,//0x50 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam,//0x58 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - - HB_Script_Malayalam,//0x60 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - - HB_Script_Malayalam,//0x68 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - - HB_Script_Malayalam,//0x70 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam,//0x78 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam,//0x7f - - - HB_Script_Sinhala,//0x80 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala,//0x88 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala,//0x90 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - - HB_Script_Sinhala,//0x98 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala,//0xa0 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala,//0xa8 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala,//0xb0 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - - HB_Script_Sinhala,//0xb8 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala,//0xc0 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - - HB_Script_Sinhala,//0xc8 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala,//0xd0 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala,//0xd8 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala,//0xe0 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - - HB_Script_Sinhala,//0xe8 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala,//0xf0 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala,//0xf8 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala,//0xff - -}; - -HB_Script subTableThaiLao[]= -{ - HB_Script_Thai,//0x00 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai,//0x08 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - - HB_Script_Thai,//0x10 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - - HB_Script_Thai,//0x18 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - - HB_Script_Thai,//0x20 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai,//0x28 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - - HB_Script_Thai,//0x30 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai,//0x38 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai,//0x40 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - - HB_Script_Thai,//0x48 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai,//0x4f - - HB_Script_Thai,//0x50 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai,//0x58 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - - HB_Script_Thai,//0x60 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - - HB_Script_Thai,//0x68 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - - HB_Script_Thai,//0x70 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai,//0x78 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai,//0x7f - - - HB_Script_Lao,//0x80 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao,//0x88 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao,//0x90 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - - HB_Script_Lao,//0x98 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao,//0xa0 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao,//0xa8 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao,//0xb0 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - - HB_Script_Lao,//0xb8 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao,//0xc0 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - - HB_Script_Lao,//0xc8 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao,//0xd0 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao,//0xd8 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao,//0xe0 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - - HB_Script_Lao,//0xe8 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao,//0xf0 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao,//0xf8 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao,//0xff - -}; - -HB_Script subTableMyanGeorgian[] = -{ - HB_Script_Myanmar,//0x00 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar,//0x08 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - - HB_Script_Myanmar,//0x10 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - - HB_Script_Myanmar,//0x18 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - - HB_Script_Myanmar,//0x20 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar,//0x28 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - - HB_Script_Myanmar,//0x30 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar,//0x38 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar,//0x40 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - - HB_Script_Myanmar,//0x48 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar,//0x4f - - HB_Script_Myanmar,//0x50 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar,//0x58 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - - HB_Script_Myanmar,//0x60 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - - HB_Script_Myanmar,//0x68 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - - HB_Script_Myanmar,//0x70 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar,//0x78 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar,//0x7f - - - HB_Script_Myanmar,//0x80 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar,//0x88 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar,//0x90 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - - HB_Script_Myanmar,//0x98 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Georgian,//0xa0 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian,//0xa8 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian,//0xb0 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - - HB_Script_Georgian,//0xb8 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian,//0xc0 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - - HB_Script_Georgian,//0xc8 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian,//0xd0 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian,//0xd8 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian,//0xe0 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - - HB_Script_Georgian,//0xe8 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian,//0xf0 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian,//0xf8 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian,//0xff - -}; - -HB_Script subTableOghamRunic[] = -{ - HB_Script_Ogham,//0x00 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham,//0x08 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - - HB_Script_Ogham,//0x10 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - - HB_Script_Ogham,//0x18 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - - HB_Script_Ogham,//0x20 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham,//0x28 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - - HB_Script_Ogham,//0x30 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham,//0x38 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham,//0x40 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - - HB_Script_Ogham,//0x48 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham,//0x4f - - HB_Script_Ogham,//0x50 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham,//0x58 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - - HB_Script_Ogham,//0x60 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - - HB_Script_Ogham,//0x68 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - - HB_Script_Ogham,//0x70 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham,//0x78 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham,//0x7f - - - HB_Script_Ogham,//0x80 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham,//0x88 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham,//0x90 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - - HB_Script_Ogham,//0x98 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Runic,//0xa0 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic,//0xa8 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic,//0xb0 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - - HB_Script_Runic,//0xb8 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic,//0xc0 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - - HB_Script_Runic,//0xc8 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic,//0xd0 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic,//0xd8 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic,//0xe0 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - - HB_Script_Runic,//0xe8 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic,//0xf0 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic,//0xf8 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic,//0xff - -}; - -#define VFE_UNICODE_MAX_SCRIPT 256 - -static const unicodeScriptTableStruct scriptTableStruct[VFE_UNICODE_MAX_SCRIPT]= -{ - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Greek, 0}, - - {HB_Script_Cyrillic, 0},//0x04 - {HB_Script_Armenian, 0}, - {HB_Script_Arabic, 0}, - {0xc0, subTableThanaSyriac}, - - {HB_Script_Common, 0},//0x08 - {0x100, subTableDevaBengali}, - {0x100, subTableGuruGuarati}, - {0x100, subTableOriyaTamil}, - - {0x100, subTableTelukannada},//0x0c - {0x100, subTableMalSinhala}, - {0x100, subTableThaiLao}, - {HB_Script_Tibetan, 0}, - - {0x100, subTableMyanGeorgian},//0x10 - {HB_Script_Hangul, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x14 - {HB_Script_Common, 0}, - {0x100, subTableOghamRunic}, - {HB_Script_Khmer, 0}, - - {HB_Script_Common, 0},//0x18 - {HB_Script_Khmer, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x1c - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x20 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x24 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x28 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x2c - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x30 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x34 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x38 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x3c - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x40 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x44 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x48 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x4c - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x50 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x54 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x58 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x5c - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x60 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x64 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x68 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x6c - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x70 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x74 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x78 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x7c - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x80 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x84 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x88 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x8c - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x40 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x94 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x98 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x9c - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xa0 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xa4 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xa8 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xac - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xb0 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xb4 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xb8 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xbc - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xc0 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xc4 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xc8 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xcc - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xd0 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xd4 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xd8 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xdc - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xe0 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xe4 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xe8 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xec - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xf0 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xf4 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xf8 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xfc - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0},//ff -}; - -#endif /* __hb_unicode_tables_h__ */ - diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/lib/libharfbuzz.so b/harfbuzz-0.1/debian/libharfbuzz/usr/lib/libharfbuzz.so deleted file mode 100755 index 78aefd1cd2568aa128438b2c3b7d3afc18ef4560..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264932 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 diff --git a/harfbuzz-0.1/debian/libharfbuzz/usr/share/doc/libharfbuzz/copyright b/harfbuzz-0.1/debian/libharfbuzz/usr/share/doc/libharfbuzz/copyright deleted file mode 100755 index 634932c..0000000 --- a/harfbuzz-0.1/debian/libharfbuzz/usr/share/doc/libharfbuzz/copyright +++ /dev/null @@ -1,26 +0,0 @@ -This is harfbuzz library ,maintained by prameet -on Fri, 05 Mar 2010 10:49:10 +0530. - -The original source can always be found at: - ftp://ftp.debian.org/dists/unstable/main/source/ - -Copyright Holder: unknown - -License: - - 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 2 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 package; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -On Debian systems, the complete text of the GNU General -Public License can be found in `/usr/share/common-licenses/GPL'. diff --git a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-buffer-private.h b/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-buffer-private.h deleted file mode 100755 index 5065f2e..0000000 --- a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-buffer-private.h +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2004,2007 Red Hat, Inc. - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Red Hat Author(s): Owen Taylor, Behdad Esfahbod - */ - -#ifndef HARFBUZZ_BUFFER_PRIVATE_H -#define HARFBUZZ_BUFFER_PRIVATE_H - -#include "harfbuzz-impl.h" -#include "harfbuzz-buffer.h" - -HB_BEGIN_HEADER - -#define HB_GLYPH_PROPERTIES_UNKNOWN 0xFFFF - -HB_INTERNAL void -_hb_buffer_swap( HB_Buffer buffer ); - -HB_INTERNAL void -_hb_buffer_clear_output( HB_Buffer buffer ); - -HB_INTERNAL HB_Error -_hb_buffer_clear_positions( HB_Buffer buffer ); - -HB_INTERNAL HB_Error -_hb_buffer_add_output_glyphs( HB_Buffer buffer, - HB_UShort num_in, - HB_UShort num_out, - HB_UShort *glyph_data, - HB_UShort component, - HB_UShort ligID ); - -HB_INTERNAL HB_Error -_hb_buffer_add_output_glyph ( HB_Buffer buffer, - HB_UInt glyph_index, - HB_UShort component, - HB_UShort ligID ); - -HB_INTERNAL HB_Error -_hb_buffer_copy_output_glyph ( HB_Buffer buffer ); - -HB_INTERNAL HB_Error -_hb_buffer_replace_output_glyph ( HB_Buffer buffer, - HB_UInt glyph_index, - HB_Bool inplace ); - -HB_INTERNAL HB_UShort -_hb_buffer_allocate_ligid( HB_Buffer buffer ); - - -/* convenience macros */ - -#define IN_GLYPH( pos ) (buffer->in_string[(pos)].gindex) -#define IN_ITEM( pos ) (&buffer->in_string[(pos)]) -#define IN_CURGLYPH() (buffer->in_string[buffer->in_pos].gindex) -#define IN_CURITEM() (&buffer->in_string[buffer->in_pos]) -#define IN_PROPERTIES( pos ) (buffer->in_string[(pos)].properties) -#define IN_LIGID( pos ) (buffer->in_string[(pos)].ligID) -#define IN_COMPONENT( pos ) (buffer->in_string[(pos)].component) -#define POSITION( pos ) (&buffer->positions[(pos)]) -#define OUT_GLYPH( pos ) (buffer->out_string[(pos)].gindex) -#define OUT_ITEM( pos ) (&buffer->out_string[(pos)]) - -#define CHECK_Property( gdef, index, flags, property ) \ - ( ( error = _HB_GDEF_Check_Property( (gdef), (index), (flags), \ - (property) ) ) != HB_Err_Ok ) - -#define ADD_String( buffer, num_in, num_out, glyph_data, component, ligID ) \ - ( ( error = _hb_buffer_add_output_glyphs( (buffer), \ - (num_in), (num_out), \ - (glyph_data), (component), (ligID) \ - ) ) != HB_Err_Ok ) -#define ADD_Glyph( buffer, glyph_index, component, ligID ) \ - ( ( error = _hb_buffer_add_output_glyph( (buffer), \ - (glyph_index), (component), (ligID) \ - ) ) != HB_Err_Ok ) -#define REPLACE_Glyph( buffer, glyph_index, nesting_level ) \ - ( ( error = _hb_buffer_replace_output_glyph( (buffer), (glyph_index), \ - (nesting_level) == 1 ) ) != HB_Err_Ok ) -#define COPY_Glyph( buffer ) \ - ( (error = _hb_buffer_copy_output_glyph ( buffer ) ) != HB_Err_Ok ) - -HB_END_HEADER - -#endif /* HARFBUZZ_BUFFER_PRIVATE_H */ diff --git a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-buffer.h b/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-buffer.h deleted file mode 100755 index b134407..0000000 --- a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-buffer.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2004,2007 Red Hat, Inc. - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Red Hat Author(s): Owen Taylor, Behdad Esfahbod - */ - -#ifndef HARFBUZZ_BUFFER_H -#define HARFBUZZ_BUFFER_H - -#include "harfbuzz-global.h" - -HB_BEGIN_HEADER - -typedef struct HB_GlyphItemRec_ { - HB_UInt gindex; - HB_UInt properties; - HB_UInt cluster; - HB_UShort component; - HB_UShort ligID; - HB_UShort gproperties; -} HB_GlyphItemRec, *HB_GlyphItem; - -typedef struct HB_PositionRec_ { - HB_Fixed x_pos; - HB_Fixed y_pos; - HB_Fixed x_advance; - HB_Fixed y_advance; - HB_UShort back; /* number of glyphs to go back - for drawing current glyph */ - HB_Bool new_advance; /* if set, the advance width values are - absolute, i.e., they won't be - added to the original glyph's value - but rather replace them. */ - HB_Short cursive_chain; /* character to which this connects, - may be positive or negative; used - only internally */ -} HB_PositionRec, *HB_Position; - - -typedef struct HB_BufferRec_{ - HB_UInt allocated; - - HB_UInt in_length; - HB_UInt out_length; - HB_UInt in_pos; - HB_UInt out_pos; - - HB_Bool separate_out; - HB_GlyphItem in_string; - HB_GlyphItem out_string; - HB_GlyphItem alt_string; - HB_Position positions; - HB_UShort max_ligID; -} HB_BufferRec, *HB_Buffer; - -HB_Error -hb_buffer_new( HB_Buffer *buffer ); - -void -hb_buffer_free( HB_Buffer buffer ); - -void -hb_buffer_clear( HB_Buffer buffer ); - -HB_Error -hb_buffer_add_glyph( HB_Buffer buffer, - HB_UInt glyph_index, - HB_UInt properties, - HB_UInt cluster ); - -HB_END_HEADER - -#endif /* HARFBUZZ_BUFFER_H */ diff --git a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-dump.h b/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-dump.h deleted file mode 100755 index ea4a62b..0000000 --- a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-dump.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2000, 2007 Red Hat, Inc. - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Red Hat Author(s): Owen Taylor, Behdad Esfahbod - */ - -#ifndef HARFBUZZ_DUMP_H -#define HARFBUZZ_DUMP_H - -#include -#include "harfbuzz-gsub.h" -#include "harfbuzz-gpos.h" - -HB_BEGIN_HEADER - -void HB_Dump_GSUB_Table (HB_GSUB gsub, FILE *stream); -void HB_Dump_GPOS_Table (HB_GPOS gpos, FILE *stream); - -HB_END_HEADER - -#endif /* HARFBUZZ_DUMP_H */ diff --git a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-external.h b/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-external.h deleted file mode 100755 index d064f87..0000000 --- a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-external.h +++ /dev/null @@ -1,155 +0,0 @@ -/* - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_EXTERNAL_H -#define HARFBUZZ_EXTERNAL_H - -#include "harfbuzz-global.h" - -HB_BEGIN_HEADER - -/* This header contains some methods that are not part of - Harfbuzz itself, but referenced by it. - They need to be provided by the application/library -*/ - - -/* - see http://www.unicode.org/reports/tr14/tr14-19.html - we don't use the XX, AI and CB properties and map them to AL instead. - as we don't support any EBDIC based OS'es, NL is ignored and mapped to AL as well. -*/ -typedef enum { - HB_LineBreak_OP, HB_LineBreak_CL, HB_LineBreak_QU, HB_LineBreak_GL, HB_LineBreak_NS, - HB_LineBreak_EX, HB_LineBreak_SY, HB_LineBreak_IS, HB_LineBreak_PR, HB_LineBreak_PO, - HB_LineBreak_NU, HB_LineBreak_AL, HB_LineBreak_ID, HB_LineBreak_IN, HB_LineBreak_HY, - HB_LineBreak_BA, HB_LineBreak_BB, HB_LineBreak_B2, HB_LineBreak_ZW, HB_LineBreak_CM, - HB_LineBreak_WJ, HB_LineBreak_H2, HB_LineBreak_H3, HB_LineBreak_JL, HB_LineBreak_JV, - HB_LineBreak_JT, HB_LineBreak_SA, HB_LineBreak_SG, - HB_LineBreak_SP, HB_LineBreak_CR, HB_LineBreak_LF, HB_LineBreak_BK -} HB_LineBreakClass; - -typedef enum -{ - HB_NoCategory, - - HB_Mark_NonSpacing, /* Mn */ - HB_Mark_SpacingCombining, /* Mc */ - HB_Mark_Enclosing, /* Me */ - - HB_Number_DecimalDigit, /* Nd */ - HB_Number_Letter, /* Nl */ - HB_Number_Other, /* No */ - - HB_Separator_Space, /* Zs */ - HB_Separator_Line, /* Zl */ - HB_Separator_Paragraph, /* Zp */ - - HB_Other_Control, /* Cc */ - HB_Other_Format, /* Cf */ - HB_Other_Surrogate, /* Cs */ - HB_Other_PrivateUse, /* Co */ - HB_Other_NotAssigned, /* Cn */ - - HB_Letter_Uppercase, /* Lu */ - HB_Letter_Lowercase, /* Ll */ - HB_Letter_Titlecase, /* Lt */ - HB_Letter_Modifier, /* Lm */ - HB_Letter_Other, /* Lo */ - - HB_Punctuation_Connector, /* Pc */ - HB_Punctuation_Dash, /* Pd */ - HB_Punctuation_Open, /* Ps */ - HB_Punctuation_Close, /* Pe */ - HB_Punctuation_InitialQuote, /* Pi */ - HB_Punctuation_FinalQuote, /* Pf */ - HB_Punctuation_Other, /* Po */ - - HB_Symbol_Math, /* Sm */ - HB_Symbol_Currency, /* Sc */ - HB_Symbol_Modifier, /* Sk */ - HB_Symbol_Other /* So */ -} HB_CharCategory; - -typedef enum -{ - HB_Grapheme_Other, - HB_Grapheme_CR, - HB_Grapheme_LF, - HB_Grapheme_Control, - HB_Grapheme_Extend, - HB_Grapheme_L, - HB_Grapheme_V, - HB_Grapheme_T, - HB_Grapheme_LV, - HB_Grapheme_LVT -} HB_GraphemeClass; - - -typedef enum -{ - HB_Word_Other, - HB_Word_Format, - HB_Word_Katakana, - HB_Word_ALetter, - HB_Word_MidLetter, - HB_Word_MidNum, - HB_Word_Numeric, - HB_Word_ExtendNumLet -} HB_WordClass; - - -typedef enum -{ - HB_Sentence_Other, - HB_Sentence_Sep, - HB_Sentence_Format, - HB_Sentence_Sp, - HB_Sentence_Lower, - HB_Sentence_Upper, - HB_Sentence_OLetter, - HB_Sentence_Numeric, - HB_Sentence_ATerm, - HB_Sentence_STerm, - HB_Sentence_Close -} HB_SentenceClass; - -HB_GraphemeClass HB_GetGraphemeClass(HB_UChar32 ch); -HB_WordClass HB_GetWordClass(HB_UChar32 ch); -HB_SentenceClass HB_GetSentenceClass(HB_UChar32 ch); -HB_LineBreakClass HB_GetLineBreakClass(HB_UChar32 ch); - -void HB_GetGraphemeAndLineBreakClass(HB_UChar32 ch, HB_GraphemeClass *grapheme, HB_LineBreakClass *lineBreak); -void HB_GetUnicodeCharProperties(HB_UChar32 ch, HB_CharCategory *category, int *combiningClass); -HB_CharCategory HB_GetUnicodeCharCategory(HB_UChar32 ch); -int HB_GetUnicodeCharCombiningClass(HB_UChar32 ch); -HB_UChar16 HB_GetMirroredChar(HB_UChar16 ch); - -void *HB_Library_Resolve(const char *library, const char *symbol); - -void *HB_TextCodecForMib(int mib); -char *HB_TextCodec_ConvertFromUnicode(void *codec, const HB_UChar16 *unicode, hb_uint32 length, hb_uint32 *outputLength); -void HB_TextCodec_FreeResult(char *); - -HB_END_HEADER - -#endif diff --git a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gdef-private.h b/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gdef-private.h deleted file mode 100755 index da06b6f..0000000 --- a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gdef-private.h +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2006 Behdad Esfahbod - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_GDEF_PRIVATE_H -#define HARFBUZZ_GDEF_PRIVATE_H - -#include "harfbuzz-impl.h" -#include "harfbuzz-stream-private.h" -#include "harfbuzz-buffer-private.h" -#include "harfbuzz-gdef.h" - -HB_BEGIN_HEADER - - -/* Attachment related structures */ - -struct HB_AttachPoint_ -{ - HB_UShort PointCount; /* size of the PointIndex array */ - HB_UShort* PointIndex; /* array of contour points */ -}; - -/* Ligature Caret related structures */ - -struct HB_CaretValueFormat1_ -{ - HB_Short Coordinate; /* x or y value (in design units) */ -}; - -typedef struct HB_CaretValueFormat1_ HB_CaretValueFormat1; - - -struct HB_CaretValueFormat2_ -{ - HB_UShort CaretValuePoint; /* contour point index on glyph */ -}; - -typedef struct HB_CaretValueFormat2_ HB_CaretValueFormat2; - - -struct HB_CaretValueFormat3_ -{ - HB_Short Coordinate; /* x or y value (in design units) */ - HB_Device Device; /* Device table for x or y value */ -}; - -typedef struct HB_CaretValueFormat3_ HB_CaretValueFormat3; - - -struct HB_CaretValueFormat4_ -{ - HB_UShort IdCaretValue; /* metric ID */ -}; - -typedef struct HB_CaretValueFormat4_ HB_CaretValueFormat4; - - -struct HB_CaretValue_ -{ - HB_UShort CaretValueFormat; /* 1, 2, 3, or 4 */ - - union - { - HB_CaretValueFormat1 cvf1; - HB_CaretValueFormat2 cvf2; - HB_CaretValueFormat3 cvf3; - HB_CaretValueFormat4 cvf4; - } cvf; -}; - -typedef struct HB_CaretValue_ HB_CaretValue; - - -struct HB_LigGlyph_ -{ - HB_Bool loaded; - - HB_UShort CaretCount; /* number of caret values */ - HB_CaretValue* CaretValue; /* array of caret values */ -}; - - -HB_INTERNAL HB_Error -_HB_GDEF_Add_Glyph_Property( HB_GDEFHeader* gdef, - HB_UShort glyphID, - HB_UShort property ); - -HB_INTERNAL HB_Error -_HB_GDEF_Check_Property( HB_GDEFHeader* gdef, - HB_GlyphItem item, - HB_UShort flags, - HB_UShort* property ); - -HB_INTERNAL HB_Error -_HB_GDEF_LoadMarkAttachClassDef_From_LookupFlags( HB_GDEFHeader* gdef, - HB_Stream input, - HB_Lookup* lo, - HB_UShort num_lookups ); - -HB_END_HEADER - -#endif /* HARFBUZZ_GDEF_PRIVATE_H */ diff --git a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gdef.h b/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gdef.h deleted file mode 100755 index b6dcadc..0000000 --- a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gdef.h +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2006 Behdad Esfahbod - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_GDEF_H -#define HARFBUZZ_GDEF_H - -#include "harfbuzz-open.h" -#include "harfbuzz-stream.h" - -HB_BEGIN_HEADER - -/* GDEF glyph properties. Note that HB_GDEF_COMPONENT has no corresponding - * flag in the LookupFlag field. */ -#define HB_GDEF_BASE_GLYPH 0x0002 -#define HB_GDEF_LIGATURE 0x0004 -#define HB_GDEF_MARK 0x0008 -#define HB_GDEF_COMPONENT 0x0010 - - -typedef struct HB_AttachPoint_ HB_AttachPoint; - - -struct HB_AttachList_ -{ - HB_Bool loaded; - - HB_Coverage Coverage; /* Coverage table */ - HB_UShort GlyphCount; /* number of glyphs with - attachments */ - HB_AttachPoint* AttachPoint; /* array of AttachPoint tables */ -}; - -typedef struct HB_AttachList_ HB_AttachList; - -typedef struct HB_LigGlyph_ HB_LigGlyph; - -struct HB_LigCaretList_ -{ - HB_Bool loaded; - - HB_Coverage Coverage; /* Coverage table */ - HB_UShort LigGlyphCount; /* number of ligature glyphs */ - HB_LigGlyph* LigGlyph; /* array of LigGlyph tables */ -}; - -typedef struct HB_LigCaretList_ HB_LigCaretList; - - - -/* The `NewGlyphClasses' field is not defined in the TTO specification. - We use it for fonts with a constructed `GlyphClassDef' structure - (i.e., which don't have a GDEF table) to collect glyph classes - assigned during the lookup process. The number of arrays in this - pointer array is GlyphClassDef->cd.cd2.ClassRangeCount+1; the nth - array then contains the glyph class values of the glyphs not covered - by the ClassRangeRecords structures with index n-1 and n. We store - glyph class values for four glyphs in a single array element. - - `LastGlyph' is identical to the number of glyphs minus one in the - font; we need it only if `NewGlyphClasses' is not NULL (to have an - upper bound for the last array). - - Note that we first store the file offset to the `MarkAttachClassDef' - field (which has been introduced in OpenType 1.2) -- since the - `Version' field value hasn't been increased to indicate that we have - one more field for some obscure reason, we must parse the GSUB table - to find out whether class values refer to this table. Only then we - can finally load the MarkAttachClassDef structure if necessary. */ - -struct HB_GDEFHeader_ -{ - HB_UInt offset; - - HB_16Dot16 Version; - - HB_ClassDefinition GlyphClassDef; - HB_AttachList AttachList; - HB_LigCaretList LigCaretList; - HB_UInt MarkAttachClassDef_offset; - HB_ClassDefinition MarkAttachClassDef; /* new in OT 1.2 */ - - HB_UShort LastGlyph; - HB_UShort** NewGlyphClasses; -}; - -typedef struct HB_GDEFHeader_ HB_GDEFHeader; -typedef struct HB_GDEFHeader_* HB_GDEF; - - -HB_Error HB_New_GDEF_Table( HB_GDEFHeader** retptr ); - - -HB_Error HB_Load_GDEF_Table( HB_Stream stream, - HB_GDEFHeader** gdef ); - - -HB_Error HB_Done_GDEF_Table ( HB_GDEFHeader* gdef ); - - -HB_Error HB_GDEF_Get_Glyph_Property( HB_GDEFHeader* gdef, - HB_UShort glyphID, - HB_UShort* property ); - -HB_Error HB_GDEF_Build_ClassDefinition( HB_GDEFHeader* gdef, - HB_UShort num_glyphs, - HB_UShort glyph_count, - HB_UShort* glyph_array, - HB_UShort* class_array ); - - -HB_END_HEADER - -#endif /* HARFBUZZ_GDEF_H */ diff --git a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-global.h b/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-global.h deleted file mode 100755 index 0bb5669..0000000 --- a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-global.h +++ /dev/null @@ -1,123 +0,0 @@ -/* - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - */ - -#ifndef HARFBUZZ_GLOBAL_H -#define HARFBUZZ_GLOBAL_H - -#include -#include - -#ifdef __cplusplus -#define HB_BEGIN_HEADER extern "C" { -#define HB_END_HEADER } -#else -#define HB_BEGIN_HEADER /* nothing */ -#define HB_END_HEADER /* nothing */ -#endif - -HB_BEGIN_HEADER - -#ifndef FALSE -#define FALSE 0 -#endif - -#ifndef TRUE -#define TRUE (!FALSE) -#endif - -#ifndef false -#define false 0 -#endif - -#ifndef true -#define true (!FALSE) -#endif - -#define HB_MAKE_TAG( _x1, _x2, _x3, _x4 ) \ - ( ( (HB_UInt)_x1 << 24 ) | \ - ( (HB_UInt)_x2 << 16 ) | \ - ( (HB_UInt)_x3 << 8 ) | \ - (HB_UInt)_x4 ) - -typedef char hb_int8; -typedef unsigned char hb_uint8; -typedef short hb_int16; -typedef unsigned short hb_uint16; -typedef int hb_int32; -typedef unsigned int hb_uint32; - -typedef hb_uint8 HB_Bool; -typedef hb_uint8 bool; - -typedef hb_uint8 HB_Byte; -typedef hb_uint16 HB_UShort; -typedef hb_uint32 HB_UInt; -typedef hb_int8 HB_Char; -typedef hb_int16 HB_Short; -typedef hb_int32 HB_Int; - -typedef hb_uint16 HB_UChar16; -typedef hb_uint32 HB_UChar32; -typedef hb_uint32 HB_Glyph; -typedef hb_int32 HB_Fixed; /* 26.6 */ - -#define HB_FIXED_CONSTANT(v) ((v) * 64) -#define HB_FIXED_ROUND(v) (((v)+32) & -64) - -typedef hb_int32 HB_16Dot16; /* 16.16 */ - -typedef void * HB_Pointer; -typedef hb_uint32 HB_Tag; - -typedef enum { - /* no error */ - HB_Err_Ok = 0x0000, - HB_Err_Not_Covered = 0xFFFF, - - /* _hb_err() is called whenever returning the following errors, - * and in a couple places for HB_Err_Not_Covered too. */ - - /* programmer error */ - HB_Err_Invalid_Argument = 0x1A66, - - /* font error */ - HB_Err_Invalid_SubTable_Format = 0x157F, - HB_Err_Invalid_SubTable = 0x1570, - HB_Err_Read_Error = 0x6EAD, - - /* system error */ - HB_Err_Out_Of_Memory = 0xDEAD -} HB_Error; - -typedef struct { - HB_Fixed x; - HB_Fixed y; -} HB_FixedPoint; - -typedef struct HB_Font_ *HB_Font; -typedef struct HB_StreamRec_ *HB_Stream; -typedef struct HB_FaceRec_ *HB_Face; - -HB_END_HEADER - -#endif diff --git a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gpos-private.h b/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gpos-private.h deleted file mode 100755 index 4110700..0000000 --- a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gpos-private.h +++ /dev/null @@ -1,712 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2006 Behdad Esfahbod - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_GPOS_PRIVATE_H -#define HARFBUZZ_GPOS_PRIVATE_H - -#include "harfbuzz-impl.h" -#include "harfbuzz-stream-private.h" -#include "harfbuzz-gpos.h" - -HB_BEGIN_HEADER - - -/* shared tables */ - -struct HB_ValueRecord_ -{ - HB_Short XPlacement; /* horizontal adjustment for - placement */ - HB_Short YPlacement; /* vertical adjustment for - placement */ - HB_Short XAdvance; /* horizontal adjustment for - advance */ - HB_Short YAdvance; /* vertical adjustment for - advance */ - HB_Device XPlacementDevice; /* device table for horizontal - placement */ - HB_Device YPlacementDevice; /* device table for vertical - placement */ - HB_Device XAdvanceDevice; /* device table for horizontal - advance */ - HB_Device YAdvanceDevice; /* device table for vertical - advance */ - HB_UShort XIdPlacement; /* horizontal placement metric ID */ - HB_UShort YIdPlacement; /* vertical placement metric ID */ - HB_UShort XIdAdvance; /* horizontal advance metric ID */ - HB_UShort YIdAdvance; /* vertical advance metric ID */ -}; - -typedef struct HB_ValueRecord_ HB_ValueRecord; - - -/* Mask values to scan the value format of the ValueRecord structure. - We always expand compressed ValueRecords of the font. */ - -#define HB_GPOS_FORMAT_HAVE_X_PLACEMENT 0x0001 -#define HB_GPOS_FORMAT_HAVE_Y_PLACEMENT 0x0002 -#define HB_GPOS_FORMAT_HAVE_X_ADVANCE 0x0004 -#define HB_GPOS_FORMAT_HAVE_Y_ADVANCE 0x0008 -#define HB_GPOS_FORMAT_HAVE_X_PLACEMENT_DEVICE 0x0010 -#define HB_GPOS_FORMAT_HAVE_Y_PLACEMENT_DEVICE 0x0020 -#define HB_GPOS_FORMAT_HAVE_X_ADVANCE_DEVICE 0x0040 -#define HB_GPOS_FORMAT_HAVE_Y_ADVANCE_DEVICE 0x0080 -#define HB_GPOS_FORMAT_HAVE_X_ID_PLACEMENT 0x0100 -#define HB_GPOS_FORMAT_HAVE_Y_ID_PLACEMENT 0x0200 -#define HB_GPOS_FORMAT_HAVE_X_ID_ADVANCE 0x0400 -#define HB_GPOS_FORMAT_HAVE_Y_ID_ADVANCE 0x0800 - - -struct HB_AnchorFormat1_ -{ - HB_Short XCoordinate; /* horizontal value */ - HB_Short YCoordinate; /* vertical value */ -}; - -typedef struct HB_AnchorFormat1_ HB_AnchorFormat1; - - -struct HB_AnchorFormat2_ -{ - HB_Short XCoordinate; /* horizontal value */ - HB_Short YCoordinate; /* vertical value */ - HB_UShort AnchorPoint; /* index to glyph contour point */ -}; - -typedef struct HB_AnchorFormat2_ HB_AnchorFormat2; - - -struct HB_AnchorFormat3_ -{ - HB_Short XCoordinate; /* horizontal value */ - HB_Short YCoordinate; /* vertical value */ - HB_Device XDeviceTable; /* device table for X coordinate */ - HB_Device YDeviceTable; /* device table for Y coordinate */ -}; - -typedef struct HB_AnchorFormat3_ HB_AnchorFormat3; - - -struct HB_AnchorFormat4_ -{ - HB_UShort XIdAnchor; /* horizontal metric ID */ - HB_UShort YIdAnchor; /* vertical metric ID */ -}; - -typedef struct HB_AnchorFormat4_ HB_AnchorFormat4; - - -struct HB_Anchor_ -{ - HB_UShort PosFormat; /* 1, 2, 3, or 4 -- 0 indicates - that there is no Anchor table */ - - union - { - HB_AnchorFormat1 af1; - HB_AnchorFormat2 af2; - HB_AnchorFormat3 af3; - HB_AnchorFormat4 af4; - } af; -}; - -typedef struct HB_Anchor_ HB_Anchor; - - -struct HB_MarkRecord_ -{ - HB_UShort Class; /* mark class */ - HB_Anchor MarkAnchor; /* anchor table */ -}; - -typedef struct HB_MarkRecord_ HB_MarkRecord; - - -struct HB_MarkArray_ -{ - HB_UShort MarkCount; /* number of MarkRecord tables */ - HB_MarkRecord* MarkRecord; /* array of MarkRecord tables */ -}; - -typedef struct HB_MarkArray_ HB_MarkArray; - - -/* LookupType 1 */ - -struct HB_SinglePosFormat1_ -{ - HB_ValueRecord Value; /* ValueRecord for all covered - glyphs */ -}; - -typedef struct HB_SinglePosFormat1_ HB_SinglePosFormat1; - - -struct HB_SinglePosFormat2_ -{ - HB_UShort ValueCount; /* number of ValueRecord tables */ - HB_ValueRecord* Value; /* array of ValueRecord tables */ -}; - -typedef struct HB_SinglePosFormat2_ HB_SinglePosFormat2; - - -struct HB_SinglePos_ -{ - HB_UShort PosFormat; /* 1 or 2 */ - HB_Coverage Coverage; /* Coverage table */ - - HB_UShort ValueFormat; /* format of ValueRecord table */ - - union - { - HB_SinglePosFormat1 spf1; - HB_SinglePosFormat2 spf2; - } spf; -}; - -typedef struct HB_SinglePos_ HB_SinglePos; - - -/* LookupType 2 */ - -struct HB_PairValueRecord_ -{ - HB_UShort SecondGlyph; /* glyph ID for second glyph */ - HB_ValueRecord Value1; /* pos. data for first glyph */ - HB_ValueRecord Value2; /* pos. data for second glyph */ -}; - -typedef struct HB_PairValueRecord_ HB_PairValueRecord; - - -struct HB_PairSet_ -{ - HB_UShort PairValueCount; - /* number of PairValueRecord tables */ - HB_PairValueRecord* PairValueRecord; - /* array of PairValueRecord tables */ -}; - -typedef struct HB_PairSet_ HB_PairSet; - - -struct HB_PairPosFormat1_ -{ - HB_UShort PairSetCount; /* number of PairSet tables */ - HB_PairSet* PairSet; /* array of PairSet tables */ -}; - -typedef struct HB_PairPosFormat1_ HB_PairPosFormat1; - - -struct HB_Class2Record_ -{ - HB_ValueRecord Value1; /* pos. data for first glyph */ - HB_ValueRecord Value2; /* pos. data for second glyph */ -}; - -typedef struct HB_Class2Record_ HB_Class2Record; - - -struct HB_Class1Record_ -{ - HB_Class2Record* Class2Record; /* array of Class2Record tables */ -}; - -typedef struct HB_Class1Record_ HB_Class1Record; - - -struct HB_PairPosFormat2_ -{ - HB_ClassDefinition ClassDef1; /* class def. for first glyph */ - HB_ClassDefinition ClassDef2; /* class def. for second glyph */ - HB_UShort Class1Count; /* number of classes in ClassDef1 - table */ - HB_UShort Class2Count; /* number of classes in ClassDef2 - table */ - HB_Class1Record* Class1Record; /* array of Class1Record tables */ -}; - -typedef struct HB_PairPosFormat2_ HB_PairPosFormat2; - - -struct HB_PairPos_ -{ - HB_UShort PosFormat; /* 1 or 2 */ - HB_Coverage Coverage; /* Coverage table */ - HB_UShort ValueFormat1; /* format of ValueRecord table - for first glyph */ - HB_UShort ValueFormat2; /* format of ValueRecord table - for second glyph */ - - union - { - HB_PairPosFormat1 ppf1; - HB_PairPosFormat2 ppf2; - } ppf; -}; - -typedef struct HB_PairPos_ HB_PairPos; - - -/* LookupType 3 */ - -struct HB_EntryExitRecord_ -{ - HB_Anchor EntryAnchor; /* entry Anchor table */ - HB_Anchor ExitAnchor; /* exit Anchor table */ -}; - - -typedef struct HB_EntryExitRecord_ HB_EntryExitRecord; - -struct HB_CursivePos_ -{ - HB_UShort PosFormat; /* always 1 */ - HB_Coverage Coverage; /* Coverage table */ - HB_UShort EntryExitCount; - /* number of EntryExitRecord tables */ - HB_EntryExitRecord* EntryExitRecord; - /* array of EntryExitRecord tables */ -}; - -typedef struct HB_CursivePos_ HB_CursivePos; - - -/* LookupType 4 */ - -struct HB_BaseRecord_ -{ - HB_Anchor* BaseAnchor; /* array of base glyph anchor - tables */ -}; - -typedef struct HB_BaseRecord_ HB_BaseRecord; - - -struct HB_BaseArray_ -{ - HB_UShort BaseCount; /* number of BaseRecord tables */ - HB_BaseRecord* BaseRecord; /* array of BaseRecord tables */ -}; - -typedef struct HB_BaseArray_ HB_BaseArray; - - -struct HB_MarkBasePos_ -{ - HB_UShort PosFormat; /* always 1 */ - HB_Coverage MarkCoverage; /* mark glyph coverage table */ - HB_Coverage BaseCoverage; /* base glyph coverage table */ - HB_UShort ClassCount; /* number of mark classes */ - HB_MarkArray MarkArray; /* mark array table */ - HB_BaseArray BaseArray; /* base array table */ -}; - -typedef struct HB_MarkBasePos_ HB_MarkBasePos; - - -/* LookupType 5 */ - -struct HB_ComponentRecord_ -{ - HB_Anchor* LigatureAnchor; /* array of ligature glyph anchor - tables */ -}; - -typedef struct HB_ComponentRecord_ HB_ComponentRecord; - - -struct HB_LigatureAttach_ -{ - HB_UShort ComponentCount; - /* number of ComponentRecord tables */ - HB_ComponentRecord* ComponentRecord; - /* array of ComponentRecord tables */ -}; - -typedef struct HB_LigatureAttach_ HB_LigatureAttach; - - -struct HB_LigatureArray_ -{ - HB_UShort LigatureCount; /* number of LigatureAttach tables */ - HB_LigatureAttach* LigatureAttach; - /* array of LigatureAttach tables */ -}; - -typedef struct HB_LigatureArray_ HB_LigatureArray; - - -struct HB_MarkLigPos_ -{ - HB_UShort PosFormat; /* always 1 */ - HB_Coverage MarkCoverage; /* mark glyph coverage table */ - HB_Coverage LigatureCoverage; - /* ligature glyph coverage table */ - HB_UShort ClassCount; /* number of mark classes */ - HB_MarkArray MarkArray; /* mark array table */ - HB_LigatureArray LigatureArray; /* ligature array table */ -}; - -typedef struct HB_MarkLigPos_ HB_MarkLigPos; - - -/* LookupType 6 */ - -struct HB_Mark2Record_ -{ - HB_Anchor* Mark2Anchor; /* array of mark glyph anchor - tables */ -}; - -typedef struct HB_Mark2Record_ HB_Mark2Record; - - -struct HB_Mark2Array_ -{ - HB_UShort Mark2Count; /* number of Mark2Record tables */ - HB_Mark2Record* Mark2Record; /* array of Mark2Record tables */ -}; - -typedef struct HB_Mark2Array_ HB_Mark2Array; - - -struct HB_MarkMarkPos_ -{ - HB_UShort PosFormat; /* always 1 */ - HB_Coverage Mark1Coverage; /* first mark glyph coverage table */ - HB_Coverage Mark2Coverage; /* second mark glyph coverave table */ - HB_UShort ClassCount; /* number of combining mark classes */ - HB_MarkArray Mark1Array; /* MarkArray table for first mark */ - HB_Mark2Array Mark2Array; /* MarkArray table for second mark */ -}; - -typedef struct HB_MarkMarkPos_ HB_MarkMarkPos; - - -/* needed by both lookup type 7 and 8 */ - -struct HB_PosLookupRecord_ -{ - HB_UShort SequenceIndex; /* index into current - glyph sequence */ - HB_UShort LookupListIndex; /* Lookup to apply to that pos. */ -}; - -typedef struct HB_PosLookupRecord_ HB_PosLookupRecord; - - -/* LookupType 7 */ - -struct HB_PosRule_ -{ - HB_UShort GlyphCount; /* total number of input glyphs */ - HB_UShort PosCount; /* number of PosLookupRecord tables */ - HB_UShort* Input; /* array of input glyph IDs */ - HB_PosLookupRecord* PosLookupRecord; - /* array of PosLookupRecord tables */ -}; - -typedef struct HB_PosRule_ HB_PosRule; - - -struct HB_PosRuleSet_ -{ - HB_UShort PosRuleCount; /* number of PosRule tables */ - HB_PosRule* PosRule; /* array of PosRule tables */ -}; - -typedef struct HB_PosRuleSet_ HB_PosRuleSet; - - -struct HB_ContextPosFormat1_ -{ - HB_Coverage Coverage; /* Coverage table */ - HB_UShort PosRuleSetCount; /* number of PosRuleSet tables */ - HB_PosRuleSet* PosRuleSet; /* array of PosRuleSet tables */ -}; - -typedef struct HB_ContextPosFormat1_ HB_ContextPosFormat1; - - -struct HB_PosClassRule_ -{ - HB_UShort GlyphCount; /* total number of context classes */ - HB_UShort PosCount; /* number of PosLookupRecord tables */ - HB_UShort* Class; /* array of classes */ - HB_PosLookupRecord* PosLookupRecord; - /* array of PosLookupRecord tables */ -}; - -typedef struct HB_PosClassRule_ HB_PosClassRule; - - -struct HB_PosClassSet_ -{ - HB_UShort PosClassRuleCount; - /* number of PosClassRule tables */ - HB_PosClassRule* PosClassRule; /* array of PosClassRule tables */ -}; - -typedef struct HB_PosClassSet_ HB_PosClassSet; - - -/* The `MaxContextLength' field is not defined in the TTO specification - but simplifies the implementation of this format. It holds the - maximal context length used in the context rules. */ - -struct HB_ContextPosFormat2_ -{ - HB_UShort MaxContextLength; - /* maximal context length */ - HB_Coverage Coverage; /* Coverage table */ - HB_ClassDefinition ClassDef; /* ClassDef table */ - HB_UShort PosClassSetCount; - /* number of PosClassSet tables */ - HB_PosClassSet* PosClassSet; /* array of PosClassSet tables */ -}; - -typedef struct HB_ContextPosFormat2_ HB_ContextPosFormat2; - - -struct HB_ContextPosFormat3_ -{ - HB_UShort GlyphCount; /* number of input glyphs */ - HB_UShort PosCount; /* number of PosLookupRecord tables */ - HB_Coverage* Coverage; /* array of Coverage tables */ - HB_PosLookupRecord* PosLookupRecord; - /* array of PosLookupRecord tables */ -}; - -typedef struct HB_ContextPosFormat3_ HB_ContextPosFormat3; - - -struct HB_ContextPos_ -{ - HB_UShort PosFormat; /* 1, 2, or 3 */ - - union - { - HB_ContextPosFormat1 cpf1; - HB_ContextPosFormat2 cpf2; - HB_ContextPosFormat3 cpf3; - } cpf; -}; - -typedef struct HB_ContextPos_ HB_ContextPos; - - -/* LookupType 8 */ - -struct HB_ChainPosRule_ -{ - HB_UShort BacktrackGlyphCount; - /* total number of backtrack glyphs */ - HB_UShort* Backtrack; /* array of backtrack glyph IDs */ - HB_UShort InputGlyphCount; - /* total number of input glyphs */ - HB_UShort* Input; /* array of input glyph IDs */ - HB_UShort LookaheadGlyphCount; - /* total number of lookahead glyphs */ - HB_UShort* Lookahead; /* array of lookahead glyph IDs */ - HB_UShort PosCount; /* number of PosLookupRecords */ - HB_PosLookupRecord* PosLookupRecord; - /* array of PosLookupRecords */ -}; - -typedef struct HB_ChainPosRule_ HB_ChainPosRule; - - -struct HB_ChainPosRuleSet_ -{ - HB_UShort ChainPosRuleCount; - /* number of ChainPosRule tables */ - HB_ChainPosRule* ChainPosRule; /* array of ChainPosRule tables */ -}; - -typedef struct HB_ChainPosRuleSet_ HB_ChainPosRuleSet; - - -struct HB_ChainContextPosFormat1_ -{ - HB_Coverage Coverage; /* Coverage table */ - HB_UShort ChainPosRuleSetCount; - /* number of ChainPosRuleSet tables */ - HB_ChainPosRuleSet* ChainPosRuleSet; - /* array of ChainPosRuleSet tables */ -}; - -typedef struct HB_ChainContextPosFormat1_ HB_ChainContextPosFormat1; - - -struct HB_ChainPosClassRule_ -{ - HB_UShort BacktrackGlyphCount; - /* total number of backtrack - classes */ - HB_UShort* Backtrack; /* array of backtrack classes */ - HB_UShort InputGlyphCount; - /* total number of context classes */ - HB_UShort* Input; /* array of context classes */ - HB_UShort LookaheadGlyphCount; - /* total number of lookahead - classes */ - HB_UShort* Lookahead; /* array of lookahead classes */ - HB_UShort PosCount; /* number of PosLookupRecords */ - HB_PosLookupRecord* PosLookupRecord; - /* array of substitution lookups */ -}; - -typedef struct HB_ChainPosClassRule_ HB_ChainPosClassRule; - - -struct HB_ChainPosClassSet_ -{ - HB_UShort ChainPosClassRuleCount; - /* number of ChainPosClassRule - tables */ - HB_ChainPosClassRule* ChainPosClassRule; - /* array of ChainPosClassRule - tables */ -}; - -typedef struct HB_ChainPosClassSet_ HB_ChainPosClassSet; - - -/* The `MaxXXXLength' fields are not defined in the TTO specification - but simplifies the implementation of this format. It holds the - maximal context length used in the specific context rules. */ - -struct HB_ChainContextPosFormat2_ -{ - HB_Coverage Coverage; /* Coverage table */ - - HB_UShort MaxBacktrackLength; - /* maximal backtrack length */ - HB_ClassDefinition BacktrackClassDef; - /* BacktrackClassDef table */ - HB_UShort MaxInputLength; - /* maximal input length */ - HB_ClassDefinition InputClassDef; - /* InputClassDef table */ - HB_UShort MaxLookaheadLength; - /* maximal lookahead length */ - HB_ClassDefinition LookaheadClassDef; - /* LookaheadClassDef table */ - - HB_UShort ChainPosClassSetCount; - /* number of ChainPosClassSet - tables */ - HB_ChainPosClassSet* ChainPosClassSet; - /* array of ChainPosClassSet - tables */ -}; - -typedef struct HB_ChainContextPosFormat2_ HB_ChainContextPosFormat2; - - -struct HB_ChainContextPosFormat3_ -{ - HB_UShort BacktrackGlyphCount; - /* number of backtrack glyphs */ - HB_Coverage* BacktrackCoverage; - /* array of backtrack Coverage - tables */ - HB_UShort InputGlyphCount; - /* number of input glyphs */ - HB_Coverage* InputCoverage; - /* array of input coverage - tables */ - HB_UShort LookaheadGlyphCount; - /* number of lookahead glyphs */ - HB_Coverage* LookaheadCoverage; - /* array of lookahead coverage - tables */ - HB_UShort PosCount; /* number of PosLookupRecords */ - HB_PosLookupRecord* PosLookupRecord; - /* array of substitution lookups */ -}; - -typedef struct HB_ChainContextPosFormat3_ HB_ChainContextPosFormat3; - - -struct HB_ChainContextPos_ -{ - HB_UShort PosFormat; /* 1, 2, or 3 */ - - union - { - HB_ChainContextPosFormat1 ccpf1; - HB_ChainContextPosFormat2 ccpf2; - HB_ChainContextPosFormat3 ccpf3; - } ccpf; -}; - -typedef struct HB_ChainContextPos_ HB_ChainContextPos; - - -#if 0 -/* LookupType 10 */ -struct HB_ExtensionPos_ -{ - HB_UShort PosFormat; /* always 1 */ - HB_UShort LookuptType; /* lookup-type of referenced subtable */ - HB_GPOS_SubTable *subtable; /* referenced subtable */ -}; - -typedef struct HB_ExtensionPos_ HB_ExtensionPos; -#endif - - -union HB_GPOS_SubTable_ -{ - HB_SinglePos single; - HB_PairPos pair; - HB_CursivePos cursive; - HB_MarkBasePos markbase; - HB_MarkLigPos marklig; - HB_MarkMarkPos markmark; - HB_ContextPos context; - HB_ChainContextPos chain; -}; - -typedef union HB_GPOS_SubTable_ HB_GPOS_SubTable; - - - -HB_INTERNAL HB_Error -_HB_GPOS_Load_SubTable( HB_GPOS_SubTable* st, - HB_Stream stream, - HB_UShort lookup_type ); - -HB_INTERNAL void -_HB_GPOS_Free_SubTable( HB_GPOS_SubTable* st, - HB_UShort lookup_type ); - -HB_END_HEADER - -#endif /* HARFBUZZ_GPOS_PRIVATE_H */ diff --git a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gpos.h b/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gpos.h deleted file mode 100755 index 2840dae..0000000 --- a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gpos.h +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2006 Behdad Esfahbod - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_GPOS_H -#define HARFBUZZ_GPOS_H - -#include "harfbuzz-gdef.h" -#include "harfbuzz-buffer.h" - -HB_BEGIN_HEADER - - -/* Lookup types for glyph positioning */ - -#define HB_GPOS_LOOKUP_SINGLE 1 -#define HB_GPOS_LOOKUP_PAIR 2 -#define HB_GPOS_LOOKUP_CURSIVE 3 -#define HB_GPOS_LOOKUP_MARKBASE 4 -#define HB_GPOS_LOOKUP_MARKLIG 5 -#define HB_GPOS_LOOKUP_MARKMARK 6 -#define HB_GPOS_LOOKUP_CONTEXT 7 -#define HB_GPOS_LOOKUP_CHAIN 8 -#define HB_GPOS_LOOKUP_EXTENSION 9 - -/* A pointer to a function which accesses the PostScript interpreter. - Multiple Master fonts need this interface to convert a metric ID - (as stored in an OpenType font version 1.2 or higher) `metric_id' - into a metric value (returned in `metric_value'). - - `data' points to the user-defined structure specified during a - call to HB_GPOS_Register_MM_Function(). - - `metric_value' must be returned as a scaled value (but shouldn't - be rounded). */ - -typedef HB_Error (*HB_MMFunction)(HB_Font font, - HB_UShort metric_id, - HB_Fixed* metric_value, - void* data ); - - -struct HB_GPOSHeader_ -{ - HB_16Dot16 Version; - - HB_ScriptList ScriptList; - HB_FeatureList FeatureList; - HB_LookupList LookupList; - - HB_GDEFHeader* gdef; - - /* this is OpenType 1.2 -- Multiple Master fonts need this - callback function to get various metric values from the - PostScript interpreter. */ - - HB_MMFunction mmfunc; - void* data; -}; - -typedef struct HB_GPOSHeader_ HB_GPOSHeader; -typedef HB_GPOSHeader* HB_GPOS; - - -HB_Error HB_Load_GPOS_Table( HB_Stream stream, - HB_GPOSHeader** gpos, - HB_GDEFHeader* gdef, - HB_Stream gdefStream ); - - -HB_Error HB_Done_GPOS_Table( HB_GPOSHeader* gpos ); - - -HB_Error HB_GPOS_Select_Script( HB_GPOSHeader* gpos, - HB_UInt script_tag, - HB_UShort* script_index ); - -HB_Error HB_GPOS_Select_Language( HB_GPOSHeader* gpos, - HB_UInt language_tag, - HB_UShort script_index, - HB_UShort* language_index, - HB_UShort* req_feature_index ); - -HB_Error HB_GPOS_Select_Feature( HB_GPOSHeader* gpos, - HB_UInt feature_tag, - HB_UShort script_index, - HB_UShort language_index, - HB_UShort* feature_index ); - - -HB_Error HB_GPOS_Query_Scripts( HB_GPOSHeader* gpos, - HB_UInt** script_tag_list ); - -HB_Error HB_GPOS_Query_Languages( HB_GPOSHeader* gpos, - HB_UShort script_index, - HB_UInt** language_tag_list ); - -HB_Error HB_GPOS_Query_Features( HB_GPOSHeader* gpos, - HB_UShort script_index, - HB_UShort language_index, - HB_UInt** feature_tag_list ); - - -HB_Error HB_GPOS_Add_Feature( HB_GPOSHeader* gpos, - HB_UShort feature_index, - HB_UInt property ); - -HB_Error HB_GPOS_Clear_Features( HB_GPOSHeader* gpos ); - - -HB_Error HB_GPOS_Register_MM_Function( HB_GPOSHeader* gpos, - HB_MMFunction mmfunc, - void* data ); - -/* If `dvi' is TRUE, glyph contour points for anchor points and device - tables are ignored -- you will get device independent values. */ - - -HB_Error HB_GPOS_Apply_String( HB_Font font, - HB_GPOSHeader* gpos, - HB_UShort load_flags, - HB_Buffer buffer, - HB_Bool dvi, - HB_Bool r2l ); - -HB_END_HEADER - -#endif /* HARFBUZZ_GPOS_H */ diff --git a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gsub-private.h b/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gsub-private.h deleted file mode 100755 index dd5ffdf..0000000 --- a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gsub-private.h +++ /dev/null @@ -1,476 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2006 Behdad Esfahbod - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_GSUB_PRIVATE_H -#define HARFBUZZ_GSUB_PRIVATE_H - -#include "harfbuzz-impl.h" -#include "harfbuzz-stream-private.h" -#include "harfbuzz-gsub.h" - -HB_BEGIN_HEADER - - -typedef union HB_GSUB_SubTable_ HB_GSUB_SubTable; - -/* LookupType 1 */ - -struct HB_SingleSubstFormat1_ -{ - HB_Short DeltaGlyphID; /* constant added to get - substitution glyph index */ -}; - -typedef struct HB_SingleSubstFormat1_ HB_SingleSubstFormat1; - - -struct HB_SingleSubstFormat2_ -{ - HB_UShort GlyphCount; /* number of glyph IDs in - Substitute array */ - HB_UShort* Substitute; /* array of substitute glyph IDs */ -}; - -typedef struct HB_SingleSubstFormat2_ HB_SingleSubstFormat2; - - -struct HB_SingleSubst_ -{ - HB_UShort SubstFormat; /* 1 or 2 */ - HB_Coverage Coverage; /* Coverage table */ - - union - { - HB_SingleSubstFormat1 ssf1; - HB_SingleSubstFormat2 ssf2; - } ssf; -}; - -typedef struct HB_SingleSubst_ HB_SingleSubst; - - -/* LookupType 2 */ - -struct HB_Sequence_ -{ - HB_UShort GlyphCount; /* number of glyph IDs in the - Substitute array */ - HB_UShort* Substitute; /* string of glyph IDs to - substitute */ -}; - -typedef struct HB_Sequence_ HB_Sequence; - - -struct HB_MultipleSubst_ -{ - HB_UShort SubstFormat; /* always 1 */ - HB_Coverage Coverage; /* Coverage table */ - HB_UShort SequenceCount; /* number of Sequence tables */ - HB_Sequence* Sequence; /* array of Sequence tables */ -}; - -typedef struct HB_MultipleSubst_ HB_MultipleSubst; - - -/* LookupType 3 */ - -struct HB_AlternateSet_ -{ - HB_UShort GlyphCount; /* number of glyph IDs in the - Alternate array */ - HB_UShort* Alternate; /* array of alternate glyph IDs */ -}; - -typedef struct HB_AlternateSet_ HB_AlternateSet; - - -struct HB_AlternateSubst_ -{ - HB_UShort SubstFormat; /* always 1 */ - HB_Coverage Coverage; /* Coverage table */ - HB_UShort AlternateSetCount; - /* number of AlternateSet tables */ - HB_AlternateSet* AlternateSet; /* array of AlternateSet tables */ -}; - -typedef struct HB_AlternateSubst_ HB_AlternateSubst; - - -/* LookupType 4 */ - -struct HB_Ligature_ -{ - HB_UShort LigGlyph; /* glyphID of ligature - to substitute */ - HB_UShort ComponentCount; /* number of components in ligature */ - HB_UShort* Component; /* array of component glyph IDs */ -}; - -typedef struct HB_Ligature_ HB_Ligature; - - -struct HB_LigatureSet_ -{ - HB_UShort LigatureCount; /* number of Ligature tables */ - HB_Ligature* Ligature; /* array of Ligature tables */ -}; - -typedef struct HB_LigatureSet_ HB_LigatureSet; - - -struct HB_LigatureSubst_ -{ - HB_UShort SubstFormat; /* always 1 */ - HB_Coverage Coverage; /* Coverage table */ - HB_UShort LigatureSetCount; /* number of LigatureSet tables */ - HB_LigatureSet* LigatureSet; /* array of LigatureSet tables */ -}; - -typedef struct HB_LigatureSubst_ HB_LigatureSubst; - - -/* needed by both lookup type 5 and 6 */ - -struct HB_SubstLookupRecord_ -{ - HB_UShort SequenceIndex; /* index into current - glyph sequence */ - HB_UShort LookupListIndex; /* Lookup to apply to that pos. */ -}; - -typedef struct HB_SubstLookupRecord_ HB_SubstLookupRecord; - - -/* LookupType 5 */ - -struct HB_SubRule_ -{ - HB_UShort GlyphCount; /* total number of input glyphs */ - HB_UShort SubstCount; /* number of SubstLookupRecord - tables */ - HB_UShort* Input; /* array of input glyph IDs */ - HB_SubstLookupRecord* SubstLookupRecord; - /* array of SubstLookupRecord - tables */ -}; - -typedef struct HB_SubRule_ HB_SubRule; - - -struct HB_SubRuleSet_ -{ - HB_UShort SubRuleCount; /* number of SubRule tables */ - HB_SubRule* SubRule; /* array of SubRule tables */ -}; - -typedef struct HB_SubRuleSet_ HB_SubRuleSet; - - -struct HB_ContextSubstFormat1_ -{ - HB_Coverage Coverage; /* Coverage table */ - HB_UShort SubRuleSetCount; /* number of SubRuleSet tables */ - HB_SubRuleSet* SubRuleSet; /* array of SubRuleSet tables */ -}; - -typedef struct HB_ContextSubstFormat1_ HB_ContextSubstFormat1; - - -struct HB_SubClassRule_ -{ - HB_UShort GlyphCount; /* total number of context classes */ - HB_UShort SubstCount; /* number of SubstLookupRecord - tables */ - HB_UShort* Class; /* array of classes */ - HB_SubstLookupRecord* SubstLookupRecord; - /* array of SubstLookupRecord - tables */ -}; - -typedef struct HB_SubClassRule_ HB_SubClassRule; - - -struct HB_SubClassSet_ -{ - HB_UShort SubClassRuleCount; - /* number of SubClassRule tables */ - HB_SubClassRule* SubClassRule; /* array of SubClassRule tables */ -}; - -typedef struct HB_SubClassSet_ HB_SubClassSet; - - -/* The `MaxContextLength' field is not defined in the TTO specification - but simplifies the implementation of this format. It holds the - maximal context length used in the context rules. */ - -struct HB_ContextSubstFormat2_ -{ - HB_UShort MaxContextLength; - /* maximal context length */ - HB_Coverage Coverage; /* Coverage table */ - HB_ClassDefinition ClassDef; /* ClassDef table */ - HB_UShort SubClassSetCount; - /* number of SubClassSet tables */ - HB_SubClassSet* SubClassSet; /* array of SubClassSet tables */ -}; - -typedef struct HB_ContextSubstFormat2_ HB_ContextSubstFormat2; - - -struct HB_ContextSubstFormat3_ -{ - HB_UShort GlyphCount; /* number of input glyphs */ - HB_UShort SubstCount; /* number of SubstLookupRecords */ - HB_Coverage* Coverage; /* array of Coverage tables */ - HB_SubstLookupRecord* SubstLookupRecord; - /* array of substitution lookups */ -}; - -typedef struct HB_ContextSubstFormat3_ HB_ContextSubstFormat3; - - -struct HB_ContextSubst_ -{ - HB_UShort SubstFormat; /* 1, 2, or 3 */ - - union - { - HB_ContextSubstFormat1 csf1; - HB_ContextSubstFormat2 csf2; - HB_ContextSubstFormat3 csf3; - } csf; -}; - -typedef struct HB_ContextSubst_ HB_ContextSubst; - - -/* LookupType 6 */ - -struct HB_ChainSubRule_ -{ - HB_UShort BacktrackGlyphCount; - /* total number of backtrack glyphs */ - HB_UShort* Backtrack; /* array of backtrack glyph IDs */ - HB_UShort InputGlyphCount; - /* total number of input glyphs */ - HB_UShort* Input; /* array of input glyph IDs */ - HB_UShort LookaheadGlyphCount; - /* total number of lookahead glyphs */ - HB_UShort* Lookahead; /* array of lookahead glyph IDs */ - HB_UShort SubstCount; /* number of SubstLookupRecords */ - HB_SubstLookupRecord* SubstLookupRecord; - /* array of SubstLookupRecords */ -}; - -typedef struct HB_ChainSubRule_ HB_ChainSubRule; - - -struct HB_ChainSubRuleSet_ -{ - HB_UShort ChainSubRuleCount; - /* number of ChainSubRule tables */ - HB_ChainSubRule* ChainSubRule; /* array of ChainSubRule tables */ -}; - -typedef struct HB_ChainSubRuleSet_ HB_ChainSubRuleSet; - - -struct HB_ChainContextSubstFormat1_ -{ - HB_Coverage Coverage; /* Coverage table */ - HB_UShort ChainSubRuleSetCount; - /* number of ChainSubRuleSet tables */ - HB_ChainSubRuleSet* ChainSubRuleSet; - /* array of ChainSubRuleSet tables */ -}; - -typedef struct HB_ChainContextSubstFormat1_ HB_ChainContextSubstFormat1; - - -struct HB_ChainSubClassRule_ -{ - HB_UShort BacktrackGlyphCount; - /* total number of backtrack - classes */ - HB_UShort* Backtrack; /* array of backtrack classes */ - HB_UShort InputGlyphCount; - /* total number of context classes */ - HB_UShort* Input; /* array of context classes */ - HB_UShort LookaheadGlyphCount; - /* total number of lookahead - classes */ - HB_UShort* Lookahead; /* array of lookahead classes */ - HB_UShort SubstCount; /* number of SubstLookupRecords */ - HB_SubstLookupRecord* SubstLookupRecord; - /* array of substitution lookups */ -}; - -typedef struct HB_ChainSubClassRule_ HB_ChainSubClassRule; - - -struct HB_ChainSubClassSet_ -{ - HB_UShort ChainSubClassRuleCount; - /* number of ChainSubClassRule - tables */ - HB_ChainSubClassRule* ChainSubClassRule; - /* array of ChainSubClassRule - tables */ -}; - -typedef struct HB_ChainSubClassSet_ HB_ChainSubClassSet; - - -/* The `MaxXXXLength' fields are not defined in the TTO specification - but simplifies the implementation of this format. It holds the - maximal context length used in the specific context rules. */ - -struct HB_ChainContextSubstFormat2_ -{ - HB_Coverage Coverage; /* Coverage table */ - - HB_UShort MaxBacktrackLength; - /* maximal backtrack length */ - HB_ClassDefinition BacktrackClassDef; - /* BacktrackClassDef table */ - HB_UShort MaxInputLength; - /* maximal input length */ - HB_ClassDefinition InputClassDef; - /* InputClassDef table */ - HB_UShort MaxLookaheadLength; - /* maximal lookahead length */ - HB_ClassDefinition LookaheadClassDef; - /* LookaheadClassDef table */ - - HB_UShort ChainSubClassSetCount; - /* number of ChainSubClassSet - tables */ - HB_ChainSubClassSet* ChainSubClassSet; - /* array of ChainSubClassSet - tables */ -}; - -typedef struct HB_ChainContextSubstFormat2_ HB_ChainContextSubstFormat2; - - -struct HB_ChainContextSubstFormat3_ -{ - HB_UShort BacktrackGlyphCount; - /* number of backtrack glyphs */ - HB_Coverage* BacktrackCoverage; - /* array of backtrack Coverage - tables */ - HB_UShort InputGlyphCount; - /* number of input glyphs */ - HB_Coverage* InputCoverage; - /* array of input coverage - tables */ - HB_UShort LookaheadGlyphCount; - /* number of lookahead glyphs */ - HB_Coverage* LookaheadCoverage; - /* array of lookahead coverage - tables */ - HB_UShort SubstCount; /* number of SubstLookupRecords */ - HB_SubstLookupRecord* SubstLookupRecord; - /* array of substitution lookups */ -}; - -typedef struct HB_ChainContextSubstFormat3_ HB_ChainContextSubstFormat3; - - -struct HB_ChainContextSubst_ -{ - HB_UShort SubstFormat; /* 1, 2, or 3 */ - - union - { - HB_ChainContextSubstFormat1 ccsf1; - HB_ChainContextSubstFormat2 ccsf2; - HB_ChainContextSubstFormat3 ccsf3; - } ccsf; -}; - -typedef struct HB_ChainContextSubst_ HB_ChainContextSubst; - - -#if 0 -/* LookupType 7 */ -struct HB_ExtensionSubst_ -{ - HB_UShort SubstFormat; /* always 1 */ - HB_UShort LookuptType; /* lookup-type of referenced subtable */ - HB_GSUB_SubTable *subtable; /* referenced subtable */ -}; - -typedef struct HB_ExtensionSubst_ HB_ExtensionSubst; -#endif - - -/* LookupType 8 */ -struct HB_ReverseChainContextSubst_ -{ - HB_UShort SubstFormat; /* always 1 */ - HB_Coverage Coverage; /* coverage table for input glyphs */ - HB_UShort BacktrackGlyphCount; /* number of backtrack glyphs */ - HB_Coverage* BacktrackCoverage; /* array of backtrack Coverage - tables */ - HB_UShort LookaheadGlyphCount; /* number of lookahead glyphs */ - HB_Coverage* LookaheadCoverage; /* array of lookahead Coverage - tables */ - HB_UShort GlyphCount; /* number of Glyph IDs */ - HB_UShort* Substitute; /* array of substitute Glyph ID */ -}; - -typedef struct HB_ReverseChainContextSubst_ HB_ReverseChainContextSubst; - - -union HB_GSUB_SubTable_ -{ - HB_SingleSubst single; - HB_MultipleSubst multiple; - HB_AlternateSubst alternate; - HB_LigatureSubst ligature; - HB_ContextSubst context; - HB_ChainContextSubst chain; - HB_ReverseChainContextSubst reverse; -}; - - - - -HB_INTERNAL HB_Error -_HB_GSUB_Load_SubTable( HB_GSUB_SubTable* st, - HB_Stream stream, - HB_UShort lookup_type ); - -HB_INTERNAL void -_HB_GSUB_Free_SubTable( HB_GSUB_SubTable* st, - HB_UShort lookup_type ); - -HB_END_HEADER - -#endif /* HARFBUZZ_GSUB_PRIVATE_H */ diff --git a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gsub.h b/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gsub.h deleted file mode 100755 index 1ca3f0c..0000000 --- a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gsub.h +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2006 Behdad Esfahbod - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_GSUB_H -#define HARFBUZZ_GSUB_H - -#include "harfbuzz-gdef.h" -#include "harfbuzz-buffer.h" - -HB_BEGIN_HEADER - - -/* Lookup types for glyph substitution */ - -#define HB_GSUB_LOOKUP_SINGLE 1 -#define HB_GSUB_LOOKUP_MULTIPLE 2 -#define HB_GSUB_LOOKUP_ALTERNATE 3 -#define HB_GSUB_LOOKUP_LIGATURE 4 -#define HB_GSUB_LOOKUP_CONTEXT 5 -#define HB_GSUB_LOOKUP_CHAIN 6 -#define HB_GSUB_LOOKUP_EXTENSION 7 -#define HB_GSUB_LOOKUP_REVERSE_CHAIN 8 - - -/* A pointer to a function which selects the alternate glyph. `pos' is - the position of the glyph with index `glyphID', `num_alternates' - gives the number of alternates in the `alternates' array. `data' - points to the user-defined structure specified during a call to - HB_GSUB_Register_Alternate_Function(). The function must return an - index into the `alternates' array. */ - -typedef HB_UShort (*HB_AltFunction)(HB_UInt pos, - HB_UShort glyphID, - HB_UShort num_alternates, - HB_UShort* alternates, - void* data ); - - -struct HB_GSUBHeader_ -{ - HB_UInt offset; - - HB_16Dot16 Version; - - HB_ScriptList ScriptList; - HB_FeatureList FeatureList; - HB_LookupList LookupList; - - HB_GDEFHeader* gdef; - - /* the next two fields are used for an alternate substitution callback - function to select the proper alternate glyph. */ - - HB_AltFunction altfunc; - void* data; -}; - -typedef struct HB_GSUBHeader_ HB_GSUBHeader; -typedef HB_GSUBHeader* HB_GSUB; - - -HB_Error HB_Load_GSUB_Table( HB_Stream stream, - HB_GSUBHeader** gsub, - HB_GDEFHeader* gdef, - HB_Stream gdefStream ); - - -HB_Error HB_Done_GSUB_Table( HB_GSUBHeader* gsub ); - - -HB_Error HB_GSUB_Select_Script( HB_GSUBHeader* gsub, - HB_UInt script_tag, - HB_UShort* script_index ); - -HB_Error HB_GSUB_Select_Language( HB_GSUBHeader* gsub, - HB_UInt language_tag, - HB_UShort script_index, - HB_UShort* language_index, - HB_UShort* req_feature_index ); - -HB_Error HB_GSUB_Select_Feature( HB_GSUBHeader* gsub, - HB_UInt feature_tag, - HB_UShort script_index, - HB_UShort language_index, - HB_UShort* feature_index ); - - -HB_Error HB_GSUB_Query_Scripts( HB_GSUBHeader* gsub, - HB_UInt** script_tag_list ); - -HB_Error HB_GSUB_Query_Languages( HB_GSUBHeader* gsub, - HB_UShort script_index, - HB_UInt** language_tag_list ); - -HB_Error HB_GSUB_Query_Features( HB_GSUBHeader* gsub, - HB_UShort script_index, - HB_UShort language_index, - HB_UInt** feature_tag_list ); - - -HB_Error HB_GSUB_Add_Feature( HB_GSUBHeader* gsub, - HB_UShort feature_index, - HB_UInt property ); - -HB_Error HB_GSUB_Clear_Features( HB_GSUBHeader* gsub ); - - -HB_Error HB_GSUB_Register_Alternate_Function( HB_GSUBHeader* gsub, - HB_AltFunction altfunc, - void* data ); - - -HB_Error HB_GSUB_Apply_String( HB_GSUBHeader* gsub, - HB_Buffer buffer ); - - -HB_END_HEADER - -#endif /* HARFBUZZ_GSUB_H */ diff --git a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-impl.h b/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-impl.h deleted file mode 100755 index 2e86168..0000000 --- a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-impl.h +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2006 Behdad Esfahbod - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_IMPL_H -#define HARFBUZZ_IMPL_H - -#include "harfbuzz-global.h" - -#include - -HB_BEGIN_HEADER - -#ifndef HB_INTERNAL -# define HB_INTERNAL -#endif - -#ifndef NULL -# define NULL ((void *)0) -#endif - -#ifndef FALSE -# define FALSE 0 -#endif - -#ifndef TRUE -# define TRUE 1 -#endif - -#ifndef TTAG_GDEF -# define TTAG_GDEF HB_MAKE_TAG( 'G', 'D', 'E', 'F' ) -#endif -#ifndef TTAG_GPOS -# define TTAG_GPOS HB_MAKE_TAG( 'G', 'P', 'O', 'S' ) -#endif -#ifndef TTAG_GSUB -# define TTAG_GSUB HB_MAKE_TAG( 'G', 'S', 'U', 'B' ) -#endif - -#ifndef HB_UNUSED -# define HB_UNUSED(arg) ((arg) = (arg)) -#endif - -#define HB_LIKELY(cond) (cond) -#define HB_UNLIKELY(cond) (cond) - -#define ARRAY_LEN(Array) ((int)(sizeof (Array) / sizeof (Array)[0])) - - - -#define HB_IsHighSurrogate(ucs) \ - (((ucs) & 0xfc00) == 0xd800) - -#define HB_IsLowSurrogate(ucs) \ - (((ucs) & 0xfc00) == 0xdc00) - -#define HB_SurrogateToUcs4(high, low) \ - (((HB_UChar32)(high))<<10) + (low) - 0x35fdc00; - - - - - -#define ALLOC(_ptr,_size,_type) \ - ( (_ptr) = (_type)_hb_alloc( _size, &error ), error != 0 ) - -#define REALLOC(_ptr,_newsz,_type) \ - ( (_ptr) = (_type)_hb_realloc( (_ptr), (_newsz), &error ), error != 0 ) - -#define FREE(_ptr) \ - do { \ - if ( (_ptr) ) \ - { \ - _hb_free( _ptr ); \ - _ptr = NULL; \ - } \ - } while (0) - -#define ALLOC_ARRAY(_ptr,_count,_type) \ - ALLOC(_ptr,(_count)*sizeof(_type),_type*) - -#define REALLOC_ARRAY(_ptr,_newcnt,_type) \ - REALLOC(_ptr,(_newcnt)*sizeof(_type),_type*) - -#define MEM_Copy(dest,source,count) memcpy( (char*)(dest), (const char*)(source), (size_t)(count) ) - -#define ERR_HB(err) _hb_err (err) - - -//HB_INTERNAL -HB_Pointer -_hb_alloc( size_t size, - HB_Error *perror_ ); - -//HB_INTERNAL - HB_Pointer -_hb_realloc( HB_Pointer block, - size_t new_size, - HB_Error *perror_ ); - -//HB_INTERNAL - void -_hb_free( HB_Pointer block ); - - -/* helper func to set a breakpoint on */ -//HB_INTERNAL -HB_Error -_hb_err(HB_Error code); - - -HB_END_HEADER - -#endif /* HARFBUZZ_IMPL_H */ diff --git a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-open-private.h b/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-open-private.h deleted file mode 100755 index 73dd383..0000000 --- a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-open-private.h +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2006 Behdad Esfahbod - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_OPEN_PRIVATE_H -#define HARFBUZZ_OPEN_PRIVATE_H - -#include "harfbuzz-impl.h" -#include "harfbuzz-open.h" -#include "harfbuzz-gsub-private.h" -#include "harfbuzz-gpos-private.h" - -HB_BEGIN_HEADER - - -struct HB_SubTable_ -{ - union - { - HB_GSUB_SubTable gsub; - HB_GPOS_SubTable gpos; - } st; -}; - - -HB_INTERNAL HB_Error -_HB_OPEN_Load_ScriptList( HB_ScriptList* sl, - HB_Stream input ); -HB_INTERNAL HB_Error -_HB_OPEN_Load_FeatureList( HB_FeatureList* fl, - HB_Stream input ); -HB_INTERNAL HB_Error -_HB_OPEN_Load_LookupList( HB_LookupList* ll, - HB_Stream input, - HB_Type type ); - -HB_INTERNAL HB_Error -_HB_OPEN_Load_Coverage( HB_Coverage* c, - HB_Stream input ); -HB_INTERNAL HB_Error -_HB_OPEN_Load_ClassDefinition( HB_ClassDefinition* cd, - HB_UShort limit, - HB_Stream input ); -HB_INTERNAL HB_Error -_HB_OPEN_Load_EmptyOrClassDefinition( HB_ClassDefinition* cd, - HB_UShort limit, - HB_UInt class_offset, - HB_UInt base_offset, - HB_Stream input ); -HB_INTERNAL HB_Error -_HB_OPEN_Load_Device( HB_Device* d, - HB_Stream input ); - -HB_INTERNAL void _HB_OPEN_Free_ScriptList( HB_ScriptList* sl ); -HB_INTERNAL void _HB_OPEN_Free_FeatureList( HB_FeatureList* fl ); -HB_INTERNAL void _HB_OPEN_Free_LookupList( HB_LookupList* ll, - HB_Type type ); - -HB_INTERNAL void _HB_OPEN_Free_Coverage( HB_Coverage* c ); -HB_INTERNAL void _HB_OPEN_Free_ClassDefinition( HB_ClassDefinition* cd ); -HB_INTERNAL void _HB_OPEN_Free_Device( HB_Device* d ); - - - -HB_INTERNAL HB_Error -_HB_OPEN_Coverage_Index( HB_Coverage* c, - HB_UShort glyphID, - HB_UShort* index ); -HB_INTERNAL HB_Error -_HB_OPEN_Get_Class( HB_ClassDefinition* cd, - HB_UShort glyphID, - HB_UShort* klass, - HB_UShort* index ); -HB_INTERNAL HB_Error -_HB_OPEN_Get_Device( HB_Device* d, - HB_UShort size, - HB_Short* value ); - -HB_END_HEADER - -#endif /* HARFBUZZ_OPEN_PRIVATE_H */ diff --git a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-open.h b/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-open.h deleted file mode 100755 index bdc6358..0000000 --- a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-open.h +++ /dev/null @@ -1,282 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2006 Behdad Esfahbod - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_OPEN_H -#define HARFBUZZ_OPEN_H - -#include "harfbuzz-global.h" - -HB_BEGIN_HEADER - -/* Use this if a feature applies to all glyphs */ -#define HB_ALL_GLYPHS 0xFFFF - -#define HB_DEFAULT_LANGUAGE 0xFFFF - -#define HB_MAX_NESTING_LEVEL 100 - - -/* Script list related structures */ - -struct HB_LangSys_ -{ - HB_UShort LookupOrderOffset; /* always 0 for TT Open 1.0 */ - HB_UShort ReqFeatureIndex; /* required FeatureIndex */ - HB_UShort FeatureCount; /* number of Feature indices */ - HB_UShort* FeatureIndex; /* array of Feature indices */ -}; - -typedef struct HB_LangSys_ HB_LangSys; - - -struct HB_LangSysRecord_ -{ - HB_UInt LangSysTag; /* LangSysTag identifier */ - HB_LangSys LangSys; /* LangSys table */ -}; - -typedef struct HB_LangSysRecord_ HB_LangSysRecord; - - -struct HB_ScriptTable_ -{ - HB_LangSys DefaultLangSys; /* DefaultLangSys table */ - HB_UShort LangSysCount; /* number of LangSysRecords */ - HB_LangSysRecord* LangSysRecord; /* array of LangSysRecords */ -}; - -typedef struct HB_ScriptTable_ HB_ScriptTable; - - -struct HB_ScriptRecord_ -{ - HB_UInt ScriptTag; /* ScriptTag identifier */ - HB_ScriptTable Script; /* Script table */ -}; - -typedef struct HB_ScriptRecord_ HB_ScriptRecord; - - -struct HB_ScriptList_ -{ - HB_UShort ScriptCount; /* number of ScriptRecords */ - HB_ScriptRecord* ScriptRecord; /* array of ScriptRecords */ -}; - -typedef struct HB_ScriptList_ HB_ScriptList; - - -/* Feature list related structures */ - -struct HB_Feature_ -{ - HB_UShort FeatureParams; /* always 0 for TT Open 1.0 */ - HB_UShort LookupListCount; /* number of LookupList indices */ - HB_UShort* LookupListIndex; /* array of LookupList indices */ -}; - -typedef struct HB_Feature_ HB_Feature; - - -struct HB_FeatureRecord_ -{ - HB_UInt FeatureTag; /* FeatureTag identifier */ - HB_Feature Feature; /* Feature table */ -}; - -typedef struct HB_FeatureRecord_ HB_FeatureRecord; - - -struct HB_FeatureList_ -{ - HB_UShort FeatureCount; /* number of FeatureRecords */ - HB_FeatureRecord* FeatureRecord; /* array of FeatureRecords */ - HB_UShort* ApplyOrder; /* order to apply features */ - HB_UShort ApplyCount; /* number of elements in ApplyOrder */ -}; - -typedef struct HB_FeatureList_ HB_FeatureList; - - -/* Lookup list related structures */ - -typedef struct HB_SubTable_ HB_SubTable; - - -struct HB_Lookup_ -{ - HB_UShort LookupType; /* Lookup type */ - HB_UShort LookupFlag; /* Lookup qualifiers */ - HB_UShort SubTableCount; /* number of SubTables */ - HB_SubTable* SubTable; /* array of SubTables */ -}; - -typedef struct HB_Lookup_ HB_Lookup; - - -/* The `Properties' field is not defined in the OpenType specification but - is needed for processing lookups. If properties[n] is > 0, the - functions HB_GSUB_Apply_String() resp. HB_GPOS_Apply_String() will - process Lookup[n] for glyphs which have the specific bit not set in - the `properties' field of the input string object. */ - -struct HB_LookupList_ -{ - HB_UShort LookupCount; /* number of Lookups */ - HB_Lookup* Lookup; /* array of Lookup records */ - HB_UInt* Properties; /* array of flags */ -}; - -typedef struct HB_LookupList_ HB_LookupList; - - -/* Possible LookupFlag bit masks. `HB_LOOKUP_FLAG_IGNORE_SPECIAL_MARKS' comes from the - OpenType 1.2 specification; HB_LOOKUP_FLAG_RIGHT_TO_LEFT has been (re)introduced in - OpenType 1.3 -- if set, the last glyph in a cursive attachment - sequence has to be positioned on the baseline -- regardless of the - writing direction. */ - -#define HB_LOOKUP_FLAG_RIGHT_TO_LEFT 0x0001 -#define HB_LOOKUP_FLAG_IGNORE_BASE_GLYPHS 0x0002 -#define HB_LOOKUP_FLAG_IGNORE_LIGATURES 0x0004 -#define HB_LOOKUP_FLAG_IGNORE_MARKS 0x0008 -#define HB_LOOKUP_FLAG_IGNORE_SPECIAL_MARKS 0xFF00 - - -struct HB_CoverageFormat1_ -{ - HB_UShort GlyphCount; /* number of glyphs in GlyphArray */ - HB_UShort* GlyphArray; /* array of glyph IDs */ -}; - -typedef struct HB_CoverageFormat1_ HB_CoverageFormat1; - - -struct HB_RangeRecord_ -{ - HB_UShort Start; /* first glyph ID in the range */ - HB_UShort End; /* last glyph ID in the range */ - HB_UShort StartCoverageIndex; /* coverage index of first - glyph ID in the range */ -}; - -typedef struct HB_RangeRecord_ HB_RangeRecord; - - -struct HB_CoverageFormat2_ -{ - HB_UShort RangeCount; /* number of RangeRecords */ - HB_RangeRecord* RangeRecord; /* array of RangeRecords */ -}; - -typedef struct HB_CoverageFormat2_ HB_CoverageFormat2; - - -struct HB_Coverage_ -{ - HB_UShort CoverageFormat; /* 1 or 2 */ - - union - { - HB_CoverageFormat1 cf1; - HB_CoverageFormat2 cf2; - } cf; -}; - -typedef struct HB_Coverage_ HB_Coverage; - - -struct HB_ClassDefFormat1_ -{ - HB_UShort StartGlyph; /* first glyph ID of the - ClassValueArray */ - HB_UShort GlyphCount; /* size of the ClassValueArray */ - HB_UShort* ClassValueArray; /* array of class values */ -}; - -typedef struct HB_ClassDefFormat1_ HB_ClassDefFormat1; - - -struct HB_ClassRangeRecord_ -{ - HB_UShort Start; /* first glyph ID in the range */ - HB_UShort End; /* last glyph ID in the range */ - HB_UShort Class; /* applied to all glyphs in range */ -}; - -typedef struct HB_ClassRangeRecord_ HB_ClassRangeRecord; - - -struct HB_ClassDefFormat2_ -{ - HB_UShort ClassRangeCount; - /* number of ClassRangeRecords */ - HB_ClassRangeRecord* ClassRangeRecord; - /* array of ClassRangeRecords */ -}; - -typedef struct HB_ClassDefFormat2_ HB_ClassDefFormat2; - - -struct HB_ClassDefinition_ -{ - HB_Bool loaded; - - HB_UShort ClassFormat; /* 1 or 2 */ - - union - { - HB_ClassDefFormat1 cd1; - HB_ClassDefFormat2 cd2; - } cd; -}; - -typedef struct HB_ClassDefinition_ HB_ClassDefinition; - - -struct HB_Device_ -{ - HB_UShort StartSize; /* smallest size to correct */ - HB_UShort EndSize; /* largest size to correct */ - HB_UShort DeltaFormat; /* DeltaValue array data format: - 1, 2, or 3 */ - HB_UShort* DeltaValue; /* array of compressed data */ -}; - -typedef struct HB_Device_ HB_Device; - - -enum HB_Type_ -{ - HB_Type_GSUB, - HB_Type_GPOS -}; - -typedef enum HB_Type_ HB_Type; - - -HB_END_HEADER - -#endif /* HARFBUZZ_OPEN_H */ diff --git a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-shape.h b/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-shape.h deleted file mode 100755 index e4b5f9a..0000000 --- a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-shape.h +++ /dev/null @@ -1,199 +0,0 @@ -/* - * Copyright (C) 2006 Red Hat, Inc. - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Red Hat Author(s): Owen Taylor - */ - -#include - -/* Base Types */ - -typedef hb_uint16 HB_CodePoint; /* UTF-16 codepoint (not character ) */ -typedef char HB_Boolean; -typedef hb_uint32 HB_Fixed; /* 26.6 */ -typedef hb_uint32 HB_Glyph; -typedef hb_uint32 HB_Unichar; - -/* Metrics reported by the font backend for use of the shaper */ -typedef struct _HB_GlyphMetrics HB_GlyphMetrics; -struct _HB_GlyphMetrics -{ - HB_Fixed advance; - - /* Do we need ink/logical extents for the glyph here? */ -}; - -/* - * HB_Font: Abstract font interface. - * First pass of this might just have FT_Face *getFace(); - */ -typedef struct _HB_Font HB_Font; -typedef struct _HB_FontClass HB_FontClass; - -struct HB_FontClass { - HB_Glyph (*charToGlyph)(HB_Font *font, HB_Unichar chr); - void (*getMetrics)(HB_Font *font, HB_Glyph glyph, HB_GlyphMetrics *metrics); - HB_Boolean (*getSFontTable)(HB_Font *font, void **cookie, char **start, int *len); - HB_Boolean (*freeSFontTable)(void **cookie); -}; - -struct _HB_Font { - HB_FontClass *clazz; -}; - -/* - * Language tags, of the form en-us; represented as interned, canonicalized - * strings. hb_language_from_string("en_US"), hb_language_from_string("en-us") - * both return the same (pointer-comparable) HB_Language). - */ -typedef struct HB_Language_ *HB_Language; - -HB_Language hb_language_from_string(const char *str); -const char *hb_language_to_string(HB_Language language); - -/* Special treatment for the edges of runs. - */ -typedef enum { - HB_RUN_EDGE_LINE_VISUAL_EDGE = 1 << 0, - HB_RUN_EDGE_LINE_LOGICAL_EDGE = 1 << 1, - HB_RUN_EDGE_LINE_ADD_HYPHEN = 1 << 2 /* ???? */ -} HB_RunEdge; - -/* Defines optional informaiton in HB_ShapeInput; this allows extension - * of HB_ShapeInput while keeping binary compatibility - */ -typedef enum { - HB_SHAPE_START_TYPE = 1 << 0, - HB_SHAPE_END_TYPE = 1 << 1 -} HB_ShapeFlags; - -/* Attributes types are described by "interned strings"; this is a little - * annoying if you want to write a switch statement, but keeps things - * simple. - */ -typedef struct _HB_AttributeType *HB_AttributeType; - -HB_AttributeType hb_attribute_type_from_string(const char *str); -const char *hb_attribute_type_to_string(HB_AttributeType attribute_type); - -struct HB_Attribute { - HB_AttributeType type; - int start; - int end; -}; - - -/** - * You could handle this like HB_Language, but an enum seems a little nicer; - * another approach would be to use OpenType script tags. - */ -typedef enum { - HB_SCRIPT_LATIN - /* ... */ -} HB_ShapeScript; - -/* This is just the subset of direction information needed by the shaper */ -typedef enum { - HB_DIRECTION_LTR, - HB_DIRECTION_RTL, - HB_DIRECTION_TTB -} HB_Direction; - -typedef struct _HB_ShapeInput HB_ShapeInput; -struct _HB_ShapeInput { - /* Defines what fields the caller has initialized - fields not in - * the enum are mandatory. - */ - HB_ShapeFlags flags; - - HB_CodePoint *text; - int length; /* total length of text to shape */ - int shape_offset; /* start of section to shape */ - int shape_length; /* number of code points to shape */ - - HB_Direction direction; - HB_ShapeScript script; - HB_Language language; - - HB_AttributeType *attributes; - int n_attributes; - - HB_RunEdge start_type; - HB_RunEdge end_type; -}; - -struct HB_GlyphItem { - HB_Glyph glyph; - - HB_Fixed x_offset; - HB_Fixed y_offset; - HB_Fixed advance; - - /* Add kashida information, etc, here */ -}; - -typedef enum { - HB_RESULT_SUCCESS, - HB_RESULT_NO_MEMORY, - HB_SHAPE_RESULT_FAILED -} HB_Result; - -/* - * Buffer for output - */ -typedef struct _HB_GlyphBuffer HB_GlyphBuffer; -struct _HB_GlyphBuffer { - int glyph_item_size; - int total_glyphs; - - int *log_clusters; /* Uniscribe style */ - int cluster_space; - - int glyph_space; - void *glyph_buffer; -}; - -/* Making this self-allocating simplifies writing shapers and - * also keeps things easier for caller. item_size passed in - * must be at least sizeof(HB_GlyphItem) but can be bigger, - * to accomodate application structures that extend HB_GlyphItem. - * The allocated items will be zero-initialized. - * - * (Hack: Harfbuzz could choose to use even a *bigger* item size - * and stick internal information before the public item structure. - * This hack could possibly be used to unify this with HB_Buffer) - */ -HB_GlyphBuffer *hb_glyph_buffer_new (size_t item_size); -void hb_glyph_buffer_clear (HB_GlyphBuffer *buf); -HB_Result hb_glyph_buffer_extend_glyphs (HB_GlyphBuffer *buf, int n_items); -HB_Result hb_glyph_buffer_extend_clusters (HB_GlyphBuffer *buf, int n_clusters); -void hb_glyph_buffer_free (HB_GlyphBuffer *buf); - - -/* Accessor for a particular glyph */ -#define HB_GLYPH_BUFFER_ITEM(buffer, index) - -/* - * Main shaping function - */ -HB_Result hb_shape(HB_ShapeInput *input, HB_GlyphBuffer *output); diff --git a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-shaper-private.h b/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-shaper-private.h deleted file mode 100755 index e4e7ebc..0000000 --- a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-shaper-private.h +++ /dev/null @@ -1,164 +0,0 @@ -/* - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_SHAPER_PRIVATE_H -#define HARFBUZZ_SHAPER_PRIVATE_H - -HB_BEGIN_HEADER -enum { - C_DOTTED_CIRCLE = 0x25CC -}; - -typedef enum -{ - HB_Combining_BelowLeftAttached = 200, - HB_Combining_BelowAttached = 202, - HB_Combining_BelowRightAttached = 204, - HB_Combining_LeftAttached = 208, - HB_Combining_RightAttached = 210, - HB_Combining_AboveLeftAttached = 212, - HB_Combining_AboveAttached = 214, - HB_Combining_AboveRightAttached = 216, - - HB_Combining_BelowLeft = 218, - HB_Combining_Below = 220, - HB_Combining_BelowRight = 222, - HB_Combining_Left = 224, - HB_Combining_Right = 226, - HB_Combining_AboveLeft = 228, - HB_Combining_Above = 230, - HB_Combining_AboveRight = 232, - - HB_Combining_DoubleBelow = 233, - HB_Combining_DoubleAbove = 234, - HB_Combining_IotaSubscript = 240 -} HB_CombiningClass; - -typedef enum { - CcmpProperty = 0x1, - InitProperty = 0x2, - IsolProperty = 0x4, - FinaProperty = 0x8, - MediProperty = 0x10, - RligProperty = 0x20, - CaltProperty = 0x40, - LigaProperty = 0x80, - DligProperty = 0x100, - CswhProperty = 0x200, - MsetProperty = 0x400, - - /* used by indic and myanmar shaper */ - NuktaProperty = 0x4, - AkhantProperty = 0x8, - RephProperty = 0x10, - PreFormProperty = 0x20, - BelowFormProperty = 0x40, - AboveFormProperty = 0x80, - HalfFormProperty = 0x100, - PostFormProperty = 0x200, - VattuProperty = 0x400, - PreSubstProperty = 0x800, - BelowSubstProperty = 0x1000, - AboveSubstProperty = 0x2000, - PostSubstProperty = 0x4000, - HalantProperty = 0x8000, - CligProperty = 0x10000 - -} HB_OpenTypeProperty; - -/* return true if ok. */ -typedef HB_Bool (*HB_ShapeFunction)(HB_ShaperItem *shaper_item); -typedef void (*HB_AttributeFunction)(HB_Script script, const HB_UChar16 *string, hb_uint32 from, hb_uint32 len, HB_CharAttributes *attributes); - -typedef struct { - HB_ShapeFunction shape; - HB_AttributeFunction charAttributes; -} HB_ScriptEngine; - -extern const HB_ScriptEngine HB_ScriptEngines[]; - -extern HB_Bool HB_BasicShape(HB_ShaperItem *shaper_item); -extern HB_Bool HB_TibetanShape(HB_ShaperItem *shaper_item); -extern HB_Bool HB_HebrewShape(HB_ShaperItem *shaper_item); -extern HB_Bool HB_ArabicShape(HB_ShaperItem *shaper_item); -extern HB_Bool HB_HangulShape(HB_ShaperItem *shaper_item); -extern HB_Bool HB_MyanmarShape(HB_ShaperItem *shaper_item); -extern HB_Bool HB_KhmerShape(HB_ShaperItem *shaper_item); -extern HB_Bool HB_IndicShape(HB_ShaperItem *shaper_item); - -extern void HB_TibetanAttributes(HB_Script script, const HB_UChar16 *string, hb_uint32 from, hb_uint32 len, HB_CharAttributes *attributes); - -extern void HB_MyanmarAttributes(HB_Script script, const HB_UChar16 *string, hb_uint32 from, hb_uint32 len, HB_CharAttributes *attributes); - -extern void HB_KhmerAttributes(HB_Script script, const HB_UChar16 *string, hb_uint32 from, hb_uint32 len, HB_CharAttributes *attributes); - -extern void HB_IndicAttributes(HB_Script script, const HB_UChar16 *string, hb_uint32 from, hb_uint32 len, HB_CharAttributes *attributes); - -extern void HB_ThaiAttributes(HB_Script script, const HB_UChar16 *string, hb_uint32 from, hb_uint32 len, HB_CharAttributes *attributes); - -typedef struct { - hb_uint32 tag; - hb_uint32 property; -} HB_OpenTypeFeature; - -#define PositioningProperties 0x80000000 - -HB_Bool HB_SelectScript(HB_ShaperItem *item, const HB_OpenTypeFeature *features); - -HB_Bool HB_OpenTypeShape(HB_ShaperItem *item, const hb_uint32 *properties); -HB_Bool HB_OpenTypePosition(HB_ShaperItem *item, int availableGlyphs, HB_Bool doLogClusters); - -void HB_HeuristicPosition(HB_ShaperItem *item); -void HB_HeuristicSetGlyphAttributes(HB_ShaperItem *item); - -#define HB_IsControlChar(uc) \ - ((uc >= 0x200b && uc <= 0x200f /* ZW Space, ZWNJ, ZWJ, LRM and RLM */) \ - || (uc >= 0x2028 && uc <= 0x202f /* LS, PS, LRE, RLE, PDF, LRO, RLO, NNBSP */) \ - || (uc >= 0x206a && uc <= 0x206f /* ISS, ASS, IAFS, AFS, NADS, NODS */)) - -HB_Bool HB_ConvertStringToGlyphIndices(HB_ShaperItem *shaper_item); - -#define HB_GetGlyphAdvances(shaper_item) \ - shaper_item->font->klass->getGlyphAdvances(shaper_item->font, \ - shaper_item->glyphs, shaper_item->num_glyphs, \ - shaper_item->advances, \ - shaper_item->face->current_flags); - -#define HB_DECLARE_STACKARRAY(Type, Name) \ - Type stack##Name[64]; \ - Type *Name = stack##Name; - -#define HB_INIT_STACKARRAY(Type, Name, Length) \ - if ((Length) >= 64) \ - Name = (Type *)malloc((Length) * sizeof(Type)); - -#define HB_STACKARRAY(Type, Name, Length) \ - HB_DECLARE_STACKARRAY(Type, Name) \ - HB_INIT_STACKARRAY(Type, Name, Length) - -#define HB_FREE_STACKARRAY(Name) \ - if (stack##Name != Name) \ - free(Name); - -HB_END_HEADER - -#endif diff --git a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-shaper.h b/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-shaper.h deleted file mode 100755 index 9bdc8c6..0000000 --- a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-shaper.h +++ /dev/null @@ -1,283 +0,0 @@ -/* - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_SHAPER_H -#define HARFBUZZ_SHAPER_H - -#include "harfbuzz-global.h" -#include "harfbuzz-gdef.h" -#include "harfbuzz-gpos.h" -#include "harfbuzz-gsub.h" -#include "harfbuzz-external.h" -#include "harfbuzz-stream-private.h" - -HB_BEGIN_HEADER - -typedef enum { - HB_Script_Common, - HB_Script_Greek, - HB_Script_Cyrillic, - HB_Script_Armenian, - HB_Script_Hebrew, - HB_Script_Arabic, - HB_Script_Syriac, - HB_Script_Thaana, - HB_Script_Devanagari, - HB_Script_Bengali, - HB_Script_Gurmukhi, - HB_Script_Gujarati, - HB_Script_Oriya, - HB_Script_Tamil, - HB_Script_Telugu, - HB_Script_Kannada, - HB_Script_Malayalam, - HB_Script_Sinhala, - HB_Script_Thai, - HB_Script_Lao, - HB_Script_Tibetan, - HB_Script_Myanmar, - HB_Script_Georgian, - HB_Script_Hangul, - HB_Script_Ogham, - HB_Script_Runic, - HB_Script_Khmer, - HB_Script_Nko, - HB_Script_Inherited, - HB_ScriptCount = HB_Script_Inherited - /* - HB_Script_Latin = Common, - HB_Script_Ethiopic = Common, - HB_Script_Cherokee = Common, - HB_Script_CanadianAboriginal = Common, - HB_Script_Mongolian = Common, - HB_Script_Hiragana = Common, - HB_Script_Katakana = Common, - HB_Script_Bopomofo = Common, - HB_Script_Han = Common, - HB_Script_Yi = Common, - HB_Script_OldItalic = Common, - HB_Script_Gothic = Common, - HB_Script_Deseret = Common, - HB_Script_Tagalog = Common, - HB_Script_Hanunoo = Common, - HB_Script_Buhid = Common, - HB_Script_Tagbanwa = Common, - HB_Script_Limbu = Common, - HB_Script_TaiLe = Common, - HB_Script_LinearB = Common, - HB_Script_Ugaritic = Common, - HB_Script_Shavian = Common, - HB_Script_Osmanya = Common, - HB_Script_Cypriot = Common, - HB_Script_Braille = Common, - HB_Script_Buginese = Common, - HB_Script_Coptic = Common, - HB_Script_NewTaiLue = Common, - HB_Script_Glagolitic = Common, - HB_Script_Tifinagh = Common, - HB_Script_SylotiNagri = Common, - HB_Script_OldPersian = Common, - HB_Script_Kharoshthi = Common, - HB_Script_Balinese = Common, - HB_Script_Cuneiform = Common, - HB_Script_Phoenician = Common, - HB_Script_PhagsPa = Common, - */ -} HB_Script; - -typedef struct -{ - hb_uint32 pos; - hb_uint32 length; - HB_Script script; - hb_uint8 bidiLevel; -} HB_ScriptItem; - -typedef enum { - HB_NoBreak, - HB_SoftHyphen, - HB_Break, - HB_ForcedBreak -} HB_LineBreakType; - - -typedef struct { - /*HB_LineBreakType*/ unsigned lineBreakType :2; - /*HB_Bool*/ unsigned whiteSpace :1; /* A unicode whitespace character, except NBSP, ZWNBSP */ - /*HB_Bool*/ unsigned charStop :1; /* Valid cursor position (for left/right arrow) */ - /*HB_Bool*/ unsigned wordBoundary :1; - /*HB_Bool*/ unsigned sentenceBoundary :1; - unsigned unused :2; -} HB_CharAttributes; - -void HB_GetCharAttributes(const HB_UChar16 *string, hb_uint32 stringLength, - const HB_ScriptItem *items, hb_uint32 numItems, - HB_CharAttributes *attributes); - -/* requires HB_GetCharAttributes to be called before */ -void HB_GetWordBoundaries(const HB_UChar16 *string, hb_uint32 stringLength, - const HB_ScriptItem *items, hb_uint32 numItems, - HB_CharAttributes *attributes); - -/* requires HB_GetCharAttributes to be called before */ -void HB_GetSentenceBoundaries(const HB_UChar16 *string, hb_uint32 stringLength, - const HB_ScriptItem *items, hb_uint32 numItems, - HB_CharAttributes *attributes); - - -typedef enum { - HB_LeftToRight = 0, - HB_RightToLeft = 1 -} HB_StringToGlyphsFlags; - -typedef enum { - HB_ShaperFlag_Default = 0, - HB_ShaperFlag_NoKerning = 1, - HB_ShaperFlag_UseDesignMetrics = 2 -} HB_ShaperFlag; - -/* - highest value means highest priority for justification. Justification is done by first inserting kashidas - starting with the highest priority positions, then stretching spaces, afterwards extending inter char - spacing, and last spacing between arabic words. - NoJustification is for example set for arabic where no Kashida can be inserted or for diacritics. -*/ -typedef enum { - HB_NoJustification= 0, /* Justification can't be applied after this glyph */ - HB_Arabic_Space = 1, /* This glyph represents a space inside arabic text */ - HB_Character = 2, /* Inter-character justification point follows this glyph */ - HB_Space = 4, /* This glyph represents a blank outside an Arabic run */ - HB_Arabic_Normal = 7, /* Normal Middle-Of-Word glyph that connects to the right (begin) */ - HB_Arabic_Waw = 8, /* Next character is final form of Waw/Ain/Qaf/Fa */ - HB_Arabic_BaRa = 9, /* Next two chars are Ba + Ra/Ya/AlefMaksura */ - HB_Arabic_Alef = 10, /* Next character is final form of Alef/Tah/Lam/Kaf/Gaf */ - HB_Arabic_HaaDal = 11, /* Next character is final form of Haa/Dal/Taa Marbutah */ - HB_Arabic_Seen = 12, /* Initial or Medial form Of Seen/Sad */ - HB_Arabic_Kashida = 13 /* Kashida(U+640) in middle of word */ -} HB_JustificationClass; - -/* This structure is binary compatible with Uniscribe's SCRIPT_VISATTR. Would be nice to keep - * it like that. If this is a problem please tell Trolltech :) - */ -typedef struct { - unsigned justification :4; /* Justification class */ - unsigned clusterStart :1; /* First glyph of representation of cluster */ - unsigned mark :1; /* needs to be positioned around base char */ - unsigned zeroWidth :1; /* ZWJ, ZWNJ etc, with no width */ - unsigned dontPrint :1; - unsigned combiningClass :8; -} HB_GlyphAttributes; - -typedef struct HB_FaceRec_ { - HB_Bool isSymbolFont; - - HB_GDEF gdef; - HB_GSUB gsub; - HB_GPOS gpos; - HB_Bool supported_scripts[HB_ScriptCount]; - HB_Buffer buffer; - HB_Script current_script; - int current_flags; /* HB_ShaperFlags */ - HB_Bool has_opentype_kerning; - HB_Bool glyphs_substituted; - HB_GlyphAttributes *tmpAttributes; - unsigned int *tmpLogClusters; - int length; - int orig_nglyphs; -} HB_FaceRec; - -typedef HB_Error (*HB_GetFontTableFunc)(void *font, HB_Tag tag, HB_Byte *buffer, HB_UInt *length); - -HB_Face HB_NewFace(void *font, HB_GetFontTableFunc tableFunc); -void HB_FreeFace(HB_Face face); - -typedef struct { - HB_Fixed x, y; - HB_Fixed width, height; - HB_Fixed xOffset, yOffset; -} HB_GlyphMetrics; - -typedef enum { - HB_FontAscent -} HB_FontMetric; - -typedef struct { - HB_Bool (*convertStringToGlyphIndices)(HB_Font font, const HB_UChar16 *string, hb_uint32 length, HB_Glyph *glyphs, hb_uint32 *numGlyphs, HB_Bool rightToLeft); - void (*getGlyphAdvances)(HB_Font font, const HB_Glyph *glyphs, hb_uint32 numGlyphs, HB_Fixed *advances, int flags /*HB_ShaperFlag*/); - HB_Bool (*canRender)(HB_Font font, const HB_UChar16 *string, hb_uint32 length); - /* implementation needs to make sure to load a scaled glyph, so /no/ FT_LOAD_NO_SCALE */ - HB_Error (*getPointInOutline)(HB_Font font, HB_Glyph glyph, int flags /*HB_ShaperFlag*/, hb_uint32 point, HB_Fixed *xpos, HB_Fixed *ypos, hb_uint32 *nPoints); - void (*getGlyphMetrics)(HB_Font font, HB_Glyph glyph, HB_GlyphMetrics *metrics); - HB_Fixed (*getFontMetric)(HB_Font font, HB_FontMetric metric); -} HB_FontClass; - -typedef struct HB_Font_ { - const HB_FontClass *klass; - - /* Metrics */ - HB_UShort x_ppem, y_ppem; - HB_16Dot16 x_scale, y_scale; - - void *userData; -} HB_FontRec; - -typedef struct HB_ShaperItem_ HB_ShaperItem; - -struct HB_ShaperItem_ { - const HB_UChar16 *string; /* input: the Unicode UTF16 text to be shaped */ - hb_uint32 stringLength; /* input: the length of the input in 16-bit words */ - HB_ScriptItem item; /* input: the current run to be shaped: a run of text all in the same script that is a substring of */ - HB_Font font; /* input: the font: scale, units and function pointers supplying glyph indices and metrics */ - HB_Face face; /* input: the shaper state; current script, access to the OpenType tables , etc. */ - int shaperFlags; /* input (unused) should be set to 0; intended to support flags defined in HB_ShaperFlag */ - HB_Bool glyphIndicesPresent; /* input: true if the array contains glyph indices ready to be shaped */ - hb_uint32 initialGlyphCount; /* input: if glyphIndicesPresent is true, the number of glyph indices in the array */ - - hb_uint32 num_glyphs; /* input: capacity of output arrays , , , , and ; */ - /* output: required capacity (may be larger than actual capacity) */ - - HB_Glyph *glyphs; /* output: indices of shaped glyphs */ - HB_GlyphAttributes *attributes; /* output: glyph attributes */ - HB_Fixed *advances; /* output: advances */ - HB_FixedPoint *offsets; /* output: offsets */ - unsigned short *log_clusters; /* output: for each output glyph, the index in the input of the start of its logical cluster */ - - /* internal */ - HB_Bool kerning_applied; /* output: true if kerning was applied by the shaper */ -}; - -HB_Bool HB_ShapeItem(HB_ShaperItem *item); - - -extern int tibetan_nextSyllableBoundary(const HB_UChar16 *s, int start, int end, HB_Bool *invalid) ; -extern int myanmar_nextSyllableBoundary(const HB_UChar16 *s, int start, int end, HB_Bool *invalid) ; -extern int khmer_nextSyllableBoundary(const HB_UChar16 *s, int start, int end, HB_Bool *invalid) ; -//#ifdef __cplusplus -//extern "C" //{ int indic_nextSyllableBoundary(HB_Script script, const HB_UChar16 *s, int start, int end, bool *invalid) ; -//#endif - -extern int indic_nextSyllableBoundary(HB_Script script, const HB_UChar16 *s, int start, int end, HB_Bool *invalid) ; - - -HB_END_HEADER - -#endif diff --git a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-stream-private.h b/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-stream-private.h deleted file mode 100755 index 7dd41ad..0000000 --- a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-stream-private.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2006 Behdad Esfahbod - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_STREAM_PRIVATE_H -#define HARFBUZZ_STREAM_PRIVATE_H - -#include "harfbuzz-impl.h" -#include "harfbuzz-stream.h" - -HB_BEGIN_HEADER - -HB_INTERNAL void -_hb_close_stream( HB_Stream stream ); - -HB_INTERNAL HB_Int -_hb_stream_pos( HB_Stream stream ); - -HB_INTERNAL HB_Error -_hb_stream_seek( HB_Stream stream, - HB_UInt pos ); - -HB_INTERNAL HB_Error -_hb_stream_frame_enter( HB_Stream stream, - HB_UInt size ); - -HB_INTERNAL void -_hb_stream_frame_exit( HB_Stream stream ); - -/* convenience macros */ - -#define SET_ERR(c) ( (error = (c)) != 0 ) - -#define GOTO_Table(tag) (0) -#define FILE_Pos() _hb_stream_pos( stream ) -#define FILE_Seek(pos) SET_ERR( _hb_stream_seek( stream, pos ) ) -#define ACCESS_Frame(size) SET_ERR( _hb_stream_frame_enter( stream, size ) ) -#define FORGET_Frame() _hb_stream_frame_exit( stream ) - -#define GET_Byte() (*stream->cursor++) -#define GET_Short() (stream->cursor += 2, (HB_Short)( \ - (*(((HB_Byte*)stream->cursor)-2) << 8) | \ - *(((HB_Byte*)stream->cursor)-1) \ - )) -#define GET_Long() (stream->cursor += 4, (HB_Int)( \ - (*(((HB_Byte*)stream->cursor)-4) << 24) | \ - (*(((HB_Byte*)stream->cursor)-3) << 16) | \ - (*(((HB_Byte*)stream->cursor)-2) << 8) | \ - *(((HB_Byte*)stream->cursor)-1) \ - )) - - -#define GET_Char() ((HB_Char)GET_Byte()) -#define GET_UShort() ((HB_UShort)GET_Short()) -#define GET_ULong() ((HB_UInt)GET_Long()) -#define GET_Tag4() GET_ULong() - -HB_END_HEADER - -#endif /* HARFBUZZ_STREAM_PRIVATE_H */ diff --git a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-stream.h b/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-stream.h deleted file mode 100755 index 07578d5..0000000 --- a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-stream.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_STREAM_H -#define HARFBUZZ_STREAM_H - -#include "harfbuzz-global.h" - -HB_BEGIN_HEADER - -typedef struct HB_StreamRec_ -{ - HB_Byte* base; - HB_UInt size; - HB_UInt pos; - - HB_Byte* cursor; -} HB_StreamRec; - - -HB_END_HEADER - -#endif diff --git a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz.h b/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz.h deleted file mode 100755 index 8d86779..0000000 --- a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (C) 1998-2004 David Turner and Werner Lemberg - * Copyright (C) 2006 Behdad Esfahbod - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HARFBUZZ_H -#define HARFBUZZ_H - -#include "harfbuzz-external.h" -#include "harfbuzz-impl.h" -#include "harfbuzz-global.h" -#include "harfbuzz-buffer.h" -#include "harfbuzz-gdef.h" -#include "harfbuzz-gsub.h" -#include "harfbuzz-gpos.h" -#include "harfbuzz-open.h" -#include "harfbuzz-shaper.h" - -#define HB_DOTTED_CIRCLE 0x25CC /** DottedCircle used with dependent Matras */ -#define HB_ZWJ 0x200D /** Zero Width Joiner */ -#define HB_ZWNJ 0x200C /** Zero Width Non-Joiner */ - -#define HB_INITIAL_NO_OF_GLYPH 64 - -extern HB_Error hb_getScriptID(HB_UShort value, HB_Script *scriptID) ; -extern HB_Error hb_getTextWithScriptID(HB_UShort *text, int textLen, HB_Script *scriptID, int *scriptLen) ; -extern int hb_getSyllableLength(HB_UShort *text, int textLen, HB_Script *scriptID) ; - -#endif /* HARFBUZZ_OPEN_H */ diff --git a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/hb_unicode_tables.h b/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/hb_unicode_tables.h deleted file mode 100755 index 0ff1a4e..0000000 --- a/harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/hb_unicode_tables.h +++ /dev/null @@ -1,3312 +0,0 @@ - -/* - * Copyright (C) 2010 Samsung India Software Operations Pvt. Ltd. - * - * This is part of HarfBuzz, an OpenType Layout engine library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef __hb_unicode_tables_h__ -#define __hb_unicode_tables_h__ - -#include "math.h" -#include "harfbuzz-shaper.h" -#include "harfbuzz-shaper-private.h" - -typedef struct -{ - HB_UShort scriptID;//it can be sript id if subtable is null, else size of subtable - HB_Script *pSubTable; - -}unicodeScriptTableStruct; - -HB_Script subTableThanaSyriac[] = -{ - HB_Script_Syriac,//0x00 - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac,//0x08 - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - - HB_Script_Syriac,//0x10 - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - - HB_Script_Syriac,//0x18 - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - - HB_Script_Syriac,//0x20 - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac,//0x28 - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - - HB_Script_Syriac,//0x30 - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac,//0x38 - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac,//0x40 - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - - HB_Script_Syriac,//0x48 - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac, - HB_Script_Syriac,//0x4f - - HB_Script_Common,//0x50 - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Common,//0x58 - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Common,//0x60 - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Common,//0x68 - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Common,//0x70 - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Common,//0x78 - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - HB_Script_Common, - - HB_Script_Thaana,//0x80 - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana,//0x88 - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana,//0x90 - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana,//0x98 - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana,//0xa0 - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana,//0xa8 - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana,//0xb0 - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana,//0xb8 - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana, - HB_Script_Thaana,//0xbf -}; - -HB_Script subTableDevaBengali[] = -{ - HB_Script_Devanagari,//0x00 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari,//0x08 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - - HB_Script_Devanagari,//0x10 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - - HB_Script_Devanagari,//0x18 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - - HB_Script_Devanagari,//0x20 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari,//0x28 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - - HB_Script_Devanagari,//0x30 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari,//0x38 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari,//0x40 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - - HB_Script_Devanagari,//0x48 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari,//0x4f - - HB_Script_Devanagari,//0x50 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari,//0x58 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - - HB_Script_Devanagari,//0x60 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - - HB_Script_Devanagari,//0x68 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - - HB_Script_Devanagari,//0x70 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari,//0x78 - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari, - HB_Script_Devanagari,//0x7f - - - HB_Script_Bengali,//0x80 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali,//0x88 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali,//0x90 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - - HB_Script_Bengali,//0x98 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali,//0xa0 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali,//0xa8 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali,//0xb0 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - - HB_Script_Bengali,//0xb8 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali,//0xc0 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - - HB_Script_Bengali,//0xc8 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali,//0xd0 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali,//0xd8 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali,//0xe0 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - - HB_Script_Bengali,//0xe8 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali,//0xf0 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali,//0xf8 - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali, - HB_Script_Bengali,//0xff - -}; - - -HB_Script subTableGuruGuarati[]= -{ - HB_Script_Gurmukhi,//0x00 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi,//0x08 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - - HB_Script_Gurmukhi,//0x10 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - - HB_Script_Gurmukhi,//0x18 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - - HB_Script_Gurmukhi,//0x20 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi,//0x28 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - - HB_Script_Gurmukhi,//0x30 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi,//0x38 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi,//0x40 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - - HB_Script_Gurmukhi,//0x48 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi,//0x4f - - HB_Script_Gurmukhi,//0x50 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi,//0x58 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - - HB_Script_Gurmukhi,//0x60 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - - HB_Script_Gurmukhi,//0x68 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - - HB_Script_Gurmukhi,//0x70 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi,//0x78 - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi, - HB_Script_Gurmukhi,//0x7f - - - HB_Script_Gujarati,//0x80 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati,//0x88 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati,//0x90 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - - HB_Script_Gujarati,//0x98 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati,//0xa0 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati,//0xa8 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati,//0xb0 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - - HB_Script_Gujarati,//0xb8 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati,//0xc0 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - - HB_Script_Gujarati,//0xc8 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati,//0xd0 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati,//0xd8 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati,//0xe0 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - - HB_Script_Gujarati,//0xe8 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati,//0xf0 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati,//0xf8 - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati, - HB_Script_Gujarati,//0xff - -}; - -HB_Script subTableOriyaTamil[]= -{ - HB_Script_Oriya,//0x00 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya,//0x08 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - - HB_Script_Oriya,//0x10 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - - HB_Script_Oriya,//0x18 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - - HB_Script_Oriya,//0x20 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya,//0x28 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - - HB_Script_Oriya,//0x30 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya,//0x38 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya,//0x40 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - - HB_Script_Oriya,//0x48 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya,//0x4f - - HB_Script_Oriya,//0x50 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya,//0x58 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - - HB_Script_Oriya,//0x60 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - - HB_Script_Oriya,//0x68 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - - HB_Script_Oriya,//0x70 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya,//0x78 - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya, - HB_Script_Oriya,//0x7f - - - HB_Script_Tamil,//0x80 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil,//0x88 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil,//0x90 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - - HB_Script_Tamil,//0x98 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil,//0xa0 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil,//0xa8 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil,//0xb0 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - - HB_Script_Tamil,//0xb8 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil,//0xc0 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - - HB_Script_Tamil,//0xc8 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil,//0xd0 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil,//0xd8 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil,//0xe0 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - - HB_Script_Tamil,//0xe8 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil,//0xf0 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil,//0xf8 - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil, - HB_Script_Tamil,//0xff - -}; - - -HB_Script subTableTelukannada[]= -{ - HB_Script_Telugu,//0x00 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu,//0x08 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - - HB_Script_Telugu,//0x10 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - - HB_Script_Telugu,//0x18 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - - HB_Script_Telugu,//0x20 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu,//0x28 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - - HB_Script_Telugu,//0x30 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu,//0x38 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu,//0x40 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - - HB_Script_Telugu,//0x48 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu,//0x4f - - HB_Script_Telugu,//0x50 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu,//0x58 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - - HB_Script_Telugu,//0x60 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - - HB_Script_Telugu,//0x68 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - - HB_Script_Telugu,//0x70 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu,//0x78 - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu, - HB_Script_Telugu,//0x7f - - - HB_Script_Kannada,//0x80 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada,//0x88 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada,//0x90 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - - HB_Script_Kannada,//0x98 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada,//0xa0 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada,//0xa8 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada,//0xb0 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - - HB_Script_Kannada,//0xb8 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada,//0xc0 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - - HB_Script_Kannada,//0xc8 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada,//0xd0 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada,//0xd8 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada,//0xe0 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - - HB_Script_Kannada,//0xe8 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada,//0xf0 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada,//0xf8 - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada, - HB_Script_Kannada,//0xff - -}; - -HB_Script subTableMalSinhala[]= -{ - HB_Script_Malayalam,//0x00 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam,//0x08 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - - HB_Script_Malayalam,//0x10 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - - HB_Script_Malayalam,//0x18 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - - HB_Script_Malayalam,//0x20 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam,//0x28 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - - HB_Script_Malayalam,//0x30 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam,//0x38 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam,//0x40 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - - HB_Script_Malayalam,//0x48 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam,//0x4f - - HB_Script_Malayalam,//0x50 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam,//0x58 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - - HB_Script_Malayalam,//0x60 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - - HB_Script_Malayalam,//0x68 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - - HB_Script_Malayalam,//0x70 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam,//0x78 - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam, - HB_Script_Malayalam,//0x7f - - - HB_Script_Sinhala,//0x80 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala,//0x88 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala,//0x90 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - - HB_Script_Sinhala,//0x98 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala,//0xa0 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala,//0xa8 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala,//0xb0 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - - HB_Script_Sinhala,//0xb8 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala,//0xc0 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - - HB_Script_Sinhala,//0xc8 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala,//0xd0 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala,//0xd8 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala,//0xe0 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - - HB_Script_Sinhala,//0xe8 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala,//0xf0 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala,//0xf8 - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala, - HB_Script_Sinhala,//0xff - -}; - -HB_Script subTableThaiLao[]= -{ - HB_Script_Thai,//0x00 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai,//0x08 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - - HB_Script_Thai,//0x10 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - - HB_Script_Thai,//0x18 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - - HB_Script_Thai,//0x20 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai,//0x28 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - - HB_Script_Thai,//0x30 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai,//0x38 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai,//0x40 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - - HB_Script_Thai,//0x48 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai,//0x4f - - HB_Script_Thai,//0x50 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai,//0x58 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - - HB_Script_Thai,//0x60 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - - HB_Script_Thai,//0x68 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - - HB_Script_Thai,//0x70 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai,//0x78 - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai, - HB_Script_Thai,//0x7f - - - HB_Script_Lao,//0x80 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao,//0x88 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao,//0x90 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - - HB_Script_Lao,//0x98 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao,//0xa0 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao,//0xa8 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao,//0xb0 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - - HB_Script_Lao,//0xb8 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao,//0xc0 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - - HB_Script_Lao,//0xc8 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao,//0xd0 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao,//0xd8 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao,//0xe0 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - - HB_Script_Lao,//0xe8 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao,//0xf0 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao,//0xf8 - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao, - HB_Script_Lao,//0xff - -}; - -HB_Script subTableMyanGeorgian[] = -{ - HB_Script_Myanmar,//0x00 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar,//0x08 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - - HB_Script_Myanmar,//0x10 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - - HB_Script_Myanmar,//0x18 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - - HB_Script_Myanmar,//0x20 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar,//0x28 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - - HB_Script_Myanmar,//0x30 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar,//0x38 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar,//0x40 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - - HB_Script_Myanmar,//0x48 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar,//0x4f - - HB_Script_Myanmar,//0x50 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar,//0x58 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - - HB_Script_Myanmar,//0x60 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - - HB_Script_Myanmar,//0x68 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - - HB_Script_Myanmar,//0x70 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar,//0x78 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar,//0x7f - - - HB_Script_Myanmar,//0x80 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar,//0x88 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar,//0x90 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - - HB_Script_Myanmar,//0x98 - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - HB_Script_Myanmar, - - HB_Script_Georgian,//0xa0 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian,//0xa8 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian,//0xb0 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - - HB_Script_Georgian,//0xb8 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian,//0xc0 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - - HB_Script_Georgian,//0xc8 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian,//0xd0 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian,//0xd8 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian,//0xe0 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - - HB_Script_Georgian,//0xe8 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian,//0xf0 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian,//0xf8 - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian, - HB_Script_Georgian,//0xff - -}; - -HB_Script subTableOghamRunic[] = -{ - HB_Script_Ogham,//0x00 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham,//0x08 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - - HB_Script_Ogham,//0x10 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - - HB_Script_Ogham,//0x18 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - - HB_Script_Ogham,//0x20 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham,//0x28 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - - HB_Script_Ogham,//0x30 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham,//0x38 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham,//0x40 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - - HB_Script_Ogham,//0x48 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham,//0x4f - - HB_Script_Ogham,//0x50 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham,//0x58 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - - HB_Script_Ogham,//0x60 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - - HB_Script_Ogham,//0x68 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - - HB_Script_Ogham,//0x70 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham,//0x78 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham,//0x7f - - - HB_Script_Ogham,//0x80 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham,//0x88 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham,//0x90 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - - HB_Script_Ogham,//0x98 - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - HB_Script_Ogham, - - HB_Script_Runic,//0xa0 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic,//0xa8 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic,//0xb0 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - - HB_Script_Runic,//0xb8 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic,//0xc0 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - - HB_Script_Runic,//0xc8 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic,//0xd0 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic,//0xd8 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic,//0xe0 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - - HB_Script_Runic,//0xe8 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic,//0xf0 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic,//0xf8 - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic, - HB_Script_Runic,//0xff - -}; - -#define VFE_UNICODE_MAX_SCRIPT 256 - -static const unicodeScriptTableStruct scriptTableStruct[VFE_UNICODE_MAX_SCRIPT]= -{ - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Greek, 0}, - - {HB_Script_Cyrillic, 0},//0x04 - {HB_Script_Armenian, 0}, - {HB_Script_Arabic, 0}, - {0xc0, subTableThanaSyriac}, - - {HB_Script_Common, 0},//0x08 - {0x100, subTableDevaBengali}, - {0x100, subTableGuruGuarati}, - {0x100, subTableOriyaTamil}, - - {0x100, subTableTelukannada},//0x0c - {0x100, subTableMalSinhala}, - {0x100, subTableThaiLao}, - {HB_Script_Tibetan, 0}, - - {0x100, subTableMyanGeorgian},//0x10 - {HB_Script_Hangul, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x14 - {HB_Script_Common, 0}, - {0x100, subTableOghamRunic}, - {HB_Script_Khmer, 0}, - - {HB_Script_Common, 0},//0x18 - {HB_Script_Khmer, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x1c - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x20 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x24 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x28 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x2c - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x30 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x34 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x38 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x3c - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x40 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x44 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x48 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x4c - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x50 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x54 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x58 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x5c - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x60 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x64 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x68 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x6c - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x70 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x74 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x78 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x7c - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x80 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x84 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x88 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x8c - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x40 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x94 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x98 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0x9c - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xa0 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xa4 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xa8 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xac - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xb0 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xb4 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xb8 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xbc - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xc0 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xc4 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xc8 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xcc - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xd0 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xd4 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xd8 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xdc - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xe0 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xe4 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xe8 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xec - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xf0 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xf4 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xf8 - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - - {HB_Script_Common, 0},//0xfc - {HB_Script_Common, 0}, - {HB_Script_Common, 0}, - {HB_Script_Common, 0},//ff -}; - -#endif /* __hb_unicode_tables_h__ */ - diff --git a/harfbuzz-0.1/debian/tmp/usr/lib/libharfbuzz.so b/harfbuzz-0.1/debian/tmp/usr/lib/libharfbuzz.so deleted file mode 100755 index 6c560e45953a9731f2f2effc9019472a877b7193..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 452191 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 JsCsBA_