1 /* 2 * Copyright 2018 Ebrahim Byagowi 3 * 4 * This is part of HarfBuzz, a text shaping library. 5 * 6 * Permission is hereby granted, without written agreement and without 7 * license or royalty fees, to use, copy, modify, and distribute this 8 * software and its documentation for any purpose, provided that the 9 * above copyright notice and the following two paragraphs appear in 10 * all copies of this software. 11 * 12 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR 13 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES 14 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN 15 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH 16 * DAMAGE. 17 * 18 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, 19 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 20 * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS 21 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO 22 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 23 * 24 */ 25 26 #include "hb-test.h" 27 28 #include <hb-ot.h> 29 30 static void 31 test_ot_layout_feature_get_name_ids_and_characters (void) 32 { 33 hb_face_t *face = hb_test_open_font_file ("fonts/lcar.ttf"); 34 hb_font_t *font = hb_font_create (face); 35 hb_font_set_scale (font, hb_face_get_upem (face) * 2, hb_face_get_upem (face) * 4); 36 37 hb_position_t caret_array[2]; 38 unsigned int caret_count = 2; 39 g_assert_cmpuint (2, ==, hb_ot_layout_get_ligature_carets (font, HB_DIRECTION_RTL, 40 98, 0, &caret_count, 41 caret_array)); 42 43 g_assert_cmpuint (2, ==, caret_count); 44 g_assert_cmpuint (1130, ==, caret_array[0]); 45 g_assert_cmpuint (2344, ==, caret_array[1]); 46 47 g_assert_cmpuint (2, ==, hb_ot_layout_get_ligature_carets (font, HB_DIRECTION_BTT, 48 98, 0, &caret_count, 49 caret_array)); 50 51 g_assert_cmpuint (2, ==, caret_count); 52 g_assert_cmpuint (2260, ==, caret_array[0]); 53 g_assert_cmpuint (4688, ==, caret_array[1]); 54 55 hb_font_destroy (font); 56 hb_face_destroy (face); 57 } 58 59 int 60 main (int argc, char **argv) 61 { 62 g_test_init (&argc, &argv, NULL); 63 64 hb_test_add (test_ot_layout_feature_get_name_ids_and_characters); 65 66 return hb_test_run (); 67 } 68