@kensio/pinyinjs 0.1.0-beta.0 → 1.0.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.
Files changed (145) hide show
  1. package/CHANGELOG.md +87 -0
  2. package/NOTICE +7 -0
  3. package/README.md +144 -19
  4. package/data/full.entries +13400 -13400
  5. package/data/manifest.json +4 -4
  6. package/data/standard.entries +2492 -2492
  7. package/dist/cli/arguments.d.ts +67 -0
  8. package/dist/cli/arguments.d.ts.map +1 -1
  9. package/dist/cli/arguments.js +79 -0
  10. package/dist/cli/arguments.js.map +1 -1
  11. package/dist/cli/colour.d.ts +77 -0
  12. package/dist/cli/colour.d.ts.map +1 -0
  13. package/dist/cli/colour.js +117 -0
  14. package/dist/cli/colour.js.map +1 -0
  15. package/dist/cli/commands.d.ts +49 -1
  16. package/dist/cli/commands.d.ts.map +1 -1
  17. package/dist/cli/commands.js +404 -42
  18. package/dist/cli/commands.js.map +1 -1
  19. package/dist/cli/environment.d.ts.map +1 -1
  20. package/dist/cli/environment.js +20 -0
  21. package/dist/cli/environment.js.map +1 -1
  22. package/dist/cli/help.d.ts.map +1 -1
  23. package/dist/cli/help.js +43 -16
  24. package/dist/cli/help.js.map +1 -1
  25. package/dist/cli/run.d.ts +11 -0
  26. package/dist/cli/run.d.ts.map +1 -1
  27. package/dist/cli/run.js +4 -2
  28. package/dist/cli/run.js.map +1 -1
  29. package/dist/decode/convert.d.ts +20 -0
  30. package/dist/decode/convert.d.ts.map +1 -1
  31. package/dist/decode/convert.js +170 -12
  32. package/dist/decode/convert.js.map +1 -1
  33. package/dist/decode/decode.d.ts +3 -2
  34. package/dist/decode/decode.d.ts.map +1 -1
  35. package/dist/decode/decode.js +17 -4
  36. package/dist/decode/decode.js.map +1 -1
  37. package/dist/decode/reading-rules.d.ts +56 -0
  38. package/dist/decode/reading-rules.d.ts.map +1 -0
  39. package/dist/decode/reading-rules.js +107 -0
  40. package/dist/decode/reading-rules.js.map +1 -0
  41. package/dist/decode/rules.d.ts +66 -0
  42. package/dist/decode/rules.d.ts.map +1 -0
  43. package/dist/decode/rules.js +138 -0
  44. package/dist/decode/rules.js.map +1 -0
  45. package/dist/decode/sandhi.d.ts +1 -1
  46. package/dist/decode/sandhi.d.ts.map +1 -1
  47. package/dist/decode/sandhi.js +60 -1
  48. package/dist/decode/sandhi.js.map +1 -1
  49. package/dist/decode/word.d.ts +18 -0
  50. package/dist/decode/word.d.ts.map +1 -1
  51. package/dist/dictionary/artifact.d.ts.map +1 -1
  52. package/dist/dictionary/artifact.js +28 -1
  53. package/dist/dictionary/artifact.js.map +1 -1
  54. package/dist/dictionary/dictionary.d.ts +9 -0
  55. package/dist/dictionary/dictionary.d.ts.map +1 -1
  56. package/dist/dictionary/dictionary.js +7 -0
  57. package/dist/dictionary/dictionary.js.map +1 -1
  58. package/dist/dictionary/entry.d.ts +12 -0
  59. package/dist/dictionary/entry.d.ts.map +1 -1
  60. package/dist/dictionary/entry.js.map +1 -1
  61. package/dist/dictionary/merge.d.ts +3 -1
  62. package/dist/dictionary/merge.d.ts.map +1 -1
  63. package/dist/dictionary/merge.js +19 -1
  64. package/dist/dictionary/merge.js.map +1 -1
  65. package/dist/format/transcription.d.ts +52 -0
  66. package/dist/format/transcription.d.ts.map +1 -0
  67. package/dist/format/transcription.js +88 -0
  68. package/dist/format/transcription.js.map +1 -0
  69. package/dist/index.d.ts +24 -3
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +15 -1
  72. package/dist/index.js.map +1 -1
  73. package/dist/numerals/cardinal.d.ts +39 -0
  74. package/dist/numerals/cardinal.d.ts.map +1 -0
  75. package/dist/numerals/cardinal.js +111 -0
  76. package/dist/numerals/cardinal.js.map +1 -0
  77. package/dist/numerals/characters.d.ts +31 -0
  78. package/dist/numerals/characters.d.ts.map +1 -0
  79. package/dist/numerals/characters.js +80 -0
  80. package/dist/numerals/characters.js.map +1 -0
  81. package/dist/numerals/numerals.d.ts +76 -0
  82. package/dist/numerals/numerals.d.ts.map +1 -0
  83. package/dist/numerals/numerals.js +119 -0
  84. package/dist/numerals/numerals.js.map +1 -0
  85. package/dist/numerals/text.d.ts +52 -0
  86. package/dist/numerals/text.d.ts.map +1 -0
  87. package/dist/numerals/text.js +248 -0
  88. package/dist/numerals/text.js.map +1 -0
  89. package/dist/orthography/grouping.d.ts +56 -11
  90. package/dist/orthography/grouping.d.ts.map +1 -1
  91. package/dist/orthography/grouping.js +109 -35
  92. package/dist/orthography/grouping.js.map +1 -1
  93. package/dist/orthography/idiom-list.d.ts +56 -0
  94. package/dist/orthography/idiom-list.d.ts.map +1 -0
  95. package/dist/orthography/idiom-list.js +296 -0
  96. package/dist/orthography/idiom-list.js.map +1 -0
  97. package/dist/orthography/idioms.d.ts +18 -0
  98. package/dist/orthography/idioms.d.ts.map +1 -0
  99. package/dist/orthography/idioms.js +22 -0
  100. package/dist/orthography/idioms.js.map +1 -0
  101. package/dist/orthography/reduplication.d.ts +52 -0
  102. package/dist/orthography/reduplication.d.ts.map +1 -0
  103. package/dist/orthography/reduplication.js +99 -0
  104. package/dist/orthography/reduplication.js.map +1 -0
  105. package/dist/orthography/rule.d.ts +50 -0
  106. package/dist/orthography/rule.d.ts.map +1 -0
  107. package/dist/orthography/rule.js +101 -0
  108. package/dist/orthography/rule.js.map +1 -0
  109. package/dist/sources/cedict.d.ts +23 -0
  110. package/dist/sources/cedict.d.ts.map +1 -1
  111. package/dist/sources/cedict.js +28 -0
  112. package/dist/sources/cedict.js.map +1 -1
  113. package/dist/syllable/syllable.d.ts +1 -1
  114. package/dist/syllable/syllable.d.ts.map +1 -1
  115. package/dist/syllable/syllable.js +2 -37
  116. package/dist/syllable/syllable.js.map +1 -1
  117. package/dist/tone/tone-mark.d.ts +23 -0
  118. package/dist/tone/tone-mark.d.ts.map +1 -1
  119. package/dist/tone/tone-mark.js +49 -0
  120. package/dist/tone/tone-mark.js.map +1 -1
  121. package/dist/transcription/bopomofo.d.ts +46 -0
  122. package/dist/transcription/bopomofo.d.ts.map +1 -0
  123. package/dist/transcription/bopomofo.js +371 -0
  124. package/dist/transcription/bopomofo.js.map +1 -0
  125. package/dist/transcription/gwoyeu.d.ts +32 -0
  126. package/dist/transcription/gwoyeu.d.ts.map +1 -0
  127. package/dist/transcription/gwoyeu.js +491 -0
  128. package/dist/transcription/gwoyeu.js.map +1 -0
  129. package/dist/transcription/ipa.d.ts +40 -0
  130. package/dist/transcription/ipa.d.ts.map +1 -0
  131. package/dist/transcription/ipa.js +221 -0
  132. package/dist/transcription/ipa.js.map +1 -0
  133. package/dist/transcription/spelling-index.d.ts +23 -0
  134. package/dist/transcription/spelling-index.d.ts.map +1 -0
  135. package/dist/transcription/spelling-index.js +61 -0
  136. package/dist/transcription/spelling-index.js.map +1 -0
  137. package/dist/transcription/wade-giles.d.ts +108 -0
  138. package/dist/transcription/wade-giles.d.ts.map +1 -0
  139. package/dist/transcription/wade-giles.js +656 -0
  140. package/dist/transcription/wade-giles.js.map +1 -0
  141. package/dist/transcription/yale.d.ts +43 -0
  142. package/dist/transcription/yale.d.ts.map +1 -0
  143. package/dist/transcription/yale.js +242 -0
  144. package/dist/transcription/yale.js.map +1 -0
  145. package/package.json +9 -5
