@kensio/pinyinjs 1.7.8 → 1.7.10

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 (97) hide show
  1. package/README.md +18 -2
  2. package/data/core.entries +2259 -2259
  3. package/data/core.freq +0 -0
  4. package/data/full.counts +0 -0
  5. package/data/full.entries +2289 -2289
  6. package/data/full.freq +0 -0
  7. package/data/manifest.json +8 -8
  8. package/data/standard.entries +2257 -2257
  9. package/data/standard.freq +0 -0
  10. package/dist/cli/flag-lists.d.ts +2 -1
  11. package/dist/cli/flag-lists.d.ts.map +1 -1
  12. package/dist/cli/flag-lists.js.map +1 -1
  13. package/dist/cli/format-options.d.ts +5 -1
  14. package/dist/cli/format-options.d.ts.map +1 -1
  15. package/dist/cli/format-options.js +9 -2
  16. package/dist/cli/format-options.js.map +1 -1
  17. package/dist/cli/html-commands.d.ts.map +1 -1
  18. package/dist/cli/html-commands.js +15 -3
  19. package/dist/cli/html-commands.js.map +1 -1
  20. package/dist/cli/systems.d.ts +15 -43
  21. package/dist/cli/systems.d.ts.map +1 -1
  22. package/dist/cli/systems.js +9 -12
  23. package/dist/cli/systems.js.map +1 -1
  24. package/dist/decode/guo-rule.d.ts +64 -0
  25. package/dist/decode/guo-rule.d.ts.map +1 -0
  26. package/dist/decode/guo-rule.js +138 -0
  27. package/dist/decode/guo-rule.js.map +1 -0
  28. package/dist/decode/reading-rules.d.ts +1 -0
  29. package/dist/decode/reading-rules.d.ts.map +1 -1
  30. package/dist/decode/reading-rules.js +3 -0
  31. package/dist/decode/reading-rules.js.map +1 -1
  32. package/dist/dictionary/artifact.js +2 -2
  33. package/dist/dictionary/artifact.js.map +1 -1
  34. package/dist/dictionary/frequency-table.d.ts +103 -0
  35. package/dist/dictionary/frequency-table.d.ts.map +1 -1
  36. package/dist/dictionary/frequency-table.js +96 -8
  37. package/dist/dictionary/frequency-table.js.map +1 -1
  38. package/dist/dictionary/merge-types.d.ts +12 -0
  39. package/dist/dictionary/merge-types.d.ts.map +1 -1
  40. package/dist/dictionary/merge-types.js.map +1 -1
  41. package/dist/dictionary/merge-word.d.ts.map +1 -1
  42. package/dist/dictionary/merge-word.js +2 -2
  43. package/dist/dictionary/merge-word.js.map +1 -1
  44. package/dist/dictionary/merge.d.ts.map +1 -1
  45. package/dist/dictionary/merge.js +11 -1
  46. package/dist/dictionary/merge.js.map +1 -1
  47. package/dist/dictionary/name-mass.d.ts +42 -0
  48. package/dist/dictionary/name-mass.d.ts.map +1 -0
  49. package/dist/dictionary/name-mass.js +66 -0
  50. package/dist/dictionary/name-mass.js.map +1 -0
  51. package/dist/dictionary/proper-noun.d.ts +8 -1
  52. package/dist/dictionary/proper-noun.d.ts.map +1 -1
  53. package/dist/dictionary/proper-noun.js +13 -3
  54. package/dist/dictionary/proper-noun.js.map +1 -1
  55. package/dist/dictionary/script-pairings.d.ts +12 -0
  56. package/dist/dictionary/script-pairings.d.ts.map +1 -1
  57. package/dist/dictionary/script-pairings.js +20 -0
  58. package/dist/dictionary/script-pairings.js.map +1 -1
  59. package/dist/dictionary/traditional-carry.d.ts +23 -0
  60. package/dist/dictionary/traditional-carry.d.ts.map +1 -0
  61. package/dist/dictionary/traditional-carry.js +201 -0
  62. package/dist/dictionary/traditional-carry.js.map +1 -0
  63. package/dist/format/annotate.d.ts.map +1 -1
  64. package/dist/format/annotate.js +3 -3
  65. package/dist/format/annotate.js.map +1 -1
  66. package/dist/format/html.d.ts +41 -6
  67. package/dist/format/html.d.ts.map +1 -1
  68. package/dist/format/html.js +34 -83
  69. package/dist/format/html.js.map +1 -1
  70. package/dist/format/language-tag.d.ts +57 -0
  71. package/dist/format/language-tag.d.ts.map +1 -0
  72. package/dist/format/language-tag.js +76 -0
  73. package/dist/format/language-tag.js.map +1 -0
  74. package/dist/format/syllable-span.d.ts +10 -0
  75. package/dist/format/syllable-span.d.ts.map +1 -0
  76. package/dist/format/syllable-span.js +87 -0
  77. package/dist/format/syllable-span.js.map +1 -0
  78. package/dist/format/transcribed.d.ts +36 -0
  79. package/dist/format/transcribed.d.ts.map +1 -0
  80. package/dist/format/transcribed.js +38 -0
  81. package/dist/format/transcribed.js.map +1 -0
  82. package/dist/format/transcription.d.ts.map +1 -1
  83. package/dist/format/transcription.js +7 -19
  84. package/dist/format/transcription.js.map +1 -1
  85. package/dist/index.d.ts +3 -1
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +2 -1
  88. package/dist/index.js.map +1 -1
  89. package/dist/transcription/systems.d.ts +82 -0
  90. package/dist/transcription/systems.d.ts.map +1 -0
  91. package/dist/transcription/systems.js +64 -0
  92. package/dist/transcription/systems.js.map +1 -0
  93. package/package.json +2 -2
  94. package/dist/cli/system-table.d.ts +0 -12
  95. package/dist/cli/system-table.d.ts.map +0 -1
  96. package/dist/cli/system-table.js +0 -48
  97. package/dist/cli/system-table.js.map +0 -1
