100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 200d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 1 "hb-buffer-deserialize-text.rl" 300d44e014c805d06a59a74cd744e24482c218e9bhalcanary/* 400d44e014c805d06a59a74cd744e24482c218e9bhalcanary * Copyright © 2013 Google, Inc. 500d44e014c805d06a59a74cd744e24482c218e9bhalcanary * 600d44e014c805d06a59a74cd744e24482c218e9bhalcanary * This is part of HarfBuzz, a text shaping library. 700d44e014c805d06a59a74cd744e24482c218e9bhalcanary * 800d44e014c805d06a59a74cd744e24482c218e9bhalcanary * Permission is hereby granted, without written agreement and without 900d44e014c805d06a59a74cd744e24482c218e9bhalcanary * license or royalty fees, to use, copy, modify, and distribute this 1000d44e014c805d06a59a74cd744e24482c218e9bhalcanary * software and its documentation for any purpose, provided that the 1100d44e014c805d06a59a74cd744e24482c218e9bhalcanary * above copyright notice and the following two paragraphs appear in 1200d44e014c805d06a59a74cd744e24482c218e9bhalcanary * all copies of this software. 1300d44e014c805d06a59a74cd744e24482c218e9bhalcanary * 1400d44e014c805d06a59a74cd744e24482c218e9bhalcanary * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR 1500d44e014c805d06a59a74cd744e24482c218e9bhalcanary * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES 1600d44e014c805d06a59a74cd744e24482c218e9bhalcanary * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN 1700d44e014c805d06a59a74cd744e24482c218e9bhalcanary * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH 1800d44e014c805d06a59a74cd744e24482c218e9bhalcanary * DAMAGE. 1900d44e014c805d06a59a74cd744e24482c218e9bhalcanary * 2000d44e014c805d06a59a74cd744e24482c218e9bhalcanary * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, 2100d44e014c805d06a59a74cd744e24482c218e9bhalcanary * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 2200d44e014c805d06a59a74cd744e24482c218e9bhalcanary * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS 2300d44e014c805d06a59a74cd744e24482c218e9bhalcanary * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO 2400d44e014c805d06a59a74cd744e24482c218e9bhalcanary * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 2500d44e014c805d06a59a74cd744e24482c218e9bhalcanary * 2600d44e014c805d06a59a74cd744e24482c218e9bhalcanary * Google Author(s): Behdad Esfahbod 2700d44e014c805d06a59a74cd744e24482c218e9bhalcanary */ 2800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 2900d44e014c805d06a59a74cd744e24482c218e9bhalcanary#ifndef HB_BUFFER_DESERIALIZE_TEXT_HH 3000d44e014c805d06a59a74cd744e24482c218e9bhalcanary#define HB_BUFFER_DESERIALIZE_TEXT_HH 3100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 3200d44e014c805d06a59a74cd744e24482c218e9bhalcanary#include "hb-private.hh" 3300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 3400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 3500d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 36 "hb-buffer-deserialize-text.hh" 3600d44e014c805d06a59a74cd744e24482c218e9bhalcanarystatic const unsigned char _deserialize_text_trans_keys[] = { 3700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 0u, 0u, 9u, 122u, 45u, 57u, 48u, 57u, 45u, 57u, 48u, 57u, 48u, 57u, 45u, 57u, 3800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 48u, 57u, 44u, 44u, 45u, 57u, 48u, 57u, 44u, 57u, 9u, 124u, 9u, 124u, 0u, 0u, 3900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 9u, 122u, 9u, 124u, 9u, 124u, 9u, 124u, 9u, 124u, 9u, 124u, 9u, 124u, 9u, 124u, 4000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 9u, 124u, 9u, 124u, 9u, 124u, 0 4100d44e014c805d06a59a74cd744e24482c218e9bhalcanary}; 4200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 4300d44e014c805d06a59a74cd744e24482c218e9bhalcanarystatic const char _deserialize_text_key_spans[] = { 4400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 0, 114, 13, 10, 13, 10, 10, 13, 4500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 10, 1, 13, 10, 14, 116, 116, 0, 4600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 114, 116, 116, 116, 116, 116, 116, 116, 4700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 116, 116, 116 4800d44e014c805d06a59a74cd744e24482c218e9bhalcanary}; 4900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 5000d44e014c805d06a59a74cd744e24482c218e9bhalcanarystatic const short _deserialize_text_index_offsets[] = { 5100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 0, 0, 115, 129, 140, 154, 165, 176, 5200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 190, 201, 203, 217, 228, 243, 360, 477, 5300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 478, 593, 710, 827, 944, 1061, 1178, 1295, 5400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1412, 1529, 1646 5500d44e014c805d06a59a74cd744e24482c218e9bhalcanary}; 5600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 5700d44e014c805d06a59a74cd744e24482c218e9bhalcanarystatic const char _deserialize_text_indicies[] = { 5800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 0, 0, 0, 0, 0, 1, 1, 5900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 6000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 6100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 0, 1, 1, 1, 1, 1, 1, 1, 6200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 6300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 2, 3, 3, 3, 3, 3, 3, 3, 6400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 3, 3, 1, 1, 1, 1, 1, 1, 6500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 4, 4, 4, 4, 4, 4, 4, 6600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 4, 4, 4, 4, 4, 4, 4, 4, 6700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 4, 4, 4, 4, 4, 4, 4, 4, 6800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 4, 4, 4, 1, 1, 1, 1, 1, 6900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 4, 4, 4, 4, 4, 4, 4, 7000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 4, 4, 4, 4, 4, 4, 4, 4, 7100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 4, 4, 4, 4, 4, 4, 4, 4, 7200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 4, 4, 4, 1, 5, 1, 1, 6, 7300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 7, 7, 7, 7, 7, 7, 7, 7, 7400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 7, 1, 8, 9, 9, 9, 9, 9, 7500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 9, 9, 9, 9, 1, 10, 1, 1, 7600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 11, 12, 12, 12, 12, 12, 12, 12, 7700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 12, 12, 1, 13, 14, 14, 14, 14, 7800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 14, 14, 14, 14, 14, 1, 15, 16, 7900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 16, 16, 16, 16, 16, 16, 16, 16, 8000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 17, 1, 1, 18, 19, 19, 19, 8100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 19, 19, 19, 19, 19, 19, 1, 20, 8200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 21, 21, 21, 21, 21, 21, 21, 21, 8300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 21, 1, 22, 1, 23, 1, 1, 24, 8400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 25, 25, 25, 25, 25, 25, 25, 25, 8500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 25, 1, 26, 27, 27, 27, 27, 27, 8600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 27, 27, 27, 27, 1, 22, 1, 1, 8700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 21, 21, 21, 21, 21, 21, 21, 8800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 21, 21, 21, 1, 28, 28, 28, 28, 8900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 28, 1, 1, 1, 1, 1, 1, 1, 9000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 9100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 28, 1, 1, 1, 1, 9200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 29, 1, 9300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 9400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 9500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 30, 1, 1, 31, 1, 1, 1, 1, 9600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 9700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 9800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 9900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 32, 1, 1, 1, 1, 1, 1, 1, 10000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 10100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 10200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 33, 10300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 34, 34, 34, 34, 34, 1, 1, 10400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 10500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 10600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 34, 1, 1, 1, 1, 1, 1, 1, 10700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 10800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 10900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 11000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 11100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 11200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 11300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 35, 1, 1, 11400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 11500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 11600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 11700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 36, 1, 1, 0, 11800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 0, 0, 0, 0, 1, 1, 1, 1, 11900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 12000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 0, 1, 12100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 12200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 2, 3, 12300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 3, 3, 3, 3, 3, 3, 3, 3, 12400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 4, 12500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 4, 4, 4, 4, 4, 4, 4, 4, 12600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 4, 4, 4, 4, 4, 4, 4, 4, 12700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 4, 4, 4, 4, 4, 4, 4, 4, 12800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 4, 1, 1, 1, 1, 1, 1, 4, 12900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 4, 4, 4, 4, 4, 4, 4, 4, 13000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 4, 4, 4, 4, 4, 4, 4, 4, 13100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 4, 4, 4, 4, 4, 4, 4, 4, 13200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 4, 1, 28, 28, 28, 28, 28, 1, 13300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 13400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 13500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 28, 1, 1, 1, 1, 1, 1, 13600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 29, 1, 1, 1, 13700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 37, 37, 37, 37, 37, 37, 37, 13800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 37, 37, 37, 1, 1, 1, 30, 1, 13900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 31, 1, 1, 1, 1, 1, 1, 14000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 14100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 14200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 32, 1, 14300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 14400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 14500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 14600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 33, 1, 38, 14700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 38, 38, 38, 38, 1, 1, 1, 1, 14800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 14900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 38, 1, 15000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 15100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 39, 1, 1, 1, 1, 1, 15200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 15300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 15400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 15500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 15600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 15700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 40, 1, 1, 1, 1, 15800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 15900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 16000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 16100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 41, 1, 42, 42, 42, 42, 16200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 42, 1, 1, 1, 1, 1, 1, 1, 16300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 16400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 42, 1, 1, 1, 1, 16500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 16600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 16700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 16800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 16900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 17000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 17100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 17200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 43, 1, 1, 1, 1, 1, 1, 1, 17300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 17400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 17500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 44, 17600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 42, 42, 42, 42, 42, 1, 1, 17700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 17800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 17900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 42, 1, 1, 1, 1, 1, 1, 1, 18000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 18100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 14, 14, 14, 14, 14, 14, 14, 14, 18200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 14, 14, 1, 1, 1, 1, 1, 1, 18300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 18400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 18500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 18600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 43, 1, 1, 18700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 18800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 18900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 19000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 44, 1, 38, 38, 19100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 38, 38, 38, 1, 1, 1, 1, 1, 19200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 19300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 38, 1, 1, 19400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 19500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 39, 1, 1, 1, 9, 9, 9, 19600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 9, 9, 9, 9, 9, 9, 9, 1, 19700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 19800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 19900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 20000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 20100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 40, 1, 1, 1, 1, 1, 20200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 20300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 20400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 20500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 41, 1, 45, 45, 45, 45, 45, 20600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 20700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 20800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 45, 1, 1, 1, 1, 1, 20900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 46, 1, 1, 21000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 21100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 21200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 47, 1, 1, 1, 1, 1, 21300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 21400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 21500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 48, 21600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 21700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 21800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 21900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 49, 1, 22000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 50, 50, 50, 50, 50, 1, 1, 1, 22100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 22200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 50, 22300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 22400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 51, 1, 1, 1, 1, 1, 22500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 22600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 22700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 22800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 22900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 23000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 52, 1, 1, 1, 23100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 23200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 23300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 23400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 53, 1, 50, 50, 50, 23500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 50, 50, 1, 1, 1, 1, 1, 1, 23600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 23700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 50, 1, 1, 1, 23800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 51, 23900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 27, 27, 27, 27, 24000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 27, 27, 27, 27, 27, 27, 1, 1, 24100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 24200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 24300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 24400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 24500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 52, 1, 1, 1, 1, 1, 1, 24600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 24700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 24800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 24900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 53, 1, 45, 45, 45, 45, 45, 1, 25000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 25100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 25200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 45, 1, 1, 1, 1, 1, 1, 25300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 46, 1, 1, 1, 25400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 54, 54, 54, 54, 54, 54, 54, 25500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 54, 54, 54, 1, 1, 1, 1, 1, 25600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 47, 1, 1, 1, 1, 1, 1, 25700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 25800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 25900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 48, 1, 26000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 26100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 26200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 26300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 49, 1, 28, 26400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 28, 28, 28, 28, 1, 1, 1, 1, 26500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 26600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 28, 1, 26700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 1, 1, 1, 1, 1, 26800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 29, 1, 55, 55, 1, 55, 55, 26900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 55, 55, 55, 55, 55, 55, 55, 55, 27000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 1, 1, 30, 1, 1, 31, 55, 27100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 55, 55, 55, 55, 55, 55, 55, 55, 27200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 55, 55, 55, 55, 55, 55, 55, 55, 27300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 55, 55, 55, 55, 55, 55, 55, 55, 27400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 55, 1, 1, 32, 1, 55, 1, 55, 27500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 55, 55, 55, 55, 55, 55, 55, 55, 27600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 55, 55, 55, 55, 55, 55, 55, 55, 27700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 55, 55, 55, 55, 55, 55, 55, 55, 27800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 55, 1, 33, 1, 0 27900d44e014c805d06a59a74cd744e24482c218e9bhalcanary}; 28000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 28100d44e014c805d06a59a74cd744e24482c218e9bhalcanarystatic const char _deserialize_text_trans_targs[] = { 28200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 1, 0, 13, 17, 26, 3, 18, 21, 28300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 18, 21, 5, 19, 20, 19, 20, 22, 28400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 25, 8, 9, 12, 9, 12, 10, 11, 28500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 23, 24, 23, 24, 14, 2, 6, 7, 28600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 15, 16, 14, 15, 16, 17, 14, 4, 28700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 15, 16, 14, 15, 16, 14, 2, 7, 28800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 15, 16, 14, 2, 15, 16, 25, 26 28900d44e014c805d06a59a74cd744e24482c218e9bhalcanary}; 29000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 29100d44e014c805d06a59a74cd744e24482c218e9bhalcanarystatic const char _deserialize_text_trans_actions[] = { 29200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 0, 0, 1, 1, 1, 2, 2, 2, 29300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 0, 0, 2, 2, 2, 0, 0, 2, 29400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 2, 2, 2, 2, 0, 0, 3, 2, 29500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 2, 2, 0, 0, 4, 5, 5, 5, 29600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 4, 4, 0, 0, 0, 0, 6, 7, 29700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 6, 6, 8, 8, 8, 9, 10, 10, 29800d44e014c805d06a59a74cd744e24482c218e9bhalcanary 9, 9, 11, 12, 11, 11, 0, 0 29900d44e014c805d06a59a74cd744e24482c218e9bhalcanary}; 30000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 30100d44e014c805d06a59a74cd744e24482c218e9bhalcanarystatic const char _deserialize_text_eof_actions[] = { 30200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 0, 0, 0, 0, 0, 0, 0, 0, 30300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 0, 0, 0, 0, 0, 4, 0, 0, 30400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 0, 4, 6, 8, 8, 6, 9, 11, 30500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 11, 9, 4 30600d44e014c805d06a59a74cd744e24482c218e9bhalcanary}; 30700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 30800d44e014c805d06a59a74cd744e24482c218e9bhalcanarystatic const int deserialize_text_start = 1; 30900d44e014c805d06a59a74cd744e24482c218e9bhalcanarystatic const int deserialize_text_first_final = 13; 31000d44e014c805d06a59a74cd744e24482c218e9bhalcanarystatic const int deserialize_text_error = 0; 31100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 31200d44e014c805d06a59a74cd744e24482c218e9bhalcanarystatic const int deserialize_text_en_main = 1; 31300d44e014c805d06a59a74cd744e24482c218e9bhalcanary 31400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 31500d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 91 "hb-buffer-deserialize-text.rl" 31600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 31700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 31800d44e014c805d06a59a74cd744e24482c218e9bhalcanarystatic hb_bool_t 31900d44e014c805d06a59a74cd744e24482c218e9bhalcanary_hb_buffer_deserialize_glyphs_text (hb_buffer_t *buffer, 32000d44e014c805d06a59a74cd744e24482c218e9bhalcanary const char *buf, 32100d44e014c805d06a59a74cd744e24482c218e9bhalcanary unsigned int buf_len, 32200d44e014c805d06a59a74cd744e24482c218e9bhalcanary const char **end_ptr, 32300d44e014c805d06a59a74cd744e24482c218e9bhalcanary hb_font_t *font) 32400d44e014c805d06a59a74cd744e24482c218e9bhalcanary{ 32500d44e014c805d06a59a74cd744e24482c218e9bhalcanary const char *p = buf, *pe = buf + buf_len; 32600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 32700d44e014c805d06a59a74cd744e24482c218e9bhalcanary /* Ensure we have positions. */ 32800d44e014c805d06a59a74cd744e24482c218e9bhalcanary (void) hb_buffer_get_glyph_positions (buffer, NULL); 32900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 33000d44e014c805d06a59a74cd744e24482c218e9bhalcanary while (p < pe && ISSPACE (*p)) 33100d44e014c805d06a59a74cd744e24482c218e9bhalcanary p++; 33200d44e014c805d06a59a74cd744e24482c218e9bhalcanary if (p < pe && *p == (buffer->len ? '|' : '[')) 33300d44e014c805d06a59a74cd744e24482c218e9bhalcanary { 33400d44e014c805d06a59a74cd744e24482c218e9bhalcanary *end_ptr = ++p; 33500d44e014c805d06a59a74cd744e24482c218e9bhalcanary } 33600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 33700d44e014c805d06a59a74cd744e24482c218e9bhalcanary const char *eof = pe, *tok = NULL; 33800d44e014c805d06a59a74cd744e24482c218e9bhalcanary int cs; 33900d44e014c805d06a59a74cd744e24482c218e9bhalcanary hb_glyph_info_t info = {0}; 34000d44e014c805d06a59a74cd744e24482c218e9bhalcanary hb_glyph_position_t pos = {0}; 34100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 34200d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 343 "hb-buffer-deserialize-text.hh" 34300d44e014c805d06a59a74cd744e24482c218e9bhalcanary { 34400d44e014c805d06a59a74cd744e24482c218e9bhalcanary cs = deserialize_text_start; 34500d44e014c805d06a59a74cd744e24482c218e9bhalcanary } 34600d44e014c805d06a59a74cd744e24482c218e9bhalcanary 34700d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 348 "hb-buffer-deserialize-text.hh" 34800d44e014c805d06a59a74cd744e24482c218e9bhalcanary { 34900d44e014c805d06a59a74cd744e24482c218e9bhalcanary int _slen; 35000d44e014c805d06a59a74cd744e24482c218e9bhalcanary int _trans; 35100d44e014c805d06a59a74cd744e24482c218e9bhalcanary const unsigned char *_keys; 35200d44e014c805d06a59a74cd744e24482c218e9bhalcanary const char *_inds; 35300d44e014c805d06a59a74cd744e24482c218e9bhalcanary if ( p == pe ) 35400d44e014c805d06a59a74cd744e24482c218e9bhalcanary goto _test_eof; 35500d44e014c805d06a59a74cd744e24482c218e9bhalcanary if ( cs == 0 ) 35600d44e014c805d06a59a74cd744e24482c218e9bhalcanary goto _out; 35700d44e014c805d06a59a74cd744e24482c218e9bhalcanary_resume: 35800d44e014c805d06a59a74cd744e24482c218e9bhalcanary _keys = _deserialize_text_trans_keys + (cs<<1); 35900d44e014c805d06a59a74cd744e24482c218e9bhalcanary _inds = _deserialize_text_indicies + _deserialize_text_index_offsets[cs]; 36000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 36100d44e014c805d06a59a74cd744e24482c218e9bhalcanary _slen = _deserialize_text_key_spans[cs]; 36200d44e014c805d06a59a74cd744e24482c218e9bhalcanary _trans = _inds[ _slen > 0 && _keys[0] <=(*p) && 36300d44e014c805d06a59a74cd744e24482c218e9bhalcanary (*p) <= _keys[1] ? 36400d44e014c805d06a59a74cd744e24482c218e9bhalcanary (*p) - _keys[0] : _slen ]; 36500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 36600d44e014c805d06a59a74cd744e24482c218e9bhalcanary cs = _deserialize_text_trans_targs[_trans]; 36700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 36800d44e014c805d06a59a74cd744e24482c218e9bhalcanary if ( _deserialize_text_trans_actions[_trans] == 0 ) 36900d44e014c805d06a59a74cd744e24482c218e9bhalcanary goto _again; 37000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 37100d44e014c805d06a59a74cd744e24482c218e9bhalcanary switch ( _deserialize_text_trans_actions[_trans] ) { 37200d44e014c805d06a59a74cd744e24482c218e9bhalcanary case 2: 37300d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 51 "hb-buffer-deserialize-text.rl" 37400d44e014c805d06a59a74cd744e24482c218e9bhalcanary { 37500d44e014c805d06a59a74cd744e24482c218e9bhalcanary tok = p; 37600d44e014c805d06a59a74cd744e24482c218e9bhalcanary} 37700d44e014c805d06a59a74cd744e24482c218e9bhalcanary break; 37800d44e014c805d06a59a74cd744e24482c218e9bhalcanary case 5: 37900d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 55 "hb-buffer-deserialize-text.rl" 38000d44e014c805d06a59a74cd744e24482c218e9bhalcanary { 38100d44e014c805d06a59a74cd744e24482c218e9bhalcanary if (!hb_font_glyph_from_string (font, 38200d44e014c805d06a59a74cd744e24482c218e9bhalcanary tok, p - tok, 38300d44e014c805d06a59a74cd744e24482c218e9bhalcanary &info.codepoint)) 38400d44e014c805d06a59a74cd744e24482c218e9bhalcanary return false; 38500d44e014c805d06a59a74cd744e24482c218e9bhalcanary} 38600d44e014c805d06a59a74cd744e24482c218e9bhalcanary break; 38700d44e014c805d06a59a74cd744e24482c218e9bhalcanary case 10: 38800d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 62 "hb-buffer-deserialize-text.rl" 38900d44e014c805d06a59a74cd744e24482c218e9bhalcanary { if (!parse_uint (tok, p, &info.cluster )) return false; } 39000d44e014c805d06a59a74cd744e24482c218e9bhalcanary break; 39100d44e014c805d06a59a74cd744e24482c218e9bhalcanary case 3: 39200d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 63 "hb-buffer-deserialize-text.rl" 39300d44e014c805d06a59a74cd744e24482c218e9bhalcanary { if (!parse_int (tok, p, &pos.x_offset )) return false; } 39400d44e014c805d06a59a74cd744e24482c218e9bhalcanary break; 39500d44e014c805d06a59a74cd744e24482c218e9bhalcanary case 12: 39600d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 64 "hb-buffer-deserialize-text.rl" 39700d44e014c805d06a59a74cd744e24482c218e9bhalcanary { if (!parse_int (tok, p, &pos.y_offset )) return false; } 39800d44e014c805d06a59a74cd744e24482c218e9bhalcanary break; 39900d44e014c805d06a59a74cd744e24482c218e9bhalcanary case 7: 40000d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 65 "hb-buffer-deserialize-text.rl" 40100d44e014c805d06a59a74cd744e24482c218e9bhalcanary { if (!parse_int (tok, p, &pos.x_advance)) return false; } 40200d44e014c805d06a59a74cd744e24482c218e9bhalcanary break; 40300d44e014c805d06a59a74cd744e24482c218e9bhalcanary case 1: 40400d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 38 "hb-buffer-deserialize-text.rl" 40500d44e014c805d06a59a74cd744e24482c218e9bhalcanary { 40600d44e014c805d06a59a74cd744e24482c218e9bhalcanary memset (&info, 0, sizeof (info)); 40700d44e014c805d06a59a74cd744e24482c218e9bhalcanary memset (&pos , 0, sizeof (pos )); 40800d44e014c805d06a59a74cd744e24482c218e9bhalcanary} 40900d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 51 "hb-buffer-deserialize-text.rl" 41000d44e014c805d06a59a74cd744e24482c218e9bhalcanary { 41100d44e014c805d06a59a74cd744e24482c218e9bhalcanary tok = p; 41200d44e014c805d06a59a74cd744e24482c218e9bhalcanary} 41300d44e014c805d06a59a74cd744e24482c218e9bhalcanary break; 41400d44e014c805d06a59a74cd744e24482c218e9bhalcanary case 4: 41500d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 55 "hb-buffer-deserialize-text.rl" 41600d44e014c805d06a59a74cd744e24482c218e9bhalcanary { 41700d44e014c805d06a59a74cd744e24482c218e9bhalcanary if (!hb_font_glyph_from_string (font, 41800d44e014c805d06a59a74cd744e24482c218e9bhalcanary tok, p - tok, 41900d44e014c805d06a59a74cd744e24482c218e9bhalcanary &info.codepoint)) 42000d44e014c805d06a59a74cd744e24482c218e9bhalcanary return false; 42100d44e014c805d06a59a74cd744e24482c218e9bhalcanary} 42200d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 43 "hb-buffer-deserialize-text.rl" 42300d44e014c805d06a59a74cd744e24482c218e9bhalcanary { 42400d44e014c805d06a59a74cd744e24482c218e9bhalcanary buffer->add_info (info); 42500d44e014c805d06a59a74cd744e24482c218e9bhalcanary if (buffer->in_error) 42600d44e014c805d06a59a74cd744e24482c218e9bhalcanary return false; 42700d44e014c805d06a59a74cd744e24482c218e9bhalcanary buffer->pos[buffer->len - 1] = pos; 42800d44e014c805d06a59a74cd744e24482c218e9bhalcanary *end_ptr = p; 42900d44e014c805d06a59a74cd744e24482c218e9bhalcanary} 43000d44e014c805d06a59a74cd744e24482c218e9bhalcanary break; 43100d44e014c805d06a59a74cd744e24482c218e9bhalcanary case 9: 43200d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 62 "hb-buffer-deserialize-text.rl" 43300d44e014c805d06a59a74cd744e24482c218e9bhalcanary { if (!parse_uint (tok, p, &info.cluster )) return false; } 43400d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 43 "hb-buffer-deserialize-text.rl" 43500d44e014c805d06a59a74cd744e24482c218e9bhalcanary { 43600d44e014c805d06a59a74cd744e24482c218e9bhalcanary buffer->add_info (info); 43700d44e014c805d06a59a74cd744e24482c218e9bhalcanary if (buffer->in_error) 43800d44e014c805d06a59a74cd744e24482c218e9bhalcanary return false; 43900d44e014c805d06a59a74cd744e24482c218e9bhalcanary buffer->pos[buffer->len - 1] = pos; 44000d44e014c805d06a59a74cd744e24482c218e9bhalcanary *end_ptr = p; 44100d44e014c805d06a59a74cd744e24482c218e9bhalcanary} 44200d44e014c805d06a59a74cd744e24482c218e9bhalcanary break; 44300d44e014c805d06a59a74cd744e24482c218e9bhalcanary case 11: 44400d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 64 "hb-buffer-deserialize-text.rl" 44500d44e014c805d06a59a74cd744e24482c218e9bhalcanary { if (!parse_int (tok, p, &pos.y_offset )) return false; } 44600d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 43 "hb-buffer-deserialize-text.rl" 44700d44e014c805d06a59a74cd744e24482c218e9bhalcanary { 44800d44e014c805d06a59a74cd744e24482c218e9bhalcanary buffer->add_info (info); 44900d44e014c805d06a59a74cd744e24482c218e9bhalcanary if (buffer->in_error) 45000d44e014c805d06a59a74cd744e24482c218e9bhalcanary return false; 45100d44e014c805d06a59a74cd744e24482c218e9bhalcanary buffer->pos[buffer->len - 1] = pos; 45200d44e014c805d06a59a74cd744e24482c218e9bhalcanary *end_ptr = p; 45300d44e014c805d06a59a74cd744e24482c218e9bhalcanary} 45400d44e014c805d06a59a74cd744e24482c218e9bhalcanary break; 45500d44e014c805d06a59a74cd744e24482c218e9bhalcanary case 6: 45600d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 65 "hb-buffer-deserialize-text.rl" 45700d44e014c805d06a59a74cd744e24482c218e9bhalcanary { if (!parse_int (tok, p, &pos.x_advance)) return false; } 45800d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 43 "hb-buffer-deserialize-text.rl" 45900d44e014c805d06a59a74cd744e24482c218e9bhalcanary { 46000d44e014c805d06a59a74cd744e24482c218e9bhalcanary buffer->add_info (info); 46100d44e014c805d06a59a74cd744e24482c218e9bhalcanary if (buffer->in_error) 46200d44e014c805d06a59a74cd744e24482c218e9bhalcanary return false; 46300d44e014c805d06a59a74cd744e24482c218e9bhalcanary buffer->pos[buffer->len - 1] = pos; 46400d44e014c805d06a59a74cd744e24482c218e9bhalcanary *end_ptr = p; 46500d44e014c805d06a59a74cd744e24482c218e9bhalcanary} 46600d44e014c805d06a59a74cd744e24482c218e9bhalcanary break; 46700d44e014c805d06a59a74cd744e24482c218e9bhalcanary case 8: 46800d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 66 "hb-buffer-deserialize-text.rl" 46900d44e014c805d06a59a74cd744e24482c218e9bhalcanary { if (!parse_int (tok, p, &pos.y_advance)) return false; } 47000d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 43 "hb-buffer-deserialize-text.rl" 47100d44e014c805d06a59a74cd744e24482c218e9bhalcanary { 47200d44e014c805d06a59a74cd744e24482c218e9bhalcanary buffer->add_info (info); 47300d44e014c805d06a59a74cd744e24482c218e9bhalcanary if (buffer->in_error) 47400d44e014c805d06a59a74cd744e24482c218e9bhalcanary return false; 47500d44e014c805d06a59a74cd744e24482c218e9bhalcanary buffer->pos[buffer->len - 1] = pos; 47600d44e014c805d06a59a74cd744e24482c218e9bhalcanary *end_ptr = p; 47700d44e014c805d06a59a74cd744e24482c218e9bhalcanary} 47800d44e014c805d06a59a74cd744e24482c218e9bhalcanary break; 47900d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 480 "hb-buffer-deserialize-text.hh" 48000d44e014c805d06a59a74cd744e24482c218e9bhalcanary } 48100d44e014c805d06a59a74cd744e24482c218e9bhalcanary 48200d44e014c805d06a59a74cd744e24482c218e9bhalcanary_again: 48300d44e014c805d06a59a74cd744e24482c218e9bhalcanary if ( cs == 0 ) 48400d44e014c805d06a59a74cd744e24482c218e9bhalcanary goto _out; 48500d44e014c805d06a59a74cd744e24482c218e9bhalcanary if ( ++p != pe ) 48600d44e014c805d06a59a74cd744e24482c218e9bhalcanary goto _resume; 48700d44e014c805d06a59a74cd744e24482c218e9bhalcanary _test_eof: {} 48800d44e014c805d06a59a74cd744e24482c218e9bhalcanary if ( p == eof ) 48900d44e014c805d06a59a74cd744e24482c218e9bhalcanary { 49000d44e014c805d06a59a74cd744e24482c218e9bhalcanary switch ( _deserialize_text_eof_actions[cs] ) { 49100d44e014c805d06a59a74cd744e24482c218e9bhalcanary case 4: 49200d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 55 "hb-buffer-deserialize-text.rl" 49300d44e014c805d06a59a74cd744e24482c218e9bhalcanary { 49400d44e014c805d06a59a74cd744e24482c218e9bhalcanary if (!hb_font_glyph_from_string (font, 49500d44e014c805d06a59a74cd744e24482c218e9bhalcanary tok, p - tok, 49600d44e014c805d06a59a74cd744e24482c218e9bhalcanary &info.codepoint)) 49700d44e014c805d06a59a74cd744e24482c218e9bhalcanary return false; 49800d44e014c805d06a59a74cd744e24482c218e9bhalcanary} 49900d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 43 "hb-buffer-deserialize-text.rl" 50000d44e014c805d06a59a74cd744e24482c218e9bhalcanary { 50100d44e014c805d06a59a74cd744e24482c218e9bhalcanary buffer->add_info (info); 50200d44e014c805d06a59a74cd744e24482c218e9bhalcanary if (buffer->in_error) 50300d44e014c805d06a59a74cd744e24482c218e9bhalcanary return false; 50400d44e014c805d06a59a74cd744e24482c218e9bhalcanary buffer->pos[buffer->len - 1] = pos; 50500d44e014c805d06a59a74cd744e24482c218e9bhalcanary *end_ptr = p; 50600d44e014c805d06a59a74cd744e24482c218e9bhalcanary} 50700d44e014c805d06a59a74cd744e24482c218e9bhalcanary break; 50800d44e014c805d06a59a74cd744e24482c218e9bhalcanary case 9: 50900d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 62 "hb-buffer-deserialize-text.rl" 51000d44e014c805d06a59a74cd744e24482c218e9bhalcanary { if (!parse_uint (tok, p, &info.cluster )) return false; } 51100d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 43 "hb-buffer-deserialize-text.rl" 51200d44e014c805d06a59a74cd744e24482c218e9bhalcanary { 51300d44e014c805d06a59a74cd744e24482c218e9bhalcanary buffer->add_info (info); 51400d44e014c805d06a59a74cd744e24482c218e9bhalcanary if (buffer->in_error) 51500d44e014c805d06a59a74cd744e24482c218e9bhalcanary return false; 51600d44e014c805d06a59a74cd744e24482c218e9bhalcanary buffer->pos[buffer->len - 1] = pos; 51700d44e014c805d06a59a74cd744e24482c218e9bhalcanary *end_ptr = p; 51800d44e014c805d06a59a74cd744e24482c218e9bhalcanary} 51900d44e014c805d06a59a74cd744e24482c218e9bhalcanary break; 52000d44e014c805d06a59a74cd744e24482c218e9bhalcanary case 11: 52100d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 64 "hb-buffer-deserialize-text.rl" 52200d44e014c805d06a59a74cd744e24482c218e9bhalcanary { if (!parse_int (tok, p, &pos.y_offset )) return false; } 52300d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 43 "hb-buffer-deserialize-text.rl" 52400d44e014c805d06a59a74cd744e24482c218e9bhalcanary { 52500d44e014c805d06a59a74cd744e24482c218e9bhalcanary buffer->add_info (info); 52600d44e014c805d06a59a74cd744e24482c218e9bhalcanary if (buffer->in_error) 52700d44e014c805d06a59a74cd744e24482c218e9bhalcanary return false; 52800d44e014c805d06a59a74cd744e24482c218e9bhalcanary buffer->pos[buffer->len - 1] = pos; 52900d44e014c805d06a59a74cd744e24482c218e9bhalcanary *end_ptr = p; 53000d44e014c805d06a59a74cd744e24482c218e9bhalcanary} 53100d44e014c805d06a59a74cd744e24482c218e9bhalcanary break; 53200d44e014c805d06a59a74cd744e24482c218e9bhalcanary case 6: 53300d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 65 "hb-buffer-deserialize-text.rl" 53400d44e014c805d06a59a74cd744e24482c218e9bhalcanary { if (!parse_int (tok, p, &pos.x_advance)) return false; } 53500d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 43 "hb-buffer-deserialize-text.rl" 53600d44e014c805d06a59a74cd744e24482c218e9bhalcanary { 53700d44e014c805d06a59a74cd744e24482c218e9bhalcanary buffer->add_info (info); 53800d44e014c805d06a59a74cd744e24482c218e9bhalcanary if (buffer->in_error) 53900d44e014c805d06a59a74cd744e24482c218e9bhalcanary return false; 54000d44e014c805d06a59a74cd744e24482c218e9bhalcanary buffer->pos[buffer->len - 1] = pos; 54100d44e014c805d06a59a74cd744e24482c218e9bhalcanary *end_ptr = p; 54200d44e014c805d06a59a74cd744e24482c218e9bhalcanary} 54300d44e014c805d06a59a74cd744e24482c218e9bhalcanary break; 54400d44e014c805d06a59a74cd744e24482c218e9bhalcanary case 8: 54500d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 66 "hb-buffer-deserialize-text.rl" 54600d44e014c805d06a59a74cd744e24482c218e9bhalcanary { if (!parse_int (tok, p, &pos.y_advance)) return false; } 54700d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 43 "hb-buffer-deserialize-text.rl" 54800d44e014c805d06a59a74cd744e24482c218e9bhalcanary { 54900d44e014c805d06a59a74cd744e24482c218e9bhalcanary buffer->add_info (info); 55000d44e014c805d06a59a74cd744e24482c218e9bhalcanary if (buffer->in_error) 55100d44e014c805d06a59a74cd744e24482c218e9bhalcanary return false; 55200d44e014c805d06a59a74cd744e24482c218e9bhalcanary buffer->pos[buffer->len - 1] = pos; 55300d44e014c805d06a59a74cd744e24482c218e9bhalcanary *end_ptr = p; 55400d44e014c805d06a59a74cd744e24482c218e9bhalcanary} 55500d44e014c805d06a59a74cd744e24482c218e9bhalcanary break; 55600d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 557 "hb-buffer-deserialize-text.hh" 55700d44e014c805d06a59a74cd744e24482c218e9bhalcanary } 55800d44e014c805d06a59a74cd744e24482c218e9bhalcanary } 55900d44e014c805d06a59a74cd744e24482c218e9bhalcanary 56000d44e014c805d06a59a74cd744e24482c218e9bhalcanary _out: {} 56100d44e014c805d06a59a74cd744e24482c218e9bhalcanary } 56200d44e014c805d06a59a74cd744e24482c218e9bhalcanary 56300d44e014c805d06a59a74cd744e24482c218e9bhalcanary#line 119 "hb-buffer-deserialize-text.rl" 56400d44e014c805d06a59a74cd744e24482c218e9bhalcanary 56500d44e014c805d06a59a74cd744e24482c218e9bhalcanary 56600d44e014c805d06a59a74cd744e24482c218e9bhalcanary *end_ptr = p; 56700d44e014c805d06a59a74cd744e24482c218e9bhalcanary 56800d44e014c805d06a59a74cd744e24482c218e9bhalcanary return p == pe && *(p-1) != ']'; 56900d44e014c805d06a59a74cd744e24482c218e9bhalcanary} 57000d44e014c805d06a59a74cd744e24482c218e9bhalcanary 57100d44e014c805d06a59a74cd744e24482c218e9bhalcanary#endif /* HB_BUFFER_DESERIALIZE_TEXT_HH */ 572