| OLD | NEW |
| 1 | 1 |
| 2 #line 1 "hb-buffer-deserialize-json.rl" | 2 #line 1 "../../src/hb-buffer-deserialize-json.rl" |
| 3 /* | 3 /* |
| 4 * Copyright © 2013 Google, Inc. | 4 * Copyright © 2013 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 415 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 428 15, 15, 16, 0, 0, 0, 0 | 428 15, 15, 16, 0, 0, 0, 0 |
| 429 }; | 429 }; |
| 430 | 430 |
| 431 static const int deserialize_json_start = 1; | 431 static const int deserialize_json_start = 1; |
| 432 static const int deserialize_json_first_final = 44; | 432 static const int deserialize_json_first_final = 44; |
| 433 static const int deserialize_json_error = 0; | 433 static const int deserialize_json_error = 0; |
| 434 | 434 |
| 435 static const int deserialize_json_en_main = 1; | 435 static const int deserialize_json_en_main = 1; |
| 436 | 436 |
| 437 | 437 |
| 438 #line 97 "hb-buffer-deserialize-json.rl" | 438 #line 97 "../../src/hb-buffer-deserialize-json.rl" |
| 439 | 439 |
| 440 | 440 |
| 441 static hb_bool_t | 441 static hb_bool_t |
| 442 _hb_buffer_deserialize_glyphs_json (hb_buffer_t *buffer, | 442 _hb_buffer_deserialize_glyphs_json (hb_buffer_t *buffer, |
| 443 const char *buf, | 443 const char *buf, |
| 444 unsigned int buf_len, | 444 unsigned int buf_len, |
| 445 const char **end_ptr, | 445 const char **end_ptr, |
| 446 hb_font_t *font) | 446 hb_font_t *font) |
| 447 { | 447 { |
| 448 const char *p = buf, *pe = buf + buf_len; | 448 const char *p = buf, *pe = buf + buf_len; |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 486 (*p) <= _keys[1] ? | 486 (*p) <= _keys[1] ? |
| 487 (*p) - _keys[0] : _slen ]; | 487 (*p) - _keys[0] : _slen ]; |
| 488 | 488 |
| 489 cs = _deserialize_json_trans_targs[_trans]; | 489 cs = _deserialize_json_trans_targs[_trans]; |
| 490 | 490 |
| 491 if ( _deserialize_json_trans_actions[_trans] == 0 ) | 491 if ( _deserialize_json_trans_actions[_trans] == 0 ) |
| 492 goto _again; | 492 goto _again; |
| 493 | 493 |
| 494 switch ( _deserialize_json_trans_actions[_trans] ) { | 494 switch ( _deserialize_json_trans_actions[_trans] ) { |
| 495 case 1: | 495 case 1: |
| 496 #line 38 "hb-buffer-deserialize-json.rl" | 496 #line 38 "../../src/hb-buffer-deserialize-json.rl" |
| 497 { | 497 { |
| 498 memset (&info, 0, sizeof (info)); | 498 memset (&info, 0, sizeof (info)); |
| 499 memset (&pos , 0, sizeof (pos )); | 499 memset (&pos , 0, sizeof (pos )); |
| 500 } | 500 } |
| 501 break; | 501 break; |
| 502 case 5: | 502 case 5: |
| 503 #line 43 "hb-buffer-deserialize-json.rl" | 503 #line 43 "../../src/hb-buffer-deserialize-json.rl" |
| 504 { | 504 { |
| 505 buffer->add_info (info); | 505 buffer->add_info (info); |
| 506 if (buffer->in_error) | 506 if (buffer->in_error) |
| 507 return false; | 507 return false; |
| 508 buffer->pos[buffer->len - 1] = pos; | 508 buffer->pos[buffer->len - 1] = pos; |
| 509 *end_ptr = p; | 509 *end_ptr = p; |
| 510 } | 510 } |
| 511 break; | 511 break; |
| 512 case 2: | 512 case 2: |
| 513 #line 51 "hb-buffer-deserialize-json.rl" | 513 #line 51 "../../src/hb-buffer-deserialize-json.rl" |
| 514 { | 514 { |
| 515 tok = p; | 515 tok = p; |
| 516 } | 516 } |
| 517 break; | 517 break; |
| 518 case 14: | 518 case 14: |
| 519 #line 55 "hb-buffer-deserialize-json.rl" | 519 #line 55 "../../src/hb-buffer-deserialize-json.rl" |
| 520 { | 520 { |
| 521 if (!hb_font_glyph_from_string (font, | 521 if (!hb_font_glyph_from_string (font, |
| 522 tok, p - tok, | 522 tok, p - tok, |
| 523 &info.codepoint)) | 523 &info.codepoint)) |
| 524 return false; | 524 return false; |
| 525 } | 525 } |
| 526 break; | 526 break; |
| 527 case 15: | 527 case 15: |
| 528 #line 62 "hb-buffer-deserialize-json.rl" | 528 #line 62 "../../src/hb-buffer-deserialize-json.rl" |
| 529 { if (!parse_uint (tok, p, &info.codepoint)) return false; } | 529 { if (!parse_uint (tok, p, &info.codepoint)) return false; } |
| 530 break; | 530 break; |
| 531 case 8: | 531 case 8: |
| 532 #line 63 "hb-buffer-deserialize-json.rl" | 532 #line 63 "../../src/hb-buffer-deserialize-json.rl" |
| 533 { if (!parse_uint (tok, p, &info.cluster )) return false; } | 533 { if (!parse_uint (tok, p, &info.cluster )) return false; } |
| 534 break; | 534 break; |
| 535 case 10: | 535 case 10: |
| 536 #line 64 "hb-buffer-deserialize-json.rl" | 536 #line 64 "../../src/hb-buffer-deserialize-json.rl" |
| 537 { if (!parse_int (tok, p, &pos.x_offset )) return false; } | 537 { if (!parse_int (tok, p, &pos.x_offset )) return false; } |
| 538 break; | 538 break; |
| 539 case 12: | 539 case 12: |
| 540 #line 65 "hb-buffer-deserialize-json.rl" | 540 #line 65 "../../src/hb-buffer-deserialize-json.rl" |
| 541 { if (!parse_int (tok, p, &pos.y_offset )) return false; } | 541 { if (!parse_int (tok, p, &pos.y_offset )) return false; } |
| 542 break; | 542 break; |
| 543 case 3: | 543 case 3: |
| 544 #line 66 "hb-buffer-deserialize-json.rl" | 544 #line 66 "../../src/hb-buffer-deserialize-json.rl" |
| 545 { if (!parse_int (tok, p, &pos.x_advance)) return false; } | 545 { if (!parse_int (tok, p, &pos.x_advance)) return false; } |
| 546 break; | 546 break; |
| 547 case 6: | 547 case 6: |
| 548 #line 67 "hb-buffer-deserialize-json.rl" | 548 #line 67 "../../src/hb-buffer-deserialize-json.rl" |
| 549 { if (!parse_int (tok, p, &pos.y_advance)) return false; } | 549 { if (!parse_int (tok, p, &pos.y_advance)) return false; } |
| 550 break; | 550 break; |
| 551 case 16: | 551 case 16: |
| 552 #line 62 "hb-buffer-deserialize-json.rl" | 552 #line 62 "../../src/hb-buffer-deserialize-json.rl" |
| 553 { if (!parse_uint (tok, p, &info.codepoint)) return false; } | 553 { if (!parse_uint (tok, p, &info.codepoint)) return false; } |
| 554 #line 43 "hb-buffer-deserialize-json.rl" | 554 #line 43 "../../src/hb-buffer-deserialize-json.rl" |
| 555 { | 555 { |
| 556 buffer->add_info (info); | 556 buffer->add_info (info); |
| 557 if (buffer->in_error) | 557 if (buffer->in_error) |
| 558 return false; | 558 return false; |
| 559 buffer->pos[buffer->len - 1] = pos; | 559 buffer->pos[buffer->len - 1] = pos; |
| 560 *end_ptr = p; | 560 *end_ptr = p; |
| 561 } | 561 } |
| 562 break; | 562 break; |
| 563 case 9: | 563 case 9: |
| 564 #line 63 "hb-buffer-deserialize-json.rl" | 564 #line 63 "../../src/hb-buffer-deserialize-json.rl" |
| 565 { if (!parse_uint (tok, p, &info.cluster )) return false; } | 565 { if (!parse_uint (tok, p, &info.cluster )) return false; } |
| 566 #line 43 "hb-buffer-deserialize-json.rl" | 566 #line 43 "../../src/hb-buffer-deserialize-json.rl" |
| 567 { | 567 { |
| 568 buffer->add_info (info); | 568 buffer->add_info (info); |
| 569 if (buffer->in_error) | 569 if (buffer->in_error) |
| 570 return false; | 570 return false; |
| 571 buffer->pos[buffer->len - 1] = pos; | 571 buffer->pos[buffer->len - 1] = pos; |
| 572 *end_ptr = p; | 572 *end_ptr = p; |
| 573 } | 573 } |
| 574 break; | 574 break; |
| 575 case 11: | 575 case 11: |
| 576 #line 64 "hb-buffer-deserialize-json.rl" | 576 #line 64 "../../src/hb-buffer-deserialize-json.rl" |
| 577 { if (!parse_int (tok, p, &pos.x_offset )) return false; } | 577 { if (!parse_int (tok, p, &pos.x_offset )) return false; } |
| 578 #line 43 "hb-buffer-deserialize-json.rl" | 578 #line 43 "../../src/hb-buffer-deserialize-json.rl" |
| 579 { | 579 { |
| 580 buffer->add_info (info); | 580 buffer->add_info (info); |
| 581 if (buffer->in_error) | 581 if (buffer->in_error) |
| 582 return false; | 582 return false; |
| 583 buffer->pos[buffer->len - 1] = pos; | 583 buffer->pos[buffer->len - 1] = pos; |
| 584 *end_ptr = p; | 584 *end_ptr = p; |
| 585 } | 585 } |
| 586 break; | 586 break; |
| 587 case 13: | 587 case 13: |
| 588 #line 65 "hb-buffer-deserialize-json.rl" | 588 #line 65 "../../src/hb-buffer-deserialize-json.rl" |
| 589 { if (!parse_int (tok, p, &pos.y_offset )) return false; } | 589 { if (!parse_int (tok, p, &pos.y_offset )) return false; } |
| 590 #line 43 "hb-buffer-deserialize-json.rl" | 590 #line 43 "../../src/hb-buffer-deserialize-json.rl" |
| 591 { | 591 { |
| 592 buffer->add_info (info); | 592 buffer->add_info (info); |
| 593 if (buffer->in_error) | 593 if (buffer->in_error) |
| 594 return false; | 594 return false; |
| 595 buffer->pos[buffer->len - 1] = pos; | 595 buffer->pos[buffer->len - 1] = pos; |
| 596 *end_ptr = p; | 596 *end_ptr = p; |
| 597 } | 597 } |
| 598 break; | 598 break; |
| 599 case 4: | 599 case 4: |
| 600 #line 66 "hb-buffer-deserialize-json.rl" | 600 #line 66 "../../src/hb-buffer-deserialize-json.rl" |
| 601 { if (!parse_int (tok, p, &pos.x_advance)) return false; } | 601 { if (!parse_int (tok, p, &pos.x_advance)) return false; } |
| 602 #line 43 "hb-buffer-deserialize-json.rl" | 602 #line 43 "../../src/hb-buffer-deserialize-json.rl" |
| 603 { | 603 { |
| 604 buffer->add_info (info); | 604 buffer->add_info (info); |
| 605 if (buffer->in_error) | 605 if (buffer->in_error) |
| 606 return false; | 606 return false; |
| 607 buffer->pos[buffer->len - 1] = pos; | 607 buffer->pos[buffer->len - 1] = pos; |
| 608 *end_ptr = p; | 608 *end_ptr = p; |
| 609 } | 609 } |
| 610 break; | 610 break; |
| 611 case 7: | 611 case 7: |
| 612 #line 67 "hb-buffer-deserialize-json.rl" | 612 #line 67 "../../src/hb-buffer-deserialize-json.rl" |
| 613 { if (!parse_int (tok, p, &pos.y_advance)) return false; } | 613 { if (!parse_int (tok, p, &pos.y_advance)) return false; } |
| 614 #line 43 "hb-buffer-deserialize-json.rl" | 614 #line 43 "../../src/hb-buffer-deserialize-json.rl" |
| 615 { | 615 { |
| 616 buffer->add_info (info); | 616 buffer->add_info (info); |
| 617 if (buffer->in_error) | 617 if (buffer->in_error) |
| 618 return false; | 618 return false; |
| 619 buffer->pos[buffer->len - 1] = pos; | 619 buffer->pos[buffer->len - 1] = pos; |
| 620 *end_ptr = p; | 620 *end_ptr = p; |
| 621 } | 621 } |
| 622 break; | 622 break; |
| 623 #line 624 "hb-buffer-deserialize-json.hh.tmp" | 623 #line 624 "hb-buffer-deserialize-json.hh.tmp" |
| 624 } | 624 } |
| 625 | 625 |
| 626 _again: | 626 _again: |
| 627 if ( cs == 0 ) | 627 if ( cs == 0 ) |
| 628 goto _out; | 628 goto _out; |
| 629 if ( ++p != pe ) | 629 if ( ++p != pe ) |
| 630 goto _resume; | 630 goto _resume; |
| 631 _test_eof: {} | 631 _test_eof: {} |
| 632 _out: {} | 632 _out: {} |
| 633 } | 633 } |
| 634 | 634 |
| 635 #line 125 "hb-buffer-deserialize-json.rl" | 635 #line 125 "../../src/hb-buffer-deserialize-json.rl" |
| 636 | 636 |
| 637 | 637 |
| 638 *end_ptr = p; | 638 *end_ptr = p; |
| 639 | 639 |
| 640 return p == pe && *(p-1) != ']'; | 640 return p == pe && *(p-1) != ']'; |
| 641 } | 641 } |
| 642 | 642 |
| 643 #endif /* HB_BUFFER_DESERIALIZE_JSON_HH */ | 643 #endif /* HB_BUFFER_DESERIALIZE_JSON_HH */ |
| OLD | NEW |