@kensio/pinyinjs 1.9.8 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +7 -0
- package/README.md +27 -8
- package/data/core.entries +21 -21
- package/data/full.entries +17396 -17396
- package/data/manifest.json +9 -7
- package/data/standard.entries +3625 -3625
- package/dist/cli/lookup-commands.d.ts.map +1 -1
- package/dist/cli/lookup-commands.js +2 -44
- package/dist/cli/lookup-commands.js.map +1 -1
- package/dist/cli/lookup-entry.d.ts +12 -0
- package/dist/cli/lookup-entry.d.ts.map +1 -0
- package/dist/cli/lookup-entry.js +55 -0
- package/dist/cli/lookup-entry.js.map +1 -0
- package/dist/decode/changyong-rule.d.ts +14 -0
- package/dist/decode/changyong-rule.d.ts.map +1 -0
- package/dist/decode/changyong-rule.js +128 -0
- package/dist/decode/changyong-rule.js.map +1 -0
- package/dist/decode/reading-rules.d.ts +1 -0
- package/dist/decode/reading-rules.d.ts.map +1 -1
- package/dist/decode/reading-rules.js +3 -0
- package/dist/decode/reading-rules.js.map +1 -1
- package/dist/dictionary/artifact-format.d.ts +20 -1
- package/dist/dictionary/artifact-format.d.ts.map +1 -1
- package/dist/dictionary/artifact-format.js +37 -0
- package/dist/dictionary/artifact-format.js.map +1 -1
- package/dist/dictionary/artifact-read.d.ts.map +1 -1
- package/dist/dictionary/artifact-read.js +3 -7
- package/dist/dictionary/artifact-read.js.map +1 -1
- package/dist/dictionary/artifact.d.ts.map +1 -1
- package/dist/dictionary/artifact.js +2 -2
- package/dist/dictionary/artifact.js.map +1 -1
- package/dist/dictionary/build-assertions.d.ts.map +1 -1
- package/dist/dictionary/build-assertions.js +2 -0
- package/dist/dictionary/build-assertions.js.map +1 -1
- package/dist/dictionary/cedict-senses.d.ts +4 -3
- package/dist/dictionary/cedict-senses.d.ts.map +1 -1
- package/dist/dictionary/cedict-senses.js +7 -4
- package/dist/dictionary/cedict-senses.js.map +1 -1
- package/dist/dictionary/dictionary-entry.d.ts +8 -0
- package/dist/dictionary/dictionary-entry.d.ts.map +1 -1
- package/dist/dictionary/dictionary-entry.js +3 -1
- package/dist/dictionary/dictionary-entry.js.map +1 -1
- package/dist/dictionary/entry-invariants.d.ts +6 -0
- package/dist/dictionary/entry-invariants.d.ts.map +1 -1
- package/dist/dictionary/entry-invariants.js +0 -27
- package/dist/dictionary/entry-invariants.js.map +1 -1
- package/dist/dictionary/entry.d.ts +8 -0
- package/dist/dictionary/entry.d.ts.map +1 -1
- package/dist/dictionary/entry.js.map +1 -1
- package/dist/dictionary/locale-invariants.d.ts +3 -0
- package/dist/dictionary/locale-invariants.d.ts.map +1 -0
- package/dist/dictionary/locale-invariants.js +52 -0
- package/dist/dictionary/locale-invariants.js.map +1 -0
- package/dist/dictionary/locale.d.ts +5 -1
- package/dist/dictionary/locale.d.ts.map +1 -1
- package/dist/dictionary/locale.js +6 -1
- package/dist/dictionary/locale.js.map +1 -1
- package/dist/dictionary/merge-types.d.ts +10 -0
- package/dist/dictionary/merge-types.d.ts.map +1 -1
- package/dist/dictionary/merge-types.js +2 -0
- package/dist/dictionary/merge-types.js.map +1 -1
- package/dist/dictionary/merge-word.js +7 -6
- package/dist/dictionary/merge-word.js.map +1 -1
- package/dist/dictionary/merge.d.ts.map +1 -1
- package/dist/dictionary/merge.js +5 -1
- package/dist/dictionary/merge.js.map +1 -1
- package/dist/dictionary/standard-readings.d.ts +42 -0
- package/dist/dictionary/standard-readings.d.ts.map +1 -0
- package/dist/dictionary/standard-readings.js +113 -0
- package/dist/dictionary/standard-readings.js.map +1 -0
- package/dist/dictionary/taiwan-notes.d.ts +13 -0
- package/dist/dictionary/taiwan-notes.d.ts.map +1 -0
- package/dist/dictionary/taiwan-notes.js +26 -0
- package/dist/dictionary/taiwan-notes.js.map +1 -0
- package/dist/dictionary/taiwan-reading.d.ts +22 -2
- package/dist/dictionary/taiwan-reading.d.ts.map +1 -1
- package/dist/dictionary/taiwan-reading.js +94 -25
- package/dist/dictionary/taiwan-reading.js.map +1 -1
- package/dist/dictionary/taiwan-settle.d.ts +22 -0
- package/dist/dictionary/taiwan-settle.d.ts.map +1 -0
- package/dist/dictionary/taiwan-settle.js +47 -0
- package/dist/dictionary/taiwan-settle.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/search/match-readings.d.ts +2 -2
- package/dist/search/match-readings.d.ts.map +1 -1
- package/dist/search/match-readings.js +12 -7
- package/dist/search/match-readings.js.map +1 -1
- package/dist/sources/moe-workbook.d.ts +10 -0
- package/dist/sources/moe-workbook.d.ts.map +1 -0
- package/dist/sources/moe-workbook.js +89 -0
- package/dist/sources/moe-workbook.js.map +1 -0
- package/dist/sources/moe.d.ts +58 -0
- package/dist/sources/moe.d.ts.map +1 -0
- package/dist/sources/moe.js +79 -0
- package/dist/sources/moe.js.map +1 -0
- package/dist/sources/xlsx.d.ts +20 -0
- package/dist/sources/xlsx.d.ts.map +1 -0
- package/dist/sources/xlsx.js +78 -0
- package/dist/sources/xlsx.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { DICTIONARY_SYLLABLES, isAttestedTone } from "../syllable/inventory.js";
|
|
2
|
+
import { writeSyllable } from "../syllable/syllable.js";
|
|
3
|
+
import { isSameReading } from "./entry.js";
|
|
4
|
+
import { readDictionaryReading } from "./reading.js";
|
|
5
|
+
/**
|
|
6
|
+
* Whether every syllable of a reading is one the inventory knows, in a tone it
|
|
7
|
+
* is written in.
|
|
8
|
+
*
|
|
9
|
+
* 教育部 spells a handful of syllables no other source does — `lüan`, a
|
|
10
|
+
* neutral `kong` or `dun` in a word nobody else reads that way — and the
|
|
11
|
+
* romanisation readers refuse a syllable the inventory does not list. A
|
|
12
|
+
* reading like that is the dictionary's own and is left out.
|
|
13
|
+
*/
|
|
14
|
+
function isInventoried(reading) {
|
|
15
|
+
return reading.every((syllable) => DICTIONARY_SYLLABLES.has(writeSyllable({ ...syllable, erhua: false, tone: undefined })) && isAttestedTone(syllable));
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* The readings 教育部 gives the first of a word's spellings it lists.
|
|
19
|
+
*
|
|
20
|
+
* In the dictionary's own order, which leads with the reading it lists first,
|
|
21
|
+
* and then the variant readings it gives beside them.
|
|
22
|
+
*/
|
|
23
|
+
export function standardReadingsOf(spellings, moe) {
|
|
24
|
+
for (const spelling of spellings) {
|
|
25
|
+
const listed = moe.get(spelling) ?? [];
|
|
26
|
+
// Variants after every main reading, so a variant only wins where no
|
|
27
|
+
// main reading is as close.
|
|
28
|
+
const read = [
|
|
29
|
+
...listed.map((entry) => ({ ...entry, tokens: entry.readings })),
|
|
30
|
+
...listed.flatMap((entry) => entry.variant === undefined
|
|
31
|
+
? []
|
|
32
|
+
: [{ ...entry, tokens: entry.variant }]),
|
|
33
|
+
].flatMap(({ tokens, dictionary }) => {
|
|
34
|
+
const reading = readDictionaryReading(spelling, tokens);
|
|
35
|
+
return reading !== undefined && isInventoried(reading)
|
|
36
|
+
? [{ reading, dictionary }]
|
|
37
|
+
: [];
|
|
38
|
+
});
|
|
39
|
+
if (read.length > 0) {
|
|
40
|
+
return read;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return [];
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* How closely two readings of the same length agree.
|
|
47
|
+
*
|
|
48
|
+
* Two points for each syllable whose sounds match and one more where its tone
|
|
49
|
+
* does too, so a reading that differs only in tone always beats one that
|
|
50
|
+
* differs in sound, and tones break the tie between two that do not.
|
|
51
|
+
*/
|
|
52
|
+
function likeness(left, right) {
|
|
53
|
+
let score = 0;
|
|
54
|
+
for (const [at, syllable] of left.entries()) {
|
|
55
|
+
const other = right[at];
|
|
56
|
+
if (syllable.initial === other?.initial && syllable.final === other.final) {
|
|
57
|
+
score += syllable.tone === other.tone ? 3 : 2;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return score;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Whether two readings differ only in their tones.
|
|
64
|
+
*/
|
|
65
|
+
export function isRetoned(left, right) {
|
|
66
|
+
return (left.length === right.length &&
|
|
67
|
+
left.every((syllable, at) => {
|
|
68
|
+
const other = right[at];
|
|
69
|
+
return (syllable.initial === other?.initial &&
|
|
70
|
+
syllable.final === other.final &&
|
|
71
|
+
(syllable.erhua ?? false) === (other.erhua ?? false));
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Which of 教育部's readings describes the word the entry reads, or undefined
|
|
76
|
+
* where the word is read as in 普通话.
|
|
77
|
+
*
|
|
78
|
+
* A word with several readings is several words, as 東西 is `dōngxī` and
|
|
79
|
+
* `dōngxi`. One that reads the way the entry does, or as another 普通话 sense
|
|
80
|
+
* of the word, is that word and agrees with 普通话, so there is no delta:
|
|
81
|
+
* 那些 is `nàxiē` beside the `nǎxiē` of 哪些, and `nàxiē` is the reading
|
|
82
|
+
* CC-CEDICT gives the `nèixiē` the entry holds. Otherwise the one most like the
|
|
83
|
+
* entry's reading is the same word with its tones moved: 那裡 is `nǎlǐ` and
|
|
84
|
+
* `nàlǐ`, and the 那里 that reads `nàli` is the second. The earlier wins a tie.
|
|
85
|
+
*/
|
|
86
|
+
export function standardReadingFor(standard, reading, isDelta) {
|
|
87
|
+
if (standard.some((listed) => !isDelta(listed))) {
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
let best;
|
|
91
|
+
for (const listed of standard) {
|
|
92
|
+
if (best === undefined ||
|
|
93
|
+
likeness(listed, reading) > likeness(best, reading)) {
|
|
94
|
+
best = listed;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return best;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* The offered readings that are deltas, other than the one chosen, once each.
|
|
101
|
+
*/
|
|
102
|
+
export function alternatesOf(offered, chosen, isDelta) {
|
|
103
|
+
const kept = [];
|
|
104
|
+
for (const candidate of offered) {
|
|
105
|
+
if (isDelta(candidate) &&
|
|
106
|
+
(chosen === undefined || !isSameReading(candidate, chosen)) &&
|
|
107
|
+
!kept.some((held) => isSameReading(held, candidate))) {
|
|
108
|
+
kept.push(candidate);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return kept;
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=standard-readings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standard-readings.js","sourceRoot":"","sources":["../../src/dictionary/standard-readings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CedictEntry } from "../sources/cedict.js";
|
|
2
|
+
import type { UnihanReadings } from "../sources/unihan.js";
|
|
3
|
+
import type { Syllable } from "../syllable/syllable.js";
|
|
4
|
+
/**
|
|
5
|
+
* The reading CC-CEDICT's note or Unihan's pair gives, and whether it is only
|
|
6
|
+
* one sense's.
|
|
7
|
+
*/
|
|
8
|
+
export interface NotedReading {
|
|
9
|
+
readonly reading: readonly Syllable[];
|
|
10
|
+
readonly isSenseScoped: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare function notedReadingOf(word: string, senses: readonly CedictEntry[], unihan: UnihanReadings | undefined): NotedReading | undefined;
|
|
13
|
+
//# sourceMappingURL=taiwan-notes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taiwan-notes.d.ts","sourceRoot":"","sources":["../../src/dictionary/taiwan-notes.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAKxD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,QAAQ,EAAE,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,MAAM,EAAE,cAAc,GAAG,SAAS,GACjC,YAAY,GAAG,SAAS,CAkB1B"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The 國語 readings CC-CEDICT's `Taiwan pr.` notes and Unihan's `kMandarin`
|
|
3
|
+
* pairs give a word, before 教育部's dictionaries are asked about them.
|
|
4
|
+
*/
|
|
5
|
+
import { isSingleCharacter } from "../script/characters.js";
|
|
6
|
+
import { isSenseScopedNote } from "./cedict-senses.js";
|
|
7
|
+
import { characterSyllable } from "./character-defaults.js";
|
|
8
|
+
import { readDictionaryReading } from "./reading.js";
|
|
9
|
+
export function notedReadingOf(word, senses, unihan) {
|
|
10
|
+
const taiwanSense = senses.find((entry) => entry.taiwanReadings !== undefined);
|
|
11
|
+
if (taiwanSense?.taiwanReadings !== undefined) {
|
|
12
|
+
const reading = readDictionaryReading(word, taiwanSense.taiwanReadings);
|
|
13
|
+
return reading === undefined
|
|
14
|
+
? undefined
|
|
15
|
+
: { reading, isSenseScoped: isSenseScopedNote(word, taiwanSense) };
|
|
16
|
+
}
|
|
17
|
+
const unihanTaiwan = unihan?.taiwanReading;
|
|
18
|
+
if (isSingleCharacter(word) && unihanTaiwan !== undefined) {
|
|
19
|
+
const syllable = characterSyllable(word, unihanTaiwan);
|
|
20
|
+
return syllable === undefined
|
|
21
|
+
? undefined
|
|
22
|
+
: { reading: [syllable], isSenseScoped: false };
|
|
23
|
+
}
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=taiwan-notes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taiwan-notes.js","sourceRoot":"","sources":["../../src/dictionary/taiwan-notes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAI5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAWrD,MAAM,UAAU,cAAc,CAC5B,IAAY,EACZ,MAA8B,EAC9B,MAAkC;IAElC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAC7B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAC9C,CAAC;IACF,IAAI,WAAW,EAAE,cAAc,KAAK,SAAS,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;QACxE,OAAO,OAAO,KAAK,SAAS;YAC1B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;IACvE,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,EAAE,aAAa,CAAC;IAC3C,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC1D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACvD,OAAO,QAAQ,KAAK,SAAS;YAC3B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IACpD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,8 +1,28 @@
|
|
|
1
1
|
import type { CedictEntry } from "../sources/cedict.js";
|
|
2
|
+
import type { MoeReading } from "../sources/moe.js";
|
|
2
3
|
import type { UnihanReadings } from "../sources/unihan.js";
|
|
3
4
|
import type { Syllable } from "../syllable/syllable.js";
|
|
4
5
|
/**
|
|
5
|
-
*
|
|
6
|
+
* What the sources settle about a word's 國語 reading.
|
|
6
7
|
*/
|
|
7
|
-
export
|
|
8
|
+
export interface TaiwanReading {
|
|
9
|
+
/** The reading, where it differs from the 普通话 one. */
|
|
10
|
+
readonly reading?: readonly Syllable[];
|
|
11
|
+
/**
|
|
12
|
+
* Other 國語 readings the word has in some sense, none of them 普通话 ones.
|
|
13
|
+
*
|
|
14
|
+
* 和 is `hé` in Taipei as in Beijing, and is also `hàn` when it joins two
|
|
15
|
+
* nouns. Nothing at the word can say which a given 和 is, so the default
|
|
16
|
+
* stays `hé` and `hàn` is offered here.
|
|
17
|
+
*/
|
|
18
|
+
readonly alternates: readonly (readonly Syllable[])[];
|
|
19
|
+
/** Whether 教育部 lists the word, so that nothing should be composed for it. */
|
|
20
|
+
readonly isStandard: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Settle it for one word.
|
|
24
|
+
*
|
|
25
|
+
* `spellings` are the word's 繁體 forms, which is how 教育部 keys it.
|
|
26
|
+
*/
|
|
27
|
+
export declare function taiwanReadingOf(word: string, spellings: readonly string[], senses: readonly CedictEntry[], senseReadings: readonly (readonly Syllable[])[], reading: readonly Syllable[], unihan: UnihanReadings | undefined, moe: ReadonlyMap<string, readonly MoeReading[]>): TaiwanReading;
|
|
8
28
|
//# sourceMappingURL=taiwan-reading.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiwan-reading.d.ts","sourceRoot":"","sources":["../../src/dictionary/taiwan-reading.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"taiwan-reading.d.ts","sourceRoot":"","sources":["../../src/dictionary/taiwan-reading.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAYxD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IACvC;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,SAAS,QAAQ,EAAE,CAAC,EAAE,CAAC;IACtD,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AA0ED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,aAAa,EAAE,SAAS,CAAC,SAAS,QAAQ,EAAE,CAAC,EAAE,EAC/C,OAAO,EAAE,SAAS,QAAQ,EAAE,EAC5B,MAAM,EAAE,cAAc,GAAG,SAAS,EAClC,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC,GAC9C,aAAa,CAuBf"}
|
|
@@ -1,38 +1,107 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The 國語 reading an entry carries, where a source states one.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* 教育部's dictionaries are the standard and are asked first. For a word they
|
|
5
|
+
* list, what they say settles the entry, including when they say the word
|
|
6
|
+
* reads as it does in 普通话. A word they leave out falls back to CC-CEDICT's
|
|
7
|
+
* `Taiwan pr.` notes and Unihan's `kMandarin` pairs, which between them mark
|
|
8
|
+
* some 640 items.
|
|
9
|
+
*
|
|
10
|
+
* A character is settled the other way round. 教育部 lists a polyphone's
|
|
11
|
+
* readings in the order its entries are written, which leads with the literary
|
|
12
|
+
* reading as often as the current one: 們 is `mén` before `men` and 著 `zhù`
|
|
13
|
+
* before `zhe`. The order says nothing about which a character on its own
|
|
14
|
+
* means, so the dictionary is used as a check on the notes, not as a default.
|
|
15
|
+
* Both dictionaries are consulted for a character, since the question is only
|
|
16
|
+
* whether a reading is listed at all.
|
|
17
|
+
*
|
|
18
|
+
* Every source hedges in its own way. CC-CEDICT hangs `Taiwan pr.` on one
|
|
19
|
+
* sense of a headword and the others know nothing about it. What survives the
|
|
20
|
+
* sense tests, and is not simply another 普通话 sense of the word, is the
|
|
21
|
+
* delta. A reading that is the locale's but only for one sense is kept as an
|
|
22
|
+
* alternate, so a caller can still see it.
|
|
9
23
|
*/
|
|
10
24
|
import { isSingleCharacter } from "../script/characters.js";
|
|
11
|
-
import { isOwnSense
|
|
12
|
-
import { characterSyllable } from "./character-defaults.js";
|
|
25
|
+
import { isOwnSense } from "./cedict-senses.js";
|
|
13
26
|
import { isSameReading } from "./entry.js";
|
|
14
|
-
import {
|
|
27
|
+
import { notedReadingOf } from "./taiwan-notes.js";
|
|
28
|
+
import { alternatesOf, isRetoned, standardReadingFor, standardReadingsOf, } from "./standard-readings.js";
|
|
15
29
|
/**
|
|
16
|
-
*
|
|
30
|
+
* What a word is held to: 教育部 where it lists the word, the notes where not.
|
|
31
|
+
*
|
|
32
|
+
* A word only the revised dictionary lists may move its tones and nothing
|
|
33
|
+
* else. That dictionary records classical words beside current ones under the
|
|
34
|
+
* same characters, and where the concise one is silent there is nothing to say
|
|
35
|
+
* which a headword is: it lists 五百 only as `wǔ bó`, which is not how
|
|
36
|
+
* Taipei reads the number. A tone is the shift 國語 makes across whole classes
|
|
37
|
+
* of words, and a change of sound is more often a different word written the
|
|
38
|
+
* same way.
|
|
17
39
|
*/
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const unihanTaiwan = unihan?.taiwanReading;
|
|
24
|
-
let taiwan;
|
|
25
|
-
if (taiwanTokens !== undefined) {
|
|
26
|
-
taiwan = readDictionaryReading(word, taiwanTokens);
|
|
40
|
+
function wordReadingOf(standard, noted, reading, isDelta) {
|
|
41
|
+
if (standard.length === 0) {
|
|
42
|
+
return noted !== undefined && isDelta(noted.reading)
|
|
43
|
+
? { reading: noted.reading, alternates: [], isStandard: false }
|
|
44
|
+
: { alternates: [], isStandard: false };
|
|
27
45
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
46
|
+
const readings = standard.map((listed) => listed.reading);
|
|
47
|
+
const isCurrent = standard.some((listed) => listed.dictionary === "concise");
|
|
48
|
+
const chosen = standardReadingFor(readings, reading, isDelta);
|
|
49
|
+
const taiwan = chosen !== undefined && (isCurrent || isRetoned(chosen, reading))
|
|
50
|
+
? chosen
|
|
51
|
+
: undefined;
|
|
52
|
+
return {
|
|
53
|
+
...(taiwan !== undefined && { reading: taiwan }),
|
|
54
|
+
// The readings it could not be told apart from, which are other words
|
|
55
|
+
// written alike.
|
|
56
|
+
alternates: isCurrent ? alternatesOf(readings, taiwan, isDelta) : [],
|
|
57
|
+
isStandard: true,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* What a character is held to: the notes, as far as 教育部 bears them out.
|
|
62
|
+
*
|
|
63
|
+
* A note 教育部 lists the reading for stands, as the default if it is about
|
|
64
|
+
* the whole character and as an alternate if it is about one sense: 和's `hàn`
|
|
65
|
+
* is listed, and is the conjunction only. A note it lists no such reading for
|
|
66
|
+
* is dropped, which is what the standard says of 俄 `è` and 法 `fà`.
|
|
67
|
+
*
|
|
68
|
+
* 教育部 never supplies a character's reading by itself. Its order is the
|
|
69
|
+
* order its entries are written in, and a character it does not list in its
|
|
70
|
+
* 普通话 reading is as often a gap in the concise dictionary as a reading that
|
|
71
|
+
* has moved: it has no 差 `chà`, and the one 差 it lists that 普通话 has no
|
|
72
|
+
* sense for is `cuō`.
|
|
73
|
+
*/
|
|
74
|
+
function characterReadingOf(standard, noted, isDelta) {
|
|
75
|
+
const isStandard = standard.length > 0;
|
|
76
|
+
if (noted === undefined || !isDelta(noted.reading)) {
|
|
77
|
+
return { alternates: [], isStandard };
|
|
78
|
+
}
|
|
79
|
+
const isListed = standard.some((listed) => isSameReading(listed.reading, noted.reading));
|
|
80
|
+
if (isStandard && !isListed) {
|
|
81
|
+
return { alternates: [], isStandard };
|
|
31
82
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
83
|
+
return noted.isSenseScoped
|
|
84
|
+
? { alternates: [noted.reading], isStandard }
|
|
85
|
+
: { reading: noted.reading, alternates: [], isStandard };
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Settle it for one word.
|
|
89
|
+
*
|
|
90
|
+
* `spellings` are the word's 繁體 forms, which is how 教育部 keys it.
|
|
91
|
+
*/
|
|
92
|
+
export function taiwanReadingOf(word, spellings, senses, senseReadings, reading, unihan, moe) {
|
|
93
|
+
// A reading the word already has in 普通话 is a sense, not a locale.
|
|
94
|
+
const isDelta = (taiwan) => taiwan !== undefined &&
|
|
95
|
+
!isSameReading(taiwan, reading) &&
|
|
96
|
+
!isOwnSense(taiwan, senseReadings);
|
|
97
|
+
const noted = notedReadingOf(word, senses, unihan);
|
|
98
|
+
if (!isSingleCharacter(word)) {
|
|
99
|
+
return wordReadingOf(standardReadingsOf(spellings, moe), noted, reading, isDelta);
|
|
35
100
|
}
|
|
36
|
-
|
|
101
|
+
// Every spelling, because a 简体 character can be a 繁體 one in its own
|
|
102
|
+
// right with readings of its own: 教育部 lists 台 only as `yí`, and the
|
|
103
|
+
// `tái` is under 臺.
|
|
104
|
+
const listed = spellings.flatMap((spelling) => standardReadingsOf([spelling], moe));
|
|
105
|
+
return characterReadingOf(listed, noted, isDelta);
|
|
37
106
|
}
|
|
38
107
|
//# sourceMappingURL=taiwan-reading.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiwan-reading.js","sourceRoot":"","sources":["../../src/dictionary/taiwan-reading.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"taiwan-reading.js","sourceRoot":"","sources":["../../src/dictionary/taiwan-reading.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Syllable } from "../syllable/syllable.js";
|
|
2
|
+
import type { EntryReadings } from "./entry.js";
|
|
3
|
+
import type { WordSources } from "./merge-types.js";
|
|
4
|
+
import type { TraditionalForm } from "./traditional-form.js";
|
|
5
|
+
import { type TaiwanReading } from "./taiwan-reading.js";
|
|
6
|
+
/**
|
|
7
|
+
* What a settled 國語 reading adds to the build's counts.
|
|
8
|
+
*/
|
|
9
|
+
declare function taiwanTallyOf(taiwan: TaiwanReading): {
|
|
10
|
+
readonly taiwanReadings: number;
|
|
11
|
+
readonly standardTaiwanReadings: number;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Settle a word's 國語 reading, as the fields it fills on the entry and what
|
|
15
|
+
* it adds to the build's counts.
|
|
16
|
+
*/
|
|
17
|
+
export declare function settleTaiwanReading(word: string, form: TraditionalForm, senseReadings: readonly (readonly Syllable[])[], reading: readonly Syllable[], sources: WordSources): {
|
|
18
|
+
readonly readings: Pick<EntryReadings, "tw" | "twAlternates">;
|
|
19
|
+
readonly tally: ReturnType<typeof taiwanTallyOf>;
|
|
20
|
+
};
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=taiwan-settle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taiwan-settle.d.ts","sourceRoot":"","sources":["../../src/dictionary/taiwan-settle.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,KAAK,aAAa,EAAmB,MAAM,qBAAqB,CAAC;AAc1E;;GAEG;AACH,iBAAS,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG;IAC7C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;CACzC,CAMA;AAoBD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,eAAe,EACrB,aAAa,EAAE,SAAS,CAAC,SAAS,QAAQ,EAAE,CAAC,EAAE,EAC/C,OAAO,EAAE,SAAS,QAAQ,EAAE,EAC5B,OAAO,EAAE,WAAW,GACnB;IACD,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,cAAc,CAAC,CAAC;IAC9D,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;CAClD,CAWA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A word's settled 國語 reading in the shape the merge stores it: the fields
|
|
3
|
+
* it fills on the entry, and what it adds to the build's counts.
|
|
4
|
+
*/
|
|
5
|
+
import { isSingleCharacter } from "../script/characters.js";
|
|
6
|
+
import { taiwanReadingOf } from "./taiwan-reading.js";
|
|
7
|
+
/**
|
|
8
|
+
* The fields of an entry's readings that a settled 國語 reading fills.
|
|
9
|
+
*/
|
|
10
|
+
function taiwanColumnsOf(taiwan) {
|
|
11
|
+
return {
|
|
12
|
+
...(taiwan.reading !== undefined && { tw: taiwan.reading }),
|
|
13
|
+
...(taiwan.alternates.length > 0 && { twAlternates: taiwan.alternates }),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* What a settled 國語 reading adds to the build's counts.
|
|
18
|
+
*/
|
|
19
|
+
function taiwanTallyOf(taiwan) {
|
|
20
|
+
const isDelta = taiwan.reading !== undefined;
|
|
21
|
+
return {
|
|
22
|
+
taiwanReadings: isDelta ? 1 : 0,
|
|
23
|
+
standardTaiwanReadings: isDelta && taiwan.isStandard ? 1 : 0,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* The spellings 教育部 is asked for a word under, which is how it keys it.
|
|
28
|
+
*
|
|
29
|
+
* A character's other 繁體 forms are other characters, which 教育部 reads as
|
|
30
|
+
* themselves: 最's include 冣, which it lists as `jù`. A word's are the same
|
|
31
|
+
* word, and its 简体 spelling is only asked where it is also the 繁體 one:
|
|
32
|
+
* 教育部 lists 听听, written with the 繁體 character 听, as `yǐn yǐn`.
|
|
33
|
+
*/
|
|
34
|
+
function spellingsOf(word, hant, hantVariants) {
|
|
35
|
+
return isSingleCharacter(word)
|
|
36
|
+
? [...new Set([hant, word])]
|
|
37
|
+
: [hant, ...hantVariants];
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Settle a word's 國語 reading, as the fields it fills on the entry and what
|
|
41
|
+
* it adds to the build's counts.
|
|
42
|
+
*/
|
|
43
|
+
export function settleTaiwanReading(word, form, senseReadings, reading, sources) {
|
|
44
|
+
const taiwan = taiwanReadingOf(word, spellingsOf(word, form.hant, form.hantVariants), form.senses, senseReadings, reading, sources.unihanReadings.get(word), sources.moe);
|
|
45
|
+
return { readings: taiwanColumnsOf(taiwan), tally: taiwanTallyOf(taiwan) };
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=taiwan-settle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taiwan-settle.js","sourceRoot":"","sources":["../../src/dictionary/taiwan-settle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAK5D,OAAO,EAAsB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE1E;;GAEG;AACH,SAAS,eAAe,CACtB,MAAqB;IAErB,OAAO;QACL,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QAC3D,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;KACzE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,MAAqB;IAI1C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC;IAC7C,OAAO;QACL,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,sBAAsB,EAAE,OAAO,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,WAAW,CAClB,IAAY,EACZ,IAAY,EACZ,YAA+B;IAE/B,OAAO,iBAAiB,CAAC,IAAI,CAAC;QAC5B,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,IAAqB,EACrB,aAA+C,EAC/C,OAA4B,EAC5B,OAAoB;IAKpB,MAAM,MAAM,GAAG,eAAe,CAC5B,IAAI,EACJ,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,EAC/C,IAAI,CAAC,MAAM,EACX,aAAa,EACb,OAAO,EACP,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAChC,OAAO,CAAC,GAAG,CACZ,CAAC;IACF,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;AAC7E,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -51,7 +51,7 @@ export type { ReadingProjection, ReadingUnit } from "./decode/locking.js";
|
|
|
51
51
|
export { applyEdgeRules, tagOf, wordEndingAt, wordStartingAt, } from "./decode/rules.js";
|
|
52
52
|
export type { EdgeContext, EdgeRule, EdgeVerdict } from "./decode/rules.js";
|
|
53
53
|
export type { PositionalReading, ReadingHint, ReadingHints, WordReading, } from "./decode/hints.js";
|
|
54
|
-
export { ADJECTIVAL_CHANG, ADJECTIVAL_MEI, ADVERBIAL_DI, ASPECTUAL_PARTICLE, ATTESTED_ERHUA, CALCULATING_SUAN, COMPLEMENT_DE, CONCERNING_GAN, OBTAINING_DE, COUNTED_GE, COUNTED_MEASURE, COUNTED_NAME, COUNTING_ZHI, COMPASS_DONGXI, DOMINANT_READING, EASY_HAO, EXPERIENTIAL_GUO, LOCATIVE_SHANG_PU, MODAL_CAI, MODAL_DE, NOUN_HUA, PARTICLE_DE, PLAYING_TAN, POTENTIAL_DE, POTENTIAL_LIAO, READING_RULES, REDUPLICATED_VERB, RESULTATIVE_ZHAO, RETURNING_HUAN, SEPARATED_COMPOUND, SPREADING_PU, SUMMING_DOU, TAXI_DI, VERBAL_DE_QUESHI, TEACHING_JIAO, VERBAL_READING, } from "./decode/reading-rules.js";
|
|
54
|
+
export { ADJECTIVAL_CHANG, ADJECTIVAL_MEI, ADVERBIAL_DI, ASPECTUAL_PARTICLE, ATTESTED_ERHUA, CALCULATING_SUAN, COMPLEMENT_DE, CONCERNING_GAN, OBTAINING_DE, COUNTED_GE, COUNTED_MEASURE, COUNTED_NAME, COUNTING_ZHI, COMPASS_DONGXI, DOMINANT_READING, EASY_HAO, EXPERIENTIAL_GUO, LOCATIVE_SHANG_PU, MODAL_CAI, MODAL_DE, NOUN_HUA, PARTICLE_DE, PLAYING_TAN, POTENTIAL_DE, POTENTIAL_LIAO, READING_RULES, REDUPLICATED_VERB, RESULTATIVE_ZHAO, RETURNING_HUAN, SEPARATED_COMPOUND, SPREADING_PU, SUMMING_DOU, TAXI_DI, VERBAL_CHANGYONG, VERBAL_DE_QUESHI, TEACHING_JIAO, VERBAL_READING, } from "./decode/reading-rules.js";
|
|
55
55
|
export { readingCost, shortestPath, spacingCost } from "./decode/viterbi.js";
|
|
56
56
|
export type { CostOf } from "./decode/viterbi.js";
|
|
57
57
|
export type { DecodedWord, ScoredWord, WordSeparator } from "./decode/word.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -31,7 +31,7 @@ export { buildScriptTables } from "./dictionary/script-tables.js";
|
|
|
31
31
|
export { allEdges, buildLattice, cutPoints, READING_CHARGE, } from "./decode/lattice.js";
|
|
32
32
|
export { isSettled, projectReadings, settledUnits, unitsOf, } from "./decode/locking.js";
|
|
33
33
|
export { applyEdgeRules, tagOf, wordEndingAt, wordStartingAt, } from "./decode/rules.js";
|
|
34
|
-
export { ADJECTIVAL_CHANG, ADJECTIVAL_MEI, ADVERBIAL_DI, ASPECTUAL_PARTICLE, ATTESTED_ERHUA, CALCULATING_SUAN, COMPLEMENT_DE, CONCERNING_GAN, OBTAINING_DE, COUNTED_GE, COUNTED_MEASURE, COUNTED_NAME, COUNTING_ZHI, COMPASS_DONGXI, DOMINANT_READING, EASY_HAO, EXPERIENTIAL_GUO, LOCATIVE_SHANG_PU, MODAL_CAI, MODAL_DE, NOUN_HUA, PARTICLE_DE, PLAYING_TAN, POTENTIAL_DE, POTENTIAL_LIAO, READING_RULES, REDUPLICATED_VERB, RESULTATIVE_ZHAO, RETURNING_HUAN, SEPARATED_COMPOUND, SPREADING_PU, SUMMING_DOU, TAXI_DI, VERBAL_DE_QUESHI, TEACHING_JIAO, VERBAL_READING, } from "./decode/reading-rules.js";
|
|
34
|
+
export { ADJECTIVAL_CHANG, ADJECTIVAL_MEI, ADVERBIAL_DI, ASPECTUAL_PARTICLE, ATTESTED_ERHUA, CALCULATING_SUAN, COMPLEMENT_DE, CONCERNING_GAN, OBTAINING_DE, COUNTED_GE, COUNTED_MEASURE, COUNTED_NAME, COUNTING_ZHI, COMPASS_DONGXI, DOMINANT_READING, EASY_HAO, EXPERIENTIAL_GUO, LOCATIVE_SHANG_PU, MODAL_CAI, MODAL_DE, NOUN_HUA, PARTICLE_DE, PLAYING_TAN, POTENTIAL_DE, POTENTIAL_LIAO, READING_RULES, REDUPLICATED_VERB, RESULTATIVE_ZHAO, RETURNING_HUAN, SEPARATED_COMPOUND, SPREADING_PU, SUMMING_DOU, TAXI_DI, VERBAL_CHANGYONG, VERBAL_DE_QUESHI, TEACHING_JIAO, VERBAL_READING, } from "./decode/reading-rules.js";
|
|
35
35
|
export { readingCost, shortestPath, spacingCost } from "./decode/viterbi.js";
|
|
36
36
|
export { cardinalHanzi, LARGEST_CARDINAL } from "./numerals/cardinal.js";
|
|
37
37
|
export { DIGIT_CHARACTERS, numeralSyllable, QUANTITY_CHARACTERS, UNIT_VALUES, yaoSyllable, } from "./numerals/characters.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,UAAU,GACX,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGtE,OAAO,EACL,WAAW,EACX,SAAS,EACT,kBAAkB,EAClB,SAAS,GACV,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,cAAc,GACf,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE1E,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAOrD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAG5E,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,SAAS,GACV,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,OAAO,EACP,eAAe,EACf,aAAa,EACb,UAAU,GACX,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAOpE,OAAO,EACL,cAAc,EACd,SAAS,EACT,eAAe,EACf,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,MAAM,GACP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,eAAe,GAGhB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAQxC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,QAAQ,EACR,cAAc,GACf,MAAM,oBAAoB,CAAC;AAS5B,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,OAAO,EACP,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,cAAc,GACf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,SAAS,EACT,eAAe,EACf,YAAY,EACZ,OAAO,GACR,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,cAAc,EACd,KAAK,EACL,YAAY,EACZ,cAAc,GACf,MAAM,mBAAmB,CAAC;AAU3B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,UAAU,EACV,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,WAAW,EACX,YAAY,EACZ,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,OAAO,EACP,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,cAAc,GACf,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAK7E,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAGzE,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,UAAU,EACV,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,aAAa,GACd,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,UAAU,EACV,WAAW,EACX,eAAe,GAChB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,OAAO,EACP,QAAQ,EACR,eAAe,EACf,YAAY,GACb,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,QAAQ,EACR,MAAM,EACN,GAAG,EACH,qBAAqB,EACrB,wBAAwB,EACxB,UAAU,EACV,IAAI,GACL,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAMlE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAMrE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAUzC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EACL,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,KAAK,GACN,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAGjE,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,UAAU,GACX,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,QAAQ,GACT,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EACL,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,GACb,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EACL,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE9E,OAAO,EACL,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,OAAO,GACR,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,OAAO,EACP,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,MAAM,EACN,QAAQ,EACR,OAAO,EACP,SAAS,EACT,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EACL,UAAU,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -18,8 +18,8 @@ export declare class CharacterReadings {
|
|
|
18
18
|
* glyph form is matched by the readings of the Taiwan-standard key it folds
|
|
19
19
|
* to rather than by nothing.
|
|
20
20
|
*
|
|
21
|
-
* The 國語
|
|
22
|
-
* `se` as well as to `ji`. A search box is not the place to insist on one
|
|
21
|
+
* The 國語 readings go on the end where they differ, so that 圾 answers to
|
|
22
|
+
* `se` as well as to `ji` and 和 to `han` as well as to `he`. A search box is not the place to insist on one
|
|
23
23
|
* standard: somebody typing what they say is not typing it wrongly, and the
|
|
24
24
|
* decoder's own reading is what ranks the two afterwards.
|
|
25
25
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"match-readings.d.ts","sourceRoot":"","sources":["../../src/search/match-readings.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAI9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,qBAAa,iBAAiB;;IAK5B,YAAY,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,EAGhE;IAED;;;;;;;;;;;OAWG;IACH,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,SAAS,QAAQ,EAAE,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"match-readings.d.ts","sourceRoot":"","sources":["../../src/search/match-readings.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAI9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,qBAAa,iBAAiB;;IAK5B,YAAY,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,EAGhE;IAED;;;;;;;;;;;OAWG;IACH,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,SAAS,QAAQ,EAAE,CAAC,EAAE,CAoB/C;IAED;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,SAAS,EAAE,CA2B7C;CACF"}
|
|
@@ -16,8 +16,8 @@ export class CharacterReadings {
|
|
|
16
16
|
* glyph form is matched by the readings of the Taiwan-standard key it folds
|
|
17
17
|
* to rather than by nothing.
|
|
18
18
|
*
|
|
19
|
-
* The 國語
|
|
20
|
-
* `se` as well as to `ji`. A search box is not the place to insist on one
|
|
19
|
+
* The 國語 readings go on the end where they differ, so that 圾 answers to
|
|
20
|
+
* `se` as well as to `ji` and 和 to `han` as well as to `he`. A search box is not the place to insist on one
|
|
21
21
|
* standard: somebody typing what they say is not typing it wrongly, and the
|
|
22
22
|
* decoder's own reading is what ranks the two afterwards.
|
|
23
23
|
*/
|
|
@@ -29,11 +29,16 @@ export class CharacterReadings {
|
|
|
29
29
|
/* c8 ignore next -- only ever asked about a character that is there */
|
|
30
30
|
const character = toCanonicalGlyphs(this.#characters[at] ?? "");
|
|
31
31
|
const found = this.#dictionary.readingsOf(character);
|
|
32
|
-
const
|
|
33
|
-
const readings =
|
|
34
|
-
|
|
35
|
-
?
|
|
36
|
-
|
|
32
|
+
const entry = this.#dictionary.lookup(character);
|
|
33
|
+
const readings = [...found];
|
|
34
|
+
for (const taiwan of [
|
|
35
|
+
...(entry?.taiwanReading === undefined ? [] : [entry.taiwanReading]),
|
|
36
|
+
...(entry?.taiwanAlternates ?? []),
|
|
37
|
+
]) {
|
|
38
|
+
if (!readings.some((reading) => isSameReading(reading, taiwan))) {
|
|
39
|
+
readings.push(taiwan);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
37
42
|
this.#readings[at] = readings;
|
|
38
43
|
return readings;
|
|
39
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"match-readings.js","sourceRoot":"","sources":["../../src/search/match-readings.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,OAAO,iBAAiB;IACnB,WAAW,CAAa;IACxB,WAAW,CAAoB;IAC/B,SAAS,GAAyC,EAAE,CAAC;IAE9D,YAAY,UAAsB,EAAE,UAA6B;QAC/D,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;OAWG;IACH,EAAE,CAAC,EAAU;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,uEAAuE;QACvE,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,
|
|
1
|
+
{"version":3,"file":"match-readings.js","sourceRoot":"","sources":["../../src/search/match-readings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Turn a dictionary's worksheet into a table of headword, order and reading.
|
|
3
|
+
*
|
|
4
|
+
* Done once, when the download is cached, so the build reads a small table and
|
|
5
|
+
* never the 125 MB of XML the spreadsheet is made of. The output is one
|
|
6
|
+
* tab-separated line per reading, with a fourth column where the entry gives
|
|
7
|
+
* a variant reading, and the header row is dropped.
|
|
8
|
+
*/
|
|
9
|
+
export declare function tabulateMoeWorkbook(sharedStringsXml: string, sheetXml: string): string;
|
|
10
|
+
//# sourceMappingURL=moe-workbook.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moe-workbook.d.ts","sourceRoot":"","sources":["../../src/sources/moe-workbook.ts"],"names":[],"mappings":"AA+BA;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,MAAM,GACf,MAAM,CA4CR"}
|