OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | 2 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) |
3 * | 3 * |
4 * This is part of HarfBuzz, an OpenType Layout engine library. | 4 * This is part of HarfBuzz, an OpenType Layout engine library. |
5 * | 5 * |
6 * Permission is hereby granted, without written agreement and without | 6 * Permission is hereby granted, without written agreement and without |
7 * license or royalty fees, to use, copy, modify, and distribute this | 7 * license or royalty fees, to use, copy, modify, and distribute this |
8 * software and its documentation for any purpose, provided that the | 8 * software and its documentation for any purpose, provided that the |
9 * above copyright notice and the following two paragraphs appear in | 9 * above copyright notice and the following two paragraphs appear in |
10 * all copies of this software. | 10 * all copies of this software. |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 } | 123 } |
124 | 124 |
125 finish: | 125 finish: |
126 return start+pos; | 126 return start+pos; |
127 } | 127 } |
128 | 128 |
129 #ifndef NO_OPENTYPE | 129 #ifndef NO_OPENTYPE |
130 static const HB_OpenTypeFeature hangul_features [] = { | 130 static const HB_OpenTypeFeature hangul_features [] = { |
131 { HB_MAKE_TAG('c', 'c', 'm', 'p'), CcmpProperty }, | 131 { HB_MAKE_TAG('c', 'c', 'm', 'p'), CcmpProperty }, |
132 { HB_MAKE_TAG('l', 'j', 'm', 'o'), CcmpProperty }, | 132 { HB_MAKE_TAG('l', 'j', 'm', 'o'), CcmpProperty }, |
133 { HB_MAKE_TAG('j', 'j', 'm', 'o'), CcmpProperty }, | 133 { HB_MAKE_TAG('v', 'j', 'm', 'o'), CcmpProperty }, |
134 { HB_MAKE_TAG('t', 'j', 'm', 'o'), CcmpProperty }, | 134 { HB_MAKE_TAG('t', 'j', 'm', 'o'), CcmpProperty }, |
135 { 0, 0 } | 135 { 0, 0 } |
136 }; | 136 }; |
137 #endif | 137 #endif |
138 | 138 |
139 static HB_Bool hangul_shape_syllable(HB_ShaperItem *item, HB_Bool openType) | 139 static HB_Bool hangul_shape_syllable(HB_ShaperItem *item, HB_Bool openType) |
140 { | 140 { |
141 const HB_UChar16 *ch = item->string + item->item.pos; | 141 const HB_UChar16 *ch = item->string + item->item.pos; |
142 int len = item->item.length; | 142 int len = item->item.length; |
143 #ifndef NO_OPENTYPE | 143 #ifndef NO_OPENTYPE |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
259 first_glyph += syllable.num_glyphs; | 259 first_glyph += syllable.num_glyphs; |
260 } | 260 } |
261 item->num_glyphs = first_glyph; | 261 item->num_glyphs = first_glyph; |
262 return TRUE; | 262 return TRUE; |
263 } | 263 } |
264 | 264 |
265 return HB_BasicShape(item); | 265 return HB_BasicShape(item); |
266 } | 266 } |
267 | 267 |
268 | 268 |
OLD | NEW |