From 1dc601b04a816a5b5ed12ae1c01ddcfd60a8398f Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Wed, 3 Oct 2018 17:27:46 +0200 Subject: [PATCH] [os2] Minor rename/shuffle --- ...de-ranges.py => gen-os2-unicode-ranges.py} | 2 +- src/hb-ot-os2-unicode-ranges.hh | 45 ++++++++++--------- 2 files changed, 24 insertions(+), 23 deletions(-) rename src/{gen-unicode-ranges.py => gen-os2-unicode-ranges.py} (96%) diff --git a/src/gen-unicode-ranges.py b/src/gen-os2-unicode-ranges.py similarity index 96% rename from src/gen-unicode-ranges.py rename to src/gen-os2-unicode-ranges.py index 30249a8f..d768313d 100644 --- a/src/gen-unicode-ranges.py +++ b/src/gen-os2-unicode-ranges.py @@ -13,7 +13,7 @@ import sys reload(sys) sys.setdefaultencoding('utf-8') -print ("""static Range os2UnicodeRangesSorted[] = +print ("""static OS2Range _hb_os2_unicode_ranges[] = {""") args = sys.argv[1:] diff --git a/src/hb-ot-os2-unicode-ranges.hh b/src/hb-ot-os2-unicode-ranges.hh index 42dfa490..ee45844b 100644 --- a/src/hb-ot-os2-unicode-ranges.hh +++ b/src/hb-ot-os2-unicode-ranges.hh @@ -31,14 +31,29 @@ namespace OT { -struct Range { +struct OS2Range +{ + static int + cmp (const void *_key, const void *_item, void *_arg) + { + hb_codepoint_t cp = *((hb_codepoint_t *) _key); + const OS2Range *range = (OS2Range *) _item; + + if (cp < range->start) + return -1; + else if (cp <= range->end) + return 0; + else + return 1; + } + hb_codepoint_t start; hb_codepoint_t end; unsigned int bit; }; -/* Note: The contents of this array was generated using src/gen-unicode-ranges.py. */ -static Range os2UnicodeRangesSorted[] = +/* Note: The contents of this array was generated using gen-os2-unicode-ranges.py. */ +static OS2Range _hb_os2_unicode_ranges[] = { { 0x0, 0x7F, 0}, // Basic Latin { 0x80, 0xFF, 1}, // Latin-1 Supplement @@ -211,31 +226,17 @@ static Range os2UnicodeRangesSorted[] = {0x100000, 0x10FFFD, 90}, // Private Use (plane 16) }; -static int -_compare_range (const void *_key, const void *_item, void *_arg) -{ - hb_codepoint_t cp = *((hb_codepoint_t *) _key); - const Range *range = (Range *) _item; - - if (cp < range->start) - return -1; - else if (cp <= range->end) - return 0; - else - return 1; -} - /** * hb_get_unicode_range_bit: - * Returns the bit to be set in os/2 ulUnicodeRange for a given codepoint. + * Returns the bit to be set in os/2 ulUnicodeOS2Range for a given codepoint. **/ static unsigned int hb_get_unicode_range_bit (hb_codepoint_t cp) { - Range *range = (Range*) hb_bsearch_r (&cp, os2UnicodeRangesSorted, - sizeof (os2UnicodeRangesSorted) / sizeof(Range), - sizeof(Range), - _compare_range, nullptr); + OS2Range *range = (OS2Range*) hb_bsearch_r (&cp, _hb_os2_unicode_ranges, + ARRAY_LENGTH (_hb_os2_unicode_ranges), + sizeof (OS2Range), + OS2Range::cmp, nullptr); if (range != nullptr) return range->bit; return -1; -- GitLab