Skip to content

Latest commit

 

History

History

src

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

src/

Directory of the source code.

Overview of components and directories

+------------+            +------------+            +------------+
| Server     | <--------> | Client     | <--------> | UI         |
+------------+  Protocol  +------------+  Protocol  +------------+
| Session    |            | Platform   |
+------------+            +------------+
| Converter  |
+------------+
| Dictionary |
+------------+

Note: Platform is used for various components for platform specific requirements.

Platform

  • android/
    • Android specific implementation.
    • Note: Mozc does not contain the client UI implementation for Android.
  • unix/
    • Linux specific implementation.
  • win32/
    • Windows specific implementation.
  • mac/
    • macOS specific implementation.
  • ios/
    • iOS specific implementation.
    • Note: Mozc does not officially support iOS build.

Build

  • build_tools/
    • Utilities used for build (e.g. code generation).
  • bazel/
    • Build rules and tools for Bazel build.
  • gyp/
    • Build rules and tools for GYP.
  • protobuf/
    • Build rules and tools of GYP for Protocol Buffers.

Base

  • base/
    • Fundamental libraries for generic purposes.
  • data/
    • Directory and subdirectories of data files.
  • third_party/
    • Third party libraries (e.g. Abseil).
  • testing/
    • Libraries for testing.
  • usage_stats/
    • Libraries for usage statistics.
    • Note: Mozc does not use usage statistics.

Protocol

  • protocol/
    • Protocol definitions of function API (e.g. API between client and server).
  • config/
    • Libraries to manage user configurations.
  • request/
    • Libraries of request used for text conversion.

Client / Server

  • client/
    • Libraries of client code.
    • Note: The main function of the client is in each platform directory.
  • server/
    • Libraries of server code.
    • The main function is in this directory.
  • ipc/
    • Libraries of IPC to communicate between client, server and other processes.

Session

  • session/
    • Libraries of state management between user interactions and text conversion.
  • composer/
    • Libraries of text composing (e.g. Romaji-Hiragana conversion).
  • transliteration/
    • Libraries of script type transliteration (e.g. half-width Katakana, full-width Ascii).

Converter

  • engine/
    • Libraries to manage converter libraries.
  • data_manager/
    • Libraries to manage converter data.
  • converter/
    • Libraries of text conversion (e.g. Hiragana to Kanji exact match conversion).
  • rewriter/
    • Libraries for additional conversions (e.g. date input, symbol input, zip code input).
  • prediction/
    • Libraries of text prediction (e.g. Hiragana to Kanji prefix match conversion).

Dictionary

  • dictionary/
    • Libraries of dictionary lookup (e.g. Hiragana key to possible words).
  • storage/
    • Libraries of dictionary data storage (e.g. LOUDS, etc.).

UI

  • renderer/
    • UI application of candidate words.
  • gui/
    • GUI applications for configurations.