@kensio/pinyinjs 1.9.1 → 1.9.3

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.
@@ -71,4 +71,5 @@ export declare const POTENTIAL_DE: EdgeRule;
71
71
  * to the reading — 你說的對 was one word `deduì` and is now two.
72
72
  */
73
73
  export declare const PARTICLE_DE: EdgeRule;
74
+ export { NOUN_HUA } from "./hua-rule.js";
74
75
  //# sourceMappingURL=de-rule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"de-rule.d.ts","sourceRoot":"","sources":["../../src/decode/de-rule.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,KAAK,QAAQ,EAKd,MAAM,YAAY,CAAC;AAgCpB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,QAAQ,EAAE,QActB,CAAC;AA8CF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,YAAY,EAAE,QAoB1B,CAAC;AAWF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,WAAW,EAAE,QAczB,CAAC"}
1
+ {"version":3,"file":"de-rule.d.ts","sourceRoot":"","sources":["../../src/decode/de-rule.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,KAAK,QAAQ,EAKd,MAAM,YAAY,CAAC;AAgCpB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,QAAQ,EAAE,QActB,CAAC;AA8CF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,YAAY,EAAE,QAoB1B,CAAC;AAWF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,WAAW,EAAE,QAczB,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
@@ -186,4 +186,5 @@ export const PARTICLE_DE = {
186
186
  return MODIFIED_TAGS.test(tagOf(context, before)) ? "forbid" : "keep";
187
187
  },
188
188
  };
189
+ export { NOUN_HUA } from "./hua-rule.js";
189
190
  //# sourceMappingURL=de-rule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"de-rule.js","sourceRoot":"","sources":["../../src/decode/de-rule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"de-rule.js","sourceRoot":"","sources":["../../src/decode/de-rule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { type EdgeContext } from "./rules.js";
2
+ /**
3
+ * Whether the 的 follows an adjective of speech that somebody said.
4
+ *
5
+ * The adjective can carry a degree (很蠢, 这么卑鄙), and before it stands a
6
+ * speaker (他刻薄的话), a verb of speaking (说出这么卑鄙的话, 说了很蠢的话) or
7
+ * another 的 (我说过的最愚蠢的话). A bare 难听的话 is left to the conditional.
8
+ */
9
+ export declare function describesSpeech(context: EdgeContext, from: number): boolean;
10
+ /**
11
+ * Whether the 话 is the words something is put in: 用通俗的话解释.
12
+ *
13
+ * A 用 in the few characters before the 的, standing as a word of its own, and
14
+ * a verb of explaining at the 话's end or one character on (再说一遍,
15
+ * 做解释). 用电脑的话就快多了 has no such verb and stays the conditional, and so
16
+ * does 有用的话, whose 用 is half of another word.
17
+ */
18
+ export declare function explainsIn(context: EdgeContext, from: number, to: number): boolean;
19
+ //# sourceMappingURL=hua-modified.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hua-modified.d.ts","sourceRoot":"","sources":["../../src/decode/hua-modified.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,WAAW,EAIjB,MAAM,YAAY,CAAC;AAWpB;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAyB3E;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,OAAO,CAmBT"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * What the modifier before a 的 says about the 话 after it: 他刻薄的话,
3
+ * 说了很蠢的话, 用通俗的话解释.
4
+ */
5
+ import { toCharacters } from "../script/characters.js";
6
+ import { wordEndingAt, wordsEndingAt, wordStartingAt, } from "./rules.js";
7
+ import { at } from "./hua-speaking.js";
8
+ import { DEGREE, EXPLAINING, OF_SPEECH, PERSONS, SPEAKING, SPEAKING_TAIL, } from "./hua-words.js";
9
+ /**
10
+ * Whether the 的 follows an adjective of speech that somebody said.
11
+ *
12
+ * The adjective can carry a degree (很蠢, 这么卑鄙), and before it stands a
13
+ * speaker (他刻薄的话), a verb of speaking (说出这么卑鄙的话, 说了很蠢的话) or
14
+ * another 的 (我说过的最愚蠢的话). A bare 难听的话 is left to the conditional.
15
+ */
16
+ export function describesSpeech(context, from) {
17
+ const quality = wordsEndingAt(context, from, 2).find((word) => OF_SPEECH.has(word));
18
+ if (quality === undefined) {
19
+ return false;
20
+ }
21
+ let start = from - toCharacters(quality).length;
22
+ const degree = wordsEndingAt(context, start, 2).find((word) => DEGREE.has(word));
23
+ if (degree !== undefined) {
24
+ start -= toCharacters(degree).length;
25
+ }
26
+ if (at(context, start - 1) === "的" ||
27
+ wordsEndingAt(context, start, 2).some((word) => PERSONS.has(word))) {
28
+ return true;
29
+ }
30
+ let verb = start - 1;
31
+ while (verb > start - 4 && SPEAKING_TAIL.has(at(context, verb))) {
32
+ verb -= 1;
33
+ }
34
+ return SPEAKING.has(at(context, verb));
35
+ }
36
+ /**
37
+ * Whether the 话 is the words something is put in: 用通俗的话解释.
38
+ *
39
+ * A 用 in the few characters before the 的, standing as a word of its own, and
40
+ * a verb of explaining at the 话's end or one character on (再说一遍,
41
+ * 做解释). 用电脑的话就快多了 has no such verb and stays the conditional, and so
42
+ * does 有用的话, whose 用 is half of another word.
43
+ */
44
+ export function explainsIn(context, from, to) {
45
+ let uses = false;
46
+ for (let index = from - 1; index >= Math.max(0, from - 5); index--) {
47
+ const character = at(context, index);
48
+ if (character === "的") {
49
+ return false;
50
+ }
51
+ if (character === "用" && wordEndingAt(context, index + 1, 2) === "用") {
52
+ uses = true;
53
+ break;
54
+ }
55
+ }
56
+ return (uses &&
57
+ [to, to + 1].some((index) => {
58
+ const word = wordStartingAt(context, index);
59
+ return word !== undefined && EXPLAINING.includes(word);
60
+ }));
61
+ }
62
+ //# sourceMappingURL=hua-modified.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hua-modified.js","sourceRoot":"","sources":["../../src/decode/hua-modified.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { type EdgeRule } from "./rules.js";
2
+ /**
3
+ * 的话 is taken off the lattice where the 话 is the noun its 的 modifies.
4
+ *
5
+ * The conditional is the default, since it is what the word is, and the rule
6
+ * names the contexts where it cannot be: a 吗 or 里 after the 话, a time the
7
+ * words were said, a verb of speaking before the 的, a kind of words that verb
8
+ * is saying, a 句 counting them, an adjective of speech, the words something
9
+ * is explained in, or a person whose words they are. Taking the edge away leaves 的 and 话
10
+ * to read as themselves, which they already did, so this changes the spacing
11
+ * and the segmentation rather than any syllable: `shuō de huà`, not
12
+ * `shuō dehuà`.
13
+ *
14
+ * Over the 472 distinct lines of Tatoeba, zh.wikipedia and the Chinese Boost
15
+ * example sentences that hold 的话, the full tier read 463 runs as the word.
16
+ */
17
+ export declare const NOUN_HUA: EdgeRule;
18
+ //# sourceMappingURL=hua-rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hua-rule.d.ts","sourceRoot":"","sources":["../../src/decode/hua-rule.ts"],"names":[],"mappings":"AAUA,OAAO,EAEL,KAAK,QAAQ,EAId,MAAM,YAAY,CAAC;AAuDpB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,QAAQ,EAAE,QAoBtB,CAAC"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * The 话 after a structural 的, which is the noun *words* and not half of 的话.
3
+ *
4
+ * 的话 is a word, the clause-final *if* of 要是下雨的话, and every source counts
5
+ * it. The same two characters are just as often the particle 的 and the noun 话
6
+ * it modifies: 他说的话, 听妈妈的话. The decode had no way to tell the two
7
+ * apart and read every one of them as the conditional, so 你听得懂从我嘴里出来的话吗
8
+ * came out `chūlái dehuà ma`.
9
+ */
10
+ import { toCharacters } from "../script/characters.js";
11
+ import { tagOf, wordEndingAt, wordsEndingAt, } from "./rules.js";
12
+ import { DE_HUA, AFTER_NOUN, PERSONS, OWNER_TAGS, RECEIVING, NEGATION, RECEIVING_TAIL, EARLIER, } from "./hua-words.js";
13
+ import { describesSpeech, explainsIn } from "./hua-modified.js";
14
+ import { at, followsSpeaking, isCounted, saysKind } from "./hua-speaking.js";
15
+ /**
16
+ * Whether the 的 marks whose words they are, 他的话 and 听老师的话.
17
+ *
18
+ * The owner is a person, and it either opens the run with something said about
19
+ * the words after them (他的话让我吃惊) or is the object of a verb that takes
20
+ * words (听妈妈的话, 相信你的话, 听她叔叔的话). A noun owner is a word of two
21
+ * characters or more, since 热的话就脱衣服 is tagged as a noun and is the
22
+ * conditional.
23
+ *
24
+ * A negated verb counts as the verb. 不听 is a word of its own, and
25
+ * 为什么不听我的话 has to find 听 in it.
26
+ */
27
+ function isOwned(context, from, to) {
28
+ const owner = wordEndingAt(context, from, 3);
29
+ if (owner === undefined) {
30
+ return false;
31
+ }
32
+ const isPerson = PERSONS.has(owner);
33
+ if (!isPerson &&
34
+ (toCharacters(owner).length < 2 || !OWNER_TAGS.test(tagOf(context, owner)))) {
35
+ return false;
36
+ }
37
+ let start = from - toCharacters(owner).length;
38
+ if (start === 0) {
39
+ return to < context.characters.length;
40
+ }
41
+ const possessor = wordEndingAt(context, start, 2);
42
+ if (!isPerson && possessor !== undefined && PERSONS.has(possessor)) {
43
+ start -= toCharacters(possessor).length;
44
+ }
45
+ let verb = start;
46
+ while (verb > start - 2 && RECEIVING_TAIL.has(at(context, verb - 1))) {
47
+ verb -= 1;
48
+ }
49
+ return wordsEndingAt(context, verb).some((word) => RECEIVING.has(word) || RECEIVING.has(word.replace(NEGATION, "")));
50
+ }
51
+ /**
52
+ * 的话 is taken off the lattice where the 话 is the noun its 的 modifies.
53
+ *
54
+ * The conditional is the default, since it is what the word is, and the rule
55
+ * names the contexts where it cannot be: a 吗 or 里 after the 话, a time the
56
+ * words were said, a verb of speaking before the 的, a kind of words that verb
57
+ * is saying, a 句 counting them, an adjective of speech, the words something
58
+ * is explained in, or a person whose words they are. Taking the edge away leaves 的 and 话
59
+ * to read as themselves, which they already did, so this changes the spacing
60
+ * and the segmentation rather than any syllable: `shuō de huà`, not
61
+ * `shuō dehuà`.
62
+ *
63
+ * Over the 472 distinct lines of Tatoeba, zh.wikipedia and the Chinese Boost
64
+ * example sentences that hold 的话, the full tier read 463 runs as the word.
65
+ */
66
+ export const NOUN_HUA = {
67
+ name: "noun-hua",
68
+ verdictFor: (context) => {
69
+ const { edge } = context;
70
+ if (!DE_HUA.has(edge.text)) {
71
+ return "keep";
72
+ }
73
+ const { from, to } = edge;
74
+ const before = wordEndingAt(context, from, 2);
75
+ return AFTER_NOUN.has(at(context, to)) ||
76
+ (before !== undefined && EARLIER.has(before)) ||
77
+ followsSpeaking(context, from) ||
78
+ saysKind(context, from) ||
79
+ isCounted(context, from) ||
80
+ describesSpeech(context, from) ||
81
+ explainsIn(context, from, to) ||
82
+ isOwned(context, from, to)
83
+ ? "forbid"
84
+ : "keep";
85
+ },
86
+ };
87
+ //# sourceMappingURL=hua-rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hua-rule.js","sourceRoot":"","sources":["../../src/decode/hua-rule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { type EdgeContext } from "./rules.js";
2
+ /**
3
+ * The character at a position, or the empty string beyond either end.
4
+ */
5
+ export declare function at(context: EdgeContext, index: number): string;
6
+ /**
7
+ * Whether the 的 is the object marker of a verb of speaking.
8
+ *
9
+ * 说的话, 所说的话, 说过的话 and 说出来的话 all qualify, unless a manner stands in
10
+ * front of the verb or somebody is asked for an opinion: 这么说的话 is *if you
11
+ * put it like that* and 要我说的话 is *if you ask me*.
12
+ */
13
+ export declare function followsSpeaking(context: EdgeContext, from: number): boolean;
14
+ /**
15
+ * Whether the 的 follows a kind of words a verb of speaking is saying.
16
+ *
17
+ * 说这样的话, 说过那样的话 and 讲同样的话.
18
+ */
19
+ export declare function saysKind(context: EdgeContext, from: number): boolean;
20
+ /**
21
+ * Whether a 句, or a 些 after a verb of speaking, counts the words.
22
+ *
23
+ * 句 is the classifier of 话 and of little else a 的话 could follow, so one in
24
+ * the few characters before the 的 is counting the head: 一句感谢的话,
25
+ * 说句简单的话. 些 counts anything, 有些人不来的话 among them, so it counts the
26
+ * words only when it is what is said: 说些傻乎乎的话, 说一些下流的话.
27
+ */
28
+ export declare function isCounted(context: EdgeContext, from: number): boolean;
29
+ //# sourceMappingURL=hua-speaking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hua-speaking.d.ts","sourceRoot":"","sources":["../../src/decode/hua-speaking.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,WAAW,EAAgB,MAAM,YAAY,CAAC;AAU5D;;GAEG;AACH,wBAAgB,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAiB3E;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAUpE;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAerE"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * What a verb of speaking says about the 话 after a 的: 说的话, 说这样的话,
3
+ * 说句简单的话.
4
+ */
5
+ import { toCharacters } from "../script/characters.js";
6
+ import { wordEndingAt } from "./rules.js";
7
+ import { SPEAKING, NOT_SPEAKING, ASKING, SPEAKING_TAIL, MANNER, KIND, } from "./hua-words.js";
8
+ /**
9
+ * The character at a position, or the empty string beyond either end.
10
+ */
11
+ export function at(context, index) {
12
+ return context.characters[index] ?? "";
13
+ }
14
+ /**
15
+ * Whether the 的 is the object marker of a verb of speaking.
16
+ *
17
+ * 说的话, 所说的话, 说过的话 and 说出来的话 all qualify, unless a manner stands in
18
+ * front of the verb or somebody is asked for an opinion: 这么说的话 is *if you
19
+ * put it like that* and 要我说的话 is *if you ask me*.
20
+ */
21
+ export function followsSpeaking(context, from) {
22
+ let verb = from - 1;
23
+ while (verb > from - 4 && SPEAKING_TAIL.has(at(context, verb))) {
24
+ verb -= 1;
25
+ }
26
+ if (!SPEAKING.has(at(context, verb))) {
27
+ return false;
28
+ }
29
+ const word = wordEndingAt(context, verb + 1, 2);
30
+ if (word !== undefined && NOT_SPEAKING.has(word)) {
31
+ return false;
32
+ }
33
+ if (ASKING.has(at(context, verb - 2)) && at(context, verb - 1) === "我") {
34
+ return false;
35
+ }
36
+ const manner = wordEndingAt(context, verb, 2);
37
+ return manner === undefined || !MANNER.has(manner);
38
+ }
39
+ /**
40
+ * Whether the 的 follows a kind of words a verb of speaking is saying.
41
+ *
42
+ * 说这样的话, 说过那样的话 and 讲同样的话.
43
+ */
44
+ export function saysKind(context, from) {
45
+ const kind = wordEndingAt(context, from, 2);
46
+ if (kind === undefined || !KIND.has(kind)) {
47
+ return false;
48
+ }
49
+ let verb = from - toCharacters(kind).length - 1;
50
+ if (SPEAKING_TAIL.has(at(context, verb))) {
51
+ verb -= 1;
52
+ }
53
+ return SPEAKING.has(at(context, verb));
54
+ }
55
+ /**
56
+ * Whether a 句, or a 些 after a verb of speaking, counts the words.
57
+ *
58
+ * 句 is the classifier of 话 and of little else a 的话 could follow, so one in
59
+ * the few characters before the 的 is counting the head: 一句感谢的话,
60
+ * 说句简单的话. 些 counts anything, 有些人不来的话 among them, so it counts the
61
+ * words only when it is what is said: 说些傻乎乎的话, 说一些下流的话.
62
+ */
63
+ export function isCounted(context, from) {
64
+ for (let index = from - 1; index >= Math.max(0, from - 4); index--) {
65
+ const character = at(context, index);
66
+ if (character === "的") {
67
+ return false;
68
+ }
69
+ if (character === "句") {
70
+ return true;
71
+ }
72
+ if (character === "些") {
73
+ const verb = at(context, index - 1) === "一" ? index - 2 : index - 1;
74
+ return SPEAKING.has(at(context, verb));
75
+ }
76
+ }
77
+ return false;
78
+ }
79
+ //# sourceMappingURL=hua-speaking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hua-speaking.js","sourceRoot":"","sources":["../../src/decode/hua-speaking.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * The words {@link import("./hua-rule.js").NOUN_HUA} reads the context of a
3
+ * 的话 by, in both scripts.
4
+ */
5
+ /** The two writings of the word, which are all this rule looks at. */
6
+ export declare const DE_HUA: Set<string>;
7
+ /**
8
+ * What follows the noun 话 and cannot follow the conditional.
9
+ *
10
+ * A conditional clause is followed by the clause it conditions, so it is never
11
+ * the thing a 吗 asks about and has no inside for 里 to name: 出来的话吗,
12
+ * 他的话里有文章.
13
+ */
14
+ export declare const AFTER_NOUN: Set<string>;
15
+ /** The verbs of speaking whose object 话 is: 说的话, 讲过的话. */
16
+ export declare const SPEAKING: Set<string>;
17
+ /**
18
+ * Words ending in a verb of speaking that are not that verb.
19
+ *
20
+ * 听讲 is attending a lecture and 小说 is a novel, and 去听讲的话 is a
21
+ * conditional.
22
+ */
23
+ export declare const NOT_SPEAKING: Set<string>;
24
+ /**
25
+ * What asks for an opinion before 我说, 要我说的话 being *if you ask me*.
26
+ */
27
+ export declare const ASKING: Set<string>;
28
+ /**
29
+ * What can stand between a verb of speaking and the 的 of its object.
30
+ *
31
+ * 过, 出来, 了 and 不完 are the verb's own, and 所 makes the verb the modifier.
32
+ */
33
+ export declare const SPEAKING_TAIL: Set<string>;
34
+ /**
35
+ * The manners a speaker can ask after, which make 说的话 the conditional.
36
+ *
37
+ * 我这么说的话是不是像个傻瓜 is *if I put it like this*, and the 说 here is
38
+ * saying it that way rather than saying the words.
39
+ */
40
+ export declare const MANNER: Set<string>;
41
+ /**
42
+ * The modifiers that pick out words of a kind after a verb of speaking.
43
+ *
44
+ * 说这样的话 is saying such things, where 这样的话 alone is *in that case*.
45
+ */
46
+ export declare const KIND: Set<string>;
47
+ /**
48
+ * The pronouns that make 的话 someone's words: 他的话, 听妈妈的话.
49
+ *
50
+ * Personal pronouns only. 这样 is tagged a pronoun as well, and 这样的话 is the
51
+ * conditional far more often than it is anything else.
52
+ */
53
+ export declare const PERSONS: Set<string>;
54
+ /** The tags of a noun that can own its words: 老师, 汤姆. */
55
+ export declare const OWNER_TAGS: RegExp;
56
+ /**
57
+ * The verbs whose object is somebody's words, 听他的话 and 相信你的话.
58
+ *
59
+ * Each takes what was said rather than an action, which is why 帮助我的话 and
60
+ * 陪我的话 stay conditional while 相信我的话 does not. 把, 对 and 因为 are in for
61
+ * the same reason: 把你的话转告给他, 对我的话充耳不闻 and 因为他的话 have the
62
+ * words as their object.
63
+ */
64
+ export declare const RECEIVING: Set<string>;
65
+ /** What can negate a receiving verb inside a word of its own: 不听, 没听. */
66
+ export declare const NEGATION: RegExp;
67
+ /** The characters a receiving verb can carry before its object: 听了, 听完了. */
68
+ export declare const RECEIVING_TAIL: Set<string>;
69
+ /**
70
+ * When the words were said, which a conditional cannot be about: 刚才的话.
71
+ */
72
+ export declare const EARLIER: Set<string>;
73
+ /**
74
+ * The adjectives that describe what was said, 刻薄的话 and 难听的话.
75
+ *
76
+ * Only adjectives that hardly describe a person or a state. 你累的话 and
77
+ * 你无聊的话 are conditionals, so 累 and 无聊 stay out.
78
+ */
79
+ export declare const OF_SPEECH: Set<string>;
80
+ /** The degree an adjective of speech can carry: 很蠢, 最愚蠢, 这么卑鄙. */
81
+ export declare const DEGREE: Set<string>;
82
+ /**
83
+ * The verbs of explaining that follow the words something is put in:
84
+ * 用通俗的话解释, 用简练的话介绍.
85
+ */
86
+ export declare const EXPLAINING: string[];
87
+ //# sourceMappingURL=hua-words.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hua-words.d.ts","sourceRoot":"","sources":["../../src/decode/hua-words.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,sEAAsE;AACtE,eAAO,MAAM,MAAM,aAAwB,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,aAAqC,CAAC;AAE7D,0DAA0D;AAC1D,eAAO,MAAM,QAAQ,aAAgC,CAAC;AAEtD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,aASvB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,MAAM,aAAgC,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,aAAa,aASxB,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,MAAM,aASjB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,IAAI,aAQf,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,OAAO,aAoBlB,CAAC;AAEH,yDAAyD;AACzD,eAAO,MAAM,UAAU,QAAyB,CAAC;AAEjD;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,aAqCpB,CAAC;AAEH,yEAAyE;AACzE,eAAO,MAAM,QAAQ,QAAY,CAAC;AAElC,4EAA4E;AAC5E,eAAO,MAAM,cAAc,aAAsB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,OAAO,aAAoC,CAAC;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,aAwBpB,CAAC;AAEH,kEAAkE;AAClE,eAAO,MAAM,MAAM,aASjB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU,UAgBtB,CAAC"}
@@ -0,0 +1,228 @@
1
+ /**
2
+ * The words {@link import("./hua-rule.js").NOUN_HUA} reads the context of a
3
+ * 的话 by, in both scripts.
4
+ */
5
+ /** The two writings of the word, which are all this rule looks at. */
6
+ export const DE_HUA = new Set(["的话", "的話"]);
7
+ /**
8
+ * What follows the noun 话 and cannot follow the conditional.
9
+ *
10
+ * A conditional clause is followed by the clause it conditions, so it is never
11
+ * the thing a 吗 asks about and has no inside for 里 to name: 出来的话吗,
12
+ * 他的话里有文章.
13
+ */
14
+ export const AFTER_NOUN = new Set(["吗", "嗎", "里", "裡", "裏"]);
15
+ /** The verbs of speaking whose object 话 is: 说的话, 讲过的话. */
16
+ export const SPEAKING = new Set(["说", "說", "讲", "講"]);
17
+ /**
18
+ * Words ending in a verb of speaking that are not that verb.
19
+ *
20
+ * 听讲 is attending a lecture and 小说 is a novel, and 去听讲的话 is a
21
+ * conditional.
22
+ */
23
+ export const NOT_SPEAKING = new Set([
24
+ "听讲",
25
+ "聽講",
26
+ "演讲",
27
+ "演講",
28
+ "听说",
29
+ "聽說",
30
+ "小说",
31
+ "小說",
32
+ ]);
33
+ /**
34
+ * What asks for an opinion before 我说, 要我说的话 being *if you ask me*.
35
+ */
36
+ export const ASKING = new Set(["要", "依", "让", "讓"]);
37
+ /**
38
+ * What can stand between a verb of speaking and the 的 of its object.
39
+ *
40
+ * 过, 出来, 了 and 不完 are the verb's own, and 所 makes the verb the modifier.
41
+ */
42
+ export const SPEAKING_TAIL = new Set([
43
+ "过",
44
+ "過",
45
+ "出",
46
+ "来",
47
+ "來",
48
+ "了",
49
+ "不",
50
+ "完",
51
+ ]);
52
+ /**
53
+ * The manners a speaker can ask after, which make 说的话 the conditional.
54
+ *
55
+ * 我这么说的话是不是像个傻瓜 is *if I put it like this*, and the 说 here is
56
+ * saying it that way rather than saying the words.
57
+ */
58
+ export const MANNER = new Set([
59
+ "这么",
60
+ "這麼",
61
+ "那么",
62
+ "那麼",
63
+ "这样",
64
+ "這樣",
65
+ "那样",
66
+ "那樣",
67
+ ]);
68
+ /**
69
+ * The modifiers that pick out words of a kind after a verb of speaking.
70
+ *
71
+ * 说这样的话 is saying such things, where 这样的话 alone is *in that case*.
72
+ */
73
+ export const KIND = new Set([
74
+ ...MANNER,
75
+ "同样",
76
+ "同樣",
77
+ "这种",
78
+ "這種",
79
+ "那种",
80
+ "那種",
81
+ ]);
82
+ /**
83
+ * The pronouns that make 的话 someone's words: 他的话, 听妈妈的话.
84
+ *
85
+ * Personal pronouns only. 这样 is tagged a pronoun as well, and 这样的话 is the
86
+ * conditional far more often than it is anything else.
87
+ */
88
+ export const PERSONS = new Set([
89
+ "我",
90
+ "你",
91
+ "他",
92
+ "她",
93
+ "您",
94
+ "我们",
95
+ "我們",
96
+ "你们",
97
+ "你們",
98
+ "他们",
99
+ "他們",
100
+ "她们",
101
+ "她們",
102
+ "咱们",
103
+ "咱們",
104
+ "别人",
105
+ "別人",
106
+ "人家",
107
+ "大家",
108
+ ]);
109
+ /** The tags of a noun that can own its words: 老师, 汤姆. */
110
+ export const OWNER_TAGS = /^(?:n|nr|nrfg|nrt)$/u;
111
+ /**
112
+ * The verbs whose object is somebody's words, 听他的话 and 相信你的话.
113
+ *
114
+ * Each takes what was said rather than an action, which is why 帮助我的话 and
115
+ * 陪我的话 stay conditional while 相信我的话 does not. 把, 对 and 因为 are in for
116
+ * the same reason: 把你的话转告给他, 对我的话充耳不闻 and 因为他的话 have the
117
+ * words as their object.
118
+ */
119
+ export const RECEIVING = new Set([
120
+ "听",
121
+ "聽",
122
+ "听见",
123
+ "聽見",
124
+ "听到",
125
+ "聽到",
126
+ "听从",
127
+ "聽從",
128
+ "聆听",
129
+ "聆聽",
130
+ "相信",
131
+ "怀疑",
132
+ "懷疑",
133
+ "收回",
134
+ "引用",
135
+ "回味",
136
+ "转告",
137
+ "轉告",
138
+ "听懂",
139
+ "聽懂",
140
+ "听不懂",
141
+ "聽不懂",
142
+ "判断",
143
+ "判斷",
144
+ "印证",
145
+ "印證",
146
+ "证实",
147
+ "證實",
148
+ "记得",
149
+ "記得",
150
+ "因为",
151
+ "因為",
152
+ "照",
153
+ "把",
154
+ "对",
155
+ "對",
156
+ ]);
157
+ /** What can negate a receiving verb inside a word of its own: 不听, 没听. */
158
+ export const NEGATION = /^[不没沒]/u;
159
+ /** The characters a receiving verb can carry before its object: 听了, 听完了. */
160
+ export const RECEIVING_TAIL = new Set(["了", "完"]);
161
+ /**
162
+ * When the words were said, which a conditional cannot be about: 刚才的话.
163
+ */
164
+ export const EARLIER = new Set(["刚才", "剛才", "刚刚", "剛剛"]);
165
+ /**
166
+ * The adjectives that describe what was said, 刻薄的话 and 难听的话.
167
+ *
168
+ * Only adjectives that hardly describe a person or a state. 你累的话 and
169
+ * 你无聊的话 are conditionals, so 累 and 无聊 stay out.
170
+ */
171
+ export const OF_SPEECH = new Set([
172
+ "刻薄",
173
+ "卑鄙",
174
+ "愚蠢",
175
+ "蠢",
176
+ "难听",
177
+ "難聽",
178
+ "好听",
179
+ "好聽",
180
+ "动听",
181
+ "動聽",
182
+ "中听",
183
+ "中聽",
184
+ "粗鲁",
185
+ "粗魯",
186
+ "粗俗",
187
+ "下流",
188
+ "肉麻",
189
+ "恶毒",
190
+ "惡毒",
191
+ "刺耳",
192
+ "尖酸",
193
+ "伤人",
194
+ "傷人",
195
+ ]);
196
+ /** The degree an adjective of speech can carry: 很蠢, 最愚蠢, 这么卑鄙. */
197
+ export const DEGREE = new Set([
198
+ "很",
199
+ "最",
200
+ "更",
201
+ "太",
202
+ "多么",
203
+ "多麼",
204
+ "如此",
205
+ ...MANNER,
206
+ ]);
207
+ /**
208
+ * The verbs of explaining that follow the words something is put in:
209
+ * 用通俗的话解释, 用简练的话介绍.
210
+ */
211
+ export const EXPLAINING = [
212
+ "解释",
213
+ "解釋",
214
+ "介绍",
215
+ "介紹",
216
+ "说",
217
+ "說",
218
+ "讲",
219
+ "講",
220
+ "表达",
221
+ "表達",
222
+ "描述",
223
+ "概括",
224
+ "回答",
225
+ "写",
226
+ "寫",
227
+ ];
228
+ //# sourceMappingURL=hua-words.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hua-words.js","sourceRoot":"","sources":["../../src/decode/hua-words.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { type EdgeRule } from "./rules.js";
2
+ /**
3
+ * A 量词 with a number in front of it does not start the next word.
4
+ *
5
+ * 三个人 is three people and came out `sān gèrén`, three *personals*, because
6
+ * 个人 is a common noun and nothing weighed it against the 个 belonging to the
7
+ * 三 in front of it. The same swallow takes 一杯水 into 杯水, 两家俱乐部 into
8
+ * 家俱 and 一天天 into 天天; digits reach it too, since a run decoded after a
9
+ * number sees that number — see `decodeRun` — so 2个人 is the same case.
10
+ *
11
+ * What makes it decidable is that the dictionary tags the 量词: 个, 次, 天, 位,
12
+ * 杯 and 匹 are `q`, while the characters that only look like measure words in
13
+ * this position are not — 分 is `v`, 部 and 成 are `n`, 年 and 点 are `m`. So
14
+ * 五分钟, 三部分, 五成分, 五年级 and 三点钟 are untouched, and those are exactly
15
+ * the words a blanket rule would break. A word that is itself a 量词 is kept as
16
+ * well, since 分钟 and 点钟 are units rather than something being counted.
17
+ *
18
+ * Only the edge *starting at the 量词* is forbidden, so a number and its
19
+ * measure written solid survive whole where the dictionary has them: 一辈子 and
20
+ * 一会儿 are entries covering the number too, and the decode still reaches them.
21
+ *
22
+ * Measured over the same 88,866 lines of Tatoeba and zh.wikipedia the other
23
+ * rules were sized against, it forbids 561 edges across 144 shapes — 个人 203
24
+ * of them, then 杯水, 天一, 口气, 些小 and 家人 — and moves 53 decodes, since
25
+ * most of what it takes away the cost model was not going to choose anyway.
26
+ * Three of the 53 are wrong: 一批评, 这一名词 and 六七股灾, where the 一 and the
27
+ * 六七 count nothing and no tag says so. Exactly one reading changes over the
28
+ * corpus and it is a fix, 下了两天雨 having read 天雨 as `tiān yù`.
29
+ */
30
+ export declare const COUNTED_MEASURE: EdgeRule;
31
+ //# sourceMappingURL=measure-rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measure-rule.d.ts","sourceRoot":"","sources":["../../src/decode/measure-rule.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,QAAQ,EAGd,MAAM,YAAY,CAAC;AAsCpB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,eAAe,EAAE,QAuB7B,CAAC"}
@@ -0,0 +1,87 @@
1
+ import { QUANTITY_CHARACTERS } from "../numerals/characters.js";
2
+ import { toCharacters } from "../script/characters.js";
3
+ import { tagOf, wordEndingAt, } from "./rules.js";
4
+ /**
5
+ * The tag the dictionary gives a 量词.
6
+ */
7
+ const MEASURE = "q";
8
+ /**
9
+ * The mark that makes the number after it a position rather than a count.
10
+ *
11
+ * 第三集团军 is the Third Army Group and not three 集团军, so the 集 the
12
+ * dictionary tags `q` is counting nothing and 集团军 is a word like any other.
13
+ */
14
+ const ORDINAL = "第";
15
+ /**
16
+ * Where the number counting the character at a position starts, or undefined
17
+ * where nothing counts it.
18
+ *
19
+ * Two things stop a numeral in front of a 量词 from counting it. An ordinal
20
+ * names a position, so 第十级别 is the tenth 级别 rather than ten 级; and a
21
+ * numeral inside a longer word belongs to that word, so the 一 of 唯一道路 is
22
+ * counting no 道 and the 二 of 十二月 no 月.
23
+ */
24
+ function countedFrom(context, at) {
25
+ const { characters } = context;
26
+ let from = at;
27
+ while (from > 0 && QUANTITY_CHARACTERS.has(characters[from - 1] ?? "")) {
28
+ from--;
29
+ }
30
+ if (from === at || characters[from - 1] === ORDINAL) {
31
+ return undefined;
32
+ }
33
+ const before = wordEndingAt(context, at);
34
+ const held = before === undefined ? at : at - toCharacters(before).length;
35
+ return held < from ? undefined : from;
36
+ }
37
+ /**
38
+ * A 量词 with a number in front of it does not start the next word.
39
+ *
40
+ * 三个人 is three people and came out `sān gèrén`, three *personals*, because
41
+ * 个人 is a common noun and nothing weighed it against the 个 belonging to the
42
+ * 三 in front of it. The same swallow takes 一杯水 into 杯水, 两家俱乐部 into
43
+ * 家俱 and 一天天 into 天天; digits reach it too, since a run decoded after a
44
+ * number sees that number — see `decodeRun` — so 2个人 is the same case.
45
+ *
46
+ * What makes it decidable is that the dictionary tags the 量词: 个, 次, 天, 位,
47
+ * 杯 and 匹 are `q`, while the characters that only look like measure words in
48
+ * this position are not — 分 is `v`, 部 and 成 are `n`, 年 and 点 are `m`. So
49
+ * 五分钟, 三部分, 五成分, 五年级 and 三点钟 are untouched, and those are exactly
50
+ * the words a blanket rule would break. A word that is itself a 量词 is kept as
51
+ * well, since 分钟 and 点钟 are units rather than something being counted.
52
+ *
53
+ * Only the edge *starting at the 量词* is forbidden, so a number and its
54
+ * measure written solid survive whole where the dictionary has them: 一辈子 and
55
+ * 一会儿 are entries covering the number too, and the decode still reaches them.
56
+ *
57
+ * Measured over the same 88,866 lines of Tatoeba and zh.wikipedia the other
58
+ * rules were sized against, it forbids 561 edges across 144 shapes — 个人 203
59
+ * of them, then 杯水, 天一, 口气, 些小 and 家人 — and moves 53 decodes, since
60
+ * most of what it takes away the cost model was not going to choose anyway.
61
+ * Three of the 53 are wrong: 一批评, 这一名词 and 六七股灾, where the 一 and the
62
+ * 六七 count nothing and no tag says so. Exactly one reading changes over the
63
+ * corpus and it is a fix, 下了两天雨 having read 天雨 as `tiān yù`.
64
+ */
65
+ export const COUNTED_MEASURE = {
66
+ name: "counted-measure",
67
+ verdictFor: (context) => {
68
+ const { characters, edge } = context;
69
+ // A reading of a different length from its span says something about how
70
+ // the characters are read rather than only about where they break: 份儿 is
71
+ // `fènr` over two characters, and taking the edge away would take the 儿化
72
+ // with it.
73
+ if (edge.to - edge.from < 2 ||
74
+ edge.reading.length !== edge.to - edge.from) {
75
+ return "keep";
76
+ }
77
+ const counted = countedFrom(context, edge.from);
78
+ if (counted === undefined) {
79
+ return "keep";
80
+ }
81
+ return tagOf(context, characters[edge.from]) === MEASURE &&
82
+ edge.partOfSpeech !== MEASURE
83
+ ? "forbid"
84
+ : "keep";
85
+ },
86
+ };
87
+ //# sourceMappingURL=measure-rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measure-rule.js","sourceRoot":"","sources":["../../src/decode/measure-rule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAGL,KAAK,EACL,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,OAAO,GAAG,GAAG,CAAC;AAEpB;;;;;GAKG;AACH,MAAM,OAAO,GAAG,GAAG,CAAC;AAEpB;;;;;;;;GAQG;AACH,SAAS,WAAW,CAAC,OAAoB,EAAE,EAAU;IACnD,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC/B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,OAAO,IAAI,GAAG,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACvE,IAAI,EAAE,CAAC;IACT,CAAC;IACD,IAAI,IAAI,KAAK,EAAE,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IAC1E,OAAO,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,eAAe,GAAa;IACvC,IAAI,EAAE,iBAAiB;IACvB,UAAU,EAAE,CAAC,OAAoB,EAAE,EAAE;QACnC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QACrC,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,WAAW;QACX,IACE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAC3C,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,OAAO;YACtD,IAAI,CAAC,YAAY,KAAK,OAAO;YAC7B,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,MAAM,CAAC;IACb,CAAC;CACF,CAAC"}
@@ -1,5 +1,6 @@
1
- export { MODAL_DE, PARTICLE_DE, POTENTIAL_DE } from "./de-rule.js";
1
+ export { MODAL_DE, NOUN_HUA, PARTICLE_DE, POTENTIAL_DE } from "./de-rule.js";
2
2
  export { TAXI_DI } from "./taxi-rule.js";
3
+ export { COUNTED_MEASURE } from "./measure-rule.js";
3
4
  export { EXPERIENTIAL_GUO } from "./guo-rule.js";
4
5
  export { TEACHING_JIAO } from "./jiao-rule.js";
5
6
  export { DOMINANT_READING } from "./dominant-rule.js";
@@ -11,7 +12,7 @@ export { POTENTIAL_LIAO } from "./liao-rule.js";
11
12
  export { OBTAINING_DE } from "./obtain-rule.js";
12
13
  export { REDUPLICATED_VERB } from "./reduplication-rule.js";
13
14
  export { VERBAL_READING } from "./verbal-rule.js";
14
- import { type EdgeRule } from "./rules.js";
15
+ import type { EdgeRule } from "./rules.js";
15
16
  /**
16
17
  * 儿 does not stand on its own where the dictionary attests the 儿化.
17
18
  *
@@ -33,35 +34,6 @@ import { type EdgeRule } from "./rules.js";
33
34
  * 门铃儿 and a row of Mongol names transliterated with 儿.
34
35
  */
35
36
  export declare const ATTESTED_ERHUA: EdgeRule;
36
- /**
37
- * A 量词 with a number in front of it does not start the next word.
38
- *
39
- * 三个人 is three people and came out `sān gèrén`, three *personals*, because
40
- * 个人 is a common noun and nothing weighed it against the 个 belonging to the
41
- * 三 in front of it. The same swallow takes 一杯水 into 杯水, 两家俱乐部 into
42
- * 家俱 and 一天天 into 天天; digits reach it too, since a run decoded after a
43
- * number sees that number — see `decodeRun` — so 2个人 is the same case.
44
- *
45
- * What makes it decidable is that the dictionary tags the 量词: 个, 次, 天, 位,
46
- * 杯 and 匹 are `q`, while the characters that only look like measure words in
47
- * this position are not — 分 is `v`, 部 and 成 are `n`, 年 and 点 are `m`. So
48
- * 五分钟, 三部分, 五成分, 五年级 and 三点钟 are untouched, and those are exactly
49
- * the words a blanket rule would break. A word that is itself a 量词 is kept as
50
- * well, since 分钟 and 点钟 are units rather than something being counted.
51
- *
52
- * Only the edge *starting at the 量词* is forbidden, so a number and its
53
- * measure written solid survive whole where the dictionary has them: 一辈子 and
54
- * 一会儿 are entries covering the number too, and the decode still reaches them.
55
- *
56
- * Measured over the same 88,866 lines of Tatoeba and zh.wikipedia the other
57
- * rules were sized against, it forbids 561 edges across 144 shapes — 个人 203
58
- * of them, then 杯水, 天一, 口气, 些小 and 家人 — and moves 53 decodes, since
59
- * most of what it takes away the cost model was not going to choose anyway.
60
- * Three of the 53 are wrong: 一批评, 这一名词 and 六七股灾, where the 一 and the
61
- * 六七 count nothing and no tag says so. Exactly one reading changes over the
62
- * corpus and it is a fix, 下了两天雨 having read 天雨 as `tiān yù`.
63
- */
64
- export declare const COUNTED_MEASURE: EdgeRule;
65
37
  export { ADJECTIVAL_CHANG, EASY_HAO, PLAYING_TAN } from "./polyphone-rules.js";
66
38
  /**
67
39
  * The rules the lattice decode applies, in order.
@@ -1 +1 @@
1
- {"version":3,"file":"reading-rules.d.ts","sourceRoot":"","sources":["../../src/decode/reading-rules.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAEL,KAAK,QAAQ,EAGd,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,cAAc,EAAE,QAY5B,CAAC;AAsCF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,eAAe,EAAE,QAuB7B,CAAC;AAIF,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,QAAQ,EAqB5C,CAAC"}
1
+ {"version":3,"file":"reading-rules.d.ts","sourceRoot":"","sources":["../../src/decode/reading-rules.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAe,QAAQ,EAAE,MAAM,YAAY,CAAC;AAExD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,cAAc,EAAE,QAY5B,CAAC;AAIF,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,QAAQ,EAsB5C,CAAC"}
@@ -1,6 +1,6 @@
1
- import { QUANTITY_CHARACTERS } from "../numerals/characters.js";
2
- import { MODAL_DE, PARTICLE_DE, POTENTIAL_DE } from "./de-rule.js";
1
+ import { MODAL_DE, NOUN_HUA, PARTICLE_DE, POTENTIAL_DE } from "./de-rule.js";
3
2
  import { TAXI_DI } from "./taxi-rule.js";
3
+ import { COUNTED_MEASURE } from "./measure-rule.js";
4
4
  import { EXPERIENTIAL_GUO } from "./guo-rule.js";
5
5
  import { TEACHING_JIAO } from "./jiao-rule.js";
6
6
  import { DOMINANT_READING } from "./dominant-rule.js";
@@ -12,8 +12,9 @@ import { POTENTIAL_LIAO } from "./liao-rule.js";
12
12
  import { OBTAINING_DE } from "./obtain-rule.js";
13
13
  import { REDUPLICATED_VERB } from "./reduplication-rule.js";
14
14
  import { VERBAL_READING } from "./verbal-rule.js";
15
- export { MODAL_DE, PARTICLE_DE, POTENTIAL_DE } from "./de-rule.js";
15
+ export { MODAL_DE, NOUN_HUA, PARTICLE_DE, POTENTIAL_DE } from "./de-rule.js";
16
16
  export { TAXI_DI } from "./taxi-rule.js";
17
+ export { COUNTED_MEASURE } from "./measure-rule.js";
17
18
  export { EXPERIENTIAL_GUO } from "./guo-rule.js";
18
19
  export { TEACHING_JIAO } from "./jiao-rule.js";
19
20
  export { DOMINANT_READING } from "./dominant-rule.js";
@@ -25,8 +26,6 @@ export { POTENTIAL_LIAO } from "./liao-rule.js";
25
26
  export { OBTAINING_DE } from "./obtain-rule.js";
26
27
  export { REDUPLICATED_VERB } from "./reduplication-rule.js";
27
28
  export { VERBAL_READING } from "./verbal-rule.js";
28
- import { toCharacters } from "../script/characters.js";
29
- import { tagOf, wordEndingAt, } from "./rules.js";
30
29
  /**
31
30
  * 儿 does not stand on its own where the dictionary attests the 儿化.
32
31
  *
@@ -60,89 +59,6 @@ export const ATTESTED_ERHUA = {
60
59
  return (reading?.at(-1)?.erhua ?? false) ? "forbid" : "keep";
61
60
  },
62
61
  };
63
- /**
64
- * The tag the dictionary gives a 量词.
65
- */
66
- const MEASURE = "q";
67
- /**
68
- * The mark that makes the number after it a position rather than a count.
69
- *
70
- * 第三集团军 is the Third Army Group and not three 集团军, so the 集 the
71
- * dictionary tags `q` is counting nothing and 集团军 is a word like any other.
72
- */
73
- const ORDINAL = "第";
74
- /**
75
- * Where the number counting the character at a position starts, or undefined
76
- * where nothing counts it.
77
- *
78
- * Two things stop a numeral in front of a 量词 from counting it. An ordinal
79
- * names a position, so 第十级别 is the tenth 级别 rather than ten 级; and a
80
- * numeral inside a longer word belongs to that word, so the 一 of 唯一道路 is
81
- * counting no 道 and the 二 of 十二月 no 月.
82
- */
83
- function countedFrom(context, at) {
84
- const { characters } = context;
85
- let from = at;
86
- while (from > 0 && QUANTITY_CHARACTERS.has(characters[from - 1] ?? "")) {
87
- from--;
88
- }
89
- if (from === at || characters[from - 1] === ORDINAL) {
90
- return undefined;
91
- }
92
- const before = wordEndingAt(context, at);
93
- const held = before === undefined ? at : at - toCharacters(before).length;
94
- return held < from ? undefined : from;
95
- }
96
- /**
97
- * A 量词 with a number in front of it does not start the next word.
98
- *
99
- * 三个人 is three people and came out `sān gèrén`, three *personals*, because
100
- * 个人 is a common noun and nothing weighed it against the 个 belonging to the
101
- * 三 in front of it. The same swallow takes 一杯水 into 杯水, 两家俱乐部 into
102
- * 家俱 and 一天天 into 天天; digits reach it too, since a run decoded after a
103
- * number sees that number — see `decodeRun` — so 2个人 is the same case.
104
- *
105
- * What makes it decidable is that the dictionary tags the 量词: 个, 次, 天, 位,
106
- * 杯 and 匹 are `q`, while the characters that only look like measure words in
107
- * this position are not — 分 is `v`, 部 and 成 are `n`, 年 and 点 are `m`. So
108
- * 五分钟, 三部分, 五成分, 五年级 and 三点钟 are untouched, and those are exactly
109
- * the words a blanket rule would break. A word that is itself a 量词 is kept as
110
- * well, since 分钟 and 点钟 are units rather than something being counted.
111
- *
112
- * Only the edge *starting at the 量词* is forbidden, so a number and its
113
- * measure written solid survive whole where the dictionary has them: 一辈子 and
114
- * 一会儿 are entries covering the number too, and the decode still reaches them.
115
- *
116
- * Measured over the same 88,866 lines of Tatoeba and zh.wikipedia the other
117
- * rules were sized against, it forbids 561 edges across 144 shapes — 个人 203
118
- * of them, then 杯水, 天一, 口气, 些小 and 家人 — and moves 53 decodes, since
119
- * most of what it takes away the cost model was not going to choose anyway.
120
- * Three of the 53 are wrong: 一批评, 这一名词 and 六七股灾, where the 一 and the
121
- * 六七 count nothing and no tag says so. Exactly one reading changes over the
122
- * corpus and it is a fix, 下了两天雨 having read 天雨 as `tiān yù`.
123
- */
124
- export const COUNTED_MEASURE = {
125
- name: "counted-measure",
126
- verdictFor: (context) => {
127
- const { characters, edge } = context;
128
- // A reading of a different length from its span says something about how
129
- // the characters are read rather than only about where they break: 份儿 is
130
- // `fènr` over two characters, and taking the edge away would take the 儿化
131
- // with it.
132
- if (edge.to - edge.from < 2 ||
133
- edge.reading.length !== edge.to - edge.from) {
134
- return "keep";
135
- }
136
- const counted = countedFrom(context, edge.from);
137
- if (counted === undefined) {
138
- return "keep";
139
- }
140
- return tagOf(context, characters[edge.from]) === MEASURE &&
141
- edge.partOfSpeech !== MEASURE
142
- ? "forbid"
143
- : "keep";
144
- },
145
- };
146
62
  import { ADJECTIVAL_CHANG, EASY_HAO, PLAYING_TAN } from "./polyphone-rules.js";
147
63
  export { ADJECTIVAL_CHANG, EASY_HAO, PLAYING_TAN } from "./polyphone-rules.js";
148
64
  /**
@@ -153,6 +69,7 @@ export const READING_RULES = [
153
69
  PARTICLE_DE,
154
70
  POTENTIAL_DE,
155
71
  TAXI_DI,
72
+ NOUN_HUA,
156
73
  TEACHING_JIAO,
157
74
  ATTESTED_ERHUA,
158
75
  COUNTED_MEASURE,
@@ -1 +1 @@
1
- {"version":3,"file":"reading-rules.js","sourceRoot":"","sources":["../../src/decode/reading-rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reading-rules.js","sourceRoot":"","sources":["../../src/decode/reading-rules.ts"],"names":[],"mappings":"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"}
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, ATTESTED_ERHUA, CONCERNING_GAN, OBTAINING_DE, COUNTED_MEASURE, COUNTING_ZHI, DOMINANT_READING, EASY_HAO, EXPERIENTIAL_GUO, MODAL_DE, PARTICLE_DE, PLAYING_TAN, POTENTIAL_DE, POTENTIAL_LIAO, READING_RULES, REDUPLICATED_VERB, RETURNING_HUAN, SEPARATED_COMPOUND, TAXI_DI, TEACHING_JIAO, VERBAL_READING, } from "./decode/reading-rules.js";
54
+ export { ADJECTIVAL_CHANG, ATTESTED_ERHUA, CONCERNING_GAN, OBTAINING_DE, COUNTED_MEASURE, COUNTING_ZHI, DOMINANT_READING, EASY_HAO, EXPERIENTIAL_GUO, MODAL_DE, NOUN_HUA, PARTICLE_DE, PLAYING_TAN, POTENTIAL_DE, POTENTIAL_LIAO, READING_RULES, REDUPLICATED_VERB, RETURNING_HUAN, SEPARATED_COMPOUND, TAXI_DI, 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";
@@ -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, ATTESTED_ERHUA, CONCERNING_GAN, OBTAINING_DE, COUNTED_MEASURE, COUNTING_ZHI, DOMINANT_READING, EASY_HAO, EXPERIENTIAL_GUO, MODAL_DE, PARTICLE_DE, PLAYING_TAN, POTENTIAL_DE, POTENTIAL_LIAO, READING_RULES, REDUPLICATED_VERB, RETURNING_HUAN, SEPARATED_COMPOUND, TAXI_DI, TEACHING_JIAO, VERBAL_READING, } from "./decode/reading-rules.js";
34
+ export { ADJECTIVAL_CHANG, ATTESTED_ERHUA, CONCERNING_GAN, OBTAINING_DE, COUNTED_MEASURE, COUNTING_ZHI, DOMINANT_READING, EASY_HAO, EXPERIENTIAL_GUO, MODAL_DE, NOUN_HUA, PARTICLE_DE, PLAYING_TAN, POTENTIAL_DE, POTENTIAL_LIAO, READING_RULES, REDUPLICATED_VERB, RETURNING_HUAN, SEPARATED_COMPOUND, TAXI_DI, 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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kensio/pinyinjs",
3
- "version": "1.9.1",
3
+ "version": "1.9.3",
4
4
  "description": "Chinese hanzi to pinyin conversion",
5
5
  "repository": "https://github.com/KensioSoftware/pinyinjs",
6
6
  "homepage": "https://pinyinjs.dev",