@@ -1,11 +1,20 @@
1
1
  import { isUncertain } from "../decode/confidence.js";
2
- import { convert, convertGreedily, convertPieces, } from "../decode/convert.js";
2
+ import { convert, convertGreedily, convertPieces, convertPiecesGreedily, } from "../decode/convert.js";
3
3
  import { applySandhi } from "../decode/sandhi.js";
4
+ import { toCharacters } from "../script/characters.js";
5
+ import { numeralHanzi, percentHanzi, readNumeralHanzi, } from "../numerals/numerals.js";
4
6
  import { convertToHtml } from "../format/html.js";
7
+ import { toTranscription } from "../format/transcription.js";
8
+ import { isBopomofo, readBopomofo, writeBopomofo, writeBopomofoWord, } from "../transcription/bopomofo.js";
9
+ import { readGwoyeu, writeGwoyeu, writeGwoyeuWord, } from "../transcription/gwoyeu.js";
10
+ import { readIpa, writeIpa, writeIpaWord } from "../transcription/ipa.js";
11
+ import { readWadeGiles, readWadeGilesLoosely, readWadeGilesWord, splitWadeGiles, writeWadeGiles, writeWadeGilesWord, } from "../transcription/wade-giles.js";
12
+ import { readYale, writeYale, writeYaleWord } from "../transcription/yale.js";
5
13
  import { ATTESTED_SYLLABLES, DICTIONARY_SYLLABLES, } from "../syllable/inventory.js";
