![JAR search and dependency download from the Maven repository](/logo.png)
info.freelibrary.marc4j.converter.impl.UnicodeToIso5426 Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of freelib-marc4j Show documentation
Show all versions of freelib-marc4j Show documentation
An easy to use Application Programming Interface (API) for working with MARC and MARCXML in
Java.
/**
* Copyright (C) 2002 Bas Peters
*
* This file is part of MARC4J
*
* MARC4J is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* MARC4J is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with MARC4J; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package info.freelibrary.marc4j.converter.impl;
import org.marc4j.converter.CharConverter;
/**
*
* A utility to convert UCS/Unicode data to UNIMARC (ISO 5426 charset).
*
*
* @author Bas Peters
* @author Yves Pratter
*/
public class UnicodeToIso5426 extends CharConverter {
/**
*
* Converts UCS/Unicode data to UNIMARC (ISO 5426 charset).
*
*
* A question mark (0x3F) is returned if there is no match.
*
*
* @param data - the UCS/Unicode data in an array of char
* @return {@link String}- the UNIMARC (ISO 5426 charset) data
*/
public String convert(char data[]) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < data.length; i++) {
char c = data[i];
if (c < 128) {
sb.append(c);
} else {
int d = convert(c);
if (d < 256) {
sb.append((char) d);
} else {
sb.append((char) (d / 256));
sb.append((char) (d % 256));
}
}
}
return sb.toString();
}
private int convert(int i) {
switch (i) {
case 0x0024:
return 0xA4; // 2/4 dollar sign
case 0x005F:
return 0xD820; // underline
case 0x00A1:
return 0xA1; // 2/1 inverted exclamation mark
case 0x00A3:
return 0xA3; // 2/3 pound sign
case 0x00A5:
return 0xA5; // 2/5 yen sign
case 0x00A7:
return 0xA7; // 2/7 paragraph (section)
case 0x00A8:
return 0xC820; // diaeresis
case 0x00A9:
return 0xAD; // 2/13 copyright sign
case 0x00AB:
return 0xAB; // 2/11 left angle quotation mark
case 0x00AE:
return 0xAF; // 2/15 trade mark sign
case 0x00B7:
return 0xB7; // 3/7 middle dot
case 0x00B8:
return 0xD020; // cedilla
case 0x00BB:
return 0xBB; // 3/11 right angle quotation mark
case 0x00BF:
return 0xBF; // 3/15 inverted question mark
case 0x00C0:
return 0xC141; // CAPITAL A WITH GRAVE ACCENT
case 0x00C1:
return 0xC241; // CAPITAL A WITH ACUTE ACCENT
case 0x00C2:
return 0xC341; // CAPITAL A WITH CIRCUMFLEX ACCENT
case 0x00C3:
return 0xC441; // CAPITAL A WITH TILDE
case 0x00C4:
return 0xC841; // CAPITAL A WITH DIAERESIS
case 0x00C5:
return 0xCA41; // CAPITAL A WITH RING ABOVE
case 0x00C6:
return 0xE1; // 6/1 CAPITAL DIPHTHONG A WITH E
case 0x00C7:
return 0xD043; // CAPITAL C WITH CEDILLA
case 0x00C8:
return 0xC145; // CAPITAL E WITH GRAVE ACCENT
case 0x00C9:
return 0xC245; // CAPITAL E WITH ACUTE ACCENT
case 0x00CA:
return 0xC345; // CAPITAL E WITH CIRCUMFLEX ACCENT
case 0x00CB:
return 0xC845; // CAPITAL E WITH DIAERESIS
case 0x00CC:
return 0xC149; // CAPITAL I WITH GRAVE ACCENT
case 0x00CD:
return 0xC249; // CAPITAL I WITH ACUTE ACCENT
case 0x00CE:
return 0xC349; // CAPITAL I WITH CIRCUMFLEX ACCENT
case 0x00CF:
return 0xC849; // CAPITAL I WITH DIAERESIS
case 0x00D1:
return 0xC44E; // CAPITAL N WITH TILDE
case 0x00D2:
return 0xC14F; // CAPITAL O WITH GRAVE ACCENT
case 0x00D3:
return 0xC24F; // CAPITAL O WITH ACUTE ACCENT
case 0x00D4:
return 0xC34F; // CAPITAL O WITH CIRCUMFLEX ACCENT
case 0x00D5:
return 0xC44F; // CAPITAL O WITH TILDE
case 0x00D6:
return 0xC84F; // CAPITAL O WITH DIAERESIS
case 0x00D8:
return 0xE9; // 6/9 CAPITAL LETTER O WITH SOLIDUS [oblique
// stroke]
case 0x00D9:
return 0xC155; // CAPITAL U WITH GRAVE ACCENT
case 0x00DA:
return 0xC255; // CAPITAL U WITH ACUTE ACCENT
case 0x00DB:
return 0xC355; // CAPITAL U WITH CIRCUMFLEX
case 0x00DC:
return 0xC855; // CAPITAL U WITH DIAERESIS
case 0x00DD:
return 0xC259; // CAPITAL Y WITH ACUTE ACCENT
case 0x00DE:
return 0xEC; // 6/12 CAPITAL LETTER THORN
case 0x00DF:
return 0xFB; // 7/11 small letter sharp s
case 0x00E0:
return 0xC161; // small a with grave accent
case 0x00E1:
return 0xC261; // small a with acute accent
case 0x00E2:
return 0xC361; // small a with circumflex accent
case 0x00E3:
return 0xC461; // small a with tilde
case 0x00E4:
return 0xC861; // small a with diaeresis
case 0x00E5:
return 0xCA61; // small a with ring above
case 0x00E6:
return 0xF1; // 7/1 small diphthong a with e
case 0x00E7:
return 0xD063; // small c with cedilla
case 0x00E8:
return 0xC165; // small e with grave accent
case 0x00E9:
return 0xC265; // small e with acute accent
case 0x00EA:
return 0xC365; // small e with circumflex accent
case 0x00EB:
return 0xC865; // small e with diaeresis
case 0x00EC:
return 0xC169; // small i with grave accent
case 0x00ED:
return 0xC269; // small i with acute accent
case 0x00EE:
return 0xC369; // small i with circumflex accent
case 0x00EF:
return 0xC869; // small i with diaeresis
case 0x00F1:
return 0xC46E; // small n with tilde
case 0x00F2:
return 0xC16F; // small o with grave accent
case 0x00F3:
return 0xC26F; // small o with acute accent
case 0x00F4:
return 0xC36F; // small o with circumflex accent
case 0x00F5:
return 0xC46F; // small o with tilde
case 0x00F6:
return 0xC86F; // small o with diaeresis
case 0x00F8:
return 0xF9; // 7/9 small letter o with solidus (oblique stroke)
case 0x00F9:
return 0xC175; // small u with grave accent
case 0x00FA:
return 0xC275; // small u with acute accent
case 0x00FB:
return 0xC375; // small u with circumflex
case 0x00FC:
return 0xC875; // small u with diaeresis
case 0x00FD:
return 0xC279; // small y with acute accent
case 0x00FE:
return 0xFC; // 7/12 small letter thorn
case 0x00FF:
return 0xC879; // small y with diaeresis
case 0x0100:
return 0xC541; // CAPITAL A WITH MACRON
case 0x0101:
return 0xC561; // small a with macron
case 0x0102:
return 0xC641; // CAPITAL A WITH BREVE
case 0x0103:
return 0xC661; // small a with breve
case 0x0104:
return 0xD341; // CAPITAL A WITH OGONEK
case 0x0105:
return 0xD361; // small a with ogonek
case 0x0106:
return 0xC243; // CAPITAL C WITH ACUTE ACCENT
case 0x0107:
return 0xC263; // small c with acute accent
case 0x0108:
return 0xC343; // CAPITAL C WITH CIRCUMFLEX
case 0x0109:
return 0xC363; // small c with circumflex
case 0x010A:
return 0xC743; // CAPITAL C WITH DOT ABOVE
case 0x010B:
return 0xC763; // small c with dot above
case 0x010C:
return 0xCF43; // CAPITAL C WITH CARON
case 0x010D:
return 0xCF63; // small c with caron
case 0x010E:
return 0xCF44; // CAPITAL D WITH CARON
case 0x010F:
return 0xCF64; // small d with caron
case 0x0110:
return 0xE2; // 6/2 CAPITAL LETTER D WITH STROKE
case 0x0112:
return 0xC545; // CAPITAL E WITH MACRON
case 0x0113:
return 0xC565; // small e with macron
case 0x0114:
return 0xC645; // CAPITAL E WITH BREVE
case 0x0115:
return 0xC665; // small e with breve
case 0x0116:
return 0xC745; // CAPITAL E WITH DOT ABOVE
case 0x0117:
return 0xC765; // small e with dot above
case 0x0118:
return 0xD345; // CAPITAL E WITH OGONEK
case 0x0119:
return 0xD365; // small e with ogonek
case 0x011A:
return 0xCF45; // CAPITAL E WITH CARON
case 0x011B:
return 0xCF65; // small e with caron
case 0x011C:
return 0xC347; // CAPITAL G WITH CIRCUMFLEX
case 0x011D:
return 0xC367; // small g with circumflex
case 0x011E:
return 0xC647; // CAPITAL G WITH BREVE
case 0x011F:
return 0xC667; // small g with breve
case 0x0120:
return 0xC747; // CAPITAL G WITH DOT ABOVE
case 0x0121:
return 0xC767; // small g with dot above
case 0x0122:
return 0xD047; // CAPITAL G WITH CEDILLA
case 0x0123:
return 0xD067; // small g with cedilla
case 0x0124:
return 0xC348; // CAPITAL H WITH CIRCUMFLEX
case 0x0125:
return 0xC368; // small h with circumflex
case 0x0128:
return 0xC449; // CAPITAL I WITH TILDE
case 0x0129:
return 0xC469; // small i with tilde
case 0x012A:
return 0xC549; // CAPITAL I WITH MACRON
case 0x012B:
return 0xC569; // small i with macron
case 0x012C:
return 0xC649; // CAPITAL I WITH BREVE
case 0x012D:
return 0xC669; // small i with breve
case 0x012E:
return 0xD349; // CAPITAL I WITH OGONEK
case 0x012F:
return 0xD369; // small i with ogonek
case 0x0130:
return 0xC749; // CAPITAL I WITH DOT ABOVE
case 0x0131:
return 0xF5; // 7/5 small letter i without dot
case 0x0132:
return 0xE6; // 6/6 CAPITAL LETTER IJ
case 0x0133:
return 0xF6; // 7/6 small letter ij
case 0x0134:
return 0xC34A; // CAPITAL J WITH CIRCUMFLEX
case 0x0135:
return 0xC36A; // small j with circumflex
case 0x0136:
return 0xD04B; // CAPITAL K WITH CEDILLA
case 0x0137:
return 0xD06B; // small k with cedilla
case 0x0139:
return 0xC24C; // CAPITAL L WITH ACUTE ACCENT
case 0x013A:
return 0xC26C; // small l with acute accent
case 0x013B:
return 0xD04C; // CAPITAL L WITH CEDILLA
case 0x013C:
return 0xD06C; // small l with cedilla
case 0x013D:
return 0xCF4C; // CAPITAL L WITH CARON
case 0x013E:
return 0xCF6C; // small l with caron
case 0x0141:
return 0xE8; // 6/8 CAPITAL LETTER L WITH STROKE
case 0x0142:
return 0xF8; // 7/8 small letter l with stroke
case 0x0143:
return 0xC24E; // CAPITAL N WITH ACUTE ACCENT
case 0x0144:
return 0xC26E; // small n with acute accent
case 0x0145:
return 0xD04E; // CAPITAL N WITH CEDILLA
case 0x0146:
return 0xD06E; // small n with cedilla
case 0x0147:
return 0xCF4E; // CAPITAL N WITH CARON
case 0x0148:
return 0xCF6E; // small n with caron
case 0x014C:
return 0xC54F; // CAPITAL O WITH MACRON
case 0x014D:
return 0xC56F; // small o with macron
case 0x014E:
return 0xC64F; // CAPITAL O WITH BREVE
case 0x014F:
return 0xC66F; // small o with breve
case 0x0150:
return 0xCD4F; // CAPITAL O WITH DOUBLE ACUTE
case 0x0151:
return 0xCD6F; // small o with double acute
case 0x0152:
return 0xEA; // 6/10 CAPITAL DIPHTONG OE
case 0x0153:
return 0xFA; // 7/10 small diphtong oe
case 0x0154:
return 0xC252; // CAPITAL R WITH ACUTE ACCENT
case 0x0155:
return 0xC272; // small r with acute accent
case 0x0156:
return 0xD052; // CAPITAL R WITH CEDILLA
case 0x0157:
return 0xD072; // small r with cedilla
case 0x0158:
return 0xCF52; // CAPITAL R WITH CARON
case 0x0159:
return 0xCF72; // small r with caron
case 0x015A:
return 0xC253; // CAPITAL S WITH ACUTE ACCENT
case 0x015B:
return 0xC273; // small s with acute accent
case 0x015C:
return 0xC353; // CAPITAL S WITH CIRCUMFLEX
case 0x015D:
return 0xC373; // small s with circumflex
case 0x015E:
return 0xD053; // CAPITAL S WITH CEDILLA
case 0x015F:
return 0xD073; // small s with cedilla
case 0x0160:
return 0xCF53; // CAPITAL S WITH CARON
case 0x0161:
return 0xCF73; // small s with caron
case 0x0162:
return 0xD054; // CAPITAL T WITH CEDILLA
case 0x0163:
return 0xD074; // small t with cedilla
case 0x0164:
return 0xCF54; // CAPITAL T WITH CARON
case 0x0165:
return 0xCF74; // small t with caron
case 0x0168:
return 0xC455; // CAPITAL U WITH TILDE
case 0x0169:
return 0xC475; // small u with tilde
case 0x016A:
return 0xC555; // CAPITAL U WITH MACRON
case 0x016B:
return 0xC575; // small u with macron
case 0x016C:
return 0xC655; // CAPITAL U WITH BREVE
case 0x016D:
return 0xC675; // small u with breve
case 0x016E:
return 0xCAAD; // CAPITAL U WITH RING ABOVE
case 0x016F:
return 0xCA75; // small u with ring above
case 0x0170:
return 0xCD55; // CAPITAL U WITH DOUBLE ACUTE
case 0x0171:
return 0xCD75; // small u with double acute
case 0x0172:
return 0xD355; // CAPITAL U WITH OGONEK
case 0x0173:
return 0xD375; // small u with ogonek
case 0x0174:
return 0xC357; // CAPITAL W WITH CIRCUMFLEX
case 0x0175:
return 0xC377; // small w with circumflex
case 0x0176:
return 0xC359; // CAPITAL Y WITH CIRCUMFLEX
case 0x0177:
return 0xC379; // small y with circumflex
case 0x0178:
return 0xC859; // CAPITAL Y WITH DIAERESIS
case 0x0179:
return 0xC25A; // CAPITAL Z WITH ACUTE ACCENT
case 0x017A:
return 0xC27A; // small z with acute accent
case 0x017B:
return 0xC75A; // CAPITAL Z WITH DOT ABOVE
case 0x017C:
return 0xC77A; // small z with dot above
case 0x017D:
return 0xCF5A; // CAPITAL Z WITH CARON
case 0x017E:
return 0xCF7A; // small z with caron
case 0x01A0:
return 0xCE54; // LATIN CAPITAL LETTER O WITH HORN
case 0x01A1:
return 0xCE74; // latin small letter o with horn
case 0x01AF:
return 0xCE55; // LATIN CAPITAL LETTER U WITH HORN
case 0x01B0:
return 0xCE75; // latin small letter u with horn
case 0x01CD:
return 0xCF41; // CAPITAL A WITH CARON
case 0x01CE:
return 0xCF61; // small a with caron
case 0x01CF:
return 0xCF49; // CAPITAL I WITH CARON
case 0x01D0:
return 0xCF69; // small i with caron
case 0x01D1:
return 0xCF4F; // CAPITAL O WITH CARON
case 0x01D2:
return 0xCF6F; // small o with caron
case 0x01D3:
return 0xCF55; // CAPITAL U WITH CARON
case 0x01D4:
return 0xCF75; // small u with caron
case 0x01E2:
return 0xC5E1; // CAPITAL AE WITH MACRON
case 0x01E3:
return 0xC5F1; // small ae with macron
case 0x01E6:
return 0xCF47; // CAPITAL G WITH CARON
case 0x01E7:
return 0xCF67; // small g with caron
case 0x01E8:
return 0xCF4B; // CAPITAL K WITH CARON
case 0x01E9:
return 0xCF6B; // small k with caron
case 0x01EA:
return 0xD34F; // CAPITAL O WITH OGONEK
case 0x01EB:
return 0xD36F; // small o with ogonek
case 0x01F0:
return 0xCF6A; // small j with caron
case 0x01F4:
return 0xC247; // CAPITAL G WITH ACUTE
case 0x01F5:
return 0xC267; // small g with acute
case 0x01FC:
return 0xC2E1; // CAPITAL AE WITH ACUTE
case 0x01FD:
return 0xC2F1; // small ae with acute
case 0x02B9:
return 0xBD; // 3/13 mjagkij znak
case 0x02BA:
return 0xBE; // 3/14 tverdyj znak
case 0x02CC:
return 0xDA20; // small low vertical bar
case 0x02DB:
return 0xD320; // ogonek
case 0x0623:
return 0xB1; // 3/1 alif/hamzah [alef with hamza above]
case 0x0639:
return 0xB0; // 3/0 ayn [ain]
case 0x1E00:
return 0xD441; // CAPITAL A WITH RING BELOW
case 0x1E01:
return 0xD461; // small a with ring below
case 0x1E02:
return 0xC742; // CAPITAL B WITH DOT ABOVE
case 0x1E03:
return 0xC762; // small b with dot above
case 0x1E04:
return 0xD642; // CAPITAL B WITH DOT BELOW
case 0x1E05:
return 0xD662; // small b with dot below
case 0x1E0A:
return 0xC744; // CAPITAL D WITH DOT ABOVE
case 0x1E0B:
return 0xC764; // small d with dot above
case 0x1E0C:
return 0xD644; // CAPITAL D WITH DOT BELOW
case 0x1E0D:
return 0xD664; // small d with dot below
case 0x1E10:
return 0xD044; // CAPITAL D WITH CEDILLA
case 0x1E11:
return 0xD064; // small d with cedilla
case 0x1E1E:
return 0xC746; // CAPITAL F WITH DOT ABOVE
case 0x1E1F:
return 0xC766; // small f with dot above
case 0x1E20:
return 0xC547; // CAPITAL G WITH MACRON
case 0x1E21:
return 0xC567; // small g with macron
case 0x1E22:
return 0xC748; // CAPITAL H WITH DOT ABOVE
case 0x1E23:
return 0xC768; // small h with dot above
case 0x1E24:
return 0xD648; // CAPITAL H WITH DOT BELOW
case 0x1E25:
return 0xD668; // small h with dot below
case 0x1E26:
return 0xC848; // CAPITAL H WITH DIAERESIS
case 0x1E27:
return 0xC868; // small h with diaeresis
case 0x1E28:
return 0xD048; // CAPITAL H WITH CEDILLA
case 0x1E29:
return 0xD068; // small h with cedilla
case 0x1E2A:
return 0xF948; // CAPITAL H WITH BREVE BELOW
case 0x1E2B:
return 0xF968; // small h with breve below
case 0x1E30:
return 0xC24B; // CAPITAL K WITH ACUTE
case 0x1E31:
return 0xC26B; // small k with acute
case 0x1E32:
return 0xD64B; // CAPITAL K WITH DOT BELOW
case 0x1E33:
return 0xD66B; // small k with dot below
case 0x1E36:
return 0xD64C; // CAPITAL L WITH DOT BELOW
case 0x1E37:
return 0xD66C; // small l with dot below
case 0x1E3E:
return 0xC24D; // CAPITAL M WITH ACUTE
case 0x1E3F:
return 0xC26D; // small m with acute
case 0x1E40:
return 0xC74D; // CAPITAL M WITH DOT ABOVE
case 0x1E41:
return 0xC76D; // small m with dot above
case 0x1E42:
return 0xD64D; // CAPITAL M WITH DOT BELOW
case 0x1E43:
return 0xD66D; // small m with dot below
case 0x1E44:
return 0xC74E; // CAPITAL N WITH DOT ABOVE
case 0x1E45:
return 0xC76E; // small n with dot above
case 0x1E46:
return 0xD64E; // CAPITAL N WITH DOT BELOW
case 0x1E47:
return 0xD66E; // small n with dot below
case 0x1E54:
return 0xC250; // CAPITAL P WITH ACUTE
case 0x1E55:
return 0xC270; // small p with acute
case 0x1E56:
return 0xC750; // CAPITAL P WITH DOT ABOVE
case 0x1E57:
return 0xC770; // small p with dot above
case 0x1E58:
return 0xC752; // CAPITAL R WITH DOT ABOVE
case 0x1E59:
return 0xC772; // small r with dot above
case 0x1E5A:
return 0xD652; // CAPITAL R WITH DOT BELOW
case 0x1E5B:
return 0xD672; // small r with dot below
case 0x1E60:
return 0xC753; // CAPITAL S WITH DOT ABOVE
case 0x1E61:
return 0xC773; // small s with dot above
case 0x1E62:
return 0xD653; // CAPITAL S WITH DOT BELOW
case 0x1E63:
return 0xD673; // small s with dot below
case 0x1E6A:
return 0xC754; // CAPITAL T WITH DOT ABOVE
case 0x1E6B:
return 0xC774; // small t with dot above
case 0x1E6C:
return 0xD654; // CAPITAL T WITH DOT BELOW
case 0x1E6D:
return 0xD674; // small t with dot below
case 0x1E72:
return 0xD755; // CAPITAL U WITH DIAERESIS BELOW
case 0x1E73:
return 0xD775; // small u with diaeresis below
case 0x1E7C:
return 0xC456; // CAPITAL V WITH TILDE
case 0x1E7D:
return 0xC476; // small v with tilde
case 0x1E7E:
return 0xD656; // CAPITAL V WITH DOT BELOW
case 0x1E7F:
return 0xD676; // small v with dot below
case 0x1E80:
return 0xC157; // CAPITAL W WITH GRAVE
case 0x1E81:
return 0xC177; // small w with grave
case 0x1E82:
return 0xC257; // CAPITAL W WITH ACUTE
case 0x1E83:
return 0xC277; // small w with acute
case 0x1E84:
return 0xC857; // CAPITAL W WITH DIAERESIS
case 0x1E85:
return 0xC877; // small w with diaeresis
case 0x1E86:
return 0xC757; // CAPITAL W WITH DOT ABOVE
case 0x1E87:
return 0xC777; // small w with dot above
case 0x1E88:
return 0xD657; // CAPITAL W WITH DOT BELOW
case 0x1E89:
return 0xD677; // small w with dot below
case 0x1E8A:
return 0xC758; // CAPITAL X WITH DOT ABOVE
case 0x1E8B:
return 0xC778; // small x with dot above
case 0x1E8C:
return 0xC858; // CAPITAL X WITH DIAERESIS
case 0x1E8D:
return 0xC878; // small x with diaeresis
case 0x1E8E:
return 0xC759; // CAPITAL Y WITH DOT ABOVE
case 0x1E8F:
return 0xC779; // small y with dot above
case 0x1E90:
return 0xC35A; // CAPITAL Z WITH CIRCUMFLEX
case 0x1E91:
return 0xC37A; // small z with circumflex
case 0x1E92:
return 0xD65A; // CAPITAL Z WITH DOT BELOW
case 0x1E93:
return 0xD67A; // small z with dot below
case 0x1E97:
return 0xC874; // small t with diaeresis
case 0x1E98:
return 0xCA77; // small w with ring above
case 0x1E99:
return 0xCA79; // small y with ring above
case 0x1EA0:
return 0xD641; // CAPITAL A WITH DOT BELOW
case 0x1EA1:
return 0xD661; // small a with dot below
case 0x1EA2:
return 0xC041; // CAPITAL A WITH HOOK ABOVE
case 0x1EA3:
return 0xC061; // small a with hook above
case 0x1EB8:
return 0xD645; // CAPITAL E WITH DOT BELOW
case 0x1EB9:
return 0xD665; // small e with dot below
case 0x1EBA:
return 0xC045; // CAPITAL E WITH HOOK ABOVE
case 0x1EBB:
return 0xC065; // small e with hook above
case 0x1EBC:
return 0xC445; // CAPITAL E WITH TILDE
case 0x1EBD:
return 0xC465; // small e with tilde
case 0x1EC8:
return 0xC049; // CAPITAL I WITH HOOK ABOVE
case 0x1EC9:
return 0xC069; // small i with hook above
case 0x1ECA:
return 0xD649; // CAPITAL I WITH DOT BELOW
case 0x1ECB:
return 0xD669; // small i with dot below
case 0x1ECC:
return 0xD64F; // CAPITAL O WITH DOT BELOW
case 0x1ECD:
return 0xD66F; // small o with dot below
case 0x1ECE:
return 0xC04F; // CAPITAL O WITH HOOK ABOVE
case 0x1ECF:
return 0xC06F; // small o with hook above
case 0x1EE4:
return 0xD655; // CAPITAL U WITH DOT BELOW
case 0x1EE5:
return 0xD675; // small u with dot below
case 0x1EE6:
return 0xC055; // CAPITAL U WITH HOOK ABOVE
case 0x1EE7:
return 0xC075; // small u with hook above
case 0x1EF2:
return 0xC159; // CAPITAL Y WITH GRAVE
case 0x1EF3:
return 0xC179; // small y with grave
case 0x1EF4:
return 0xD659; // CAPITAL Y WITH DOT BELOW
case 0x1EF5:
return 0xD679; // small y with dot below
case 0x1EF6:
return 0xC059; // CAPITAL Y WITH HOOK ABOVE
case 0x1EF7:
return 0xC079; // small y with hook above
case 0x1EF8:
return 0xC459; // CAPITAL Y WITH TILDE
case 0x1EF9:
return 0xC479; // small y with tilde
case 0x2017:
return 0xD920; // double underline
case 0x2018:
return 0xA9; // 2/9 left high single quotation mark
// case 0x2018: return 0xB2; // 3/2 left low single quotation
// mark
case 0x2019:
return 0xB9; // 3/9 right high single quotation mark
case 0x201C:
return 0xA2; // 2/2 left low double quotation mark
// case 0x201C: return 0xAA; // 2/10 left high double quotation
// mark
case 0x201D:
return 0xBA; // 3/10 right high double quotation mark
case 0x2020:
return 0xA6; // 2/6 single dagger
case 0x2021:
return 0xB6; // 3/6 double dagger
case 0x2032:
return 0xA8; // 2/8 prime
case 0x2033:
return 0xB8; // 3/8 double prime
case 0x2117:
return 0xAE; // 2/14 sound recording copyright sign
case 0x266D:
return 0xAC; // 2/12 music flat
case 0x266F:
return 0xBC; // 3/12 musical sharp
default:
return 0x3F; // if no match, return question mark
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy