From bbbeab43e067a7f009b74df72ed9b083f3ecef58 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Mon, 15 Apr 2024 20:57:48 +0200 Subject: Add uprop_get_bmg() --- lib/unicode/prop/uprop_get_bmg.c | 472 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 472 insertions(+) create mode 100644 lib/unicode/prop/uprop_get_bmg.c (limited to 'lib') diff --git a/lib/unicode/prop/uprop_get_bmg.c b/lib/unicode/prop/uprop_get_bmg.c new file mode 100644 index 0000000..629e7f1 --- /dev/null +++ b/lib/unicode/prop/uprop_get_bmg.c @@ -0,0 +1,472 @@ +/* This file is autogenerated by gen/prop/bmg; DO NOT EDIT. */ + +#include "__bsearch.h" +#include "macros.h" +#include "rune.h" +#include "unicode/prop.h" + +static constexpr rune lookup_lat1[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x29, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x3C, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x5D, 0x00, 0x5B, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7D, 0x00, 0x7B, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xBB, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xAB, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +static const struct { + rune k, v; +} lookup[] = { + {RUNE_C(0x000F3A), RUNE_C(0x000F3B)}, + {RUNE_C(0x000F3B), RUNE_C(0x000F3A)}, + {RUNE_C(0x000F3C), RUNE_C(0x000F3D)}, + {RUNE_C(0x000F3D), RUNE_C(0x000F3C)}, + {RUNE_C(0x00169B), RUNE_C(0x00169C)}, + {RUNE_C(0x00169C), RUNE_C(0x00169B)}, + {RUNE_C(0x002039), RUNE_C(0x00203A)}, + {RUNE_C(0x00203A), RUNE_C(0x002039)}, + {RUNE_C(0x002045), RUNE_C(0x002046)}, + {RUNE_C(0x002046), RUNE_C(0x002045)}, + {RUNE_C(0x00207D), RUNE_C(0x00207E)}, + {RUNE_C(0x00207E), RUNE_C(0x00207D)}, + {RUNE_C(0x00208D), RUNE_C(0x00208E)}, + {RUNE_C(0x00208E), RUNE_C(0x00208D)}, + {RUNE_C(0x002208), RUNE_C(0x00220B)}, + {RUNE_C(0x002209), RUNE_C(0x00220C)}, + {RUNE_C(0x00220A), RUNE_C(0x00220D)}, + {RUNE_C(0x00220B), RUNE_C(0x002208)}, + {RUNE_C(0x00220C), RUNE_C(0x002209)}, + {RUNE_C(0x00220D), RUNE_C(0x00220A)}, + {RUNE_C(0x002215), RUNE_C(0x0029F5)}, + {RUNE_C(0x00221F), RUNE_C(0x002BFE)}, + {RUNE_C(0x002220), RUNE_C(0x0029A3)}, + {RUNE_C(0x002221), RUNE_C(0x00299B)}, + {RUNE_C(0x002222), RUNE_C(0x0029A0)}, + {RUNE_C(0x002224), RUNE_C(0x002AEE)}, + {RUNE_C(0x00223C), RUNE_C(0x00223D)}, + {RUNE_C(0x00223D), RUNE_C(0x00223C)}, + {RUNE_C(0x002243), RUNE_C(0x0022CD)}, + {RUNE_C(0x002245), RUNE_C(0x00224C)}, + {RUNE_C(0x00224C), RUNE_C(0x002245)}, + {RUNE_C(0x002252), RUNE_C(0x002253)}, + {RUNE_C(0x002253), RUNE_C(0x002252)}, + {RUNE_C(0x002254), RUNE_C(0x002255)}, + {RUNE_C(0x002255), RUNE_C(0x002254)}, + {RUNE_C(0x002264), RUNE_C(0x002265)}, + {RUNE_C(0x002265), RUNE_C(0x002264)}, + {RUNE_C(0x002266), RUNE_C(0x002267)}, + {RUNE_C(0x002267), RUNE_C(0x002266)}, + {RUNE_C(0x002268), RUNE_C(0x002269)}, + {RUNE_C(0x002269), RUNE_C(0x002268)}, + {RUNE_C(0x00226A), RUNE_C(0x00226B)}, + {RUNE_C(0x00226B), RUNE_C(0x00226A)}, + {RUNE_C(0x00226E), RUNE_C(0x00226F)}, + {RUNE_C(0x00226F), RUNE_C(0x00226E)}, + {RUNE_C(0x002270), RUNE_C(0x002271)}, + {RUNE_C(0x002271), RUNE_C(0x002270)}, + {RUNE_C(0x002272), RUNE_C(0x002273)}, + {RUNE_C(0x002273), RUNE_C(0x002272)}, + {RUNE_C(0x002274), RUNE_C(0x002275)}, + {RUNE_C(0x002275), RUNE_C(0x002274)}, + {RUNE_C(0x002276), RUNE_C(0x002277)}, + {RUNE_C(0x002277), RUNE_C(0x002276)}, + {RUNE_C(0x002278), RUNE_C(0x002279)}, + {RUNE_C(0x002279), RUNE_C(0x002278)}, + {RUNE_C(0x00227A), RUNE_C(0x00227B)}, + {RUNE_C(0x00227B), RUNE_C(0x00227A)}, + {RUNE_C(0x00227C), RUNE_C(0x00227D)}, + {RUNE_C(0x00227D), RUNE_C(0x00227C)}, + {RUNE_C(0x00227E), RUNE_C(0x00227F)}, + {RUNE_C(0x00227F), RUNE_C(0x00227E)}, + {RUNE_C(0x002280), RUNE_C(0x002281)}, + {RUNE_C(0x002281), RUNE_C(0x002280)}, + {RUNE_C(0x002282), RUNE_C(0x002283)}, + {RUNE_C(0x002283), RUNE_C(0x002282)}, + {RUNE_C(0x002284), RUNE_C(0x002285)}, + {RUNE_C(0x002285), RUNE_C(0x002284)}, + {RUNE_C(0x002286), RUNE_C(0x002287)}, + {RUNE_C(0x002287), RUNE_C(0x002286)}, + {RUNE_C(0x002288), RUNE_C(0x002289)}, + {RUNE_C(0x002289), RUNE_C(0x002288)}, + {RUNE_C(0x00228A), RUNE_C(0x00228B)}, + {RUNE_C(0x00228B), RUNE_C(0x00228A)}, + {RUNE_C(0x00228F), RUNE_C(0x002290)}, + {RUNE_C(0x002290), RUNE_C(0x00228F)}, + {RUNE_C(0x002291), RUNE_C(0x002292)}, + {RUNE_C(0x002292), RUNE_C(0x002291)}, + {RUNE_C(0x002298), RUNE_C(0x0029B8)}, + {RUNE_C(0x0022A2), RUNE_C(0x0022A3)}, + {RUNE_C(0x0022A3), RUNE_C(0x0022A2)}, + {RUNE_C(0x0022A6), RUNE_C(0x002ADE)}, + {RUNE_C(0x0022A8), RUNE_C(0x002AE4)}, + {RUNE_C(0x0022A9), RUNE_C(0x002AE3)}, + {RUNE_C(0x0022AB), RUNE_C(0x002AE5)}, + {RUNE_C(0x0022B0), RUNE_C(0x0022B1)}, + {RUNE_C(0x0022B1), RUNE_C(0x0022B0)}, + {RUNE_C(0x0022B2), RUNE_C(0x0022B3)}, + {RUNE_C(0x0022B3), RUNE_C(0x0022B2)}, + {RUNE_C(0x0022B4), RUNE_C(0x0022B5)}, + {RUNE_C(0x0022B5), RUNE_C(0x0022B4)}, + {RUNE_C(0x0022B6), RUNE_C(0x0022B7)}, + {RUNE_C(0x0022B7), RUNE_C(0x0022B6)}, + {RUNE_C(0x0022B8), RUNE_C(0x0027DC)}, + {RUNE_C(0x0022C9), RUNE_C(0x0022CA)}, + {RUNE_C(0x0022CA), RUNE_C(0x0022C9)}, + {RUNE_C(0x0022CB), RUNE_C(0x0022CC)}, + {RUNE_C(0x0022CC), RUNE_C(0x0022CB)}, + {RUNE_C(0x0022CD), RUNE_C(0x002243)}, + {RUNE_C(0x0022D0), RUNE_C(0x0022D1)}, + {RUNE_C(0x0022D1), RUNE_C(0x0022D0)}, + {RUNE_C(0x0022D6), RUNE_C(0x0022D7)}, + {RUNE_C(0x0022D7), RUNE_C(0x0022D6)}, + {RUNE_C(0x0022D8), RUNE_C(0x0022D9)}, + {RUNE_C(0x0022D9), RUNE_C(0x0022D8)}, + {RUNE_C(0x0022DA), RUNE_C(0x0022DB)}, + {RUNE_C(0x0022DB), RUNE_C(0x0022DA)}, + {RUNE_C(0x0022DC), RUNE_C(0x0022DD)}, + {RUNE_C(0x0022DD), RUNE_C(0x0022DC)}, + {RUNE_C(0x0022DE), RUNE_C(0x0022DF)}, + {RUNE_C(0x0022DF), RUNE_C(0x0022DE)}, + {RUNE_C(0x0022E0), RUNE_C(0x0022E1)}, + {RUNE_C(0x0022E1), RUNE_C(0x0022E0)}, + {RUNE_C(0x0022E2), RUNE_C(0x0022E3)}, + {RUNE_C(0x0022E3), RUNE_C(0x0022E2)}, + {RUNE_C(0x0022E4), RUNE_C(0x0022E5)}, + {RUNE_C(0x0022E5), RUNE_C(0x0022E4)}, + {RUNE_C(0x0022E6), RUNE_C(0x0022E7)}, + {RUNE_C(0x0022E7), RUNE_C(0x0022E6)}, + {RUNE_C(0x0022E8), RUNE_C(0x0022E9)}, + {RUNE_C(0x0022E9), RUNE_C(0x0022E8)}, + {RUNE_C(0x0022EA), RUNE_C(0x0022EB)}, + {RUNE_C(0x0022EB), RUNE_C(0x0022EA)}, + {RUNE_C(0x0022EC), RUNE_C(0x0022ED)}, + {RUNE_C(0x0022ED), RUNE_C(0x0022EC)}, + {RUNE_C(0x0022F0), RUNE_C(0x0022F1)}, + {RUNE_C(0x0022F1), RUNE_C(0x0022F0)}, + {RUNE_C(0x0022F2), RUNE_C(0x0022FA)}, + {RUNE_C(0x0022F3), RUNE_C(0x0022FB)}, + {RUNE_C(0x0022F4), RUNE_C(0x0022FC)}, + {RUNE_C(0x0022F6), RUNE_C(0x0022FD)}, + {RUNE_C(0x0022F7), RUNE_C(0x0022FE)}, + {RUNE_C(0x0022FA), RUNE_C(0x0022F2)}, + {RUNE_C(0x0022FB), RUNE_C(0x0022F3)}, + {RUNE_C(0x0022FC), RUNE_C(0x0022F4)}, + {RUNE_C(0x0022FD), RUNE_C(0x0022F6)}, + {RUNE_C(0x0022FE), RUNE_C(0x0022F7)}, + {RUNE_C(0x002308), RUNE_C(0x002309)}, + {RUNE_C(0x002309), RUNE_C(0x002308)}, + {RUNE_C(0x00230A), RUNE_C(0x00230B)}, + {RUNE_C(0x00230B), RUNE_C(0x00230A)}, + {RUNE_C(0x002329), RUNE_C(0x00232A)}, + {RUNE_C(0x00232A), RUNE_C(0x002329)}, + {RUNE_C(0x002768), RUNE_C(0x002769)}, + {RUNE_C(0x002769), RUNE_C(0x002768)}, + {RUNE_C(0x00276A), RUNE_C(0x00276B)}, + {RUNE_C(0x00276B), RUNE_C(0x00276A)}, + {RUNE_C(0x00276C), RUNE_C(0x00276D)}, + {RUNE_C(0x00276D), RUNE_C(0x00276C)}, + {RUNE_C(0x00276E), RUNE_C(0x00276F)}, + {RUNE_C(0x00276F), RUNE_C(0x00276E)}, + {RUNE_C(0x002770), RUNE_C(0x002771)}, + {RUNE_C(0x002771), RUNE_C(0x002770)}, + {RUNE_C(0x002772), RUNE_C(0x002773)}, + {RUNE_C(0x002773), RUNE_C(0x002772)}, + {RUNE_C(0x002774), RUNE_C(0x002775)}, + {RUNE_C(0x002775), RUNE_C(0x002774)}, + {RUNE_C(0x0027C3), RUNE_C(0x0027C4)}, + {RUNE_C(0x0027C4), RUNE_C(0x0027C3)}, + {RUNE_C(0x0027C5), RUNE_C(0x0027C6)}, + {RUNE_C(0x0027C6), RUNE_C(0x0027C5)}, + {RUNE_C(0x0027C8), RUNE_C(0x0027C9)}, + {RUNE_C(0x0027C9), RUNE_C(0x0027C8)}, + {RUNE_C(0x0027CB), RUNE_C(0x0027CD)}, + {RUNE_C(0x0027CD), RUNE_C(0x0027CB)}, + {RUNE_C(0x0027D5), RUNE_C(0x0027D6)}, + {RUNE_C(0x0027D6), RUNE_C(0x0027D5)}, + {RUNE_C(0x0027DC), RUNE_C(0x0022B8)}, + {RUNE_C(0x0027DD), RUNE_C(0x0027DE)}, + {RUNE_C(0x0027DE), RUNE_C(0x0027DD)}, + {RUNE_C(0x0027E2), RUNE_C(0x0027E3)}, + {RUNE_C(0x0027E3), RUNE_C(0x0027E2)}, + {RUNE_C(0x0027E4), RUNE_C(0x0027E5)}, + {RUNE_C(0x0027E5), RUNE_C(0x0027E4)}, + {RUNE_C(0x0027E6), RUNE_C(0x0027E7)}, + {RUNE_C(0x0027E7), RUNE_C(0x0027E6)}, + {RUNE_C(0x0027E8), RUNE_C(0x0027E9)}, + {RUNE_C(0x0027E9), RUNE_C(0x0027E8)}, + {RUNE_C(0x0027EA), RUNE_C(0x0027EB)}, + {RUNE_C(0x0027EB), RUNE_C(0x0027EA)}, + {RUNE_C(0x0027EC), RUNE_C(0x0027ED)}, + {RUNE_C(0x0027ED), RUNE_C(0x0027EC)}, + {RUNE_C(0x0027EE), RUNE_C(0x0027EF)}, + {RUNE_C(0x0027EF), RUNE_C(0x0027EE)}, + {RUNE_C(0x002983), RUNE_C(0x002984)}, + {RUNE_C(0x002984), RUNE_C(0x002983)}, + {RUNE_C(0x002985), RUNE_C(0x002986)}, + {RUNE_C(0x002986), RUNE_C(0x002985)}, + {RUNE_C(0x002987), RUNE_C(0x002988)}, + {RUNE_C(0x002988), RUNE_C(0x002987)}, + {RUNE_C(0x002989), RUNE_C(0x00298A)}, + {RUNE_C(0x00298A), RUNE_C(0x002989)}, + {RUNE_C(0x00298B), RUNE_C(0x00298C)}, + {RUNE_C(0x00298C), RUNE_C(0x00298B)}, + {RUNE_C(0x00298D), RUNE_C(0x002990)}, + {RUNE_C(0x00298E), RUNE_C(0x00298F)}, + {RUNE_C(0x00298F), RUNE_C(0x00298E)}, + {RUNE_C(0x002990), RUNE_C(0x00298D)}, + {RUNE_C(0x002991), RUNE_C(0x002992)}, + {RUNE_C(0x002992), RUNE_C(0x002991)}, + {RUNE_C(0x002993), RUNE_C(0x002994)}, + {RUNE_C(0x002994), RUNE_C(0x002993)}, + {RUNE_C(0x002995), RUNE_C(0x002996)}, + {RUNE_C(0x002996), RUNE_C(0x002995)}, + {RUNE_C(0x002997), RUNE_C(0x002998)}, + {RUNE_C(0x002998), RUNE_C(0x002997)}, + {RUNE_C(0x00299B), RUNE_C(0x002221)}, + {RUNE_C(0x0029A0), RUNE_C(0x002222)}, + {RUNE_C(0x0029A3), RUNE_C(0x002220)}, + {RUNE_C(0x0029A4), RUNE_C(0x0029A5)}, + {RUNE_C(0x0029A5), RUNE_C(0x0029A4)}, + {RUNE_C(0x0029A8), RUNE_C(0x0029A9)}, + {RUNE_C(0x0029A9), RUNE_C(0x0029A8)}, + {RUNE_C(0x0029AA), RUNE_C(0x0029AB)}, + {RUNE_C(0x0029AB), RUNE_C(0x0029AA)}, + {RUNE_C(0x0029AC), RUNE_C(0x0029AD)}, + {RUNE_C(0x0029AD), RUNE_C(0x0029AC)}, + {RUNE_C(0x0029AE), RUNE_C(0x0029AF)}, + {RUNE_C(0x0029AF), RUNE_C(0x0029AE)}, + {RUNE_C(0x0029B8), RUNE_C(0x002298)}, + {RUNE_C(0x0029C0), RUNE_C(0x0029C1)}, + {RUNE_C(0x0029C1), RUNE_C(0x0029C0)}, + {RUNE_C(0x0029C4), RUNE_C(0x0029C5)}, + {RUNE_C(0x0029C5), RUNE_C(0x0029C4)}, + {RUNE_C(0x0029CF), RUNE_C(0x0029D0)}, + {RUNE_C(0x0029D0), RUNE_C(0x0029CF)}, + {RUNE_C(0x0029D1), RUNE_C(0x0029D2)}, + {RUNE_C(0x0029D2), RUNE_C(0x0029D1)}, + {RUNE_C(0x0029D4), RUNE_C(0x0029D5)}, + {RUNE_C(0x0029D5), RUNE_C(0x0029D4)}, + {RUNE_C(0x0029D8), RUNE_C(0x0029D9)}, + {RUNE_C(0x0029D9), RUNE_C(0x0029D8)}, + {RUNE_C(0x0029DA), RUNE_C(0x0029DB)}, + {RUNE_C(0x0029DB), RUNE_C(0x0029DA)}, + {RUNE_C(0x0029E8), RUNE_C(0x0029E9)}, + {RUNE_C(0x0029E9), RUNE_C(0x0029E8)}, + {RUNE_C(0x0029F5), RUNE_C(0x002215)}, + {RUNE_C(0x0029F8), RUNE_C(0x0029F9)}, + {RUNE_C(0x0029F9), RUNE_C(0x0029F8)}, + {RUNE_C(0x0029FC), RUNE_C(0x0029FD)}, + {RUNE_C(0x0029FD), RUNE_C(0x0029FC)}, + {RUNE_C(0x002A2B), RUNE_C(0x002A2C)}, + {RUNE_C(0x002A2C), RUNE_C(0x002A2B)}, + {RUNE_C(0x002A2D), RUNE_C(0x002A2E)}, + {RUNE_C(0x002A2E), RUNE_C(0x002A2D)}, + {RUNE_C(0x002A34), RUNE_C(0x002A35)}, + {RUNE_C(0x002A35), RUNE_C(0x002A34)}, + {RUNE_C(0x002A3C), RUNE_C(0x002A3D)}, + {RUNE_C(0x002A3D), RUNE_C(0x002A3C)}, + {RUNE_C(0x002A64), RUNE_C(0x002A65)}, + {RUNE_C(0x002A65), RUNE_C(0x002A64)}, + {RUNE_C(0x002A79), RUNE_C(0x002A7A)}, + {RUNE_C(0x002A7A), RUNE_C(0x002A79)}, + {RUNE_C(0x002A7B), RUNE_C(0x002A7C)}, + {RUNE_C(0x002A7C), RUNE_C(0x002A7B)}, + {RUNE_C(0x002A7D), RUNE_C(0x002A7E)}, + {RUNE_C(0x002A7E), RUNE_C(0x002A7D)}, + {RUNE_C(0x002A7F), RUNE_C(0x002A80)}, + {RUNE_C(0x002A80), RUNE_C(0x002A7F)}, + {RUNE_C(0x002A81), RUNE_C(0x002A82)}, + {RUNE_C(0x002A82), RUNE_C(0x002A81)}, + {RUNE_C(0x002A83), RUNE_C(0x002A84)}, + {RUNE_C(0x002A84), RUNE_C(0x002A83)}, + {RUNE_C(0x002A85), RUNE_C(0x002A86)}, + {RUNE_C(0x002A86), RUNE_C(0x002A85)}, + {RUNE_C(0x002A87), RUNE_C(0x002A88)}, + {RUNE_C(0x002A88), RUNE_C(0x002A87)}, + {RUNE_C(0x002A89), RUNE_C(0x002A8A)}, + {RUNE_C(0x002A8A), RUNE_C(0x002A89)}, + {RUNE_C(0x002A8B), RUNE_C(0x002A8C)}, + {RUNE_C(0x002A8C), RUNE_C(0x002A8B)}, + {RUNE_C(0x002A8D), RUNE_C(0x002A8E)}, + {RUNE_C(0x002A8E), RUNE_C(0x002A8D)}, + {RUNE_C(0x002A8F), RUNE_C(0x002A90)}, + {RUNE_C(0x002A90), RUNE_C(0x002A8F)}, + {RUNE_C(0x002A91), RUNE_C(0x002A92)}, + {RUNE_C(0x002A92), RUNE_C(0x002A91)}, + {RUNE_C(0x002A93), RUNE_C(0x002A94)}, + {RUNE_C(0x002A94), RUNE_C(0x002A93)}, + {RUNE_C(0x002A95), RUNE_C(0x002A96)}, + {RUNE_C(0x002A96), RUNE_C(0x002A95)}, + {RUNE_C(0x002A97), RUNE_C(0x002A98)}, + {RUNE_C(0x002A98), RUNE_C(0x002A97)}, + {RUNE_C(0x002A99), RUNE_C(0x002A9A)}, + {RUNE_C(0x002A9A), RUNE_C(0x002A99)}, + {RUNE_C(0x002A9B), RUNE_C(0x002A9C)}, + {RUNE_C(0x002A9C), RUNE_C(0x002A9B)}, + {RUNE_C(0x002A9D), RUNE_C(0x002A9E)}, + {RUNE_C(0x002A9E), RUNE_C(0x002A9D)}, + {RUNE_C(0x002A9F), RUNE_C(0x002AA0)}, + {RUNE_C(0x002AA0), RUNE_C(0x002A9F)}, + {RUNE_C(0x002AA1), RUNE_C(0x002AA2)}, + {RUNE_C(0x002AA2), RUNE_C(0x002AA1)}, + {RUNE_C(0x002AA6), RUNE_C(0x002AA7)}, + {RUNE_C(0x002AA7), RUNE_C(0x002AA6)}, + {RUNE_C(0x002AA8), RUNE_C(0x002AA9)}, + {RUNE_C(0x002AA9), RUNE_C(0x002AA8)}, + {RUNE_C(0x002AAA), RUNE_C(0x002AAB)}, + {RUNE_C(0x002AAB), RUNE_C(0x002AAA)}, + {RUNE_C(0x002AAC), RUNE_C(0x002AAD)}, + {RUNE_C(0x002AAD), RUNE_C(0x002AAC)}, + {RUNE_C(0x002AAF), RUNE_C(0x002AB0)}, + {RUNE_C(0x002AB0), RUNE_C(0x002AAF)}, + {RUNE_C(0x002AB1), RUNE_C(0x002AB2)}, + {RUNE_C(0x002AB2), RUNE_C(0x002AB1)}, + {RUNE_C(0x002AB3), RUNE_C(0x002AB4)}, + {RUNE_C(0x002AB4), RUNE_C(0x002AB3)}, + {RUNE_C(0x002AB5), RUNE_C(0x002AB6)}, + {RUNE_C(0x002AB6), RUNE_C(0x002AB5)}, + {RUNE_C(0x002AB7), RUNE_C(0x002AB8)}, + {RUNE_C(0x002AB8), RUNE_C(0x002AB7)}, + {RUNE_C(0x002AB9), RUNE_C(0x002ABA)}, + {RUNE_C(0x002ABA), RUNE_C(0x002AB9)}, + {RUNE_C(0x002ABB), RUNE_C(0x002ABC)}, + {RUNE_C(0x002ABC), RUNE_C(0x002ABB)}, + {RUNE_C(0x002ABD), RUNE_C(0x002ABE)}, + {RUNE_C(0x002ABE), RUNE_C(0x002ABD)}, + {RUNE_C(0x002ABF), RUNE_C(0x002AC0)}, + {RUNE_C(0x002AC0), RUNE_C(0x002ABF)}, + {RUNE_C(0x002AC1), RUNE_C(0x002AC2)}, + {RUNE_C(0x002AC2), RUNE_C(0x002AC1)}, + {RUNE_C(0x002AC3), RUNE_C(0x002AC4)}, + {RUNE_C(0x002AC4), RUNE_C(0x002AC3)}, + {RUNE_C(0x002AC5), RUNE_C(0x002AC6)}, + {RUNE_C(0x002AC6), RUNE_C(0x002AC5)}, + {RUNE_C(0x002AC7), RUNE_C(0x002AC8)}, + {RUNE_C(0x002AC8), RUNE_C(0x002AC7)}, + {RUNE_C(0x002AC9), RUNE_C(0x002ACA)}, + {RUNE_C(0x002ACA), RUNE_C(0x002AC9)}, + {RUNE_C(0x002ACB), RUNE_C(0x002ACC)}, + {RUNE_C(0x002ACC), RUNE_C(0x002ACB)}, + {RUNE_C(0x002ACD), RUNE_C(0x002ACE)}, + {RUNE_C(0x002ACE), RUNE_C(0x002ACD)}, + {RUNE_C(0x002ACF), RUNE_C(0x002AD0)}, + {RUNE_C(0x002AD0), RUNE_C(0x002ACF)}, + {RUNE_C(0x002AD1), RUNE_C(0x002AD2)}, + {RUNE_C(0x002AD2), RUNE_C(0x002AD1)}, + {RUNE_C(0x002AD3), RUNE_C(0x002AD4)}, + {RUNE_C(0x002AD4), RUNE_C(0x002AD3)}, + {RUNE_C(0x002AD5), RUNE_C(0x002AD6)}, + {RUNE_C(0x002AD6), RUNE_C(0x002AD5)}, + {RUNE_C(0x002ADE), RUNE_C(0x0022A6)}, + {RUNE_C(0x002AE3), RUNE_C(0x0022A9)}, + {RUNE_C(0x002AE4), RUNE_C(0x0022A8)}, + {RUNE_C(0x002AE5), RUNE_C(0x0022AB)}, + {RUNE_C(0x002AEC), RUNE_C(0x002AED)}, + {RUNE_C(0x002AED), RUNE_C(0x002AEC)}, + {RUNE_C(0x002AEE), RUNE_C(0x002224)}, + {RUNE_C(0x002AF7), RUNE_C(0x002AF8)}, + {RUNE_C(0x002AF8), RUNE_C(0x002AF7)}, + {RUNE_C(0x002AF9), RUNE_C(0x002AFA)}, + {RUNE_C(0x002AFA), RUNE_C(0x002AF9)}, + {RUNE_C(0x002BFE), RUNE_C(0x00221F)}, + {RUNE_C(0x002E02), RUNE_C(0x002E03)}, + {RUNE_C(0x002E03), RUNE_C(0x002E02)}, + {RUNE_C(0x002E04), RUNE_C(0x002E05)}, + {RUNE_C(0x002E05), RUNE_C(0x002E04)}, + {RUNE_C(0x002E09), RUNE_C(0x002E0A)}, + {RUNE_C(0x002E0A), RUNE_C(0x002E09)}, + {RUNE_C(0x002E0C), RUNE_C(0x002E0D)}, + {RUNE_C(0x002E0D), RUNE_C(0x002E0C)}, + {RUNE_C(0x002E1C), RUNE_C(0x002E1D)}, + {RUNE_C(0x002E1D), RUNE_C(0x002E1C)}, + {RUNE_C(0x002E20), RUNE_C(0x002E21)}, + {RUNE_C(0x002E21), RUNE_C(0x002E20)}, + {RUNE_C(0x002E22), RUNE_C(0x002E23)}, + {RUNE_C(0x002E23), RUNE_C(0x002E22)}, + {RUNE_C(0x002E24), RUNE_C(0x002E25)}, + {RUNE_C(0x002E25), RUNE_C(0x002E24)}, + {RUNE_C(0x002E26), RUNE_C(0x002E27)}, + {RUNE_C(0x002E27), RUNE_C(0x002E26)}, + {RUNE_C(0x002E28), RUNE_C(0x002E29)}, + {RUNE_C(0x002E29), RUNE_C(0x002E28)}, + {RUNE_C(0x002E55), RUNE_C(0x002E56)}, + {RUNE_C(0x002E56), RUNE_C(0x002E55)}, + {RUNE_C(0x002E57), RUNE_C(0x002E58)}, + {RUNE_C(0x002E58), RUNE_C(0x002E57)}, + {RUNE_C(0x002E59), RUNE_C(0x002E5A)}, + {RUNE_C(0x002E5A), RUNE_C(0x002E59)}, + {RUNE_C(0x002E5B), RUNE_C(0x002E5C)}, + {RUNE_C(0x002E5C), RUNE_C(0x002E5B)}, + {RUNE_C(0x003008), RUNE_C(0x003009)}, + {RUNE_C(0x003009), RUNE_C(0x003008)}, + {RUNE_C(0x00300A), RUNE_C(0x00300B)}, + {RUNE_C(0x00300B), RUNE_C(0x00300A)}, + {RUNE_C(0x00300C), RUNE_C(0x00300D)}, + {RUNE_C(0x00300D), RUNE_C(0x00300C)}, + {RUNE_C(0x00300E), RUNE_C(0x00300F)}, + {RUNE_C(0x00300F), RUNE_C(0x00300E)}, + {RUNE_C(0x003010), RUNE_C(0x003011)}, + {RUNE_C(0x003011), RUNE_C(0x003010)}, + {RUNE_C(0x003014), RUNE_C(0x003015)}, + {RUNE_C(0x003015), RUNE_C(0x003014)}, + {RUNE_C(0x003016), RUNE_C(0x003017)}, + {RUNE_C(0x003017), RUNE_C(0x003016)}, + {RUNE_C(0x003018), RUNE_C(0x003019)}, + {RUNE_C(0x003019), RUNE_C(0x003018)}, + {RUNE_C(0x00301A), RUNE_C(0x00301B)}, + {RUNE_C(0x00301B), RUNE_C(0x00301A)}, + {RUNE_C(0x00FE59), RUNE_C(0x00FE5A)}, + {RUNE_C(0x00FE5A), RUNE_C(0x00FE59)}, + {RUNE_C(0x00FE5B), RUNE_C(0x00FE5C)}, + {RUNE_C(0x00FE5C), RUNE_C(0x00FE5B)}, + {RUNE_C(0x00FE5D), RUNE_C(0x00FE5E)}, + {RUNE_C(0x00FE5E), RUNE_C(0x00FE5D)}, + {RUNE_C(0x00FE64), RUNE_C(0x00FE65)}, + {RUNE_C(0x00FE65), RUNE_C(0x00FE64)}, + {RUNE_C(0x00FF08), RUNE_C(0x00FF09)}, + {RUNE_C(0x00FF09), RUNE_C(0x00FF08)}, + {RUNE_C(0x00FF1C), RUNE_C(0x00FF1E)}, + {RUNE_C(0x00FF1E), RUNE_C(0x00FF1C)}, + {RUNE_C(0x00FF3B), RUNE_C(0x00FF3D)}, + {RUNE_C(0x00FF3D), RUNE_C(0x00FF3B)}, + {RUNE_C(0x00FF5B), RUNE_C(0x00FF5D)}, + {RUNE_C(0x00FF5D), RUNE_C(0x00FF5B)}, + {RUNE_C(0x00FF5F), RUNE_C(0x00FF60)}, + {RUNE_C(0x00FF60), RUNE_C(0x00FF5F)}, + {RUNE_C(0x00FF62), RUNE_C(0x00FF63)}, + {RUNE_C(0x00FF63), RUNE_C(0x00FF62)}, +}; + +__MLIB_DEFINE_BSEARCH_KV(rune, lookup, 0) + +rune +uprop_get_bmg(rune ch) +{ + return ch < lengthof(lookup_lat1) ? lookup_lat1[ch] : mlib_lookup_kv(ch); +} -- cgit v1.2.3