Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(237)

Side by Side Diff: third_party/harfbuzz/src/harfbuzz-shaper-private.h

Issue 12413010: Remove unused harfbuzz. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 /*
2 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
3 *
4 * This is part of HarfBuzz, an OpenType Layout engine library.
5 *
6 * Permission is hereby granted, without written agreement and without
7 * license or royalty fees, to use, copy, modify, and distribute this
8 * software and its documentation for any purpose, provided that the
9 * above copyright notice and the following two paragraphs appear in
10 * all copies of this software.
11 *
12 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
13 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
14 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
15 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
16 * DAMAGE.
17 *
18 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
19 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
20 * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
21 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
22 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
23 */
24
25 #ifndef HARFBUZZ_SHAPER_PRIVATE_H
26 #define HARFBUZZ_SHAPER_PRIVATE_H
27
28 HB_BEGIN_HEADER
29
30 enum {
31 C_DOTTED_CIRCLE = 0x25CC
32 };
33
34 typedef enum
35 {
36 HB_Combining_BelowLeftAttached = 200,
37 HB_Combining_BelowAttached = 202,
38 HB_Combining_BelowRightAttached = 204,
39 HB_Combining_LeftAttached = 208,
40 HB_Combining_RightAttached = 210,
41 HB_Combining_AboveLeftAttached = 212,
42 HB_Combining_AboveAttached = 214,
43 HB_Combining_AboveRightAttached = 216,
44
45 HB_Combining_BelowLeft = 218,
46 HB_Combining_Below = 220,
47 HB_Combining_BelowRight = 222,
48 HB_Combining_Left = 224,
49 HB_Combining_Right = 226,
50 HB_Combining_AboveLeft = 228,
51 HB_Combining_Above = 230,
52 HB_Combining_AboveRight = 232,
53
54 HB_Combining_DoubleBelow = 233,
55 HB_Combining_DoubleAbove = 234,
56 HB_Combining_IotaSubscript = 240
57 } HB_CombiningClass;
58
59 typedef enum {
60 LocaProperty = 0x1,
61 CcmpProperty = 0x2,
62 InitProperty = 0x4,
63 IsolProperty = 0x8,
64 FinaProperty = 0x10,
65 MediProperty = 0x20,
66 RligProperty = 0x40,
67 CaltProperty = 0x80,
68 LigaProperty = 0x100,
69 DligProperty = 0x200,
70 CswhProperty = 0x400,
71 MsetProperty = 0x800,
72
73 /* used by indic and myanmar shaper */
74 NuktaProperty = 0x8,
75 AkhantProperty = 0x10,
76 RephProperty = 0x20,
77 PreFormProperty = 0x40,
78 BelowFormProperty = 0x80,
79 AboveFormProperty = 0x100,
80 HalfFormProperty = 0x200,
81 PostFormProperty = 0x400,
82 ConjunctFormProperty = 0x800,
83 VattuProperty = 0x1000,
84 PreSubstProperty = 0x2000,
85 BelowSubstProperty = 0x4000,
86 AboveSubstProperty = 0x8000,
87 PostSubstProperty = 0x10000,
88 HalantProperty = 0x20000,
89 CligProperty = 0x40000,
90 IndicCaltProperty = 0x80000
91
92 } HB_OpenTypeProperty;
93
94 /* return true if ok. */
95 typedef HB_Bool (*HB_ShapeFunction)(HB_ShaperItem *shaper_item);
96 typedef void (*HB_AttributeFunction)(HB_Script script, const HB_UChar16 *string, hb_uint32 from, hb_uint32 len, HB_CharAttributes *attributes);
97
98 typedef struct {
99 HB_ShapeFunction shape;
100 HB_AttributeFunction charAttributes;
101 } HB_ScriptEngine;
102
103 extern const HB_ScriptEngine hb_scriptEngines[];
104
105 extern HB_Bool HB_BasicShape(HB_ShaperItem *shaper_item);
106 extern HB_Bool HB_GreekShape(HB_ShaperItem *shaper_item);
107 extern HB_Bool HB_TibetanShape(HB_ShaperItem *shaper_item);
108 extern HB_Bool HB_HebrewShape(HB_ShaperItem *shaper_item);
109 extern HB_Bool HB_ArabicShape(HB_ShaperItem *shaper_item);
110 extern HB_Bool HB_HangulShape(HB_ShaperItem *shaper_item);
111 extern HB_Bool HB_MyanmarShape(HB_ShaperItem *shaper_item);
112 extern HB_Bool HB_KhmerShape(HB_ShaperItem *shaper_item);
113 extern HB_Bool HB_IndicShape(HB_ShaperItem *shaper_item);
114
115 extern void HB_TibetanAttributes(HB_Script script, const HB_UChar16 *string, hb_ uint32 from, hb_uint32 len, HB_CharAttributes *attributes);
116
117 extern void HB_MyanmarAttributes(HB_Script script, const HB_UChar16 *string, hb_ uint32 from, hb_uint32 len, HB_CharAttributes *attributes);
118
119 extern void HB_KhmerAttributes(HB_Script script, const HB_UChar16 *string, hb_ui nt32 from, hb_uint32 len, HB_CharAttributes *attributes);
120
121 extern void HB_IndicAttributes(HB_Script script, const HB_UChar16 *string, hb_ui nt32 from, hb_uint32 len, HB_CharAttributes *attributes);
122
123 extern void HB_ThaiAttributes(HB_Script script, const HB_UChar16 *string, hb_uin t32 from, hb_uint32 len, HB_CharAttributes *attributes);
124
125 typedef struct {
126 hb_uint32 tag;
127 hb_uint32 property;
128 } HB_OpenTypeFeature;
129
130 #define PositioningProperties 0x80000000
131
132 HB_Bool HB_SelectScript(HB_ShaperItem *item, const HB_OpenTypeFeature *features) ;
133
134 HB_Bool HB_OpenTypeShape(HB_ShaperItem *item, const hb_uint32 *properties);
135 HB_Bool HB_OpenTypePosition(HB_ShaperItem *item, int availableGlyphs, HB_Bool do LogClusters);
136
137 void HB_HeuristicPosition(HB_ShaperItem *item);
138 void HB_HeuristicSetGlyphAttributes(HB_ShaperItem *item);
139
140 #define HB_IsControlChar(uc) \
141 ((uc >= 0x200b && uc <= 0x200f /* ZW Space, ZWNJ, ZWJ, LRM and RLM */) \
142 || (uc >= 0x2028 && uc <= 0x202f /* LS, PS, LRE, RLE, PDF, LRO, RLO, NNBSP */) \
143 || (uc >= 0x206a && uc <= 0x206f /* ISS, ASS, IAFS, AFS, NADS, NODS */))
144
145 HB_Bool HB_ConvertStringToGlyphIndices(HB_ShaperItem *shaper_item);
146
147 #define HB_GetGlyphAdvances(shaper_item) \
148 shaper_item->font->klass->getGlyphAdvances(shaper_item->font, \
149 shaper_item->glyphs, shaper_item- >num_glyphs, \
150 shaper_item->advances, \
151 shaper_item->face->current_flags) ;
152
153 #define HB_DECLARE_STACKARRAY(Type, Name) \
154 Type stack##Name[512]; \
155 Type *Name = stack##Name;
156
157 #define HB_INIT_STACKARRAY(Type, Name, Length) \
158 if ((Length) >= 512) \
159 Name = (Type *)malloc((Length) * sizeof(Type));
160
161 #define HB_STACKARRAY(Type, Name, Length) \
162 HB_DECLARE_STACKARRAY(Type, Name) \
163 HB_INIT_STACKARRAY(Type, Name, Length)
164
165 #define HB_FREE_STACKARRAY(Name) \
166 if (stack##Name != Name) \
167 free(Name);
168
169 HB_END_HEADER
170
171 #endif
OLDNEW
« no previous file with comments | « third_party/harfbuzz/src/harfbuzz-shaper-all.cpp ('k') | third_party/harfbuzz/src/harfbuzz-stream.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698