@kensio/pinyinjs 1.7.3 → 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 +2 -2
|
@@ -35,546 +35,8 @@ import { NEUTRAL_TONE } from "../tone/tone.js";
|
|
|
35
35
|
* The four tones, for building the index.
|
|
36
36
|
*/
|
|
37
37
|
const CONTOUR_TONES = [1, 2, 3, 4];
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
*
|
|
41
|
-
* GR uses the voiced letters for the unaspirated series, as pinyin does, so
|
|
42
|
-
* this half of the table is nearly pinyin's own. The three that differ are the
|
|
43
|
-
* alveolar affricates — `tz` and `ts` for pinyin z and c — and the palatals,
|
|
44
|
-
* which GR does not distinguish from the retroflexes at all: `j`, `ch` and `sh`
|
|
45
|
-
* stand for both series, and it is the following `i` that says which. That is
|
|
46
|
-
* why pinyin zhu, ju and jiu come out as `ju`, `jiu` and `jiou`.
|
|
47
|
-
*/
|
|
48
|
-
const INITIAL_SPELLINGS = new Map([
|
|
49
|
-
["b", "b"],
|
|
50
|
-
["p", "p"],
|
|
51
|
-
["m", "m"],
|
|
52
|
-
["f", "f"],
|
|
53
|
-
["d", "d"],
|
|
54
|
-
["t", "t"],
|
|
55
|
-
["n", "n"],
|
|
56
|
-
["l", "l"],
|
|
57
|
-
["g", "g"],
|
|
58
|
-
["k", "k"],
|
|
59
|
-
["h", "h"],
|
|
60
|
-
["j", "j"],
|
|
61
|
-
["q", "ch"],
|
|
62
|
-
["x", "sh"],
|
|
63
|
-
["zh", "j"],
|
|
64
|
-
["ch", "ch"],
|
|
65
|
-
["sh", "sh"],
|
|
66
|
-
["r", "r"],
|
|
67
|
-
["z", "tz"],
|
|
68
|
-
["c", "ts"],
|
|
69
|
-
["s", "s"],
|
|
70
|
-
]);
|
|
71
|
-
/**
|
|
72
|
-
* How each final is spelled in the basic form.
|
|
73
|
-
*
|
|
74
|
-
* Written out in full, as the finals table of *Spelling in Gwoyeu Romatzyh*
|
|
75
|
-
* has them: `iou` and `uei` rather than pinyin's contracted iu and ui, `iu` for
|
|
76
|
-
* ü, `au` for ao, and `el` for er — the `-r` being spoken for by the second
|
|
77
|
-
* tone.
|
|
78
|
-
*/
|
|
79
|
-
const FINAL_SPELLINGS = {
|
|
80
|
-
a: "a",
|
|
81
|
-
o: "o",
|
|
82
|
-
e: "e",
|
|
83
|
-
ê: "è",
|
|
84
|
-
er: "el",
|
|
85
|
-
ai: "ai",
|
|
86
|
-
ei: "ei",
|
|
87
|
-
ao: "au",
|
|
88
|
-
ou: "ou",
|
|
89
|
-
an: "an",
|
|
90
|
-
en: "en",
|
|
91
|
-
ang: "ang",
|
|
92
|
-
eng: "eng",
|
|
93
|
-
ong: "ong",
|
|
94
|
-
i: "i",
|
|
95
|
-
ia: "ia",
|
|
96
|
-
io: "io",
|
|
97
|
-
ie: "ie",
|
|
98
|
-
iao: "iau",
|
|
99
|
-
iou: "iou",
|
|
100
|
-
ian: "ian",
|
|
101
|
-
in: "in",
|
|
102
|
-
iang: "iang",
|
|
103
|
-
ing: "ing",
|
|
104
|
-
iong: "iong",
|
|
105
|
-
u: "u",
|
|
106
|
-
ua: "ua",
|
|
107
|
-
uo: "uo",
|
|
108
|
-
uai: "uai",
|
|
109
|
-
uei: "uei",
|
|
110
|
-
uan: "uan",
|
|
111
|
-
uen: "uen",
|
|
112
|
-
uang: "uang",
|
|
113
|
-
ueng: "ueng",
|
|
114
|
-
ü: "iu",
|
|
115
|
-
üe: "iue",
|
|
116
|
-
üan: "iuan",
|
|
117
|
-
ün: "iun",
|
|
118
|
-
m: "m",
|
|
119
|
-
n: "n",
|
|
120
|
-
ng: "ng",
|
|
121
|
-
};
|
|
122
|
-
/**
|
|
123
|
-
* The initials after which the empty rhyme is written `-y`.
|
|
124
|
-
*
|
|
125
|
-
* 詩 shī is `shy` and 斯 sī is `sy`, which is the same observation Yale makes
|
|
126
|
-
* with its `r` and `z`: the i of shi is a continuation of the initial rather
|
|
127
|
-
* than a vowel. GR spends a letter of its own on it, and that letter behaves
|
|
128
|
-
* as a vowel for every tonal rule below — `shy`, `shyr`, `shyy`, `shyh`.
|
|
129
|
-
*/
|
|
130
|
-
const EMPTY_RHYME_INITIALS = new Set([
|
|
131
|
-
"zh",
|
|
132
|
-
"ch",
|
|
133
|
-
"sh",
|
|
134
|
-
"r",
|
|
135
|
-
"z",
|
|
136
|
-
"c",
|
|
137
|
-
"s",
|
|
138
|
-
]);
|
|
139
|
-
/**
|
|
140
|
-
* The sonorant initials, which swap what the first two tones do.
|
|
141
|
-
*
|
|
142
|
-
* A syllable beginning l-, m-, n- or r- takes an `-h-` as its second letter in
|
|
143
|
-
* the first tone and is left alone in the second: 媽 mā is `mha` and 麻 má is
|
|
144
|
-
* `ma`. The reason is frequency rather than phonology — these initials carry
|
|
145
|
-
* far more second tones than first ones — and it is the one place where the
|
|
146
|
-
* basic form is not the first tone.
|
|
147
|
-
*/
|
|
148
|
-
const SONORANT_INITIALS = new Set(["l", "m", "n", "r"]);
|
|
149
|
-
/**
|
|
150
|
-
* The letters that count as a vowel for the tonal rules.
|
|
151
|
-
*
|
|
152
|
-
* `y` is the empty rhyme and `è` is pinyin's ê; both are the whole of the rime
|
|
153
|
-
* they appear in, so both take the doubling and the `-r` exactly as a vowel
|
|
154
|
-
* does.
|
|
155
|
-
*/
|
|
156
|
-
const VOWELS = "aeiouyè";
|
|
157
|
-
/**
|
|
158
|
-
* The vowels a tone mark can sit on in pinyin, in the order the rule tries
|
|
159
|
-
* them, which is what "the main vowel" means for the third tone's doubling.
|
|
160
|
-
*/
|
|
161
|
-
const MAIN_VOWELS = ["a", "o", "e"];
|
|
162
|
-
/**
|
|
163
|
-
* The letter 儿化 is written with.
|
|
164
|
-
*
|
|
165
|
-
* `-l` rather than `-r`, the second tone having spoken for the r.
|
|
166
|
-
*/
|
|
167
|
-
const ERHUA_SUFFIX = "l";
|
|
168
|
-
/**
|
|
169
|
-
* The rime each final takes once it is rhotacised, before the `-l`.
|
|
170
|
-
*
|
|
171
|
-
* **GR transcribes 儿化 as it is said rather than as it is spelled**, which is
|
|
172
|
-
* what makes this a table rather than a suffix. 玩儿 wánr is `wal` and not
|
|
173
|
-
* `wanl`, because the -n is not there to hear; 事儿 shìr is `shell`, the empty
|
|
174
|
-
* rhyme having gone entirely; 今儿 jīnr and 鸡儿 jīr are both `jiel`, which is
|
|
175
|
-
* the collapse *Spelling in Gwoyeu Romatzyh* names.
|
|
176
|
-
*
|
|
177
|
-
* The rules it gives, applied here as stated:
|
|
178
|
-
*
|
|
179
|
-
* - `-y`, the empty rhyme, becomes `e`
|
|
180
|
-
* - `i` and `in` become `ie`; `iu` (ü) and `iun` (ün) become `iue`
|
|
181
|
-
* - `ing` becomes `ieng`
|
|
182
|
-
* - every other `-n` disappears without trace
|
|
183
|
-
* - the asyllabic `-i` of `ai`, `uai`, `iai` and `uei` disappears
|
|
184
|
-
*
|
|
185
|
-
* So `al` covers a, an and ai; `el` covers en, ei and the empty rhyme; `uel`
|
|
186
|
-
* covers uen and uei. The tonal rules then apply to the result, which is where
|
|
187
|
-
* `dial` becomes 一點兒's `deal`.
|
|
188
|
-
*/
|
|
189
|
-
const RHOTACISED_RIMES = {
|
|
190
|
-
a: "a",
|
|
191
|
-
o: "o",
|
|
192
|
-
e: "e",
|
|
193
|
-
ê: "è",
|
|
194
|
-
// 兒 is already the rhotic syllable; nothing else attaches to it.
|
|
195
|
-
er: "el",
|
|
196
|
-
ai: "a",
|
|
197
|
-
ei: "e",
|
|
198
|
-
ao: "au",
|
|
199
|
-
ou: "ou",
|
|
200
|
-
an: "a",
|
|
201
|
-
en: "e",
|
|
202
|
-
ang: "ang",
|
|
203
|
-
eng: "eng",
|
|
204
|
-
ong: "ong",
|
|
205
|
-
i: "ie",
|
|
206
|
-
ia: "ia",
|
|
207
|
-
io: "io",
|
|
208
|
-
ie: "ie",
|
|
209
|
-
iao: "iau",
|
|
210
|
-
iou: "iou",
|
|
211
|
-
ian: "ia",
|
|
212
|
-
in: "ie",
|
|
213
|
-
iang: "iang",
|
|
214
|
-
ing: "ieng",
|
|
215
|
-
iong: "iong",
|
|
216
|
-
u: "u",
|
|
217
|
-
ua: "ua",
|
|
218
|
-
uo: "uo",
|
|
219
|
-
uai: "ua",
|
|
220
|
-
uei: "ue",
|
|
221
|
-
uan: "ua",
|
|
222
|
-
uen: "ue",
|
|
223
|
-
uang: "uang",
|
|
224
|
-
ueng: "ueng",
|
|
225
|
-
ü: "iue",
|
|
226
|
-
üe: "iue",
|
|
227
|
-
üan: "iua",
|
|
228
|
-
ün: "iue",
|
|
229
|
-
// The syllabic nasals, which GR does not spell at all: see writeGwoyeu.
|
|
230
|
-
m: "m",
|
|
231
|
-
n: "n",
|
|
232
|
-
ng: "ng",
|
|
233
|
-
};
|
|
234
|
-
/**
|
|
235
|
-
* The rhotacised rime of the empty rhyme, which `-y` becomes.
|
|
236
|
-
*/
|
|
237
|
-
const RHOTACISED_EMPTY_RHYME = "e";
|
|
238
|
-
/**
|
|
239
|
-
* The last tone in which a final writes an apostrophe before the `-l`.
|
|
240
|
-
*
|
|
241
|
-
* Three finals need one, because the fusion above has made them collide with a
|
|
242
|
-
* rime that was already there. `e` rhotacised is `e'l`, `er'l` and `ee'l`, to
|
|
243
|
-
* keep it apart from the `el`, `erl` and `eel` that en, ei and the empty rhyme
|
|
244
|
-
* give; `ie` and `iue` take one in the first two tones only, since in the third
|
|
245
|
-
* and fourth they merge with i and iu anyway. The fourth tone of `e` needs no
|
|
246
|
-
* apostrophe either, `ehl` being distinct from `ell` on its own.
|
|
247
|
-
*/
|
|
248
|
-
const APOSTROPHE_TONES = new Map([
|
|
249
|
-
["e", 3],
|
|
250
|
-
["ie", 2],
|
|
251
|
-
["üe", 2],
|
|
252
|
-
]);
|
|
253
|
-
/**
|
|
254
|
-
* The apostrophe those three finals take.
|
|
255
|
-
*/
|
|
256
|
-
const APOSTROPHE = "'";
|
|
257
|
-
/**
|
|
258
|
-
* The dot written in front of a neutral-tone syllable.
|
|
259
|
-
*
|
|
260
|
-
* A full stop, which is how GR writes it in print. Chao's own practice is to
|
|
261
|
-
* use it on a word's first appearance rather than throughout; this module
|
|
262
|
-
* always writes it, because it is the only thing in GR that can say "neutral"
|
|
263
|
-
* rather than leaving it to be inferred.
|
|
264
|
-
*/
|
|
265
|
-
const NEUTRAL_MARK = ".";
|
|
266
|
-
/**
|
|
267
|
-
* Whether a letter is one the tonal rules treat as a vowel.
|
|
268
|
-
*
|
|
269
|
-
* Spelled out rather than written `VOWELS.includes(letter)` because
|
|
270
|
-
* `"aeiouyè".includes("")` is true, and the letter before the first one of a
|
|
271
|
-
* spelling is exactly that: the empty string. A rule asking "is the letter
|
|
272
|
-
* before this one a vowel" would silently say yes at the start of every
|
|
273
|
-
* syllable.
|
|
274
|
-
*/
|
|
275
|
-
function isVowel(letter) {
|
|
276
|
-
return letter !== undefined && letter !== "" && VOWELS.includes(letter);
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* How a final is spelled after a given initial.
|
|
280
|
-
*/
|
|
281
|
-
function rimeSpelling(initial, final) {
|
|
282
|
-
return final === "i" && EMPTY_RHYME_INITIALS.has(initial)
|
|
283
|
-
? "y"
|
|
284
|
-
: FINAL_SPELLINGS[final];
|
|
285
|
-
}
|
|
286
|
-
/**
|
|
287
|
-
* The basic form of a syllable: the spelling every tonal rule starts from.
|
|
288
|
-
*/
|
|
289
|
-
function basicForm(syllable) {
|
|
290
|
-
const { initial, final } = syllable;
|
|
291
|
-
const spelt = INITIAL_SPELLINGS.get(initial) ?? "";
|
|
292
|
-
return `${spelt}${rimeSpelling(initial, final)}`;
|
|
293
|
-
}
|
|
294
|
-
/**
|
|
295
|
-
* Where the rime's vowels start and end.
|
|
296
|
-
*
|
|
297
|
-
* The five syllables with no vowel letter at all — the syllabic nasals 呣, 唔,
|
|
298
|
-
* 嗯 and their aspirated pair — fall back to the last letter, so that the rules
|
|
299
|
-
* asking for "the vowel" have something to work on. GR has no attested
|
|
300
|
-
* spelling for any of them; see `docs/romanization/`.
|
|
301
|
-
*/
|
|
302
|
-
function vowelSpan(form) {
|
|
303
|
-
let start = 0;
|
|
304
|
-
while (start < form.length && !isVowel(form[start])) {
|
|
305
|
-
start += 1;
|
|
306
|
-
}
|
|
307
|
-
if (start === form.length) {
|
|
308
|
-
return [form.length - 1, form.length - 1];
|
|
309
|
-
}
|
|
310
|
-
let end = start;
|
|
311
|
-
while (isVowel(form[end + 1])) {
|
|
312
|
-
end += 1;
|
|
313
|
-
}
|
|
314
|
-
return [start, end];
|
|
315
|
-
}
|
|
316
|
-
/**
|
|
317
|
-
* Tone 1: the basic form, with `-h-` inserted after a sonorant initial.
|
|
318
|
-
*/
|
|
319
|
-
function firstTone(form, initial) {
|
|
320
|
-
return SONORANT_INITIALS.has(initial)
|
|
321
|
-
? `${form.slice(0, 1)}h${form.slice(1)}`
|
|
322
|
-
: form;
|
|
323
|
-
}
|
|
324
|
-
/**
|
|
325
|
-
* The i or u a glide can be written on, turned into y or w.
|
|
326
|
-
*
|
|
327
|
-
* The rule is `NiV → NyV` and `NuV → NwV`, where N is a non-vowel or nothing at
|
|
328
|
-
* all: the i or u has to be the medial rather than part of a diphthong, which
|
|
329
|
-
* is what the "not preceded by a vowel" test says. The `+ -i if final` clause
|
|
330
|
-
* covers the rimes that are nothing but the medial — `i` becomes `yi` and not
|
|
331
|
-
* a bare `y`.
|
|
332
|
-
*/
|
|
333
|
-
function glided(form) {
|
|
334
|
-
for (const [letter, glide] of [
|
|
335
|
-
["i", "y"],
|
|
336
|
-
["u", "w"],
|
|
337
|
-
]) {
|
|
338
|
-
const at = form.indexOf(letter);
|
|
339
|
-
if (at !== -1 && !isVowel(form[at - 1])) {
|
|
340
|
-
const rest = form.slice(at + 1);
|
|
341
|
-
return `${form.slice(0, at)}${glide}${rest === "" ? letter : rest}`;
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
return undefined;
|
|
345
|
-
}
|
|
346
|
-
/**
|
|
347
|
-
* Tone 2: i/u to y/w, or an `-r` after the vowels.
|
|
348
|
-
*/
|
|
349
|
-
function secondTone(form, initial) {
|
|
350
|
-
if (SONORANT_INITIALS.has(initial)) {
|
|
351
|
-
return form;
|
|
352
|
-
}
|
|
353
|
-
const glide = glided(form);
|
|
354
|
-
if (glide !== undefined) {
|
|
355
|
-
return glide;
|
|
356
|
-
}
|
|
357
|
-
const [, end] = vowelSpan(form);
|
|
358
|
-
return `${form.slice(0, end + 1)}r${form.slice(end + 1)}`;
|
|
359
|
-
}
|
|
360
|
-
/**
|
|
361
|
-
* The i or u a third tone can be swapped for e or o.
|
|
362
|
-
*
|
|
363
|
-
* `Vi`/`iV` becomes `Ve`/`eV` and `Vu`/`uV` becomes `Vo`/`oV`, so the letter
|
|
364
|
-
* has to sit beside a vowel; where both an i and a u are available it is
|
|
365
|
-
* whichever comes *first* that changes, which is why 交 jiǎo is `jeau` and not
|
|
366
|
-
* `jiao`. The swap is abandoned where it would produce `ee` or `oo`, both of
|
|
367
|
-
* which are the doubling below and would collide with it.
|
|
368
|
-
*/
|
|
369
|
-
function swapped(form) {
|
|
370
|
-
const found = [
|
|
371
|
-
["i", "e"],
|
|
372
|
-
["u", "o"],
|
|
373
|
-
]
|
|
374
|
-
.map(([letter, swap]) => [form.indexOf(letter), swap])
|
|
375
|
-
.filter(([at]) => at !== -1)
|
|
376
|
-
.toSorted((one, other) => one[0] - other[0])[0];
|
|
377
|
-
if (found === undefined) {
|
|
378
|
-
return undefined;
|
|
379
|
-
}
|
|
380
|
-
const [at, swap] = found;
|
|
381
|
-
const before = form[at - 1];
|
|
382
|
-
const after = form[at + 1];
|
|
383
|
-
const isBeside = isVowel(before) || isVowel(after);
|
|
384
|
-
const isDoubles = before === swap || after === swap;
|
|
385
|
-
return isBeside && !isDoubles
|
|
386
|
-
? `${form.slice(0, at)}${swap}${form.slice(at + 1)}`
|
|
387
|
-
: undefined;
|
|
388
|
-
}
|
|
389
|
-
/**
|
|
390
|
-
* Tone 3, where the swap does not apply: double the main vowel.
|
|
391
|
-
*
|
|
392
|
-
* The main vowel is the one a pinyin tone mark would sit on — a, then o or e,
|
|
393
|
-
* then the last vowel there is — so 請 qǐng is `chiing` and 給 gěi is `geei`.
|
|
394
|
-
*/
|
|
395
|
-
function doubled(form) {
|
|
396
|
-
const [start, end] = vowelSpan(form);
|
|
397
|
-
const rime = form.slice(start, end + 1);
|
|
398
|
-
const main = MAIN_VOWELS.map((vowel) => rime.indexOf(vowel)).find((at) => at !== -1);
|
|
399
|
-
const at = start + (main ?? rime.length - 1);
|
|
400
|
-
return `${form.slice(0, at + 1)}${form.slice(at, at + 1)}${form.slice(at + 1)}`;
|
|
401
|
-
}
|
|
402
|
-
/**
|
|
403
|
-
* Tone 3: i/u to e/o beside a vowel, or the main vowel doubled.
|
|
404
|
-
*/
|
|
405
|
-
function thirdTone(form) {
|
|
406
|
-
return swapped(form) ?? doubled(form);
|
|
407
|
-
}
|
|
408
|
-
/**
|
|
409
|
-
* Tone 4: change or double the last letter, or add `-h`.
|
|
410
|
-
*
|
|
411
|
-
* The `⇏iw` clause is why 去 qù is `chiuh` and not `chiw`: the u of `iu` is the
|
|
412
|
-
* ü rather than the second half of a diphthong, and turning it into a w would
|
|
413
|
-
* say the wrong thing about the vowel.
|
|
414
|
-
*/
|
|
415
|
-
function fourthTone(form) {
|
|
416
|
-
const last = form.slice(-1);
|
|
417
|
-
const before = form.slice(-2, -1);
|
|
418
|
-
if (last === "i" && isVowel(before)) {
|
|
419
|
-
return `${form.slice(0, -1)}y`;
|
|
420
|
-
}
|
|
421
|
-
if (last === "u" && isVowel(before) && before !== "i") {
|
|
422
|
-
return `${form.slice(0, -1)}w`;
|
|
423
|
-
}
|
|
424
|
-
if (form.endsWith("ng")) {
|
|
425
|
-
return `${form.slice(0, -2)}nq`;
|
|
426
|
-
}
|
|
427
|
-
if (last === "n" || last === "l") {
|
|
428
|
-
return `${form}${last}`;
|
|
429
|
-
}
|
|
430
|
-
return `${form}h`;
|
|
431
|
-
}
|
|
432
|
-
/**
|
|
433
|
-
* Put the y- or w- on a syllable that has no initial, in tones 3 and 4.
|
|
434
|
-
*
|
|
435
|
-
* **This is the one place where the published rules needed amending, and the
|
|
436
|
-
* amendment is a correction of one word.** They say that a basic form starting
|
|
437
|
-
* i- or u- has that letter *replaced* by y- or w- (tone 4), or changed to e- or
|
|
438
|
-
* o- with a y- or w- added (tone 3). Applied literally that deletes a vowel the
|
|
439
|
-
* attested spellings keep: 一 yī's basic form is `i`, and tone 4 comes out `yh`
|
|
440
|
-
* where the source has `yih`. Nine cells of the syllabary fail that way, all of
|
|
441
|
-
* them a rime that is bare or closed by a consonant — `yii`, `yih`, `wuu`,
|
|
442
|
-
* `wuh`, `yiin`, `yinn`, `yiing`, `yinq`, `yuh`.
|
|
443
|
-
*
|
|
444
|
-
* The rime table of *Spelling in Gwoyeu Romatzyh* says what actually happens,
|
|
445
|
-
* and it is one rule rather than two: **the letter replaced is a medial**, so
|
|
446
|
-
* it goes only when a different vowel follows it. `iuh` has a u after the i and
|
|
447
|
-
* becomes `yuh`; `ih` has an h and becomes `yih`; `ii` has the same vowel
|
|
448
|
-
* doubled, which is not a following vowel at all, and becomes `yii`. Tone 3
|
|
449
|
-
* needs no separate clause once that is said, because its own swap has already
|
|
450
|
-
* eaten the medial wherever there was one.
|
|
451
|
-
*/
|
|
452
|
-
function zeroInitial(form, basic) {
|
|
453
|
-
const onset = basic.slice(0, 1);
|
|
454
|
-
if (onset !== "i" && onset !== "u") {
|
|
455
|
-
return form;
|
|
456
|
-
}
|
|
457
|
-
const glide = onset === "i" ? "y" : "w";
|
|
458
|
-
const next = form[1];
|
|
459
|
-
const isMedial = form.slice(0, 1) === onset && isVowel(next) && next !== onset;
|
|
460
|
-
return `${glide}${isMedial ? form.slice(1) : form}`;
|
|
461
|
-
}
|
|
462
|
-
/**
|
|
463
|
-
* Apply the tonal rules to a basic form, which is the whole of them.
|
|
464
|
-
*/
|
|
465
|
-
function tonalForm(basic, initial, tone) {
|
|
466
|
-
if (tone === 1) {
|
|
467
|
-
return firstTone(basic, initial);
|
|
468
|
-
}
|
|
469
|
-
if (tone === 2) {
|
|
470
|
-
return secondTone(basic, initial);
|
|
471
|
-
}
|
|
472
|
-
const changed = tone === 3 ? thirdTone(basic) : fourthTone(basic);
|
|
473
|
-
return initial === "" ? zeroInitial(changed, basic) : changed;
|
|
474
|
-
}
|
|
475
|
-
/**
|
|
476
|
-
* Spell a syllable in a given tone.
|
|
477
|
-
*/
|
|
478
|
-
function toneForm(syllable, tone) {
|
|
479
|
-
return tonalForm(basicForm(syllable), syllable.initial, tone);
|
|
480
|
-
}
|
|
481
|
-
/**
|
|
482
|
-
* The basic rhotacised form of a syllable: the spelling before the `-l`.
|
|
483
|
-
*/
|
|
484
|
-
function rhotacisedForm(syllable) {
|
|
485
|
-
const { initial, final } = syllable;
|
|
486
|
-
const rime = final === "i" && EMPTY_RHYME_INITIALS.has(initial)
|
|
487
|
-
? RHOTACISED_EMPTY_RHYME
|
|
488
|
-
: RHOTACISED_RIMES[final];
|
|
489
|
-
return `${INITIAL_SPELLINGS.get(initial) ?? ""}${rime}`;
|
|
490
|
-
}
|
|
491
|
-
/**
|
|
492
|
-
* Whether a rhotacised rime spells its fourth tone rather than doubling the l.
|
|
493
|
-
*
|
|
494
|
-
* The fourth tone of a rhotacised syllable doubles the `-l` — `nal` becomes
|
|
495
|
-
* `nall` — except where the rime has a fourth tone of its own to spell, and
|
|
496
|
-
* then it spells that and adds the l on the end: `aul` becomes `awl` and `angl`
|
|
497
|
-
* becomes `anql`. *Spelling in Gwoyeu Romatzyh* lists the exceptions as
|
|
498
|
-
* `awl, owl, anql, enql, onql` and `ehl`, which is every rime ending in a
|
|
499
|
-
* diphthong's -u or in -ng, plus the `e` that takes the apostrophe.
|
|
500
|
-
*/
|
|
501
|
-
function isOwnFourthTone(final, rime) {
|
|
502
|
-
return final === "e" || /(?:[aeiou]u|ng)$/u.test(rime);
|
|
503
|
-
}
|
|
504
|
-
/**
|
|
505
|
-
* Spell a rhotacised syllable in a given tone.
|
|
506
|
-
*/
|
|
507
|
-
function rhotacisedTone(syllable, tone) {
|
|
508
|
-
const { initial, final } = syllable;
|
|
509
|
-
const basic = rhotacisedForm(syllable);
|
|
510
|
-
if (tone === 4) {
|
|
511
|
-
const spelt = isOwnFourthTone(final, basic)
|
|
512
|
-
? `${fourthTone(basic)}${ERHUA_SUFFIX}`
|
|
513
|
-
: `${basic}${ERHUA_SUFFIX}${ERHUA_SUFFIX}`;
|
|
514
|
-
return initial === "" ? zeroInitial(spelt, basic) : spelt;
|
|
515
|
-
}
|
|
516
|
-
const apostrophe = tone <= (APOSTROPHE_TONES.get(final) ?? 0) ? APOSTROPHE : "";
|
|
517
|
-
return `${tonalForm(basic, initial, tone)}${apostrophe}${ERHUA_SUFFIX}`;
|
|
518
|
-
}
|
|
519
|
-
/**
|
|
520
|
-
* Spell a syllable in a given tone, rhotacised or not.
|
|
521
|
-
*/
|
|
522
|
-
function spelling(syllable, tone) {
|
|
523
|
-
return syllable.erhua === true
|
|
524
|
-
? rhotacisedTone(syllable, tone)
|
|
525
|
-
: toneForm(syllable, tone);
|
|
526
|
-
}
|
|
527
|
-
/**
|
|
528
|
-
* The basic form of a syllable, rhotacised or not.
|
|
529
|
-
*
|
|
530
|
-
* The spelling before any tonal rule has touched it, which is the first tone
|
|
531
|
-
* for every initial but the sonorants and the second tone for those. It is
|
|
532
|
-
* what a neutral syllable with no original tone is written as.
|
|
533
|
-
*/
|
|
534
|
-
function basicSpelling(syllable) {
|
|
535
|
-
if (syllable.erhua !== true) {
|
|
536
|
-
return basicForm(syllable);
|
|
537
|
-
}
|
|
538
|
-
const apostrophe = APOSTROPHE_TONES.has(syllable.final) ? APOSTROPHE : "";
|
|
539
|
-
return `${rhotacisedForm(syllable)}${apostrophe}${ERHUA_SUFFIX}`;
|
|
540
|
-
}
|
|
541
|
-
/**
|
|
542
|
-
* Write a syllable in Gwoyeu Romatzyh: 就 jiù becomes `jiow`.
|
|
543
|
-
*
|
|
544
|
-
* An unwritten tone is written as the first-tone form, because GR has no other
|
|
545
|
-
* form to write — which means it reads back as a first tone, exactly as
|
|
546
|
-
* bopomofo's unmarked syllable does.
|
|
547
|
-
*
|
|
548
|
-
* The neutral tone takes the dot in front, and behind it goes the syllable's
|
|
549
|
-
* original tonal spelling where {@link Syllable.originalTone} says what that
|
|
550
|
-
* was: 没有 méiyou is `mei.yeou`. Where it does not, the basic form goes there
|
|
551
|
-
* instead — which is what GR itself writes for a syllable that is neutral in
|
|
552
|
-
* its own right, 什么 shénme being `shern.me`. The basic form is not the first
|
|
553
|
-
* tone for a sonorant initial, and writing `.mhe` would say the 么 was one.
|
|
554
|
-
*/
|
|
555
|
-
export function writeGwoyeu(syllable) {
|
|
556
|
-
const { tone, originalTone } = syllable;
|
|
557
|
-
if (tone === NEUTRAL_TONE) {
|
|
558
|
-
const spelt = originalTone === undefined || originalTone === NEUTRAL_TONE
|
|
559
|
-
? basicSpelling(syllable)
|
|
560
|
-
: spelling(syllable, originalTone);
|
|
561
|
-
return `${NEUTRAL_MARK}${spelt}`;
|
|
562
|
-
}
|
|
563
|
-
return spelling(syllable, tone ?? 1);
|
|
564
|
-
}
|
|
565
|
-
/**
|
|
566
|
-
* Write a word in Gwoyeu Romatzyh, one syllable after another.
|
|
567
|
-
*
|
|
568
|
-
* Solid, as GR writes a word: 北京 is `Beeijing`, which is the convention
|
|
569
|
-
* pinyin inherited. GR uses an apostrophe where the join is ambiguous — its own
|
|
570
|
-
* name for pinyin, `Pin'in`, is the standard example — and that is not written
|
|
571
|
-
* here, for the same reason `readGwoyeu` takes one syllable at a time: knowing
|
|
572
|
-
* where the boundary is ambiguous means being able to split the word, and
|
|
573
|
-
* nothing here splits a GR word.
|
|
574
|
-
*/
|
|
575
|
-
export function writeGwoyeuWord(syllables) {
|
|
576
|
-
return syllables.map((syllable) => writeGwoyeu(syllable)).join("");
|
|
577
|
-
}
|
|
38
|
+
import { NEUTRAL_MARK, rhotacisedTone, toneForm } from "./gwoyeu-spelling.js";
|
|
39
|
+
export { writeGwoyeu, writeGwoyeuWord } from "./gwoyeu-spelling.js";
|
|
578
40
|
/**
|
|
579
41
|
* Every syllable each spelling stands for, keyed per tone.
|
|
580
42
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gwoyeu.js","sourceRoot":"","sources":["../../src/transcription/gwoyeu.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gwoyeu.js","sourceRoot":"","sources":["../../src/transcription/gwoyeu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EACL,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAiB,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C;;GAEG;AACH,MAAM,aAAa,GAA2B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEpE;;;;;;;GAOG;AACH,SAAS,eAAe;IACtB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC5C,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,QAAkB,EAAQ,EAAE;QACpD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,oBAAoB,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACtC,6EAA6E;QAC7E,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACtD,GAAG,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;AAEhC;;;;;;;;;GASG;AACH,SAAS,MAAM,CAAC,QAAgB;IAC9B,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,CAClB,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CACzD,CAAC;IACF,OAAO,gBAAgB,CACrB,SAAS;QACP,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACvB,GAAG,QAAQ;YACX,IAAI,EAAE,YAAY;YAClB,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;SACpE,CAAC,CAAC;QACL,CAAC,CAAC,KAAK,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The IPA symbols each part of a syllable is written with, as tables.
|
|
3
|
+
*
|
|
4
|
+
* A broad transcription rather than a narrow one — see `ipa.ts` for what that
|
|
5
|
+
* settles and what it leaves out.
|
|
6
|
+
*/
|
|
7
|
+
import type { Final, Initial } from "../syllable/phonology.js";
|
|
8
|
+
/**
|
|
9
|
+
* The symbol each initial is transcribed with.
|
|
10
|
+
*
|
|
11
|
+
* The aspiration series is where pinyin's letters mislead most: pinyin b is
|
|
12
|
+
* [p], and pinyin p is [pʰ]. Nothing in Mandarin is voiced here, which is what
|
|
13
|
+
* both Wade-Giles and Yale are working around in their own directions.
|
|
14
|
+
*/
|
|
15
|
+
export declare const INITIAL_SYMBOLS: Map<Initial, string>;
|
|
16
|
+
/**
|
|
17
|
+
* The symbols each final is transcribed with.
|
|
18
|
+
*
|
|
19
|
+
* The vowels are where the transcription and the spelling part company: pinyin
|
|
20
|
+
* writes one e for [ɤ], [ə] and [ɛ], and one i for [i] and [ɨ], because a
|
|
21
|
+
* spelling can let the context do the work and a transcription cannot. 天 tiān
|
|
22
|
+
* is [tʰiɛn] and 恩 ēn is [ən].
|
|
23
|
+
*/
|
|
24
|
+
export declare const FINAL_SYMBOLS: Record<Final, string>;
|
|
25
|
+
/**
|
|
26
|
+
* The initials after which the i final is the empty rhyme [ɨ].
|
|
27
|
+
*/
|
|
28
|
+
export declare const EMPTY_RHYME_INITIALS: Set<Initial>;
|
|
29
|
+
/**
|
|
30
|
+
* The initials after which pinyin's -o final is [uo] rather than [ɔ].
|
|
31
|
+
*/
|
|
32
|
+
export declare const LABIAL_INITIALS: Set<Initial>;
|
|
33
|
+
/**
|
|
34
|
+
* What 儿化 adds.
|
|
35
|
+
*
|
|
36
|
+
* A suffix, and that is an approximation this module states rather than hides:
|
|
37
|
+
* a rhotacised syllable is not the plain one with [ɚ] after it. 玩儿 wánr is
|
|
38
|
+
* [wɑɚ̯] with the nasal gone, and 味儿 wèir keeps its glide while 事儿 shìr
|
|
39
|
+
* loses its empty rhyme entirely. Modelling that needs a rhyme-by-rhyme table
|
|
40
|
+
* of fused forms, which is a phonological claim rather than a transcription
|
|
41
|
+
* convention, and it is not made here.
|
|
42
|
+
*/
|
|
43
|
+
export declare const ERHUA_SUFFIX = "\u025A";
|
|
44
|
+
/**
|
|
45
|
+
* The Chao tone letter each tone is written with.
|
|
46
|
+
*
|
|
47
|
+
* The neutral tone has none: it has no contour of its own, taking its pitch
|
|
48
|
+
* from the syllable before it, and the transcription leaves it unwritten. That
|
|
49
|
+
* is bopomofo's problem in reverse — bopomofo cannot say "no tone", and this
|
|
50
|
+
* cannot say "neutral".
|
|
51
|
+
*/
|
|
52
|
+
export declare const TONE_LETTERS: Map<1 | 2 | 3 | 4 | 5, string>;
|
|
53
|
+
/**
|
|
54
|
+
* How an IPA syllable writes its tone.
|
|
55
|
+
*
|
|
56
|
+
* Chao's tone letters are the standard notation and the default; `numbers`
|
|
57
|
+
* writes his pitch numerals instead (55, 35, 214, 51), which is what a plain
|
|
58
|
+
* ASCII field wants.
|
|
59
|
+
*/
|
|
60
|
+
export interface IpaOptions {
|
|
61
|
+
readonly tones?: "letters" | "numbers" | "none";
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* The pitch value each tone is numbered with, in Chao's own notation.
|
|
65
|
+
*/
|
|
66
|
+
export declare const TONE_NUMBERS: Map<1 | 2 | 3 | 4 | 5, string>;
|
|
67
|
+
//# sourceMappingURL=ipa-symbols.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipa-symbols.d.ts","sourceRoot":"","sources":["../../src/transcription/ipa-symbols.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAG/D;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,sBAsB1B,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CA0C/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,cAQ/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,cAAyC,CAAC;AAEtE;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,WAAM,CAAC;AAEhC;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,gCAMvB,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;CACjD;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,gCAMvB,CAAC"}
|