6
14
  import { readWord, splitSyllables } from "../syllable/split.js";
7
15
  import { readSyllable, writeSyllable, writeSyllableSpelling, } from "../syllable/syllable.js";
8
- import { convertOptions, CONVERT_FLAGS, htmlOptions, UsageError, } from "./arguments.js";
16
+ import { convertOptions, CONVERT_FLAGS, htmlOptions, transcriptionSource, transcriptionSystem, UsageError, } from "./arguments.js";
17
+ import { PLAIN, visibleLength } from "./colour.js";
9
18
  /**
10
19
  * The dictionary a command declared it needs.
11
20
  */
@@ -18,15 +27,21 @@ function dictionaryOf(input) {
18
27
  }
19
28
  /**
20
29
  * Pad a column so that what follows it lines up.
30
+ *
31
+ * Padded to what a reader sees rather than to the string's length: a coloured
32
+ * cell carries escape sequences that take no width on screen, and `padEnd`
33
+ * counts them.
21
34
  */
22
35
  function column(text, width) {
23
- return text.padEnd(width);
36
+ return text + " ".repeat(Math.max(0, width - visibleLength(text)));
24
37
  }
25
38
  /**
26
- * A reading written out, syllable by syllable.
39
+ * A reading written out, syllable by syllable, each in its tone's colour.
27
40
  */
