1
yomichan-import/daijirin.go
stephenmk 853d0b33dc
Use empty interface type for dictionary glossaries
Necesssary for structured content support
2023-01-22 14:14:33 -06:00

1745 lines
30 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package yomichan
import (
"regexp"
"strings"
zig "foosoft.net/projects/zero-epwing-go"
)
type daijirinExtractor struct {
partsExp *regexp.Regexp
readGroupExp *regexp.Regexp
expVarExp *regexp.Regexp
metaExp *regexp.Regexp
v5Exp *regexp.Regexp
v1Exp *regexp.Regexp
}
func makeDaijirinExtractor() epwingExtractor {
return &daijirinExtractor{
partsExp: regexp.MustCompile(`([^(【〖]+)(?:【(.*)】)?(?:〖(.*)〗)?(?:(.*))?`),
readGroupExp: regexp.MustCompile(`[-・]+`),
expVarExp: regexp.MustCompile(`\(([^\)]*)\)`),
metaExp: regexp.MustCompile(`([^]*)`),
v5Exp: regexp.MustCompile(`(動.[四五]([^]+)?)|(動..二)`),
v1Exp: regexp.MustCompile(`(動..一)`),
}
}
func (e *daijirinExtractor) extractTerms(entry zig.BookEntry, sequence int) []dbTerm {
matches := e.partsExp.FindStringSubmatch(entry.Heading)
if matches == nil {
return nil
}
var expressions, readings []string
if expression := matches[2]; len(expression) > 0 {
expression = e.metaExp.ReplaceAllLiteralString(expression, "")
for _, split := range strings.Split(expression, "・") {
splitInc := e.expVarExp.ReplaceAllString(split, "$1")
expressions = append(expressions, splitInc)
if split != splitInc {
splitExc := e.expVarExp.ReplaceAllLiteralString(split, "")
expressions = append(expressions, splitExc)
}
}
}
if reading := matches[1]; len(reading) > 0 {
reading = e.readGroupExp.ReplaceAllLiteralString(reading, "")
readings = append(readings, reading)
}
var tags []string
for _, split := range strings.Split(entry.Text, "\n") {
if matches := e.metaExp.FindStringSubmatch(split); matches != nil {
for _, tag := range strings.Split(matches[1], "・") {
tags = append(tags, tag)
}
}
}
var terms []dbTerm
if len(expressions) == 0 {
for _, reading := range readings {
term := dbTerm{
Expression: reading,
Glossary: []any{entry.Text},
Sequence: sequence,
}
e.exportRules(&term, tags)
terms = append(terms, term)
}
} else {
for _, expression := range expressions {
for _, reading := range readings {
term := dbTerm{
Expression: expression,
Reading: reading,
Glossary: []any{entry.Text},
Sequence: sequence,
}
e.exportRules(&term, tags)
terms = append(terms, term)
}
}
}
return terms
}
func (*daijirinExtractor) extractKanji(entry zig.BookEntry) []dbKanji {
return nil
}
func (e *daijirinExtractor) exportRules(term *dbTerm, tags []string) {
for _, tag := range tags {
if tag == "形" {
term.addRules("adj-i")
} else if tag == "動サ変" && (strings.HasSuffix(term.Expression, "する") || strings.HasSuffix(term.Expression, "為る")) {
term.addRules("vs")
} else if term.Expression == "来る" {
term.addRules("vk")
} else if e.v5Exp.MatchString(tag) {
term.addRules("v5")
} else if e.v1Exp.MatchString(tag) {
term.addRules("v1")
}
}
}
func (*daijirinExtractor) getRevision() string {
return "daijirin2"
}
func (*daijirinExtractor) getFontNarrow() map[int]string {
return map[int]string{
49441: "á",
49442: "à",
49443: "â",
49444: "ä",
49445: "ã",
49446: "ā",
49447: "é",
49448: "è",
49449: "ê",
49450: "ë",
49451: "ē",
49452: "í",
49453: "î",
49454: "ï",
49455: "ñ",
49456: "ó",
49457: "ò",
49458: "ô",
49459: "ö",
49460: "ř",
49461: "ú",
49462: "ü",
49463: "~",
49464: "ç",
49465: "ˇ",
49466: "ɡ",
49467: "ŋ",
49468: "ʒ",
49469: "ʃ",
49470: "ɔ",
49471: "ð",
49472: "Á",
49473: "Í",
49474: "Ú",
49475: "É",
49476: "Ó",
49477: "À",
49478: "È",
49479: "Ò",
49480: "ì",
49481: "ù",
49482: "ý",
49483: "ỳ",
49484: "ɑ",
49485: "ə",
49486: "ə",
49487: "ɛ",
49488: "θ",
49489: "ʌ",
49490: "ɒ",
49491: "ə́",
49492: "ɔ́",
49493: "ɛ́",
49494: "ʌ́",
49495: "ɑ̀",
49496: "ə̀",
49497: "ɔ̀",
49498: "ɛ̀",
49499: "ʌ̀",
49500: "æ",
49501: "ǽ",
49502: "æ̀",
49503: "Æ",
49504: "ɑ",
49505: "å",
49506: "˘",
49507: "ă",
49508: "ŏ",
49509: "ĭ",
49510: "V́",
49511: "T́",
49512: "ɠ",
49513: "ɔ̃",
49515: "ɚ",
49516: "«",
49517: "»",
49519: "ŋ",
49520: "m̥",
49521: "ḿ̥",
49522: "Ɂ",
49523: "◌́◌̃", /* FIXME: should be acute ontop of tilde */
49524: "ã",
49525: "æ",
49526: "ɔ",
49527: "ć",
49528: "ã́",
49529: "ɛ̃́",
49531: "û",
49532: "Ý",
49533: "ɔ",
49534: "Ḿ",
49697: "ɛ̃",
49698: "⁺",
49699: "ˣ",
49700: "ō",
49701: "ğ",
49702: "𝐴",
49703: "𝐵",
49704: "𝐷",
49705: "Ḍ",
49706: "𝐸",
49707: "𝐹",
49708: "𝐺",
49709: "𝐻",
49710: "Ḥ",
49711: "𝐿",
49712: "𝑀",
49713: "𝑁",
49714: "𝑃",
49715: "𝑄",
49716: "𝑅",
49717: "Ṛ",
49718: "𝑆",
49719: "Ṣ",
49720: "𝑇",
49721: "𝑉",
49722: "Ẓ",
49723: "𝑎",
49724: "ą",
49725: "𝑏",
49726: "𝑐",
49727: "𝑑",
49728: "ḍ",
49729: "𝑒",
49730: "ę",
49731: "𝑓",
49732: "𝑔",
49733: "𝘩",
49734: "ḥ",
49735: "𝒾",
49736: "ị",
49737: "𝑘",
49738: "𝑙",
49739: "𝑚",
49740: "ṃ",
49741: "𝑛",
49742: "ṇ",
49743: "𝑜",
49744: "𝑝",
49745: "𝑞",
49746: "𝑟",
49747: "ṛ",
49748: "𝑠",
49749: "ş",
49750: "ṣ",
49751: "𝑡",
49752: "ṭ",
49753: "𝑣",
49754: "𝑥",
49755: "𝑦",
49756: "𝑧",
49757: "ẓ",
49758: "İ",
49759: "ṁ",
49760: "ṅ",
49761: "ż",
49762: "Ś",
49763: "ć",
49764: "ń",
49765: "ś",
49766: "ý",
49767: "ź",
49768: "ì",
49769: "Ä",
49770: "Ö",
49771: "Ü",
49772: "ÿ",
49773: "Â",
49774: "ộ",
49775: "û",
49776: "Ā",
49777: "Ē",
49778: "Ī",
49779: "Ō",
49780: "Ū",
49781: "ī",
49782: "n̄",
49783: "p̄",
49784: "ū",
49785: "ȳ",
49786: "Ł",
49787: "ł",
49788: "ø",
49789: "ĩ",
49790: "õ",
49954: "°R",
49955: "º",
49956: "½",
49957: "⅓",
49958: "¹",
49959: "²",
49960: "¾",
49961: "³",
49962: "⁴",
49963: "⁵",
49964: "⁶",
49965: "⁷",
49966: "⁸",
49967: "⁹",
49968: "ᴹ",
49969: "𝑎/𝑏",
49970: "ᵇ",
49971: "(𝑎→𝑏)", /* FIXME: 定積分 should be 'b' above 'a' for integral */
49972: "ɟ",
49973: "ⁱ",
49974: "ᵐ",
49975: "ⁿ",
49976: "ʳ",
49977: "ᵗ",
49978: "ˣ",
49979: "(𝑎→𝑥)", /* FIXME: 不定積分 should be 'x' above 'a' for integral */
49980: "ʸ",
49981: "⁺",
49982: "⁻",
49983: "±",
49984: "ᶿ",
49985: "₀",
49986: "₁",
49987: "₂",
49988: "₃",
49989: "₄",
49990: "₅",
49991: "₆",
49992: "₇",
49993: "₈",
49994: "₉",
49995: "ᴀ",
49996: "ₐ",
49997: "ᵦ", /* FIXME: subscript 'b' doesn't exist */
49998: "ᵢ",
49999: "ₖ",
50000: "ₘ",
50001: "ₙ",
50002: "ᵣ",
50003: "ₓ",
50004: "₋ㇾ", /* FIXME: 漢文訓読 */
50005: "₊",
50006: "₋",
50010: "g̀",
50012: "$",
50016: "ㇾ", /* FIXME: 漢文訓読 */
50020: "₋", /* FIXME: 漢文訓読 */
50021: "{㆘}", /* FIXME: 漢文訓読 */
50022: "{㆔}", /* FIXME: 漢文訓読 */
50023: "{㆖}", /* FIXME: 漢文訓読 */
50025: "{㆗}", /* FIXME: 漢文訓読 */
50026: "₌", /* FIXME: 漢文訓読 */
50027: "ĕ",
50028: "Č",
50029: "Š",
50030: "ǎ",
50031: "č",
50032: "ě",
50033: "ň",
50034: "ř",
50035: "š",
50036: "ž",
50037: "ヰ",
50038: "ヱ",
50039: "ɯ̈",
50040: "ɰ",
50041: "ữ",
50042: "ʔ",
50043: "ɦ",
50044: "ß",
50045: "ɪ",
50046: "ɴ",
50209: "ɲ",
50210: "ː",
50211: "ς",
}
}
func (*daijirinExtractor) getFontWide() map[int]string {
return map[int]string{
41249: "仿",
41250: "佉",
41251: "侗",
41252: "倘",
41253: "偓",
41254: "傔",
41255: "傖",
41256: "僄",
41257: "僦",
41258: "兕",
41259: "凴",
41260: "刁",
41261: "剉",
41262: "剗",
41263: "劂",
41264: "劓",
41265: "勖",
41266: "卬",
41267: "厓",
41268: "厲",
41269: "呍",
41270: "吧",
41271: "咜",
41272: "呫",
41273: "呦",
41274: "咿",
41275: "咩",
41276: "哿",
41277: "唫",
41278: "嘈",
41279: "嘻",
41280: "噯",
41281: "噲",
41282: "嚚",
41283: "嚬",
41284: "圊",
41285: "圯",
41286: "坌",
41287: "埸",
41288: "埶",
41289: "埤",
41290: "壔",
41291: "壠",
41292: "壚",
41293: "虁",
41294: "奝",
41295: "奭",
41296: "姒",
41297: "婥",
41298: "婕",
41299: "孼",
41300: "尫",
41301: "屩",
41302: "崧",
41303: "嵆",
41304: "嶠",
41305: "嶸",
41306: "幘",
41307: "庾",
41308: "龐",
41309: "弇",
41310: "彀",
41311: "彐",
41312: "彤",
41313: "徉",
41314: "徜",
41315: "徧",
41316: "忉",
41317: "忼",
41318: "忡",
41319: "怵",
41320: "悝",
41321: "惛",
41322: "惕",
41323: "惙",
41324: "惲",
41325: "愷",
41326: "戕",
41327: "扃",
41328: "扑",
41329: "拖",
41330: "拄",
41331: "捃",
41332: "挹",
41333: "摹",
41334: "撝",
41335: "撿",
41336: "昱",
41337: "晡",
41338: "皙",
41339: "腊",
41340: "臏",
41341: "杇",
41342: "枘",
41505: "杻",
41506: "棰",
41507: "棖",
41508: "楨",
41509: "楣",
41510: "橛",
41511: "櫬",
41512: "欛",
41513: "歆",
41514: "殂",
41515: "殭",
41516: "毱",
41517: "氅",
41518: "氐",
41519: "氳",
41520: "淼",
41521: "沅",
41522: "沆",
41523: "汴",
41524: "沔",
41525: "泫",
41526: "泮",
41527: "洄",
41528: "洎",
41529: "洮",
41530: "浥",
41531: "淄",
41532: "涿",
41533: "淝",
41534: "湜",
41535: "渧",
41536: "滃",
41537: "漪",
41538: "漚",
41539: "漳",
41540: "澌",
41541: "瀆",
41542: "灝",
41543: "灤",
41544: "灎",
41545: "炫",
41546: "炷",
41547: "焮",
41548: "焠",
41549: "煜",
41550: "煇",
41551: "煆",
41552: "煨",
41553: "熅",
41554: "熒",
41555: "熇",
41556: "熳",
41557: "燋",
41558: "燁",
41559: "燾",
41560: "凞",
41561: "牓",
41562: "牕",
41563: "牖",
41564: "犍",
41565: "犛",
41566: "猨",
41567: "獐",
41568: "獷",
41569: "獼",
41570: "玕",
41571: "珉",
41572: "琦",
41573: "琚",
41574: "琨",
41575: "璆",
41576: "璉",
41577: "璟",
41578: "璣",
41579: "璘",
41580: "璨",
41581: "璿",
41582: "瓚",
41583: "畎",
41584: "痀",
41585: "痤",
41586: "瘖",
41587: "瘭",
41588: "皞",
41589: "盎",
41590: "盌",
41591: "盬",
41592: "盼",
41593: "眚",
41594: "眙",
41595: "睢",
41596: "睟",
41597: "睜",
41598: "睽",
41761: "矰",
41762: "矻",
41763: "砭",
41764: "确",
41765: "磈",
41766: "磷",
41767: "禘",
41768: "秔",
41769: "窅",
41770: "窠",
41771: "窬",
41772: "窳",
41773: "竽",
41774: "筠",
41775: "簋",
41776: "簠",
41777: "籮",
41778: "糗",
41779: "糕",
41780: "糝",
41781: "紈",
41782: "紓",
41783: "絇",
41784: "絓",
41785: "絜",
41786: "絺",
41787: "綈",
41788: "緂",
41789: "縈",
41790: "縕",
41791: "縑",
41792: "縠",
41793: "縝",
41794: "繇",
41795: "繒",
41796: "繳",
41797: "罽",
41798: "罾",
41799: "翟",
41800: "翬",
41801: "耦",
41802: "聱",
41803: "艴",
41804: "芎",
41805: "芷",
41806: "芮",
41807: "苾",
41808: "茀",
41809: "荇",
41810: "荃",
41811: "莘",
41812: "蒯",
41813: "蓰",
41814: "蕓",
41815: "蕙",
41816: "蕞",
41817: "蕤",
41818: "薏",
41819: "藿",
41820: "蘐",
41821: "虗",
41822: "虢",
41823: "虬",
41824: "虯",
41825: "虺",
41826: "蚑",
41827: "蚱",
41828: "蜋",
41829: "蝘",
41830: "蝥",
41831: "螈",
41832: "螭",
41833: "蠲",
41834: "裊",
41835: "裛",
41836: "褰",
41837: "袪",
41838: "裎",
41839: "裱",
41840: "褚",
41841: "觔",
41842: "觖",
41843: "觳",
41844: "訕",
41845: "訢",
41846: "詘",
41847: "詡",
41848: "詹",
41849: "誾",
41850: "豨",
41851: "豳",
41852: "貒",
41853: "賙",
41854: "贛",
42017: "跎",
42018: "跗",
42019: "踠",
42020: "踔",
42021: "踽",
42022: "蹢",
42023: "輞",
42024: "輭",
42025: "輶",
42026: "轔",
42027: "辧",
42028: "辵",
42029: "辶",
42030: "辶",
42031: "迤",
42032: "邅",
42033: "邈",
42034: "邛",
42035: "邢",
42036: "邳",
42037: "郅",
42038: "鄧",
42039: "鄱",
42040: "鄴",
42041: "酈",
42042: "酛",
42043: "酤",
42044: "酴",
42045: "醃",
42046: "醞",
42047: "醮",
42048: "釃",
42049: "釗",
42050: "鈐",
42051: "鈇",
42052: "鉏",
42053: "鉸",
42054: "銈",
42055: "鍈",
42056: "鏜",
42057: "鐲",
42058: "鑊",
42059: "鑣",
42060: "閒",
42061: "閟",
42062: "閩",
42063: "閽",
42064: "闓",
42065: "闐",
42066: "闚",
42067: "闞",
42068: "阼",
42069: "陘",
42070: "隄",
42071: "雒",
42072: "雞",
42073: "雩",
42074: "靛",
42075: "靳",
42076: "鞺",
42077: "韞",
42078: "韛",
42079: "韡",
42080: "頫",
42081: "顒",
42082: "顓",
42083: "顗",
42084: "顥",
42085: "颺",
42086: "飥",
42087: "餖",
42088: "餼",
42089: "餻",
42090: "饘",
42091: "駔",
42092: "駙",
42093: "騃",
42094: "騶",
42095: "騸",
42096: "魞",
42097: "鮏",
42098: "鯁",
42099: "鰶",
42100: "鴞",
42101: "鵷",
42102: "鵰",
42103: "鷃",
42104: "麨",
42105: "麼",
42106: "黧",
42107: "鼂",
42108: "鼯",
42109: "齁",
42110: "齗",
42273: "龔",
42274: "捥",
42275: "楤",
42276: "丰",
42278: "挊",
42279: "艜",
42280: "桒",
42283: "亍",
42284: "亹",
42285: "儞",
42286: "偁",
42287: "儃",
42288: "佪",
42289: "儋",
42290: "儈",
42291: "侒",
42292: "佷",
42293: "伋",
42294: "傜",
42295: "淸",
42296: "卺",
42297: "划",
42298: "勑",
42299: "匇",
42300: "匃",
42301: "匜",
42302: "㔺",
42303: "嗢",
42304: "囉",
42305: "唽",
42306: "嚕",
42307: "噱",
42308: "嘽",
42309: "嚞",
42310: "喁",
42311: "噞",
42312: "𠵅",
42313: "哯",
42314: "嚩",
42315: "喈",
42316: "𠺕",
42317: "晷",
42318: "叵",
42319: "嗩",
42320: "妋",
42321: "娭",
42322: "嫚",
42323: "嬗",
42324: "𡝂",
42325: "娓",
42326: "姞",
42328: "孁",
42329: "堄",
42330: "埿",
42331: "𡑮",
42332: "坍",
42333: "垸",
42334: "坅",
42335: "坷",
42336: "壎",
42337: "塤",
42338: "堠",
42339: "墪",
42340: "埏",
42341: "媳",
42342: "墉",
42343: "坨",
42344: "圩",
42345: "尰",
42346: "屟",
42347: "屣",
42348: "𡱖",
42349: "异",
42351: "岺",
42352: "岏",
42353: "巋",
42354: "巑",
42355: "帔",
42356: "幉",
42357: "帒",
42358: "幞",
42359: "㡜",
42360: "彇",
42361: "弣",
42362: "弶",
42363: "弽",
42364: "庪",
42365: "擌",
42366: "𢷡",
42529: "擎",
42530: "挗",
42531: "擐",
42532: "挍",
42533: "搯",
42534: "擷",
42535: "掙",
42536: "抳",
42537: "攞",
42538: "挃",
42539: "撾",
42540: "摭",
42541: "熮",
42542: "㸅",
42543: "烑",
42544: "灵",
42545: "煑",
42546: "爕",
42547: "焄",
42548: "獦",
42549: "猧",
42550: "猽",
42551: "獒",
42552: "獯",
42553: "獫",
42554: "玁",
42555: "狁",
42556: "狻",
42557: "瀼",
42558: "瀣",
42559: "洿",
42560: "濊",
42561: "澠",
42562: "潢",
42563: "灊",
42564: "淛",
42565: "涘",
42566: "湌",
42567: "灔",
42568: "𤂖",
42569: "涔",
42570: "涬",
42571: "邾",
42572: "鄘",
42573: "邶",
42574: "鄀",
42575: "鄽",
42576: "菇",
42577: "菆",
42578: "蓀",
42579: "藊",
42580: "蘅",
42581: "芺",
42582: "蒺",
42583: "蔾",
42584: "蘼",
42585: "薁",
42586: "葒",
42587: "蓯",
42588: "蒾",
42589: "蘩",
42590: "蔌",
42591: "蔞",
42592: "菝",
42593: "蕽",
42594: "蘡",
42595: "茛",
42596: "荽",
42597: "孽",
42598: "葜",
42599: "菀",
42600: "薟",
42601: "芾",
42602: "蘘",
42603: "蔲",
42604: "蔯",
42605: "荗",
42606: "莔",
42607: "噶",
42608: "藋",
42609: "莧",
42610: "苆",
42611: "蓪",
42612: "萁",
42613: "藦",
42614: "薷",
42615: "蘞",
42616: "莕",
42617: "蒅",
42619: "芿",
42620: "悆",
42621: "忞",
42622: "惸",
42785: "惝",
42786: "怳",
42787: "惔",
42788: "怍",
42789: "惋",
42790: "扆",
42791: "曛",
42792: "昀",
42793: "昪",
42794: "暍",
42795: "臗",
42796: "臛",
42797: "膘",
42798: "榺",
42799: "樾",
42800: "櫆",
42801: "柀",
42802: "棱",
42803: "橒",
42804: "檞",
42805: "檨",
42806: "杮",
42807: "楉",
42808: "樻",
42810: "桕",
42811: "棼",
42812: "槾",
42813: "楗",
42814: "棙",
42815: "𣑊",
42816: "桄",
42817: "杴",
42818: "枒",
42819: "檫",
42820: "杈",
42821: "欋",
42822: "棅",
42823: "榀",
42824: "棻",
42825: "栭",
42826: "榭",
42827: "棌",
42828: "欵",
42829: "殩",
42830: "殮",
42831: "槩",
42832: "櫲",
42833: "𣏕",
42834: "𬄚", /* FIXME: あて ⿰木惡 */
42835: "穀",
42836: "蒁",
42837: "迱",
42838: "𨗈",
42839: "适",
42840: "逈",
42841: "迍",
42842: "逭",
42843: "迮",
42844: "璈",
42845: "瑄",
42846: "璱",
42847: "玦",
42848: "琯",
42849: "璙",
42850: "珅",
42851: "珣",
42852: "玠",
42853: "瓈",
42854: "璫",
42855: "琫",
42856: "瑍",
42857: "琊",
42858: "疿",
42859: "癕",
42860: "皥",
42861: "皪",
42862: "盦",
42863: "盔",
42864: "瞔",
42865: "睠",
42867: "瞟",
42868: "瞍",
42869: "眶",
42871: "畾",
42872: "矪",
42873: "矬",
42874: "穭",
42875: "𧘱",
42876: "袽",
42877: "襅",
42878: "筯",
43041: "帘",
43042: "笇",
43043: "篗",
43044: "籡",
43045: "籗",
43046: "褲",
43047: "褙",
43048: "粿",
43049: "𥻨",
43050: "𦀌",
43051: "縬",
43052: "罇",
43053: "纆",
43054: "耖",
43055: "耟",
43056: "艉",
43057: "賾",
43058: "蟫",
43059: "蜺",
43060: "蚨",
43061: "蟭",
43062: "蠐",
43063: "螬",
43064: "蜟",
43065: "蠼",
43066: "螋",
43067: "蚍",
43068: "蟟",
43069: "蛁",
43070: "蜞",
43071: "𧏛",
43073: "蝯",
43074: "𪆐",
43075: "鵒",
43076: "鴝",
43077: "鸜",
43078: "鸇",
43079: "鶖",
43080: "𪃹",
43081: "鸍",
43082: "鵩",
43083: "鶡",
43084: "鷴",
43085: "鴒", /* FIXME: 交わる see 広辞苑 {5} for this replacement. should be ⿰𩙿鳥 */
43086: "鷧",
43087: "鏌",
43088: "鎁",
43089: "鍱",
43090: "銙",
43091: "釭",
43092: "鉧",
43093: "鍑",
43094: "鏽",
43095: "錕",
43096: "鋂",
43097: "鋧",
43098: "鐴",
43099: "𫒒", /* FIXME: むね【棟】character is ⿰釒丘 */
43100: "鋐",
43101: "蹔",
43102: "䟽",
43103: "踶",
43104: "詵",
43105: "諐",
43106: "誮",
43107: "謭",
43108: "誷",
43109: "觶",
43110: "釄",
43111: "醼",
43112: "醨",
43113: "釱",
43114: "釻",
43115: "鎛",
43116: "鐧",
43117: "䥫",
43118: "鉃",
43119: "纇",
43120: "熲",
43121: "頞",
43122: "顖",
43123: "蒴",
43124: "蕺",
43125: "芩",
43126: "佺",
43127: "佾",
43128: "俏",
43129: "倻",
43130: "儵",
43131: "噦",
43132: "嗉",
43133: "嘰",
43134: "吒",
43297: "唵",
43298: "唼",
43299: "埦",
43300: "墝",
43301: "埵",
43302: "垜",
43303: "墩",
43304: "圳",
43305: "壒",
43306: "羗",
43307: "搢",
43308: "搩",
43309: "攩",
43310: "擤",
43311: "挵",
43312: "拼",
43313: "擻",
43314: "掽",
43315: "湑",
43316: "濹",
43317: "泔",
43318: "犎",
43319: "桛",
43320: "梣",
43321: "樏",
43322: "梻",
43323: "橐",
43324: "梘",
43325: "梲",
43326: "橅",
43327: "檉",
43328: "㮶",
43329: "櫧",
43330: "枻",
43331: "柃",
43332: "栱",
43333: "栬",
43334: "樝",
43335: "橖",
43336: "朳",
43337: "棭",
43338: "梂",
43339: "𣜌",
43340: "榰",
43341: "柷",
43342: "槵",
43343: "檔",
43344: "桫",
43345: "欏",
43346: "枓",
43347: "楲",
43348: "腭",
43349: "胳",
43350: "腨",
43351: "朓",
43352: "鰧",
43353: "蓏",
43354: "玫",
43355: "琰",
43356: "瑇",
43357: "璩",
43358: "珧",
43359: "瑀",
43360: "瑒",
43361: "瑭",
43362: "玔",
43363: "珖",
43364: "玢",
43365: "皶",
43366: "麬",
43367: "硨",
43368: "磠",
43369: "磤",
43370: "磲",
43371: "砍",
43372: "硾",
43373: "碰",
43374: "硇",
43375: "礀",
43376: "畺",
43377: "裰",
43378: "裑",
43379: "袘",
43380: "襀",
43381: "裓",
43382: "𧚄",
43383: "褘",
43384: "褹",
43385: "襢",
43386: "褨",
43387: "篊",
43388: "笧",
43389: "簁",
43390: "簎",
43553: "簶",
43554: "籰",
43555: "籙",
43556: "籭",
43557: "箯",
43558: "籑",
43559: "荇",
43560: "蓎",
43561: "笯",
43562: "𥫱",
43563: "篅",
43564: "簳",
43565: "簹",
43566: "篔",
43567: "䈇",
43568: "䇮",
43569: "筲",
43570: "笭",
43571: "筎",
43572: "羖",
43573: "籹",
43574: "粏",
43575: "糈",
43576: "糫",
43577: "粼",
43578: "粔",
43579: "粶",
43580: "糙",
43581: "糄",
43582: "粬",
43583: "糵",
43584: "紽",
43585: "緌",
43586: "絁",
43587: "紇",
43588: "纑",
43589: "緦",
43590: "紞",
43591: "纍",
43592: "𥿠",
43593: "羿",
43594: "翺",
43595: "翥",
43596: "羕",
43597: "蝲",
43598: "蟖",
43599: "蚸",
43600: "蜓",
43601: "蜾",
43602: "螇",
43603: "蠁",
43604: "蜱",
43605: "𧐐",
43606: "蛺",
43607: "虵",
43608: "蝱",
43609: "蠔",
43610: "蝤",
43611: "蛑",
43612: "蠊",
43613: "蠆",
43614: "螠",
43615: "鈸",
43616: "錑",
43617: "鎺",
43618: "鍰",
43619: "鏁",
43620: "銲",
43621: "鈹",
43622: "鏟",
43623: "鐖",
43624: "鑯",
43625: "闋",
43627: "鏱",
43628: "鈼",
43629: "𨫤",
43630: "鬌",
43631: "鞖",
43632: "靪",
43633: "鞚",
43634: "靮",
43635: "鬠",
43636: "鱘",
43637: "鮬",
43638: "鱰",
43639: "鱪",
43640: "鯳",
43641: "鱵",
43642: "鯯",
43643: "鯧",
43644: "魳",
43645: "鯎",
43646: "鯥",
43809: "鮄",
43810: "鱩",
43811: "鱮",
43812: "鯇",
43813: "鮞",
43814: "鰖",
43815: "鮸",
43816: "鯷",
43817: "魬",
43818: "鯘",
43819: "鱫",
43820: "鱝",
43821: "鱏",
43822: "鱓",
43823: "鰱",
43824: "鮊",
43825: "鱛",
43826: "鮾",
43827: "鱁",
43828: "鮧",
43829: "魦",
43830: "鱭",
43831: "孒",
43832: "甪",
43833: "厴",
43834: "尩",
43835: "车",
43836: "电",
43837: "邌",
43838: "仐",
43839: "么",
43840: "蠃",
43841: "兗",
43842: "矠",
43843: "矟",
43844: "劻",
43845: "勰",
43846: "斲",
43847: "姧",
43848: "嬥",
43849: "妤",
43850: "媞",
43851: "縁", /* FIXME: 彐頭, Daijisen uses this char */
43852: "廋",
43853: "庿",
43854: "愒",
43855: "憍",
43856: "愐",
43857: "豇",
43858: "豉",
43859: "雘",
43860: "彔",
43861: "邕",
43862: "隺",
43863: "幫",
43864: "帮",
43865: "毈",
43866: "𢏳", /* FIXME: ペテン */
43867: "彽",
43868: "徸",
43869: "鄯",
43870: "郄",
43871: "邙",
43872: "隩",
43873: "犰",
43874: "狳",
43875: "獱",
43876: "貛",
43877: "攲",
43878: "爗",
43879: "滎",
43880: "煠",
43881: "燄",
43882: "炻",
43883: "烤",
43884: "炗",
43885: "剡",
43886: "昉",
43887: "昰",
43888: "甗",
43889: "𤭯",
43890: "瓫",
43891: "𤚥",
43892: "敔",
43893: "忩",
43894: "毿",
43895: "瘵",
43896: "痎",
43897: "癋",
43898: "疒",
43899: "癤",
43900: "癭",
43901: "瘙",
43902: "痟",
44065: "痏",
44066: "眴",
44067: "睺",
44068: "毗",
44069: "翮",
44070: "𥝱",
44071: "稭",
44072: "稹",
44073: "祆",
44074: "禖",
44075: "皁",
44076: "皝",
44077: "翃",
44078: "舢",
44079: "艠",
44080: "𦨞",
44081: "⿰舟若", /* FIXME: 抄物書き */
44082: "趯",
44083: "醶",
44084: "跑",
44085: "蹰",
44086: "躃",
44087: "跆",
44088: "韉",
44089: "饠",
44090: "躻",
44091: "髹",
44092: "髁",
44093: "餛",
44094: "餺",
44095: "飣",
44096: "飰",
44097: "饆",
44098: "靏",
44099: "閦",
44100: "闈",
44101: "顬",
44102: "頊",
44103: "骶",
44104: "髐",
44105: "䯊",
44106: "鶍",
44107: "鴲",
44108: "鸕",
44109: "鵼",
44110: "鷀",
44111: "䳑",
44112: "鼹",
44113: "鼷",
44114: "髖",
44115: "𪀚",
44116: "鸊",
44117: "鷉",
44118: "鵟",
44119: "鷟",
44120: "鵂",
44121: "鶹",
44122: "鴗",
44123: "鷚",
44124: "鵇",
44125: "鶊",
44126: "鶼",
44127: "觫",
44128: "觘",
44129: "觿",
44130: "剕",
44131: "颸",
44132: "飇",
44133: "飈",
44134: "贉",
44135: "賖",
44136: "赬",
44137: "鼗",
44138: "鼐",
44139: "鼺",
44140: "齝",
44141: "齭",
44142: "齵",
44143: "龗",
44144: "蓂",
44145: "藎",
44146: "葼",
44147: "茼",
44148: "藭",
44149: "薼",
44150: "菪",
44151: "莩",
44152: "蓽",
44153: "苕",
44154: "芡",
44155: "茺",
44156: "薗", /* FIXME: 汝人, should be ⿱艹圃, see daijisen ex. sent. */
44157: "蔤",
44158: "芸", /* FIXME: Should be trad. chin. font */
44321: "葈",
44322: "你",
44323: "儛",
44324: "𦬇", /* FIXME: ささぼさつ */
44325: "塼",
44326: "坼",
44327: "塌",
44328: "垿",
44329: "姮",
44330: "媧",
44331: "嬙",
44332: "渲",
44333: "洦",
44334: "滇",
44335: "潙",
44336: "澶",
44337: "涮",
44338: "涪",
44339: "啐",
44340: "嚈",
44341: "噠",
44342: "弴",
44343: "哆",
44344: "嚳",
44345: "洱",
44346: "灃",
44347: "濞",
44348: "湉",
44349: "泆",
44350: "洹",
44351: "昫",
44352: "暠",
44353: "昕",
44354: "昺",
44355: "桲",
44356: "橉",
44357: "窼",
44358: "穇",
44359: "秫",
44360: "秭",
44361: "禛",
44362: "祜",
44363: "祹",
44364: "蜇",
44365: "蛼",
44366: "蚜",
44367: "蚉",
44368: "蛽",
44369: "虻", /* FIXME: 蜻蛉, see ex sent. for 虻(アム) */
44370: "螵",
44371: "蚇",
44372: "螓",
44373: "蜐",
44374: "瘀",
44375: "㾮",
44376: "瘼",
44377: "𤸎",
44378: "痱",
44379: "癯",
44380: "癁",
44381: "礴",
44382: "礜",
44383: "砉",
44384: "耷",
44385: "耼",
44386: "𨏍",
44387: "軑",
44388: "轘",
44389: "輀",
44390: "魹",
44391: "韴",
44392: "鞲",
44393: "𩊱",
44394: "𩊠",
44395: "鮲",
44396: "𫙧", /* FIXME: ⿰魚近(ちか) */
44397: "鰘",
44398: "𩸭",
44399: "鰙",
44400: "鯝",
44401: "鰣",
44402: "鯽",
44403: "𩸽",
44404: "魶",
44405: "鰚",
44406: "鱲",
44407: "鱜",
44408: "𩺊",
44409: "鱊",
44410: "鱐",
44411: "鱟",
44412: "魣",
44413: "魫",
44414: "驎",
44577: "麯",
44578: "驌",
44579: "騮",
44580: "驊",
44581: "駃",
44582: "騠",
44583: "駰",
44584: "騭",
44585: "麅",
44586: "麞",
44587: "鹿子", /* FIXME: should be ⿰鹿子 */
44588: "亻",
44589: "乚",
44590: "㔾",
44591: "氵",
44592: "艹",
44593: "艹",
44594: "扌",
44595: "阝",
44596: "犭",
44597: "阝",
44598: "刂",
44599: "𠆢",
44600: "忄",
44601: "㓁",
44602: "耂",
44603: "爫",
44604: "爫",
44605: "灬",
44606: "⺗",
44607: "氺",
44608: "𤣩",
44609: "罒",
44610: "礻",
44611: "衤",
44612: "飠",
44613: "𩙿",
44619: "𤣥", /* FIXME: 欠画 */
44621: "⺩",
44622: "⺏", /* FIXME: 尢, this but with with leg stretched as in 尩 */
44623: "भर", /* FIXME: 勃嚕唵/bhrūṃ in sanskrit */
44624: "㐂",
44625: "𛀸", /* FIXME: 変体仮名 (こ) */
44626: "𛄋", /* FIXME: 異体文字 (は)*/
44627: "𛀆", /* FIXME: 変体仮名 (い) */
44628: "𛁟", /* FIXME: 変体仮名 (た) */
44629: "𛀙", /* FIXME: 変体仮名 (か) */
44630: "",
44631: "⁑",
44632: "©",
44633: "♮",
44634: "𝄐", /* FIXME: pause (music) */
44635: "𝄑", /* FIXME: pause (music) */
44636: "𝅘𝅥𝅯", /* FIXME: semiquaver/16th note */
44637: "⁂",
44638: "",
44639: "㊙",
44640: "☞",
44641: "˘",
44644: "卐", /* FIXME: should be tilted 45 degrees, not in unicode */
44645: "卐",
44646: "✓",
44647: "ƿ",
44648: "℅",
44649: "®",
44650: "∛𝑎",
44651: "Æ",
44652: "æ",
44653: "ffl",
44654: "fl",
44655: "ⁿ√",
44656: "œ",
44657: "∘",
44658: "∓",
44659: "^", /* FIXME: should be printed double width */
44660: "℧",
44661: "√2",
44662: "√𝑎",
44663: "©",
44664: "(公)", /* FIXME: 丸公 enclosed 公 */
44665: "㊜",
44666: "〖",
44667: "〗",
45106: "--",
45107: "―",
45108: "☰",
45109: "☷",
45110: "☱",
45111: "☲",
45112: "☴",
45113: "☵",
45114: "☶",
45115: "", /* FIXME: くの字点 */
45116: "\゙", /* FIXME: くの字点 */
45117: "", /* FIXME: くの字点 */
45118: "〻",
45119: "ǂ", /* FIXME: 複十字, probably not the char they wanted */
45120: "℉",
45121: "〽",
45122: "卍",
45123: "♨",
45124: "♠",
45125: "♥",
45126: "𝄐", /* FIXME: フェルマータ */
45127: "℥",
45130: "♩",
45131: "𝄉", /* FIXME: ダルセーニョ */
45132: "𝄪", /* FIXME: 重嬰記号 */
45133: "❶",
45134: "❷",
45135: "❸",
45136: "❹",
45137: "❺",
45138: "❻",
45139: "❼",
45140: "❽",
45141: "❾",
45142: "❿",
45143: "⓫",
45144: "⓬",
45145: "⓭",
45146: "⓮",
45147: "⓯",
45148: "⓰",
45149: "⓱",
45150: "⓲",
45151: "⓳",
45152: "ゑ",
45153: "ヶ", /* FIXME: 交野, uses small ガ not in unicode */
45157: "ト", /* FIXME: 九秋, not sure what they are trying to indicate */
45158: "",
45160: "ミ", /* FIXME: 青海苔, not sure what they are trying to indicate */
45162: "ㇿ",
45163: "ヰ",
45164: "ン", /* FIXME: 捨て仮名, probably small 'ン' (not a char in unicode) */
45175: "㏋",
}
}