1254885Sdumbbell/* $NetBSD: runetable.c,v 1.28 2013/04/13 10:21:21 joerg Exp $ */ 2254885Sdumbbell 3254885Sdumbbell/*- 4254885Sdumbbell * Copyright (c) 1993 5254885Sdumbbell * The Regents of the University of California. All rights reserved. 6254885Sdumbbell * 7254885Sdumbbell * This code is derived from software contributed to Berkeley by 8254885Sdumbbell * Paul Borman at Krystal Technologies. 9254885Sdumbbell * 10254885Sdumbbell * Redistribution and use in source and binary forms, with or without 11254885Sdumbbell * modification, are permitted provided that the following conditions 12254885Sdumbbell * are met: 13254885Sdumbbell * 1. Redistributions of source code must retain the above copyright 14254885Sdumbbell * notice, this list of conditions and the following disclaimer. 15254885Sdumbbell * 2. Redistributions in binary form must reproduce the above copyright 16254885Sdumbbell * notice, this list of conditions and the following disclaimer in the 17254885Sdumbbell * documentation and/or other materials provided with the distribution. 18254885Sdumbbell * 3. Neither the name of the University nor the names of its contributors 19254885Sdumbbell * may be used to endorse or promote products derived from this software 20254885Sdumbbell * without specific prior written permission. 21254885Sdumbbell * 22254885Sdumbbell * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 23254885Sdumbbell * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24254885Sdumbbell * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25254885Sdumbbell * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 26254885Sdumbbell * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27254885Sdumbbell * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 28254885Sdumbbell * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29254885Sdumbbell * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30254885Sdumbbell * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 31254885Sdumbbell * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32254885Sdumbbell * SUCH DAMAGE. 33254885Sdumbbell * 34254885Sdumbbell * $FreeBSD: src/lib/libc/locale/table.c,v 1.13 2000/02/08 07:43:25 obrien Exp $ 35254885Sdumbbell */ 36254885Sdumbbell 37254885Sdumbbell#include <sys/cdefs.h> 38254885Sdumbbell#if defined(LIBC_SCCS) && !defined(lint) 39254885Sdumbbell#if 0 40254885Sdumbbellstatic char sccsid[] = "@(#)table.c 8.1 (Berkeley) 6/27/93"; 41254885Sdumbbell#else 42254885Sdumbbell__RCSID("$NetBSD: runetable.c,v 1.28 2013/04/13 10:21:21 joerg Exp $"); 43254885Sdumbbell#endif 44254885Sdumbbell#endif /* LIBC_SCCS and not lint */ 45254885Sdumbbell 46254885Sdumbbell#include <sys/types.h> 47254885Sdumbbell#include <assert.h> 48254885Sdumbbell#include <wchar.h> 49254885Sdumbbell 50254885Sdumbbell#include "citrus_module.h" 51254885Sdumbbell#include "citrus_ctype.h" 52254885Sdumbbell#include "runetype_local.h" 53254885Sdumbbell 54254885Sdumbbell__dso_hidden const _RuneLocale _DefaultRuneLocale = { 55254885Sdumbbell { /*00*/ _RUNETYPE_C, 56254885Sdumbbell _RUNETYPE_C, 57254885Sdumbbell _RUNETYPE_C, 58254885Sdumbbell _RUNETYPE_C, 59254885Sdumbbell _RUNETYPE_C, 60254885Sdumbbell _RUNETYPE_C, 61254885Sdumbbell _RUNETYPE_C, 62254885Sdumbbell _RUNETYPE_C, 63254885Sdumbbell /*08*/ _RUNETYPE_C, 64254885Sdumbbell _RUNETYPE_C|_RUNETYPE_S|_RUNETYPE_B, 65254885Sdumbbell _RUNETYPE_C|_RUNETYPE_S, 66254885Sdumbbell _RUNETYPE_C|_RUNETYPE_S, 67254885Sdumbbell _RUNETYPE_C|_RUNETYPE_S, 68254885Sdumbbell _RUNETYPE_C|_RUNETYPE_S, 69254885Sdumbbell _RUNETYPE_C, 70254885Sdumbbell _RUNETYPE_C, 71254885Sdumbbell /*10*/ _RUNETYPE_C, 72254885Sdumbbell _RUNETYPE_C, 73254885Sdumbbell _RUNETYPE_C, 74254885Sdumbbell _RUNETYPE_C, 75254885Sdumbbell _RUNETYPE_C, 76254885Sdumbbell _RUNETYPE_C, 77254885Sdumbbell _RUNETYPE_C, 78254885Sdumbbell _RUNETYPE_C, 79254885Sdumbbell /*18*/ _RUNETYPE_C, 80254885Sdumbbell _RUNETYPE_C, 81254885Sdumbbell _RUNETYPE_C, 82254885Sdumbbell _RUNETYPE_C, 83254885Sdumbbell _RUNETYPE_C, 84254885Sdumbbell _RUNETYPE_C, 85254885Sdumbbell _RUNETYPE_C, 86254885Sdumbbell _RUNETYPE_C, 87254885Sdumbbell /*20*/ _RUNETYPE_S|_RUNETYPE_B|_RUNETYPE_R|_RUNETYPE_SW1, 88254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 89254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 90254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 91254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 92254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 93254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 94254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 95254885Sdumbbell /*28*/ _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 96254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 97254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 98254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 99254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 100254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 101254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 102254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 103254885Sdumbbell /*30*/ _RUNETYPE_D|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_X|_RUNETYPE_SW1|0, 104254885Sdumbbell _RUNETYPE_D|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_X|_RUNETYPE_SW1|1, 105254885Sdumbbell _RUNETYPE_D|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_X|_RUNETYPE_SW1|2, 106254885Sdumbbell _RUNETYPE_D|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_X|_RUNETYPE_SW1|3, 107254885Sdumbbell _RUNETYPE_D|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_X|_RUNETYPE_SW1|4, 108254885Sdumbbell _RUNETYPE_D|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_X|_RUNETYPE_SW1|5, 109254885Sdumbbell _RUNETYPE_D|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_X|_RUNETYPE_SW1|6, 110254885Sdumbbell _RUNETYPE_D|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_X|_RUNETYPE_SW1|7, 111254885Sdumbbell /*38*/ _RUNETYPE_D|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_X|_RUNETYPE_SW1|8, 112254885Sdumbbell _RUNETYPE_D|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_X|_RUNETYPE_SW1|9, 113254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 114254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 115254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 116254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 117254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 118254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 119254885Sdumbbell /*40*/ _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 120254885Sdumbbell _RUNETYPE_U|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|10, 121254885Sdumbbell _RUNETYPE_U|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|11, 122254885Sdumbbell _RUNETYPE_U|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|12, 123254885Sdumbbell _RUNETYPE_U|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|13, 124254885Sdumbbell _RUNETYPE_U|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|14, 125254885Sdumbbell _RUNETYPE_U|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|15, 126254885Sdumbbell _RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 127254885Sdumbbell /*48*/ _RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 128254885Sdumbbell _RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 129254885Sdumbbell _RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 130254885Sdumbbell _RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 131254885Sdumbbell _RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 132254885Sdumbbell _RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 133254885Sdumbbell _RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 134254885Sdumbbell _RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 135254885Sdumbbell /*50*/ _RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 136254885Sdumbbell _RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 137254885Sdumbbell _RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 138254885Sdumbbell _RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 139254885Sdumbbell _RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 140254885Sdumbbell _RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 141254885Sdumbbell _RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 142254885Sdumbbell _RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 143254885Sdumbbell /*58*/ _RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 144254885Sdumbbell _RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 145254885Sdumbbell _RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 146254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 147254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 148254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 149254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 150254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 151254885Sdumbbell /*60*/ _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 152254885Sdumbbell _RUNETYPE_L|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|10, 153254885Sdumbbell _RUNETYPE_L|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|11, 154254885Sdumbbell _RUNETYPE_L|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|12, 155254885Sdumbbell _RUNETYPE_L|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|13, 156254885Sdumbbell _RUNETYPE_L|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|14, 157254885Sdumbbell _RUNETYPE_L|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|15, 158254885Sdumbbell _RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 159254885Sdumbbell /*68*/ _RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 160254885Sdumbbell _RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 161254885Sdumbbell _RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 162254885Sdumbbell _RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 163254885Sdumbbell _RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 164254885Sdumbbell _RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 165254885Sdumbbell _RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 166254885Sdumbbell _RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 167254885Sdumbbell /*70*/ _RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 168254885Sdumbbell _RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 169254885Sdumbbell _RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 170254885Sdumbbell _RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 171254885Sdumbbell _RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 172254885Sdumbbell _RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 173254885Sdumbbell _RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 174254885Sdumbbell _RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 175254885Sdumbbell /*78*/ _RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 176254885Sdumbbell _RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 177254885Sdumbbell _RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1, 178254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 179254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 180254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 181254885Sdumbbell _RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1, 182254885Sdumbbell _RUNETYPE_C, 183254885Sdumbbell#ifdef ALL_80_TO_FF_SW1 184254885Sdumbbell /*80*/ _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 185254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 186254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 187254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 188254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 189254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 190254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 191254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 192254885Sdumbbell /*90*/ _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 193254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 194254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 195254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 196254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 197254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 198254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 199254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 200254885Sdumbbell /*A0*/ _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 201254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 202254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 203254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 204254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 205254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 206254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 207254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 208254885Sdumbbell /*B0*/ _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 209254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 210254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 211254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 212254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 213254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 214254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 215254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 216254885Sdumbbell /*C0*/ _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 217254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 218254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 219254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 220254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 221254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 222254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 223254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 224254885Sdumbbell /*D0*/ _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 225254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 226254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 227254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 228254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 229254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 230254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 231254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 232254885Sdumbbell /*E0*/ _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 233254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 234254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 235254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 236254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 237254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 238254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 239254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 240254885Sdumbbell /*F0*/ _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 241254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 242254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 243254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 244254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 245254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 246254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 247254885Sdumbbell _RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1, 248254885Sdumbbell#endif 249254885Sdumbbell }, 250254885Sdumbbell { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 251254885Sdumbbell 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 252254885Sdumbbell 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 253254885Sdumbbell 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 254254885Sdumbbell 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 255254885Sdumbbell 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 256254885Sdumbbell 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 257254885Sdumbbell 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 258254885Sdumbbell 0x40, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 259254885Sdumbbell 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 260254885Sdumbbell 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 261254885Sdumbbell 'x', 'y', 'z', 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 262254885Sdumbbell 0x60, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 263254885Sdumbbell 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 264254885Sdumbbell 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 265254885Sdumbbell 'x', 'y', 'z', 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 266254885Sdumbbell 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 267254885Sdumbbell 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 268254885Sdumbbell 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 269254885Sdumbbell 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 270254885Sdumbbell 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 271254885Sdumbbell 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 272254885Sdumbbell 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 273254885Sdumbbell 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 274254885Sdumbbell 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 275254885Sdumbbell 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 276254885Sdumbbell 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 277254885Sdumbbell 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 278254885Sdumbbell 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 279254885Sdumbbell 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 280254885Sdumbbell 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 281254885Sdumbbell 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 282254885Sdumbbell }, 283254885Sdumbbell { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 284254885Sdumbbell 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 285254885Sdumbbell 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 286254885Sdumbbell 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 287254885Sdumbbell 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 288254885Sdumbbell 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 289254885Sdumbbell 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 290254885Sdumbbell 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 291254885Sdumbbell 0x40, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 292254885Sdumbbell 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 293254885Sdumbbell 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 294254885Sdumbbell 'X', 'Y', 'Z', 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 295254885Sdumbbell 0x60, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 296254885Sdumbbell 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 297254885Sdumbbell 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 298254885Sdumbbell 'X', 'Y', 'Z', 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 299254885Sdumbbell 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 300254885Sdumbbell 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 301254885Sdumbbell 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 302254885Sdumbbell 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 303254885Sdumbbell 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 304254885Sdumbbell 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 305254885Sdumbbell 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 306254885Sdumbbell 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 307254885Sdumbbell 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 308254885Sdumbbell 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 309254885Sdumbbell 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 310254885Sdumbbell 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 311254885Sdumbbell 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 312254885Sdumbbell 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 313254885Sdumbbell 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 314254885Sdumbbell 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 315254885Sdumbbell }, 316254885Sdumbbell { 0, NULL }, 317254885Sdumbbell { 0, NULL }, 318254885Sdumbbell { 0, NULL }, 319254885Sdumbbell NULL, 0, 320254885Sdumbbell "646", 321254885Sdumbbell &_citrus_ctype_default, 322254885Sdumbbell { 323254885Sdumbbell { "towlower", 324254885Sdumbbell __UNCONST(&_DefaultRuneLocale.rl_maplower[0]), 325254885Sdumbbell __UNCONST(&_DefaultRuneLocale.rl_maplower_ext) 326254885Sdumbbell }, 327254885Sdumbbell { "towupper", 328254885Sdumbbell __UNCONST(&_DefaultRuneLocale.rl_mapupper[0]), 329254885Sdumbbell __UNCONST(&_DefaultRuneLocale.rl_mapupper_ext) 330254885Sdumbbell }, 331254885Sdumbbell }, 332254885Sdumbbell { 333254885Sdumbbell { "alnum", _RUNETYPE_A|_RUNETYPE_D }, 334254885Sdumbbell { "alpha", _RUNETYPE_A }, 335254885Sdumbbell { "blank", _RUNETYPE_B }, 336254885Sdumbbell { "cntrl", _RUNETYPE_C }, 337254885Sdumbbell { "digit", _RUNETYPE_D }, 338254885Sdumbbell { "graph", _RUNETYPE_G }, 339254885Sdumbbell { "lower", _RUNETYPE_L }, 340254885Sdumbbell { "print", _RUNETYPE_R }, 341254885Sdumbbell { "punct", _RUNETYPE_P }, 342254885Sdumbbell { "space", _RUNETYPE_S }, 343254885Sdumbbell { "upper", _RUNETYPE_U }, 344254885Sdumbbell { "xdigit", _RUNETYPE_X }, 345254885Sdumbbell }, 346254885Sdumbbell _C_ctype_tab_, 347254885Sdumbbell _C_tolower_tab_, 348254885Sdumbbell _C_toupper_tab_, 349254885Sdumbbell 350254885Sdumbbell#ifdef __BUILD_LEGACY 351254885Sdumbbell _C_compat_bsdctype, 352254885Sdumbbell#endif 353254885Sdumbbell}; 354254885Sdumbbell