28
- function written(reading) {
29
- return reading.map((syllable) => writeSyllable(syllable)).join(" ");
41
+ function written(reading, paint) {
42
+ return reading
43
+ .map((syllable) => paint(writeSyllable(syllable), syllable.tone))
44
+ .join(" ");
30
45
  }
31
46
  /**
32
47
  * How settled a decoded syllable was, in one word.
@@ -46,17 +61,21 @@ function stateOf(piece) {
46
61
  /**
47
62
  * What a decode rejected at one syllable, and what rejecting it saved.
48
63
  */
49
- function alternativesOf(piece, flags) {
50
- const { notation } = convertOptions(flags);
51
- return (piece.confidence?.alternatives ?? []).map((alternative) => ({
52
- reading: alternative.reading
53
- .map((syllable) => writeSyllable(syllable, notation))
54
- .join(""),
55
- // Rounded because a cost is a sum of frequency buckets and a per-word
56
- // charge of 4.62, which lands on 24.620000000000005 often enough to be
57
- // worth not putting in front of anybody.
58
- cost: Math.round(alternative.cost * 100) / 100,
59
- }));
64
+ function alternativesOf(piece, input) {
65
+ const { notation } = convertOptions(input.flags);
66
+ return (piece.confidence?.alternatives ?? []).map((alternative) => {
67
+ const spelled = alternative.reading.map((syllable) => writeSyllable(syllable, notation));
68
+ return {
69
+ reading: spelled.join(""),
70
+ painted: spelled
71
+ .map((text, at) => input.paint(text, alternative.reading[at]?.tone))
72
+ .join(""),
73
+ // Rounded because a cost is a sum of frequency buckets and a per-word
74
+ // charge of 4.62, which lands on 24.620000000000005 often enough to be
75
+ // worth not putting in front of anybody.
76
+ cost: Math.round(alternative.cost * 100) / 100,
77
+ };
78
+ });
60
79
  }
61
80
  /**
62
81
  * Convert each text, one line in and one line out.
@@ -65,17 +84,45 @@ const CONVERT = {
65
84
  name: "convert",
66
85
  summary: "hanzi to pinyin",
67
86
  argument: "[text...]",
68
- flags: [...CONVERT_FLAGS, "greedy"],
87
+ flags: [...CONVERT_FLAGS, "greedy", "system"],
69
88
  needsDictionary: true,
70
89
  run: (input) => {
71
- const decode = input.flags.greedy === true ? convertGreedily : convert;
72
90
  const options = convertOptions(input.flags);
91
+ const isGreedy = input.flags.greedy === true;
92
+ const decode = isGreedy ? convertGreedily : convert;
93
+ const inPieces = isGreedy ? convertPiecesGreedily : convertPieces;
94
+ const system = systemNamed(transcriptionSystem(input.flags));
95
+ if (system !== undefined) {
96
+ // hanzi → pinyin → the system, which is the shape ROADMAP.md predicted
97
+ // for the whole of `transcription`. See toTranscription for why the word
98
+ // grouping is shared and only the join is the system's.
99
+ return input.texts.map((text) => {
100
+ const written = toTranscription(inPieces(dictionaryOf(input), text, options), (syllables) => system.word(syllables, options.notation !== "none"));
101
+ return {
102
+ lines: [written],
103
+ data: { text, system: system.name, transcription: written },
104
+ };
105
+ });
106
+ }
73
107
  return input.texts.map((text) => {
74
108
  const pinyin = decode(dictionaryOf(input), text, options);
75
- return { lines: [pinyin], data: { text, pinyin } };
109
+ // The pieces cost a second sweep of the lattice, so they are only asked
110
+ // for where there is a colour to put on them.
111
+ const written = input.paint === PLAIN
112
+ ? pinyin
113
+ : paintedPieces(inPieces(dictionaryOf(input), text, options), input);
114
+ return { lines: [written], data: { text, pinyin } };
76
115
  });
77
116
  },
78
117
  };
118
+ /**
119
+ * A conversion's pieces joined back up, each syllable in its tone's colour.
120
+ */
121
+ function paintedPieces(pieces, input) {
122
+ return pieces
123
+ .map((piece) => input.paint(piece.text, piece.syllable?.tone))
124
+ .join("");
125
+ }
79
126
  /**
80
127
  * Convert each text to HTML, one element per syllable.
81
128
  */
@@ -96,19 +143,24 @@ const HTML = {
96
143
  /**
97
144
  * One decoded syllable, as `explain` reports it.
98
145
  */
99
- function explainSyllable(piece, flags) {
146
+ function explainSyllable(piece, input) {
100
147
  const state = stateOf(piece);
101
- const alternatives = alternativesOf(piece, flags);
148
+ const alternatives = alternativesOf(piece, input);
102
149
  const beaten = alternatives
103
- .map((alternative) => `${alternative.reading} +${alternative.cost.toFixed(1)}`)
150
+ .map((alternative) => `${alternative.painted} +${alternative.cost.toFixed(1)}`)
104
151
  .join(" ");
105
152
  return {
106
- line: ` ${column(piece.text, 8)}${column(state, 8)}${beaten}`.trimEnd(),
153
+ // The state stays a word. Colour means tone in every command, including
154
+ // this one: two scales on one line and a reader cannot tell which is which.
155
+ line: ` ${column(input.paint(piece.text, piece.syllable?.tone), 8)}${column(state, 8)}${beaten}`.trimEnd(),
107
156
  data: {
108
157
  text: piece.text,
109
158
  state,
110
159
  ...(piece.syllable?.tone !== undefined && { tone: piece.syllable.tone }),
111
- alternatives,
160
+ alternatives: alternatives.map(({ reading, cost }) => ({
161
+ reading,
162
+ cost,
163
+ })),
112
164
  },
113
165
  };
114
166
  }
@@ -129,10 +181,10 @@ const EXPLAIN = {
129
181
  const pinyin = pieces.map((piece) => piece.text).join("");
130
182
  const syllables = pieces
131
183
  .filter((piece) => piece.syllable !== undefined)
132
- .map((piece) => explainSyllable(piece, input.flags));
184
+ .map((piece) => explainSyllable(piece, input));
133
185
  return {
134
186
  lines: [
135
- `${text} ${pinyin}`,
187
+ `${text} ${paintedPieces(pieces, input)}`,
136
188
  ...syllables.map((syllable) => syllable.line),
137
189
  ],
138
190
  data: {
@@ -147,7 +199,7 @@ const EXPLAIN = {
147
199
  /**
148
200
  * What the dictionary holds for a word.
149
201
  */
150
- function entryFound(dictionary, word) {
202
+ function entryFound(dictionary, word, paint) {
151
203
  const entry = dictionary.lookup(word);
152
204
  if (entry === undefined) {
153
205
  return {
@@ -162,24 +214,28 @@ function entryFound(dictionary, word) {
162
214
  const others = dictionary.readingsOf(word).slice(1);
163
215
  return {
164
216
  lines: [
165
- `${word} ${written(entry.reading)}${tags.length > 0 ? ` ${tags.join(", ")}` : ""}`,
217
+ `${word} ${written(entry.reading, paint)}${tags.length > 0 ? ` ${tags.join(", ")}` : ""}`,
166
218
  ...(entry.taiwanReading === undefined
167
219
  ? []
168
- : [` zh-TW ${written(entry.taiwanReading)}`]),
220
+ : [` zh-TW ${written(entry.taiwanReading, paint)}`]),
169
221
  ...(others.length > 0
170
- ? [` also ${others.map((reading) => written(reading)).join(", ")}`]
222
+ ? [
223
+ ` also ${others
224
+ .map((reading) => written(reading, paint))
225
+ .join(", ")}`,
226
+ ]
171
227
  : []),
172
228
  ],
173
229
  data: {
174
230
  word,
175
231
  found: true,
176
- reading: written(entry.reading),
232
+ reading: written(entry.reading, PLAIN),
177
233
  partOfSpeech: entry.partOfSpeech,
178
234
  isProperNoun: entry.isProperNoun,
179
235
  ...(entry.taiwanReading !== undefined && {
180
- taiwanReading: written(entry.taiwanReading),
236
+ taiwanReading: written(entry.taiwanReading, PLAIN),
181
237
  }),
182
- otherReadings: others.map((reading) => written(reading)),
238
+ otherReadings: others.map((reading) => written(reading, PLAIN)),
183
239
  },
184
240
  };
185
241
  }
@@ -192,12 +248,12 @@ const LOOKUP = {
192
248
  argument: "<word...>",
193
249
  flags: [],
194
250
  needsDictionary: true,
195
- run: (input) => input.texts.map((word) => entryFound(dictionaryOf(input), word)),
251
+ run: (input) => input.texts.map((word) => entryFound(dictionaryOf(input), word, input.paint)),
196
252
  };
197
253
  /**
198
254
  * One written syllable, taken apart.
199
255
  */
200
- function syllableTaken(spelling) {
256
+ function syllableTaken(spelling, paint) {
201
257
  const syllable = readSyllable(spelling);
202
258
  /* c8 ignore next 6 -- splitSyllables only ever emits syllables that read */
203
259
  if (syllable === undefined) {
@@ -218,7 +274,9 @@ function syllableTaken(spelling) {
218
274
  superscript: writeSyllable(syllable, "superscript"),
219
275
  };
220
276
  return {
221
- line: ` ${column(spelling, 10)}${column(parts.join(", "), 22)}${column(Object.values(notations).join(" "), 22)}${isAttested ? "" : "not attested"}`.trimEnd(),
277
+ line: ` ${column(paint(spelling, syllable.tone), 10)}${column(parts.join(", "), 22)}${column(Object.values(notations)
278
+ .map((written) => paint(written, syllable.tone))
279
+ .join(" "), 22)}${isAttested ? "" : "not attested"}`.trimEnd(),
222
280
  data: {
223
281
  spelling,
224
282
  initial: syllable.initial,
@@ -247,10 +305,12 @@ const SYLLABLE = {
247
305
  data: { text, read: false },
248
306
  };
249
307
  }
250
- const taken = split.map((spelling) => syllableTaken(spelling));
308
+ const taken = split.map((spelling) => syllableTaken(spelling, input.paint));
251
309
  return {
252
310
  lines: [
253
- `${text} ${split.join(" ")}`,
311
+ `${text} ${split
312
+ .map((spelling) => input.paint(spelling, readSyllable(spelling)?.tone))
313
+ .join(" ")}`,
254
314
  ...taken.map((syllable) => syllable.line),
255
315
  ],
256
316
  data: {
@@ -280,14 +340,235 @@ const SANDHI = {
280
340
  data: { text, read: false },
281
341
  };
282
342
  }
283
- const pinyin = written(applySandhi(word, options));
343
+ const said = applySandhi(word, options);
284
344
  return {
285
- lines: [`${text} ${pinyin}`],
286
- data: { text, read: true, pinyin },
345
+ lines: [`${text} ${written(said, input.paint)}`],
346
+ data: { text, read: true, pinyin: written(said, PLAIN) },
287
347
  };
288
348
  });
289
349
  },
290
350
  };
351
+ const BOPOMOFO = {
352
+ name: "bopomofo",
353
+ write: writeBopomofo,
354
+ separator: " ",
355
+ word: (syllables) => writeBopomofoWord(syllables),
356
+ };
357
+ const WADE_GILES = {
358
+ name: "wade-giles",
359
+ write: writeWadeGiles,
360
+ separator: "-",
361
+ word: (syllables, hasTones) => writeWadeGilesWord(syllables, hasTones ? {} : { tones: "none" }),
362
+ };
363
+ const YALE = {
364
+ name: "yale",
365
+ write: writeYale,
366
+ separator: "",
367
+ word: (syllables, hasTones) => writeYaleWord(syllables, hasTones ? {} : { tones: "none" }),
368
+ };
369
+ const GWOYEU = {
370
+ name: "gwoyeu",
371
+ write: writeGwoyeu,
372
+ separator: "",
373
+ word: (syllables) => writeGwoyeuWord(syllables),
374
+ };
375
+ const IPA = {
376
+ name: "ipa",
377
+ write: writeIpa,
378
+ separator: "",
379
+ word: (syllables, hasTones) => writeIpaWord(syllables, hasTones ? {} : { tones: "none" }),
380
+ };
381
+ /**
382
+ * Every system `transcribe` writes a column for, for the guard above.
383
+ */
384
+ export const SYSTEMS = [
385
+ BOPOMOFO,
386
+ WADE_GILES,
387
+ YALE,
388
+ GWOYEU,
389
+ IPA,
390
+ ];
391
+ /**
392
+ * The system a `--system` or `--from` name stands for.
393
+ */
394
+ export function systemNamed(name) {
395
+ return SYSTEMS.find((system) => system.name === name);
396
+ }
397
+ /**
398
+ * Write a run of syllables in one system, each syllable in its tone's colour.
399
+ */
400
+ export function writtenWith(syllables, system, paint) {
401
+ return syllables
402
+ .map((syllable) => paint(system.write(syllable), syllable.tone))
403
+ .join(system.separator);
404
+ }
405
+ /**
406
+ * Write a run of syllables in every system.
407
+ */
408
+ function transcribed(reading, flags, paint) {
409
+ const { notation } = convertOptions(flags);
410
+ const { syllables, isExact } = reading;
411
+ return {
412
+ pinyin: syllables
413
+ .map((syllable) => paint(writeSyllable(syllable, notation), syllable.tone))
414
+ .join(""),
415
+ bopomofo: writtenWith(syllables, BOPOMOFO, paint),
416
+ wadeGiles: writtenWith(syllables, WADE_GILES, paint),
417
+ yale: writtenWith(syllables, YALE, paint),
418
+ gwoyeu: writtenWith(syllables, GWOYEU, paint),
419
+ ipa: writtenWith(syllables, IPA, paint),
420
+ ...(isExact !== undefined && { isExact }),
421
+ };
422
+ }
423
+ /**
424
+ * Read Wade-Giles, keeping track of which candidates were spelled exactly.
425
+ *
426
+ * Always the loose reader, because the exact one is a strict subset of it and
427
+ * the interesting case at a command line is the spelling that dropped its
428
+ * marks. Which candidates needed repairing is shown rather than hidden — that
429
+ * is the one thing a person looking at Wade-Giles wants to know.
430
+ *
431
+ * **A word gets one row and a syllable gets every candidate**, which is the
432
+ * only honest way to show both. `chu` stands for four syllables and all four
433
+ * fit on the screen; `maotsetung` splits five ways before any of its syllables
434
+ * has been chosen, so what is shown is the reading
435
+ * {@link readWadeGilesWord} settles on — 56.02% of markless words, by the
436
+ * measurement in `docs/romanization/`.
437
+ */
438
+ function fromWadeGiles(text) {
439
+ const split = splitWadeGiles(text);
440
+ if (split !== undefined && split.length > 1) {
441
+ const word = readWadeGilesWord(text);
442
+ return word === undefined
443
+ ? /* c8 ignore next -- a run that splits always reads */ []
444
+ : [
445
+ {
446
+ syllables: word,
447
+ isExact: split.every((spelling) => readWadeGiles(spelling).length > 0),
448
+ },
449
+ ];
450
+ }
451
+ const exact = new Set(readWadeGiles(text).map((syllable) => writeSyllable(syllable)));
452
+ return readWadeGilesLoosely(text).map((syllable) => ({
453
+ syllables: [syllable],
454
+ isExact: exact.has(writeSyllable(syllable)),
455
+ }));
456
+ }
457
+ /**
458
+ * The systems that read back as a plain list of candidates.
459
+ *
460
+ * Wade-Giles is not among them because it has a second, looser reader to run;
461
+ * bopomofo is not because it needs no flag at all.
462
+ */
463
+ const INDEXED_READERS = new Map([
464
+ ["yale", readYale],
465
+ ["gwoyeu", readGwoyeu],
466
+ ["ipa", readIpa],
467
+ ]);
468
+ /**
469
+ * Read whatever system the text is in, and say so.
470
+ */
471
+ function transcriptions(text, flags) {
472
+ const from = transcriptionSource(flags);
473
+ if (from === "wade-giles") {
474
+ return fromWadeGiles(text);
475
+ }
476
+ const reader = INDEXED_READERS.get(from);
477
+ if (reader !== undefined) {
478
+ return reader(text).map((syllable) => ({ syllables: [syllable] }));
479
+ }
480
+ // Bopomofo needs no flag to be recognised: it has a script of its own, so a
481
+ // caller can only mean one thing by it. Wade-Giles and pinyin overlap almost
482
+ // entirely, so those have to be declared.
483
+ if (from === "bopomofo" || (from === "auto" && isBopomofo(text))) {
484
+ const syllable = readBopomofo(text);
485
+ return syllable === undefined ? [] : [{ syllables: [syllable] }];
486
+ }
487
+ const split = splitSyllables(text);
488
+ const syllables = (split ?? []).flatMap((spelling) => {
489
+ const syllable = readSyllable(spelling);
490
+ /* c8 ignore next -- splitSyllables only emits syllables that read */
491
+ return syllable === undefined ? [] : [syllable];
492
+ });
493
+ return syllables.length === 0 ? [] : [{ syllables }];
494
+ }
495
+ /**
496
+ * How wide each of `transcribe`'s columns is when its cells are narrow.
497
+ *
498
+ * A floor rather than the width: a whole word is wider than a syllable, and
499
+ * `mao-tsʻê-tung` is thirteen characters in a column sized for `ch'ü¹`. The
500
+ * widths are kept as a floor so that a single syllable still lines up with the
501
+ * next answer down when a file is piped through, and so that widening one row
502
+ * does not move every example in the docs.
503
+ */
504
+ const TRANSCRIBE_WIDTHS = [12, 10, 12, 12, 10, 10, 12, 0];
505
+ /**
506
+ * Lay rows of cells out in columns, each as wide as it needs to be.
507
+ */
508
+ function laidOut(rows) {
509
+ const widths = TRANSCRIBE_WIDTHS.map((floor, at) => Math.max(floor, ...rows.map((row) => {
510
+ // A cell needs one space after it at least, which is what the floor
511
+ // gives the widest syllable already. Only a cell that does not fit
512
+ // widens the column, and then it takes two — so a single syllable is
513
+ // laid out exactly as it was before words could arrive.
514
+ const width = visibleLength(row[at] ?? "");
515
+ return width + 1 > floor ? width + 2 : 0;
516
+ })));
517
+ return rows.map((row) => row
518
+ .map((cell, at) => column(cell, widths[at] ?? 0))
519
+ .join("")
520
+ .trimEnd());
521
+ }
522
+ /**
523
+ * Write pinyin in every other system, and read any of them back.
524
+ *
525
+ * Not `romanize`, for two reasons: bopomofo has a script of its own and IPA is
526
+ * a transcription rather than a spelling, so half the columns are not
527
+ * romanisations — and the input is pinyin, which already is one. *Comparison of
528
+ * Standard Chinese transcription systems*, the syllabary these tables are
529
+ * checked against, is the source of the word as well as of the columns.
530
+ *
531
+ * Needs no dictionary, for the same reason `syllable` does: a transcription is
532
+ * a mapping over syllables and there is nothing to look up. Several rows come
533
+ * back where Wade-Giles is ambiguous, which is most of it once the apostrophes
534
+ * and diacritics have been dropped.
535
+ */
536
+ const TRANSCRIBE = {
537
+ name: "transcribe",
538
+ summary: "pinyin to bopomofo, Wade-Giles, Yale, GR and IPA, and back",
539
+ argument: "<text...>",
540
+ flags: ["notation", "from"],
541
+ needsDictionary: false,
542
+ run: (input) => input.texts.map((text) => {
543
+ const found = transcriptions(text, input.flags);
544
+ if (found.length === 0) {
545
+ return {
546
+ lines: [`${text} not readable`],
547
+ data: { text, read: false },
548
+ };
549
+ }
550
+ return {
551
+ lines: laidOut(found.map((reading, index) => {
552
+ const one = transcribed(reading, input.flags, input.paint);
553
+ return [
554
+ index === 0 ? text : "",
555
+ one.pinyin,
556
+ one.bopomofo,
557
+ one.wadeGiles,
558
+ one.yale,
559
+ one.gwoyeu,
560
+ one.ipa,
561
+ one.isExact === false ? "marks restored" : "",
562
+ ];
563
+ })),
564
+ data: {
565
+ text,
566
+ read: true,
567
+ readings: found.map((reading) => transcribed(reading, input.flags, PLAIN)),
568
+ },
569
+ };
570
+ }),
571
+ };
291
572
  /**
292
573
  * Report what is loaded, which is the first thing to check when output looks
293
574
  * wrong.
@@ -320,6 +601,85 @@ const INFO = {
320
601
  ];
321
602
  },
322
603
  };
604
+ /**
605
+ * Apply the sandhi a counted quantity takes, and only there.
606
+ *
607
+ * 一百 is said `yìbǎi`, but 110 read out is `yāo yāo líng` and never
608
+ * `yì yì líng`, and 3.14 is `sān diǎn yī sì`: a digit said on its own keeps its
609
+ * citation tone, and so does everything after the decimal point, which is read
610
+ * digit by digit whatever the style. So the sandhi pass runs over the counted
611
+ * part of the number and stops at the 点.
612
+ */
613
+ function counted(hanzi, reading, options, sandhi) {
614
+ if (options.style === "digits") {
615
+ return reading;
616
+ }
617
+ const point = toCharacters(hanzi).indexOf("点");
618
+ const quantity = point === -1 ? reading.length : point;
619
+ return [
620
+ ...applySandhi(reading.slice(0, quantity), sandhi),
621
+ ...reading.slice(quantity),
622
+ ];
623
+ }
624
+ /**
625
+ * Read numbers aloud, as quantities or digit by digit.
626
+ *
627
+ * Needs no dictionary, for the same reason `syllable` and `sandhi` do not:
628
+ * reading a number is arithmetic and a twenty-entry reading table, not a
629
+ * lookup. Which of the two styles a number takes is the caller's to say —
630
+ * 2026年 is read out digit by digit and 2026个 is counted — so the flag is
631
+ * where that choice lives rather than a guess about the text around it.
632
+ */
633
+ const NUMBER = {
634
+ name: "number",
635
+ summary: "read a number as Chinese numerals",
636
+ argument: "<number...>",
637
+ flags: [
638
+ "notation",
639
+ "digits",
640
+ "yao",
641
+ "no-liang",
642
+ "percent",
643
+ "third-tone",
644
+ "no-sandhi",
645
+ ],
646
+ needsDictionary: false,
647
+ run: (input) => {
648
+ const { notation, sandhi } = convertOptions(input.flags);
649
+ const options = {
650
+ style: input.flags.digits === true ? "digits" : "cardinal",
651
+ ...(input.flags.yao === true && { yao: true }),
652
+ ...(input.flags["no-liang"] === true && { liang: "never" }),
653
+ };
654
+ return input.texts.map((text) => {
655
+ const hanzi = input.flags.percent === true
656
+ ? percentHanzi(text, options)
657
+ : numeralHanzi(text, options);
658
+ const reading = hanzi === undefined ? undefined : readNumeralHanzi(hanzi, options);
659
+ if (hanzi === undefined || reading === undefined) {
660
+ return {
661
+ lines: [`${text} not a number`],
662
+ data: { text, read: false },
663
+ };
664
+ }
665
+ const said = counted(hanzi, reading, options, sandhi);
666
+ const spelled = said.map((syllable) => writeSyllable(syllable, notation));
667
+ return {
668
+ lines: [
669
+ `${column(text, 12)}${column(hanzi, 18)}${spelled
670
+ .map((written, at) => input.paint(written, said[at]?.tone))
671
+ .join(" ")}`,
672
+ ],
673
+ data: {
674
+ text,
675
+ hanzi,
676
+ pinyin: spelled.join(" "),
677
+ style: options.style,
678
+ },
679
+ };
680
+ });
681
+ },
682
+ };
323
683
  /**
324
684
  * Every subcommand, in the order the help lists them.
325
685
  */
@@ -330,6 +690,8 @@ export const COMMANDS = [
330
690
  LOOKUP,
331
691
  SYLLABLE,
332
692
  SANDHI,
693
+ NUMBER,
694
+ TRANSCRIBE,
333
695
  INFO,
334
696
  ];
335
697
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/cli/environment.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAc/C;;GAEG;AACH,wBAAsB,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAM3E;AAqBD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOpD;AAWD;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,cAAc,CAAC,CAU/D"}
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/cli/environment.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAc/C;;GAEG;AACH,wBAAsB,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAM3E;AAqBD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOpD;AA8BD;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,cAAc,CAAC,CAW/D"}