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