Files
OSGKeyboard/NOTICE-TYPING.md
T
Rocky 4749a9cbf2 feat(keyboard): add English QuickType bar and system lexicon
Show verbatim/correction/completion slots, mmap a 40k-word list, and
use UITextChecker plus supplementary lexicon for conservative autocorrect.
2026-08-14 21:49:22 +08:00

56 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Third-party notices — Typing keyboard
The generated Chinese source manifest is
`OSGKeyboard/Resources/Typing/Rime/manifest.json`. Exact librime
binary dependency licenses are bundled beside `NOTICE.txt`.
## Distributed components (Chinese IME)
| Component | Pinned version / commit | License | Purpose |
|-----------|-------------------------|---------|---------|
| [librime-xcframework](https://github.com/ghostflyby/librime-xcframework) | `1.17.0-pack.1`, package `d578192…` | BSD-3-Clause + bundled dependency notices | Static iOS librime runtime |
| [rime/librime](https://github.com/rime/librime) | `1.17.0` | BSD-3-Clause | Chinese input-method engine |
| [rime-pinyin-simp](https://github.com/rime/rime-pinyin-simp) | `0c6861e…` | Apache-2.0 | Permissive baseline dictionary |
| [fxsjy/jieba](https://github.com/fxsjy/jieba) | `67fa2e3…` | MIT | Modern Simplified-Chinese word frequencies |
| [phrase-pinyin-data](https://github.com/mozillazg/phrase-pinyin-data) | `cee0ed6…` | MIT | Phrase pronunciations |
| [pinyin-data](https://github.com/mozillazg/pinyin-data) | `923b108…` | MIT | Character-pronunciation fallback |
`Scripts/typing/build_rime_dictionary.py` deterministically merges these
sources into `osg_pinyin.dict.yaml`; its manifest records every source URL,
commit, SHA-256 and output SHA-256.
## OSG-owned pieces
- SwiftUI QWERTY / candidate UI, `RimeEngineBridging`, and the English
suggestion / autocorrect / next-word session layer.
- Objective-C++ C-API bridge for librime.
- Full-pinyin, Microsoft-double-pinyin and Sogou-double-pinyin schemas.
- Microsoft/Sogou mappings were independently encoded from public key-map
specifications; GPL schema files were not copied.
- Eight opt-in fuzzy-pinyin rule groups.
- Offline English typing data under
`OSGKeyboardShared/Resources/Typing/English/`:
- `english_lexicon.bin` — mmap-friendly binary of the top 40k alphabetic
unigrams (log-scaled ranks) plus truncated bigrams; this is what the
keyboard extension loads
- `english_lexicon.tsv` / `english_bigrams.tsv` — build inputs derived from
Peter Norvigs public-domain `count_1w.txt` / `count_2w.txt`
(https://norvig.com/ngrams/; not GPL/LGPL dictionaries). Not copied into
the app bundle.
- Rebuild with `python3 Scripts/typing/build_english_lexicon.py`
(add `--from-tsv` to compile the binary from existing TSV without network)
## Reference only
NanoMouse commit `a6177d898a01662ce551b43a01cf82a9f84ca54c`
(MIT) was used to understand iOS Rime lifecycle boundaries. Its KeyboardKit,
UI, data packages and application features are not linked into OSGKeyboard.
## Explicitly excluded
- rime-ice / 雾凇拼音 — GPL-3.0
- rime-double-pinyin schemas — GPL-3.0
- rime-luna-pinyin and rime-essay — LGPL-3.0
- KeyboardKit Pro — proprietary