Binary file
@@ -18,6 +18,7 @@ import type { CapitalStyle } from "../orthography/capitals.js";
18
18
  import type { PunctuationStyle } from "../orthography/punctuation.js";
19
19
  import type { Locale } from "../script/script.js";
20
20
  import type { ToneNotation } from "../syllable/syllable.js";
21
+ import type { TranscriptionSystemName } from "../transcription/systems.js";
21
22
  import type { FlagName, Flags } from "./flags.js";
22
23
  /**
23
24
  * Read a flag that takes a value, checking it against what the library accepts.
@@ -44,6 +45,6 @@ export declare const TIERS: readonly Tier[];
44
45
  * `chi` is a well-formed spelling in both pinyin and Wade-Giles and means
45
46
  * different syllables in each.
46
47
  */
47
- export type TranscriptionSource = "auto" | "pinyin" | "wade-giles" | "bopomofo" | "yale" | "gwoyeu" | "ipa";
48
+ export type TranscriptionSource = "auto" | "pinyin" | TranscriptionSystemName;
48
49
  export declare const SOURCES: readonly TranscriptionSource[];
49
50
  //# sourceMappingURL=flag-lists.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"flag-lists.d.ts","sourceRoot":"","sources":["../../src/cli/flag-lists.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGlD;;GAEG;AACH,wBAAgB,MAAM,CAAC,KAAK,SAAS,MAAM,EACzC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,SAAS,KAAK,EAAE,GACxB,KAAK,GAAG,SAAS,CAanB;AAED,eAAO,MAAM,SAAS,EAAE,SAAS,YAAY,EAK5C,CAAC;AAEF;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAYxE;AAED,eAAO,MAAM,OAAO,EAAE,SAAS,MAAM,EAAuB,CAAC;AAE7D,eAAO,MAAM,WAAW,EAAE,SAAS,eAAe,EAIjD,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,SAAS,YAAY,EAA+B,CAAC;AAE5E,eAAO,MAAM,WAAW,EAAE,SAAS,gBAAgB,EAAsB,CAAC;AAE1E,eAAO,MAAM,UAAU,EAAE,SAAS,SAAS,EAAwB,CAAC;AAEpE,eAAO,MAAM,cAAc,EAAE,SAAS,aAAa,EAAyB,CAAC;AAE7E,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAAe,CAAC;AAE9D,eAAO,MAAM,KAAK,EAAE,SAAS,IAAI,EAAiC,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAC3B,MAAM,GACN,QAAQ,GACR,YAAY,GACZ,UAAU,GACV,MAAM,GACN,QAAQ,GACR,KAAK,CAAC;AAEV,eAAO,MAAM,OAAO,EAAE,SAAS,mBAAmB,EAQjD,CAAC"}
1
+ {"version":3,"file":"flag-lists.d.ts","sourceRoot":"","sources":["../../src/cli/flag-lists.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGlD;;GAEG;AACH,wBAAgB,MAAM,CAAC,KAAK,SAAS,MAAM,EACzC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,SAAS,KAAK,EAAE,GACxB,KAAK,GAAG,SAAS,CAanB;AAED,eAAO,MAAM,SAAS,EAAE,SAAS,YAAY,EAK5C,CAAC;AAEF;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAYxE;AAED,eAAO,MAAM,OAAO,EAAE,SAAS,MAAM,EAAuB,CAAC;AAE7D,eAAO,MAAM,WAAW,EAAE,SAAS,eAAe,EAIjD,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,SAAS,YAAY,EAA+B,CAAC;AAE5E,eAAO,MAAM,WAAW,EAAE,SAAS,gBAAgB,EAAsB,CAAC;AAE1E,eAAO,MAAM,UAAU,EAAE,SAAS,SAAS,EAAwB,CAAC;AAEpE,eAAO,MAAM,cAAc,EAAE,SAAS,aAAa,EAAyB,CAAC;AAE7E,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAAe,CAAC;AAE9D,eAAO,MAAM,KAAK,EAAE,SAAS,IAAI,EAAiC,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,uBAAuB,CAAC;AAE9E,eAAO,MAAM,OAAO,EAAE,SAAS,mBAAmB,EAQjD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"flag-lists.js","sourceRoot":"","sources":["../../src/cli/flag-lists.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,MAAM,UAAU,MAAM,CACpB,KAAY,EACZ,IAAc,EACd,OAAyB;IAEzB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;IAC/D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,UAAU,CAClB,KAAK,IAAI,mBAAmB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,EAAE,CAC/D,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAA4B;IAChD,OAAO;IACP,SAAS;IACT,aAAa;IACb,MAAM;CACP,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,KAAY,EAAE,IAAc;IAClD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,UAAU,CAClB,KAAK,IAAI,gCAAgC,MAAM,CAAC,KAAK,CAAC,EAAE,CACzD,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,WAAW,GAA+B;IACrD,QAAQ;IACR,UAAU;IACV,OAAO;CACR,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAA4B,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,WAAW,GAAgC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,UAAU,GAAyB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,cAAc,GAA6B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,KAAK,GAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAmBnE,MAAM,CAAC,MAAM,OAAO,GAAmC;IACrD,MAAM;IACN,QAAQ;IACR,YAAY;IACZ,UAAU;IACV,MAAM;IACN,QAAQ;IACR,KAAK;CACN,CAAC"}
1
+ {"version":3,"file":"flag-lists.js","sourceRoot":"","sources":["../../src/cli/flag-lists.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,MAAM,UAAU,MAAM,CACpB,KAAY,EACZ,IAAc,EACd,OAAyB;IAEzB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;IAC/D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,UAAU,CAClB,KAAK,IAAI,mBAAmB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,EAAE,CAC/D,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAA4B;IAChD,OAAO;IACP,SAAS;IACT,aAAa;IACb,MAAM;CACP,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,KAAY,EAAE,IAAc;IAClD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,UAAU,CAClB,KAAK,IAAI,gCAAgC,MAAM,CAAC,KAAK,CAAC,EAAE,CACzD,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,WAAW,GAA+B;IACrD,QAAQ;IACR,UAAU;IACV,OAAO;CACR,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAA4B,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,WAAW,GAAgC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,UAAU,GAAyB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,cAAc,GAA6B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,KAAK,GAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAYnE,MAAM,CAAC,MAAM,OAAO,GAAmC;IACrD,MAAM;IACN,QAAQ;IACR,YAAY;IACZ,UAAU;IACV,MAAM;IACN,QAAQ;IACR,KAAK;CACN,CAAC"}
@@ -12,7 +12,11 @@ export { colourDepth, type TranscriptionSource, transcriptionSource, transcripti
12
12
  */
13
13
  export declare function slugOptions(flags: Flags): SlugOptions;
14
14
  /**
15
- * The same, plus the three flags that only mean anything in HTML.
15
+ * The same, plus the four flags that only mean anything in HTML.
16
+ *
17
+ * `--system` is one of them here as well as on `convert`, and it means the same
18
+ * thing: write the reading in that system rather than in pinyin. A name no
19
+ * system answers to leaves the option off, which is the pinyin default.
16
20
  */
17
21
  export declare function htmlOptions(flags: Flags): HtmlOptions;
18
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"format-options.d.ts","sourceRoot":"","sources":["../../src/cli/format-options.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAUxC,OAAO,EACL,WAAW,EACX,KAAK,mBAAmB,EACxB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,CA4BrD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,CAOrD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAE3D"}
1
+ {"version":3,"file":"format-options.d.ts","sourceRoot":"","sources":["../../src/cli/format-options.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAYxC,OAAO,EACL,WAAW,EACX,KAAK,mBAAmB,EACxB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,CA4BrD;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,CASrD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAE3D"}
@@ -7,7 +7,8 @@
7
7
  import { convertOptions } from "./options.js";
8
8
  import { SCRIPT_TARGETS } from "../decode/script.js";
9
9
  import { SCRIPTS } from "../script/script.js";
10
- import { chosen, counted, LOCALES, SLUG_SYLLABLES, SLUG_TONES, SLUG_UMLAUTS, } from "./flag-values.js";
10
+ import { chosen, counted, LOCALES, SLUG_SYLLABLES, SLUG_TONES, SLUG_UMLAUTS, transcriptionSystem as systemFlag, } from "./flag-values.js";
11
+ import { systemNamed } from "./systems.js";
11
12
  export { colourDepth, transcriptionSource, transcriptionSystem, } from "./flag-values.js";
12
13
  /**
13
14
  * Turn the slug flags into the options the library takes.
@@ -44,14 +45,20 @@ export function slugOptions(flags) {
44
45
  };
45
46
  }
46
47
  /**
47
- * The same, plus the three flags that only mean anything in HTML.
48
+ * The same, plus the four flags that only mean anything in HTML.
49
+ *
50
+ * `--system` is one of them here as well as on `convert`, and it means the same
51
+ * thing: write the reading in that system rather than in pinyin. A name no
52
+ * system answers to leaves the option off, which is the pinyin default.
48
53
  */
49
54
  export function htmlOptions(flags) {
55
+ const system = systemNamed(systemFlag(flags));
50
56
  return {
51
57
  ...convertOptions(flags),
52
58
  ...(flags["no-tone-classes"] === true && { toneClasses: false }),
53
59
  ...(flags["no-uncertain"] === true && { markUncertain: false }),
54
60
  ...(flags["no-lang"] === true && { lang: false }),
61
+ ...(system !== undefined && { transcription: system }),
55
62
  };
56
63
  }
57
64
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"format-options.js","sourceRoot":"","sources":["../../src/cli/format-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format-options.js","sourceRoot":"","sources":["../../src/cli/format-options.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"html-commands.d.ts","sourceRoot":"","sources":["../../src/cli/html-commands.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,OAAO,EAAgB,MAAM,cAAc,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,OAalB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE,OAatB,CAAC"}
1
+ {"version":3,"file":"html-commands.d.ts","sourceRoot":"","sources":["../../src/cli/html-commands.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,OAAO,EAAgB,MAAM,cAAc,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,OAmBlB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE,OAmBtB,CAAC"}
@@ -16,7 +16,13 @@ export const HTML = {
16
16
  name: "html",
17
17
  summary: "hanzi to pinyin as HTML, one element per syllable",
18
18
  argument: "[text...]",
19
- flags: [...CONVERT_FLAGS, "no-tone-classes", "no-uncertain", "no-lang"],
19
+ flags: [
20
+ ...CONVERT_FLAGS,
21
+ "no-tone-classes",
22
+ "no-uncertain",
23
+ "no-lang",
24
+ "system",
25
+ ],
20
26
  needsDictionary: true,
21
27
  run: (input) => {
22
28
  const options = htmlOptions(input.flags);
@@ -34,9 +40,15 @@ export const HTML = {
34
40
  */
35
41
  export const ANNOTATE = {
36
42
  name: "annotate",
37
- summary: "hanzi with its pinyin above, as ruby HTML",
43
+ summary: "hanzi with its reading above, as ruby HTML",
38
44
  argument: "[text...]",
39
- flags: [...CONVERT_FLAGS, "no-tone-classes", "no-uncertain", "no-lang"],
45
+ flags: [
46
+ ...CONVERT_FLAGS,
47
+ "no-tone-classes",
48
+ "no-uncertain",
49
+ "no-lang",
50
+ "system",
51
+ ],
40
52
  needsDictionary: true,
41
53
  run: (input) => {
42
54
  const options = htmlOptions(input.flags);
@@ -1 +1 @@
1
- {"version":3,"file":"html-commands.js","sourceRoot":"","sources":["../../src/cli/html-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAgB,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAY;IAC3B,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,mDAAmD;IAC5D,QAAQ,EAAE,WAAW;IACrB,KAAK,EAAE,CAAC,GAAG,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,SAAS,CAAC;IACvE,eAAe,EAAE,IAAI;IACrB,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,MAAM,IAAI,GAAG,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAC/D,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAY;IAC/B,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,2CAA2C;IACpD,QAAQ,EAAE,WAAW;IACrB,KAAK,EAAE,CAAC,GAAG,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,SAAS,CAAC;IACvE,eAAe,EAAE,IAAI;IACrB,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,MAAM,IAAI,GAAG,sBAAsB,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YACxE,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"html-commands.js","sourceRoot":"","sources":["../../src/cli/html-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAgB,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAY;IAC3B,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,mDAAmD;IAC5D,QAAQ,EAAE,WAAW;IACrB,KAAK,EAAE;QACL,GAAG,aAAa;QAChB,iBAAiB;QACjB,cAAc;QACd,SAAS;QACT,QAAQ;KACT;IACD,eAAe,EAAE,IAAI;IACrB,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,MAAM,IAAI,GAAG,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAC/D,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAY;IAC/B,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,4CAA4C;IACrD,QAAQ,EAAE,WAAW;IACrB,KAAK,EAAE;QACL,GAAG,aAAa;QAChB,iBAAiB;QACjB,cAAc;QACd,SAAS;QACT,QAAQ;KACT;IACD,eAAe,EAAE,IAAI;IACrB,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,MAAM,IAAI,GAAG,sBAAsB,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YACxE,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -1,57 +1,29 @@
1
1
  /**
2
- * The romanisation systems, as a table the CLI can walk.
2
+ * The systems table, and the one thing the CLI does with it that nothing else
3
+ * does, which is to paint every syllable of a word its own colour.
3
4
  *
4
- * Each entry takes apart a `write*Word` helper into the syllable write and the
5
- * separator it joins on, so that every syllable can be painted its own colour.
6
- * `commands.test.ts` holds the pair together over the whole inventory.
5
+ * The table itself is `src/transcription/systems.ts`, since what a system
6
+ * writes is a fact about the system rather than about a terminal.
7
7
  */
8
8
  import type { Syllable } from "../syllable/syllable.js";
9
- export { BOPOMOFO, GWOYEU, IPA, WADE_GILES, YALE } from "./system-table.js";
10
- import type { TranscriptionSource } from "./arguments.js";
9
+ import { type TranscriptionSystem } from "../transcription/systems.js";
10
+ import type { TranscriptionSource } from "./flag-lists.js";
11
11
  import type { Painter } from "./colour.js";
12
+ export { BOPOMOFO, GWOYEU, IPA, WADE_GILES, YALE, } from "../transcription/systems.js";
13
+ export type { TranscriptionSystem as System } from "../transcription/systems.js";
12
14
  /**
13
- * How one system writes a word: a syllable at a time, and what it joins on.
14
- *
15
- * The `write*Word` helpers are each a map and a join, and this takes them apart
16
- * so that every syllable can be painted its own colour. That duplicates five
17
- * separators, so each entry carries the helper it stands in for and
18
- * `commands.test.ts` asserts the two agree over the whole inventory in every
19
- * tone state — rather than the list being trusted.
20
- */
21
- export interface System {
22
- /** What `--from` and `--system` call it. */
23
- readonly name: TranscriptionSource;
24
- readonly write: (syllable: Syllable) => string;
25
- readonly separator: string;
26
- /**
27
- * How the system writes a word, with its tones or without them.
28
- *
29
- * `--notation none` can only be honoured where the tone is written
30
- * separately*: Wade-Giles, Yale and IPA all have a way to leave it off.
31
- * Bopomofo marks it with a symbol of the script and Gwoyeu Romatzyh spells
32
- * it into the syllable, so for those two there is nothing to leave off and
33
- * the flag is ignored rather than approximated.
34
- */
35
- readonly word: (syllables: readonly Syllable[], hasTones: boolean) => string;
36
- /**
37
- * Whether the system writes the capitals the conversion settled.
38
- *
39
- * The three romanisations do, since a romanisation is a way of writing
40
- * Chinese in the Latin alphabet and inherits what that alphabet does with a
41
- * proper noun. IPA and bopomofo do not — see {@link toTranscription}.
42
- */
43
- readonly capitals: boolean;
44
- }
45
- /**
46
- * Every system `transcribe` writes a column for, for the guard above.
15
+ * Every system `transcribe` writes a column for.
47
16
  */
48
- export declare const SYSTEMS: readonly System[];
17
+ export declare const SYSTEMS: readonly TranscriptionSystem[];
49
18
  /**
50
19
  * The system a `--system` or `--from` name stands for.
20
+ *
21
+ * `auto` and `pinyin` are names the flags take and no system answers to, so
22
+ * both come back undefined.
51
23
  */
52
- export declare function systemNamed(name: TranscriptionSource | undefined): System | undefined;
24
+ export declare function systemNamed(name: TranscriptionSource | undefined): TranscriptionSystem | undefined;
53
25
  /**
54
26
  * Write a run of syllables in one system, each syllable in its tone's colour.
55
27
  */
56
- export declare function writtenWith(syllables: readonly Syllable[], system: System, paint: Painter): string;
28
+ export declare function writtenWith(syllables: readonly Syllable[], system: TranscriptionSystem, paint: Painter): string;
57
29
  //# sourceMappingURL=systems.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"systems.d.ts","sourceRoot":"","sources":["../../src/cli/systems.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C;;;;;;;;GAQG;AACH,MAAM,WAAW,MAAM;IACrB,4CAA4C;IAC5C,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,MAAM,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAC;IAC7E;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,SAAS,MAAM,EAMpC,CAAC;AAEF;;GAEG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,mBAAmB,GAAG,SAAS,GACpC,MAAM,GAAG,SAAS,CAEpB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,SAAS,QAAQ,EAAE,EAC9B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,GACb,MAAM,CAIR"}
1
+ {"version":3,"file":"systems.d.ts","sourceRoot":"","sources":["../../src/cli/systems.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EACL,KAAK,mBAAmB,EAGzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EACL,QAAQ,EACR,MAAM,EACN,GAAG,EACH,UAAU,EACV,IAAI,GACL,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,mBAAmB,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAEjF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,SAAS,mBAAmB,EAA0B,CAAC;AAE7E;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,mBAAmB,GAAG,SAAS,GACpC,mBAAmB,GAAG,SAAS,CAEjC;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,SAAS,QAAQ,EAAE,EAC9B,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,OAAO,GACb,MAAM,CAIR"}
@@ -1,27 +1,24 @@
1
- export { BOPOMOFO, GWOYEU, IPA, WADE_GILES, YALE } from "./system-table.js";
2
- import { BOPOMOFO, GWOYEU, IPA, WADE_GILES, YALE } from "./system-table.js";
1
+ import { TRANSCRIPTION_SYSTEMS, transcriptionSystemNamed, } from "../transcription/systems.js";
2
+ export { BOPOMOFO, GWOYEU, IPA, WADE_GILES, YALE, } from "../transcription/systems.js";
3
3
  /**
4
- * Every system `transcribe` writes a column for, for the guard above.
4
+ * Every system `transcribe` writes a column for.
5
5
  */
6
- export const SYSTEMS = [
7
- BOPOMOFO,
8
- WADE_GILES,
9
- YALE,
10
- GWOYEU,
11
- IPA,
12
- ];
6
+ export const SYSTEMS = TRANSCRIPTION_SYSTEMS;
13
7
  /**
14
8
  * The system a `--system` or `--from` name stands for.
9
+ *
10
+ * `auto` and `pinyin` are names the flags take and no system answers to, so
11
+ * both come back undefined.
15
12
  */
16
13
  export function systemNamed(name) {
17
- return SYSTEMS.find((system) => system.name === name);
14
+ return transcriptionSystemNamed(name);
18
15
  }
19
16
  /**
20
17
  * Write a run of syllables in one system, each syllable in its tone's colour.
21
18
  */
22
19
  export function writtenWith(syllables, system, paint) {
23
20
  return syllables
24
- .map((syllable) => paint(system.write(syllable), syllable.tone))
21
+ .map((syllable) => paint(system.write(syllable, true), syllable.tone))
25
22
  .join(system.separator);
26
23
  }
27
24
  //# sourceMappingURL=systems.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"systems.js","sourceRoot":"","sources":["../../src/cli/systems.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAG5E,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAoC5E;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAsB;IACxC,QAAQ;IACR,UAAU;IACV,IAAI;IACJ,MAAM;IACN,GAAG;CACJ,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,IAAqC;IAErC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,SAA8B,EAC9B,MAAc,EACd,KAAc;IAEd,OAAO,SAAS;SACb,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;SAC/D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"systems.js","sourceRoot":"","sources":["../../src/cli/systems.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EACL,QAAQ,EACR,MAAM,EACN,GAAG,EACH,UAAU,EACV,IAAI,GACL,MAAM,6BAA6B,CAAC;AAGrC;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAmC,qBAAqB,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACzB,IAAqC;IAErC,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,SAA8B,EAC9B,MAA2B,EAC3B,KAAc;IAEd,OAAO,SAAS;SACb,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;SACrE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { type EdgeRule } from "./rules.js";
2
+ /**
3
+ * 过 read toneless where it marks experiential aspect.
4
+ *
5
+ * 他去过法国 came out `qùguò`, and 我吃过饭了, 你去过京都吗 and every 见过,
6
+ * 听说过 and 工作过 with them. The dictionary already holds the toneless
7
+ * reading as an alternate of `guò` and the lattice already offers the edge, and
8
+ * nothing new is asserted here. What was missing is a preference, since the
9
+ * cost model has no way to reach one alternate of a character over another at
10
+ * a position no word covers. {@link MODAL_DE} was written for the same
11
+ * position.
12
+ *
13
+ * The word in front decides it. Aspect attaches to a verb and to nothing else.
14
+ * A 过 with a verbal word ending immediately before it is the marker (去过,
15
+ * 吃过, 听说过, 告诉过, 工作过). The far side is silent, because an object, a
16
+ * 了, a 吗 and the end of the sentence all follow the marker as readily as they
17
+ * follow the verb 过. See {@link carriesGuo} for the pairs that carry a `guò`
18
+ * past a forced edge.
19
+ *
20
+ * Over 88,866 lines of Tatoeba and zh.wikipedia, 1,437 过 and 過 decode as a
21
+ * word of their own and every one of them reads `guò`. This moves 1,002 of
22
+ * them, and 29 more that no boundary had split out. Sized before it was
23
+ * written, the condition holds for 998 of the 1,437 and is right on 939. The
24
+ * 59 misses fall into five groups. 38 hand the 过 to a directional or
25
+ * resultative complement (他游过了河, 一隻老鼠跑過房間, 他们转过身, 我坐过站了,
26
+ * 回過神來). 14 are 过 as a verb behind a modal or an adverb (我們才能過比較好
27
+ * 的日子, 你要過聖誕節了嗎, 也许他不回去过春节). 4 are 过 meaning to exceed
28
+ * (期望过高 twice, 分享过多私人信息, 大象能活过一百岁). 2 belong to the word
29
+ * after (设置过马路警察, 提供过海巴士服务). One is the noun (忘功不忘過).
30
+ *
31
+ * 26 of the 998 keep their `guò` anyway, held by a word jieba counted and
32
+ * tagged. {@link TEACHING_JIAO} draws the same line. 打过 accounts for 12 of
33
+ * them, 过话 for 9 and 考过 for 2. All but 我坐过站了 were right already.
34
+ *
35
+ * The condition is deliberately no narrower, and four ways of tightening it
36
+ * were measured over the same lines. Excluding a modal in front gives up 32
37
+ * firings to catch 10 misses, 想过 being the marker in all 22 of its own.
38
+ * Excluding a single-character adjective after gives up 4 to catch 2, the
39
+ * others being 见过胖的纯素食者 and 见过新来的那货. Excluding a 了 after gives
40
+ * up 45 to catch 11, most of the 45 being 我吃过了 and 我说过了. The fourth
41
+ * pays and is rejected all the same. A written-out set of the verbs that take
42
+ * a crossing 过 (游, 跑, 跃, 转, 吹, 滑, 跳, 擦, 逃, 拉, 扔, 躲) gives up 28
43
+ * firings to catch 26, which would take the rule from 94% right to 96%. Those
44
+ * verbs take the marker too, and the corpus is thin on the sentences where they
45
+ * do. 我在这个泳池里游过泳 and 但我從没游過泳 are the whole of the measured
46
+ * cost, while 跑过马拉松 and 跳过舞 are absent from it and would break. The
47
+ * crossings the set catches are a gap in the dictionary rather than a fact
48
+ * about the grammar, since 走过, 穿过, 越过 and 度过 are keys tagged `v` and no
49
+ * bare 过 ever stands where they do.
50
+ *
51
+ * Taking a pair off the lattice moves a boundary as well as a reading, and it
52
+ * does so in 48 runs. 30 of those are corrections to both (你洗過車子了嗎 was
53
+ * `xǐ guòchē zǐ`, 我曾經想過當個護士嗎 was `xiǎng guòdàng`, 只是校服过时了 was
54
+ * `guò shí`). 4 are the cost. 懷有過高的期望 loses its 过高, and 有过来往,
55
+ * 沒再見過她 and 只見過他一次 keep their syllables and lose a word boundary to
56
+ * 过来, 再见 and 只见.
57
+ *
58
+ * The 439 bare 过 the condition declines hold a good deal of the marker, and
59
+ * one cause accounts for most of them. jieba's tags are keyed on 简体, so 聽
60
+ * and 讀 carry no tag at all and 說, 來, 問 and 學 come back `zg`. That gap is
61
+ * not this rule's to close.
62
+ */
63
+ export declare const EXPERIENTIAL_GUO: EdgeRule;
64
+ //# sourceMappingURL=guo-rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guo-rule.d.ts","sourceRoot":"","sources":["../../src/decode/guo-rule.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,QAAQ,EAGd,MAAM,YAAY,CAAC;AAoEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAa9B,CAAC"}
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Whether a 过 is the experiential aspect marker or a verb of its own.
3
+ *
4
+ * The marker is toneless and the verb is `guò`, and the word in front is the
5
+ * evidence, since only a verb takes aspect.
6
+ */
7
+ import { toCharacters } from "../script/characters.js";
8
+ import { tagOf, wordsEndingAt, } from "./rules.js";
9
+ /**
10
+ * The two characters the experiential marker is written with.
11
+ *
12
+ * 過 is the 繁體 form and carries the same three readings, so both have to be
13
+ * named. The 长 rule gives the reason at length.
14
+ */
15
+ const MARKER = new Set(["过", "過"]);
16
+ /**
17
+ * The tag prefix jieba gives a verb. Only a verb takes aspect.
18
+ *
19
+ * A prefix, so that `vn`, `vd` and `vi` are in. 检查过了 and 工作过 are the
20
+ * shape, and jieba tags 检查 `vn`.
21
+ */
22
+ const VERB_TAG = "v";
23
+ /**
24
+ * Whether a syllable is toneless `guo`, the reading the marker takes.
25
+ */
26
+ function isGuo(syllable) {
27
+ return (syllable?.initial === "g" && syllable.final === "uo" && syllable.tone === 5);
28
+ }
29
+ /**
30
+ * Whether a verb ends at a position.
31
+ *
32
+ * Every word ending there is asked, and not only the longest, for the reason
33
+ * {@link wordsEndingAt} gives. 前去 is a time word and hides the 去 inside it,
34
+ * so 我以前去过这家店 saw a `t` where the verb was, and 我去 is a pair the
35
+ * dictionary holds with no part of speech at all and hid the same 去 in 我去過
36
+ * 巴黎.
37
+ */
38
+ function isVerbEndingAt(context, at) {
39
+ return wordsEndingAt(context, at).some((word) => tagOf(context, word).startsWith(VERB_TAG));
40
+ }
41
+ /**
42
+ * Whether a pair the dictionary holds carries a fourth-tone 过 into a marker's
43
+ * position.
44
+ *
45
+ * Forcing the single-character edge settles nothing on its own, since a reading
46
+ * spanning two characters brings its own 过 with it. 我从没见过风车 read `guò`
47
+ * off 见过 and 你已經吃過飯了 off 吃過飯, and 期望过高, 说过话 and 洗过车 each
48
+ * reached the same reading from one side or the other.
49
+ *
50
+ * Only a pair is asked, and only one holding a syllable for each of its
51
+ * characters. A three-character key is a word in its own right and keeps its
52
+ * 过 (睡过头, 过马路, 反应过度), where a pair spanning the marker and its
53
+ * neighbour is a reading somebody recorded rather than a word anybody counted.
54
+ */
55
+ function carriesGuo(context, edge) {
56
+ if (edge.to - edge.from !== 2 || edge.reading.length !== 2) {
57
+ return false;
58
+ }
59
+ return toCharacters(edge.text).some((character, offset) => MARKER.has(character) &&
60
+ !isGuo(edge.reading[offset]) &&
61
+ isVerbEndingAt(context, edge.from + offset));
62
+ }
63
+ /**
64
+ * 过 read toneless where it marks experiential aspect.
65
+ *
66
+ * 他去过法国 came out `qùguò`, and 我吃过饭了, 你去过京都吗 and every 见过,
67
+ * 听说过 and 工作过 with them. The dictionary already holds the toneless
68
+ * reading as an alternate of `guò` and the lattice already offers the edge, and
69
+ * nothing new is asserted here. What was missing is a preference, since the
70
+ * cost model has no way to reach one alternate of a character over another at
71
+ * a position no word covers. {@link MODAL_DE} was written for the same
72
+ * position.
73
+ *
74
+ * The word in front decides it. Aspect attaches to a verb and to nothing else.
75
+ * A 过 with a verbal word ending immediately before it is the marker (去过,
76
+ * 吃过, 听说过, 告诉过, 工作过). The far side is silent, because an object, a
77
+ * 了, a 吗 and the end of the sentence all follow the marker as readily as they
78
+ * follow the verb 过. See {@link carriesGuo} for the pairs that carry a `guò`
79
+ * past a forced edge.
80
+ *
81
+ * Over 88,866 lines of Tatoeba and zh.wikipedia, 1,437 过 and 過 decode as a
82
+ * word of their own and every one of them reads `guò`. This moves 1,002 of
83
+ * them, and 29 more that no boundary had split out. Sized before it was
84
+ * written, the condition holds for 998 of the 1,437 and is right on 939. The
85
+ * 59 misses fall into five groups. 38 hand the 过 to a directional or
86
+ * resultative complement (他游过了河, 一隻老鼠跑過房間, 他们转过身, 我坐过站了,
87
+ * 回過神來). 14 are 过 as a verb behind a modal or an adverb (我們才能過比較好
88
+ * 的日子, 你要過聖誕節了嗎, 也许他不回去过春节). 4 are 过 meaning to exceed
89
+ * (期望过高 twice, 分享过多私人信息, 大象能活过一百岁). 2 belong to the word
90
+ * after (设置过马路警察, 提供过海巴士服务). One is the noun (忘功不忘過).
91
+ *
92
+ * 26 of the 998 keep their `guò` anyway, held by a word jieba counted and
93
+ * tagged. {@link TEACHING_JIAO} draws the same line. 打过 accounts for 12 of
94
+ * them, 过话 for 9 and 考过 for 2. All but 我坐过站了 were right already.
95
+ *
96
+ * The condition is deliberately no narrower, and four ways of tightening it
97
+ * were measured over the same lines. Excluding a modal in front gives up 32
98
+ * firings to catch 10 misses, 想过 being the marker in all 22 of its own.
99
+ * Excluding a single-character adjective after gives up 4 to catch 2, the
100
+ * others being 见过胖的纯素食者 and 见过新来的那货. Excluding a 了 after gives
101
+ * up 45 to catch 11, most of the 45 being 我吃过了 and 我说过了. The fourth
102
+ * pays and is rejected all the same. A written-out set of the verbs that take
103
+ * a crossing 过 (游, 跑, 跃, 转, 吹, 滑, 跳, 擦, 逃, 拉, 扔, 躲) gives up 28
104
+ * firings to catch 26, which would take the rule from 94% right to 96%. Those
105
+ * verbs take the marker too, and the corpus is thin on the sentences where they
106
+ * do. 我在这个泳池里游过泳 and 但我從没游過泳 are the whole of the measured
107
+ * cost, while 跑过马拉松 and 跳过舞 are absent from it and would break. The
108
+ * crossings the set catches are a gap in the dictionary rather than a fact
109
+ * about the grammar, since 走过, 穿过, 越过 and 度过 are keys tagged `v` and no
110
+ * bare 过 ever stands where they do.
111
+ *
112
+ * Taking a pair off the lattice moves a boundary as well as a reading, and it
113
+ * does so in 48 runs. 30 of those are corrections to both (你洗過車子了嗎 was
114
+ * `xǐ guòchē zǐ`, 我曾經想過當個護士嗎 was `xiǎng guòdàng`, 只是校服过时了 was
115
+ * `guò shí`). 4 are the cost. 懷有過高的期望 loses its 过高, and 有过来往,
116
+ * 沒再見過她 and 只見過他一次 keep their syllables and lose a word boundary to
117
+ * 过来, 再见 and 只见.
118
+ *
119
+ * The 439 bare 过 the condition declines hold a good deal of the marker, and
120
+ * one cause accounts for most of them. jieba's tags are keyed on 简体, so 聽
121
+ * and 讀 carry no tag at all and 說, 來, 問 and 學 come back `zg`. That gap is
122
+ * not this rule's to close.
123
+ */
124
+ export const EXPERIENTIAL_GUO = {
125
+ name: "experiential-guo",
126
+ verdictFor: (context) => {
127
+ const { edge } = context;
128
+ if (MARKER.has(edge.text)) {
129
+ return isGuo(edge.reading[0]) && isVerbEndingAt(context, edge.from)
130
+ ? "force"
131
+ : "keep";
132
+ }
133
+ return edge.partOfSpeech === "" && carriesGuo(context, edge)
134
+ ? "forbid"
135
+ : "keep";
136
+ },
137
+ };
138
+ //# sourceMappingURL=guo-rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guo-rule.js","sourceRoot":"","sources":["../../src/decode/guo-rule.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAGL,KAAK,EACL,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB;;;;;GAKG;AACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,GAAG,CAAC;AAErB;;GAEG;AACH,SAAS,KAAK,CAAC,QAA8B;IAC3C,OAAO,CACL,QAAQ,EAAE,OAAO,KAAK,GAAG,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,CAC5E,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,cAAc,CAAC,OAAoB,EAAE,EAAU;IACtD,OAAO,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9C,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAC1C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,UAAU,CAAC,OAAoB,EAAE,IAAyB;IACjE,IAAI,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CACjC,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CACpB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;QACrB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5B,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,CAC9C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAa;IACxC,IAAI,EAAE,kBAAkB;IACxB,UAAU,EAAE,CAAC,OAAoB,EAAE,EAAE;QACnC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QACzB,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;gBACjE,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,MAAM,CAAC;QACb,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,KAAK,EAAE,IAAI,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC;YAC1D,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,MAAM,CAAC;IACb,CAAC;CACF,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export { MODAL_DE, PARTICLE_DE, POTENTIAL_DE } from "./de-rule.js";
2
+ export { EXPERIENTIAL_GUO } from "./guo-rule.js";
2
3
  export { TEACHING_JIAO } from "./jiao-rule.js";
3
4
  import { type EdgeRule } from "./rules.js";
4
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"reading-rules.d.ts","sourceRoot":"","sources":["../../src/decode/reading-rules.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,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,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,QAAQ,EAS5C,CAAC"}
1
+ {"version":3,"file":"reading-rules.d.ts","sourceRoot":"","sources":["../../src/decode/reading-rules.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,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,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,QAAQ,EAU5C,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import { QUANTITY_CHARACTERS } from "../numerals/characters.js";
2
2
  import { MODAL_DE, PARTICLE_DE, POTENTIAL_DE } from "./de-rule.js";
3
+ import { EXPERIENTIAL_GUO } from "./guo-rule.js";
3
4
  import { TEACHING_JIAO } from "./jiao-rule.js";
4
5
  export { MODAL_DE, PARTICLE_DE, POTENTIAL_DE } from "./de-rule.js";
6
+ export { EXPERIENTIAL_GUO } from "./guo-rule.js";
5
7
  export { TEACHING_JIAO } from "./jiao-rule.js";
6
8
  import { toCharacters } from "../script/characters.js";
7
9
  import { tagOf, wordEndingAt, } from "./rules.js";
@@ -135,5 +137,6 @@ export const READING_RULES = [
135
137
  COUNTED_MEASURE,
136
138
  ADJECTIVAL_CHANG,
137
139
  PLAYING_TAN,
140
+ EXPERIENTIAL_GUO,
138
141
  ];
139
142
  //# sourceMappingURL=reading-rules.js.map
@@ -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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"}
@@ -8,7 +8,7 @@
8
8
  import { toCharacters } from "../script/characters.js";
9
9
  export { claimKeys } from "./artifact-claims.js";
10
10
  export { findRoundTripFailure, readArtifact, readingsByKey, } from "./artifact-read.js";
11
- import { FrequencyTable } from "./frequency-table.js";
11
+ import { countForQuantising, FrequencyTable } from "./frequency-table.js";
12
12
  import { KeyIndex } from "./key-index.js";
13
13
  import { claimKeys, orderedClaims } from "./artifact-claims.js";
14
14
  import { ALTERNATE, BOUNDARY_SEPARATOR, COLUMN, encodeReading, LINE, PROPER_NOUN_FLAG, } from "./artifact-format.js";
@@ -92,7 +92,7 @@ export function buildArtifact(entries) {
92
92
  .map((alternate) => encodeReading(alternate))
93
93
  .join(ALTERNATE),
94
94
  ]));
95
- frequencies.push(entry.frequency);
95
+ frequencies.push(countForQuantising(entry.frequency, entry.isProperNoun));
96
96
  }
97
97
  return {
98
98
  keys: index.serialise(),
@@ -1 +1 @@
1
- {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../src/dictionary/artifact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../src/dictionary/artifact.ts"],"names":[],"mappings":"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"}