@kensio/pinyinjs 1.7.4 → 1.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +128 -123
- package/data/full.entries +2595 -2595
- package/data/manifest.json +5 -5
- package/data/script.map +66 -3
- package/dist/accuracy/score-case.d.ts +23 -0
- package/dist/accuracy/score-case.d.ts.map +1 -0
- package/dist/accuracy/score-case.js +63 -0
- package/dist/accuracy/score-case.js.map +1 -0
- package/dist/accuracy/score.d.ts +1 -8
- package/dist/accuracy/score.d.ts.map +1 -1
- package/dist/accuracy/score.js +1 -55
- package/dist/accuracy/score.js.map +1 -1
- package/dist/cli/arguments.d.ts +4 -290
- package/dist/cli/arguments.d.ts.map +1 -1
- package/dist/cli/arguments.js +5 -357
- package/dist/cli/arguments.js.map +1 -1
- package/dist/cli/check-command.d.ts +9 -0
- package/dist/cli/check-command.d.ts.map +1 -0
- package/dist/cli/check-command.js +95 -0
- package/dist/cli/check-command.js.map +1 -0
- package/dist/cli/cli-input.d.ts +49 -0
- package/dist/cli/cli-input.d.ts.map +1 -0
- package/dist/cli/cli-input.js +31 -0
- package/dist/cli/cli-input.js.map +1 -0
- package/dist/cli/command.d.ts +97 -0
- package/dist/cli/command.d.ts.map +1 -0
- package/dist/cli/command.js +40 -0
- package/dist/cli/command.js.map +1 -0
- package/dist/cli/commands.d.ts +7 -110
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +14 -991
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/convert-command.d.ts +6 -0
- package/dist/cli/convert-command.d.ts.map +1 -0
- package/dist/cli/convert-command.js +52 -0
- package/dist/cli/convert-command.js.map +1 -0
- package/dist/cli/environment.d.ts +1 -1
- package/dist/cli/environment.d.ts.map +1 -1
- package/dist/cli/explain-command.d.ts +6 -0
- package/dist/cli/explain-command.d.ts.map +1 -0
- package/dist/cli/explain-command.js +40 -0
- package/dist/cli/explain-command.js.map +1 -0
- package/dist/cli/explain-syllable.d.ts +10 -0
- package/dist/cli/explain-syllable.d.ts.map +1 -0
- package/dist/cli/explain-syllable.js +70 -0
- package/dist/cli/explain-syllable.js.map +1 -0
- package/dist/cli/flag-help.d.ts +18 -0
- package/dist/cli/flag-help.d.ts.map +1 -0
- package/dist/cli/flag-help.js +78 -0
- package/dist/cli/flag-help.js.map +1 -0
- package/dist/cli/flag-lists.d.ts +49 -0
- package/dist/cli/flag-lists.d.ts.map +1 -0
- package/dist/cli/flag-lists.js +58 -0
- package/dist/cli/flag-lists.js.map +1 -0
- package/dist/cli/flag-values.d.ts +44 -0
- package/dist/cli/flag-values.d.ts.map +1 -0
- package/dist/cli/flag-values.js +56 -0
- package/dist/cli/flag-values.js.map +1 -0
- package/dist/cli/flags.d.ts +193 -0
- package/dist/cli/flags.d.ts.map +1 -0
- package/dist/cli/flags.js +133 -0
- package/dist/cli/flags.js.map +1 -0
- package/dist/cli/format-options.d.ts +29 -0
- package/dist/cli/format-options.d.ts.map +1 -0
- package/dist/cli/format-options.js +72 -0
- package/dist/cli/format-options.js.map +1 -0
- package/dist/cli/global-help.d.ts +23 -0
- package/dist/cli/global-help.d.ts.map +1 -0
- package/dist/cli/global-help.js +40 -0
- package/dist/cli/global-help.js.map +1 -0
- package/dist/cli/help.d.ts +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +5 -99
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/html-commands.d.ts +13 -0
- package/dist/cli/html-commands.d.ts.map +1 -0
- package/dist/cli/html-commands.js +49 -0
- package/dist/cli/html-commands.js.map +1 -0
- package/dist/cli/info-command.d.ts +7 -0
- package/dist/cli/info-command.d.ts.map +1 -0
- package/dist/cli/info-command.js +39 -0
- package/dist/cli/info-command.js.map +1 -0
- package/dist/cli/lookup-commands.d.ts +10 -0
- package/dist/cli/lookup-commands.d.ts.map +1 -0
- package/dist/cli/lookup-commands.js +101 -0
- package/dist/cli/lookup-commands.js.map +1 -0
- package/dist/cli/match-command.d.ts +11 -0
- package/dist/cli/match-command.d.ts.map +1 -0
- package/dist/cli/match-command.js +76 -0
- package/dist/cli/match-command.js.map +1 -0
- package/dist/cli/number-command.d.ts +12 -0
- package/dist/cli/number-command.d.ts.map +1 -0
- package/dist/cli/number-command.js +89 -0
- package/dist/cli/number-command.js.map +1 -0
- package/dist/cli/options.d.ts +30 -0
- package/dist/cli/options.d.ts.map +1 -0
- package/dist/cli/options.js +54 -0
- package/dist/cli/options.js.map +1 -0
- package/dist/cli/run-command.d.ts +24 -0
- package/dist/cli/run-command.d.ts.map +1 -0
- package/dist/cli/run-command.js +40 -0
- package/dist/cli/run-command.js.map +1 -0
- package/dist/cli/run.d.ts +4 -42
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +6 -61
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/script-command.d.ts +10 -0
- package/dist/cli/script-command.d.ts.map +1 -0
- package/dist/cli/script-command.js +58 -0
- package/dist/cli/script-command.js.map +1 -0
- package/dist/cli/segment-command.d.ts +11 -0
- package/dist/cli/segment-command.d.ts.map +1 -0
- package/dist/cli/segment-command.js +53 -0
- package/dist/cli/segment-command.js.map +1 -0
- package/dist/cli/slug-command.d.ts +10 -0
- package/dist/cli/slug-command.d.ts.map +1 -0
- package/dist/cli/slug-command.js +28 -0
- package/dist/cli/slug-command.js.map +1 -0
- package/dist/cli/syllable-command.d.ts +14 -0
- package/dist/cli/syllable-command.d.ts.map +1 -0
- package/dist/cli/syllable-command.js +82 -0
- package/dist/cli/syllable-command.js.map +1 -0
- package/dist/cli/system-table.d.ts +12 -0
- package/dist/cli/system-table.d.ts.map +1 -0
- package/dist/cli/system-table.js +48 -0
- package/dist/cli/system-table.js.map +1 -0
- package/dist/cli/systems.d.ts +57 -0
- package/dist/cli/systems.d.ts.map +1 -0
- package/dist/cli/systems.js +27 -0
- package/dist/cli/systems.js.map +1 -0
- package/dist/cli/transcribe-command.d.ts +18 -0
- package/dist/cli/transcribe-command.d.ts.map +1 -0
- package/dist/cli/transcribe-command.js +86 -0
- package/dist/cli/transcribe-command.js.map +1 -0
- package/dist/cli/transcribe-reading.d.ts +15 -0
- package/dist/cli/transcribe-reading.d.ts.map +1 -0
- package/dist/cli/transcribe-reading.js +90 -0
- package/dist/cli/transcribe-reading.js.map +1 -0
- package/dist/cli/transcribe-rows.d.ts +26 -0
- package/dist/cli/transcribe-rows.d.ts.map +1 -0
- package/dist/cli/transcribe-rows.js +30 -0
- package/dist/cli/transcribe-rows.js.map +1 -0
- package/dist/cli/usage-error.d.ts +9 -0
- package/dist/cli/usage-error.d.ts.map +1 -0
- package/dist/cli/usage-error.js +9 -0
- package/dist/cli/usage-error.js.map +1 -0
- package/dist/decode/alternatives.d.ts +16 -0
- package/dist/decode/alternatives.d.ts.map +1 -0
- package/dist/decode/alternatives.js +31 -0
- package/dist/decode/alternatives.js.map +1 -0
- package/dist/decode/chang-context.d.ts +27 -0
- package/dist/decode/chang-context.d.ts.map +1 -0
- package/dist/decode/chang-context.js +66 -0
- package/dist/decode/chang-context.js.map +1 -0
- package/dist/decode/chang-rule.d.ts +37 -0
- package/dist/decode/chang-rule.d.ts.map +1 -0
- package/dist/decode/chang-rule.js +169 -0
- package/dist/decode/chang-rule.js.map +1 -0
- package/dist/decode/confidence.d.ts +11 -3
- package/dist/decode/confidence.d.ts.map +1 -1
- package/dist/decode/confidence.js +14 -121
- package/dist/decode/confidence.js.map +1 -1
- package/dist/decode/convert-options.d.ts +116 -0
- package/dist/decode/convert-options.d.ts.map +1 -0
- package/dist/decode/convert-options.js +2 -0
- package/dist/decode/convert-options.js.map +1 -0
- package/dist/decode/convert-pipeline.d.ts +18 -0
- package/dist/decode/convert-pipeline.d.ts.map +1 -0
- package/dist/decode/convert-pipeline.js +67 -0
- package/dist/decode/convert-pipeline.js.map +1 -0
- package/dist/decode/convert.d.ts +9 -118
- package/dist/decode/convert.d.ts.map +1 -1
- package/dist/decode/convert.js +5 -453
- package/dist/decode/convert.js.map +1 -1
- package/dist/decode/de-rule.d.ts +54 -0
- package/dist/decode/de-rule.d.ts.map +1 -0
- package/dist/decode/de-rule.js +113 -0
- package/dist/decode/de-rule.js.map +1 -0
- package/dist/decode/decode.d.ts +2 -15
- package/dist/decode/decode.d.ts.map +1 -1
- package/dist/decode/decode.js +2 -121
- package/dist/decode/decode.js.map +1 -1
- package/dist/decode/decoders.d.ts +32 -0
- package/dist/decode/decoders.d.ts.map +1 -0
- package/dist/decode/decoders.js +29 -0
- package/dist/decode/decoders.js.map +1 -0
- package/dist/decode/edge-context.d.ts +38 -0
- package/dist/decode/edge-context.d.ts.map +1 -0
- package/dist/decode/edge-context.js +57 -0
- package/dist/decode/edge-context.js.map +1 -0
- package/dist/decode/hint-lattice.d.ts +45 -0
- package/dist/decode/hint-lattice.d.ts.map +1 -0
- package/dist/decode/hint-lattice.js +154 -0
- package/dist/decode/hint-lattice.js.map +1 -0
- package/dist/decode/hints.d.ts +2 -45
- package/dist/decode/hints.d.ts.map +1 -1
- package/dist/decode/hints.js +1 -139
- package/dist/decode/hints.js.map +1 -1
- package/dist/decode/jiao-rule.d.ts +64 -0
- package/dist/decode/jiao-rule.d.ts.map +1 -0
- package/dist/decode/jiao-rule.js +115 -0
- package/dist/decode/jiao-rule.js.map +1 -0
- package/dist/decode/lattice-costs.d.ts +55 -0
- package/dist/decode/lattice-costs.d.ts.map +1 -0
- package/dist/decode/lattice-costs.js +90 -0
- package/dist/decode/lattice-costs.js.map +1 -0
- package/dist/decode/lattice-edges.d.ts +29 -0
- package/dist/decode/lattice-edges.d.ts.map +1 -0
- package/dist/decode/lattice-edges.js +78 -0
- package/dist/decode/lattice-edges.js.map +1 -0
- package/dist/decode/lattice-slice.d.ts +37 -0
- package/dist/decode/lattice-slice.d.ts.map +1 -0
- package/dist/decode/lattice-slice.js +43 -0
- package/dist/decode/lattice-slice.js.map +1 -0
- package/dist/decode/lattice-types.d.ts +101 -0
- package/dist/decode/lattice-types.d.ts.map +1 -0
- package/dist/decode/lattice-types.js +63 -0
- package/dist/decode/lattice-types.js.map +1 -0
- package/dist/decode/lattice.d.ts +2 -59
- package/dist/decode/lattice.d.ts.map +1 -1
- package/dist/decode/lattice.js +2 -118
- package/dist/decode/lattice.js.map +1 -1
- package/dist/decode/number-pieces.d.ts +62 -0
- package/dist/decode/number-pieces.d.ts.map +1 -0
- package/dist/decode/number-pieces.js +106 -0
- package/dist/decode/number-pieces.js.map +1 -0
- package/dist/decode/numbers.d.ts +53 -0
- package/dist/decode/numbers.d.ts.map +1 -0
- package/dist/decode/numbers.js +69 -0
- package/dist/decode/numbers.js.map +1 -0
- package/dist/decode/pieces.d.ts +78 -0
- package/dist/decode/pieces.d.ts.map +1 -0
- package/dist/decode/pieces.js +136 -0
- package/dist/decode/pieces.js.map +1 -0
- package/dist/decode/polyphone-rules.d.ts +11 -0
- package/dist/decode/polyphone-rules.d.ts.map +1 -0
- package/dist/decode/polyphone-rules.js +11 -0
- package/dist/decode/polyphone-rules.js.map +1 -0
- package/dist/decode/reading-rules.d.ts +3 -126
- package/dist/decode/reading-rules.d.ts.map +1 -1
- package/dist/decode/reading-rules.js +8 -434
- package/dist/decode/reading-rules.js.map +1 -1
- package/dist/decode/rules.d.ts +1 -17
- package/dist/decode/rules.d.ts.map +1 -1
- package/dist/decode/rules.js +1 -43
- package/dist/decode/rules.js.map +1 -1
- package/dist/decode/run-lattice.d.ts +52 -0
- package/dist/decode/run-lattice.d.ts.map +1 -0
- package/dist/decode/run-lattice.js +91 -0
- package/dist/decode/run-lattice.js.map +1 -0
- package/dist/decode/run-words.d.ts +17 -0
- package/dist/decode/run-words.d.ts.map +1 -0
- package/dist/decode/run-words.js +29 -0
- package/dist/decode/run-words.js.map +1 -0
- package/dist/decode/sandhi-input.d.ts +30 -0
- package/dist/decode/sandhi-input.d.ts.map +1 -0
- package/dist/decode/sandhi-input.js +35 -0
- package/dist/decode/sandhi-input.js.map +1 -0
- package/dist/decode/sandhi-tones.d.ts +97 -0
- package/dist/decode/sandhi-tones.d.ts.map +1 -0
- package/dist/decode/sandhi-tones.js +139 -0
- package/dist/decode/sandhi-tones.js.map +1 -0
- package/dist/decode/sandhi.d.ts +10 -7
- package/dist/decode/sandhi.d.ts.map +1 -1
- package/dist/decode/sandhi.js +11 -88
- package/dist/decode/sandhi.js.map +1 -1
- package/dist/decode/script-types.d.ts +76 -0
- package/dist/decode/script-types.d.ts.map +1 -0
- package/dist/decode/script-types.js +35 -0
- package/dist/decode/script-types.js.map +1 -0
- package/dist/decode/script-words.d.ts +32 -0
- package/dist/decode/script-words.d.ts.map +1 -0
- package/dist/decode/script-words.js +77 -0
- package/dist/decode/script-words.js.map +1 -0
- package/dist/decode/script.d.ts +3 -73
- package/dist/decode/script.d.ts.map +1 -1
- package/dist/decode/script.js +3 -109
- package/dist/decode/script.js.map +1 -1
- package/dist/decode/tan-rule.d.ts +68 -0
- package/dist/decode/tan-rule.d.ts.map +1 -0
- package/dist/decode/tan-rule.js +131 -0
- package/dist/decode/tan-rule.js.map +1 -0
- package/dist/decode/write-run.d.ts +21 -0
- package/dist/decode/write-run.d.ts.map +1 -0
- package/dist/decode/write-run.js +42 -0
- package/dist/decode/write-run.js.map +1 -0
- package/dist/dictionary/artifact-claims.d.ts +25 -0
- package/dist/dictionary/artifact-claims.d.ts.map +1 -0
- package/dist/dictionary/artifact-claims.js +47 -0
- package/dist/dictionary/artifact-claims.js.map +1 -0
- package/dist/dictionary/artifact-format.d.ts +86 -0
- package/dist/dictionary/artifact-format.d.ts.map +1 -0
- package/dist/dictionary/artifact-format.js +91 -0
- package/dist/dictionary/artifact-format.js.map +1 -0
- package/dist/dictionary/artifact-read.d.ts +34 -0
- package/dist/dictionary/artifact-read.d.ts.map +1 -0
- package/dist/dictionary/artifact-read.js +114 -0
- package/dist/dictionary/artifact-read.js.map +1 -0
- package/dist/dictionary/artifact.d.ts +4 -63
- package/dist/dictionary/artifact.d.ts.map +1 -1
- package/dist/dictionary/artifact.js +12 -229
- package/dist/dictionary/artifact.js.map +1 -1
- package/dist/dictionary/assertions.d.ts +5 -57
- package/dist/dictionary/assertions.d.ts.map +1 -1
- package/dist/dictionary/assertions.js +4 -317
- package/dist/dictionary/assertions.js.map +1 -1
- package/dist/dictionary/build-assertions.d.ts +12 -0
- package/dist/dictionary/build-assertions.d.ts.map +1 -0
- package/dist/dictionary/build-assertions.js +13 -0
- package/dist/dictionary/build-assertions.js.map +1 -0
- package/dist/dictionary/built-dictionary.d.ts +46 -0
- package/dist/dictionary/built-dictionary.d.ts.map +1 -0
- package/dist/dictionary/built-dictionary.js +97 -0
- package/dist/dictionary/built-dictionary.js.map +1 -0
- package/dist/dictionary/cedict-senses.d.ts +87 -0
- package/dist/dictionary/cedict-senses.d.ts.map +1 -0
- package/dist/dictionary/cedict-senses.js +126 -0
- package/dist/dictionary/cedict-senses.js.map +1 -0
- package/dist/dictionary/character-defaults.d.ts +26 -0
- package/dist/dictionary/character-defaults.d.ts.map +1 -0
- package/dist/dictionary/character-defaults.js +67 -0
- package/dist/dictionary/character-defaults.js.map +1 -0
- package/dist/dictionary/character-readings.d.ts +10 -0
- package/dist/dictionary/character-readings.d.ts.map +1 -0
- package/dist/dictionary/character-readings.js +25 -0
- package/dist/dictionary/character-readings.js.map +1 -0
- package/dist/dictionary/constituent-repair.d.ts +36 -0
- package/dist/dictionary/constituent-repair.d.ts.map +1 -0
- package/dist/dictionary/constituent-repair.js +117 -0
- package/dist/dictionary/constituent-repair.js.map +1 -0
- package/dist/dictionary/dictionary-entry.d.ts +37 -0
- package/dist/dictionary/dictionary-entry.d.ts.map +1 -0
- package/dist/dictionary/dictionary-entry.js +41 -0
- package/dist/dictionary/dictionary-entry.js.map +1 -0
- package/dist/dictionary/dictionary-readings.d.ts +56 -0
- package/dist/dictionary/dictionary-readings.d.ts.map +1 -0
- package/dist/dictionary/dictionary-readings.js +93 -0
- package/dist/dictionary/dictionary-readings.js.map +1 -0
- package/dist/dictionary/dictionary.d.ts +6 -60
- package/dist/dictionary/dictionary.d.ts.map +1 -1
- package/dist/dictionary/dictionary.js +9 -169
- package/dist/dictionary/dictionary.js.map +1 -1
- package/dist/dictionary/entry-invariants.d.ts +3 -0
- package/dist/dictionary/entry-invariants.d.ts.map +1 -0
- package/dist/dictionary/entry-invariants.js +67 -0
- package/dist/dictionary/entry-invariants.js.map +1 -0
- package/dist/dictionary/entry-lines.d.ts +35 -0
- package/dist/dictionary/entry-lines.d.ts.map +1 -0
- package/dist/dictionary/entry-lines.js +70 -0
- package/dist/dictionary/entry-lines.js.map +1 -0
- package/dist/dictionary/erhua-repair.d.ts +26 -0
- package/dist/dictionary/erhua-repair.d.ts.map +1 -0
- package/dist/dictionary/erhua-repair.js +49 -0
- package/dist/dictionary/erhua-repair.js.map +1 -0
- package/dist/dictionary/frequency-tones.d.ts +74 -0
- package/dist/dictionary/frequency-tones.d.ts.map +1 -0
- package/dist/dictionary/frequency-tones.js +128 -0
- package/dist/dictionary/frequency-tones.js.map +1 -0
- package/dist/dictionary/inventory-invariants.d.ts +3 -0
- package/dist/dictionary/inventory-invariants.d.ts.map +1 -0
- package/dist/dictionary/inventory-invariants.js +54 -0
- package/dist/dictionary/inventory-invariants.js.map +1 -0
- package/dist/dictionary/locale-candidates.d.ts +40 -0
- package/dist/dictionary/locale-candidates.d.ts.map +1 -0
- package/dist/dictionary/locale-candidates.js +77 -0
- package/dist/dictionary/locale-candidates.js.map +1 -0
- package/dist/dictionary/locale-segments.d.ts +47 -0
- package/dist/dictionary/locale-segments.d.ts.map +1 -0
- package/dist/dictionary/locale-segments.js +141 -0
- package/dist/dictionary/locale-segments.js.map +1 -0
- package/dist/dictionary/locale.d.ts +1 -21
- package/dist/dictionary/locale.d.ts.map +1 -1
- package/dist/dictionary/locale.js +9 -198
- package/dist/dictionary/locale.js.map +1 -1
- package/dist/dictionary/merge-types.d.ts +127 -0
- package/dist/dictionary/merge-types.d.ts.map +1 -0
- package/dist/dictionary/merge-types.js +35 -0
- package/dist/dictionary/merge-types.js.map +1 -0
- package/dist/dictionary/merge-walk.d.ts +27 -0
- package/dist/dictionary/merge-walk.d.ts.map +1 -0
- package/dist/dictionary/merge-walk.js +49 -0
- package/dist/dictionary/merge-walk.js.map +1 -0
- package/dist/dictionary/merge-word.d.ts +7 -0
- package/dist/dictionary/merge-word.d.ts.map +1 -0
- package/dist/dictionary/merge-word.js +91 -0
- package/dist/dictionary/merge-word.js.map +1 -0
- package/dist/dictionary/merge.d.ts +5 -62
- package/dist/dictionary/merge.d.ts.map +1 -1
- package/dist/dictionary/merge.js +32 -725
- package/dist/dictionary/merge.js.map +1 -1
- package/dist/dictionary/proper-noun.d.ts +28 -0
- package/dist/dictionary/proper-noun.d.ts.map +1 -0
- package/dist/dictionary/proper-noun.js +43 -0
- package/dist/dictionary/proper-noun.js.map +1 -0
- package/dist/dictionary/reading-agreement.d.ts +71 -0
- package/dist/dictionary/reading-agreement.d.ts.map +1 -0
- package/dist/dictionary/reading-agreement.js +156 -0
- package/dist/dictionary/reading-agreement.js.map +1 -0
- package/dist/dictionary/script-conversion.d.ts +28 -0
- package/dist/dictionary/script-conversion.d.ts.map +1 -0
- package/dist/dictionary/script-conversion.js +58 -0
- package/dist/dictionary/script-conversion.js.map +1 -0
- package/dist/dictionary/script-pairings.d.ts +74 -0
- package/dist/dictionary/script-pairings.d.ts.map +1 -0
- package/dist/dictionary/script-pairings.js +120 -0
- package/dist/dictionary/script-pairings.js.map +1 -0
- package/dist/dictionary/script-tables.d.ts.map +1 -1
- package/dist/dictionary/script-tables.js +2 -165
- package/dist/dictionary/script-tables.js.map +1 -1
- package/dist/dictionary/taiwan-reading.d.ts +8 -0
- package/dist/dictionary/taiwan-reading.d.ts.map +1 -0
- package/dist/dictionary/taiwan-reading.js +38 -0
- package/dist/dictionary/taiwan-reading.js.map +1 -0
- package/dist/dictionary/tone-invariants.d.ts +3 -0
- package/dist/dictionary/tone-invariants.d.ts.map +1 -0
- package/dist/dictionary/tone-invariants.js +64 -0
- package/dist/dictionary/tone-invariants.js.map +1 -0
- package/dist/dictionary/traditional-form.d.ts +21 -0
- package/dist/dictionary/traditional-form.d.ts.map +1 -0
- package/dist/dictionary/traditional-form.js +59 -0
- package/dist/dictionary/traditional-form.js.map +1 -0
- package/dist/dictionary/traditional-ranking.d.ts +22 -0
- package/dist/dictionary/traditional-ranking.d.ts.map +1 -0
- package/dist/dictionary/traditional-ranking.js +74 -0
- package/dist/dictionary/traditional-ranking.js.map +1 -0
- package/dist/dictionary/traditional-table.d.ts +51 -0
- package/dist/dictionary/traditional-table.d.ts.map +1 -0
- package/dist/dictionary/traditional-table.js +98 -0
- package/dist/dictionary/traditional-table.js.map +1 -0
- package/dist/dictionary/traditional.d.ts +3 -56
- package/dist/dictionary/traditional.d.ts.map +1 -1
- package/dist/dictionary/traditional.js +3 -186
- package/dist/dictionary/traditional.js.map +1 -1
- package/dist/dictionary/variant-counts.d.ts +39 -0
- package/dist/dictionary/variant-counts.d.ts.map +1 -0
- package/dist/dictionary/variant-counts.js +38 -0
- package/dist/dictionary/variant-counts.js.map +1 -0
- package/dist/dictionary/word-reading.d.ts +26 -0
- package/dist/dictionary/word-reading.d.ts.map +1 -0
- package/dist/dictionary/word-reading.js +76 -0
- package/dist/dictionary/word-reading.js.map +1 -0
- package/dist/dictionary/word-readings.d.ts +15 -0
- package/dist/dictionary/word-readings.d.ts.map +1 -0
- package/dist/dictionary/word-readings.js +41 -0
- package/dist/dictionary/word-readings.js.map +1 -0
- package/dist/format/annotate.d.ts +90 -0
- package/dist/format/annotate.d.ts.map +1 -0
- package/dist/format/annotate.js +168 -0
- package/dist/format/annotate.js.map +1 -0
- package/dist/format/html.d.ts +15 -46
- package/dist/format/html.d.ts.map +1 -1
- package/dist/format/html.js +3 -162
- package/dist/format/html.js.map +1 -1
- package/dist/format/slug-hash.d.ts +51 -0
- package/dist/format/slug-hash.d.ts.map +1 -0
- package/dist/format/slug-hash.js +74 -0
- package/dist/format/slug-hash.js.map +1 -0
- package/dist/format/slug-options.d.ts +98 -0
- package/dist/format/slug-options.d.ts.map +1 -0
- package/dist/format/slug-options.js +2 -0
- package/dist/format/slug-options.js.map +1 -0
- package/dist/format/slug-words.d.ts +27 -0
- package/dist/format/slug-words.d.ts.map +1 -0
- package/dist/format/slug-words.js +0 -0
- package/dist/format/slug-words.js.map +1 -0
- package/dist/format/slug.d.ts +3 -128
- package/dist/format/slug.d.ts.map +1 -1
- package/dist/format/slug.js +0 -0
- package/dist/format/slug.js.map +1 -1
- package/dist/grade/check-readings.d.ts +41 -0
- package/dist/grade/check-readings.d.ts.map +1 -0
- package/dist/grade/check-readings.js +36 -0
- package/dist/grade/check-readings.js.map +1 -0
- package/dist/grade/check.d.ts +4 -4
- package/dist/grade/check.d.ts.map +1 -1
- package/dist/grade/check.js +5 -270
- package/dist/grade/check.js.map +1 -1
- package/dist/grade/pair-syllables.d.ts +48 -0
- package/dist/grade/pair-syllables.d.ts.map +1 -0
- package/dist/grade/pair-syllables.js +71 -0
- package/dist/grade/pair-syllables.js.map +1 -0
- package/dist/grade/reading-syllables.d.ts +62 -0
- package/dist/grade/reading-syllables.d.ts.map +1 -0
- package/dist/grade/reading-syllables.js +58 -0
- package/dist/grade/reading-syllables.js.map +1 -0
- package/dist/grade/reading-tolerance.d.ts +72 -0
- package/dist/grade/reading-tolerance.d.ts.map +1 -0
- package/dist/grade/reading-tolerance.js +107 -0
- package/dist/grade/reading-tolerance.js.map +1 -0
- package/dist/grade/typed-reading.d.ts +28 -0
- package/dist/grade/typed-reading.d.ts.map +1 -0
- package/dist/grade/typed-reading.js +36 -0
- package/dist/grade/typed-reading.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/numerals/numeral-parse.d.ts +32 -0
- package/dist/numerals/numeral-parse.d.ts.map +1 -0
- package/dist/numerals/numeral-parse.js +44 -0
- package/dist/numerals/numeral-parse.js.map +1 -0
- package/dist/numerals/numeral-shapes.d.ts +89 -0
- package/dist/numerals/numeral-shapes.d.ts.map +1 -0
- package/dist/numerals/numeral-shapes.js +99 -0
- package/dist/numerals/numeral-shapes.js.map +1 -0
- package/dist/numerals/numerals.d.ts.map +1 -1
- package/dist/numerals/numerals.js +2 -36
- package/dist/numerals/numerals.js.map +1 -1
- package/dist/numerals/read-numeral.d.ts +76 -0
- package/dist/numerals/read-numeral.d.ts.map +1 -0
- package/dist/numerals/read-numeral.js +88 -0
- package/dist/numerals/read-numeral.js.map +1 -0
- package/dist/numerals/text.d.ts +3 -37
- package/dist/numerals/text.d.ts.map +1 -1
- package/dist/numerals/text.js +3 -254
- package/dist/numerals/text.js.map +1 -1
- package/dist/numerals/time.d.ts +34 -0
- package/dist/numerals/time.d.ts.map +1 -0
- package/dist/numerals/time.js +93 -0
- package/dist/numerals/time.js.map +1 -0
- package/dist/orthography/address-grouping.d.ts +34 -0
- package/dist/orthography/address-grouping.d.ts.map +1 -0
- package/dist/orthography/address-grouping.js +52 -0
- package/dist/orthography/address-grouping.js.map +1 -0
- package/dist/orthography/grouping.d.ts +3 -87
- package/dist/orthography/grouping.d.ts.map +1 -1
- package/dist/orthography/grouping.js +4 -270
- package/dist/orthography/grouping.js.map +1 -1
- package/dist/orthography/place-grouping.d.ts +39 -0
- package/dist/orthography/place-grouping.d.ts.map +1 -0
- package/dist/orthography/place-grouping.js +83 -0
- package/dist/orthography/place-grouping.js.map +1 -0
- package/dist/orthography/word-grouping.d.ts +48 -0
- package/dist/orthography/word-grouping.d.ts.map +1 -0
- package/dist/orthography/word-grouping.js +147 -0
- package/dist/orthography/word-grouping.js.map +1 -0
- package/dist/script/conversion-format.d.ts +22 -0
- package/dist/script/conversion-format.d.ts.map +1 -0
- package/dist/script/conversion-format.js +22 -0
- package/dist/script/conversion-format.js.map +1 -0
- package/dist/script/conversion-read.d.ts +9 -0
- package/dist/script/conversion-read.d.ts.map +1 -0
- package/dist/script/conversion-read.js +69 -0
- package/dist/script/conversion-read.js.map +1 -0
- package/dist/script/conversion-write.d.ts +14 -0
- package/dist/script/conversion-write.d.ts.map +1 -0
- package/dist/script/conversion-write.js +34 -0
- package/dist/script/conversion-write.js.map +1 -0
- package/dist/script/conversion.d.ts +10 -16
- package/dist/script/conversion.d.ts.map +1 -1
- package/dist/script/conversion.js +2 -115
- package/dist/script/conversion.js.map +1 -1
- package/dist/search/candidate-narrowing.d.ts +56 -0
- package/dist/search/candidate-narrowing.d.ts.map +1 -0
- package/dist/search/candidate-narrowing.js +55 -0
- package/dist/search/candidate-narrowing.js.map +1 -0
- package/dist/search/candidate-query.d.ts +25 -0
- package/dist/search/candidate-query.d.ts.map +1 -0
- package/dist/search/candidate-query.js +28 -0
- package/dist/search/candidate-query.js.map +1 -0
- package/dist/search/candidate-writings.d.ts +24 -0
- package/dist/search/candidate-writings.d.ts.map +1 -0
- package/dist/search/candidate-writings.js +114 -0
- package/dist/search/candidate-writings.js.map +1 -0
- package/dist/search/candidates.d.ts +7 -41
- package/dist/search/candidates.d.ts.map +1 -1
- package/dist/search/candidates.js +10 -164
- package/dist/search/candidates.js.map +1 -1
- package/dist/search/match-chunks.d.ts +19 -0
- package/dist/search/match-chunks.d.ts.map +1 -0
- package/dist/search/match-chunks.js +30 -0
- package/dist/search/match-chunks.js.map +1 -0
- package/dist/search/match-ranking.d.ts +39 -0
- package/dist/search/match-ranking.d.ts.map +1 -0
- package/dist/search/match-ranking.js +51 -0
- package/dist/search/match-ranking.js.map +1 -0
- package/dist/search/match-readings.d.ts +43 -0
- package/dist/search/match-readings.d.ts.map +1 -0
- package/dist/search/match-readings.js +83 -0
- package/dist/search/match-readings.js.map +1 -0
- package/dist/search/match-scoring.d.ts +146 -0
- package/dist/search/match-scoring.d.ts.map +1 -0
- package/dist/search/match-scoring.js +114 -0
- package/dist/search/match-scoring.js.map +1 -0
- package/dist/search/match-search.d.ts +28 -0
- package/dist/search/match-search.d.ts.map +1 -0
- package/dist/search/match-search.js +128 -0
- package/dist/search/match-search.js.map +1 -0
- package/dist/search/match.d.ts +5 -36
- package/dist/search/match.d.ts.map +1 -1
- package/dist/search/match.js +2 -379
- package/dist/search/match.js.map +1 -1
- package/dist/search/reverse-index-build.d.ts +30 -0
- package/dist/search/reverse-index-build.d.ts.map +1 -0
- package/dist/search/reverse-index-build.js +72 -0
- package/dist/search/reverse-index-build.js.map +1 -0
- package/dist/search/reverse-index-format.d.ts +60 -0
- package/dist/search/reverse-index-format.d.ts.map +1 -0
- package/dist/search/reverse-index-format.js +54 -0
- package/dist/search/reverse-index-format.js.map +1 -0
- package/dist/search/reverse-index-groups.d.ts +37 -0
- package/dist/search/reverse-index-groups.d.ts.map +1 -0
- package/dist/search/reverse-index-groups.js +71 -0
- package/dist/search/reverse-index-groups.js.map +1 -0
- package/dist/search/reverse-index-passes.d.ts +78 -0
- package/dist/search/reverse-index-passes.d.ts.map +1 -0
- package/dist/search/reverse-index-passes.js +59 -0
- package/dist/search/reverse-index-passes.js.map +1 -0
- package/dist/search/reverse-index-state.d.ts +36 -0
- package/dist/search/reverse-index-state.d.ts.map +1 -0
- package/dist/search/reverse-index-state.js +95 -0
- package/dist/search/reverse-index-state.js.map +1 -0
- package/dist/search/reverse-index.d.ts +8 -67
- package/dist/search/reverse-index.d.ts.map +1 -1
- package/dist/search/reverse-index.js +4 -255
- package/dist/search/reverse-index.js.map +1 -1
- package/dist/sources/unihan-readings.d.ts +58 -0
- package/dist/sources/unihan-readings.d.ts.map +1 -0
- package/dist/sources/unihan-readings.js +95 -0
- package/dist/sources/unihan-readings.js.map +1 -0
- package/dist/sources/unihan.d.ts +6 -9
- package/dist/sources/unihan.d.ts.map +1 -1
- package/dist/sources/unihan.js +2 -85
- package/dist/sources/unihan.js.map +1 -1
- package/dist/syllable/final-tables.d.ts +23 -0
- package/dist/syllable/final-tables.d.ts.map +1 -0
- package/dist/syllable/final-tables.js +50 -0
- package/dist/syllable/final-tables.js.map +1 -0
- package/dist/syllable/inventory.d.ts +8 -42
- package/dist/syllable/inventory.d.ts.map +1 -1
- package/dist/syllable/inventory.js +9 -918
- package/dist/syllable/inventory.js.map +1 -1
- package/dist/syllable/spellings.d.ts +40 -0
- package/dist/syllable/spellings.d.ts.map +1 -0
- package/dist/syllable/spellings.js +469 -0
- package/dist/syllable/spellings.js.map +1 -0
- package/dist/syllable/syllable-parts.d.ts +31 -0
- package/dist/syllable/syllable-parts.d.ts.map +1 -0
- package/dist/syllable/syllable-parts.js +105 -0
- package/dist/syllable/syllable-parts.js.map +1 -0
- package/dist/syllable/syllable.d.ts +1 -14
- package/dist/syllable/syllable.d.ts.map +1 -1
- package/dist/syllable/syllable.js +3 -144
- package/dist/syllable/syllable.js.map +1 -1
- package/dist/syllable/written-tones.d.ts +6 -0
- package/dist/syllable/written-tones.d.ts.map +1 -0
- package/dist/syllable/written-tones.js +453 -0
- package/dist/syllable/written-tones.js.map +1 -0
- package/dist/transcription/bopomofo-parse.d.ts +42 -0
- package/dist/transcription/bopomofo-parse.d.ts.map +1 -0
- package/dist/transcription/bopomofo-parse.js +92 -0
- package/dist/transcription/bopomofo-parse.js.map +1 -0
- package/dist/transcription/bopomofo-reverse.d.ts +31 -0
- package/dist/transcription/bopomofo-reverse.d.ts.map +1 -0
- package/dist/transcription/bopomofo-reverse.js +48 -0
- package/dist/transcription/bopomofo-reverse.js.map +1 -0
- package/dist/transcription/bopomofo-symbols.d.ts +36 -0
- package/dist/transcription/bopomofo-symbols.d.ts.map +1 -0
- package/dist/transcription/bopomofo-symbols.js +41 -0
- package/dist/transcription/bopomofo-symbols.js.map +1 -0
- package/dist/transcription/bopomofo-tables.d.ts +87 -0
- package/dist/transcription/bopomofo-tables.d.ts.map +1 -0
- package/dist/transcription/bopomofo-tables.js +180 -0
- package/dist/transcription/bopomofo-tables.js.map +1 -0
- package/dist/transcription/bopomofo.d.ts +14 -32
- package/dist/transcription/bopomofo.d.ts.map +1 -1
- package/dist/transcription/bopomofo.js +5 -343
- package/dist/transcription/bopomofo.js.map +1 -1
- package/dist/transcription/gwoyeu-first-second.d.ts +36 -0
- package/dist/transcription/gwoyeu-first-second.d.ts.map +1 -0
- package/dist/transcription/gwoyeu-first-second.js +75 -0
- package/dist/transcription/gwoyeu-first-second.js.map +1 -0
- package/dist/transcription/gwoyeu-spelling.d.ts +38 -0
- package/dist/transcription/gwoyeu-spelling.d.ts.map +1 -0
- package/dist/transcription/gwoyeu-spelling.js +124 -0
- package/dist/transcription/gwoyeu-spelling.js.map +1 -0
- package/dist/transcription/gwoyeu-tables.d.ts +93 -0
- package/dist/transcription/gwoyeu-tables.d.ts.map +1 -0
- package/dist/transcription/gwoyeu-tables.js +205 -0
- package/dist/transcription/gwoyeu-tables.js.map +1 -0
- package/dist/transcription/gwoyeu-tonal-forms.d.ts +49 -0
- package/dist/transcription/gwoyeu-tonal-forms.d.ts.map +1 -0
- package/dist/transcription/gwoyeu-tonal-forms.js +89 -0
- package/dist/transcription/gwoyeu-tonal-forms.js.map +1 -0
- package/dist/transcription/gwoyeu-vowels.d.ts +51 -0
- package/dist/transcription/gwoyeu-vowels.d.ts.map +1 -0
- package/dist/transcription/gwoyeu-vowels.js +58 -0
- package/dist/transcription/gwoyeu-vowels.js.map +1 -0
- package/dist/transcription/gwoyeu.d.ts +1 -26
- package/dist/transcription/gwoyeu.d.ts.map +1 -1
- package/dist/transcription/gwoyeu.js +2 -540
- package/dist/transcription/gwoyeu.js.map +1 -1
- package/dist/transcription/ipa-symbols.d.ts +67 -0
- package/dist/transcription/ipa-symbols.d.ts.map +1 -0
- package/dist/transcription/ipa-symbols.js +135 -0
- package/dist/transcription/ipa-symbols.js.map +1 -0
- package/dist/transcription/ipa.d.ts +2 -10
- package/dist/transcription/ipa.d.ts.map +1 -1
- package/dist/transcription/ipa.js +2 -134
- package/dist/transcription/ipa.js.map +1 -1
- package/dist/transcription/wade-giles-index.d.ts +35 -0
- package/dist/transcription/wade-giles-index.d.ts.map +1 -0
- package/dist/transcription/wade-giles-index.js +110 -0
- package/dist/transcription/wade-giles-index.js.map +1 -0
- package/dist/transcription/wade-giles-parse.d.ts +36 -0
- package/dist/transcription/wade-giles-parse.d.ts.map +1 -0
- package/dist/transcription/wade-giles-parse.js +84 -0
- package/dist/transcription/wade-giles-parse.js.map +1 -0
- package/dist/transcription/wade-giles-spelling.d.ts +61 -0
- package/dist/transcription/wade-giles-spelling.d.ts.map +1 -0
- package/dist/transcription/wade-giles-spelling.js +107 -0
- package/dist/transcription/wade-giles-spelling.js.map +1 -0
- package/dist/transcription/wade-giles-syllable.d.ts +29 -0
- package/dist/transcription/wade-giles-syllable.d.ts.map +1 -0
- package/dist/transcription/wade-giles-syllable.js +90 -0
- package/dist/transcription/wade-giles-syllable.js.map +1 -0
- package/dist/transcription/wade-giles-tables.d.ts +80 -0
- package/dist/transcription/wade-giles-tables.d.ts.map +1 -0
- package/dist/transcription/wade-giles-tables.js +178 -0
- package/dist/transcription/wade-giles-tables.js.map +1 -0
- package/dist/transcription/wade-giles.d.ts +9 -60
- package/dist/transcription/wade-giles.d.ts.map +1 -1
- package/dist/transcription/wade-giles.js +6 -543
- package/dist/transcription/wade-giles.js.map +1 -1
- package/dist/transcription/yale-tables.d.ts +54 -0
- package/dist/transcription/yale-tables.d.ts.map +1 -0
- package/dist/transcription/yale-tables.js +125 -0
- package/dist/transcription/yale-tables.js.map +1 -0
- package/dist/transcription/yale.d.ts.map +1 -1
- package/dist/transcription/yale.js +1 -124
- package/dist/transcription/yale.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandhi.js","sourceRoot":"","sources":["../../src/decode/sandhi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sandhi.js","sourceRoot":"","sources":["../../src/decode/sandhi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a script conversion is asked for and what it hands back.
|
|
3
|
+
*/
|
|
4
|
+
import type { Script } from "../script/script.js";
|
|
5
|
+
/**
|
|
6
|
+
* A script and, for 繁體, a regional orthography, as a BCP-47 tag.
|
|
7
|
+
*
|
|
8
|
+
* BCP-47 rather than a shape of our own because these subtags already mean
|
|
9
|
+
* exactly this, and callers recognise them. `zh-Hant` alone takes
|
|
10
|
+
* {@link DEFAULT_REGION}, since there is no region-free 繁體 to fall back on —
|
|
11
|
+
* see SCRIPTS-AND-LOCALES.md.
|
|
12
|
+
*/
|
|
13
|
+
export declare const SCRIPT_TARGETS: readonly ["zh-Hans", "zh-Hant", "zh-Hant-TW", "zh-Hant-HK"];
|
|
14
|
+
/**
|
|
15
|
+
* One of the orthographies {@link toScript} writes.
|
|
16
|
+
*/
|
|
17
|
+
export type ScriptTarget = (typeof SCRIPT_TARGETS)[number];
|
|
18
|
+
/**
|
|
19
|
+
* How a script conversion should be carried out.
|
|
20
|
+
*/
|
|
21
|
+
export interface ScriptOptions {
|
|
22
|
+
/** Which orthography to write. Defaults to `zh-Hans`. */
|
|
23
|
+
readonly to?: ScriptTarget;
|
|
24
|
+
/**
|
|
25
|
+
* The script the text is written in. Detected when not given.
|
|
26
|
+
*
|
|
27
|
+
* Worth setting when the text is short enough that detection has nothing to
|
|
28
|
+
* go on — a run of characters both scripts share settles nothing, and the
|
|
29
|
+
* conversion then assumes the text needs converting.
|
|
30
|
+
*/
|
|
31
|
+
readonly from?: Script;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* What settled one character's conversion, strongest first.
|
|
35
|
+
*
|
|
36
|
+
* - `locked` — the character has one form and there was nothing to decide.
|
|
37
|
+
* True of the great majority: simplification changed a minority of
|
|
38
|
+
* characters, and most of those are one-to-one.
|
|
39
|
+
* - `word` — a word some source wrote in both scripts settled it. The strongest
|
|
40
|
+
* real evidence, because it was written rather than inferred.
|
|
41
|
+
* - `reading` — the character had rival forms and the syllable it was decoded
|
|
42
|
+
* as picked between them. This is the evidence an orthographic converter does
|
|
43
|
+
* not have.
|
|
44
|
+
* - `default` — rival forms existed and nothing separated them, so the
|
|
45
|
+
* commonest was taken. The only one of the four that is a guess.
|
|
46
|
+
*/
|
|
47
|
+
export declare const SCRIPT_EVIDENCE: readonly ["locked", "word", "reading", "default"];
|
|
48
|
+
/**
|
|
49
|
+
* What settled one character's conversion.
|
|
50
|
+
*/
|
|
51
|
+
export type ScriptEvidence = (typeof SCRIPT_EVIDENCE)[number];
|
|
52
|
+
/**
|
|
53
|
+
* Why one character came out as it did.
|
|
54
|
+
*
|
|
55
|
+
* The same kind of claim `ReadingConfidence` makes about a syllable, and for
|
|
56
|
+
* the same reason: a conversion that cannot say which characters it guessed at
|
|
57
|
+
* is asking to be trusted further than it deserves. Nothing else in this space
|
|
58
|
+
* reports it.
|
|
59
|
+
*/
|
|
60
|
+
export interface ScriptChoice {
|
|
61
|
+
/** The character as it was written. */
|
|
62
|
+
readonly from: string;
|
|
63
|
+
/** The character as it was converted. */
|
|
64
|
+
readonly to: string;
|
|
65
|
+
readonly evidence: ScriptEvidence;
|
|
66
|
+
/** The forms this character could also have taken. */
|
|
67
|
+
readonly alternatives: readonly string[];
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* A converted text, with an account of every character it was unsure about.
|
|
71
|
+
*/
|
|
72
|
+
export interface ScriptConversion {
|
|
73
|
+
readonly text: string;
|
|
74
|
+
readonly choices: readonly ScriptChoice[];
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=script-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"script-types.d.ts","sourceRoot":"","sources":["../../src/decode/script-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,YACzB,SAAS,EACT,SAAS,EACT,YAAY,EACZ,YAAY,CACJ,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,YAC1B,QAAQ,EACR,MAAM,EACN,SAAS,EACT,SAAS,CACD,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,sDAAsD;IACtD,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;CAC3C"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A script and, for 繁體, a regional orthography, as a BCP-47 tag.
|
|
3
|
+
*
|
|
4
|
+
* BCP-47 rather than a shape of our own because these subtags already mean
|
|
5
|
+
* exactly this, and callers recognise them. `zh-Hant` alone takes
|
|
6
|
+
* {@link DEFAULT_REGION}, since there is no region-free 繁體 to fall back on —
|
|
7
|
+
* see SCRIPTS-AND-LOCALES.md.
|
|
8
|
+
*/
|
|
9
|
+
export const SCRIPT_TARGETS = [
|
|
10
|
+
"zh-Hans",
|
|
11
|
+
"zh-Hant",
|
|
12
|
+
"zh-Hant-TW",
|
|
13
|
+
"zh-Hant-HK",
|
|
14
|
+
];
|
|
15
|
+
/**
|
|
16
|
+
* What settled one character's conversion, strongest first.
|
|
17
|
+
*
|
|
18
|
+
* - `locked` — the character has one form and there was nothing to decide.
|
|
19
|
+
* True of the great majority: simplification changed a minority of
|
|
20
|
+
* characters, and most of those are one-to-one.
|
|
21
|
+
* - `word` — a word some source wrote in both scripts settled it. The strongest
|
|
22
|
+
* real evidence, because it was written rather than inferred.
|
|
23
|
+
* - `reading` — the character had rival forms and the syllable it was decoded
|
|
24
|
+
* as picked between them. This is the evidence an orthographic converter does
|
|
25
|
+
* not have.
|
|
26
|
+
* - `default` — rival forms existed and nothing separated them, so the
|
|
27
|
+
* commonest was taken. The only one of the four that is a guess.
|
|
28
|
+
*/
|
|
29
|
+
export const SCRIPT_EVIDENCE = [
|
|
30
|
+
"locked",
|
|
31
|
+
"word",
|
|
32
|
+
"reading",
|
|
33
|
+
"default",
|
|
34
|
+
];
|
|
35
|
+
//# sourceMappingURL=script-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"script-types.js","sourceRoot":"","sources":["../../src/decode/script-types.ts"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,SAAS;IACT,SAAS;IACT,YAAY;IACZ,YAAY;CACJ,CAAC;AAuBX;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ;IACR,MAAM;IACN,SAAS;IACT,SAAS;CACD,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converting one word between the scripts, and what the evidence was.
|
|
3
|
+
*
|
|
4
|
+
* A word is converted whole where the tables know it and character by
|
|
5
|
+
* character otherwise, and each choice carries what settled it so a caller
|
|
6
|
+
* can show where the conversion was guessing.
|
|
7
|
+
*/
|
|
8
|
+
import type { ScriptChoice, ScriptEvidence, ScriptTarget } from "./script-types.js";
|
|
9
|
+
import { type CharacterConversion } from "../script/conversion.js";
|
|
10
|
+
import { type Region } from "../script/glyphs.js";
|
|
11
|
+
import type { Script } from "../script/script.js";
|
|
12
|
+
import type { Syllable } from "../syllable/syllable.js";
|
|
13
|
+
/**
|
|
14
|
+
* The script and region a target names.
|
|
15
|
+
*/
|
|
16
|
+
export declare function targetOf(target: ScriptTarget): {
|
|
17
|
+
script: Script;
|
|
18
|
+
region: Region;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Convert one word, preferring what a source wrote to what its characters imply.
|
|
22
|
+
*/
|
|
23
|
+
export declare function convertWord(table: ReadonlyMap<string, CharacterConversion>, words: ReadonlyMap<string, string>, word: string, reading: readonly Syllable[]): readonly ScriptChoice[];
|
|
24
|
+
/**
|
|
25
|
+
* Rank what settled a character, strongest evidence first.
|
|
26
|
+
*/
|
|
27
|
+
export declare function evidenceFor(isAttested: boolean, isAtReading: boolean, isAmbiguous: boolean): ScriptEvidence;
|
|
28
|
+
/**
|
|
29
|
+
* Apply the regional 繁體 forms, which never change a reading.
|
|
30
|
+
*/
|
|
31
|
+
export declare function applyRegion(choices: readonly ScriptChoice[], reading: readonly Syllable[], region: Region, isAligned: boolean): readonly ScriptChoice[];
|
|
32
|
+
//# sourceMappingURL=script-words.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"script-words.d.ts","sourceRoot":"","sources":["../../src/decode/script-words.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,YAAY,EACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,KAAK,mBAAmB,EAKzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAGL,KAAK,MAAM,EAEZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAQA;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAC/C,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,SAAS,QAAQ,EAAE,GAC3B,SAAS,YAAY,EAAE,CAmCzB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,OAAO,EACnB,WAAW,EAAE,OAAO,EACpB,WAAW,EAAE,OAAO,GACnB,cAAc,CAQhB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,OAAO,EAAE,SAAS,QAAQ,EAAE,EAC5B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,GACjB,SAAS,YAAY,EAAE,CAezB"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { toCharacters } from "../script/characters.js";
|
|
2
|
+
import { conversionKey, convertCharacter, formsOf, isAmbiguousCharacter, } from "../script/conversion.js";
|
|
3
|
+
import { DEFAULT_REGION, isReadingSensitive, toRegionalGlyph, } from "../script/glyphs.js";
|
|
4
|
+
/**
|
|
5
|
+
* The script and region a target names.
|
|
6
|
+
*/
|
|
7
|
+
export function targetOf(target) {
|
|
8
|
+
if (target === "zh-Hans") {
|
|
9
|
+
return { script: "Hans", region: DEFAULT_REGION };
|
|
10
|
+
}
|
|
11
|
+
return {
|
|
12
|
+
script: "Hant",
|
|
13
|
+
region: target === "zh-Hant-HK" ? "HK" : DEFAULT_REGION,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Convert one word, preferring what a source wrote to what its characters imply.
|
|
18
|
+
*/
|
|
19
|
+
export function convertWord(table, words, word, reading) {
|
|
20
|
+
const characters = toCharacters(word);
|
|
21
|
+
const attested = words.get(word);
|
|
22
|
+
// A word only counts as attested when it lines up character for character;
|
|
23
|
+
// anything else cannot be reported per character, which is what the choices
|
|
24
|
+
// are. Those are rare enough to fall through to the characters.
|
|
25
|
+
const attestedCharacters = attested === undefined ? undefined : toCharacters(attested);
|
|
26
|
+
const isAttested = attestedCharacters?.length === characters.length;
|
|
27
|
+
// A reading covering a different number of characters than the word has
|
|
28
|
+
// cannot be lined up with them — 儿化 writes two characters as one syllable.
|
|
29
|
+
const isAligned = reading.length === characters.length;
|
|
30
|
+
return characters.map((character, at) => {
|
|
31
|
+
const syllable = isAligned ? reading[at] : undefined;
|
|
32
|
+
const conversion = table.get(character);
|
|
33
|
+
const atReading = conversion?.byReading?.get(conversionKey(syllable));
|
|
34
|
+
const to = isAttested
|
|
35
|
+
? /* c8 ignore next -- the lengths were just checked */
|
|
36
|
+
(attestedCharacters[at] ?? character)
|
|
37
|
+
: convertCharacter(table, character, syllable);
|
|
38
|
+
return {
|
|
39
|
+
from: character,
|
|
40
|
+
to,
|
|
41
|
+
evidence: evidenceFor(isAttested, atReading !== undefined, isAmbiguousCharacter(table, character)),
|
|
42
|
+
alternatives: formsOf(conversion).filter((form) => form !== character && form !== to),
|
|
43
|
+
};
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Rank what settled a character, strongest evidence first.
|
|
48
|
+
*/
|
|
49
|
+
export function evidenceFor(isAttested, isAtReading, isAmbiguous) {
|
|
50
|
+
if (!isAmbiguous) {
|
|
51
|
+
return "locked";
|
|
52
|
+
}
|
|
53
|
+
if (isAttested) {
|
|
54
|
+
return "word";
|
|
55
|
+
}
|
|
56
|
+
return isAtReading ? "reading" : "default";
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Apply the regional 繁體 forms, which never change a reading.
|
|
60
|
+
*/
|
|
61
|
+
export function applyRegion(choices, reading, region, isAligned) {
|
|
62
|
+
if (region === DEFAULT_REGION) {
|
|
63
|
+
return choices;
|
|
64
|
+
}
|
|
65
|
+
return choices.map((choice, at) => {
|
|
66
|
+
const syllable = isAligned ? reading[at] : undefined;
|
|
67
|
+
// A regional form that needs the reading and has none is a guess, whatever
|
|
68
|
+
// settled the script conversion before it: 著 is 着 or 著 in Hong Kong.
|
|
69
|
+
const isGuess = isReadingSensitive(choice.to) && syllable === undefined;
|
|
70
|
+
return {
|
|
71
|
+
...choice,
|
|
72
|
+
to: toRegionalGlyph(choice.to, region, syllable),
|
|
73
|
+
evidence: isGuess ? "default" : choice.evidence,
|
|
74
|
+
};
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=script-words.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"script-words.js","sourceRoot":"","sources":["../../src/decode/script-words.ts"],"names":[],"mappings":"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"}
|
package/dist/decode/script.d.ts
CHANGED
|
@@ -1,77 +1,7 @@
|
|
|
1
1
|
import type { Dictionary } from "../dictionary/dictionary.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
* A script and, for 繁體, a regional orthography, as a BCP-47 tag.
|
|
6
|
-
*
|
|
7
|
-
* BCP-47 rather than a shape of our own because these subtags already mean
|
|
8
|
-
* exactly this, and callers recognise them. `zh-Hant` alone takes
|
|
9
|
-
* {@link DEFAULT_REGION}, since there is no region-free 繁體 to fall back on —
|
|
10
|
-
* see SCRIPTS-AND-LOCALES.md.
|
|
11
|
-
*/
|
|
12
|
-
export declare const SCRIPT_TARGETS: readonly ["zh-Hans", "zh-Hant", "zh-Hant-TW", "zh-Hant-HK"];
|
|
13
|
-
/**
|
|
14
|
-
* One of the orthographies {@link toScript} writes.
|
|
15
|
-
*/
|
|
16
|
-
export type ScriptTarget = (typeof SCRIPT_TARGETS)[number];
|
|
17
|
-
/**
|
|
18
|
-
* How a script conversion should be carried out.
|
|
19
|
-
*/
|
|
20
|
-
export interface ScriptOptions {
|
|
21
|
-
/** Which orthography to write. Defaults to `zh-Hans`. */
|
|
22
|
-
readonly to?: ScriptTarget;
|
|
23
|
-
/**
|
|
24
|
-
* The script the text is written in. Detected when not given.
|
|
25
|
-
*
|
|
26
|
-
* Worth setting when the text is short enough that detection has nothing to
|
|
27
|
-
* go on — a run of characters both scripts share settles nothing, and the
|
|
28
|
-
* conversion then assumes the text needs converting.
|
|
29
|
-
*/
|
|
30
|
-
readonly from?: Script;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* What settled one character's conversion, strongest first.
|
|
34
|
-
*
|
|
35
|
-
* - `locked` — the character has one form and there was nothing to decide.
|
|
36
|
-
* True of the great majority: simplification changed a minority of
|
|
37
|
-
* characters, and most of those are one-to-one.
|
|
38
|
-
* - `word` — a word some source wrote in both scripts settled it. The strongest
|
|
39
|
-
* real evidence, because it was written rather than inferred.
|
|
40
|
-
* - `reading` — the character had rival forms and the syllable it was decoded
|
|
41
|
-
* as picked between them. This is the evidence an orthographic converter does
|
|
42
|
-
* not have.
|
|
43
|
-
* - `default` — rival forms existed and nothing separated them, so the
|
|
44
|
-
* commonest was taken. The only one of the four that is a guess.
|
|
45
|
-
*/
|
|
46
|
-
export declare const SCRIPT_EVIDENCE: readonly ["locked", "word", "reading", "default"];
|
|
47
|
-
/**
|
|
48
|
-
* What settled one character's conversion.
|
|
49
|
-
*/
|
|
50
|
-
export type ScriptEvidence = (typeof SCRIPT_EVIDENCE)[number];
|
|
51
|
-
/**
|
|
52
|
-
* Why one character came out as it did.
|
|
53
|
-
*
|
|
54
|
-
* The same kind of claim `ReadingConfidence` makes about a syllable, and for
|
|
55
|
-
* the same reason: a conversion that cannot say which characters it guessed at
|
|
56
|
-
* is asking to be trusted further than it deserves. Nothing else in this space
|
|
57
|
-
* reports it.
|
|
58
|
-
*/
|
|
59
|
-
export interface ScriptChoice {
|
|
60
|
-
/** The character as it was written. */
|
|
61
|
-
readonly from: string;
|
|
62
|
-
/** The character as it was converted. */
|
|
63
|
-
readonly to: string;
|
|
64
|
-
readonly evidence: ScriptEvidence;
|
|
65
|
-
/** The forms this character could also have taken. */
|
|
66
|
-
readonly alternatives: readonly string[];
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* A converted text, with an account of every character it was unsure about.
|
|
70
|
-
*/
|
|
71
|
-
export interface ScriptConversion {
|
|
72
|
-
readonly text: string;
|
|
73
|
-
readonly choices: readonly ScriptChoice[];
|
|
74
|
-
}
|
|
2
|
+
import type { ScriptTables } from "../script/conversion.js";
|
|
3
|
+
import type { ScriptChoice, ScriptConversion, ScriptOptions } from "./script-types.js";
|
|
4
|
+
export { SCRIPT_EVIDENCE, type ScriptChoice, type ScriptConversion, type ScriptEvidence, type ScriptOptions, SCRIPT_TARGETS, type ScriptTarget, } from "./script-types.js";
|
|
75
5
|
/**
|
|
76
6
|
* Convert a text between the scripts, reporting what it was unsure about.
|
|
77
7
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../src/decode/script.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,
|
|
1
|
+
{"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../src/decode/script.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAQ5D,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACd,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,cAAc,EACd,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC;AAC3B;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,aAAkB,GAC1B,gBAAgB,CA0ClB;AAeD;;GAEG;AACH,wBAAgB,QAAQ,CACtB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAER;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAE/D"}
|
package/dist/decode/script.js
CHANGED
|
@@ -1,117 +1,11 @@
|
|
|
1
1
|
import { toCharacters } from "../script/characters.js";
|
|
2
|
-
import {
|
|
3
|
-
import { DEFAULT_REGION, isReadingSensitive, toCanonicalGlyphs, toRegionalGlyph, } from "../script/glyphs.js";
|
|
2
|
+
import { toCanonicalGlyphs } from "../script/glyphs.js";
|
|
4
3
|
import { detectScript } from "../script/script.js";
|
|
5
4
|
import { decodeRun } from "./decode.js";
|
|
6
5
|
import { READING_RULES } from "./reading-rules.js";
|
|
7
6
|
import { splitRuns } from "./runs.js";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
*
|
|
11
|
-
* BCP-47 rather than a shape of our own because these subtags already mean
|
|
12
|
-
* exactly this, and callers recognise them. `zh-Hant` alone takes
|
|
13
|
-
* {@link DEFAULT_REGION}, since there is no region-free 繁體 to fall back on —
|
|
14
|
-
* see SCRIPTS-AND-LOCALES.md.
|
|
15
|
-
*/
|
|
16
|
-
export const SCRIPT_TARGETS = [
|
|
17
|
-
"zh-Hans",
|
|
18
|
-
"zh-Hant",
|
|
19
|
-
"zh-Hant-TW",
|
|
20
|
-
"zh-Hant-HK",
|
|
21
|
-
];
|
|
22
|
-
/**
|
|
23
|
-
* What settled one character's conversion, strongest first.
|
|
24
|
-
*
|
|
25
|
-
* - `locked` — the character has one form and there was nothing to decide.
|
|
26
|
-
* True of the great majority: simplification changed a minority of
|
|
27
|
-
* characters, and most of those are one-to-one.
|
|
28
|
-
* - `word` — a word some source wrote in both scripts settled it. The strongest
|
|
29
|
-
* real evidence, because it was written rather than inferred.
|
|
30
|
-
* - `reading` — the character had rival forms and the syllable it was decoded
|
|
31
|
-
* as picked between them. This is the evidence an orthographic converter does
|
|
32
|
-
* not have.
|
|
33
|
-
* - `default` — rival forms existed and nothing separated them, so the
|
|
34
|
-
* commonest was taken. The only one of the four that is a guess.
|
|
35
|
-
*/
|
|
36
|
-
export const SCRIPT_EVIDENCE = [
|
|
37
|
-
"locked",
|
|
38
|
-
"word",
|
|
39
|
-
"reading",
|
|
40
|
-
"default",
|
|
41
|
-
];
|
|
42
|
-
/**
|
|
43
|
-
* The script and region a target names.
|
|
44
|
-
*/
|
|
45
|
-
function targetOf(target) {
|
|
46
|
-
if (target === "zh-Hans") {
|
|
47
|
-
return { script: "Hans", region: DEFAULT_REGION };
|
|
48
|
-
}
|
|
49
|
-
return {
|
|
50
|
-
script: "Hant",
|
|
51
|
-
region: target === "zh-Hant-HK" ? "HK" : DEFAULT_REGION,
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Convert one word, preferring what a source wrote to what its characters imply.
|
|
56
|
-
*/
|
|
57
|
-
function convertWord(table, words, word, reading) {
|
|
58
|
-
const characters = toCharacters(word);
|
|
59
|
-
const attested = words.get(word);
|
|
60
|
-
// A word only counts as attested when it lines up character for character;
|
|
61
|
-
// anything else cannot be reported per character, which is what the choices
|
|
62
|
-
// are. Those are rare enough to fall through to the characters.
|
|
63
|
-
const attestedCharacters = attested === undefined ? undefined : toCharacters(attested);
|
|
64
|
-
const isAttested = attestedCharacters?.length === characters.length;
|
|
65
|
-
// A reading covering a different number of characters than the word has
|
|
66
|
-
// cannot be lined up with them — 儿化 writes two characters as one syllable.
|
|
67
|
-
const isAligned = reading.length === characters.length;
|
|
68
|
-
return characters.map((character, at) => {
|
|
69
|
-
const syllable = isAligned ? reading[at] : undefined;
|
|
70
|
-
const conversion = table.get(character);
|
|
71
|
-
const atReading = conversion?.byReading?.get(conversionKey(syllable));
|
|
72
|
-
const to = isAttested
|
|
73
|
-
? /* c8 ignore next -- the lengths were just checked */
|
|
74
|
-
(attestedCharacters[at] ?? character)
|
|
75
|
-
: convertCharacter(table, character, syllable);
|
|
76
|
-
return {
|
|
77
|
-
from: character,
|
|
78
|
-
to,
|
|
79
|
-
evidence: evidenceFor(isAttested, atReading !== undefined, isAmbiguousCharacter(table, character)),
|
|
80
|
-
alternatives: formsOf(conversion).filter((form) => form !== character && form !== to),
|
|
81
|
-
};
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Rank what settled a character, strongest evidence first.
|
|
86
|
-
*/
|
|
87
|
-
function evidenceFor(isAttested, isAtReading, isAmbiguous) {
|
|
88
|
-
if (!isAmbiguous) {
|
|
89
|
-
return "locked";
|
|
90
|
-
}
|
|
91
|
-
if (isAttested) {
|
|
92
|
-
return "word";
|
|
93
|
-
}
|
|
94
|
-
return isAtReading ? "reading" : "default";
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Apply the regional 繁體 forms, which never change a reading.
|
|
98
|
-
*/
|
|
99
|
-
function applyRegion(choices, reading, region, isAligned) {
|
|
100
|
-
if (region === DEFAULT_REGION) {
|
|
101
|
-
return choices;
|
|
102
|
-
}
|
|
103
|
-
return choices.map((choice, at) => {
|
|
104
|
-
const syllable = isAligned ? reading[at] : undefined;
|
|
105
|
-
// A regional form that needs the reading and has none is a guess, whatever
|
|
106
|
-
// settled the script conversion before it: 著 is 着 or 著 in Hong Kong.
|
|
107
|
-
const isGuess = isReadingSensitive(choice.to) && syllable === undefined;
|
|
108
|
-
return {
|
|
109
|
-
...choice,
|
|
110
|
-
to: toRegionalGlyph(choice.to, region, syllable),
|
|
111
|
-
evidence: isGuess ? "default" : choice.evidence,
|
|
112
|
-
};
|
|
113
|
-
});
|
|
114
|
-
}
|
|
7
|
+
import { applyRegion, convertWord, targetOf } from "./script-words.js";
|
|
8
|
+
export { SCRIPT_EVIDENCE, SCRIPT_TARGETS, } from "./script-types.js";
|
|
115
9
|
/**
|
|
116
10
|
* Convert a text between the scripts, reporting what it was unsure about.
|
|
117
11
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"script.js","sourceRoot":"","sources":["../../src/decode/script.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"script.js","sourceRoot":"","sources":["../../src/decode/script.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { Syllable } from "../syllable/syllable.js";
|
|
2
|
+
import type { EdgeContext, EdgeRule } from "./rules.js";
|
|
3
|
+
/**
|
|
4
|
+
* Whether a syllable is `tán`, the verbal reading of 弹.
|
|
5
|
+
*/
|
|
6
|
+
export declare function isTan(syllable: Syllable | undefined): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* The character in both scripts, since 彈 is not the shape 弹 is.
|
|
9
|
+
*
|
|
10
|
+
* 得, 教 and 儿 are the same character in either script and need say it once.
|
|
11
|
+
* This one is not, and neither is the 长 above, which is silent on 長 as a
|
|
12
|
+
* result. {@link ASPECT} carries 過 and 著 for the same reason this carries 彈.
|
|
13
|
+
*/
|
|
14
|
+
export declare const PLUCKED: Set<string>;
|
|
15
|
+
/**
|
|
16
|
+
* Whether the character at a position is 弹, in either script.
|
|
17
|
+
*/
|
|
18
|
+
export declare function isPluckedAt(context: EdgeContext, at: number): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* What a 弹 that is playing governs: the instrument, the piece or its composer.
|
|
21
|
+
*
|
|
22
|
+
* 弹吉他, 弹竖琴, 弹肖邦, 弹一曲, 给我们弹一手. The name tags are in because
|
|
23
|
+
* jieba calls 吉他 `ns` and 管风琴, 班卓琴 and 古琴 `nr` — instruments read as
|
|
24
|
+
* places and people — and `m` because a piece is as often counted as named.
|
|
25
|
+
*/
|
|
26
|
+
export declare const PLAYED_TAGS: Set<string>;
|
|
27
|
+
/**
|
|
28
|
+
* 弹 read as `tán` where it is playing rather than a projectile.
|
|
29
|
+
*
|
|
30
|
+
* The character is stored `dàn` with `tán` as an alternate, and the sources are
|
|
31
|
+
* agreed about it: Unihan's `kHanyuPinlu` counts `dàn(313)` against `tán(50)`
|
|
32
|
+
* and `kMandarin` names `dàn`. That is a fact about a corpus in which nearly
|
|
33
|
+
* every 弹 is ammunition — 子弹, 炮弹, 导弹, 原子弹, 手榴弹 — and every one of
|
|
34
|
+
* those is a word that carries its own reading. What the default is left
|
|
35
|
+
* deciding is the 弹 that stands as a word of its own, and in running text that
|
|
36
|
+
* one is the verb: 他会弹一点儿古筝 came out `dàn`, and 弹吉他, 弹竖琴, 我在弹肖邦
|
|
37
|
+
* and 他钢琴弹得很好 with it.
|
|
38
|
+
*
|
|
39
|
+
* See {@link isPlayingAt} for what decides it. Forcing the single-character
|
|
40
|
+
* edge is not enough on its own, for the reason {@link TEACHING_JIAO} gives: a
|
|
41
|
+
* reading spanning two characters carries its own 弹 into the position, and
|
|
42
|
+
* 我的爱好是开车和弹吉他 read `dàn` off 和弹, a pair the dictionary holds with
|
|
43
|
+
* no part of speech and at the cost of a reading nobody counted. A *tagged*
|
|
44
|
+
* word ending in 弹 is left alone, which is every one that matters — 子弹, 炸弹,
|
|
45
|
+
* 导弹, 反弹, 手榴弹. Nothing has to be done about the other side, since the
|
|
46
|
+
* nominal compounds starting with 弹 are all listed: 弹匣, 弹坑, 弹壳, 弹片,
|
|
47
|
+
* 弹药, 弹道 and 弹头 reach their reading through the word, so a bare 弹 with a
|
|
48
|
+
* noun after it is not the front of one that got away.
|
|
49
|
+
*
|
|
50
|
+
* The 88,866 lines of Tatoeba and zh.wikipedia the other rules were sized
|
|
51
|
+
* against are the wrong corpus for this one on their own: 38 弹 decode as a
|
|
52
|
+
* word of their own in them, and 31 are somebody playing something. So CPP's
|
|
53
|
+
* 20,147 sentences are measured with them as plain text — the benchmark is
|
|
54
|
+
* drawn from zh.wikipedia's military articles, which is precisely where the
|
|
55
|
+
* shapes this rule can break live. Over the 109,013 lines together, 60 弹
|
|
56
|
+
* decode as a word of their own, every one read `dàn`, and 34 of the 60 are
|
|
57
|
+
* wrong.
|
|
58
|
+
*
|
|
59
|
+
* This moves 30 of them, of which 29 are right: the whole of 弹吉他, 弹一曲肖邦
|
|
60
|
+
* and 钢琴弹得很好, and none of 南部弹, 毛瑟弹, 掷弹兵, 供弹爪, 着弹点, 弹洞 or
|
|
61
|
+
* 底排弹时. The one it breaks is 拆弹专家, where a compound has an object's
|
|
62
|
+
* shape on both sides. Five it leaves alone: 开始弹, 四手联弹 and 弹起三次, which
|
|
63
|
+
* have no object to see, 用那种指法弹不会觉得费力, and 反手持法去弹班卓琴, where
|
|
64
|
+
* the decode reaches 班 rather than 班卓琴. On CPP's 40 labelled 弹 nothing
|
|
65
|
+
* moves at all, every one of them having been right through a word.
|
|
66
|
+
*/
|
|
67
|
+
export declare const PLAYING_TAN: EdgeRule;
|
|
68
|
+
//# sourceMappingURL=tan-rule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tan-rule.d.ts","sourceRoot":"","sources":["../../src/decode/tan-rule.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAQxD,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAExD;;GAEG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAI7D;AAED;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,aAAsB,CAAC;AAE3C;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAErE;AAED;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,aAAoD,CAAC;AAwC7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,WAAW,EAAE,QAiBzB,CAAC"}
|