@kensio/pinyinjs 1.7.4 → 1.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +128 -123
- package/data/full.entries +2595 -2595
- package/data/manifest.json +5 -5
- package/data/script.map +66 -3
- package/dist/accuracy/score-case.d.ts +23 -0
- package/dist/accuracy/score-case.d.ts.map +1 -0
- package/dist/accuracy/score-case.js +63 -0
- package/dist/accuracy/score-case.js.map +1 -0
- package/dist/accuracy/score.d.ts +1 -8
- package/dist/accuracy/score.d.ts.map +1 -1
- package/dist/accuracy/score.js +1 -55
- package/dist/accuracy/score.js.map +1 -1
- package/dist/cli/arguments.d.ts +4 -290
- package/dist/cli/arguments.d.ts.map +1 -1
- package/dist/cli/arguments.js +5 -357
- package/dist/cli/arguments.js.map +1 -1
- package/dist/cli/check-command.d.ts +9 -0
- package/dist/cli/check-command.d.ts.map +1 -0
- package/dist/cli/check-command.js +95 -0
- package/dist/cli/check-command.js.map +1 -0
- package/dist/cli/cli-input.d.ts +49 -0
- package/dist/cli/cli-input.d.ts.map +1 -0
- package/dist/cli/cli-input.js +31 -0
- package/dist/cli/cli-input.js.map +1 -0
- package/dist/cli/command.d.ts +97 -0
- package/dist/cli/command.d.ts.map +1 -0
- package/dist/cli/command.js +40 -0
- package/dist/cli/command.js.map +1 -0
- package/dist/cli/commands.d.ts +7 -110
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +14 -991
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/convert-command.d.ts +6 -0
- package/dist/cli/convert-command.d.ts.map +1 -0
- package/dist/cli/convert-command.js +52 -0
- package/dist/cli/convert-command.js.map +1 -0
- package/dist/cli/environment.d.ts +1 -1
- package/dist/cli/environment.d.ts.map +1 -1
- package/dist/cli/explain-command.d.ts +6 -0
- package/dist/cli/explain-command.d.ts.map +1 -0
- package/dist/cli/explain-command.js +40 -0
- package/dist/cli/explain-command.js.map +1 -0
- package/dist/cli/explain-syllable.d.ts +10 -0
- package/dist/cli/explain-syllable.d.ts.map +1 -0
- package/dist/cli/explain-syllable.js +70 -0
- package/dist/cli/explain-syllable.js.map +1 -0
- package/dist/cli/flag-help.d.ts +18 -0
- package/dist/cli/flag-help.d.ts.map +1 -0
- package/dist/cli/flag-help.js +78 -0
- package/dist/cli/flag-help.js.map +1 -0
- package/dist/cli/flag-lists.d.ts +49 -0
- package/dist/cli/flag-lists.d.ts.map +1 -0
- package/dist/cli/flag-lists.js +58 -0
- package/dist/cli/flag-lists.js.map +1 -0
- package/dist/cli/flag-values.d.ts +44 -0
- package/dist/cli/flag-values.d.ts.map +1 -0
- package/dist/cli/flag-values.js +56 -0
- package/dist/cli/flag-values.js.map +1 -0
- package/dist/cli/flags.d.ts +193 -0
- package/dist/cli/flags.d.ts.map +1 -0
- package/dist/cli/flags.js +133 -0
- package/dist/cli/flags.js.map +1 -0
- package/dist/cli/format-options.d.ts +29 -0
- package/dist/cli/format-options.d.ts.map +1 -0
- package/dist/cli/format-options.js +72 -0
- package/dist/cli/format-options.js.map +1 -0
- package/dist/cli/global-help.d.ts +23 -0
- package/dist/cli/global-help.d.ts.map +1 -0
- package/dist/cli/global-help.js +40 -0
- package/dist/cli/global-help.js.map +1 -0
- package/dist/cli/help.d.ts +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +5 -99
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/html-commands.d.ts +13 -0
- package/dist/cli/html-commands.d.ts.map +1 -0
- package/dist/cli/html-commands.js +49 -0
- package/dist/cli/html-commands.js.map +1 -0
- package/dist/cli/info-command.d.ts +7 -0
- package/dist/cli/info-command.d.ts.map +1 -0
- package/dist/cli/info-command.js +39 -0
- package/dist/cli/info-command.js.map +1 -0
- package/dist/cli/lookup-commands.d.ts +10 -0
- package/dist/cli/lookup-commands.d.ts.map +1 -0
- package/dist/cli/lookup-commands.js +101 -0
- package/dist/cli/lookup-commands.js.map +1 -0
- package/dist/cli/match-command.d.ts +11 -0
- package/dist/cli/match-command.d.ts.map +1 -0
- package/dist/cli/match-command.js +76 -0
- package/dist/cli/match-command.js.map +1 -0
- package/dist/cli/number-command.d.ts +12 -0
- package/dist/cli/number-command.d.ts.map +1 -0
- package/dist/cli/number-command.js +89 -0
- package/dist/cli/number-command.js.map +1 -0
- package/dist/cli/options.d.ts +30 -0
- package/dist/cli/options.d.ts.map +1 -0
- package/dist/cli/options.js +54 -0
- package/dist/cli/options.js.map +1 -0
- package/dist/cli/run-command.d.ts +24 -0
- package/dist/cli/run-command.d.ts.map +1 -0
- package/dist/cli/run-command.js +40 -0
- package/dist/cli/run-command.js.map +1 -0
- package/dist/cli/run.d.ts +4 -42
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +6 -61
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/script-command.d.ts +10 -0
- package/dist/cli/script-command.d.ts.map +1 -0
- package/dist/cli/script-command.js +58 -0
- package/dist/cli/script-command.js.map +1 -0
- package/dist/cli/segment-command.d.ts +11 -0
- package/dist/cli/segment-command.d.ts.map +1 -0
- package/dist/cli/segment-command.js +53 -0
- package/dist/cli/segment-command.js.map +1 -0
- package/dist/cli/slug-command.d.ts +10 -0
- package/dist/cli/slug-command.d.ts.map +1 -0
- package/dist/cli/slug-command.js +28 -0
- package/dist/cli/slug-command.js.map +1 -0
- package/dist/cli/syllable-command.d.ts +14 -0
- package/dist/cli/syllable-command.d.ts.map +1 -0
- package/dist/cli/syllable-command.js +82 -0
- package/dist/cli/syllable-command.js.map +1 -0
- package/dist/cli/system-table.d.ts +12 -0
- package/dist/cli/system-table.d.ts.map +1 -0
- package/dist/cli/system-table.js +48 -0
- package/dist/cli/system-table.js.map +1 -0
- package/dist/cli/systems.d.ts +57 -0
- package/dist/cli/systems.d.ts.map +1 -0
- package/dist/cli/systems.js +27 -0
- package/dist/cli/systems.js.map +1 -0
- package/dist/cli/transcribe-command.d.ts +18 -0
- package/dist/cli/transcribe-command.d.ts.map +1 -0
- package/dist/cli/transcribe-command.js +86 -0
- package/dist/cli/transcribe-command.js.map +1 -0
- package/dist/cli/transcribe-reading.d.ts +15 -0
- package/dist/cli/transcribe-reading.d.ts.map +1 -0
- package/dist/cli/transcribe-reading.js +90 -0
- package/dist/cli/transcribe-reading.js.map +1 -0
- package/dist/cli/transcribe-rows.d.ts +26 -0
- package/dist/cli/transcribe-rows.d.ts.map +1 -0
- package/dist/cli/transcribe-rows.js +30 -0
- package/dist/cli/transcribe-rows.js.map +1 -0
- package/dist/cli/usage-error.d.ts +9 -0
- package/dist/cli/usage-error.d.ts.map +1 -0
- package/dist/cli/usage-error.js +9 -0
- package/dist/cli/usage-error.js.map +1 -0
- package/dist/decode/alternatives.d.ts +16 -0
- package/dist/decode/alternatives.d.ts.map +1 -0
- package/dist/decode/alternatives.js +31 -0
- package/dist/decode/alternatives.js.map +1 -0
- package/dist/decode/chang-context.d.ts +27 -0
- package/dist/decode/chang-context.d.ts.map +1 -0
- package/dist/decode/chang-context.js +66 -0
- package/dist/decode/chang-context.js.map +1 -0
- package/dist/decode/chang-rule.d.ts +37 -0
- package/dist/decode/chang-rule.d.ts.map +1 -0
- package/dist/decode/chang-rule.js +169 -0
- package/dist/decode/chang-rule.js.map +1 -0
- package/dist/decode/confidence.d.ts +11 -3
- package/dist/decode/confidence.d.ts.map +1 -1
- package/dist/decode/confidence.js +14 -121
- package/dist/decode/confidence.js.map +1 -1
- package/dist/decode/convert-options.d.ts +116 -0
- package/dist/decode/convert-options.d.ts.map +1 -0
- package/dist/decode/convert-options.js +2 -0
- package/dist/decode/convert-options.js.map +1 -0
- package/dist/decode/convert-pipeline.d.ts +18 -0
- package/dist/decode/convert-pipeline.d.ts.map +1 -0
- package/dist/decode/convert-pipeline.js +67 -0
- package/dist/decode/convert-pipeline.js.map +1 -0
- package/dist/decode/convert.d.ts +9 -118
- package/dist/decode/convert.d.ts.map +1 -1
- package/dist/decode/convert.js +5 -453
- package/dist/decode/convert.js.map +1 -1
- package/dist/decode/de-rule.d.ts +54 -0
- package/dist/decode/de-rule.d.ts.map +1 -0
- package/dist/decode/de-rule.js +113 -0
- package/dist/decode/de-rule.js.map +1 -0
- package/dist/decode/decode.d.ts +2 -15
- package/dist/decode/decode.d.ts.map +1 -1
- package/dist/decode/decode.js +2 -121
- package/dist/decode/decode.js.map +1 -1
- package/dist/decode/decoders.d.ts +32 -0
- package/dist/decode/decoders.d.ts.map +1 -0
- package/dist/decode/decoders.js +29 -0
- package/dist/decode/decoders.js.map +1 -0
- package/dist/decode/edge-context.d.ts +38 -0
- package/dist/decode/edge-context.d.ts.map +1 -0
- package/dist/decode/edge-context.js +57 -0
- package/dist/decode/edge-context.js.map +1 -0
- package/dist/decode/hint-lattice.d.ts +45 -0
- package/dist/decode/hint-lattice.d.ts.map +1 -0
- package/dist/decode/hint-lattice.js +154 -0
- package/dist/decode/hint-lattice.js.map +1 -0
- package/dist/decode/hints.d.ts +2 -45
- package/dist/decode/hints.d.ts.map +1 -1
- package/dist/decode/hints.js +1 -139
- package/dist/decode/hints.js.map +1 -1
- package/dist/decode/jiao-rule.d.ts +64 -0
- package/dist/decode/jiao-rule.d.ts.map +1 -0
- package/dist/decode/jiao-rule.js +115 -0
- package/dist/decode/jiao-rule.js.map +1 -0
- package/dist/decode/lattice-costs.d.ts +55 -0
- package/dist/decode/lattice-costs.d.ts.map +1 -0
- package/dist/decode/lattice-costs.js +90 -0
- package/dist/decode/lattice-costs.js.map +1 -0
- package/dist/decode/lattice-edges.d.ts +29 -0
- package/dist/decode/lattice-edges.d.ts.map +1 -0
- package/dist/decode/lattice-edges.js +78 -0
- package/dist/decode/lattice-edges.js.map +1 -0
- package/dist/decode/lattice-slice.d.ts +37 -0
- package/dist/decode/lattice-slice.d.ts.map +1 -0
- package/dist/decode/lattice-slice.js +43 -0
- package/dist/decode/lattice-slice.js.map +1 -0
- package/dist/decode/lattice-types.d.ts +101 -0
- package/dist/decode/lattice-types.d.ts.map +1 -0
- package/dist/decode/lattice-types.js +63 -0
- package/dist/decode/lattice-types.js.map +1 -0
- package/dist/decode/lattice.d.ts +2 -59
- package/dist/decode/lattice.d.ts.map +1 -1
- package/dist/decode/lattice.js +2 -118
- package/dist/decode/lattice.js.map +1 -1
- package/dist/decode/number-pieces.d.ts +62 -0
- package/dist/decode/number-pieces.d.ts.map +1 -0
- package/dist/decode/number-pieces.js +106 -0
- package/dist/decode/number-pieces.js.map +1 -0
- package/dist/decode/numbers.d.ts +53 -0
- package/dist/decode/numbers.d.ts.map +1 -0
- package/dist/decode/numbers.js +69 -0
- package/dist/decode/numbers.js.map +1 -0
- package/dist/decode/pieces.d.ts +78 -0
- package/dist/decode/pieces.d.ts.map +1 -0
- package/dist/decode/pieces.js +136 -0
- package/dist/decode/pieces.js.map +1 -0
- package/dist/decode/polyphone-rules.d.ts +11 -0
- package/dist/decode/polyphone-rules.d.ts.map +1 -0
- package/dist/decode/polyphone-rules.js +11 -0
- package/dist/decode/polyphone-rules.js.map +1 -0
- package/dist/decode/reading-rules.d.ts +3 -126
- package/dist/decode/reading-rules.d.ts.map +1 -1
- package/dist/decode/reading-rules.js +8 -434
- package/dist/decode/reading-rules.js.map +1 -1
- package/dist/decode/rules.d.ts +1 -17
- package/dist/decode/rules.d.ts.map +1 -1
- package/dist/decode/rules.js +1 -43
- package/dist/decode/rules.js.map +1 -1
- package/dist/decode/run-lattice.d.ts +52 -0
- package/dist/decode/run-lattice.d.ts.map +1 -0
- package/dist/decode/run-lattice.js +91 -0
- package/dist/decode/run-lattice.js.map +1 -0
- package/dist/decode/run-words.d.ts +17 -0
- package/dist/decode/run-words.d.ts.map +1 -0
- package/dist/decode/run-words.js +29 -0
- package/dist/decode/run-words.js.map +1 -0
- package/dist/decode/sandhi-input.d.ts +30 -0
- package/dist/decode/sandhi-input.d.ts.map +1 -0
- package/dist/decode/sandhi-input.js +35 -0
- package/dist/decode/sandhi-input.js.map +1 -0
- package/dist/decode/sandhi-tones.d.ts +97 -0
- package/dist/decode/sandhi-tones.d.ts.map +1 -0
- package/dist/decode/sandhi-tones.js +139 -0
- package/dist/decode/sandhi-tones.js.map +1 -0
- package/dist/decode/sandhi.d.ts +10 -7
- package/dist/decode/sandhi.d.ts.map +1 -1
- package/dist/decode/sandhi.js +11 -88
- package/dist/decode/sandhi.js.map +1 -1
- package/dist/decode/script-types.d.ts +76 -0
- package/dist/decode/script-types.d.ts.map +1 -0
- package/dist/decode/script-types.js +35 -0
- package/dist/decode/script-types.js.map +1 -0
- package/dist/decode/script-words.d.ts +32 -0
- package/dist/decode/script-words.d.ts.map +1 -0
- package/dist/decode/script-words.js +77 -0
- package/dist/decode/script-words.js.map +1 -0
- package/dist/decode/script.d.ts +3 -73
- package/dist/decode/script.d.ts.map +1 -1
- package/dist/decode/script.js +3 -109
- package/dist/decode/script.js.map +1 -1
- package/dist/decode/tan-rule.d.ts +68 -0
- package/dist/decode/tan-rule.d.ts.map +1 -0
- package/dist/decode/tan-rule.js +131 -0
- package/dist/decode/tan-rule.js.map +1 -0
- package/dist/decode/write-run.d.ts +21 -0
- package/dist/decode/write-run.d.ts.map +1 -0
- package/dist/decode/write-run.js +42 -0
- package/dist/decode/write-run.js.map +1 -0
- package/dist/dictionary/artifact-claims.d.ts +25 -0
- package/dist/dictionary/artifact-claims.d.ts.map +1 -0
- package/dist/dictionary/artifact-claims.js +47 -0
- package/dist/dictionary/artifact-claims.js.map +1 -0
- package/dist/dictionary/artifact-format.d.ts +86 -0
- package/dist/dictionary/artifact-format.d.ts.map +1 -0
- package/dist/dictionary/artifact-format.js +91 -0
- package/dist/dictionary/artifact-format.js.map +1 -0
- package/dist/dictionary/artifact-read.d.ts +34 -0
- package/dist/dictionary/artifact-read.d.ts.map +1 -0
- package/dist/dictionary/artifact-read.js +114 -0
- package/dist/dictionary/artifact-read.js.map +1 -0
- package/dist/dictionary/artifact.d.ts +4 -63
- package/dist/dictionary/artifact.d.ts.map +1 -1
- package/dist/dictionary/artifact.js +12 -229
- package/dist/dictionary/artifact.js.map +1 -1
- package/dist/dictionary/assertions.d.ts +5 -57
- package/dist/dictionary/assertions.d.ts.map +1 -1
- package/dist/dictionary/assertions.js +4 -317
- package/dist/dictionary/assertions.js.map +1 -1
- package/dist/dictionary/build-assertions.d.ts +12 -0
- package/dist/dictionary/build-assertions.d.ts.map +1 -0
- package/dist/dictionary/build-assertions.js +13 -0
- package/dist/dictionary/build-assertions.js.map +1 -0
- package/dist/dictionary/built-dictionary.d.ts +46 -0
- package/dist/dictionary/built-dictionary.d.ts.map +1 -0
- package/dist/dictionary/built-dictionary.js +97 -0
- package/dist/dictionary/built-dictionary.js.map +1 -0
- package/dist/dictionary/cedict-senses.d.ts +87 -0
- package/dist/dictionary/cedict-senses.d.ts.map +1 -0
- package/dist/dictionary/cedict-senses.js +126 -0
- package/dist/dictionary/cedict-senses.js.map +1 -0
- package/dist/dictionary/character-defaults.d.ts +26 -0
- package/dist/dictionary/character-defaults.d.ts.map +1 -0
- package/dist/dictionary/character-defaults.js +67 -0
- package/dist/dictionary/character-defaults.js.map +1 -0
- package/dist/dictionary/character-readings.d.ts +10 -0
- package/dist/dictionary/character-readings.d.ts.map +1 -0
- package/dist/dictionary/character-readings.js +25 -0
- package/dist/dictionary/character-readings.js.map +1 -0
- package/dist/dictionary/constituent-repair.d.ts +36 -0
- package/dist/dictionary/constituent-repair.d.ts.map +1 -0
- package/dist/dictionary/constituent-repair.js +117 -0
- package/dist/dictionary/constituent-repair.js.map +1 -0
- package/dist/dictionary/dictionary-entry.d.ts +37 -0
- package/dist/dictionary/dictionary-entry.d.ts.map +1 -0
- package/dist/dictionary/dictionary-entry.js +41 -0
- package/dist/dictionary/dictionary-entry.js.map +1 -0
- package/dist/dictionary/dictionary-readings.d.ts +56 -0
- package/dist/dictionary/dictionary-readings.d.ts.map +1 -0
- package/dist/dictionary/dictionary-readings.js +93 -0
- package/dist/dictionary/dictionary-readings.js.map +1 -0
- package/dist/dictionary/dictionary.d.ts +6 -60
- package/dist/dictionary/dictionary.d.ts.map +1 -1
- package/dist/dictionary/dictionary.js +9 -169
- package/dist/dictionary/dictionary.js.map +1 -1
- package/dist/dictionary/entry-invariants.d.ts +3 -0
- package/dist/dictionary/entry-invariants.d.ts.map +1 -0
- package/dist/dictionary/entry-invariants.js +67 -0
- package/dist/dictionary/entry-invariants.js.map +1 -0
- package/dist/dictionary/entry-lines.d.ts +35 -0
- package/dist/dictionary/entry-lines.d.ts.map +1 -0
- package/dist/dictionary/entry-lines.js +70 -0
- package/dist/dictionary/entry-lines.js.map +1 -0
- package/dist/dictionary/erhua-repair.d.ts +26 -0
- package/dist/dictionary/erhua-repair.d.ts.map +1 -0
- package/dist/dictionary/erhua-repair.js +49 -0
- package/dist/dictionary/erhua-repair.js.map +1 -0
- package/dist/dictionary/frequency-tones.d.ts +74 -0
- package/dist/dictionary/frequency-tones.d.ts.map +1 -0
- package/dist/dictionary/frequency-tones.js +128 -0
- package/dist/dictionary/frequency-tones.js.map +1 -0
- package/dist/dictionary/inventory-invariants.d.ts +3 -0
- package/dist/dictionary/inventory-invariants.d.ts.map +1 -0
- package/dist/dictionary/inventory-invariants.js +54 -0
- package/dist/dictionary/inventory-invariants.js.map +1 -0
- package/dist/dictionary/locale-candidates.d.ts +40 -0
- package/dist/dictionary/locale-candidates.d.ts.map +1 -0
- package/dist/dictionary/locale-candidates.js +77 -0
- package/dist/dictionary/locale-candidates.js.map +1 -0
- package/dist/dictionary/locale-segments.d.ts +47 -0
- package/dist/dictionary/locale-segments.d.ts.map +1 -0
- package/dist/dictionary/locale-segments.js +141 -0
- package/dist/dictionary/locale-segments.js.map +1 -0
- package/dist/dictionary/locale.d.ts +1 -21
- package/dist/dictionary/locale.d.ts.map +1 -1
- package/dist/dictionary/locale.js +9 -198
- package/dist/dictionary/locale.js.map +1 -1
- package/dist/dictionary/merge-types.d.ts +127 -0
- package/dist/dictionary/merge-types.d.ts.map +1 -0
- package/dist/dictionary/merge-types.js +35 -0
- package/dist/dictionary/merge-types.js.map +1 -0
- package/dist/dictionary/merge-walk.d.ts +27 -0
- package/dist/dictionary/merge-walk.d.ts.map +1 -0
- package/dist/dictionary/merge-walk.js +49 -0
- package/dist/dictionary/merge-walk.js.map +1 -0
- package/dist/dictionary/merge-word.d.ts +7 -0
- package/dist/dictionary/merge-word.d.ts.map +1 -0
- package/dist/dictionary/merge-word.js +91 -0
- package/dist/dictionary/merge-word.js.map +1 -0
- package/dist/dictionary/merge.d.ts +5 -62
- package/dist/dictionary/merge.d.ts.map +1 -1
- package/dist/dictionary/merge.js +32 -725
- package/dist/dictionary/merge.js.map +1 -1
- package/dist/dictionary/proper-noun.d.ts +28 -0
- package/dist/dictionary/proper-noun.d.ts.map +1 -0
- package/dist/dictionary/proper-noun.js +43 -0
- package/dist/dictionary/proper-noun.js.map +1 -0
- package/dist/dictionary/reading-agreement.d.ts +71 -0
- package/dist/dictionary/reading-agreement.d.ts.map +1 -0
- package/dist/dictionary/reading-agreement.js +156 -0
- package/dist/dictionary/reading-agreement.js.map +1 -0
- package/dist/dictionary/script-conversion.d.ts +28 -0
- package/dist/dictionary/script-conversion.d.ts.map +1 -0
- package/dist/dictionary/script-conversion.js +58 -0
- package/dist/dictionary/script-conversion.js.map +1 -0
- package/dist/dictionary/script-pairings.d.ts +74 -0
- package/dist/dictionary/script-pairings.d.ts.map +1 -0
- package/dist/dictionary/script-pairings.js +120 -0
- package/dist/dictionary/script-pairings.js.map +1 -0
- package/dist/dictionary/script-tables.d.ts.map +1 -1
- package/dist/dictionary/script-tables.js +2 -165
- package/dist/dictionary/script-tables.js.map +1 -1
- package/dist/dictionary/taiwan-reading.d.ts +8 -0
- package/dist/dictionary/taiwan-reading.d.ts.map +1 -0
- package/dist/dictionary/taiwan-reading.js +38 -0
- package/dist/dictionary/taiwan-reading.js.map +1 -0
- package/dist/dictionary/tone-invariants.d.ts +3 -0
- package/dist/dictionary/tone-invariants.d.ts.map +1 -0
- package/dist/dictionary/tone-invariants.js +64 -0
- package/dist/dictionary/tone-invariants.js.map +1 -0
- package/dist/dictionary/traditional-form.d.ts +21 -0
- package/dist/dictionary/traditional-form.d.ts.map +1 -0
- package/dist/dictionary/traditional-form.js +59 -0
- package/dist/dictionary/traditional-form.js.map +1 -0
- package/dist/dictionary/traditional-ranking.d.ts +22 -0
- package/dist/dictionary/traditional-ranking.d.ts.map +1 -0
- package/dist/dictionary/traditional-ranking.js +74 -0
- package/dist/dictionary/traditional-ranking.js.map +1 -0
- package/dist/dictionary/traditional-table.d.ts +51 -0
- package/dist/dictionary/traditional-table.d.ts.map +1 -0
- package/dist/dictionary/traditional-table.js +98 -0
- package/dist/dictionary/traditional-table.js.map +1 -0
- package/dist/dictionary/traditional.d.ts +3 -56
- package/dist/dictionary/traditional.d.ts.map +1 -1
- package/dist/dictionary/traditional.js +3 -186
- package/dist/dictionary/traditional.js.map +1 -1
- package/dist/dictionary/variant-counts.d.ts +39 -0
- package/dist/dictionary/variant-counts.d.ts.map +1 -0
- package/dist/dictionary/variant-counts.js +38 -0
- package/dist/dictionary/variant-counts.js.map +1 -0
- package/dist/dictionary/word-reading.d.ts +26 -0
- package/dist/dictionary/word-reading.d.ts.map +1 -0
- package/dist/dictionary/word-reading.js +76 -0
- package/dist/dictionary/word-reading.js.map +1 -0
- package/dist/dictionary/word-readings.d.ts +15 -0
- package/dist/dictionary/word-readings.d.ts.map +1 -0
- package/dist/dictionary/word-readings.js +41 -0
- package/dist/dictionary/word-readings.js.map +1 -0
- package/dist/format/annotate.d.ts +90 -0
- package/dist/format/annotate.d.ts.map +1 -0
- package/dist/format/annotate.js +168 -0
- package/dist/format/annotate.js.map +1 -0
- package/dist/format/html.d.ts +15 -46
- package/dist/format/html.d.ts.map +1 -1
- package/dist/format/html.js +3 -162
- package/dist/format/html.js.map +1 -1
- package/dist/format/slug-hash.d.ts +51 -0
- package/dist/format/slug-hash.d.ts.map +1 -0
- package/dist/format/slug-hash.js +74 -0
- package/dist/format/slug-hash.js.map +1 -0
- package/dist/format/slug-options.d.ts +98 -0
- package/dist/format/slug-options.d.ts.map +1 -0
- package/dist/format/slug-options.js +2 -0
- package/dist/format/slug-options.js.map +1 -0
- package/dist/format/slug-words.d.ts +27 -0
- package/dist/format/slug-words.d.ts.map +1 -0
- package/dist/format/slug-words.js +0 -0
- package/dist/format/slug-words.js.map +1 -0
- package/dist/format/slug.d.ts +3 -128
- package/dist/format/slug.d.ts.map +1 -1
- package/dist/format/slug.js +0 -0
- package/dist/format/slug.js.map +1 -1
- package/dist/grade/check-readings.d.ts +41 -0
- package/dist/grade/check-readings.d.ts.map +1 -0
- package/dist/grade/check-readings.js +36 -0
- package/dist/grade/check-readings.js.map +1 -0
- package/dist/grade/check.d.ts +4 -4
- package/dist/grade/check.d.ts.map +1 -1
- package/dist/grade/check.js +5 -270
- package/dist/grade/check.js.map +1 -1
- package/dist/grade/pair-syllables.d.ts +48 -0
- package/dist/grade/pair-syllables.d.ts.map +1 -0
- package/dist/grade/pair-syllables.js +71 -0
- package/dist/grade/pair-syllables.js.map +1 -0
- package/dist/grade/reading-syllables.d.ts +62 -0
- package/dist/grade/reading-syllables.d.ts.map +1 -0
- package/dist/grade/reading-syllables.js +58 -0
- package/dist/grade/reading-syllables.js.map +1 -0
- package/dist/grade/reading-tolerance.d.ts +72 -0
- package/dist/grade/reading-tolerance.d.ts.map +1 -0
- package/dist/grade/reading-tolerance.js +107 -0
- package/dist/grade/reading-tolerance.js.map +1 -0
- package/dist/grade/typed-reading.d.ts +28 -0
- package/dist/grade/typed-reading.d.ts.map +1 -0
- package/dist/grade/typed-reading.js +36 -0
- package/dist/grade/typed-reading.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/numerals/numeral-parse.d.ts +32 -0
- package/dist/numerals/numeral-parse.d.ts.map +1 -0
- package/dist/numerals/numeral-parse.js +44 -0
- package/dist/numerals/numeral-parse.js.map +1 -0
- package/dist/numerals/numeral-shapes.d.ts +89 -0
- package/dist/numerals/numeral-shapes.d.ts.map +1 -0
- package/dist/numerals/numeral-shapes.js +99 -0
- package/dist/numerals/numeral-shapes.js.map +1 -0
- package/dist/numerals/numerals.d.ts.map +1 -1
- package/dist/numerals/numerals.js +2 -36
- package/dist/numerals/numerals.js.map +1 -1
- package/dist/numerals/read-numeral.d.ts +76 -0
- package/dist/numerals/read-numeral.d.ts.map +1 -0
- package/dist/numerals/read-numeral.js +88 -0
- package/dist/numerals/read-numeral.js.map +1 -0
- package/dist/numerals/text.d.ts +3 -37
- package/dist/numerals/text.d.ts.map +1 -1
- package/dist/numerals/text.js +3 -254
- package/dist/numerals/text.js.map +1 -1
- package/dist/numerals/time.d.ts +34 -0
- package/dist/numerals/time.d.ts.map +1 -0
- package/dist/numerals/time.js +93 -0
- package/dist/numerals/time.js.map +1 -0
- package/dist/orthography/address-grouping.d.ts +34 -0
- package/dist/orthography/address-grouping.d.ts.map +1 -0
- package/dist/orthography/address-grouping.js +52 -0
- package/dist/orthography/address-grouping.js.map +1 -0
- package/dist/orthography/grouping.d.ts +3 -87
- package/dist/orthography/grouping.d.ts.map +1 -1
- package/dist/orthography/grouping.js +4 -270
- package/dist/orthography/grouping.js.map +1 -1
- package/dist/orthography/place-grouping.d.ts +39 -0
- package/dist/orthography/place-grouping.d.ts.map +1 -0
- package/dist/orthography/place-grouping.js +83 -0
- package/dist/orthography/place-grouping.js.map +1 -0
- package/dist/orthography/word-grouping.d.ts +48 -0
- package/dist/orthography/word-grouping.d.ts.map +1 -0
- package/dist/orthography/word-grouping.js +147 -0
- package/dist/orthography/word-grouping.js.map +1 -0
- package/dist/script/conversion-format.d.ts +22 -0
- package/dist/script/conversion-format.d.ts.map +1 -0
- package/dist/script/conversion-format.js +22 -0
- package/dist/script/conversion-format.js.map +1 -0
- package/dist/script/conversion-read.d.ts +9 -0
- package/dist/script/conversion-read.d.ts.map +1 -0
- package/dist/script/conversion-read.js +69 -0
- package/dist/script/conversion-read.js.map +1 -0
- package/dist/script/conversion-write.d.ts +14 -0
- package/dist/script/conversion-write.d.ts.map +1 -0
- package/dist/script/conversion-write.js +34 -0
- package/dist/script/conversion-write.js.map +1 -0
- package/dist/script/conversion.d.ts +10 -16
- package/dist/script/conversion.d.ts.map +1 -1
- package/dist/script/conversion.js +2 -115
- package/dist/script/conversion.js.map +1 -1
- package/dist/search/candidate-narrowing.d.ts +56 -0
- package/dist/search/candidate-narrowing.d.ts.map +1 -0
- package/dist/search/candidate-narrowing.js +55 -0
- package/dist/search/candidate-narrowing.js.map +1 -0
- package/dist/search/candidate-query.d.ts +25 -0
- package/dist/search/candidate-query.d.ts.map +1 -0
- package/dist/search/candidate-query.js +28 -0
- package/dist/search/candidate-query.js.map +1 -0
- package/dist/search/candidate-writings.d.ts +24 -0
- package/dist/search/candidate-writings.d.ts.map +1 -0
- package/dist/search/candidate-writings.js +114 -0
- package/dist/search/candidate-writings.js.map +1 -0
- package/dist/search/candidates.d.ts +7 -41
- package/dist/search/candidates.d.ts.map +1 -1
- package/dist/search/candidates.js +10 -164
- package/dist/search/candidates.js.map +1 -1
- package/dist/search/match-chunks.d.ts +19 -0
- package/dist/search/match-chunks.d.ts.map +1 -0
- package/dist/search/match-chunks.js +30 -0
- package/dist/search/match-chunks.js.map +1 -0
- package/dist/search/match-ranking.d.ts +39 -0
- package/dist/search/match-ranking.d.ts.map +1 -0
- package/dist/search/match-ranking.js +51 -0
- package/dist/search/match-ranking.js.map +1 -0
- package/dist/search/match-readings.d.ts +43 -0
- package/dist/search/match-readings.d.ts.map +1 -0
- package/dist/search/match-readings.js +83 -0
- package/dist/search/match-readings.js.map +1 -0
- package/dist/search/match-scoring.d.ts +146 -0
- package/dist/search/match-scoring.d.ts.map +1 -0
- package/dist/search/match-scoring.js +114 -0
- package/dist/search/match-scoring.js.map +1 -0
- package/dist/search/match-search.d.ts +28 -0
- package/dist/search/match-search.d.ts.map +1 -0
- package/dist/search/match-search.js +128 -0
- package/dist/search/match-search.js.map +1 -0
- package/dist/search/match.d.ts +5 -36
- package/dist/search/match.d.ts.map +1 -1
- package/dist/search/match.js +2 -379
- package/dist/search/match.js.map +1 -1
- package/dist/search/reverse-index-build.d.ts +30 -0
- package/dist/search/reverse-index-build.d.ts.map +1 -0
- package/dist/search/reverse-index-build.js +72 -0
- package/dist/search/reverse-index-build.js.map +1 -0
- package/dist/search/reverse-index-format.d.ts +60 -0
- package/dist/search/reverse-index-format.d.ts.map +1 -0
- package/dist/search/reverse-index-format.js +54 -0
- package/dist/search/reverse-index-format.js.map +1 -0
- package/dist/search/reverse-index-groups.d.ts +37 -0
- package/dist/search/reverse-index-groups.d.ts.map +1 -0
- package/dist/search/reverse-index-groups.js +71 -0
- package/dist/search/reverse-index-groups.js.map +1 -0
- package/dist/search/reverse-index-passes.d.ts +78 -0
- package/dist/search/reverse-index-passes.d.ts.map +1 -0
- package/dist/search/reverse-index-passes.js +59 -0
- package/dist/search/reverse-index-passes.js.map +1 -0
- package/dist/search/reverse-index-state.d.ts +36 -0
- package/dist/search/reverse-index-state.d.ts.map +1 -0
- package/dist/search/reverse-index-state.js +95 -0
- package/dist/search/reverse-index-state.js.map +1 -0
- package/dist/search/reverse-index.d.ts +8 -67
- package/dist/search/reverse-index.d.ts.map +1 -1
- package/dist/search/reverse-index.js +4 -255
- package/dist/search/reverse-index.js.map +1 -1
- package/dist/sources/unihan-readings.d.ts +58 -0
- package/dist/sources/unihan-readings.d.ts.map +1 -0
- package/dist/sources/unihan-readings.js +95 -0
- package/dist/sources/unihan-readings.js.map +1 -0
- package/dist/sources/unihan.d.ts +6 -9
- package/dist/sources/unihan.d.ts.map +1 -1
- package/dist/sources/unihan.js +2 -85
- package/dist/sources/unihan.js.map +1 -1
- package/dist/syllable/final-tables.d.ts +23 -0
- package/dist/syllable/final-tables.d.ts.map +1 -0
- package/dist/syllable/final-tables.js +50 -0
- package/dist/syllable/final-tables.js.map +1 -0
- package/dist/syllable/inventory.d.ts +8 -42
- package/dist/syllable/inventory.d.ts.map +1 -1
- package/dist/syllable/inventory.js +9 -918
- package/dist/syllable/inventory.js.map +1 -1
- package/dist/syllable/spellings.d.ts +40 -0
- package/dist/syllable/spellings.d.ts.map +1 -0
- package/dist/syllable/spellings.js +469 -0
- package/dist/syllable/spellings.js.map +1 -0
- package/dist/syllable/syllable-parts.d.ts +31 -0
- package/dist/syllable/syllable-parts.d.ts.map +1 -0
- package/dist/syllable/syllable-parts.js +105 -0
- package/dist/syllable/syllable-parts.js.map +1 -0
- package/dist/syllable/syllable.d.ts +1 -14
- package/dist/syllable/syllable.d.ts.map +1 -1
- package/dist/syllable/syllable.js +3 -144
- package/dist/syllable/syllable.js.map +1 -1
- package/dist/syllable/written-tones.d.ts +6 -0
- package/dist/syllable/written-tones.d.ts.map +1 -0
- package/dist/syllable/written-tones.js +453 -0
- package/dist/syllable/written-tones.js.map +1 -0
- package/dist/transcription/bopomofo-parse.d.ts +42 -0
- package/dist/transcription/bopomofo-parse.d.ts.map +1 -0
- package/dist/transcription/bopomofo-parse.js +92 -0
- package/dist/transcription/bopomofo-parse.js.map +1 -0
- package/dist/transcription/bopomofo-reverse.d.ts +31 -0
- package/dist/transcription/bopomofo-reverse.d.ts.map +1 -0
- package/dist/transcription/bopomofo-reverse.js +48 -0
- package/dist/transcription/bopomofo-reverse.js.map +1 -0
- package/dist/transcription/bopomofo-symbols.d.ts +36 -0
- package/dist/transcription/bopomofo-symbols.d.ts.map +1 -0
- package/dist/transcription/bopomofo-symbols.js +41 -0
- package/dist/transcription/bopomofo-symbols.js.map +1 -0
- package/dist/transcription/bopomofo-tables.d.ts +87 -0
- package/dist/transcription/bopomofo-tables.d.ts.map +1 -0
- package/dist/transcription/bopomofo-tables.js +180 -0
- package/dist/transcription/bopomofo-tables.js.map +1 -0
- package/dist/transcription/bopomofo.d.ts +14 -32
- package/dist/transcription/bopomofo.d.ts.map +1 -1
- package/dist/transcription/bopomofo.js +5 -343
- package/dist/transcription/bopomofo.js.map +1 -1
- package/dist/transcription/gwoyeu-first-second.d.ts +36 -0
- package/dist/transcription/gwoyeu-first-second.d.ts.map +1 -0
- package/dist/transcription/gwoyeu-first-second.js +75 -0
- package/dist/transcription/gwoyeu-first-second.js.map +1 -0
- package/dist/transcription/gwoyeu-spelling.d.ts +38 -0
- package/dist/transcription/gwoyeu-spelling.d.ts.map +1 -0
- package/dist/transcription/gwoyeu-spelling.js +124 -0
- package/dist/transcription/gwoyeu-spelling.js.map +1 -0
- package/dist/transcription/gwoyeu-tables.d.ts +93 -0
- package/dist/transcription/gwoyeu-tables.d.ts.map +1 -0
- package/dist/transcription/gwoyeu-tables.js +205 -0
- package/dist/transcription/gwoyeu-tables.js.map +1 -0
- package/dist/transcription/gwoyeu-tonal-forms.d.ts +49 -0
- package/dist/transcription/gwoyeu-tonal-forms.d.ts.map +1 -0
- package/dist/transcription/gwoyeu-tonal-forms.js +89 -0
- package/dist/transcription/gwoyeu-tonal-forms.js.map +1 -0
- package/dist/transcription/gwoyeu-vowels.d.ts +51 -0
- package/dist/transcription/gwoyeu-vowels.d.ts.map +1 -0
- package/dist/transcription/gwoyeu-vowels.js +58 -0
- package/dist/transcription/gwoyeu-vowels.js.map +1 -0
- package/dist/transcription/gwoyeu.d.ts +1 -26
- package/dist/transcription/gwoyeu.d.ts.map +1 -1
- package/dist/transcription/gwoyeu.js +2 -540
- package/dist/transcription/gwoyeu.js.map +1 -1
- package/dist/transcription/ipa-symbols.d.ts +67 -0
- package/dist/transcription/ipa-symbols.d.ts.map +1 -0
- package/dist/transcription/ipa-symbols.js +135 -0
- package/dist/transcription/ipa-symbols.js.map +1 -0
- package/dist/transcription/ipa.d.ts +2 -10
- package/dist/transcription/ipa.d.ts.map +1 -1
- package/dist/transcription/ipa.js +2 -134
- package/dist/transcription/ipa.js.map +1 -1
- package/dist/transcription/wade-giles-index.d.ts +35 -0
- package/dist/transcription/wade-giles-index.d.ts.map +1 -0
- package/dist/transcription/wade-giles-index.js +110 -0
- package/dist/transcription/wade-giles-index.js.map +1 -0
- package/dist/transcription/wade-giles-parse.d.ts +36 -0
- package/dist/transcription/wade-giles-parse.d.ts.map +1 -0
- package/dist/transcription/wade-giles-parse.js +84 -0
- package/dist/transcription/wade-giles-parse.js.map +1 -0
- package/dist/transcription/wade-giles-spelling.d.ts +61 -0
- package/dist/transcription/wade-giles-spelling.d.ts.map +1 -0
- package/dist/transcription/wade-giles-spelling.js +107 -0
- package/dist/transcription/wade-giles-spelling.js.map +1 -0
- package/dist/transcription/wade-giles-syllable.d.ts +29 -0
- package/dist/transcription/wade-giles-syllable.d.ts.map +1 -0
- package/dist/transcription/wade-giles-syllable.js +90 -0
- package/dist/transcription/wade-giles-syllable.js.map +1 -0
- package/dist/transcription/wade-giles-tables.d.ts +80 -0
- package/dist/transcription/wade-giles-tables.d.ts.map +1 -0
- package/dist/transcription/wade-giles-tables.js +178 -0
- package/dist/transcription/wade-giles-tables.js.map +1 -0
- package/dist/transcription/wade-giles.d.ts +9 -60
- package/dist/transcription/wade-giles.d.ts.map +1 -1
- package/dist/transcription/wade-giles.js +6 -543
- package/dist/transcription/wade-giles.js.map +1 -1
- package/dist/transcription/yale-tables.d.ts +54 -0
- package/dist/transcription/yale-tables.d.ts.map +1 -0
- package/dist/transcription/yale-tables.js +125 -0
- package/dist/transcription/yale-tables.js.map +1 -0
- package/dist/transcription/yale.d.ts.map +1 -1
- package/dist/transcription/yale.js +1 -124
- package/dist/transcription/yale.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { NEUTRAL_TONE } from "../tone/tone.js";
|
|
2
|
+
/**
|
|
3
|
+
* The symbol each initial is transcribed with.
|
|
4
|
+
*
|
|
5
|
+
* The aspiration series is where pinyin's letters mislead most: pinyin b is
|
|
6
|
+
* [p], and pinyin p is [pʰ]. Nothing in Mandarin is voiced here, which is what
|
|
7
|
+
* both Wade-Giles and Yale are working around in their own directions.
|
|
8
|
+
*/
|
|
9
|
+
export const INITIAL_SYMBOLS = new Map([
|
|
10
|
+
["b", "p"],
|
|
11
|
+
["p", "pʰ"],
|
|
12
|
+
["m", "m"],
|
|
13
|
+
["f", "f"],
|
|
14
|
+
["d", "t"],
|
|
15
|
+
["t", "tʰ"],
|
|
16
|
+
["n", "n"],
|
|
17
|
+
["l", "l"],
|
|
18
|
+
["g", "k"],
|
|
19
|
+
["k", "kʰ"],
|
|
20
|
+
["h", "x"],
|
|
21
|
+
["j", "tɕ"],
|
|
22
|
+
["q", "tɕʰ"],
|
|
23
|
+
["x", "ɕ"],
|
|
24
|
+
["zh", "ʈʂ"],
|
|
25
|
+
["ch", "ʈʂʰ"],
|
|
26
|
+
["sh", "ʂ"],
|
|
27
|
+
["r", "ʐ"],
|
|
28
|
+
["z", "ts"],
|
|
29
|
+
["c", "tsʰ"],
|
|
30
|
+
["s", "s"],
|
|
31
|
+
]);
|
|
32
|
+
/**
|
|
33
|
+
* The symbols each final is transcribed with.
|
|
34
|
+
*
|
|
35
|
+
* The vowels are where the transcription and the spelling part company: pinyin
|
|
36
|
+
* writes one e for [ɤ], [ə] and [ɛ], and one i for [i] and [ɨ], because a
|
|
37
|
+
* spelling can let the context do the work and a transcription cannot. 天 tiān
|
|
38
|
+
* is [tʰiɛn] and 恩 ēn is [ən].
|
|
39
|
+
*/
|
|
40
|
+
export const FINAL_SYMBOLS = {
|
|
41
|
+
a: "a",
|
|
42
|
+
o: "ɔ",
|
|
43
|
+
e: "ɤ",
|
|
44
|
+
ê: "ɛ",
|
|
45
|
+
er: "aɚ",
|
|
46
|
+
ai: "ai",
|
|
47
|
+
ei: "ei",
|
|
48
|
+
ao: "au",
|
|
49
|
+
ou: "ou",
|
|
50
|
+
an: "an",
|
|
51
|
+
en: "ən",
|
|
52
|
+
ang: "aŋ",
|
|
53
|
+
eng: "əŋ",
|
|
54
|
+
ong: "ʊŋ",
|
|
55
|
+
i: "i",
|
|
56
|
+
ia: "ia",
|
|
57
|
+
io: "iɔ",
|
|
58
|
+
ie: "ie",
|
|
59
|
+
iao: "iau",
|
|
60
|
+
iou: "iou",
|
|
61
|
+
ian: "iɛn",
|
|
62
|
+
in: "in",
|
|
63
|
+
iang: "iaŋ",
|
|
64
|
+
ing: "iŋ",
|
|
65
|
+
iong: "iʊŋ",
|
|
66
|
+
u: "u",
|
|
67
|
+
ua: "ua",
|
|
68
|
+
uo: "uo",
|
|
69
|
+
uai: "uai",
|
|
70
|
+
uei: "uei",
|
|
71
|
+
uan: "uan",
|
|
72
|
+
uen: "uən",
|
|
73
|
+
uang: "uaŋ",
|
|
74
|
+
ueng: "uəŋ",
|
|
75
|
+
ü: "y",
|
|
76
|
+
üe: "ye",
|
|
77
|
+
üan: "yɛn",
|
|
78
|
+
ün: "yn",
|
|
79
|
+
m: "m̩",
|
|
80
|
+
n: "n̩",
|
|
81
|
+
ng: "ŋ̍",
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* The initials after which the i final is the empty rhyme [ɨ].
|
|
85
|
+
*/
|
|
86
|
+
export const EMPTY_RHYME_INITIALS = new Set([
|
|
87
|
+
"zh",
|
|
88
|
+
"ch",
|
|
89
|
+
"sh",
|
|
90
|
+
"r",
|
|
91
|
+
"z",
|
|
92
|
+
"c",
|
|
93
|
+
"s",
|
|
94
|
+
]);
|
|
95
|
+
/**
|
|
96
|
+
* The initials after which pinyin's -o final is [uo] rather than [ɔ].
|
|
97
|
+
*/
|
|
98
|
+
export const LABIAL_INITIALS = new Set(["b", "p", "m", "f"]);
|
|
99
|
+
/**
|
|
100
|
+
* What 儿化 adds.
|
|
101
|
+
*
|
|
102
|
+
* A suffix, and that is an approximation this module states rather than hides:
|
|
103
|
+
* a rhotacised syllable is not the plain one with [ɚ] after it. 玩儿 wánr is
|
|
104
|
+
* [wɑɚ̯] with the nasal gone, and 味儿 wèir keeps its glide while 事儿 shìr
|
|
105
|
+
* loses its empty rhyme entirely. Modelling that needs a rhyme-by-rhyme table
|
|
106
|
+
* of fused forms, which is a phonological claim rather than a transcription
|
|
107
|
+
* convention, and it is not made here.
|
|
108
|
+
*/
|
|
109
|
+
export const ERHUA_SUFFIX = "ɚ";
|
|
110
|
+
/**
|
|
111
|
+
* The Chao tone letter each tone is written with.
|
|
112
|
+
*
|
|
113
|
+
* The neutral tone has none: it has no contour of its own, taking its pitch
|
|
114
|
+
* from the syllable before it, and the transcription leaves it unwritten. That
|
|
115
|
+
* is bopomofo's problem in reverse — bopomofo cannot say "no tone", and this
|
|
116
|
+
* cannot say "neutral".
|
|
117
|
+
*/
|
|
118
|
+
export const TONE_LETTERS = new Map([
|
|
119
|
+
[1, "˥"],
|
|
120
|
+
[2, "˧˥"],
|
|
121
|
+
[3, "˨˩˦"],
|
|
122
|
+
[4, "˥˩"],
|
|
123
|
+
[NEUTRAL_TONE, ""],
|
|
124
|
+
]);
|
|
125
|
+
/**
|
|
126
|
+
* The pitch value each tone is numbered with, in Chao's own notation.
|
|
127
|
+
*/
|
|
128
|
+
export const TONE_NUMBERS = new Map([
|
|
129
|
+
[1, "55"],
|
|
130
|
+
[2, "35"],
|
|
131
|
+
[3, "214"],
|
|
132
|
+
[4, "51"],
|
|
133
|
+
[NEUTRAL_TONE, ""],
|
|
134
|
+
]);
|
|
135
|
+
//# sourceMappingURL=ipa-symbols.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipa-symbols.js","sourceRoot":"","sources":["../../src/transcription/ipa-symbols.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
import type { Syllable } from "../syllable/syllable.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
*
|
|
5
|
-
* Chao's tone letters are the standard notation and the default; `numbers`
|
|
6
|
-
* writes his pitch numerals instead (55, 35, 214, 51), which is what a plain
|
|
7
|
-
* ASCII field wants.
|
|
8
|
-
*/
|
|
9
|
-
export interface IpaOptions {
|
|
10
|
-
readonly tones?: "letters" | "numbers" | "none";
|
|
11
|
-
}
|
|
2
|
+
import { type IpaOptions } from "./ipa-symbols.js";
|
|
3
|
+
export type { IpaOptions } from "./ipa-symbols.js";
|
|
12
4
|
/**
|
|
13
5
|
* Transcribe a syllable without its tone: 就 jiù becomes `tɕiou`.
|
|
14
6
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipa.d.ts","sourceRoot":"","sources":["../../src/transcription/ipa.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"ipa.d.ts","sourceRoot":"","sources":["../../src/transcription/ipa.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIxD,OAAO,EAQL,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAenD;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAI1D;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAE,UAAe,GAAG,MAAM,CAW7E;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,SAAS,QAAQ,EAAE,EAC9B,OAAO,GAAE,UAAe,GACvB,MAAM,CAER;AAkCD;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,QAAQ,EAAE,CAGzD"}
|
|
@@ -1,138 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { toneFromNotation } from "../tone/tone.js";
|
|
2
2
|
import { indexInventory, readIndexed } from "./spelling-index.js";
|
|
3
|
-
|
|
4
|
-
* The symbol each initial is transcribed with.
|
|
5
|
-
*
|
|
6
|
-
* The aspiration series is where pinyin's letters mislead most: pinyin b is
|
|
7
|
-
* [p], and pinyin p is [pʰ]. Nothing in Mandarin is voiced here, which is what
|
|
8
|
-
* both Wade-Giles and Yale are working around in their own directions.
|
|
9
|
-
*/
|
|
10
|
-
const INITIAL_SYMBOLS = new Map([
|
|
11
|
-
["b", "p"],
|
|
12
|
-
["p", "pʰ"],
|
|
13
|
-
["m", "m"],
|
|
14
|
-
["f", "f"],
|
|
15
|
-
["d", "t"],
|
|
16
|
-
["t", "tʰ"],
|
|
17
|
-
["n", "n"],
|
|
18
|
-
["l", "l"],
|
|
19
|
-
["g", "k"],
|
|
20
|
-
["k", "kʰ"],
|
|
21
|
-
["h", "x"],
|
|
22
|
-
["j", "tɕ"],
|
|
23
|
-
["q", "tɕʰ"],
|
|
24
|
-
["x", "ɕ"],
|
|
25
|
-
["zh", "ʈʂ"],
|
|
26
|
-
["ch", "ʈʂʰ"],
|
|
27
|
-
["sh", "ʂ"],
|
|
28
|
-
["r", "ʐ"],
|
|
29
|
-
["z", "ts"],
|
|
30
|
-
["c", "tsʰ"],
|
|
31
|
-
["s", "s"],
|
|
32
|
-
]);
|
|
33
|
-
/**
|
|
34
|
-
* The symbols each final is transcribed with.
|
|
35
|
-
*
|
|
36
|
-
* The vowels are where the transcription and the spelling part company: pinyin
|
|
37
|
-
* writes one e for [ɤ], [ə] and [ɛ], and one i for [i] and [ɨ], because a
|
|
38
|
-
* spelling can let the context do the work and a transcription cannot. 天 tiān
|
|
39
|
-
* is [tʰiɛn] and 恩 ēn is [ən].
|
|
40
|
-
*/
|
|
41
|
-
const FINAL_SYMBOLS = {
|
|
42
|
-
a: "a",
|
|
43
|
-
o: "ɔ",
|
|
44
|
-
e: "ɤ",
|
|
45
|
-
ê: "ɛ",
|
|
46
|
-
er: "aɚ",
|
|
47
|
-
ai: "ai",
|
|
48
|
-
ei: "ei",
|
|
49
|
-
ao: "au",
|
|
50
|
-
ou: "ou",
|
|
51
|
-
an: "an",
|
|
52
|
-
en: "ən",
|
|
53
|
-
ang: "aŋ",
|
|
54
|
-
eng: "əŋ",
|
|
55
|
-
ong: "ʊŋ",
|
|
56
|
-
i: "i",
|
|
57
|
-
ia: "ia",
|
|
58
|
-
io: "iɔ",
|
|
59
|
-
ie: "ie",
|
|
60
|
-
iao: "iau",
|
|
61
|
-
iou: "iou",
|
|
62
|
-
ian: "iɛn",
|
|
63
|
-
in: "in",
|
|
64
|
-
iang: "iaŋ",
|
|
65
|
-
ing: "iŋ",
|
|
66
|
-
iong: "iʊŋ",
|
|
67
|
-
u: "u",
|
|
68
|
-
ua: "ua",
|
|
69
|
-
uo: "uo",
|
|
70
|
-
uai: "uai",
|
|
71
|
-
uei: "uei",
|
|
72
|
-
uan: "uan",
|
|
73
|
-
uen: "uən",
|
|
74
|
-
uang: "uaŋ",
|
|
75
|
-
ueng: "uəŋ",
|
|
76
|
-
ü: "y",
|
|
77
|
-
üe: "ye",
|
|
78
|
-
üan: "yɛn",
|
|
79
|
-
ün: "yn",
|
|
80
|
-
m: "m̩",
|
|
81
|
-
n: "n̩",
|
|
82
|
-
ng: "ŋ̍",
|
|
83
|
-
};
|
|
84
|
-
/**
|
|
85
|
-
* The initials after which the i final is the empty rhyme [ɨ].
|
|
86
|
-
*/
|
|
87
|
-
const EMPTY_RHYME_INITIALS = new Set([
|
|
88
|
-
"zh",
|
|
89
|
-
"ch",
|
|
90
|
-
"sh",
|
|
91
|
-
"r",
|
|
92
|
-
"z",
|
|
93
|
-
"c",
|
|
94
|
-
"s",
|
|
95
|
-
]);
|
|
96
|
-
/**
|
|
97
|
-
* The initials after which pinyin's -o final is [uo] rather than [ɔ].
|
|
98
|
-
*/
|
|
99
|
-
const LABIAL_INITIALS = new Set(["b", "p", "m", "f"]);
|
|
100
|
-
/**
|
|
101
|
-
* What 儿化 adds.
|
|
102
|
-
*
|
|
103
|
-
* A suffix, and that is an approximation this module states rather than hides:
|
|
104
|
-
* a rhotacised syllable is not the plain one with [ɚ] after it. 玩儿 wánr is
|
|
105
|
-
* [wɑɚ̯] with the nasal gone, and 味儿 wèir keeps its glide while 事儿 shìr
|
|
106
|
-
* loses its empty rhyme entirely. Modelling that needs a rhyme-by-rhyme table
|
|
107
|
-
* of fused forms, which is a phonological claim rather than a transcription
|
|
108
|
-
* convention, and it is not made here.
|
|
109
|
-
*/
|
|
110
|
-
const ERHUA_SUFFIX = "ɚ";
|
|
111
|
-
/**
|
|
112
|
-
* The Chao tone letter each tone is written with.
|
|
113
|
-
*
|
|
114
|
-
* The neutral tone has none: it has no contour of its own, taking its pitch
|
|
115
|
-
* from the syllable before it, and the transcription leaves it unwritten. That
|
|
116
|
-
* is bopomofo's problem in reverse — bopomofo cannot say "no tone", and this
|
|
117
|
-
* cannot say "neutral".
|
|
118
|
-
*/
|
|
119
|
-
const TONE_LETTERS = new Map([
|
|
120
|
-
[1, "˥"],
|
|
121
|
-
[2, "˧˥"],
|
|
122
|
-
[3, "˨˩˦"],
|
|
123
|
-
[4, "˥˩"],
|
|
124
|
-
[NEUTRAL_TONE, ""],
|
|
125
|
-
]);
|
|
126
|
-
/**
|
|
127
|
-
* The pitch value each tone is numbered with, in Chao's own notation.
|
|
128
|
-
*/
|
|
129
|
-
const TONE_NUMBERS = new Map([
|
|
130
|
-
[1, "55"],
|
|
131
|
-
[2, "35"],
|
|
132
|
-
[3, "214"],
|
|
133
|
-
[4, "51"],
|
|
134
|
-
[NEUTRAL_TONE, ""],
|
|
135
|
-
]);
|
|
3
|
+
import { EMPTY_RHYME_INITIALS, ERHUA_SUFFIX, FINAL_SYMBOLS, INITIAL_SYMBOLS, LABIAL_INITIALS, TONE_LETTERS, TONE_NUMBERS, } from "./ipa-symbols.js";
|
|
136
4
|
/**
|
|
137
5
|
* How a final is transcribed after a given initial.
|
|
138
6
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipa.js","sourceRoot":"","sources":["../../src/transcription/ipa.ts"],"names":[],"mappings":"AAqCA,OAAO,
|
|
1
|
+
{"version":3,"file":"ipa.js","sourceRoot":"","sources":["../../src/transcription/ipa.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type Syllable } from "../syllable/syllable.js";
|
|
2
|
+
/**
|
|
3
|
+
* How each mark is written once it has been dropped.
|
|
4
|
+
*/
|
|
5
|
+
export declare const DROPPED_MARKS: Map<string, string>;
|
|
6
|
+
/**
|
|
7
|
+
* Every mark that can fall off.
|
|
8
|
+
*/
|
|
9
|
+
export declare const MARKS: RegExp;
|
|
10
|
+
/**
|
|
11
|
+
* Strip the marks that fall off Wade-Giles in the wild.
|
|
12
|
+
*
|
|
13
|
+
* The aspiration apostrophe and the three diacritics, all at once, because in
|
|
14
|
+
* practice they go together: a text that writes `Tsingtao` for 青島 has dropped
|
|
15
|
+
* both. ü becomes u rather than being spelled out, since that is what the
|
|
16
|
+
* dropped form looks like.
|
|
17
|
+
*/
|
|
18
|
+
export declare function withoutMarks(spelling: string): string;
|
|
19
|
+
/**
|
|
20
|
+
* One Wade-Giles spelling and the syllable it stands for.
|
|
21
|
+
*/
|
|
22
|
+
export interface Spelt {
|
|
23
|
+
readonly spelling: string;
|
|
24
|
+
readonly syllable: Syllable;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Whether two syllables differ only in their tone, which none of the indexed
|
|
28
|
+
* ones carry.
|
|
29
|
+
*/
|
|
30
|
+
export declare function isSameSyllable(one: Syllable, other: Syllable): boolean;
|
|
31
|
+
export declare const INDEX: {
|
|
32
|
+
readonly exact: ReadonlyMap<string, readonly Spelt[]>;
|
|
33
|
+
readonly loose: ReadonlyMap<string, readonly Spelt[]>;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=wade-giles-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wade-giles-index.d.ts","sourceRoot":"","sources":["../../src/transcription/wade-giles-index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAoBtE;;GAEG;AACH,eAAO,MAAM,aAAa,qBAKxB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,KAAK,QAAa,CAAC;AAEhC;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMrD;AA6DD;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAEtE;AAED,eAAO,MAAM,KAAK;oBA9DA,WAAW,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;oBACrC,WAAW,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;CA6DtB,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The index every Wade-Giles reading is looked up in.
|
|
3
|
+
*
|
|
4
|
+
* Built by asking the writer what it would spell for each syllable of the
|
|
5
|
+
* inventory, then keyed twice — once as written and once with the marks
|
|
6
|
+
* stripped, since most Wade-Giles in the wild has dropped them.
|
|
7
|
+
*/
|
|
8
|
+
import { DICTIONARY_SYLLABLES } from "../syllable/inventory.js";
|
|
9
|
+
import { readSyllable } from "../syllable/syllable.js";
|
|
10
|
+
import { APOSTROPHE, writeWadeGilesSpelling } from "./wade-giles-spelling.js";
|
|
11
|
+
/**
|
|
12
|
+
* Spellings that are correct Wade-Giles but are not the ones written here.
|
|
13
|
+
*
|
|
14
|
+
* Each is a place the sources give two forms for one syllable. Writing picks
|
|
15
|
+
* one — the form that keeps the system as close to injective as it can be — and
|
|
16
|
+
* reading takes either, since a text using the other is not wrong.
|
|
17
|
+
*/
|
|
18
|
+
const VARIANT_SPELLINGS = [
|
|
19
|
+
// 一 yī: `i` is the older and commoner form, `yi` follows pinyin.
|
|
20
|
+
["yi", "yi"],
|
|
21
|
+
// 俄 é: `o` is attested (O-kuo for 俄國) but collides with 哦 ō, so `ê` is
|
|
22
|
+
// written and `o` is only read.
|
|
23
|
+
["o", "e"],
|
|
24
|
+
// 戳 chuō: regular in the series with 桌 `cho`, but `chʻuo` is also written.
|
|
25
|
+
[`ch${APOSTROPHE}uo`, "chuo"],
|
|
26
|
+
];
|
|
27
|
+
/**
|
|
28
|
+
* How each mark is written once it has been dropped.
|
|
29
|
+
*/
|
|
30
|
+
export const DROPPED_MARKS = new Map([
|
|
31
|
+
[APOSTROPHE, ""],
|
|
32
|
+
["ê", "e"],
|
|
33
|
+
["ŭ", "u"],
|
|
34
|
+
["ü", "u"],
|
|
35
|
+
]);
|
|
36
|
+
/**
|
|
37
|
+
* Every mark that can fall off.
|
|
38
|
+
*/
|
|
39
|
+
export const MARKS = /['êŭü]/gu;
|
|
40
|
+
/**
|
|
41
|
+
* Strip the marks that fall off Wade-Giles in the wild.
|
|
42
|
+
*
|
|
43
|
+
* The aspiration apostrophe and the three diacritics, all at once, because in
|
|
44
|
+
* practice they go together: a text that writes `Tsingtao` for 青島 has dropped
|
|
45
|
+
* both. ü becomes u rather than being spelled out, since that is what the
|
|
46
|
+
* dropped form looks like.
|
|
47
|
+
*/
|
|
48
|
+
export function withoutMarks(spelling) {
|
|
49
|
+
return spelling.replaceAll(MARKS,
|
|
50
|
+
/* c8 ignore next -- the pattern only matches what the map holds */
|
|
51
|
+
(mark) => DROPPED_MARKS.get(mark) ?? "");
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Every syllable each Wade-Giles spelling can stand for.
|
|
55
|
+
*
|
|
56
|
+
* Built from the attested inventory rather than from a reverse rule, so that
|
|
57
|
+
* nothing outside the syllabary can be read: `shung` is a perfectly regular
|
|
58
|
+
* Wade-Giles spelling of a syllable Mandarin does not have, and a rule would
|
|
59
|
+
* hand it back.
|
|
60
|
+
*
|
|
61
|
+
* The loose index is the same thing keyed by the spelling with its marks taken
|
|
62
|
+
* off, which is what makes reading sloppy Wade-Giles a lookup rather than a
|
|
63
|
+
* search.
|
|
64
|
+
*/
|
|
65
|
+
function buildIndex() {
|
|
66
|
+
const exact = new Map();
|
|
67
|
+
const loose = new Map();
|
|
68
|
+
// A spelling of undefined means "whatever this module would write"; the
|
|
69
|
+
// variants carry theirs, since they are the forms it would not have written.
|
|
70
|
+
const sources = [
|
|
71
|
+
...[...DICTIONARY_SYLLABLES].map((pinyin) => [undefined, pinyin]),
|
|
72
|
+
...VARIANT_SPELLINGS,
|
|
73
|
+
];
|
|
74
|
+
const spelt = [];
|
|
75
|
+
for (const [spelling, pinyin] of sources) {
|
|
76
|
+
const syllable = readSyllable(pinyin);
|
|
77
|
+
/* c8 ignore next 3 -- inventory.test.ts holds the parser to the inventory */
|
|
78
|
+
if (syllable === undefined) {
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
spelt.push({
|
|
82
|
+
spelling: spelling ?? writeWadeGilesSpelling(syllable),
|
|
83
|
+
syllable,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
for (const one of spelt) {
|
|
87
|
+
for (const [index, key] of [
|
|
88
|
+
[exact, one.spelling],
|
|
89
|
+
[loose, withoutMarks(one.spelling)],
|
|
90
|
+
]) {
|
|
91
|
+
const found = index.get(key);
|
|
92
|
+
if (found === undefined) {
|
|
93
|
+
index.set(key, [one]);
|
|
94
|
+
}
|
|
95
|
+
else if (found.every((other) => !isSameSyllable(other.syllable, one.syllable))) {
|
|
96
|
+
found.push(one);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return { exact, loose };
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Whether two syllables differ only in their tone, which none of the indexed
|
|
104
|
+
* ones carry.
|
|
105
|
+
*/
|
|
106
|
+
export function isSameSyllable(one, other) {
|
|
107
|
+
return one.initial === other.initial && one.final === other.final;
|
|
108
|
+
}
|
|
109
|
+
export const INDEX = buildIndex();
|
|
110
|
+
//# sourceMappingURL=wade-giles-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wade-giles-index.js","sourceRoot":"","sources":["../../src/transcription/wade-giles-index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAiB,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,iBAAiB,GAA2C;IAChE,iEAAiE;IACjE,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,uEAAuE;IACvE,gCAAgC;IAChC,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,2EAA2E;IAC3E,CAAC,KAAK,UAAU,IAAI,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAiB;IACnD,CAAC,UAAU,EAAE,EAAE,CAAC;IAChB,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;CACX,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAAC;AAEhC;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,OAAO,QAAQ,CAAC,UAAU,CACxB,KAAK;IACL,mEAAmE;IACnE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CACxC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,UAAU;IAIjB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEzC,wEAAwE;IACxE,6EAA6E;IAC7E,MAAM,OAAO,GAA8C;QACzD,GAAG,CAAC,GAAG,oBAAoB,CAAC,CAAC,GAAG,CAC9B,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,CAAiC,CAChE;QACD,GAAG,iBAAiB;KACrB,CAAC;IAEF,MAAM,KAAK,GAAY,EAAE,CAAC;IAC1B,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACtC,6EAA6E;QAC7E,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,KAAK,CAAC,IAAI,CAAC;YACT,QAAQ,EAAE,QAAQ,IAAI,sBAAsB,CAAC,QAAQ,CAAC;YACtD,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI;YACzB,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC;YACrB,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC3B,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACxB,CAAC;iBAAM,IACL,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,EACrE,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC;AAUD;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,GAAa,EAAE,KAAe;IAC3D,OAAO,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type Tone } from "../tone/tone.js";
|
|
2
|
+
/**
|
|
3
|
+
* Take a trailing tone digit off, raised or on the line.
|
|
4
|
+
*/
|
|
5
|
+
export declare function splitTone(text: string): readonly [string, Tone | undefined];
|
|
6
|
+
/**
|
|
7
|
+
* Normalise a written syllable to the shape the exact index is keyed by.
|
|
8
|
+
*/
|
|
9
|
+
export declare function normalise(text: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Whether `written` is `spelling` with some of its marks dropped.
|
|
12
|
+
*
|
|
13
|
+
* Dropped, and never added: a text that wrote `chʻu` did not mean `chü`, and
|
|
14
|
+
* only a text that wrote `chu` could have meant either. Allowing for a mark
|
|
15
|
+
* that should not be there would double the candidate lists to catch a mistake
|
|
16
|
+
* nobody makes, since the marks are dropped by not being typed rather than by
|
|
17
|
+
* being typed wrongly.
|
|
18
|
+
*
|
|
19
|
+
* Per mark rather than all or nothing, because that is how they come off:
|
|
20
|
+
* `chʻu` has kept its apostrophe and lost a diaeresis it may or may not have
|
|
21
|
+
* had, so it is 出 chū or 去 qù but not 朱 zhū.
|
|
22
|
+
*/
|
|
23
|
+
export declare function isMarksDropped(spelling: string, written: string): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Take the 儿化 suffix off a normalised spelling.
|
|
26
|
+
*
|
|
27
|
+
* Done before the tone digit is read rather than after, because the digit is
|
|
28
|
+
* written in front of the suffix: `wan²-'rh` is a second-tone 玩 carrying it.
|
|
29
|
+
*
|
|
30
|
+
* Read loosely the apostrophe may have fallen off, so `-rh` is a suffix too;
|
|
31
|
+
* read exactly it is not, and neither is `-êrh` under either reading. That is
|
|
32
|
+
* the point of the reduced form: 女儿 nǚ'ér is `nü³-êrh²`, two syllables, and
|
|
33
|
+
* a suffix spelled the same way would make the two indistinguishable.
|
|
34
|
+
*/
|
|
35
|
+
export declare function splitErhua(spelling: string, isLoose: boolean): readonly [string, boolean];
|
|
36
|
+
//# sourceMappingURL=wade-giles-parse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wade-giles-parse.d.ts","sourceRoot":"","sources":["../../src/transcription/wade-giles-parse.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,IAAI,EAAoB,MAAM,iBAAiB,CAAC;AAQ9D;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,CAAC,CAO3E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM9C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAazE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,GACf,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAQ5B"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Getting a written Wade-Giles syllable into the shape the indexes are keyed by.
|
|
3
|
+
*
|
|
4
|
+
* Everything a spelling has to be put through before it can be looked up: the
|
|
5
|
+
* apostrophes normalised, the 儿化 suffix and the tone digit taken off, and — for
|
|
6
|
+
* the loose reading — the question of whether what was written is some spelling
|
|
7
|
+
* with its marks dropped. None of it consults the inventory, which is what keeps
|
|
8
|
+
* it separate from the reading itself.
|
|
9
|
+
*/
|
|
10
|
+
import { normaliseSuperscript } from "../tone/tone-mark.js";
|
|
11
|
+
import { toneFromNotation } from "../tone/tone.js";
|
|
12
|
+
import { DROPPED_MARKS, withoutMarks } from "./wade-giles-index.js";
|
|
13
|
+
import { APOSTROPHE, APOSTROPHES, ERHUA_SUFFIX, } from "./wade-giles-spelling.js";
|
|
14
|
+
/**
|
|
15
|
+
* Take a trailing tone digit off, raised or on the line.
|
|
16
|
+
*/
|
|
17
|
+
export function splitTone(text) {
|
|
18
|
+
const found = /^(.*?)([0-5])$/u.exec(normaliseSuperscript(text));
|
|
19
|
+
const digit = found?.[2];
|
|
20
|
+
if (found === null || digit === undefined) {
|
|
21
|
+
return [text, undefined];
|
|
22
|
+
}
|
|
23
|
+
return [found[1] ?? "", toneFromNotation(Number(digit))];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Normalise a written syllable to the shape the exact index is keyed by.
|
|
27
|
+
*/
|
|
28
|
+
export function normalise(text) {
|
|
29
|
+
return text
|
|
30
|
+
.trim()
|
|
31
|
+
.normalize("NFC")
|
|
32
|
+
.toLowerCase()
|
|
33
|
+
.replaceAll(APOSTROPHES, () => APOSTROPHE);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Whether `written` is `spelling` with some of its marks dropped.
|
|
37
|
+
*
|
|
38
|
+
* Dropped, and never added: a text that wrote `chʻu` did not mean `chü`, and
|
|
39
|
+
* only a text that wrote `chu` could have meant either. Allowing for a mark
|
|
40
|
+
* that should not be there would double the candidate lists to catch a mistake
|
|
41
|
+
* nobody makes, since the marks are dropped by not being typed rather than by
|
|
42
|
+
* being typed wrongly.
|
|
43
|
+
*
|
|
44
|
+
* Per mark rather than all or nothing, because that is how they come off:
|
|
45
|
+
* `chʻu` has kept its apostrophe and lost a diaeresis it may or may not have
|
|
46
|
+
* had, so it is 出 chū or 去 qù but not 朱 zhū.
|
|
47
|
+
*/
|
|
48
|
+
export function isMarksDropped(spelling, written) {
|
|
49
|
+
let at = 0;
|
|
50
|
+
for (const character of spelling) {
|
|
51
|
+
const dropped = DROPPED_MARKS.get(character);
|
|
52
|
+
if (written[at] === character) {
|
|
53
|
+
at += 1;
|
|
54
|
+
}
|
|
55
|
+
else if (dropped !== undefined && written.startsWith(dropped, at)) {
|
|
56
|
+
at += dropped.length;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return at === written.length;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Take the 儿化 suffix off a normalised spelling.
|
|
66
|
+
*
|
|
67
|
+
* Done before the tone digit is read rather than after, because the digit is
|
|
68
|
+
* written in front of the suffix: `wan²-'rh` is a second-tone 玩 carrying it.
|
|
69
|
+
*
|
|
70
|
+
* Read loosely the apostrophe may have fallen off, so `-rh` is a suffix too;
|
|
71
|
+
* read exactly it is not, and neither is `-êrh` under either reading. That is
|
|
72
|
+
* the point of the reduced form: 女儿 nǚ'ér is `nü³-êrh²`, two syllables, and
|
|
73
|
+
* a suffix spelled the same way would make the two indistinguishable.
|
|
74
|
+
*/
|
|
75
|
+
export function splitErhua(spelling, isLoose) {
|
|
76
|
+
const suffixes = isLoose
|
|
77
|
+
? [ERHUA_SUFFIX, withoutMarks(ERHUA_SUFFIX)]
|
|
78
|
+
: [ERHUA_SUFFIX];
|
|
79
|
+
const suffix = suffixes.find((one) => spelling.endsWith(one));
|
|
80
|
+
return suffix === undefined
|
|
81
|
+
? [spelling, false]
|
|
82
|
+
: [spelling.slice(0, -suffix.length), true];
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=wade-giles-parse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wade-giles-parse.js","sourceRoot":"","sources":["../../src/transcription/wade-giles-parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAa,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,GACb,MAAM,0BAA0B,CAAC;AAElC;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,IAAI;SACR,IAAI,EAAE;SACN,SAAS,CAAC,KAAK,CAAC;SAChB,WAAW,EAAE;SACb,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,OAAe;IAC9D,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,OAAO,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9B,EAAE,IAAI,CAAC,CAAC;QACV,CAAC;aAAM,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;YACpE,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,UAAU,CACxB,QAAgB,EAChB,OAAgB;IAEhB,MAAM,QAAQ,GAAG,OAAO;QACtB,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACnB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,OAAO,MAAM,KAAK,SAAS;QACzB,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC;QACnB,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;AAChD,CAAC"}
|