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

Side by Side Diff: third_party/harfbuzz-ng/src/hb-ot-shape-complex-indic-machine.hh

Issue 12438036: Update harfbuzz-ng to 0.9.14 from 0.9.10 (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 8 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
1 1
2 #line 1 "../../src/hb-ot-shape-complex-indic-machine.rl" 2 #line 1 "hb-ot-shape-complex-indic-machine.rl"
3 /* 3 /*
4 * Copyright © 2011,2012 Google, Inc. 4 * Copyright © 2011,2012 Google, Inc.
5 * 5 *
6 * This is part of HarfBuzz, a text shaping library. 6 * This is part of HarfBuzz, a text shaping library.
7 * 7 *
8 * Permission is hereby granted, without written agreement and without 8 * Permission is hereby granted, without written agreement and without
9 * license or royalty fees, to use, copy, modify, and distribute this 9 * license or royalty fees, to use, copy, modify, and distribute this
10 * software and its documentation for any purpose, provided that the 10 * software and its documentation for any purpose, provided that the
11 * above copyright notice and the following two paragraphs appear in 11 * above copyright notice and the following two paragraphs appear in
12 * all copies of this software. 12 * all copies of this software.
(...skipping 12 matching lines...) Expand all
25 * 25 *
26 * Google Author(s): Behdad Esfahbod 26 * Google Author(s): Behdad Esfahbod
27 */ 27 */
28 28
29 #ifndef HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH 29 #ifndef HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH
30 #define HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH 30 #define HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH
31 31
32 #include "hb-private.hh" 32 #include "hb-private.hh"
33 33
34 34
35 #line 36 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp" 35 #line 36 "hb-ot-shape-complex-indic-machine.hh.tmp"
36 static const unsigned char _indic_syllable_machine_trans_keys[] = { 36 static const unsigned char _indic_syllable_machine_trans_keys[] = {
37 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 37 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u,
38 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u, 38 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u,
39 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 39 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u,
40 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 40 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
41 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, 41 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u,
42 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 42 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u,
43 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 43 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u,
44 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 44 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u,
45 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 45 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
(...skipping 1192 matching lines...) Expand 10 before | Expand all | Expand 10 after
1238 194, 194, 343 1238 194, 194, 343
1239 }; 1239 };
1240 1240
1241 static const int indic_syllable_machine_start = 170; 1241 static const int indic_syllable_machine_start = 170;
1242 static const int indic_syllable_machine_first_final = 170; 1242 static const int indic_syllable_machine_first_final = 170;
1243 static const int indic_syllable_machine_error = -1; 1243 static const int indic_syllable_machine_error = -1;
1244 1244
1245 static const int indic_syllable_machine_en_main = 170; 1245 static const int indic_syllable_machine_en_main = 170;
1246 1246
1247 1247
1248 #line 36 "../../src/hb-ot-shape-complex-indic-machine.rl" 1248 #line 36 "hb-ot-shape-complex-indic-machine.rl"
1249 1249
1250 1250
1251 1251
1252 #line 91 "../../src/hb-ot-shape-complex-indic-machine.rl" 1252 #line 91 "hb-ot-shape-complex-indic-machine.rl"
1253 1253
1254 1254
1255 #define found_syllable(syllable_type) \ 1255 #define found_syllable(syllable_type) \
1256 HB_STMT_START { \ 1256 HB_STMT_START { \
1257 if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \ 1257 if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \
1258 for (unsigned int i = last; i < p+1; i++) \ 1258 for (unsigned int i = last; i < p+1; i++) \
1259 info[i].syllable() = (syllable_serial << 4) | syllable_type; \ 1259 info[i].syllable() = (syllable_serial << 4) | syllable_type; \
1260 last = p+1; \ 1260 last = p+1; \
1261 syllable_serial++; \ 1261 syllable_serial++; \
1262 if (unlikely (syllable_serial == 16)) syllable_serial = 1; \ 1262 if (unlikely (syllable_serial == 16)) syllable_serial = 1; \
1263 } HB_STMT_END 1263 } HB_STMT_END
1264 1264
1265 static void 1265 static void
1266 find_syllables (hb_buffer_t *buffer) 1266 find_syllables (hb_buffer_t *buffer)
1267 { 1267 {
1268 unsigned int p, pe, eof, ts HB_UNUSED, te, act; 1268 unsigned int p, pe, eof, ts HB_UNUSED, te HB_UNUSED, act HB_UNUSED;
1269 int cs; 1269 int cs;
1270 hb_glyph_info_t *info = buffer->info; 1270 hb_glyph_info_t *info = buffer->info;
1271 1271
1272 #line 1273 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp" 1272 #line 1273 "hb-ot-shape-complex-indic-machine.hh.tmp"
1273 { 1273 {
1274 cs = indic_syllable_machine_start; 1274 cs = indic_syllable_machine_start;
1275 ts = 0; 1275 ts = 0;
1276 te = 0; 1276 te = 0;
1277 act = 0; 1277 act = 0;
1278 } 1278 }
1279 1279
1280 #line 112 "../../src/hb-ot-shape-complex-indic-machine.rl" 1280 #line 112 "hb-ot-shape-complex-indic-machine.rl"
1281 1281
1282 1282
1283 p = 0; 1283 p = 0;
1284 pe = eof = buffer->len; 1284 pe = eof = buffer->len;
1285 1285
1286 unsigned int last = 0; 1286 unsigned int last = 0;
1287 unsigned int syllable_serial = 1; 1287 unsigned int syllable_serial = 1;
1288 1288
1289 #line 1290 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp" 1289 #line 1290 "hb-ot-shape-complex-indic-machine.hh.tmp"
1290 { 1290 {
1291 int _slen; 1291 int _slen;
1292 int _trans; 1292 int _trans;
1293 const unsigned char *_keys; 1293 const unsigned char *_keys;
1294 const short *_inds; 1294 const short *_inds;
1295 if ( p == pe ) 1295 if ( p == pe )
1296 goto _test_eof; 1296 goto _test_eof;
1297 _resume: 1297 _resume:
1298 switch ( _indic_syllable_machine_from_state_actions[cs] ) { 1298 switch ( _indic_syllable_machine_from_state_actions[cs] ) {
1299 case 10: 1299 case 10:
1300 #line 1 "NONE" 1300 #line 1 "NONE"
1301 {ts = p;} 1301 {ts = p;}
1302 break; 1302 break;
1303 #line 1304 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp" 1303 #line 1304 "hb-ot-shape-complex-indic-machine.hh.tmp"
1304 } 1304 }
1305 1305
1306 _keys = _indic_syllable_machine_trans_keys + (cs<<1); 1306 _keys = _indic_syllable_machine_trans_keys + (cs<<1);
1307 _inds = _indic_syllable_machine_indicies + _indic_syllable_machine_index _offsets[cs]; 1307 _inds = _indic_syllable_machine_indicies + _indic_syllable_machine_index _offsets[cs];
1308 1308
1309 _slen = _indic_syllable_machine_key_spans[cs]; 1309 _slen = _indic_syllable_machine_key_spans[cs];
1310 _trans = _inds[ _slen > 0 && _keys[0] <=( info[p].indic_category()) && 1310 _trans = _inds[ _slen > 0 && _keys[0] <=( info[p].indic_category()) &&
1311 ( info[p].indic_category()) <= _keys[1] ? 1311 ( info[p].indic_category()) <= _keys[1] ?
1312 ( info[p].indic_category()) - _keys[0] : _slen ]; 1312 ( info[p].indic_category()) - _keys[0] : _slen ];
1313 1313
1314 _eof_trans: 1314 _eof_trans:
1315 cs = _indic_syllable_machine_trans_targs[_trans]; 1315 cs = _indic_syllable_machine_trans_targs[_trans];
1316 1316
1317 if ( _indic_syllable_machine_trans_actions[_trans] == 0 ) 1317 if ( _indic_syllable_machine_trans_actions[_trans] == 0 )
1318 goto _again; 1318 goto _again;
1319 1319
1320 switch ( _indic_syllable_machine_trans_actions[_trans] ) { 1320 switch ( _indic_syllable_machine_trans_actions[_trans] ) {
1321 case 2: 1321 case 2:
1322 #line 1 "NONE" 1322 #line 1 "NONE"
1323 {te = p+1;} 1323 {te = p+1;}
1324 break; 1324 break;
1325 case 14: 1325 case 14:
1326 #line 83 "../../src/hb-ot-shape-complex-indic-machine.rl" 1326 #line 83 "hb-ot-shape-complex-indic-machine.rl"
1327 {te = p+1;{ found_syllable (consonant_syllable); }} 1327 {te = p+1;{ found_syllable (consonant_syllable); }}
1328 break; 1328 break;
1329 case 16: 1329 case 16:
1330 #line 84 "../../src/hb-ot-shape-complex-indic-machine.rl" 1330 #line 84 "hb-ot-shape-complex-indic-machine.rl"
1331 {te = p+1;{ found_syllable (vowel_syllable); }} 1331 {te = p+1;{ found_syllable (vowel_syllable); }}
1332 break; 1332 break;
1333 case 21: 1333 case 21:
1334 #line 85 "../../src/hb-ot-shape-complex-indic-machine.rl" 1334 #line 85 "hb-ot-shape-complex-indic-machine.rl"
1335 {te = p+1;{ found_syllable (standalone_cluster); }} 1335 {te = p+1;{ found_syllable (standalone_cluster); }}
1336 break; 1336 break;
1337 case 18: 1337 case 18:
1338 #line 86 "../../src/hb-ot-shape-complex-indic-machine.rl" 1338 #line 86 "hb-ot-shape-complex-indic-machine.rl"
1339 {te = p+1;{ found_syllable (broken_cluster); }} 1339 {te = p+1;{ found_syllable (broken_cluster); }}
1340 break; 1340 break;
1341 case 11: 1341 case 11:
1342 #line 87 "../../src/hb-ot-shape-complex-indic-machine.rl" 1342 #line 87 "hb-ot-shape-complex-indic-machine.rl"
1343 {te = p+1;{ found_syllable (non_indic_cluster); }} 1343 {te = p+1;{ found_syllable (non_indic_cluster); }}
1344 break; 1344 break;
1345 case 13: 1345 case 13:
1346 #line 83 "../../src/hb-ot-shape-complex-indic-machine.rl" 1346 #line 83 "hb-ot-shape-complex-indic-machine.rl"
1347 {te = p;p--;{ found_syllable (consonant_syllable); }} 1347 {te = p;p--;{ found_syllable (consonant_syllable); }}
1348 break; 1348 break;
1349 case 15: 1349 case 15:
1350 #line 84 "../../src/hb-ot-shape-complex-indic-machine.rl" 1350 #line 84 "hb-ot-shape-complex-indic-machine.rl"
1351 {te = p;p--;{ found_syllable (vowel_syllable); }} 1351 {te = p;p--;{ found_syllable (vowel_syllable); }}
1352 break; 1352 break;
1353 case 20: 1353 case 20:
1354 #line 85 "../../src/hb-ot-shape-complex-indic-machine.rl" 1354 #line 85 "hb-ot-shape-complex-indic-machine.rl"
1355 {te = p;p--;{ found_syllable (standalone_cluster); }} 1355 {te = p;p--;{ found_syllable (standalone_cluster); }}
1356 break; 1356 break;
1357 case 17: 1357 case 17:
1358 #line 86 "../../src/hb-ot-shape-complex-indic-machine.rl" 1358 #line 86 "hb-ot-shape-complex-indic-machine.rl"
1359 {te = p;p--;{ found_syllable (broken_cluster); }} 1359 {te = p;p--;{ found_syllable (broken_cluster); }}
1360 break; 1360 break;
1361 case 19: 1361 case 19:
1362 #line 87 "../../src/hb-ot-shape-complex-indic-machine.rl" 1362 #line 87 "hb-ot-shape-complex-indic-machine.rl"
1363 {te = p;p--;{ found_syllable (non_indic_cluster); }} 1363 {te = p;p--;{ found_syllable (non_indic_cluster); }}
1364 break; 1364 break;
1365 case 1: 1365 case 1:
1366 #line 83 "../../src/hb-ot-shape-complex-indic-machine.rl" 1366 #line 83 "hb-ot-shape-complex-indic-machine.rl"
1367 {{p = ((te))-1;}{ found_syllable (consonant_syllable); }} 1367 {{p = ((te))-1;}{ found_syllable (consonant_syllable); }}
1368 break; 1368 break;
1369 case 3: 1369 case 3:
1370 #line 84 "../../src/hb-ot-shape-complex-indic-machine.rl" 1370 #line 84 "hb-ot-shape-complex-indic-machine.rl"
1371 {{p = ((te))-1;}{ found_syllable (vowel_syllable); }} 1371 {{p = ((te))-1;}{ found_syllable (vowel_syllable); }}
1372 break; 1372 break;
1373 case 7: 1373 case 7:
1374 #line 85 "../../src/hb-ot-shape-complex-indic-machine.rl" 1374 #line 85 "hb-ot-shape-complex-indic-machine.rl"
1375 {{p = ((te))-1;}{ found_syllable (standalone_cluster); }} 1375 {{p = ((te))-1;}{ found_syllable (standalone_cluster); }}
1376 break; 1376 break;
1377 case 4: 1377 case 4:
1378 #line 86 "../../src/hb-ot-shape-complex-indic-machine.rl" 1378 #line 86 "hb-ot-shape-complex-indic-machine.rl"
1379 {{p = ((te))-1;}{ found_syllable (broken_cluster); }} 1379 {{p = ((te))-1;}{ found_syllable (broken_cluster); }}
1380 break; 1380 break;
1381 case 5: 1381 case 5:
1382 #line 1 "NONE" 1382 #line 1 "NONE"
1383 { switch( act ) { 1383 { switch( act ) {
1384 case 1: 1384 case 1:
1385 {{p = ((te))-1;} found_syllable (consonant_syllable); } 1385 {{p = ((te))-1;} found_syllable (consonant_syllable); }
1386 break; 1386 break;
1387 case 4: 1387 case 4:
1388 {{p = ((te))-1;} found_syllable (broken_cluster); } 1388 {{p = ((te))-1;} found_syllable (broken_cluster); }
1389 break; 1389 break;
1390 case 5: 1390 case 5:
1391 {{p = ((te))-1;} found_syllable (non_indic_cluster); } 1391 {{p = ((te))-1;} found_syllable (non_indic_cluster); }
1392 break; 1392 break;
1393 } 1393 }
1394 } 1394 }
1395 break; 1395 break;
1396 case 8: 1396 case 8:
1397 #line 1 "NONE" 1397 #line 1 "NONE"
1398 {te = p+1;} 1398 {te = p+1;}
1399 #line 83 "../../src/hb-ot-shape-complex-indic-machine.rl" 1399 #line 83 "hb-ot-shape-complex-indic-machine.rl"
1400 {act = 1;} 1400 {act = 1;}
1401 break; 1401 break;
1402 case 6: 1402 case 6:
1403 #line 1 "NONE" 1403 #line 1 "NONE"
1404 {te = p+1;} 1404 {te = p+1;}
1405 #line 86 "../../src/hb-ot-shape-complex-indic-machine.rl" 1405 #line 86 "hb-ot-shape-complex-indic-machine.rl"
1406 {act = 4;} 1406 {act = 4;}
1407 break; 1407 break;
1408 case 12: 1408 case 12:
1409 #line 1 "NONE" 1409 #line 1 "NONE"
1410 {te = p+1;} 1410 {te = p+1;}
1411 #line 87 "../../src/hb-ot-shape-complex-indic-machine.rl" 1411 #line 87 "hb-ot-shape-complex-indic-machine.rl"
1412 {act = 5;} 1412 {act = 5;}
1413 break; 1413 break;
1414 #line 1415 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp" 1414 #line 1415 "hb-ot-shape-complex-indic-machine.hh.tmp"
1415 } 1415 }
1416 1416
1417 _again: 1417 _again:
1418 switch ( _indic_syllable_machine_to_state_actions[cs] ) { 1418 switch ( _indic_syllable_machine_to_state_actions[cs] ) {
1419 case 9: 1419 case 9:
1420 #line 1 "NONE" 1420 #line 1 "NONE"
1421 {ts = 0;} 1421 {ts = 0;}
1422 break; 1422 break;
1423 #line 1424 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp" 1423 #line 1424 "hb-ot-shape-complex-indic-machine.hh.tmp"
1424 } 1424 }
1425 1425
1426 if ( ++p != pe ) 1426 if ( ++p != pe )
1427 goto _resume; 1427 goto _resume;
1428 _test_eof: {} 1428 _test_eof: {}
1429 if ( p == eof ) 1429 if ( p == eof )
1430 { 1430 {
1431 if ( _indic_syllable_machine_eof_trans[cs] > 0 ) { 1431 if ( _indic_syllable_machine_eof_trans[cs] > 0 ) {
1432 _trans = _indic_syllable_machine_eof_trans[cs] - 1; 1432 _trans = _indic_syllable_machine_eof_trans[cs] - 1;
1433 goto _eof_trans; 1433 goto _eof_trans;
1434 } 1434 }
1435 } 1435 }
1436 1436
1437 } 1437 }
1438 1438
1439 #line 121 "../../src/hb-ot-shape-complex-indic-machine.rl" 1439 #line 121 "hb-ot-shape-complex-indic-machine.rl"
1440 1440
1441 } 1441 }
1442 1442
1443 #endif /* HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH */ 1443 #endif /* HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH */
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698