Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

358 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MacishType

A macOS input method that replicates the native input experience — a system-look candidate window, built-in input methods (currently Array 行列), and user extension through external JavaScript engines and drop-in .cin tables.

The JavaScript engine contract is cross-platform: the same engine folder runs unmodified on the Linux host, a fcitx5 addon in fcitx5/.

Repository layout

  • macos/ — the macOS input method: InputMethodKit host, candidate window, Settings UI, and build system
  • fcitx5/ — the Linux input method: fcitx5 addon, QuickJS engine host, and build system
  • engines/ — cross-platform JavaScript engines and the engine contract (README.md, mirrored in TypeScript by utils/MacishType.d.ts)
  • runtime/ — the JavaScript runtime bootstrap every host loads before an engine
  • scripts/ — the shared external-resources pipeline; make prepare on either platform downloads the pinned data tables into tables/ at the repo root (gitignored)
  • artwork/ — archival originals of the app icon, kept for reference

Start here

Acknowledgments

Data tables downloaded and bundled by make prepare (each upstream's license, if any, ships alongside its data):

  • Associated-phrase and per-character frequency tables — derived from the phrase corpus of McBopomofo, under its MIT License.
  • Symbol-name table — derived from Unicode CLDR annotations, under the Unicode License.
  • Array30 code tables — derived from gontera/array30, under its license for use by third-party input methods.

License

See LICENSE.

About

A macOS input method that replicates the native input experience, extensible with JavaScript engines and .cin tables; JS engines also run on Linux (fcitx5).

Topics

Resources

Stars

15 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages