@kensio/pinyinjs 1.7.6 → 1.7.8
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/README.md +2 -2
- package/data/full.counts +0 -0
- package/data/full.entries +46 -46
- package/data/manifest.json +15 -8
- package/data/script.map +102 -0
- package/data/standard.entries +8 -8
- package/dist/decode/chang-complement.d.ts +19 -0
- package/dist/decode/chang-complement.d.ts.map +1 -0
- package/dist/decode/chang-complement.js +113 -0
- package/dist/decode/chang-complement.js.map +1 -0
- package/dist/decode/chang-context.d.ts +9 -7
- package/dist/decode/chang-context.d.ts.map +1 -1
- package/dist/decode/chang-context.js +36 -3
- package/dist/decode/chang-context.js.map +1 -1
- package/dist/decode/chang-rule.d.ts +25 -15
- package/dist/decode/chang-rule.d.ts.map +1 -1
- package/dist/decode/chang-rule.js +38 -19
- package/dist/decode/chang-rule.js.map +1 -1
- package/dist/decode/convert-pipeline.d.ts.map +1 -1
- package/dist/decode/convert-pipeline.js +3 -3
- package/dist/decode/convert-pipeline.js.map +1 -1
- package/dist/decode/de-rule.d.ts +20 -0
- package/dist/decode/de-rule.d.ts.map +1 -1
- package/dist/decode/de-rule.js +87 -1
- package/dist/decode/de-rule.js.map +1 -1
- package/dist/decode/decode.d.ts +12 -25
- package/dist/decode/decode.d.ts.map +1 -1
- package/dist/decode/decode.js +10 -47
- package/dist/decode/decode.js.map +1 -1
- package/dist/decode/decoders.d.ts +9 -4
- package/dist/decode/decoders.d.ts.map +1 -1
- package/dist/decode/decoders.js +7 -7
- package/dist/decode/decoders.js.map +1 -1
- package/dist/decode/edge-context.d.ts +19 -0
- package/dist/decode/edge-context.d.ts.map +1 -1
- package/dist/decode/edge-context.js +41 -0
- package/dist/decode/edge-context.js.map +1 -1
- package/dist/decode/lattice-decode.d.ts +28 -0
- package/dist/decode/lattice-decode.d.ts.map +1 -0
- package/dist/decode/lattice-decode.js +48 -0
- package/dist/decode/lattice-decode.js.map +1 -0
- package/dist/decode/lattice-slice.d.ts +22 -6
- package/dist/decode/lattice-slice.d.ts.map +1 -1
- package/dist/decode/lattice-slice.js +24 -18
- package/dist/decode/lattice-slice.js.map +1 -1
- package/dist/decode/numbers.d.ts +0 -8
- package/dist/decode/numbers.d.ts.map +1 -1
- package/dist/decode/numbers.js +0 -10
- package/dist/decode/numbers.js.map +1 -1
- package/dist/decode/reading-rules.d.ts +1 -1
- package/dist/decode/reading-rules.d.ts.map +1 -1
- package/dist/decode/reading-rules.js +3 -2
- package/dist/decode/reading-rules.js.map +1 -1
- package/dist/decode/rules.d.ts +1 -1
- package/dist/decode/rules.d.ts.map +1 -1
- package/dist/decode/rules.js +1 -1
- package/dist/decode/rules.js.map +1 -1
- package/dist/decode/run-context.d.ts +33 -0
- package/dist/decode/run-context.d.ts.map +1 -0
- package/dist/decode/run-context.js +47 -0
- package/dist/decode/run-context.js.map +1 -0
- package/dist/decode/run-lattice.d.ts +13 -10
- package/dist/decode/run-lattice.d.ts.map +1 -1
- package/dist/decode/run-lattice.js +15 -12
- package/dist/decode/run-lattice.js.map +1 -1
- package/dist/decode/script-region.d.ts +15 -0
- package/dist/decode/script-region.d.ts.map +1 -0
- package/dist/decode/script-region.js +61 -0
- package/dist/decode/script-region.js.map +1 -0
- package/dist/decode/script-types.d.ts +11 -2
- package/dist/decode/script-types.d.ts.map +1 -1
- package/dist/decode/script-types.js +2 -1
- package/dist/decode/script-types.js.map +1 -1
- package/dist/decode/script-words.d.ts +7 -5
- package/dist/decode/script-words.d.ts.map +1 -1
- package/dist/decode/script-words.js +18 -25
- package/dist/decode/script-words.js.map +1 -1
- package/dist/decode/script.d.ts.map +1 -1
- package/dist/decode/script.js +2 -1
- package/dist/decode/script.js.map +1 -1
- package/dist/dictionary/artifact-claims.d.ts +8 -0
- package/dist/dictionary/artifact-claims.d.ts.map +1 -1
- package/dist/dictionary/artifact-claims.js +11 -1
- package/dist/dictionary/artifact-claims.js.map +1 -1
- package/dist/dictionary/artifact.d.ts.map +1 -1
- package/dist/dictionary/artifact.js +3 -5
- package/dist/dictionary/artifact.js.map +1 -1
- package/dist/dictionary/measure-tone.d.ts +36 -0
- package/dist/dictionary/measure-tone.d.ts.map +1 -0
- package/dist/dictionary/measure-tone.js +139 -0
- package/dist/dictionary/measure-tone.js.map +1 -0
- package/dist/dictionary/merge-types.d.ts +8 -3
- package/dist/dictionary/merge-types.d.ts.map +1 -1
- package/dist/dictionary/merge-types.js.map +1 -1
- package/dist/dictionary/merge.d.ts.map +1 -1
- package/dist/dictionary/merge.js +7 -1
- package/dist/dictionary/merge.js.map +1 -1
- package/dist/dictionary/overrides.d.ts +5 -0
- package/dist/dictionary/overrides.d.ts.map +1 -1
- package/dist/dictionary/overrides.js +5 -5
- package/dist/dictionary/overrides.js.map +1 -1
- package/dist/dictionary/script-tables.js +91 -13
- package/dist/dictionary/script-tables.js.map +1 -1
- package/dist/dictionary/source.d.ts +22 -0
- package/dist/dictionary/source.d.ts.map +1 -1
- package/dist/dictionary/source.js +24 -0
- package/dist/dictionary/source.js.map +1 -1
- package/dist/dictionary/word-counts.d.ts +74 -0
- package/dist/dictionary/word-counts.d.ts.map +1 -0
- package/dist/dictionary/word-counts.js +142 -0
- package/dist/dictionary/word-counts.js.map +1 -0
- package/dist/dictionary/word-readings.d.ts.map +1 -1
- package/dist/dictionary/word-readings.js +3 -0
- package/dist/dictionary/word-readings.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/script/glyphs.d.ts +9 -8
- package/dist/script/glyphs.d.ts.map +1 -1
- package/dist/script/glyphs.js +21 -48
- package/dist/script/glyphs.js.map +1 -1
- package/dist/script/reading-splits.d.ts +41 -0
- package/dist/script/reading-splits.d.ts.map +1 -0
- package/dist/script/reading-splits.js +98 -0
- package/dist/script/reading-splits.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { DictionaryEntry } from "./entry.js";
|
|
2
|
+
/**
|
|
3
|
+
* Corpus counts for every key of a tier, one variable-length integer each.
|
|
4
|
+
*
|
|
5
|
+
* Counts are positional in the same sense the frequency table is: entry *n*
|
|
6
|
+
* describes the key at position *n* of the matching
|
|
7
|
+
* {@link import("./key-index.js").KeyIndex}, which is what
|
|
8
|
+
* {@link import("./dictionary.js").Dictionary.wordAt} reads.
|
|
9
|
+
*
|
|
10
|
+
* The encoding is LEB128, measured against the alternatives on the full tier's
|
|
11
|
+
* 723,147 keys. It takes 747 KB, and 243 KB brotli, where a fixed 32-bit array
|
|
12
|
+
* takes 2,825 KB and 299 KB and decimal text takes 1,586 KB and 281 KB. Two
|
|
13
|
+
* thirds of the keys are attested nowhere and most of the rest carry a small
|
|
14
|
+
* count, and a fixed width pays for the maximum on all of them.
|
|
15
|
+
*
|
|
16
|
+
* Unlike the rest of the artifact this *is* parsed on load, into one typed
|
|
17
|
+
* array. Nothing in a browser reads it, so the load cost buys a random access
|
|
18
|
+
* that a varint stream cannot otherwise give.
|
|
19
|
+
*/
|
|
20
|
+
export declare class WordCounts {
|
|
21
|
+
#private;
|
|
22
|
+
/**
|
|
23
|
+
* Encode raw counts, in key order.
|
|
24
|
+
*
|
|
25
|
+
* A count of zero means the word is attested nowhere in the corpus, which is
|
|
26
|
+
* a fact about the word and is stored as one. Fractions and negatives are
|
|
27
|
+
* floored into range rather than rejected, since a source that supplies one
|
|
28
|
+
* has already been through the merge.
|
|
29
|
+
*/
|
|
30
|
+
static build(counts: readonly number[]): WordCounts;
|
|
31
|
+
/**
|
|
32
|
+
* Decode packed bytes read back from an artifact.
|
|
33
|
+
*
|
|
34
|
+
* How many counts there are is a property of the stream rather than an
|
|
35
|
+
* argument, since every count ends at the first byte without a continuation
|
|
36
|
+
* bit. A truncated stream ends mid-count, and the trailing bytes are dropped
|
|
37
|
+
* rather than reported as a value the file never held.
|
|
38
|
+
*/
|
|
39
|
+
static from(packed: Uint8Array): WordCounts;
|
|
40
|
+
/**
|
|
41
|
+
* Hold decoded counts beside the bytes they came from. Use
|
|
42
|
+
* {@link WordCounts.build} or {@link WordCounts.from}.
|
|
43
|
+
*/
|
|
44
|
+
private constructor();
|
|
45
|
+
/**
|
|
46
|
+
* How many keys the counts describe.
|
|
47
|
+
*
|
|
48
|
+
* Worth checking against {@link import("./dictionary.js").Dictionary.size}
|
|
49
|
+
* before pairing the two by position. The counts are built for one tier, and
|
|
50
|
+
* against any other tier every position would name a different word.
|
|
51
|
+
*/
|
|
52
|
+
get size(): number;
|
|
53
|
+
/**
|
|
54
|
+
* Corpus occurrences of the key at a position.
|
|
55
|
+
*
|
|
56
|
+
* Positions outside the table report zero, which is what an unattested word
|
|
57
|
+
* reports, so a caller ranking by count sorts a missing key to the bottom.
|
|
58
|
+
*/
|
|
59
|
+
countOf(at: number): number;
|
|
60
|
+
/**
|
|
61
|
+
* The packed bytes, ready to be written out.
|
|
62
|
+
*/
|
|
63
|
+
serialise(): Uint8Array;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Compile the counts artifact from merged entries.
|
|
67
|
+
*
|
|
68
|
+
* The keys are claimed and ordered the way `artifact.ts` claims and orders
|
|
69
|
+
* them, so position *n* here is position *n* there. Only the `full` tier is
|
|
70
|
+
* written: a caller ranking words wants the whole vocabulary ordered, and a
|
|
71
|
+
* ranking over part of it answers a different question.
|
|
72
|
+
*/
|
|
73
|
+
export declare function buildWordCounts(entries: readonly DictionaryEntry[]): WordCounts;
|
|
74
|
+
//# sourceMappingURL=word-counts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"word-counts.d.ts","sourceRoot":"","sources":["../../src/dictionary/word-counts.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAelD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,UAAU;;IACrB;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CAgBlD;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAkB1C;IAKD;;;OAGG;IACH,OAAO,eAGN;IAED;;;;;;OAMG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;OAKG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE1B;IAED;;OAEG;IACH,SAAS,IAAI,UAAU,CAEtB;CACF;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,SAAS,eAAe,EAAE,GAClC,UAAU,CAIZ"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Raw corpus counts, kept beside the quantised table rather than inside it.
|
|
3
|
+
*
|
|
4
|
+
* {@link import("./frequency-table.js").FrequencyTable} packs a count into four
|
|
5
|
+
* bits, because 16 buckets are all the decoder compares and they cost 9 KB
|
|
6
|
+
* where raw single-byte counts cost 23 KB. A caller ranking words against each
|
|
7
|
+
* other needs what that packing throws away. Rank the 120,858 CC-CEDICT
|
|
8
|
+
* headwords the full tier holds by `cost` and 5,934 of them land on the value
|
|
9
|
+
* at rank 10,000, so which words make a top-10,000 cut is decided by codepoint
|
|
10
|
+
* order. Rank the same words on the counts those buckets were quantised from
|
|
11
|
+
* and the tie at that rank is 16 words wide.
|
|
12
|
+
*
|
|
13
|
+
* So this is a second artifact, read by a caller that asks for it and by
|
|
14
|
+
* nothing on the decoding path. See `docs/dictionaries/` for the shape of it.
|
|
15
|
+
*/
|
|
16
|
+
import { claimKeys, orderedClaims } from "./artifact-claims.js";
|
|
17
|
+
/**
|
|
18
|
+
* The largest count that survives a round trip, which is 32 bits of varint.
|
|
19
|
+
*
|
|
20
|
+
* jieba's busiest word is attested 883,634 times, which leaves the ceiling
|
|
21
|
+
* three orders of magnitude clear of anything the corpus holds. It bounds the
|
|
22
|
+
* encoder rather than rejecting data.
|
|
23
|
+
*/
|
|
24
|
+
const MAX_COUNT = 0xff_ff_ff_ff;
|
|
25
|
+
const CONTINUATION = 0x80;
|
|
26
|
+
const PAYLOAD = 0x7f;
|
|
27
|
+
const SHIFT = 7;
|
|
28
|
+
/**
|
|
29
|
+
* Corpus counts for every key of a tier, one variable-length integer each.
|
|
30
|
+
*
|
|
31
|
+
* Counts are positional in the same sense the frequency table is: entry *n*
|
|
32
|
+
* describes the key at position *n* of the matching
|
|
33
|
+
* {@link import("./key-index.js").KeyIndex}, which is what
|
|
34
|
+
* {@link import("./dictionary.js").Dictionary.wordAt} reads.
|
|
35
|
+
*
|
|
36
|
+
* The encoding is LEB128, measured against the alternatives on the full tier's
|
|
37
|
+
* 723,147 keys. It takes 747 KB, and 243 KB brotli, where a fixed 32-bit array
|
|
38
|
+
* takes 2,825 KB and 299 KB and decimal text takes 1,586 KB and 281 KB. Two
|
|
39
|
+
* thirds of the keys are attested nowhere and most of the rest carry a small
|
|
40
|
+
* count, and a fixed width pays for the maximum on all of them.
|
|
41
|
+
*
|
|
42
|
+
* Unlike the rest of the artifact this *is* parsed on load, into one typed
|
|
43
|
+
* array. Nothing in a browser reads it, so the load cost buys a random access
|
|
44
|
+
* that a varint stream cannot otherwise give.
|
|
45
|
+
*/
|
|
46
|
+
export class WordCounts {
|
|
47
|
+
/**
|
|
48
|
+
* Encode raw counts, in key order.
|
|
49
|
+
*
|
|
50
|
+
* A count of zero means the word is attested nowhere in the corpus, which is
|
|
51
|
+
* a fact about the word and is stored as one. Fractions and negatives are
|
|
52
|
+
* floored into range rather than rejected, since a source that supplies one
|
|
53
|
+
* has already been through the merge.
|
|
54
|
+
*/
|
|
55
|
+
static build(counts) {
|
|
56
|
+
const values = Uint32Array.from(counts, (count) => Number.isFinite(count) ? Math.min(MAX_COUNT, Math.max(0, count)) : 0);
|
|
57
|
+
const packed = [];
|
|
58
|
+
for (const value of values) {
|
|
59
|
+
let remaining = value;
|
|
60
|
+
do {
|
|
61
|
+
const byte = remaining & PAYLOAD;
|
|
62
|
+
remaining >>>= SHIFT;
|
|
63
|
+
packed.push(remaining > 0 ? byte | CONTINUATION : byte);
|
|
64
|
+
} while (remaining > 0);
|
|
65
|
+
}
|
|
66
|
+
return new WordCounts(values, Uint8Array.from(packed));
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Decode packed bytes read back from an artifact.
|
|
70
|
+
*
|
|
71
|
+
* How many counts there are is a property of the stream rather than an
|
|
72
|
+
* argument, since every count ends at the first byte without a continuation
|
|
73
|
+
* bit. A truncated stream ends mid-count, and the trailing bytes are dropped
|
|
74
|
+
* rather than reported as a value the file never held.
|
|
75
|
+
*/
|
|
76
|
+
static from(packed) {
|
|
77
|
+
const values = [];
|
|
78
|
+
let value = 0;
|
|
79
|
+
let shift = 0;
|
|
80
|
+
for (const byte of packed) {
|
|
81
|
+
// `+` rather than `|`, which is signed and would wrap the top bit of a
|
|
82
|
+
// 32-bit count into a negative number.
|
|
83
|
+
value += (byte & PAYLOAD) * 2 ** shift;
|
|
84
|
+
if ((byte & CONTINUATION) === 0) {
|
|
85
|
+
values.push(value);
|
|
86
|
+
value = 0;
|
|
87
|
+
shift = 0;
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
shift += SHIFT;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return new WordCounts(Uint32Array.from(values), packed);
|
|
94
|
+
}
|
|
95
|
+
#counts;
|
|
96
|
+
#packed;
|
|
97
|
+
/**
|
|
98
|
+
* Hold decoded counts beside the bytes they came from. Use
|
|
99
|
+
* {@link WordCounts.build} or {@link WordCounts.from}.
|
|
100
|
+
*/
|
|
101
|
+
constructor(counts, packed) {
|
|
102
|
+
this.#counts = counts;
|
|
103
|
+
this.#packed = packed;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* How many keys the counts describe.
|
|
107
|
+
*
|
|
108
|
+
* Worth checking against {@link import("./dictionary.js").Dictionary.size}
|
|
109
|
+
* before pairing the two by position. The counts are built for one tier, and
|
|
110
|
+
* against any other tier every position would name a different word.
|
|
111
|
+
*/
|
|
112
|
+
get size() {
|
|
113
|
+
return this.#counts.length;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Corpus occurrences of the key at a position.
|
|
117
|
+
*
|
|
118
|
+
* Positions outside the table report zero, which is what an unattested word
|
|
119
|
+
* reports, so a caller ranking by count sorts a missing key to the bottom.
|
|
120
|
+
*/
|
|
121
|
+
countOf(at) {
|
|
122
|
+
return this.#counts[at] ?? 0;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* The packed bytes, ready to be written out.
|
|
126
|
+
*/
|
|
127
|
+
serialise() {
|
|
128
|
+
return this.#packed;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Compile the counts artifact from merged entries.
|
|
133
|
+
*
|
|
134
|
+
* The keys are claimed and ordered the way `artifact.ts` claims and orders
|
|
135
|
+
* them, so position *n* here is position *n* there. Only the `full` tier is
|
|
136
|
+
* written: a caller ranking words wants the whole vocabulary ordered, and a
|
|
137
|
+
* ranking over part of it answers a different question.
|
|
138
|
+
*/
|
|
139
|
+
export function buildWordCounts(entries) {
|
|
140
|
+
return WordCounts.build(orderedClaims(claimKeys(entries)).map(([, entry]) => entry.frequency));
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=word-counts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"word-counts.js","sourceRoot":"","sources":["../../src/dictionary/word-counts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"word-readings.d.ts","sourceRoot":"","sources":["../../src/dictionary/word-readings.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAE7E;;GAEG;AACH,wBAAgB,KAAK,CACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,GACV,cAAc,CAahB;AAED,eAAO,MAAM,aAAa,EAAE,SAAS,cAAc,
|
|
1
|
+
{"version":3,"file":"word-readings.d.ts","sourceRoot":"","sources":["../../src/dictionary/word-readings.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAE7E;;GAEG;AACH,wBAAgB,KAAK,CACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,GACV,cAAc,CAahB;AAED,eAAO,MAAM,aAAa,EAAE,SAAS,cAAc,EAyBlD,CAAC"}
|
|
@@ -34,6 +34,9 @@ export const WORD_READINGS = [
|
|
|
34
34
|
reads("重複", "chóng fù", "one of two 繁體 spellings, both keyed"),
|
|
35
35
|
reads("重覆", "chóng fù", "the other, on the same entry"),
|
|
36
36
|
reads("下麵", "xià miàn", "both spellings of a word CC-CEDICT writes twice"),
|
|
37
|
+
reads("一个", "yī gè", "个 counting is written with its tone"),
|
|
38
|
+
reads("那个人", "nà ge rén", "and 那个's 轻声 holds inside a longer key"),
|
|
39
|
+
reads("独自个", "dú zì gě", "while 个's other reading is not the 量词"),
|
|
37
40
|
reads("做什么", "zuò shén me", "an uncorroborated key held to 什么"),
|
|
38
41
|
reads("什么意思", "shén me yì si", "and to 意思, on the neutral tone"),
|
|
39
42
|
reads("分子结构", "fēn zǐ jié gòu", "but not to a sense 分子 also carries"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"word-readings.js","sourceRoot":"","sources":["../../src/dictionary/word-readings.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,MAAM,UAAU,KAAK,CACnB,IAAY,EACZ,QAAgB,EAChB,GAAW;IAEX,OAAO;QACL,WAAW,EAAE,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG,GAAG;QAC7C,KAAK,EAAE,CAAC,UAA2B,EAAsB,EAAE;YACzD,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,GAAG,IAAI,iCAAiC,CAAC;YAClD,CAAC;YACD,OAAO,MAAM,KAAK,QAAQ;gBACxB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,GAAG,IAAI,UAAU,MAAM,cAAc,QAAQ,EAAE,CAAC;QACtD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAA8B;IACtD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,iCAAiC,CAAC;IACtD,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,+BAA+B,CAAC;IACrD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,8CAA8C,CAAC;IACnE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,6BAA6B,CAAC;IACnD,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE,yBAAyB,CAAC;IAC1D,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE,+BAA+B,CAAC;IAChE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,oCAAoC,CAAC;IAC3D,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,uCAAuC,CAAC;IAC/D,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,2CAA2C,CAAC;IACzE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,2CAA2C,CAAC;IAClE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,oBAAoB,CAAC;IAC7C,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,oBAAoB,CAAC;IAC/C,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,oCAAoC,CAAC;IAC3D,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,oCAAoC,CAAC;IAC5D,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,kDAAkD,CAAC;IACzE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,qCAAqC,CAAC;IAC9D,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,8BAA8B,CAAC;IACvD,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,iDAAiD,CAAC;IAC1E,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,kCAAkC,CAAC;IAC/D,KAAK,CAAC,MAAM,EAAE,eAAe,EAAE,gCAAgC,CAAC;IAChE,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE,oCAAoC,CAAC;CACtE,CAAC"}
|
|
1
|
+
{"version":3,"file":"word-readings.js","sourceRoot":"","sources":["../../src/dictionary/word-readings.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,MAAM,UAAU,KAAK,CACnB,IAAY,EACZ,QAAgB,EAChB,GAAW;IAEX,OAAO;QACL,WAAW,EAAE,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG,GAAG;QAC7C,KAAK,EAAE,CAAC,UAA2B,EAAsB,EAAE;YACzD,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,GAAG,IAAI,iCAAiC,CAAC;YAClD,CAAC;YACD,OAAO,MAAM,KAAK,QAAQ;gBACxB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,GAAG,IAAI,UAAU,MAAM,cAAc,QAAQ,EAAE,CAAC;QACtD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAA8B;IACtD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,iCAAiC,CAAC;IACtD,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,+BAA+B,CAAC;IACrD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,8CAA8C,CAAC;IACnE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,6BAA6B,CAAC;IACnD,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE,yBAAyB,CAAC;IAC1D,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE,+BAA+B,CAAC;IAChE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,oCAAoC,CAAC;IAC3D,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,uCAAuC,CAAC;IAC/D,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,2CAA2C,CAAC;IACzE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,2CAA2C,CAAC;IAClE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,oBAAoB,CAAC;IAC7C,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,oBAAoB,CAAC;IAC/C,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,oCAAoC,CAAC;IAC3D,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,oCAAoC,CAAC;IAC5D,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,kDAAkD,CAAC;IACzE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,qCAAqC,CAAC;IAC9D,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,8BAA8B,CAAC;IACvD,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,iDAAiD,CAAC;IAC1E,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,qCAAqC,CAAC;IAC3D,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,uCAAuC,CAAC;IAClE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,uCAAuC,CAAC;IACjE,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,kCAAkC,CAAC;IAC/D,KAAK,CAAC,MAAM,EAAE,eAAe,EAAE,gCAAgC,CAAC;IAChE,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE,oCAAoC,CAAC;CACtE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export { isSameReading, isSameSyllable } from "./dictionary/entry.js";
|
|
|
13
13
|
export type { DictionaryEntry, EntryReadings } from "./dictionary/entry.js";
|
|
14
14
|
export { attachErhua, isErFinal, NON_ERHUA_ER_WORDS, withErhua, } from "./dictionary/erhua.js";
|
|
15
15
|
export { FREQUENCY_BUCKETS, FrequencyTable, } from "./dictionary/frequency-table.js";
|
|
16
|
+
export { buildWordCounts, WordCounts } from "./dictionary/word-counts.js";
|
|
16
17
|
export { KeyIndex } from "./dictionary/key-index.js";
|
|
17
18
|
export type { KeyLookup } from "./dictionary/key-index.js";
|
|
18
19
|
export { mergeSources } from "./dictionary/merge.js";
|
|
@@ -25,7 +26,7 @@ export { pairScripts, TraditionalTable } from "./dictionary/traditional.js";
|
|
|
25
26
|
export type { ScriptPairing } from "./dictionary/traditional.js";
|
|
26
27
|
export { Dictionary } from "./dictionary/dictionary.js";
|
|
27
28
|
export type { DictionaryReadings, WordEntry } from "./dictionary/dictionary.js";
|
|
28
|
-
export { fetchSource, loadArtifact, loadDictionary, loadScriptTables, SCRIPT_FILE, tierFiles, } from "./dictionary/source.js";
|
|
29
|
+
export { COUNTS_FILE, fetchSource, loadArtifact, loadDictionary, loadScriptTables, loadWordCounts, SCRIPT_FILE, tierFiles, } from "./dictionary/source.js";
|
|
29
30
|
export type { DictionarySource } from "./dictionary/source.js";
|
|
30
31
|
export { convert, convertGreedily, convertPieces, joinPieces, } from "./decode/convert.js";
|
|
31
32
|
export type { ConvertedPiece, ConvertOptions } from "./decode/convert.js";
|
|
@@ -50,7 +51,7 @@ export type { ReadingProjection, ReadingUnit } from "./decode/locking.js";
|
|
|
50
51
|
export { applyEdgeRules, tagOf, wordEndingAt, wordStartingAt, } from "./decode/rules.js";
|
|
51
52
|
export type { EdgeContext, EdgeRule, EdgeVerdict } from "./decode/rules.js";
|
|
52
53
|
export type { PositionalReading, ReadingHint, ReadingHints, WordReading, } from "./decode/hints.js";
|
|
53
|
-
export { ADJECTIVAL_CHANG, ATTESTED_ERHUA, COUNTED_MEASURE, MODAL_DE, PARTICLE_DE, PLAYING_TAN, READING_RULES, TEACHING_JIAO, } from "./decode/reading-rules.js";
|
|
54
|
+
export { ADJECTIVAL_CHANG, ATTESTED_ERHUA, COUNTED_MEASURE, MODAL_DE, PARTICLE_DE, PLAYING_TAN, POTENTIAL_DE, READING_RULES, TEACHING_JIAO, } from "./decode/reading-rules.js";
|
|
54
55
|
export { readingCost, shortestPath, spacingCost } from "./decode/viterbi.js";
|
|
55
56
|
export type { CostOf } from "./decode/viterbi.js";
|
|
56
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
|
@@ -10,13 +10,14 @@ export { BUILD_ASSERTIONS, BuiltDictionary, checkBuild, } from "./dictionary/ass
|
|
|
10
10
|
export { isSameReading, isSameSyllable } from "./dictionary/entry.js";
|
|
11
11
|
export { attachErhua, isErFinal, NON_ERHUA_ER_WORDS, withErhua, } from "./dictionary/erhua.js";
|
|
12
12
|
export { FREQUENCY_BUCKETS, FrequencyTable, } from "./dictionary/frequency-table.js";
|
|
13
|
+
export { buildWordCounts, WordCounts } from "./dictionary/word-counts.js";
|
|
13
14
|
export { KeyIndex } from "./dictionary/key-index.js";
|
|
14
15
|
export { mergeSources } from "./dictionary/merge.js";
|
|
15
16
|
export { OVERRIDE_READINGS, READING_OVERRIDES, readOverrideReading, } from "./dictionary/overrides.js";
|
|
16
17
|
export { readAlignedReading, readDictionaryReading, } from "./dictionary/reading.js";
|
|
17
18
|
export { pairScripts, TraditionalTable } from "./dictionary/traditional.js";
|
|
18
19
|
export { Dictionary } from "./dictionary/dictionary.js";
|
|
19
|
-
export { fetchSource, loadArtifact, loadDictionary, loadScriptTables, SCRIPT_FILE, tierFiles, } from "./dictionary/source.js";
|
|
20
|
+
export { COUNTS_FILE, fetchSource, loadArtifact, loadDictionary, loadScriptTables, loadWordCounts, SCRIPT_FILE, tierFiles, } from "./dictionary/source.js";
|
|
20
21
|
export { convert, convertGreedily, convertPieces, joinPieces, } from "./decode/convert.js";
|
|
21
22
|
export { isUncertain, scoreReadings } from "./decode/confidence.js";
|
|
22
23
|
export { decodeReadings, decodeRun, decodeRunScored, decodeSpacing, } from "./decode/decode.js";
|
|
@@ -30,7 +31,7 @@ export { buildScriptTables } from "./dictionary/script-tables.js";
|
|
|
30
31
|
export { allEdges, buildLattice, cutPoints, READING_CHARGE, } from "./decode/lattice.js";
|
|
31
32
|
export { isSettled, projectReadings, settledUnits, unitsOf, } from "./decode/locking.js";
|
|
32
33
|
export { applyEdgeRules, tagOf, wordEndingAt, wordStartingAt, } from "./decode/rules.js";
|
|
33
|
-
export { ADJECTIVAL_CHANG, ATTESTED_ERHUA, COUNTED_MEASURE, MODAL_DE, PARTICLE_DE, PLAYING_TAN, READING_RULES, TEACHING_JIAO, } from "./decode/reading-rules.js";
|
|
34
|
+
export { ADJECTIVAL_CHANG, ATTESTED_ERHUA, COUNTED_MEASURE, MODAL_DE, PARTICLE_DE, PLAYING_TAN, POTENTIAL_DE, READING_RULES, TEACHING_JIAO, } from "./decode/reading-rules.js";
|
|
34
35
|
export { readingCost, shortestPath, spacingCost } from "./decode/viterbi.js";
|
|
35
36
|
export { cardinalHanzi, LARGEST_CARDINAL } from "./numerals/cardinal.js";
|
|
36
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":"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"}
|
package/dist/script/glyphs.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Syllable } from "../syllable/syllable.js";
|
|
2
|
+
export { isReadingScoped, isReadingSensitive } from "./reading-splits.js";
|
|
2
3
|
/**
|
|
3
4
|
* The regional 繁體 orthographies this package writes.
|
|
4
5
|
*
|
|
@@ -40,14 +41,6 @@ export declare const CANONICAL_FORMS: ReadonlyMap<string, string>;
|
|
|
40
41
|
* {@link CANONICAL_FORMS}.
|
|
41
42
|
*/
|
|
42
43
|
export declare const HONG_KONG_FORMS: ReadonlyMap<string, string>;
|
|
43
|
-
/**
|
|
44
|
-
* Whether a character's regional form depends on how it is read.
|
|
45
|
-
*
|
|
46
|
-
* Exposed so that a conversion can report the choice as uncertain when it had
|
|
47
|
-
* no reading to go on, rather than presenting a default as though it were
|
|
48
|
-
* settled.
|
|
49
|
-
*/
|
|
50
|
-
export declare function isReadingSensitive(character: string): boolean;
|
|
51
44
|
/**
|
|
52
45
|
* Normalise one 繁體 character to the canonical form the dictionary stores.
|
|
53
46
|
*
|
|
@@ -83,6 +76,14 @@ export declare function toCanonicalGlyphs(text: string): string;
|
|
|
83
76
|
* changes how a character is read.
|
|
84
77
|
*/
|
|
85
78
|
export declare function toRegionalGlyph(character: string, region: Region, syllable?: Syllable): string;
|
|
79
|
+
/**
|
|
80
|
+
* Every form a character can take in a region, likeliest first.
|
|
81
|
+
*
|
|
82
|
+
* The region's own answer followed by whatever a reading would have kept, which
|
|
83
|
+
* is what a conversion made without a reading needs in order to say what it was
|
|
84
|
+
* choosing between.
|
|
85
|
+
*/
|
|
86
|
+
export declare function regionalGlyphsOf(character: string, region: Region): readonly string[];
|
|
86
87
|
/**
|
|
87
88
|
* Write a whole canonical text in a region's orthography.
|
|
88
89
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glyphs.d.ts","sourceRoot":"","sources":["../../src/script/glyphs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"glyphs.d.ts","sourceRoot":"","sources":["../../src/script/glyphs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIxD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE1E;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,YAAI,IAAI,EAAE,IAAI,CAAU,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,OAAwB,CAAC;AAiFpD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,6BAA6B,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,eAAe,6BAA6B,CAAC;AAE1D;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1D;AAcD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAStD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,QAAQ,GAClB,MAAM,CASR;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,SAAS,MAAM,EAAE,CAOnB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,EAAO,GAC/C,MAAM,CASR"}
|
package/dist/script/glyphs.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { toCharacters } from "./characters.js";
|
|
2
|
+
import { splitFormAt, splitFormsOf } from "./reading-splits.js";
|
|
3
|
+
export { isReadingScoped, isReadingSensitive } from "./reading-splits.js";
|
|
2
4
|
/**
|
|
3
5
|
* The regional 繁體 orthographies this package writes.
|
|
4
6
|
*
|
|
@@ -92,7 +94,7 @@ const CANONICAL_PAIRS = "僞偽衹只啓啟喫吃粧妝嫺嫻嬀媯峯峰捝挩
|
|
|
92
94
|
const HONG_KONG_PAIRS = "兌兑叄叁啟啓囪囱媼媪嫻嫺峰峯么幺悅悦慍愠戶户挩捝" +
|
|
93
95
|
"搵揾敓敚敘敍柺枴梲棁榲榅梁樑簷檐檯枱氳氲汙污洩泄" +
|
|
94
96
|
"涗涚溫温溼濕熅煴床牀痺痹著着睪睾稅税縕緼韁繮群羣" +
|
|
95
|
-
"
|
|
97
|
+
"脫脱膃腽臥卧臺台菸煙蒕蒀蔥葱蘊藴蛻蜕衛衞裡裏" +
|
|
96
98
|
"說説轀輼醞醖鉤鈎銳鋭閱閲鯰鮎鰮鰛麵麪顎齶";
|
|
97
99
|
/**
|
|
98
100
|
* Variant 繁體 forms mapped to the canonical form, as a table.
|
|
@@ -107,47 +109,6 @@ export const CANONICAL_FORMS = readPairs(CANONICAL_PAIRS);
|
|
|
107
109
|
* {@link CANONICAL_FORMS}.
|
|
108
110
|
*/
|
|
109
111
|
export const HONG_KONG_FORMS = readPairs(HONG_KONG_PAIRS);
|
|
110
|
-
/**
|
|
111
|
-
* The one glyph mapping whose answer depends on how the character is read.
|
|
112
|
-
*
|
|
113
|
-
* Taiwan writes 著 for every sense; Hong Kong splits it, writing 着 for the
|
|
114
|
-
* aspect particle and its relatives and keeping 著 for `zhù`. CC-CEDICT records
|
|
115
|
-
* the same split in its 简体 column — `著 着 [zhe5]` against `著 著 [zhu4]` —
|
|
116
|
-
* which is independent confirmation that the divide is real and where it falls.
|
|
117
|
-
*
|
|
118
|
-
* OpenCC resolves this with a phrase table. We resolve it with the reading,
|
|
119
|
-
* which is the point of difference this feature exists for, and which
|
|
120
|
-
* generalises to words no phrase table lists.
|
|
121
|
-
*
|
|
122
|
-
* `zhuó` is deliberately absent, and that is not an oversight: CC-CEDICT writes
|
|
123
|
-
* it both ways — `著 着 [zhuo2]` for wearing or applying, `著 著 [zhuo2]` for
|
|
124
|
-
* 執著 — so the reading genuinely does not settle it. It falls through to the
|
|
125
|
-
* default below and is reported as uncertain rather than guessed at silently.
|
|
126
|
-
*/
|
|
127
|
-
const READING_SPLITS = new Map([["著", new Map([["zhu", "著"]])]]);
|
|
128
|
-
/**
|
|
129
|
-
* A reading key ignoring tone and 儿化, which never bear on a glyph choice.
|
|
130
|
-
*
|
|
131
|
-
* Tone is dropped because the split that needs it — 著 — divides `zhù` from
|
|
132
|
-
* `zhe` and `zháo`, and those differ in their vowels as well, so the initial
|
|
133
|
-
* and final are enough and are what sources agree on most.
|
|
134
|
-
*/
|
|
135
|
-
function readingKey(syllable) {
|
|
136
|
-
if (syllable === undefined) {
|
|
137
|
-
return undefined;
|
|
138
|
-
}
|
|
139
|
-
return `${syllable.initial}${syllable.final}`;
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Whether a character's regional form depends on how it is read.
|
|
143
|
-
*
|
|
144
|
-
* Exposed so that a conversion can report the choice as uncertain when it had
|
|
145
|
-
* no reading to go on, rather than presenting a default as though it were
|
|
146
|
-
* settled.
|
|
147
|
-
*/
|
|
148
|
-
export function isReadingSensitive(character) {
|
|
149
|
-
return READING_SPLITS.has(character);
|
|
150
|
-
}
|
|
151
112
|
/**
|
|
152
113
|
* Normalise one 繁體 character to the canonical form the dictionary stores.
|
|
153
114
|
*
|
|
@@ -208,12 +169,24 @@ export function toRegionalGlyph(character, region, syllable) {
|
|
|
208
169
|
if (region === DEFAULT_REGION) {
|
|
209
170
|
return character;
|
|
210
171
|
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
172
|
+
return (splitFormAt(character, syllable) ??
|
|
173
|
+
HONG_KONG_FORMS.get(character) ??
|
|
174
|
+
character);
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Every form a character can take in a region, likeliest first.
|
|
178
|
+
*
|
|
179
|
+
* The region's own answer followed by whatever a reading would have kept, which
|
|
180
|
+
* is what a conversion made without a reading needs in order to say what it was
|
|
181
|
+
* choosing between.
|
|
182
|
+
*/
|
|
183
|
+
export function regionalGlyphsOf(character, region) {
|
|
184
|
+
return [
|
|
185
|
+
...new Set([
|
|
186
|
+
toRegionalGlyph(character, region),
|
|
187
|
+
...splitFormsOf(character),
|
|
188
|
+
]),
|
|
189
|
+
];
|
|
217
190
|
}
|
|
218
191
|
/**
|
|
219
192
|
* Write a whole canonical text in a region's orthography.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glyphs.js","sourceRoot":"","sources":["../../src/script/glyphs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"glyphs.js","sourceRoot":"","sources":["../../src/script/glyphs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The two 繁體 glyph mappings that a reading decides, and what reads them.
|
|
3
|
+
*
|
|
4
|
+
* Their own module because everything here is about one table of two entries,
|
|
5
|
+
* and `glyphs.ts` is otherwise about the flat pair tables. The split is what
|
|
6
|
+
* those tables cannot carry.
|
|
7
|
+
*/
|
|
8
|
+
import type { Syllable } from "../syllable/syllable.js";
|
|
9
|
+
/**
|
|
10
|
+
* The form a split writes at a reading, or undefined where none applies.
|
|
11
|
+
*
|
|
12
|
+
* A caller with no syllable gets undefined, which is what sends it to the flat
|
|
13
|
+
* table's answer and makes the choice a guess.
|
|
14
|
+
*/
|
|
15
|
+
export declare function splitFormAt(character: string, syllable: Syllable | undefined): string | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Every form a split writes for a character, in the order the table lists them.
|
|
18
|
+
*/
|
|
19
|
+
export declare function splitFormsOf(character: string): readonly string[];
|
|
20
|
+
/**
|
|
21
|
+
* Whether a character's regional form depends on how it is read.
|
|
22
|
+
*
|
|
23
|
+
* Exposed so that a conversion can report the choice as uncertain when it had
|
|
24
|
+
* no reading to go on, rather than presenting a default as though it were
|
|
25
|
+
* settled.
|
|
26
|
+
*/
|
|
27
|
+
export declare function isReadingSensitive(character: string): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Whether a character's Hong Kong form applies at one reading rather than all.
|
|
30
|
+
*
|
|
31
|
+
* The two shapes {@link READING_SPLITS} holds, told apart by what the split
|
|
32
|
+
* writes. A split naming the character itself is an exception to a mapping that
|
|
33
|
+
* otherwise holds, so the flat table keeps it — 著 is 着 in Hong Kong except at
|
|
34
|
+
* `zhù`. A split naming some other form is the whole of the mapping, so the
|
|
35
|
+
* flat table must not carry it, or every reading would take the regional form.
|
|
36
|
+
*
|
|
37
|
+
* Read by the derivation in `scripts/build-data/glyph-tables.ts`, which would
|
|
38
|
+
* otherwise fail the build for a mapping OpenCC makes and this file declines.
|
|
39
|
+
*/
|
|
40
|
+
export declare function isReadingScoped(character: string): boolean;
|
|
41
|
+
//# sourceMappingURL=reading-splits.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reading-splits.d.ts","sourceRoot":"","sources":["../../src/script/reading-splits.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAgExD;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAC7B,MAAM,GAAG,SAAS,CAEpB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAEjE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE1D"}
|