Modified control file and MAkefile
authorsamsung <samsung@ubuntu-desktop.(none)>
Tue, 6 Apr 2010 07:46:50 +0000 (13:16 +0530)
committersamsung <samsung@ubuntu-desktop.(none)>
Tue, 6 Apr 2010 07:46:50 +0000 (13:16 +0530)
72 files changed:
harfbuzz-0.1/build-stamp [changed mode: 0644->0755]
harfbuzz-0.1/config.guess [changed mode: 0644->0755]
harfbuzz-0.1/config.guess11 [changed mode: 0644->0755]
harfbuzz-0.1/config.sub [changed mode: 0644->0755]
harfbuzz-0.1/debian/changelog
harfbuzz-0.1/debian/control
harfbuzz-0.1/debian/files [changed mode: 0644->0755]
harfbuzz-0.1/debian/libharfbuzz-dbg/DEBIAN/control [changed mode: 0644->0755]
harfbuzz-0.1/debian/libharfbuzz-dbg/DEBIAN/md5sums [changed mode: 0644->0755]
harfbuzz-0.1/debian/libharfbuzz-dbg/usr/lib/debug/usr/lib/libharfbuzz.so [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz-dbg/usr/share/doc/libharfbuzz-dbg/changelog.Debian.gz [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz-dbg/usr/share/doc/libharfbuzz-dbg/copyright [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz-dev/DEBIAN/control [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz-dev/DEBIAN/md5sums [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz-dev/usr/share/doc/libharfbuzz-dev/changelog.Debian.gz [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz-dev/usr/share/doc/libharfbuzz-dev/copyright [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz.install
harfbuzz-0.1/debian/libharfbuzz.substvars [changed mode: 0644->0755]
harfbuzz-0.1/debian/libharfbuzz/DEBIAN/control [changed mode: 0644->0755]
harfbuzz-0.1/debian/libharfbuzz/DEBIAN/md5sums [changed mode: 0644->0755]
harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-buffer-private.h [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-buffer.h [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-dump.h [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-external.h [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gdef-private.h [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gdef.h [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-global.h [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gpos-private.h [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gpos.h [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gsub-private.h [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-gsub.h [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-impl.h [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-open-private.h [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-open.h [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-shape.h [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-shaper-private.h [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-shaper.h [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-stream-private.h [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz-stream.h [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/harfbuzz.h [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/include/harfbuzz/hb_unicode_tables.h [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/lib/libharfbuzz.so [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/lib/pkgconfig/harfbuzz.pc [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/share/doc/libharfbuzz/changelog.Debian.gz [new file with mode: 0755]
harfbuzz-0.1/debian/libharfbuzz/usr/share/doc/libharfbuzz/copyright [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-buffer-private.h [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-buffer.h [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-dump.h [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-external.h [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gdef-private.h [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gdef.h [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-global.h [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gpos-private.h [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gpos.h [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gsub-private.h [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-gsub.h [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-impl.h [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-open-private.h [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-open.h [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-shape.h [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-shaper-private.h [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-shaper.h [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-stream-private.h [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz-stream.h [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/harfbuzz.h [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/include/harfbuzz/hb_unicode_tables.h [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/lib/libharfbuzz.so [new file with mode: 0755]
harfbuzz-0.1/debian/tmp/usr/lib/pkgconfig/harfbuzz.pc [new file with mode: 0755]
harfbuzz-0.1/harfbuzz-dump.o [new file with mode: 0755]
harfbuzz-0.1/harfbuzz-external.o [new file with mode: 0755]
harfbuzz-0.1/harfbuzz-shaper-all.o [new file with mode: 0755]
harfbuzz-0.1/harfbuzz.o [new file with mode: 0755]

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