@kensio/pinyinjs 1.7.4 → 1.7.5
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/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/confidence.d.ts.map +1 -1
- package/dist/decode/confidence.js +3 -118
- 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 +66 -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/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 +140 -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 +58 -0
- package/dist/decode/jiao-rule.d.ts.map +1 -0
- package/dist/decode/jiao-rule.js +76 -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 +82 -0
- package/dist/decode/lattice-types.d.ts.map +1 -0
- package/dist/decode/lattice-types.js +44 -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 +31 -0
- package/dist/decode/polyphone-rules.d.ts.map +1 -0
- package/dist/decode/polyphone-rules.js +159 -0
- package/dist/decode/polyphone-rules.js.map +1 -0
- package/dist/decode/reading-rules.d.ts +2 -97
- package/dist/decode/reading-rules.d.ts.map +1 -1
- package/dist/decode/reading-rules.js +4 -365
- 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/sandhi-tones.d.ts +69 -0
- package/dist/decode/sandhi-tones.d.ts.map +1 -0
- package/dist/decode/sandhi-tones.js +88 -0
- package/dist/decode/sandhi-tones.js.map +1 -0
- package/dist/decode/sandhi.d.ts +1 -1
- package/dist/decode/sandhi.d.ts.map +1 -1
- package/dist/decode/sandhi.js +1 -81
- 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 +28 -0
- package/dist/decode/write-run.d.ts.map +1 -0
- package/dist/decode/write-run.js +77 -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 +80 -0
- package/dist/dictionary/cedict-senses.d.ts.map +1 -0
- package/dist/dictionary/cedict-senses.js +114 -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/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 +121 -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-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 +30 -713
- 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 +38 -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/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 +1 -1
|
@@ -1,546 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
* 作 zuò is `tso`, 貴 guì is `kuei`).
|
|
8
|
-
*
|
|
9
|
-
* Reading it is not a table, and that asymmetry is the whole of this file.
|
|
10
|
-
* Three things stand in the way:
|
|
11
|
-
*
|
|
12
|
-
* - The spelling is not injective even when written correctly: `lo` is both
|
|
13
|
-
* luō and lo, and `o` is both ē and ō.
|
|
14
|
-
* - The aspiration apostrophe is routinely dropped, and it carries a phonemic
|
|
15
|
-
* distinction: `ch'i` is qī and `chi` is jī, so a dropped mark makes one
|
|
16
|
-
* spelling stand for both. Written `chu`, with the diaeresis gone too, it
|
|
17
|
-
* stands for four syllables.
|
|
18
|
-
* - The diacritics are routinely dropped as well — ê, ŭ and ü — which merges
|
|
19
|
-
* `hsü` into `hsu` and `tzŭ` into `tzu`.
|
|
20
|
-
*
|
|
21
|
-
* So reading returns *every* syllable a spelling could be, and does it against
|
|
22
|
-
* the attested inventory rather than by rule: a rule would happily read `shung`
|
|
23
|
-
* or `ki`, which are not syllables of Mandarin at all.
|
|
24
|
-
* {@link readWadeGiles} takes the spelling as written, and
|
|
25
|
-
* {@link readWadeGilesLoosely} allows for the marks that fell off. How much
|
|
26
|
-
* that costs is measured — see `docs/romanization/`.
|
|
27
|
-
*
|
|
28
|
-
* The tone digit, where a text writes one, cuts that list back down: the
|
|
29
|
-
* inventory knows which tones each syllable is written in, so `lo²` is 羅 luó
|
|
30
|
-
* and not the 咯 that is only ever neutral. See {@link narrowToAttested}.
|
|
31
|
-
*/
|
|
32
|
-
import { DICTIONARY_SYLLABLES, narrowToAttested, } from "../syllable/inventory.js";
|
|
33
|
-
import { readSyllable } from "../syllable/syllable.js";
|
|
34
|
-
import { normaliseSuperscript, SUPERSCRIPT_TONES } from "../tone/tone-mark.js";
|
|
35
|
-
import { toneFromNotation } from "../tone/tone.js";
|
|
36
|
-
/**
|
|
37
|
-
* The mark Wade-Giles writes aspiration with.
|
|
38
|
-
*
|
|
39
|
-
* ASCII, because that is what a keyboard produces and what nearly all text
|
|
40
|
-
* carries; the turned comma ʻ of the original and of library cataloguing is
|
|
41
|
-
* read back but not written. Every shape a text might use is accepted on input,
|
|
42
|
-
* which matters more here than in most places — this mark is the one carrying
|
|
43
|
-
* the p/pʻ distinction.
|
|
44
|
-
*/
|
|
45
|
-
const APOSTROPHE = "'";
|
|
46
|
-
/**
|
|
47
|
-
* Every shape the aspiration mark is written with in the wild.
|
|
48
|
-
*/
|
|
49
|
-
const APOSTROPHES = /['ʻʼ‘’`´ʹ]/gu;
|
|
50
|
-
/**
|
|
51
|
-
* How each initial is spelled.
|
|
52
|
-
*
|
|
53
|
-
* The unvoiced/aspirated pairing is what makes this look wrong to a reader who
|
|
54
|
-
* only knows pinyin: Wade-Giles writes the *unaspirated* stop with the plain
|
|
55
|
-
* letter, so pinyin b is `p` and pinyin p is `pʻ`. Nothing is missing from the
|
|
56
|
-
* table; the whole series is shifted.
|
|
57
|
-
*/
|
|
58
|
-
const INITIAL_SPELLINGS = new Map([
|
|
59
|
-
["b", "p"],
|
|
60
|
-
["p", `p${APOSTROPHE}`],
|
|
61
|
-
["m", "m"],
|
|
62
|
-
["f", "f"],
|
|
63
|
-
["d", "t"],
|
|
64
|
-
["t", `t${APOSTROPHE}`],
|
|
65
|
-
["n", "n"],
|
|
66
|
-
["l", "l"],
|
|
67
|
-
["g", "k"],
|
|
68
|
-
["k", `k${APOSTROPHE}`],
|
|
69
|
-
["h", "h"],
|
|
70
|
-
["j", "ch"],
|
|
71
|
-
["q", `ch${APOSTROPHE}`],
|
|
72
|
-
["x", "hs"],
|
|
73
|
-
["zh", "ch"],
|
|
74
|
-
["ch", `ch${APOSTROPHE}`],
|
|
75
|
-
["sh", "sh"],
|
|
76
|
-
["r", "j"],
|
|
77
|
-
["z", "ts"],
|
|
78
|
-
["c", `ts${APOSTROPHE}`],
|
|
79
|
-
["s", "s"],
|
|
80
|
-
]);
|
|
81
|
-
/**
|
|
82
|
-
* How z, c and s are spelled before the empty rhyme.
|
|
83
|
-
*
|
|
84
|
-
* 資 zī is `tzŭ` rather than `tsŭ`, and 私 sī is `ssŭ` rather than `sŭ`: the
|
|
85
|
-
* three sibilants take a different shape in front of the vowel that is not
|
|
86
|
-
* really one.
|
|
87
|
-
*/
|
|
88
|
-
const SIBILANT_SPELLINGS = new Map([
|
|
89
|
-
["z", "tz"],
|
|
90
|
-
["c", `tz${APOSTROPHE}`],
|
|
91
|
-
["s", "ss"],
|
|
92
|
-
]);
|
|
93
|
-
/**
|
|
94
|
-
* How each final is spelled after an initial.
|
|
95
|
-
*
|
|
96
|
-
* `ueng` never occurs after one — 翁 wēng is the only syllable that has it —
|
|
97
|
-
* and is written with the form the pattern would give it rather than being made
|
|
98
|
-
* a special case.
|
|
99
|
-
*/
|
|
100
|
-
const FINAL_SPELLINGS = {
|
|
101
|
-
a: "a",
|
|
102
|
-
o: "o",
|
|
103
|
-
e: "ê",
|
|
104
|
-
ê: "eh",
|
|
105
|
-
er: "êrh",
|
|
106
|
-
ai: "ai",
|
|
107
|
-
ei: "ei",
|
|
108
|
-
ao: "ao",
|
|
109
|
-
ou: "ou",
|
|
110
|
-
an: "an",
|
|
111
|
-
en: "ên",
|
|
112
|
-
ang: "ang",
|
|
113
|
-
eng: "êng",
|
|
114
|
-
ong: "ung",
|
|
115
|
-
i: "i",
|
|
116
|
-
ia: "ia",
|
|
117
|
-
io: "io",
|
|
118
|
-
ie: "ieh",
|
|
119
|
-
iao: "iao",
|
|
120
|
-
iou: "iu",
|
|
121
|
-
ian: "ien",
|
|
122
|
-
in: "in",
|
|
123
|
-
iang: "iang",
|
|
124
|
-
ing: "ing",
|
|
125
|
-
iong: "iung",
|
|
126
|
-
u: "u",
|
|
127
|
-
ua: "ua",
|
|
128
|
-
uo: "uo",
|
|
129
|
-
uai: "uai",
|
|
130
|
-
uei: "ui",
|
|
131
|
-
uan: "uan",
|
|
132
|
-
uen: "un",
|
|
133
|
-
uang: "uang",
|
|
134
|
-
ueng: "uêng",
|
|
135
|
-
ü: "ü",
|
|
136
|
-
üe: "üeh",
|
|
137
|
-
üan: "üan",
|
|
138
|
-
ün: "ün",
|
|
139
|
-
m: "m",
|
|
140
|
-
n: "n",
|
|
141
|
-
ng: "ng",
|
|
142
|
-
};
|
|
143
|
-
/**
|
|
144
|
-
* How each final is spelled with no initial in front of it.
|
|
145
|
-
*
|
|
146
|
-
* The i, u and ü groups take a y or w onset as they do in pinyin, but not the
|
|
147
|
-
* same one in the same places: 一 yī is `i` and 有 yǒu is `yu`, which is also
|
|
148
|
-
* where 魚 yú's `yü` loses its diaeresis and collides. Finals that cannot stand
|
|
149
|
-
* alone keep their after-initial spelling.
|
|
150
|
-
*/
|
|
151
|
-
const ZERO_INITIAL_SPELLINGS = {
|
|
152
|
-
...FINAL_SPELLINGS,
|
|
153
|
-
i: "i",
|
|
154
|
-
ia: "ya",
|
|
155
|
-
io: "yo",
|
|
156
|
-
ie: "yeh",
|
|
157
|
-
iao: "yao",
|
|
158
|
-
iou: "yu",
|
|
159
|
-
ian: "yen",
|
|
160
|
-
in: "yin",
|
|
161
|
-
iang: "yang",
|
|
162
|
-
ing: "ying",
|
|
163
|
-
iong: "yung",
|
|
164
|
-
u: "wu",
|
|
165
|
-
ua: "wa",
|
|
166
|
-
uo: "wo",
|
|
167
|
-
uai: "wai",
|
|
168
|
-
uei: "wei",
|
|
169
|
-
uan: "wan",
|
|
170
|
-
uen: "wên",
|
|
171
|
-
uang: "wang",
|
|
172
|
-
ueng: "wêng",
|
|
173
|
-
ü: "yü",
|
|
174
|
-
üe: "yüeh",
|
|
175
|
-
üan: "yüan",
|
|
176
|
-
ün: "yün",
|
|
177
|
-
};
|
|
178
|
-
/**
|
|
179
|
-
* The initials after which the i final is the empty rhyme written `ih`.
|
|
180
|
-
*/
|
|
181
|
-
const RETROFLEX_INITIALS = new Set(["zh", "ch", "sh", "r"]);
|
|
182
|
-
/**
|
|
183
|
-
* The initials after which it is the empty rhyme written `ŭ`.
|
|
184
|
-
*/
|
|
185
|
-
const SIBILANT_INITIALS = new Set(["z", "c", "s"]);
|
|
186
|
-
/**
|
|
187
|
-
* The initials after which the e final is written `o` rather than `ê`.
|
|
188
|
-
*/
|
|
189
|
-
const O_FOR_E_INITIALS = new Set(["g", "k", "h"]);
|
|
190
|
-
/**
|
|
191
|
-
* The initials after which `uo` loses its u: 作 zuò is `tso`, 若 ruò is `jo`.
|
|
192
|
-
*
|
|
193
|
-
* sh is the exception that has to be listed by its absence — 說 shuō stays
|
|
194
|
-
* `shuo` while 桌 zhuō is `cho` — and it is an exception in the source rather
|
|
195
|
-
* than an error here.
|
|
196
|
-
*/
|
|
197
|
-
const O_FOR_UO_INITIALS = new Set([
|
|
198
|
-
"d",
|
|
199
|
-
"t",
|
|
200
|
-
"n",
|
|
201
|
-
"l",
|
|
202
|
-
"z",
|
|
203
|
-
"c",
|
|
204
|
-
"s",
|
|
205
|
-
"zh",
|
|
206
|
-
"ch",
|
|
207
|
-
"r",
|
|
208
|
-
]);
|
|
209
|
-
/**
|
|
210
|
-
* The initials after which `uei` keeps its middle vowel: 貴 guì is `kuei`.
|
|
211
|
-
*/
|
|
212
|
-
const UEI_INITIALS = new Set(["g", "k"]);
|
|
213
|
-
/**
|
|
214
|
-
* How an initial is spelled in front of a given final.
|
|
215
|
-
*/
|
|
216
|
-
function initialSpelling(initial, final) {
|
|
217
|
-
const sibilant = final === "i" ? SIBILANT_SPELLINGS.get(initial) : undefined;
|
|
218
|
-
return sibilant ?? INITIAL_SPELLINGS.get(initial) ?? "";
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* How a final is spelled after a given initial.
|
|
222
|
-
*/
|
|
223
|
-
function finalSpelling(initial, final) {
|
|
224
|
-
if (initial === "") {
|
|
225
|
-
return ZERO_INITIAL_SPELLINGS[final];
|
|
226
|
-
}
|
|
227
|
-
if (final === "i") {
|
|
228
|
-
if (RETROFLEX_INITIALS.has(initial)) {
|
|
229
|
-
return "ih";
|
|
230
|
-
}
|
|
231
|
-
if (SIBILANT_INITIALS.has(initial)) {
|
|
232
|
-
return "ŭ";
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
if (final === "e" && O_FOR_E_INITIALS.has(initial)) {
|
|
236
|
-
return "o";
|
|
237
|
-
}
|
|
238
|
-
if (final === "uo" && O_FOR_UO_INITIALS.has(initial)) {
|
|
239
|
-
return "o";
|
|
240
|
-
}
|
|
241
|
-
if (final === "uei" && UEI_INITIALS.has(initial)) {
|
|
242
|
-
return "uei";
|
|
243
|
-
}
|
|
244
|
-
return FINAL_SPELLINGS[final];
|
|
245
|
-
}
|
|
246
|
-
/**
|
|
247
|
-
* The 儿化 suffix, which Wade-Giles hangs off the syllable rather than fusing
|
|
248
|
-
* into it.
|
|
249
|
-
*
|
|
250
|
-
* So this is the one place a syllable is written with a hyphen in it: 花儿 huār
|
|
251
|
-
* is `hua¹-'rh`. Two things about that shape are worth stating, because both
|
|
252
|
-
* are decisions:
|
|
253
|
-
*
|
|
254
|
-
* - **The suffix is the reduced `'rh` rather than a full `êrh`.** 兒 as a
|
|
255
|
-
* syllable of its own is `êrh`, and as a suffix it is written short. This is
|
|
256
|
-
* the form en.wiktionary's Chinese entries use throughout, and it is what the
|
|
257
|
-
* fixture in [test/fixtures/wiktionary.ts](../../test/fixtures/wiktionary.ts)
|
|
258
|
-
* is checked against.
|
|
259
|
-
* - **The tone digit goes on the syllable, in front of the suffix.** The tone
|
|
260
|
-
* is the base syllable's — 花儿 is a first-tone 花 with a suffix on it — and
|
|
261
|
-
* Wade-Giles writes the digit after the syllable it belongs to. Writing
|
|
262
|
-
* `hua-êrh¹` instead, as this module used to, says the 兒 carries a first
|
|
263
|
-
* tone, which is not what anybody means by it.
|
|
264
|
-
*
|
|
265
|
-
* Pinyin's `r` suffix is the later convention and the two are not
|
|
266
|
-
* interchangeable.
|
|
267
|
-
*/
|
|
268
|
-
const ERHUA_SUFFIX = `-${APOSTROPHE}rh`;
|
|
269
|
-
/**
|
|
270
|
-
* Spell a syllable in Wade-Giles without its tone.
|
|
271
|
-
*/
|
|
272
|
-
export function writeWadeGilesSpelling(syllable) {
|
|
273
|
-
const { initial, final } = syllable;
|
|
274
|
-
const suffix = syllable.erhua === true ? ERHUA_SUFFIX : "";
|
|
275
|
-
return `${initialSpelling(initial, final)}${finalSpelling(initial, final)}${suffix}`;
|
|
276
|
-
}
|
|
277
|
-
/**
|
|
278
|
-
* Write a syllable in Wade-Giles: 就 jiù becomes `chiu⁴`.
|
|
279
|
-
*
|
|
280
|
-
* Total over well-formed syllables, as the bopomofo writer is. An unwritten
|
|
281
|
-
* tone stays unwritten rather than being invented as a first tone, which is
|
|
282
|
-
* what lets the round trip come back exactly.
|
|
283
|
-
*
|
|
284
|
-
* The digit goes in front of the 儿化 suffix rather than after it — 玩儿 wánr
|
|
285
|
-
* is `wan²-'rh` — for the reason {@link ERHUA_SUFFIX} gives.
|
|
286
|
-
*/
|
|
287
|
-
export function writeWadeGiles(syllable, options = {}) {
|
|
288
|
-
const spelling = writeWadeGilesSpelling(syllable);
|
|
289
|
-
const { tone } = syllable;
|
|
290
|
-
const { tones = "superscript" } = options;
|
|
291
|
-
if (tone === undefined || tones === "none") {
|
|
292
|
-
return spelling;
|
|
293
|
-
}
|
|
294
|
-
const digit = tones === "numbers"
|
|
295
|
-
? String(tone)
|
|
296
|
-
: /* c8 ignore next -- every tone has a raised digit */
|
|
297
|
-
(SUPERSCRIPT_TONES.get(tone) ?? "");
|
|
298
|
-
return spelling.endsWith(ERHUA_SUFFIX)
|
|
299
|
-
? `${spelling.slice(0, -ERHUA_SUFFIX.length)}${digit}${ERHUA_SUFFIX}`
|
|
300
|
-
: `${spelling}${digit}`;
|
|
301
|
-
}
|
|
302
|
-
/**
|
|
303
|
-
* Write a word in Wade-Giles, hyphenating between its syllables.
|
|
304
|
-
*
|
|
305
|
-
* The hyphen is Wade's own convention and it is not decoration: `Tse-tung`
|
|
306
|
-
* written solid could be read as two syllables or as three, and the system has
|
|
307
|
-
* no 隔音符号 to fall back on. Pinyin writes the word solid and reaches for an
|
|
308
|
-
* apostrophe only where the boundary is genuinely ambiguous, which is the
|
|
309
|
-
* opposite default.
|
|
310
|
-
*/
|
|
311
|
-
export function writeWadeGilesWord(syllables, options = {}) {
|
|
312
|
-
return syllables
|
|
313
|
-
.map((syllable) => writeWadeGiles(syllable, options))
|
|
314
|
-
.join("-");
|
|
315
|
-
}
|
|
316
|
-
/**
|
|
317
|
-
* Spellings that are correct Wade-Giles but are not the ones written here.
|
|
318
|
-
*
|
|
319
|
-
* Each is a place the sources give two forms for one syllable. Writing picks
|
|
320
|
-
* one — the form that keeps the system as close to injective as it can be — and
|
|
321
|
-
* reading takes either, since a text using the other is not wrong.
|
|
322
|
-
*/
|
|
323
|
-
const VARIANT_SPELLINGS = [
|
|
324
|
-
// 一 yī: `i` is the older and commoner form, `yi` follows pinyin.
|
|
325
|
-
["yi", "yi"],
|
|
326
|
-
// 俄 é: `o` is attested (O-kuo for 俄國) but collides with 哦 ō, so `ê` is
|
|
327
|
-
// written and `o` is only read.
|
|
328
|
-
["o", "e"],
|
|
329
|
-
// 戳 chuō: regular in the series with 桌 `cho`, but `chʻuo` is also written.
|
|
330
|
-
[`ch${APOSTROPHE}uo`, "chuo"],
|
|
331
|
-
];
|
|
332
|
-
/**
|
|
333
|
-
* How each mark is written once it has been dropped.
|
|
334
|
-
*/
|
|
335
|
-
const DROPPED_MARKS = new Map([
|
|
336
|
-
[APOSTROPHE, ""],
|
|
337
|
-
["ê", "e"],
|
|
338
|
-
["ŭ", "u"],
|
|
339
|
-
["ü", "u"],
|
|
340
|
-
]);
|
|
341
|
-
/**
|
|
342
|
-
* Every mark that can fall off.
|
|
343
|
-
*/
|
|
344
|
-
const MARKS = /['êŭü]/gu;
|
|
345
|
-
/**
|
|
346
|
-
* Strip the marks that fall off Wade-Giles in the wild.
|
|
347
|
-
*
|
|
348
|
-
* The aspiration apostrophe and the three diacritics, all at once, because in
|
|
349
|
-
* practice they go together: a text that writes `Tsingtao` for 青島 has dropped
|
|
350
|
-
* both. ü becomes u rather than being spelled out, since that is what the
|
|
351
|
-
* dropped form looks like.
|
|
352
|
-
*/
|
|
353
|
-
function withoutMarks(spelling) {
|
|
354
|
-
return spelling.replaceAll(MARKS,
|
|
355
|
-
/* c8 ignore next -- the pattern only matches what the map holds */
|
|
356
|
-
(mark) => DROPPED_MARKS.get(mark) ?? "");
|
|
357
|
-
}
|
|
358
|
-
/**
|
|
359
|
-
* Every syllable each Wade-Giles spelling can stand for.
|
|
360
|
-
*
|
|
361
|
-
* Built from the attested inventory rather than from a reverse rule, so that
|
|
362
|
-
* nothing outside the syllabary can be read: `shung` is a perfectly regular
|
|
363
|
-
* Wade-Giles spelling of a syllable Mandarin does not have, and a rule would
|
|
364
|
-
* hand it back.
|
|
365
|
-
*
|
|
366
|
-
* The loose index is the same thing keyed by the spelling with its marks taken
|
|
367
|
-
* off, which is what makes reading sloppy Wade-Giles a lookup rather than a
|
|
368
|
-
* search.
|
|
369
|
-
*/
|
|
370
|
-
function buildIndex() {
|
|
371
|
-
const exact = new Map();
|
|
372
|
-
const loose = new Map();
|
|
373
|
-
// A spelling of undefined means "whatever this module would write"; the
|
|
374
|
-
// variants carry theirs, since they are the forms it would not have written.
|
|
375
|
-
const sources = [
|
|
376
|
-
...[...DICTIONARY_SYLLABLES].map((pinyin) => [undefined, pinyin]),
|
|
377
|
-
...VARIANT_SPELLINGS,
|
|
378
|
-
];
|
|
379
|
-
const spelt = [];
|
|
380
|
-
for (const [spelling, pinyin] of sources) {
|
|
381
|
-
const syllable = readSyllable(pinyin);
|
|
382
|
-
/* c8 ignore next 3 -- inventory.test.ts holds the parser to the inventory */
|
|
383
|
-
if (syllable === undefined) {
|
|
384
|
-
continue;
|
|
385
|
-
}
|
|
386
|
-
spelt.push({
|
|
387
|
-
spelling: spelling ?? writeWadeGilesSpelling(syllable),
|
|
388
|
-
syllable,
|
|
389
|
-
});
|
|
390
|
-
}
|
|
391
|
-
for (const one of spelt) {
|
|
392
|
-
for (const [index, key] of [
|
|
393
|
-
[exact, one.spelling],
|
|
394
|
-
[loose, withoutMarks(one.spelling)],
|
|
395
|
-
]) {
|
|
396
|
-
const found = index.get(key);
|
|
397
|
-
if (found === undefined) {
|
|
398
|
-
index.set(key, [one]);
|
|
399
|
-
}
|
|
400
|
-
else if (found.every((other) => !isSameSyllable(other.syllable, one.syllable))) {
|
|
401
|
-
found.push(one);
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
return { exact, loose };
|
|
406
|
-
}
|
|
407
|
-
/**
|
|
408
|
-
* Whether two syllables differ only in their tone, which none of the indexed
|
|
409
|
-
* ones carry.
|
|
410
|
-
*/
|
|
411
|
-
function isSameSyllable(one, other) {
|
|
412
|
-
return one.initial === other.initial && one.final === other.final;
|
|
413
|
-
}
|
|
414
|
-
const INDEX = buildIndex();
|
|
415
|
-
/**
|
|
416
|
-
* Take a trailing tone digit off, raised or on the line.
|
|
417
|
-
*/
|
|
418
|
-
function splitTone(text) {
|
|
419
|
-
const found = /^(.*?)([0-5])$/u.exec(normaliseSuperscript(text));
|
|
420
|
-
const digit = found?.[2];
|
|
421
|
-
if (found === null || digit === undefined) {
|
|
422
|
-
return [text, undefined];
|
|
423
|
-
}
|
|
424
|
-
return [found[1] ?? "", toneFromNotation(Number(digit))];
|
|
425
|
-
}
|
|
426
|
-
/**
|
|
427
|
-
* Normalise a written syllable to the shape the exact index is keyed by.
|
|
428
|
-
*/
|
|
429
|
-
function normalise(text) {
|
|
430
|
-
return text
|
|
431
|
-
.trim()
|
|
432
|
-
.normalize("NFC")
|
|
433
|
-
.toLowerCase()
|
|
434
|
-
.replaceAll(APOSTROPHES, () => APOSTROPHE);
|
|
435
|
-
}
|
|
436
|
-
/**
|
|
437
|
-
* Whether `written` is `spelling` with some of its marks dropped.
|
|
438
|
-
*
|
|
439
|
-
* Dropped, and never added: a text that wrote `chʻu` did not mean `chü`, and
|
|
440
|
-
* only a text that wrote `chu` could have meant either. Allowing for a mark
|
|
441
|
-
* that should not be there would double the candidate lists to catch a mistake
|
|
442
|
-
* nobody makes, since the marks are dropped by not being typed rather than by
|
|
443
|
-
* being typed wrongly.
|
|
444
|
-
*
|
|
445
|
-
* Per mark rather than all or nothing, because that is how they come off:
|
|
446
|
-
* `chʻu` has kept its apostrophe and lost a diaeresis it may or may not have
|
|
447
|
-
* had, so it is 出 chū or 去 qù but not 朱 zhū.
|
|
448
|
-
*/
|
|
449
|
-
function isMarksDropped(spelling, written) {
|
|
450
|
-
let at = 0;
|
|
451
|
-
for (const character of spelling) {
|
|
452
|
-
const dropped = DROPPED_MARKS.get(character);
|
|
453
|
-
if (written[at] === character) {
|
|
454
|
-
at += 1;
|
|
455
|
-
}
|
|
456
|
-
else if (dropped !== undefined && written.startsWith(dropped, at)) {
|
|
457
|
-
at += dropped.length;
|
|
458
|
-
}
|
|
459
|
-
else {
|
|
460
|
-
return false;
|
|
461
|
-
}
|
|
462
|
-
}
|
|
463
|
-
return at === written.length;
|
|
464
|
-
}
|
|
465
|
-
/**
|
|
466
|
-
* Take the 儿化 suffix off a normalised spelling.
|
|
467
|
-
*
|
|
468
|
-
* Done before the tone digit is read rather than after, because the digit is
|
|
469
|
-
* written in front of the suffix: `wan²-'rh` is a second-tone 玩 carrying it.
|
|
470
|
-
*
|
|
471
|
-
* Read loosely the apostrophe may have fallen off, so `-rh` is a suffix too;
|
|
472
|
-
* read exactly it is not, and neither is `-êrh` under either reading. That is
|
|
473
|
-
* the point of the reduced form: 女儿 nǚ'ér is `nü³-êrh²`, two syllables, and
|
|
474
|
-
* a suffix spelled the same way would make the two indistinguishable.
|
|
475
|
-
*/
|
|
476
|
-
function splitErhua(spelling, isLoose) {
|
|
477
|
-
const suffixes = isLoose
|
|
478
|
-
? [ERHUA_SUFFIX, withoutMarks(ERHUA_SUFFIX)]
|
|
479
|
-
: [ERHUA_SUFFIX];
|
|
480
|
-
const suffix = suffixes.find((one) => spelling.endsWith(one));
|
|
481
|
-
return suffix === undefined
|
|
482
|
-
? [spelling, false]
|
|
483
|
-
: [spelling.slice(0, -suffix.length), true];
|
|
484
|
-
}
|
|
485
|
-
/**
|
|
486
|
-
* Read a normalised spelling out of one of the two indexes.
|
|
487
|
-
*
|
|
488
|
-
* `toKey` is how the spelling is turned into that index's key.
|
|
489
|
-
*
|
|
490
|
-
* The tone is written on here and not judged: the index is toneless, so what
|
|
491
|
-
* comes back is every syllable of that spelling in whatever tone the text
|
|
492
|
-
* carried, and narrowing that to the tones Mandarin actually writes belongs to
|
|
493
|
-
* the callers, which have the whole candidate list to weigh.
|
|
494
|
-
*/
|
|
495
|
-
function readFrom(index, toKey, spelling, tone, isErhua) {
|
|
496
|
-
return (index.get(toKey(spelling)) ?? [])
|
|
497
|
-
.filter((one) => isMarksDropped(one.spelling, spelling))
|
|
498
|
-
.map((one) => ({
|
|
499
|
-
...one.syllable,
|
|
500
|
-
tone,
|
|
501
|
-
...(isErhua && { erhua: true }),
|
|
502
|
-
}));
|
|
503
|
-
}
|
|
504
|
-
/**
|
|
505
|
-
* Read a Wade-Giles syllable exactly as it is written: `chiu⁴` becomes 就 jiù.
|
|
506
|
-
*
|
|
507
|
-
* Returns every syllable the spelling stands for, which is one for all but a
|
|
508
|
-
* handful of them — `lo` is both 羅 luó and 咯 lo, and `o` is both 俄 é and
|
|
509
|
-
* 哦 ó. Empty for anything that is not Wade-Giles at all.
|
|
510
|
-
*
|
|
511
|
-
* A written tone narrows that: 咯 is only ever neutral, so `lo` on its own is
|
|
512
|
-
* the two syllables and `lo²` is 羅 luó alone. See {@link narrowToAttested}.
|
|
513
|
-
*/
|
|
514
|
-
export function readWadeGiles(text) {
|
|
515
|
-
const [written, isErhua] = splitErhua(normalise(text), false);
|
|
516
|
-
const [spelling, tone] = splitTone(written);
|
|
517
|
-
return narrowToAttested(readFrom(INDEX.exact, (key) => key, spelling, tone, isErhua));
|
|
518
|
-
}
|
|
519
|
-
/**
|
|
520
|
-
* The same, allowing for the marks real-world Wade-Giles drops.
|
|
521
|
-
*
|
|
522
|
-
* `chi` read exactly is 機 jī; read loosely it is jī or 七 qī, because a text
|
|
523
|
-
* that meant `chʻi` may simply never have typed the apostrophe. The exact
|
|
524
|
-
* readings come first, so a caller that wants to believe what was written can
|
|
525
|
-
* take the head of the list and one that wants every possibility can take the
|
|
526
|
-
* lot.
|
|
527
|
-
*
|
|
528
|
-
* Narrowed over the whole list rather than over each half of it, because the
|
|
529
|
-
* two halves are rivals: `pan²` written exactly is a bán that Mandarin does not
|
|
530
|
-
* have, and the reading worth keeping is the 盤 pán of a text that dropped an
|
|
531
|
-
* apostrophe. Read exactly, `pan²` is still bán — there is nothing there to
|
|
532
|
-
* prefer it to.
|
|
533
|
-
*/
|
|
534
|
-
export function readWadeGilesLoosely(text) {
|
|
535
|
-
const exact = readWadeGiles(text);
|
|
536
|
-
const [written, isErhua] = splitErhua(normalise(text), true);
|
|
537
|
-
const [spelling, tone] = splitTone(written);
|
|
538
|
-
const loose = readFrom(INDEX.loose, withoutMarks, spelling, tone, isErhua);
|
|
539
|
-
return narrowToAttested([
|
|
540
|
-
...exact,
|
|
541
|
-
...loose.filter((syllable) => exact.every((other) => !isSameSyllable(other, syllable) || other.erhua !== syllable.erhua)),
|
|
542
|
-
]);
|
|
543
|
-
}
|
|
1
|
+
import { ERHUA_SUFFIX } from "./wade-giles-spelling.js";
|
|
2
|
+
import { INDEX } from "./wade-giles-index.js";
|
|
3
|
+
import { normalise } from "./wade-giles-parse.js";
|
|
4
|
+
import { readWadeGilesLoosely } from "./wade-giles-syllable.js";
|
|
5
|
+
export { writeWadeGiles, writeWadeGilesSpelling, writeWadeGilesWord, } from "./wade-giles-spelling.js";
|
|
6
|
+
export { readWadeGiles, readWadeGilesLoosely } from "./wade-giles-syllable.js";
|
|
544
7
|
/**
|
|
545
8
|
* The longest a Wade-Giles head can be: the longest spelling, plus the 儿化
|
|
546
9
|
* suffix and a tone digit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wade-giles.js","sourceRoot":"","sources":["../../src/transcription/wade-giles.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wade-giles.js","sourceRoot":"","sources":["../../src/transcription/wade-giles.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How Yale spells each part of a syllable, as tables.
|
|
3
|
+
*
|
|
4
|
+
* Separated from the rules that read them, so that this file is only ever a
|
|
5
|
+
* statement of what the system writes.
|
|
6
|
+
*/
|
|
7
|
+
import type { Final, Initial } from "../syllable/phonology.js";
|
|
8
|
+
/**
|
|
9
|
+
* How each initial is spelled.
|
|
10
|
+
*
|
|
11
|
+
* The aspiration pairs read as English does — pinyin b is `b` and pinyin p is
|
|
12
|
+
* `p` — which is the whole point of the system and the one respect in which it
|
|
13
|
+
* is easier than Wade-Giles. The palatals borrow the retroflex letters, since
|
|
14
|
+
* the two series never contrast, except for x: `sy` keeps 西 `syi` from being
|
|
15
|
+
* read as 詩 `shr`.
|
|
16
|
+
*/
|
|
17
|
+
export declare const INITIAL_SPELLINGS: Map<Initial, string>;
|
|
18
|
+
/**
|
|
19
|
+
* How each final is spelled after an initial.
|
|
20
|
+
*
|
|
21
|
+
* The i and ü groups are written with y and the u group with w, which is why
|
|
22
|
+
* so few of them need a second form with no initial in front: 家 jiā is `jya`
|
|
23
|
+
* and 呀 ya is `ya`, the same final spelled the same way.
|
|
24
|
+
*/
|
|
25
|
+
export declare const FINAL_SPELLINGS: Record<Final, string>;
|
|
26
|
+
/**
|
|
27
|
+
* The five finals that are spelled differently with no initial in front of
|
|
28
|
+
* them.
|
|
29
|
+
*
|
|
30
|
+
* Everything else in the i, u and ü groups already carries its y or w, so this
|
|
31
|
+
* is a much shorter list than Wade-Giles needs. 文 wen is the odd one: after an
|
|
32
|
+
* initial the same final is `wun` (敦 dwun), because there the w is the medial
|
|
33
|
+
* rather than the onset.
|
|
34
|
+
*/
|
|
35
|
+
export declare const ZERO_INITIAL_SPELLINGS: Map<"a" | "ai" | "an" | "ang" | "ao" | "e" | "ei" | "en" | "eng" | "er" | "i" | "ia" | "ian" | "iang" | "iao" | "ie" | "in" | "ing" | "io" | "iong" | "iou" | "m" | "n" | "ng" | "o" | "ong" | "ou" | "u" | "ua" | "uai" | "uan" | "uang" | "uei" | "uen" | "ueng" | "uo" | "ê" | "ü" | "üan" | "üe" | "ün", string>;
|
|
36
|
+
/**
|
|
37
|
+
* The initials after which pinyin's -o final is really -uo, and Yale writes it
|
|
38
|
+
* so: 波 bō is `bwo`, against 咯 lo which is `lo`.
|
|
39
|
+
*/
|
|
40
|
+
export declare const LABIAL_INITIALS: Set<Initial>;
|
|
41
|
+
/**
|
|
42
|
+
* The letter the empty rhyme is written with after each series.
|
|
43
|
+
*
|
|
44
|
+
* 知 is `jr` and 資 is `dz`: the i of zhi and zi is the syllabic continuation
|
|
45
|
+
* of the initial rather than a vowel, and Yale writes that continuation as a
|
|
46
|
+
* letter. Where the initial already ends in it — `r` and `dz` — it is not
|
|
47
|
+
* written twice, which is why 日 rì is `r` and 字 zì is `dz`.
|
|
48
|
+
*/
|
|
49
|
+
export declare const EMPTY_RHYME_LETTERS: Map<Initial, string>;
|
|
50
|
+
/**
|
|
51
|
+
* The 儿化 suffix, which Yale writes as pinyin does.
|
|
52
|
+
*/
|
|
53
|
+
export declare const ERHUA_SUFFIX = "r";
|
|
54
|
+
//# sourceMappingURL=yale-tables.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yale-tables.d.ts","sourceRoot":"","sources":["../../src/transcription/yale-tables.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,sBAsB5B,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CA0CjD,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,sTAMjC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,eAAe,cAAyC,CAAC;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,sBAQ9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY,MAAM,CAAC"}
|