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

2.8 KiB
Raw Blame History

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 1.17.0-pack.1, package d578192… BSD-3-Clause + bundled dependency notices Static iOS librime runtime
rime/librime 1.17.0 BSD-3-Clause Chinese input-method engine
rime-pinyin-simp 0c6861e… Apache-2.0 Permissive baseline dictionary
fxsjy/jieba 67fa2e3… MIT Modern Simplified-Chinese word frequencies
phrase-pinyin-data cee0ed6… MIT Phrase pronunciations
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