{"id":46491082,"url":"https://github.com/openvanilla/fcitx5-mcbopomofo","last_synced_at":"2026-03-06T10:33:50.879Z","repository":{"id":37988307,"uuid":"462754512","full_name":"openvanilla/fcitx5-mcbopomofo","owner":"openvanilla","description":"McBopomofo for fcitx5","archived":false,"fork":false,"pushed_at":"2025-12-19T17:02:42.000Z","size":16332,"stargazers_count":175,"open_issues_count":2,"forks_count":18,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-12-20T23:59:45.343Z","etag":null,"topics":["fcitx5","ime","input-method"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openvanilla.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-02-23T13:50:18.000Z","updated_at":"2025-12-19T16:17:25.000Z","dependencies_parsed_at":"2023-10-04T12:18:06.197Z","dependency_job_id":"d37a8b03-19de-4e59-a088-96c78ba7496d","html_url":"https://github.com/openvanilla/fcitx5-mcbopomofo","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/openvanilla/fcitx5-mcbopomofo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openvanilla%2Ffcitx5-mcbopomofo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openvanilla%2Ffcitx5-mcbopomofo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openvanilla%2Ffcitx5-mcbopomofo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openvanilla%2Ffcitx5-mcbopomofo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openvanilla","download_url":"https://codeload.github.com/openvanilla/fcitx5-mcbopomofo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openvanilla%2Ffcitx5-mcbopomofo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30171869,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T07:56:45.623Z","status":"ssl_error","status_checked_at":"2026-03-06T07:55:55.621Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fcitx5","ime","input-method"],"created_at":"2026-03-06T10:33:50.736Z","updated_at":"2026-03-06T10:33:50.858Z","avatar_url":"https://github.com/openvanilla.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fcitx5-mcbopomofo: 小麥注音輸入法 fcitx5 模組\n\n![Build](https://github.com/openvanilla/fcitx5-mcbopomofo/actions/workflows/ci.yaml/badge.svg)\n\n本專案是[小麥注音](https://github.com/openvanilla/McBopomofo)的 Linux 版本，功能與小麥注音 macOS 版同步：\n\n- 提供自動選字注音\n- 提供傳統注音（打一字選一字「ㄅ半」注音）\n- 用戶自訂詞功能：可在組字區加詞，亦可直接修改用戶詞庫檔案及刪詞設定檔\n- 記憶使用者最近選字\n- 支援標準、倚天、許氏鍵盤、倚天 26 鍵等常見注音鍵盤排列\n- 便捷輸入各種中文標點符號\n- 支援微軟新注音式「游標後」跟漢音式「游標前」選字\n\n與 macOS 版的主要差別如下：\n\n- 使用 fcitx5 內建選字窗\n- 繁簡轉換使用 fcitx5 內建 chttrans 模組\n\n此外，在專案組織上：\n\n- 目前直接使用 McBopomofo macOS 版產生的資料檔\n- 語言模型及選字引擎程式碼目前從 macOS 版拷貝過來\n\n## 安裝方式\n\n以下說明如何在 Ubuntu 24.04 LTS（或是 22.04 LTS）上編譯安裝。\n\n請先安裝 fcitx5, CMake, 以及以下開發用模組：\n\n```bash\nsudo apt install \\\n    pkg-config fcitx5 libfcitx5core-dev libfcitx5config-dev libfcitx5utils-dev fcitx5-modules-dev \\\n    cmake extra-cmake-modules gettext libfmt-dev libicu-dev libjson-c-dev\n```\n\n然後在本專案的 git 目錄下執行以下指令：\n\n```bash\ncmake -B build -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release\ncmake --build build\nsudo cmake --install build\n\n# 初次安裝後，執行以下指令，小麥注音 icon 就會出現在 fcitx5 選單中\nsudo update-icon-caches /usr/share/icons/*\n```\n\n## 在其他 Linux Distro 或 FreeBSD 上安裝\n\n- 我們利用 [wiki](https://github.com/openvanilla/fcitx5-mcbopomofo/wiki#%E5%AE%89%E8%A3%9D%E8%AA%AA%E6%98%8E) 收集在其他 Linux distro 或 FreeBSD 上安裝的方式，歡迎提供內容與指正。\n\n## C++ 語法風格\n\n### clang-format\n\n本專案的程式碼大致採用 [Google C++ style](https://google.github.io/styleguide/cppguide.html)。我們已經設定好 `.clang-format` 檔案，請在發送 PR 前使用 clang-format 重整風格即可。\n\n```bash\nfind src/ -name *.cpp -o -name *.h | xargs clang-format -i\n```\n\n本專案跟 Google C++ style 不同的地方如下：\n\n- 我們不使用 `snake_case` 變數名稱。變數或參數一律使用 `lowerCamelCase` 風格。\n- 成員函數不使用 `Foo::PascalCaseMethod()`。成員函數一律使用 `Foo::lowerCamelCaseMethod()` 風格。\n\n### cpplint\n\n我們也推薦使用 [cpplint](https://github.com/cpplint/cpplint) 檢查 C++ 常見問題。\n\n```bash\ncpplint --filter=-build/c++11,-build/include_alpha,-build/include_order,-build/include_subdir,-readability/nolint,-runtime/references,-whitespace --recursive src/\n```\n\n### clang-tidy\n\n編譯時開啟 `-DENABLE_CLANG_TIDY=On` cmake flag 以啟用 `clang-tidy` 檢查 (需要 clang 14+)。\n\n```bash\ncmake -B build -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DENABLE_CLANG_TIDY=On\n```\n\n## 使用 Ninja 加快建置速度\n\n如果系統已經安裝 [Ninja](https://ninja-build.org/)，可使用以下指令，讓 CMake 將 `make` 換成 `ninja`，加快建置速度。尤其在啟用 clang-tidy 檢查程式時，可[加速不少](https://github.com/openvanilla/fcitx5-mcbopomofo/issues/96)：\n\n```\nrm -rf build  # 如果先前已經使用 make，要先移除 build 目錄\ncmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DENABLE_CLANG_TIDY=On\ncmake --build build  # 使用 ninja 建置\n```\n\n## 使用 SIMD 指令集加快資料解析速度的實驗\n\n[PR #194](https://github.com/openvanilla/fcitx5-mcbopomofo/pull/194) 加入了選項，可使用 SIMD 指令集加速用戶詞庫的解析速度。這個選項屬於實驗性質。要啟用該解析器，可在 CMake 建置時增加以下定義：\n\n```\ncmake -B build \\\n    -DCMAKE_INSTALL_PREFIX=/usr \\\n    -DCMAKE_BUILD_TYPE=Release \\\n    -DENABLE_EXPERIMENTAL_SIMD_SUPPORT_AVX512=1\n```\n\n## 社群公約\n\n歡迎小麥注音 Linux 用戶回報問題與指教，也歡迎大家參與小麥注音開發。\n\n我們採用了 GitHub 的[通用社群公約](https://github.com/openvanilla/fcitx5-mcbopomofo/blob/master/CODE_OF_CONDUCT.md)。公約的中文版請參考[這裡的翻譯](https://www.contributor-covenant.org/zh-tw/version/1/4/code-of-conduct/)。我們以上述公約，作為維護小麥注音社群的準則。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenvanilla%2Ffcitx5-mcbopomofo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenvanilla%2Ffcitx5-mcbopomofo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenvanilla%2Ffcitx5-mcbopomofo/lists"}