| 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 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 49 ShinDot = 0x5c1, | 49 ShinDot = 0x5c1, |
| 50 SinDot = 0x5c2, | 50 SinDot = 0x5c2, |
| 51 Patah = 0x5b7, | 51 Patah = 0x5b7, |
| 52 Qamats = 0x5b8, | 52 Qamats = 0x5b8, |
| 53 Holam = 0x5b9, | 53 Holam = 0x5b9, |
| 54 Rafe = 0x5bf | 54 Rafe = 0x5bf |
| 55 }; | 55 }; |
| 56 | 56 |
| 57 assert(shaper_item->item.script == HB_Script_Hebrew); | 57 assert(shaper_item->item.script == HB_Script_Hebrew); |
| 58 | 58 |
| 59 HB_HeuristicSetGlyphAttributes(shaper_item); |
| 60 |
| 59 #ifndef NO_OPENTYPE | 61 #ifndef NO_OPENTYPE |
| 60 if (HB_SelectScript(shaper_item, hebrew_features)) { | 62 if (HB_SelectScript(shaper_item, hebrew_features)) { |
| 61 | 63 |
| 62 const int availableGlyphs = shaper_item->num_glyphs; | 64 const int availableGlyphs = shaper_item->num_glyphs; |
| 63 if (!HB_ConvertStringToGlyphIndices(shaper_item)) | 65 if (!HB_ConvertStringToGlyphIndices(shaper_item)) |
| 64 return FALSE; | 66 return FALSE; |
| 65 | 67 |
| 66 | 68 |
| 67 HB_HeuristicSetGlyphAttributes(shaper_item); | |
| 68 HB_OpenTypeShape(shaper_item, /*properties*/0); | 69 HB_OpenTypeShape(shaper_item, /*properties*/0); |
| 69 return HB_OpenTypePosition(shaper_item, availableGlyphs, /*doLogClusters
*/TRUE); | 70 return HB_OpenTypePosition(shaper_item, availableGlyphs, /*doLogClusters
*/TRUE); |
| 70 } | 71 } |
| 71 #endif | 72 #endif |
| 72 | 73 |
| 73 { | 74 { |
| 74 const HB_UChar16 *uc = shaper_item->string + shaper_item->item.pos; | 75 const HB_UChar16 *uc = shaper_item->string + shaper_item->item.pos; |
| 75 unsigned short *logClusters = shaper_item->log_clusters; | 76 unsigned short *logClusters = shaper_item->log_clusters; |
| 76 HB_GlyphAttributes *attributes = shaper_item->attributes; | 77 HB_GlyphAttributes *attributes = shaper_item->attributes; |
| 77 | 78 |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 | 180 |
| 180 if (!haveGlyphs) | 181 if (!haveGlyphs) |
| 181 return FALSE; | 182 return FALSE; |
| 182 | 183 |
| 183 HB_HeuristicPosition(shaper_item); | 184 HB_HeuristicPosition(shaper_item); |
| 184 } | 185 } |
| 185 | 186 |
| 186 return TRUE; | 187 return TRUE; |
| 187 } | 188 } |
| 188 | 189 |
| OLD | NEW |