init
Some checks failed
Docker. / Ubuntu (push) Has been cancelled
User-agent updater. / User-agent (push) Failing after 15s
Lock Threads / lock (push) Failing after 10s
Waiting for answer. / waiting-for-answer (push) Failing after 22s
Needs user action. / needs-user-action (push) Failing after 8s
Can't reproduce. / cant-reproduce (push) Failing after 8s
Close stale issues and PRs / stale (push) Has been cancelled

This commit is contained in:
allhaileris
2026-02-16 15:50:16 +03:00
commit afb81b8278
13816 changed files with 3689732 additions and 0 deletions

72
Telegram/ThirdParty/hime/.clang-format vendored Normal file
View File

@@ -0,0 +1,72 @@
---
#
# HIME coding style
#
# This is based on gtk .clang-format style file with a few overrides.
# https://raw.githubusercontent.com/GNOME/gtk/mainline/.clang-format
Language: Cpp
# start of the gtk style file ------------------------------------------------
# See https://wiki.apertis.org/Guidelines/Coding_conventions#Code_formatting
BasedOnStyle: GNU
AlwaysBreakAfterDefinitionReturnType: All
BreakBeforeBinaryOperators: None
BinPackParameters: false
SpaceAfterCStyleCast: true
# Our column limit is actually 80, but setting that results in clang-format
# making a lot of dubious hanging-indent choices; disable it and assume the
# developer will line wrap appropriately. clang-format will still check
# existing hanging indents.
ColumnLimit: 0
# end of the gtk style file --------------------------------------------------
# start of HIME overrides ----------------------------------------------------
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: true
AlwaysBreakTemplateDeclarations: Yes
BraceWrapping:
AfterCaseLabel: false
AfterClass: false
AfterControlStatement: false
AfterEnum: false
AfterFunction: false
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
AfterExternBlock: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakBeforeBraces: Attach
ConstructorInitializerAllOnOneLineOrOnePerLine: true
Cpp11BracedListStyle: true
FixNamespaceComments: true
IncludeBlocks: Regroup
IncludeCategories:
# C standard libs
- Regex: '^<(assert|complex|ctype|errno|fenv|float|inttypes|iso646|limits|locale|math|setjmp|signal|stdalign|stdarg|stdatomic|stdbool|stddef|stdint|stdio|stdlib|stdnoreturn|string|tgmath|thread|stime|uchar|wchar|wctype)\.h>'
Priority: -1
- Regex: '^<sys/.*\.h>'
Priority: 1
- Regex: '^<(X11|gtk|gdk)/.*\.h>'
Priority: 2
- Regex: '^"hime\.h"'
Priority: 3
- Regex: '^<.*\.h>'
Priority: 0
- Regex: '^"'
Priority: 4
- Regex: '.*'
Priority: 4
IncludeIsMainRegex: '^$'
IndentWidth: 4
PenaltyReturnTypeOnItsOwnLine: 200
SpacesBeforeTrailingComments: 2
Standard: Auto
# end of HIME overrides ------------------------------------------------------

View File

@@ -0,0 +1,6 @@
name: 'Build @Archlinux'
description: 'Build hime with Archlinux container'
runs:
using: 'docker'
image: '../../../distro/archlinux/ci/Dockerfile'

View File

@@ -0,0 +1,6 @@
name: 'Build @CentOS7'
description: 'Build hime with CentOS 7 container'
runs:
using: 'docker'
image: '../../../distro/centos/ci/centos7/Dockerfile'

View File

@@ -0,0 +1,6 @@
name: 'Build @CentOS8'
description: 'Build hime with CentOS 8 container'
runs:
using: 'docker'
image: '../../../distro/centos/ci/centos8/Dockerfile'

View File

@@ -0,0 +1,6 @@
name: 'Build @Debian'
description: 'Build hime with Debian container'
runs:
using: 'docker'
image: '../../../distro/debian/ci/Dockerfile'

View File

@@ -0,0 +1,64 @@
name: Build
on: [push, pull_request, workflow_dispatch]
jobs:
build_archlinux:
name: Build with Archlinux container
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 2
- name: Change diff
run: git --no-pager show -m "$GITHUB_SHA" --color
- name: Docker Action
uses: ./.github/actions/archlinux
build_debian:
name: Build with Debian container
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 2
- name: Change diff
run: git --no-pager show -m "$GITHUB_SHA" --color
- name: Docker Action
uses: ./.github/actions/debian
build_centos7:
name: Build with CentOS 7 container
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 2
- name: Change diff
run: git --no-pager show -m "$GITHUB_SHA" --color
- name: Docker Action
uses: ./.github/actions/centos7
build_centos8:
name: Build with CentOS 8 container
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 2
- name: Change diff
run: git --no-pager show -m "$GITHUB_SHA" --color
- name: Docker Action
uses: ./.github/actions/centos8

View File

@@ -0,0 +1,82 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
name: "CodeQL"
on:
push:
branches: [master]
pull_request:
# The branches below must be a subset of the branches above
branches: [master]
schedule:
- cron: '0 13 * * 6'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
# Override automatic language detection by changing the below list
# Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
language: ['cpp']
# Learn more...
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# workaround for ubuntu 20.04
# See:https://github.com/actions/virtual-environments/issues/1605
- name: Update system and purge grub packages
run: |
sudo apt update --yes
sudo apt-get purge grub\* --allow-remove-essential
sudo apt-mark hold grub-common grub-gfxpayload-lists grub-pc grub-pc-bin grub2-common
sudo apt upgrade --yes
- name: Install dependencies
run: |
sudo apt install --yes build-essential locales fakeroot devscripts git
# dependencies
sudo apt install --yes libxtst-dev libgtk2.0-dev libgtk-3-dev libanthy-dev
sudo apt install --yes libchewing3-dev libappindicator-dev libappindicator3-dev qtbase5-private-dev
- name: Build
run: |
cd "$GITHUB_WORKSPACE"
# build Debian package
./distro/debian/gen-deb
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

8
Telegram/ThirdParty/hime/AUTHORS vendored Normal file
View File

@@ -0,0 +1,8 @@
Bugs and feature requests please submit to issue tracker:
https://github.com/hime-ime/hime/issues
If you have no github account, you may mail to:
Wen-Yen Chuang <caleb AT calno DOT com>
Forked from gcin 2.5.1, http://hyperrate.com/gcin-source/
Thanks to Edward Der-Hua Liu

526
Telegram/ThirdParty/hime/ChangeLog vendored Normal file
View File

@@ -0,0 +1,526 @@
0.9.11
* Add the manual trigger for GitHub workflow
* Fix gtk3 crash
* Merge pull request #648 from xatier/master
* Refactor im-dispatch.c
* Merge pull request #647 from xatier/master
* Fix a pointer bug introduced in 522f406078e0158616092ed4aa29448d3d5c0bd0
* Merge pull request #646 from xatier/master
* Refactor im-srv.c
* Merge pull request #644 from xatier/master
* Refactor hime_im_client_reopen in hime-im-client.c
* Merge pull request #643 from xatier/master
* Cleanup hime-im-client.c
* Merge pull request #642 from xatier/master
* Refactor hime-im-client.c
* Reorganize hime-im-client.c to be same as hime-im-client.h
* Merge pull request #641 from xatier/master
* Cleanup hime-im-client.c
* Merge pull request #640 from xatier/master
* Embed save|restore_old_sigaction_single functions
* Merge pull request #639 from xatier/master
* Use XPoint from X window
* Merge pull request #638 from xatier/master
* Rename keyeve to key_event in hime-protocol.h
* Merge pull request #637 from xatier/master
* Reorganize hime-im-client.h
* Merge pull request #636 from xatier/master
* Cleanup im-client
* Merge pull request #635 from xatier/master
* Use standard uint32_t for src/im-*
* Rename hime_im_client_message to hime_im_client_send_message
* Use const for `send_hime_message`
* Merge pull request #634 from xatier/master
* Use standard uint32_t for hime-crypt.c
* Merge pull request #633 from xatier/master
* Fix clang-tidy warnings in hime-common.c
* Merge pull request #632 from xatier/master
* Rename hime_im_client_set_window to hime_im_client_set_client_window
* Merge pull request #631 from xatier/master
* Cleanup im-addr.c
* Merge pull request #630 from xatier/master
* Add Qt's moc_*.cpp to .gitignore
* Merge pull request #629 from xatier/master
* Replace GDK_<key> with GDK_KEY_<key>
* Merge pull request #628 from xatier/master
* Cleanup hime-ts-edit.c
* Merge pull request #627 from xatier/master
* Fix incorrect signal name "delete-event"
* Merge pull request #625 from xatier/master
* Refactor gtk_im_context_hime_filter_keypress
* Merge pull request #626 from xatier/makepkg
* Add makepkg.sh to build Archlinux package
* Merge pull request #624 from xatier/master
* Update clang-format make target
* Merge pull request #623 from xatier/master
* Cleanup gtk imcontext module
* Merge pull request #622 from xatier/master
* Add missing dependency for clang-format
* Merge pull request #621 from xatier/master
* Add clang-format to ci script
* Merge pull request #620 from xatier/master
* Fix shell scripts in distro
* Merge pull request #619 from xatier/master
* Replace bzero with memset
* Merge pull request #618 from xatier/master
* Cleanup data scripts
* Merge pull request #616 from xatier/master
* Drop Qt4 code
* Merge pull request #617 from hime-ime/chewing_deprecation
* add missing chewing_bopomofo_Check
* Merge pull request #615 from xatier/master
* Add missing const qualifier for pszZuinStr (pull request #613)
* Merge pull request #614 from xatier/master
* Apply clang-format to chewing.c
* Add pre-commit hook
* Merge pull request #613 from hime-ime/chewing_deprecation
* fix chewing deprecataion warnings #518 #609 #612
* Merge pull request #612 from hime-ime/revert_8fd3c0c
* Revert "Use chewing_bopomofo_String_static API. Fix #518."
* Merge pull request #611 from hime-ime/debian_ci_qt5
* debian ci: install qt5 private lib
* Merge pull request #610 from xatier/master
* Add qt5-base to Archlinux CI dependency
* Merge pull request #609 from xatier/master
* Use chewing_bopomofo_String_static API. Fix #518.
* Merge pull request #608 from xatier/master
* Apply clang-format (2nd level)
* Apply clang-format
* Merge pull request #607 from xatier/gtk-im
* Fix Gtk issues
* Refactoring: remove unnecessary function declarations
* Organize includes
* Sync gdkpixbuf-drawable.c with upstream
* Use Debian testing to avoid unexpected CI failures
* Fix symbol linkage issues
* Use ALL_UPPERCASE for HIME_I18N_MESSAGE
* Cleanup Makefiles
* Gtk code cleanup
* Merge pull request #606 from xatier/master
* Fix misc warnings
* Merge pull request #605 from xatier/configure
* Fix GTK immodules flags
* Merge pull request #604 from xatier/configure
* Refactor lib selection flag to be consistent
* Merge pull request #603 from xatier/workflow
* Add build status badge to README.md
* Merge pull request #602 from xatier/workflow
* Add Debian workflow
* Merge pull request #601 from xatier/configure
* Refactor build system
* Merge pull request #600 from xatier/configure
* Drop QT3 support
* Merge pull request #599 from xatier/configure
* Refactor configure script (part 2)
* Merge pull request #598 from xatier/configure
* Drop MAC_OS support
* Merge pull request #597 from xatier/master
* Use git show -m in GitHub Actions to show merge contents
* Merge pull request #596 from xatier/workflow-test
* Add GitHub workflow
* Merge pull request #595 from xatier/master
* Fix configure bug introduced in 5177d47ffaa39d3089e77a56bb86ef2507560ac2
* Merge pull request #594 from xatier/scan-build
* Merge pull request #591 from xatier/master
* Merge branch 'master' into master
* Merge pull request #592 from xatier/about
* Add a script to invoke scan-build static analyzer
* update pkgbuild to use hook
* Break down create_about_window() into small functions
* Refactor and polish about.c
* Merge pull request #593 from Brli/update-archlinux-pkgbuild
* update pkgbuild to use hook
* Rewrite ls globs with find
* Refactor scripts to be prettier
* Merge pull request #590 from xatier/master
* Fix README.md with markdownlint
* Merge pull request #589 from xatier/master
* Bump PKGBUILD version
* Merge pull request #588 from xatier/master
* Revert "tsin: send out the buffer when changing the mode from Ch to En"
* Merge pull request #561 from Vdragon/patch-tried-to-fix-issue-558
* Merge pull request #587 from yanganto/esperanto
* Add Esperanto keyboard
* fix: Switch to latin letters input method without failure
* fix: Use the correct data type of in_cycle
* build: Detect necessary software pkg-config
* feat(tsin): Press space key without committing the preedit buffer
* UI(tsin): Hide the popup input window correctly
* docs: Update the link of gcin source code
* tsin feat: move the cursor backward after the phrase selection
* Merge pull request #578 from marktwtn/korean
* name the korean input method to hangul and hangul-roman
* update: add table reference and more character definitions
* update: add more character definitions
* feat: add korean input method
* change the file mode as the other .cin files
* fix typo
* fix: add the missing parentheses
* feat: change the msgid from Chinese to English
* update the strings to be translated in source code
* Make: add "--no-wrap" option for generating .pot and .po files
* feat: add 'make uninstall' in Makefile
* fix: a better way to solve the #161 issue
* fix: solve the switch input method problem of #161 issue
* fix: solve the search file problem of #537 issue
* fix: solve the full/half-shape problem of #47 issue
* change the code of controlling half/full-shape mode of TSIN
* refactor the source code related to 'b_half_full_char'
* Make: fix the dependency
* tsin: send out the buffer when changing the mode from Ch to En
* add more files into .gitignore
* fix the compiler warning of snprintf()
* change the default value of tsin_buffer_editing_mode
* security: change most sprintf() to snprintf()
* Merge pull request #563 from Vdragon/patch-im-switch-support-multiarch
* Merge pull request #577 from marktwtn/wm
* WM: the chewing setting window should not be covered
* Merge pull request #576 from marktwtn/uiux
* UI & UX: show candidate characters without being cut
* Add vim swapfile to gitignore
* Cleanup: fix compiler warnings
* Remove deprecated APIs
* update PKGBUILD for archlinux
* Merge branch 'master' of https://github.com/hime-ime/hime
* Fix include path for Qt on Archlinux (Fixed #568)
* Merge pull request #551 from czchen/bugfix/typo
* Merge pull request #552 from czchen/feature/reproducible-build
* 支援 Debian im-config修正 #558
* im-switch - 支援 Multiarch 跟 Qt5
* Merge pull request #541 from Vdragon/patch-issue-539
* Avoid using locale-dependent shell glob
* Remove randomness
* Fix typo
* Merge pull request #548 from favonia/fix-warnings
* Remove dependency on Qt5PlatformSupport.pc (#545)
* Merge pull request #549 from favonia/fix-kbmcv
* Add missing brackets. Close #547.
* Fix various warnings.
* build system - Fix won't build in path with spaces(gtk2/gtk3 support), fixes #539
* Merge pull request #527 from legnaleurc/fix_popen
* fix popen error
* Merge pull request #525 from legnaleurc/fix_plasma5
* fix tray icon for plasma5
* Merge pull request #524 from kinabcd/master
* update PKGBUILD for archlinux
* add include path for moc of qt5
* use macro QGenericPluginFactoryInterface_iid
* Merge pull request #489 from czchen/feature/build
* Merge pull request #521 from Vdragon/fix_wont_build_in_path_with_spaces
* Merge pull request #522 from abev66/master
* fix stuck plasmashell problem
* Fix won't build in path with spaces(incomplete)
* Fix typo in commit 0cd3a84.
* Better compatible with newer version of GTK3+.
* remove inline from parse_client_req
* fix commit cea97dd199564f507a2aafdbebb46407eef94e5a
* add icon selector, fix #42
* add ed5 makefile
* qt5 immodule: move cursor right after focus in
* Merge pull request #516 from legnaleurc/qt5
* add qt5 im module
* refactor
* remove unused code
* beautify hime-setup
* Merge pull request #515 from hime-ime/hime-setup
* Merge pull request #514 from hime-ime/test-hime
* fix unresponsive hime-setup module window
* properly quit hime-setup (gtk_main_quit)
* setup module dir env in test-hime
* match the type of INMD->method_type with GTAB_LIST_S->method_type
* Merge pull request #513 from hime-ime/test-hime
* rename ttt -> filename in gtab-list.c
* improve test-hime
* fix #502
* make hime-env correctly detect immodule under debian/ubuntu, fix #502
* update package version in PKGBUILD
* Merge pull request #507 from czchen/bugfix/bashism
* Use bash instead of sh in nobopomofo
* Merge pull request #496 from czchen/bugfix/xserver64
* Defined _XSERVER64 in header
* Merge pull request #492 from xatier/anthy-pick
* Merge pull request #493 from hime-ime/issue#482#491
* fix issue #482
* Merge pull request #490 from xatier/master
* pick up modifications from gcin 2.8
* move README to markdown syntax
* update PKGBUILD
* Respect CFLAGS, CXXFLAGS, CPPFLAGS
* Do not hide compiling/linking commands
* Merge pull request #488 from czchen/bugfix/getenv
* Merge pull request #487 from medicalwei/patch-1
* Check return value of getenv("HOME")
* Do no treat GNU/kFreeBSD as a FreeBSD distro.
* Merge pull request #483 from xatier/master
* fix PKGBUILD problems
* Merge pull request #479 from Brli/patch-1
* Merge pull request #480 from Brli/patch-2
* Update and rename install to hime.install
* Update PKGBUILD
* Merge pull request #478 from hime-ime/configure2
* fix commit 9800a43
* Merge pull request #477 from hime-ime/configure
* show message when gtk+2.0 is used and appindicator3-0.1 is installed && appindicator-0.1 is not installed in configure close #475
* Fix the qt4 im-module installed path. close #453
* Merge pull request #466 from petercommand/appindicator
* ensure that the indicator will be created properly
* add a newline at the end of file
* Merge pull request #463 from xatier/master
* change the dependency package name qt -> qt4
* Merge pull request #450 from solomonhuang/distro
* change date format
* May output full width space in modules.
* s/cherk_key_press/check_key_press/g in src/eve.c
* May input full width numbers with 1-9.
* Treat asterisk key as a normal feed key in full character mode.
* [chewing] do not capture Ctrl/Alt + [a-Z], close #442
* Reload omni config after it is changed by another processes, e.g. hime-setup
* [chewing] code cleanup (09b0705a)
* [chewing] replace chewing_zuin_Check by chewing_zuin_String, fix & close #438
* Merge pull request #430 from solomonhuang/issue428
* issue #428 欸 pho table
* Merge pull request #427 from solomonhuang/omniconfig
* Respect to the en_pho_key_sel setting of the TSIN setup page. Thank saplayer for reporting this bug!
* Move hime.conf
* Correct save_omni_config() position
* Define HIME_CONF for hime.conf
* Rename hime.ini to hime.conf
* Single configuration file support
* remove strange key_press_time.
* Show a tiny [input method name] window when switching to anthy/libchewing if the tray icon is disabled.
* Remove all strange gtk_window_set_default_size().
* Remove all strange gtk_window_resize().
* Pull only a shallow repository in freebsd makefile
* Merge pull request #423 from hime-ime/vim
* Add vim input method
* Keep only the 'tabbed' mode.
* Add almost all remaining functions to tabbed setup
* Use 'OK' instead of 'Apply' in setup
* Tabbed setup (limited functionality)
* Factor out 'save' and 'destroy' functionality.
* Pull only a shallow repository in PKGBUILD.
* remove a useless \n from setup window.
* Better layout for wide setup window.
* Clean up residual caleb-/hime
* The main site is moved to https://github.com/hime-ime/hime.
* May show [Full]/[Eng][Full] informations when running under onthespot mode.
* Call create_win_gtab_gui_simple() before show input name on gtab selection area.
* Hide the whole input method window instead of resize it to 1x1 when it is empty.
* Clear some runtime warnings when running under onthespot mode.
* Better option descriptions in setup window.
* Fix: can't save the size of main font to settings.
* Using 3 columns style on the wide main setup window.
* Better compatible with GTK3+.
* Merge pull request #414 from caleb-/echo
* remove 'echo -e' from configure since it is having problem in dash
* Better setup window layouts.
* Added a new configure option: --use-wide-setup-window.
* Show the IM Name when using OnTheSpot mode.
* May use the <XK_KP_Enter> key to submit characters.
* Clear a runtime warning when running under onthespot mode.
* Respect to the pkg-config results from anthy.
* Merge pull request #411 from caleb-/readme
* Fix crash in intcode module, closes $410
* Add the pronounciation of Hime in README
* Add Hime Input Method Editor back to the front of the README
* Rewrite README
* Merge pull request #406 from favonia/shallow-arch
* Only make a shallow clone when packaging for Arch.
* Merge pull request #405 from caleb-/hime-env
* Add lsb_release in hime-env
* Merge pull request #401 from caleb-/array40
* Add licence info in array40
* Add array40 in Makefile
* Merge pull request #397 from favonia/master
* Merge pull request #398 from favonia/i-love-lib64
* Use --disable-lib64 in special distros.
* Clear 'LIB' in the beginning of configure.
0.9.10
[ Enhancement & Bugfix ]
* Inprove compatibility of gen-rpm (petercommand, Vdragon)
* More user-friendly UI (petercommand, taylorchu, Tetralet, Tommy Tsim)
* More user-friendly build system (petercommand, Tetralet, Tommy Tsim, caleb-)
* Support for ArchLinux ABS and FreeBSD ports (Tetralet, favonia, Ethan-, petercommand)
* Add arch detection in configure (petercommand)
* Merge hime1.so and hime2.so into hime (Tetralet)
* Use /bin/sh instead of /bin/bash (Tetralet)
* Pass environmental variables to makefile (Yao Wei)
* Use pkg-config instead of fixed strings in ckqt.sh (Tetralet)
* Improve compatibility of build system (Tetralet)
* Better compatibility with FreeBSD (Tetralet)
* Fix GTK2/3 immodule query path (petercommand, caleb)
* Fix GTK2/3 immodule install path (Tetralet)
* Improve Bopomofo and Tsin database (Vdragon, petercommand)
* Improve hime-env (petercommand)
* Add qt5-test (caleb-)
* Fix input method button in hime-setup (Tommy Tsim)
* Avoid hiding gtab window if popup is not set(Tommy Tsim)
* Allow up/down key changes the page of tsin candidates (Tommy Tsim)
* Fix button having weird line height (taylorchu)
* Fix segfault after changing gtab list via hime-setup and related wrong behavior on hime_init_im_enabled (Tommy Tsim)
* Let libchewing handles Backspace if zuin is present (Tommy Tsim)
* Resort module_feedkey & avoid phonetics stay at chewing window after commitment (Tommy Tsim)
* Let chewing handle numpad (Tommy Tsim)
* Fix segfault when typing in Symbol Table switched by <Ctrl><Shift> (Tommy Tsim)
* Introduce current_shape_mode() to tray (Tommy Tsim)
* Introduce Full shape mode in chewing (Tommy Tsim)
* Let chewing obey pop up window preference (Tommy Tsim)
* Let chewing show phonetics in preedit if "on the spot" is set (Tommy Tsim)
* Avoid passing candPerPage which exceeds the number of select keys to libchewing, fix #249 (Tommy Tsim)
* Update the cj code for "氵". duplicate with "上" (Tetralet)
* Fix visual keyboard <Ctrl><Alt><,> problem (Tetralet)
* Fix processing full shape character in EN, SYMBOL_TABLE, MODULE (Tetralet)
* Add some Unicode characters (Tetralet)
* Add a new option to enable visual keyboard window when starting up hime (Tetralet)
* Reload settings before gtab-list conf window is shown (Tommy Tsim)
* Fix compilation warnings (Tommy Tsim)
* Fix Gtk3 warnings for gwin_gtab (Tommy Tsim)
* Better tsin buffer handling behavior, #259 (Tetralet)
* Fix wrong tray behavior about tsin and eng half full (Tommy Tsim)
* Fix ime switch issue, #161 (Tommy Tsim, letoh, Tetralet)
* Disable <Ctrl><Shift> compose key under [EN] mode (Tommy Tsim, Tetralet)
* Release key combinations in EN FULL, #281 (Tommy Tsim)
* Fix strange behavior of Ctrl-Shift (caleb-)
* Add "hime-data" and "hime-tables" to the Conflicts, Replaces and Provides section to reflect the package names in Debian/Ubuntu (Tetralet)
* Fix behaviors in user-defined color scheme (Tommy Tsim)
* Move tsin-cursor-color to appearance-conf-window, and force foreground of cursor text white in color
* Workaround for issue 161 which causing undesired behavior in single tray icon (Tommy Tsim)
* Prevent hime halt in tsin while saving phrase (Tommy Tsim)
* Return 0 if the length of user-defined phrase-to-be is greater than MAX_PHRASE_LEN in tsin (Tommy Tsim)
* Make considering all preedit characters as user-defined phrase default in tsin (Tommy Tsim)
* Add title for hime-setup (taylorchu)
* Remove deduplicate current_CS->in_method (caleb-)
* Stop compiling if error occured, #247 (Tetralet)
* Provide setting on setting setup windows as GDK_WINDOW_TYPE_HINT_UTILITY (taylorchu)
* Make default tray display as appindicator when Unity is detected (Shih-Yuan Lee)
* The size of sock_path should be UNIX_PATH_MAX (Tetralet)
* Fix segfault if the gtab file of the default ime is missing (Tetralet)
* Clear a GTK warning when querying phonetic alphabet (Tetralet)
* Unify the sub-windows of hime-setup (petercommand)
* Replace '108' with UNIX_PATH_MAX
* Don't launch g_signal_handler_block/g_signal_handler_unblock if mitems[i].handler is NULL (Tetralet)
* Add a disable option to TSIN_CHINESE_ENGLISH_TOGGLE_KEY (Tetralet)
* Better compatibility with older toochains (Debian Etch) (Tetralet)
* Remove [EN] from gtab.list, #243 (Tetralet)
* Improve manual page hime-setup(1) (Tommy Tsim)
* Improve double tray popup menu positioning (Tommy Tsim)
* Fix chewing setup on tiling wm (taylorchu)
* Fix windows are too large for tiling wm (taylorchu)
* Fix a segfault bug in anthy, #235 (Tetralet)
* Fix a segfault bug if cur_inmd is NULL (Tetralet)
* Fix unused links to the GTK+ im-hime.so (Yao Wei)
* Remove unused gtk_window_set_has_resize_grip() (Tetralet)
* Set the window of hime-setup un-resizable, #221 (Tetralet)
* Fixed garbage data which causes gtk_label_set_markup fail in chewing (Cheng-Wei Lin)
* Update gen-rpm and make-tarball to use -5e in making tarbal (petercommand)
* Fix build system, #218 (letoh)
* Better --qt4-im-module-path checking (Tetralet)
* Remove VERSION.hime and src/hime-version.h, #27 (caleb-)
* Check version number in make-tarball (caleb-)
* Fix missing linking in im-client (caleb-)
* Remove useless GTK+ dialog and gtk_init() (caleb-)
* Respect TMPDIR in util.c (caleb-)
* Fixed invalid range in key handler in chewing (Cheng-Wei Lin)
* Replace putenv() with setenv() (caleb-)
* Drop default compiler optimization flag (caleb-)
* Fix tray.c tray-appindicator.c behavior and warnings (Tommy Tsim)
* Clean up code (Tommy Tsim, caleb-)
* Use pkg-config to get chewing include path (letoh)
* Correct license and FSF address of gdkpixbuf-drawable.c (caleb-)
* Remove tsin-gtab-edit (caleb-)
* Format Makefiles in IMdkit (Tommy Tsim)
* Add gtab settings for switch of * and `, , #171 & #172 (Tommy Tsim)
* Replace eggtrayicon with gtkstatusicon (Tommy Tsim)
0.9.9
[ Enhancement ]
* Improve chewing key handler and 64 bit compatibility (Cheng-Wei Lin)
* #110: Support libappindicator, aka Ubuntu Unity tray (Tommy Tsim)
* Improve tray behavior and associated settings (Tommy Tsim)
* More user-friendly build system (letoh, b4283)
* #71: Clarify license of ar30.cin and ar30-big.cin (Ming-Te Liao)
* More user-friendly UI (Tommy Tsim, Tetralet, Dieter Hsu, taylorchu)
* Improve Bopomofo and Tsin database (Vdragon, Franklin Weng, petercommand, maxwux)
* Improve compatibility of gtab2cin (solomonhuang)
* Improve half-width and double-width related issues (Tetralet)
* #7: New icon sets (Tetralet)
* #61: Provide rpm packaging solution (Dieter Hsu)
* Provide rxvt-unicode patch to drop XIM dependency (kanru)
* Sync with gcin 2.7.0, thanks to Edward Der-Hua Liu
* #37: Add missing manpages (Yao Wei)
* Provide some developing related tools (Tetralet, caleb-)
[ Bug fix ]
* Fix buffer flushing problem while toggling module IMs (Cheng-Wei Lin)
* #30: Fix double free while switch method_type (Cheng-Wei Lin)
* #96(partial): [chewing] fixed utf-8 label showing process (Cheng-Wei Lin)
* [chewing] fixed cursor position problem (Cheng-Wei Lin)
* [chewing] fixed err argument of chewing_set_selKey (Cheng-Wei Lin)
* #112: Fix crash with GTK+ 3.x and GdkRGBA (Tommy Tsim)
* #60: Fix build failure under Ubuntu 11.10 32 bit (letoh)
* Harden module callback related codes (letoh)
* Fix gtab behavior for querying same pronunciation words (Tommy Tsim)
* Fix build warnings (letoh, Tetralet, caleb-, taylorchu)
[ Additional Information ]
* Detailed changlog: https://github.com/hime-ime/hime/commits/master/
You may also git clone our repository and type "git log".
0.9
The "Hime (姫) is the Japanese word for princess." Release
[ Tetralet ]
* Improve GTK+ 3.x support
* Improve strings for better usability
* Code clean up
[ solomonhuang ]
* Provide gtab2cin, table converter
[ eliu ]
* Sync with gcin 2.5.3
- fix database corruption when using Eten 26 keys and adding phrases to Tsin
[ cwlin ]
* Fixed chewing selection key if the kb config is not available
[ caleb- ]
* Update copyright and license headers
[ Additional Information ]
* New Icon WANTED!
Temporary icon modified from Wikipe-tan, licensed with GNU FDL version 1.2.
* IRC channel:
#hime at irc.freenode.net
* All conffiles in $HOME/.config/hime, XDG_CONFIG_HOME will be supported later
* Default icon path has changed to */pixmaps
* Some default settings are different with gcin
0.9~rc1
* Initial commit, co-installable with gcin
Forked from gcin 2.5.1 and synced with 2.5.2, thanks to Edward Der-Hua Liu
* No centralized version control, feel free to fork your own! :-)
Current release is based on hime-ime's branch, https://github.com/hime-ime/hime
* Apply some patches from http://debian.luna.com.tw/wheezy/
Thanks to Tetralet <tetralet AT gmail DOT com>
[ Additional Information ]
* gcb clipboard manager has been removed
* win32 port will not be maintained due to limited manpower.
Feel free to help if you need it.
* You can find older changes in tarball of gcin 2.5.1

61
Telegram/ThirdParty/hime/Makefile vendored Normal file
View File

@@ -0,0 +1,61 @@
include config.mak
VERSION_FILE = ChangeLog
DIRS = src data filter icons man menu scripts
ifeq ($(ECHO),)
ECHO := $(shell whereis -b echo | awk '{print $$2}')
ifeq ($(ECHO),)
ECHO = echo
endif
endif
ifeq ($(USE_I18N),Y)
DIRS += po
endif
.PHONY: all
all:
@for d in $(DIRS); do $(ECHO) -e "\x1b[1;33m** processing $$d\x1b[0m"; \
$(MAKE) -C $$d || exit 1; \
done
.PHONY: install
install:
@for d in $(DIRS); do $(ECHO) -e "\x1b[1;32m** installing $$d\x1b[0m"; \
$(MAKE) -C $$d install || exit 1; \
done
install -d "$(DOC_DIR)"; \
install -m 644 $(VERSION_FILE) "$(DOC_DIR)"
.PHONY: uninstall
uninstall:
@for d in $(DIRS); do $(ECHO) -e "\x1b[1;32m** uninstalling $$d\x1b[0m"; \
$(MAKE) -C $$d uninstall || exit 1; \
done
.PHONY: clean
clean:
@touch src/.depend
@for d in $(DIRS); do $(ECHO) -e "\x1b[1;31m** cleanup $$d\x1b[0m"; \
$(MAKE) -C $$d clean; \
done
.PHONY: distclean
distclean:
@$(MAKE) clean
@rm -f config.mak
config.mak: $(VERSION_FILE) configure
@$(ECHO) "regenerate $@ ..."
./configure
.PHONY: clang-format
clang-format:
clang-format --version
clang-format -i {src,data}/*.[ch] \
src/{gtk-im,im-client,modules}/*.[ch] \
src/qt5-im/*.h \
src/qt5-im/*.cpp \
--verbose

170
Telegram/ThirdParty/hime/README.md vendored Normal file
View File

@@ -0,0 +1,170 @@
# HIME Input Method Editor
![badge](https://github.com/hime-ime/hime/workflows/Build/badge.svg)
## Hime 新手上路
### 簡介
Hime 是一個極好用的輸入法框架, 輕巧、穩定、功能強大且支援許多常用的輸入法,包括倉頡, 注音,大易,行列,嘸蝦米 ,希臘字母,
日本 Anthy, 韓拼, 拉丁字母, 亂倉打鳥, 酷音等....
#### 特色
- 支援多種輸入法, 使用者選擇多
- 支援多種智慧型注音輸入法
- 支援多種拆字型輸入法
- 支援內碼輸入
#### 授權
LGPLv2.1 (Qt immodules are GPLv2)
### 取得/安裝
如果您尚未取得 Hime, 可依下列方法取得 Hime:
#### 最新開發版
```bash
git clone https://github.com/hime-ime/hime.git
cd hime
```
#### deb系
```bash
distro/debian/gen-deb
```
#### rpm系
```bash
distro/fedora/gen-rpm
```
#### Debian/Ubuntu
```bash
apt-get update
apt-get install hime
```
#### Archlinux
```bash
# install `hime-git` from AUR, thanks to @xatier
yaourt hime-git
# build from this repo
cd distro/archlinux
makepkg -s
sudo pacman -U hime-git-{version}-{arch}.pkg.tar.zst
```
#### 自行編譯
```bash
./configure && make && make install
```
## 開始使用 Hime
### 開啟/切換輸入法
- 按 Ctrl+Space 來開啟輸入視窗
- 按 Ctrl+Shift 來循環切換輸入法
### Hime 問題回報
使用者可以依下列途徑回報問題:
- Github issue tracker
- #hime at irc.freenode.net
## 開發
- 歡迎發送 PR 協助改善 HIME
- 發送 PR 前請先執行 `make clang-format` 以自動修正 coding style (`clang-format` 版本需 >= 10)
## 附錄
### 常見問題
#### "HIME" 怎麼念?
- HIME 在日語中是「姫」,公主的意思,發音為「ひめ」。中文沒有對應的音,英文的發音為: Pronounce "Hi" like the English word "he", then pronounce "me" like the English word "may" or the "Me" in "Merry Christmas"。
#### 為什麼(詞音的)詞庫不會隨著 HIME 更新?
- 目前輸入法的設計並不會更新存放於使用者家目錄的詞庫資料,未來的版本可能會改善,細節請見 issue #136
### 按鍵功能一覽表
```text
按鍵
-------------------------- --------------------------
* gtab 輸入法拆碼中代表任意數量字元 非 gtab 輸入法中輸出 * 或
? gtab 輸入法拆碼中代表任意單一字元 輸出?或?
` gtab 輸入法中開啟同音字選擇視窗
< 注音輸入法顯示上一頁重覆字
詞音中輸出全形、符號
h 詞音 vi 編輯模式遊標左移一個字元
l 詞音 vi 編輯模式遊標右移一個字元
Q 詞音許氏鍵盤排列時可選擇同音字(跟向下鍵一樣)
q 詞音許氏鍵盤排列時可選擇同音字(跟向下鍵一樣)
x 詞音 vi 編輯模式刪除一個字元
Alt+Shift+按鍵 輸出 phrase.table 定義的字串
Alt+Space 可設定為輸入法狀態切換開關
BackSpace 清除一個拆碼 清除緩衝區的一個字元
CapsLock 詞音/日本 anthy 切換中英文狀態
Ctrl+Alt+Space 在輸入視窗畫紅色的 X 用以協助除錯
Ctrl+Alt+, 符號視窗開關切換
Ctrl+Alt+0 切換為內碼輸入法
Ctrl+Alt+3 切換為注音輸入法
Ctrl+Alt+6 切換為詞音輸入法
Ctrl+Alt+= 切換為日本 anthy 輸入法
Ctrl+Alt+g 輸出前一次的字串
Ctrl+Alt+r 輸出前一次的字串
Ctrl+Alt+【-1245789=[\]`】 切換為 gtab 輸入法
Ctrl+Shift 循環切換輸入法
Ctrl+Shift+; 在非 XIM 模式輸出全形:符號
Ctrl+Space 輸入法狀態切換開關
Ctrl+e 詞音切換 vi 編輯模式
Ctrl+u 清除詞音緩衝區
Ctrl+按鍵 輸出 phrase-ctrl.table 定義的字串
Delete 刪除緩衝區遊標所在的字 刪除內碼輸入法的一個拆碼
Down 詞音中選擇同音字
End 關閉選擇視窗並移動到緩衝區末端
Enter 輸出緩衝區內容
Escape 清除所有拆碼 關閉gtab同音字選擇視窗
F11 日本 anthy 輸入法中呼叫 kasumi 管理模式
F12 日本 anthy 輸入法中呼叫 kasumi 加詞模式(先圈選想加的詞再按 F12)
Home 關閉選擇視窗並移動到緩衝區最前端
Left 關閉選擇視窗並在緩衝區左移一個字元
PageDown gtab/日本 anthy
PageUp gtab/日本 anthy
數字盤的+鍵 gtab 輸入法顯示下一頁重覆字(若在末頁則回到第一頁)
數字盤的-鍵 gtab 輸入法顯示上一頁重覆字(到第一頁為止)
Right 關閉選擇視窗並在緩衝區右移一個字元
Shift 可設定為詞音/日本 anthy 切換中英文狀態
Shift+Enter 詞音新增詞(從遊標所在位置到緩衝區末端)
Shift+Space 全形狀態切換開關 可設定為輸入法狀態切換開關
Shift+按鍵 可設定在 gtab 狀態中取代「Alt+Shift+按鍵」
Shift+數字 詞音中選擇候選詞
Shift+標點 詞音中輸出全形標點符號
Space 拆碼輸入完成顯示候選字 翻頁顯示重覆字 輸出第一個候選字 輸出半形或全形空白 注音及詞音狀態表示音調的一聲
Tab 可在詞音中代替 Enter 鍵輸出緩衝區內容 可設定為詞音切換中英文狀態
Up 詞音中選擇近音字
Windows+Space 可設定為輸入法狀態切換開關
滑鼠左鍵 符號視窗開關切換 系統列半形全形開關切換
滑鼠中鍵 選擇輸入法
滑鼠右鍵 顯示系統列選單
滑鼠滾輪往上 符號視窗循環切換成上一組符號表(滑鼠遊標須在符號視窗範圍內)
滑鼠滾輪往下 符號視窗循環切換成下一組符號表(滑鼠遊標須在符號視窗範圍內)
--------------- ------------------------------------
```
### 參考文獻
[取得/安裝](https://github.com/hime-ime/hime/wiki/Prebuilt-packages-for-Linux-distributions)

530
Telegram/ThirdParty/hime/configure vendored Executable file
View File

@@ -0,0 +1,530 @@
#!/bin/bash
if [ "$1" = "-h" ] || [ "$1" = "--help" ] || [ "$1" = "-help" ]; then
echo "Usage: $0 [OPTION]... [VAR=VALUE]..."
echo ""
echo "Installation directories:"
echo " --prefix=PREFIX : install in PREFIX (e.g. /usr) [default: /usr/local]"
echo ""
echo "Optional Packages:"
echo " --with-gtk=2.0|3.0 : which gtk+ version to compile against [default: 2.0]"
echo ""
echo "Optional Features:"
echo " --disable-xim : disable the support of XIM [default: enable]"
echo " --disable-nls : disable Native Language Support [default: enable]"
echo " --disable-tsin : disable Tsin input method [default: enable]"
echo " --disable-anthy : disable Anthy input method [default: auto-detect]"
echo " --disable-chewing : disable Chewing input method [default: auto-detect]"
echo " --disable-system-tray : disable system tray support [default: enable]"
echo " --disable-appindicator : disable Ubuntu unity tray [default: auto-detect]"
echo " --disable-lib64 : disable the use of lib64 dir [default: auto-detect]"
echo " --disable-qt5-immodule : disable QT5 im-module [default: auto-detect]"
echo " --disable-gtk2-im-module : disable GTK+ 2.x im-module [default: auto-detect]"
echo " --disable-gtk3-im-module : disable GTK+ 3.x im-module [default: auto-detect]"
echo ""
echo "System Specific Pathes:"
echo " --qt5-moc-path=PATH : specify the path of \"moc\" command for Qt 5.x"
echo " --qt5-im-module-path=PATH : specify the install path for Qt 5.x im-module."
echo ""
exit
fi
MAKE="make"
if command -v gmake >/dev/null 2>/dev/null; then
MAKE="gmake"
fi
FREEBSD=0
if uname | grep FreeBSD | grep -v GNU/kFreeBSD >/dev/null 2>/dev/null; then
FREEBSD=1
fi
if uname | grep OpenBSD >/dev/null 2>/dev/null; then
FREEBSD=1
fi
SO_FLAGS="$LDFLAGS -shared -Wl,--as-needed"
prefix="/usr/local"
use_xim='Y'
use_i18n='Y'
use_tsin='Y'
use_anthy='Y'
use_chewing='Y'
use_system_tray='Y'
use_unity_tray='Y'
use_lib=''
use_qt5='Y'
use_gtk2='Y'
use_gtk3='Y'
find_in_path_list_to_variable() {
# find_in_path_list_to_variable() will find all elements in the array name stored in $1
# if found, set the found path to variable name in $2 and return 0
# otherwise return 1.
for path in $1; do
if [ -x "$path" ]; then
eval "$2"=\""$path"\"
return 0
fi
done
return 1
}
# debian fedora fedora freebsd slackware arch
qt5_moc_path_list="/usr/share/qt5/bin/moc /usr/lib/qt5/bin/moc /usr/bin/moc-qt5 /usr/local/bin/moc-qt5 /usr/local/bin/moc /usr/bin/moc"
QT5_IM_DIR_CUSTOM=
for opt; do
case "$opt" in
--prefix=*)
prefix=$(echo "$opt" | cut -d '=' -f 2)
;;
--with_gtk2 | --with-gtk=2.0)
GTK=gtk+-2.0
;;
--with_gtk3 | --with-gtk=3.0)
GTK=gtk+-3.0
;;
--use_xim=*)
use_xim=$(echo "$opt" | cut -d '=' -f 2)
;;
--enable-xim)
use_xim=Y
;;
--disable-xim)
use_xim=N
;;
--use_i18n=*)
use_i18n=$(echo "$opt" | cut -d '=' -f 2)
;;
--enable-nls)
use_i18n=Y
;;
--disable-nls)
use_i18n=N
;;
--use_tsin=*)
use_tsin=$(echo "$opt" | cut -d '=' -f 2)
;;
--enable-tsin)
use_tsin=Y
;;
--disable-tsin)
use_tsin=N
;;
--use_anthy=*)
use_anthy=$(echo "$opt" | cut -d '=' -f 2)
;;
--enable-anthy)
use_anthy=Y
;;
--disable-anthy)
use_anthy=N
;;
--use_chewing=*)
use_chewing=$(echo "$opt" | cut -d '=' -f 2)
;;
--enable-chewing)
use_chewing=Y
;;
--disable-chewing)
use_chewing=N
;;
--use_system_tray=*)
use_system_tray=$(echo "$opt" | cut -d '=' -f 2)
;;
--enable-system-tray)
use_system_tray=Y
;;
--disable-system-tray)
use_system_tray=N
;;
--use_unity_tray=*)
use_unity_tray=$(echo "$opt" | cut -d '=' -f 2)
;;
--enable-appindicator)
use_unity_tray=Y
;;
--disable-appindicator)
use_unity_tray=N
;;
--use_lib=*)
use_lib=$(echo "$opt" | cut -d '=' -f 2)
;;
--enable-lib64)
use_lib='lib64'
;;
--disable-lib64)
use_lib='lib'
;;
--use_qt5=*)
use_qt5=$(echo "$opt" | cut -d '=' -f 2)
;;
--enable-qt5-immodule)
use_qt5=Y
;;
--disable-qt5-immodule)
use_qt5=N
;;
--use_gtk2=*)
use_gtk2=$(echo "$opt" | cut -d '=' -f 2)
;;
--enable-gtk2-im-module)
use_gtk2=Y
;;
--disable-gtk2-im-module)
use_gtk2=N
;;
--use_gtk3=*)
use_gtk3=$(echo "$opt" | cut -d '=' -f 2)
;;
--enable-gtk3-im-module)
use_gtk3=Y
;;
--disable-gtk3-im-module)
use_gtk3=N
;;
--qt5-moc-path=*)
QT5_MOC_PATH=$(echo "$opt" | cut -d '=' -f 2)
;;
--qt5-install-to=* | --qt5-im-module-path=*)
QT5_IM_DIR_CUSTOM=$(echo "$opt" | cut -d '=' -f 2)
;;
esac
done
echo "prefix: $prefix"
echo -n ".... Testing pkg-config : "
if ! command -v pkg-config >/dev/null 2>&1; then
echo "please install pkg-config. abort!"
exit 1
else
echo "Found: $(command -v pkg-config)"
fi
echo -n ".... Testing Xtst : "
if ! pkg-config --exists xtst 2>/dev/null; then
echo "please install libxtst. abort!"
exit 1
else
echo "Found: $(pkg-config --print-provides xtst)"
fi
echo -n ".... Testing anthy : "
if ! pkg-config --libs anthy >/dev/null 2>/dev/null; then
echo "Not found, anthy module is turned off."
USE_ANTHY='N'
else
if [ "$use_anthy" = "N" ]; then
USE_ANTHY='N'
echo "Found, but disabled."
else
USE_ANTHY='Y'
ANTHY_INC="-I$(pkg-config --variable=includedir anthy) $(pkg-config --libs anthy)"
echo "Found: $(pkg-config --print-provides anthy)"
fi
fi
echo -n ".... Testing chewing : "
if ! pkg-config --libs chewing >/dev/null 2>/dev/null; then
echo Not found, chewing module is turned off.
USE_CHEWING='N'
else
if [ "$use_chewing" = "N" ]; then
USE_CHEWING='N'
echo "Found, but disabled."
else
if ! pkg-config --exists 'chewing >= 0.3.4' 2>/dev/null; then
USE_CHEWING='N'
echo "Disabled. chewing >= 0.3.4 is needed to enable chewing."
else
USE_CHEWING='Y'
echo "Found: $(pkg-config --print-provides chewing)"
fi
fi
fi
GTK=${GTK:-gtk+-2.0}
echo -n ".... Testing $GTK : "
if ! pkg-config --exists "$GTK"; then
echo "$GTK Not found."
echo "$GTK or above required --cflags. abort!"
rm -f config.mak
exit 1
fi
echo "Found: $(pkg-config --print-provides $GTK)"
# version guards for GTK+
if [ "$GTK" = gtk+-2.0 ]; then
if ! pkg-config --exists 'gtk+-2.0 >= 2.24.31'; then
echo "gtk+-2.0 >= 2.24.31 is required. abort!"
rm -f config.mak
exit 1
fi
APPINDICATOR=appindicator-0.1
fi
if [ "$GTK" = gtk+-3.0 ]; then
if ! pkg-config --exists 'gtk+-3.0 >= 3.22.30'; then
echo "gtk+-3.0 >= 3.22.30 is required. abort!"
rm -f config.mak
exit 1
fi
APPINDICATOR=appindicator3-0.1
fi
if ! pkg-config --libs "$GTK" >/dev/null 2>/dev/null; then
echo "$GTK or above required --libs"
echo "please install rpm/package libgtk+2.0_0-devel/libgtk+3.0_0-devel. abort!"
rm -f config.mak
exit 1
fi
GTKINC=$(pkg-config --cflags "$GTK" 2>/dev/null)
GTKLDFLAGS=$(pkg-config --libs "$GTK" 2>/dev/null)
if [ "$use_unity_tray" = "Y" ]; then
echo -n ".... Testing appindicator : "
if ! pkg-config --libs "$APPINDICATOR" >/dev/null 2>/dev/null; then
echo Not found, appindicator is disabled.
USE_UNITY_TRAY=N
else
if [ "$use_unity_tray" = "N" ]; then
USE_UNITY_TRAY='N'
echo "Found, but disabled."
else
if ! pkg-config --exists "$APPINDICATOR >= 0.4.0" 2>/dev/null; then
echo "Disabled. appindicator > 0.4.0 is needed to enable appindicator."
USE_UNITY_TRAY='N'
else
echo "Found: $(pkg-config --print-provides $APPINDICATOR)"
USE_UNITY_TRAY='Y'
GTKINC=$(pkg-config --cflags "$GTK" "$APPINDICATOR" 2>/dev/null)
GTKLDFLAGS=$(pkg-config --libs "$GTK" "$APPINDICATOR" 2>/dev/null)
fi
fi
fi
fi
echo -n ".... Testing lib : "
LIB='lib'
if [ -d /usr/lib64 ] && [ -d /lib64 ]; then
LIB='lib64'
fi
if [ "$(uname -s)" = Linux ]; then
if command -v lsb_release >/dev/null; then
distid=$(lsb_release -is 2>/dev/null)
case $distid in
Ubuntu | Debian | Arch | archlinux)
LIB='lib'
;;
esac
else
DEBIAN_LD=$(ld -v 2>&1 | grep -i debian)
UBUNTU_LD=$(ld -v 2>&1 | grep -i ubuntu)
if [ "$DEBIAN_LD" != "" ] || [ "$UBUNTU_LD" != "" ]; then
LIB='lib'
elif [ -e /etc/arch-release ]; then
LIB='lib'
fi
fi
fi
if [ -n "$use_lib" ]; then
echo "Decteted $LIB, but set to $prefix/$use_lib"
LIB="$use_lib"
else
echo "Using $prefix/$LIB"
fi
# --- QT5 START ---
QT5_IM='N'
if [ -z "$QT5_IM_DIR" ]; then QT5_IM_DIR=/qt5/plugins/platforminputcontexts; fi
echo -n ".... Testing Qt 5.x : "
if pkg-config --libs Qt5Core Qt5Gui >/dev/null 2>/dev/null; then
QT5_IM='Y'
fi
if [ ! -x "$QT5_MOC_PATH" ]; then
find_in_path_list_to_variable "$(pkg-config --variable=host_bins Qt5Core)/moc $qt5_moc_path_list" "QT5_MOC_PATH"
fi
if [ "$QT5_IM" = "Y" ]; then
if [ "$use_qt5" = "N" ]; then
QT5_IM='N'
echo "Found: $(pkg-config --print-provides Qt5Core), but disabled."
else
if [ ! -x "$QT5_MOC_PATH" ]; then
echo "Not found, cannot find \"moc\" tool for Qt 5.x."
echo "Hint: use the --qt5-moc-path option. abort!"
exit 1
fi
echo "Found: $(pkg-config --print-provides Qt5Core)"
fi
else
echo "Not found, Qt 5.x immodule is turned off."
fi
# --- QT5 END ---
# --- MOC INFO START ---
if [ "$QT5_IM" = "Y" ]; then echo ".... Path of Qt5 moc : $QT5_MOC_PATH"; fi
# --- MOC INFO END ---
GTK_IM='N'
if [ "$GTK" = "gtk+-2.0" ]; then
echo -n ".... Testing GTK+ 2.x immodule : "
if pkg-config --libs gtk+-2.0 >/dev/null 2>/dev/null; then
GTK_IM='Y'
fi
if [ "$GTK_IM" = "Y" ]; then
if [ "$use_gtk2" = "N" ]; then
GTK_IM='N'
echo "Found, but disabled."
else
echo "Found."
fi
else
echo "Not found. It's ok if you don't want GTK+ 2.x immodule."
fi
fi
GTK3_IM='N'
echo -n ".... Testing GTK+ 3.x immodule : "
if pkg-config --libs gtk+-3.0 >/dev/null 2>/dev/null; then
GTK3_IM='Y'
fi
if [ "$GTK3_IM" = "Y" ]; then
if [ "$use_gtk3" = "N" ]; then
GTK3_IM='N'
echo "Found, but disabled."
else
echo "Found."
fi
else
echo "Not found. It's ok if you don't want GTK+ 3.x immodule."
fi
[ -f "data/dayi3.cin" ] && INSTALL_DFSG_INCOMPATIBLE=Y
if [ -d .git ]; then
GIT_HAVE='Y'
GIT_HASH=$(git log 2>/dev/null | head -n 1 | cut -d ' ' -f 2 | head -c 7)
fi
echo ".... GIT hash: $GIT_HASH"
CC="${CC:-gcc}"
CXX="${CXX:-g++}"
if [ -z "$CFLAGS" ]; then
CFLAGS="-std=gnu17"
CXXFLAGS="-std=gnu++17"
OPTFLAGS="-Wall"
else
OPTFLAGS="$CFLAGS"
fi
echo ".... Toolchains flags:"
echo " CC/CXX = $CC/$CXX"
echo " CFLAGS = $CFLAGS"
echo " CXXFLAGS = $CXXFLAGS"
echo " OPTFLAGS = $OPTFLAGS"
# build
echo "MAKE=$MAKE" >config.mak
echo "CC=$CC" >>config.mak
echo "CCX=$CC" >>config.mak
echo "CXX=$CXX" >>config.mak
echo "CCLD=$CC" >>config.mak
echo "LDFLAGS_ENV=$LDFLAGS" >>config.mak
echo "LDFLAGS=$LDFLAGS -Wl,--as-needed -lX11 -lm" >>config.mak
echo "CFLAGS=$CFLAGS $CPPFLAGS" >>config.mak
echo "CXXFLAGS=$CXXFLAGS $CPPFLAGS" >>config.mak
echo "FREEBSD=$FREEBSD" >>config.mak
if [ "$FREEBSD" -eq 0 ]; then
echo "LDFLAGS+=$GTKLDFLAGS -lX11 -ldl" >>config.mak
else
echo "LDFLAGS+=$GTKLDFLAGS -lX11" >>config.mak
fi
echo "OPTFLAGS=$OPTFLAGS" >>config.mak
echo "SO_FLAGS=$SO_FLAGS" >>config.mak
echo "prefix=$prefix" >>config.mak
# installation
bindir=$prefix/bin
datadir=$prefix/share
if [ "$FREEBSD" -eq 0 ]; then
mandir=$datadir/man
else
mandir=$prefix/man
fi
libdir=$prefix/$LIB
includedir=$prefix/include
hime_version="$(head -n 1 ChangeLog)"
echo "bindir=\$(DESTDIR)$bindir" >>config.mak
echo "mandir=\$(DESTDIR)$mandir" >>config.mak
echo "man1dir=\$(mandir)/man1" >>config.mak
echo "datadir=\$(DESTDIR)$datadir" >>config.mak
echo "filterdir=\$(datadir)/hime/filter" >>config.mak
echo "includedir=\$(DESTDIR)$includedir" >>config.mak
echo "libdir=\$(DESTDIR)$libdir" >>config.mak
echo "himelibdir=\$(libdir)/hime" >>config.mak
echo "hime_ld_run_path=\$(himelibdir)" >>config.mak
echo "gcc_ld_run_path=-Wl,-rpath,\$(hime_ld_run_path)" >>config.mak
echo "HIME_BIN_DIR=\$(bindir)" >>config.mak
echo "HIME_DEFAULT_ICON_DIR=\$(datadir)/pixmaps/hime" >>config.mak
echo "HIME_OGG_DIR=\$(datadir)/hime/ogg" >>config.mak
echo "HIME_SCRIPT_DIR=\$(datadir)/hime/script" >>config.mak
echo "HIME_TABLE_DIR=\$(datadir)/hime/table" >>config.mak
echo "HIME_VERSION=$hime_version" >>config.mak
echo "DOC_DIR=\$(datadir)/doc/hime" >>config.mak
echo "SYS_ICON_DIR=\$(datadir)/pixmaps" >>config.mak
echo "INSTALL_DFSG_INCOMPATIBLE=$INSTALL_DFSG_INCOMPATIBLE" >>config.mak
# configure script flags
echo "USE_XIM=$use_xim" >>config.mak
echo "USE_SYSTEM_TRAY=$use_system_tray" >>config.mak
echo "USE_UNITY_TRAY=$USE_UNITY_TRAY" >>config.mak
echo "USE_I18N=$use_i18n" >>config.mak
echo "USE_TSIN=$use_tsin" >>config.mak
echo "USE_ANTHY=$USE_ANTHY" >>config.mak
echo "ANTHY_INC=$ANTHY_INC" >>config.mak
echo "USE_CHEWING=$USE_CHEWING" >>config.mak
echo "LIB=$LIB" >>config.mak
# QT
echo "QT5_IM=$QT5_IM" >>config.mak
if [ -z "$QT5_IM_DIR_CUSTOM" ]; then
echo "QT5_IM_DIR=$(pkg-config --define-variable=prefix=$\(DESTDIR\)/\$\(prefix\) --variable=libdir Qt5Core)$QT5_IM_DIR" >>config.mak
else
echo "QT5_IM_DIR=\$(DESTDIR)$QT5_IM_DIR_CUSTOM" >>config.mak
fi
echo "QT5_MOC_PATH=$QT5_MOC_PATH" >>config.mak
echo "QT5_QMAKE_PATH=$QT5_MOC_PATH" | sed 's/moc/qmake/' >>config.mak
# GTK
echo "GTK=$GTK" >>config.mak
echo "GTKINC=$GTKINC" >>config.mak
echo "GTK_IM=$GTK_IM" >>config.mak
echo "GTK3_IM=$GTK3_IM" >>config.mak
# git
echo "GIT_HAVE=$GIT_HAVE" >>config.mak
echo "GIT_HASH=$GIT_HASH" >>config.mak

170
Telegram/ThirdParty/hime/data/Makefile vendored Normal file
View File

@@ -0,0 +1,170 @@
include ../config.mak
SRC_DIR = ../src
IM_CLIENT_DIR = $(SRC_DIR)/im-client
.SUFFIXES: .kbmsrc .kbm .cin .gtab
CFLAGS+= $(OPTFLAGS) $(GTKINC) \
-DGDK_DISABLE_SINGLE_INCLUDES -DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_DEPRECATED \
-DG_DISABLE_SINGLE_INCLUDES \
-DGSEAL_ENABLE \
-I$(SRC_DIR) \
-I../src/IMdkit/include -I../src/im-client
export HIME_NO_RELOAD=
GTAB_DATA = ar30-big.gtab \
ar30.gtab \
array40.gtab \
cj-punc.gtab \
cj.gtab \
cj5.gtab \
cj543.gtab \
esperanto.gtab \
greek.gtab \
hangul-roman.gtab \
hangul.gtab \
jyutping.gtab \
latin-letters.gtab \
pinyin.gtab \
russian.gtab \
simplex-punc.gtab \
simplex.gtab \
symbols.gtab \
vims.gtab
KBM_DATA = colemak.kbm \
dvorak.kbm \
et.kbm \
et26.kbm \
hsu.kbm \
ibm.kbm \
mitac.kbm \
pinyin-no-tone.kbm \
pinyin.kbm \
zo.kbm
ifeq ($(INSTALL_DFSG_INCOMPATIBLE),Y)
GTAB_DATA += dayi3.gtab
endif
DATA = $(GTAB_DATA) $(KBM_DATA) \
tsin32 \
tsin32.idx \
s-tsin32 \
s-tsin32.idx \
pho.tab2 \
s-pho.tab2 \
pho-huge.tab2 \
s-pho-huge.tab2 \
s2t.dat \
t2s.dat \
pin-juyin.xlt \
tsin-1.src \
gtab.list
DATAKEEP = symbol-table phrase.table phrase-ctrl.table
PHO_A2D = $(SRC_DIR)/hime-phoa2d
TS_A2D = $(SRC_DIR)/hime-tsa2d32
CIN2GTAB = $(SRC_DIR)/hime-cin2gtab
KBMCV = $(SRC_DIR)/kbmcv
PIN_JUYIN = $(SRC_DIR)/pin-juyin
ifeq ($(USE_TSIN),Y)
REMOVE_TSIN = keep_tsin
endif
ifeq ($(USE_TSIN),N)
REMOVE_TSIN = remove_tsin
endif
.PHONY: all
all: $(DATA)
$(PHO_A2D):
$(MAKE) -C $(SRC_DIR) hime-phoa2d
$(TS_A2D):
$(MAKE) -C $(SRC_DIR) hime-tsa2d32
$(CIN2GTAB):
$(MAKE) -C $(SRC_DIR) hime-cin2gtab
$(KBMCV):
$(MAKE) -C $(SRC_DIR) kbmcv
$(PIN_JUYIN):
$(MAKE) -C $(SRC_DIR) pin-juyin
tsin32: tsin.src $(TS_A2D)
export LD_LIBRARY_PATH=$(IM_CLIENT_DIR); $(TS_A2D) $<
tsin32.idx: tsin32
s-tsin32: s-tsin.src $(TS_A2D)
export LD_LIBRARY_PATH=$(IM_CLIENT_DIR); $(TS_A2D) $< $@
s-tsin32.idx: s-tsin32
pho.tab2: pho.tab2.src $(PHO_A2D)
export LD_LIBRARY_PATH=$(IM_CLIENT_DIR); $(PHO_A2D) $<
s-pho.tab2: s-pho.tab2.src $(PHO_A2D)
export LD_LIBRARY_PATH=$(IM_CLIENT_DIR); $(PHO_A2D) $<
pho-huge.tab2: pho-huge.tab2.src $(PHO_A2D)
export LD_LIBRARY_PATH=$(IM_CLIENT_DIR); $(PHO_A2D) $<
s-pho-huge.tab2: s-pho-huge.tab2.src $(PHO_A2D)
export LD_LIBRARY_PATH=$(IM_CLIENT_DIR); $(PHO_A2D) $<
t2s.dat: t2s-file t2s-file.table
./t2s-file
s2t.dat: t2s-file
pin-juyin.xlt: $(PIN_JUYIN) pin-juyin.src
$(PIN_JUYIN)
extr1: extr1.c $(SRC_DIR)/util.o $(SRC_DIR)/locale.o
@echo "building $@ ..."
$(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS)
t2s-file: t2s-file.c $(SRC_DIR)/util.o $(SRC_DIR)/locale.o
@echo "building $@ ..."
$(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS)
tsin-1.src: extr1
./extr1 > $@
.cin.gtab: $(CIN2GTAB)
$(CIN2GTAB) $<
.kbmsrc.kbm: $(KBMCV)
$(KBMCV) $<
keep_tsin: gtab.list.in
cp gtab.list.in gtab.list
remove_tsin: gtab.list.in
grep -v TSIN gtab.list.in > gtab.list
gtab.list: $(REMOVE_TSIN)
touch gtab.list
.PHONY: install
install:
install -d "$(HIME_TABLE_DIR)"
install -m 644 $(DATA) $(DATAKEEP) "$(HIME_TABLE_DIR)"
.PHONY: uninstall
uninstall:
cd $(HIME_TABLE_DIR) && rm -f $(DATA) $(DATAKEEP)
rmdir --ignore-fail-on-non-empty $(HIME_TABLE_DIR)
.PHONY: clean
clean:
@echo "clean up"
@rm -f *~ tags core.* $(DATA) *.gtab extr1 t2s-file tsin-1.src tsin-gtabidx* tsin-ch-idx gtab.list

82193
Telegram/ThirdParty/hime/data/ar30-big.cin vendored Normal file

File diff suppressed because it is too large Load Diff

25958
Telegram/ThirdParty/hime/data/ar30.cin vendored Normal file

File diff suppressed because it is too large Load Diff

14805
Telegram/ThirdParty/hime/data/array40.cin vendored Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

13272
Telegram/ThirdParty/hime/data/cj-punc.cin vendored Normal file

File diff suppressed because it is too large Load Diff

13538
Telegram/ThirdParty/hime/data/cj.cin vendored Normal file

File diff suppressed because it is too large Load Diff

74984
Telegram/ThirdParty/hime/data/cj5.cin vendored Normal file

File diff suppressed because it is too large Load Diff

84134
Telegram/ThirdParty/hime/data/cj543.cin vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,44 @@
ㄅ 1
ㄆ q
ㄇ a
ㄈ z
ㄉ 2
ㄊ w
ㄋ r
ㄌ x
ㄍ f
ㄎ s
ㄏ c
ㄐ p
ㄑ t
ㄒ v
ㄓ 5
ㄔ g
ㄕ d
ㄖ b
ㄗ j
ㄘ h
ㄙ k
ㄧ l
ㄨ n
ㄩ m
ㄚ 8
ㄛ u
ㄜ e
ㄝ ,
ㄞ 9
ㄟ y
ㄠ i
ㄡ .
ㄣ ;
ㄢ 0
ㄤ o
ㄥ /
ㄦ -
˙ 7
ˊ 6
ˇ 3
ˋ 4
【 [
】 ]
、 `

18693
Telegram/ThirdParty/hime/data/dayi3.cin vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,44 @@
ㄅ 1
ㄆ '
ㄇ a
ㄈ ;
ㄉ 2
ㄊ ,
ㄋ o
ㄌ q
ㄍ .
ㄎ e
ㄏ j
ㄐ p
ㄑ u
ㄒ k
ㄓ 5
ㄔ y
ㄕ i
ㄖ x
ㄗ f
ㄘ d
ㄙ b
ㄧ g
ㄨ h
ㄩ m
ㄚ 8
ㄛ c
ㄜ t
ㄝ w
ㄞ 9
ㄟ r
ㄠ n
ㄡ v
ㄣ l
ㄢ 0
ㄤ s
ㄥ z
ㄦ [
˙ 7
ˊ 6
ˇ 3
ˋ 4
【 =
】 ]
、 `

View File

@@ -0,0 +1,139 @@
%ename esperanto
%prompt Esperanto
%selkey 1
%endkey abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ;:^`*?
%space_style 1
%keep_key_case
%keyname begin
a a
b b
c c
d d
e e
f f
g g
h h
i i
j j
k k
l l
m m
n n
o o
p p
q q
r r
s s
t t
u u
v v
w w
x x
y y
z z
; ;
A A
B B
C C
D D
E E
F F
G G
H H
I I
J J
K K
L L
M M
N N
O O
P P
Q Q
R R
S S
T T
U U
V V
W W
X X
Y Y
Z Z
: :
^ ^
* *
? ?
` `
%keyname end
%chardef begin
a a
b b
c c
^c ĉ
x ĉ
d d
e e
f f
g g
^g ĝ
w ĝ
h h
^h ĥ
i i
j j
^j ĵ
; ĵ
k k
l l
m m
n n
o o
p p
r r
s s
^s ŝ
q ŝ
t t
u u
y ŭ
^u ŭ
v v
z z
A A
B B
C C
^C Ĉ
X Ĉ
D D
E E
F F
G G
^G Ĝ
W Ĝ
H H
^H Ĥ
I I
J J
: Ĵ
^J Ĵ
K K
L L
M M
N N
O O
P P
R R
S S
^S Ŝ
Q Ŝ
T T
U U
Y Ŭ
^U Ŭ
V V
Z Z
^^ ^
^: :
^; ;
* *
? ?
%chardef end

44
Telegram/ThirdParty/hime/data/et.kbmsrc vendored Normal file
View File

@@ -0,0 +1,44 @@
ㄅ b
ㄆ p
ㄇ m
ㄈ f
ㄉ d
ㄊ t
ㄋ n
ㄌ l
ㄍ v
ㄎ k
ㄏ h
ㄐ g
ㄑ 7
ㄒ c
ㄓ ,
ㄔ .
ㄕ /
ㄖ j
ㄗ ;
ㄘ '
ㄙ s
ㄧ e
ㄨ x
ㄩ u
ㄚ a
ㄛ o
ㄜ r
ㄝ w
ㄞ i
ㄟ q
ㄠ z
ㄡ y
ㄣ 9
ㄢ 8
ㄤ 0
ㄥ -
ㄦ =
˙ 1
ˊ 2
ˇ 3
ˋ 4
【 [
】 ]
、 `

View File

@@ -0,0 +1,44 @@
ㄅ b
ㄆ p
ㄇ m
ㄈ f
ㄉ d
ㄊ t
ㄋ n
ㄌ l
ㄍ v
ㄎ k
ㄏ h
ㄓ g
ㄐ g
ㄑ v
ㄒ c
ㄔ y
ㄕ c
ㄖ j
ㄗ q
ㄘ w
ㄙ s
ㄧ e
ㄨ x
ㄩ u
ㄚ a
ㄛ o
ㄜ r
ㄝ w
ㄞ i
ㄟ q
ㄠ z
ㄡ p
ㄣ n
ㄢ m
ㄤ t
ㄥ l
ㄦ h
˙ d
ˊ f
ˇ j
ˋ k
【 [
】 ]
、 `

45
Telegram/ThirdParty/hime/data/extr1.c vendored Normal file
View File

@@ -0,0 +1,45 @@
/*
* Copyright (C) 2020 The HIME team, Taiwan
* Copyright (C) 2011 Edward Der-Hua Liu, Hsin-Chu, Taiwan
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation version 2.1
* of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <stdio.h>
#include <string.h>
#include "hime.h"
int main (void) {
FILE *fp = fopen ("tsin.src", "r");
if (!fp)
p_err ("cannot open");
while (!feof (fp)) {
char aa[128];
char bb[128];
int usecount;
char line[256];
fgets (line, sizeof (line), fp);
sscanf (line, "%s %s %d", aa, bb, &usecount);
if (utf8_str_N (aa) == 1)
printf ("%s", line);
}
return 0;
}

119
Telegram/ThirdParty/hime/data/greek.cin vendored Normal file
View File

@@ -0,0 +1,119 @@
%ename greek
%prompt αβγ
%selkey 1234567890
%endkey abdefghijklmnoqrsuvwxyzABDEFGHIJKLMNOPQRSUVWXYZ`
%space_style 2
%keep_key_case
%keyname begin
a a
b b
c c
d d
e e
f f
g g
h h
i i
j j
k k
l l
m m
n n
o o
p p
q q
r r
s s
t t
u u
v v
w w
x x
y y
z z
A A
B B
C C
D D
E E
F F
G G
H H
I I
J J
K K
L L
M M
N N
O O
P P
Q Q
R R
S S
T T
U U
V V
W W
X X
Y Y
Z Z
` `
%keyname end
%chardef begin
a α
b β
g γ
d δ
e ε
z ν
q η
h η
th θ
i ι
k κ
l λ
m μ
n ν
v ν
x ξ
o ο
p π
r ρ
s σ
c ς
t τ
u υ
ps ψ
f φ
ph φ
ch χ
w ω
A Α
B Β
G Γ
D Δ
E Ε
Z Ζ
Q Η
H Η
TH Θ
I Ι
K Κ
L Λ
M Μ
N Ν
X Ξ
O Ο
P Π
R Ρ
S Σ
C ς
T Τ
U υ
PS ψ
F Φ
PH Φ
CH χ
W Ω
` `
%chardef end

View File

@@ -0,0 +1,32 @@
# Do not use the escape character '\' as the key of the input method
#英數 e !EN hime-tray.png
內碼 0 intcode-module.so intcode.png
倉頡 1 cj.gtab cj.png
#五四三倉頡 2 cj543.gtab cj5.png
倉五 2 cj5.gtab cj5.png
注音 3 !PHO juyin.png
小鍵盤 , symbols.gtab symbols.png
#標點倉頡 4 cj-punc.gtab cj-punc.png
# You can copy 符號表 from system symbol-table and put your own version in $HOME/.config/hime/
符號表 4 !SYMBOL_TABLE symbols.png
# 5 現在居然沒人用耶?
#拼音 5 pinyin.gtab pinyin.png
詞音 6 !TSIN tsin.png
大易 7 dayi3.gtab dayi3.png
行列 8 ar30.gtab ar30.png
行列40 8 array40.gtab ar30.png
#行列大字集 8 ar30-big.gtab ar30.png
# Too many people depends on "嘸蝦米 9", kept for compatibility
嘸蝦米 9 noseeing.gtab noseeing.png
#標點簡易 - simplex-punc.gtab simplex.png
速成(簡易) - simplex.gtab simplex.png
日文 = anthy-module.so kana-nippon.png
希臘文 ` greek.gtab greek.png
世界文 w esperanto.gtab esperanto.png
拉丁字母 a latin-letters.gtab latin-letters.png
俄文 ? russian.gtab russian.png
新酷音 [ chewing-module.so chewing.png
韓羅 / hangul-roman.gtab hangul.png
帶調粵拼 ] jyutping.gtab jyutping.png
越南文 ' vims.gtab vims.png
韓諺 . hangul.gtab hangul.png

File diff suppressed because it is too large Load Diff

3666
Telegram/ThirdParty/hime/data/hangul.cin vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,44 @@
ㄅ b
ㄆ p
ㄇ m
ㄈ f
ㄉ d
ㄊ t
ㄋ n
ㄌ l
ㄍ g
ㄎ k
ㄏ h
ㄓ j
ㄐ j
ㄑ v
ㄒ c
ㄔ v
ㄕ c
ㄖ r
ㄗ z
ㄘ a
ㄙ s
ㄧ e
ㄨ x
ㄩ u
ㄚ y
ㄛ h
ㄜ g
ㄝ e
ㄞ i
ㄟ a
ㄠ w
ㄡ o
ㄣ n
ㄢ m
ㄤ k
ㄥ l
ㄦ l
˙ s
ˊ d
ˇ f
ˋ j
【 [
】 ]
、 `

View File

@@ -0,0 +1,41 @@
ㄢ x
ㄅ 1
ㄉ 5
ㄡ z
ˋ .
ㄓ r
ˊ m
ㄚ f
ㄞ k
ㄏ -
ㄎ 0
ㄍ 9
ㄑ w
ㄕ y
ㄘ o
ㄛ g
ㄜ h
ㄠ ;
ㄩ d
ㄦ n
ㄙ p
ㄟ l
ㄣ c
ㄆ 2
ㄐ q
ㄔ t
ㄤ v
ㄒ e
ㄊ 6
ㄌ 8
ㄗ i
ㄈ 4
ˇ ,
˙ /
ㄇ 3
ㄥ b
ㄖ u
ㄝ j
ㄨ s
ㄋ 7
ㄧ a

13395
Telegram/ThirdParty/hime/data/jyutping.cin vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,333 @@
%ename latin-letters
%prompt latin-letters
%selkey 1234567890-=[]\
%endkey !/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
%space_style 2
%keep_key_case
%keyname begin
! !
/ /
a a
b b
c c
d d
e e
f f
g g
h h
i i
j j
k k
l l
m m
n n
o o
p p
q q
r r
s s
t t
u u
v v
w w
x x
y y
z z
A A
B B
C C
D D
E E
F F
G G
H H
I I
J J
K K
L L
M M
N N
O O
P P
Q Q
R R
S S
T T
U U
V V
W W
X X
Y Y
Z Z
` `
%keyname end
%chardef begin
A A 65 0041 LATIN CAPITAL LETTER A
B B 66 0042 LATIN CAPITAL LETTER B
C C 67 0043 LATIN CAPITAL LETTER C
D D 68 0044 LATIN CAPITAL LETTER D
E E 69 0045 LATIN CAPITAL LETTER E
F F 70 0046 LATIN CAPITAL LETTER F
G G 71 0047 LATIN CAPITAL LETTER G
H H 72 0048 LATIN CAPITAL LETTER H
I I 73 0049 LATIN CAPITAL LETTER I
J J 74 004A LATIN CAPITAL LETTER J
K K 75 004B LATIN CAPITAL LETTER K
L L 76 004C LATIN CAPITAL LETTER L
M M 77 004D LATIN CAPITAL LETTER M
N N 78 004E LATIN CAPITAL LETTER N
O O 79 004F LATIN CAPITAL LETTER O
P P 80 0050 LATIN CAPITAL LETTER P
Q Q 81 0051 LATIN CAPITAL LETTER Q
R R 82 0052 LATIN CAPITAL LETTER R
S S 83 0053 LATIN CAPITAL LETTER S
T T 84 0054 LATIN CAPITAL LETTER T
U U 85 0055 LATIN CAPITAL LETTER U
V V 86 0056 LATIN CAPITAL LETTER V
W W 87 0057 LATIN CAPITAL LETTER W
X X 88 0058 LATIN CAPITAL LETTER X
Y Y 89 0059 LATIN CAPITAL LETTER Y
Z Z 90 005A LATIN CAPITAL LETTER Z
a a 97 0061 LATIN SMALL LETTER A
b b 98 0062 LATIN SMALL LETTER B
c c 99 0063 LATIN SMALL LETTER C
d d 100 0064 LATIN SMALL LETTER D
e e 101 0065 LATIN SMALL LETTER E
f f 102 0066 LATIN SMALL LETTER F
g g 103 0067 LATIN SMALL LETTER G
h h 104 0068 LATIN SMALL LETTER H
i i 105 0069 LATIN SMALL LETTER I
j j 106 006A LATIN SMALL LETTER J
k k 107 006B LATIN SMALL LETTER K
l l 108 006C LATIN SMALL LETTER L
m m 109 006D LATIN SMALL LETTER M
n n 110 006E LATIN SMALL LETTER N
o o 111 006F LATIN SMALL LETTER O
p p 112 0070 LATIN SMALL LETTER P
q q 113 0071 LATIN SMALL LETTER Q
r r 114 0072 LATIN SMALL LETTER R
s s 115 0073 LATIN SMALL LETTER S
t t 116 0074 LATIN SMALL LETTER T
u u 117 0075 LATIN SMALL LETTER U
v v 118 0076 LATIN SMALL LETTER V
w w 119 0077 LATIN SMALL LETTER W
x x 120 0078 LATIN SMALL LETTER X
y y 121 0079 LATIN SMALL LETTER Y
z z 122 007A LATIN SMALL LETTER Z
A À 192 00C0 &Agrave; LATIN CAPITAL LETTER A WITH GRAVE
A Á 193 00C1 &Aacute; LATIN CAPITAL LETTER A WITH ACUTE
A Â 194 00C2 &Acirc; LATIN CAPITAL LETTER A WITH CIRCUMFLEX
A Ã 195 00C3 &Atilde; LATIN CAPITAL LETTER A WITH TILDE
A Ä 196 00C4 &Auml; LATIN CAPITAL LETTER A WITH DIAERESIS
A Å 197 00C5 &Aring; LATIN CAPITAL LETTER A WITH RING ABOVE
AE Æ 198 00C6 &AElig; LATIN CAPITAL LETTER AE
A Æ 198 00C6 &AElig; LATIN CAPITAL LETTER AE
C Ç 199 00C7 &Ccedil; LATIN CAPITAL LETTER C WITH CEDILLA
E È 200 00C8 &Egrave; LATIN CAPITAL LETTER E WITH GRAVE
E É 201 00C9 &Eacute; LATIN CAPITAL LETTER E WITH ACUTE
E Ê 202 00CA &Ecirc; LATIN CAPITAL LETTER E WITH CIRCUMFLEX
E Ë 203 00CB &Euml; LATIN CAPITAL LETTER E WITH DIAERESIS
I Ì 204 00CC &Igrave; LATIN CAPITAL LETTER I WITH GRAVE
I Í 205 00CD &Iacute; LATIN CAPITAL LETTER I WITH ACUTE
I Î 206 00CE &Icirc; LATIN CAPITAL LETTER I WITH CIRCUMFLEX
I Ï 207 00CF &Iuml; LATIN CAPITAL LETTER I WITH DIAERESIS
ETH Ð 208 00D0 &ETH; LATIN CAPITAL LETTER ETH
E Ð 208 00D0 &ETH; LATIN CAPITAL LETTER ETH
N Ñ 209 00D1 &Ntilde; LATIN CAPITAL LETTER N WITH TILDE
O Ò 210 00D2 &Ograve; LATIN CAPITAL LETTER O WITH GRAVE
O Ó 211 00D3 &Oacute; LATIN CAPITAL LETTER O WITH ACUTE
O Ô 212 00D4 &Ocirc; LATIN CAPITAL LETTER O WITH CIRCUMFLEX
O Õ 213 00D5 &Otilde; LATIN CAPITAL LETTER O WITH TILDE
O Ö 214 00D6 &Ouml; LATIN CAPITAL LETTER O WITH DIAERESIS
O Ø 216 00D8 &Oslash; LATIN CAPITAL LETTER O WITH STROKE
U Ù 217 00D9 &Ugrave; LATIN CAPITAL LETTER U WITH GRAVE
U Ú 218 00DA &Uacute; LATIN CAPITAL LETTER U WITH ACUTE
U Û 219 00DB &Ucirc; LATIN CAPITAL LETTER U WITH CIRCUMFLEX
U Ü 220 00DC &Uuml; LATIN CAPITAL LETTER U WITH DIAERESIS
Y Ý 221 00DD &Yacute; LATIN CAPITAL LETTER Y WITH ACUTE
THORN Þ 222 00DE &THORN; LATIN CAPITAL LETTER THORN
T Þ 222 00DE &THORN; LATIN CAPITAL LETTER THORN
s ß 223 00DF &szlig; LATIN SMALL LETTER SHARP S
a à 224 00E0 &agrave; LATIN SMALL LETTER A WITH GRAVE
a á 225 00E1 &aacute; LATIN SMALL LETTER A WITH ACUTE
a â 226 00E2 &acirc; LATIN SMALL LETTER A WITH CIRCUMFLEX
a ã 227 00E3 &atilde; LATIN SMALL LETTER A WITH TILDE
a ä 228 00E4 &auml; LATIN SMALL LETTER A WITH DIAERESIS
a å 229 00E5 &aring; LATIN SMALL LETTER A WITH RING ABOVE
a ǎ
a ɑ
a æ 230 00E6 &aelig; LATIN SMALL LETTER AE
ae æ 230 00E6 &aelig; LATIN SMALL LETTER AE
c ç 231 00E7 &ccedil; LATIN SMALL LETTER C WITH CEDILLA
e è 232 00E8 &egrave; LATIN SMALL LETTER E WITH GRAVE
e é 233 00E9 &eacute; LATIN SMALL LETTER E WITH ACUTE
e ê 234 00EA &ecirc; LATIN SMALL LETTER E WITH CIRCUMFLEX
e ë 235 00EB &euml; LATIN SMALL LETTER E WITH DIAERESIS
i ì 236 00EC &igrave; LATIN SMALL LETTER I WITH GRAVE
i í 237 00ED &iacute; LATIN SMALL LETTER I WITH ACUTE
i î 238 00EE &icirc; LATIN SMALL LETTER I WITH CIRCUMFLEX
i ï 239 00EF &iuml; LATIN SMALL LETTER I WITH DIAERESIS
eth ð 240 00F0 &eth; LATIN SMALL LETTER ETH
e ð 240 00F0 &eth; LATIN SMALL LETTER ETH
n ñ 241 00F1 &ntilde; LATIN SMALL LETTER N WITH TILDE
o ò 242 00F2 &ograve; LATIN SMALL LETTER O WITH GRAVE
o ó 243 00F3 &oacute; LATIN SMALL LETTER O WITH ACUTE
o ô 244 00F4 &ocirc; LATIN SMALL LETTER O WITH CIRCUMFLEX
o õ 245 00F5 &otilde; LATIN SMALL LETTER O WITH TILDE
o ö 246 00F6 &ouml; LATIN SMALL LETTER O WITH DIAERESIS
o ø 248 00F8 &oslash; LATIN SMALL LETTER O WITH STROKE
u ù 249 00F9 &ugrave; LATIN SMALL LETTER U WITH GRAVE
u ú 250 00FA &uacute; LATIN SMALL LETTER U WITH ACUTE
u û 251 00FB &ucirc; LATIN SMALL LETTER U WITH CIRCUMFLEX
u ü 252 00FC &uuml; LATIN SMALL LETTER U WITH DIAERESIS
y ý 253 00FD &yacute; LATIN SMALL LETTER Y WITH ACUTE
thorn þ 254 00FE &thorn; LATIN SMALL LETTER THORN
t þ 254 00FE &thorn; LATIN SMALL LETTER THORN
y ÿ 255 00FF &yuml; LATIN SMALL LETTER Y WITH DIAERESIS
A Ā 256 0100 LATIN CAPITAL LETTER A WITH MACRON
a ā 257 0101 LATIN SMALL LETTER A WITH MACRON
A Ă 258 0102 LATIN CAPITAL LETTER A WITH BREVE
a ă 259 0103 LATIN SMALL LETTER A WITH BREVE
A Ą 260 0104 LATIN CAPITAL LETTER A WITH OGONEK
a ą 261 0105 LATIN SMALL LETTER A WITH OGONEK
C Ć 262 0106 LATIN CAPITAL LETTER C WITH ACUTE
c ć 263 0107 LATIN SMALL LETTER C WITH ACUTE
C Ĉ 264 0108 LATIN CAPITAL LETTER C WITH CIRCUMFLEX
c ĉ 265 0109 LATIN SMALL LETTER C WITH CIRCUMFLEX
C Ċ 266 010A LATIN CAPITAL LETTER C WITH DOT ABOVE
c ċ 267 010B LATIN SMALL LETTER C WITH DOT ABOVE
C Č 268 010C LATIN CAPITAL LETTER C WITH CARON
c č 269 010D LATIN SMALL LETTER C WITH CARON
D Ď 270 010E LATIN CAPITAL LETTER D WITH CARON
d ď 271 010F LATIN SMALL LETTER D WITH CARON
D Đ 272 0110 LATIN CAPITAL LETTER D WITH STROKE
d đ 273 0111 LATIN SMALL LETTER D WITH STROKE
E Ē 274 0112 LATIN CAPITAL LETTER E WITH MACRON
e ē 275 0113 LATIN SMALL LETTER E WITH MACRON
E Ĕ 276 0114 LATIN CAPITAL LETTER E WITH BREVE
e ĕ 277 0115 LATIN SMALL LETTER E WITH BREVE
E Ė 278 0116 LATIN CAPITAL LETTER E WITH DOT ABOVE
e ė 279 0117 LATIN SMALL LETTER E WITH DOT ABOVE
E Ę 280 0118 LATIN CAPITAL LETTER E WITH OGONEK
e ę 281 0119 LATIN SMALL LETTER E WITH OGONEK
E Ě 282 011A LATIN CAPITAL LETTER E WITH CARON
e ě 283 011B LATIN SMALL LETTER E WITH CARON
G Ĝ 284 011C LATIN CAPITAL LETTER G WITH CIRCUMFLEX
g ĝ 285 011D LATIN SMALL LETTER G WITH CIRCUMFLEX
G Ğ 286 011E LATIN CAPITAL LETTER G WITH BREVE
g ğ 287 011F LATIN SMALL LETTER G WITH BREVE
G Ġ 288 0120 LATIN CAPITAL LETTER G WITH DOT ABOVE
g ġ 289 0121 LATIN SMALL LETTER G WITH DOT ABOVE
G Ģ 290 0122 LATIN CAPITAL LETTER G WITH CEDILLA
g ģ 291 0123 LATIN SMALL LETTER G WITH CEDILLA
g ɡ
H Ĥ 292 0124 LATIN CAPITAL LETTER H WITH CIRCUMFLEX
h ĥ 293 0125 LATIN SMALL LETTER H WITH CIRCUMFLEX
H Ħ 294 0126 LATIN CAPITAL LETTER H WITH STROKE
h ħ 295 0127 LATIN SMALL LETTER H WITH STROKE
I Ĩ 296 0128 LATIN CAPITAL LETTER I WITH TILDE
i ĩ 297 0129 LATIN SMALL LETTER I WITH TILDE
I Ī 298 012A LATIN CAPITAL LETTER I WITH MACRON
i ī 299 012B LATIN SMALL LETTER I WITH MACRON
I Ĭ 300 012C LATIN CAPITAL LETTER I WITH BREVE
i ĭ 301 012D LATIN SMALL LETTER I WITH BREVE
i ǐ
I Į 302 012E LATIN CAPITAL LETTER I WITH OGONEK
i į 303 012F LATIN SMALL LETTER I WITH OGONEK
I İ 304 0130 LATIN CAPITAL LETTER I WITH DOT ABOVE
i ı 305 0131 LATIN SMALL LETTER DOTLESS I
IJ IJ 306 0132 LATIN CAPITAL LIGATURE IJ
I IJ 306 0132 LATIN CAPITAL LIGATURE IJ
ij ij 307 0133 LATIN SMALL LIGATURE IJ
i ij 307 0133 LATIN SMALL LIGATURE IJ
J Ĵ 308 0134 LATIN CAPITAL LETTER J WITH CIRCUMFLEX
j ĵ 309 0135 LATIN SMALL LETTER J WITH CIRCUMFLEX
K Ķ 310 0136 LATIN CAPITAL LETTER K WITH CEDILLA
k ķ 311 0137 LATIN SMALL LETTER K WITH CEDILLA
k ĸ 312 0138 LATIN SMALL LETTER KRA
L Ĺ 313 0139 LATIN CAPITAL LETTER L WITH ACUTE
l ĺ 314 013A LATIN SMALL LETTER L WITH ACUTE
L Ļ 315 013B LATIN CAPITAL LETTER L WITH CEDILLA
l ļ 316 013C LATIN SMALL LETTER L WITH CEDILLA
L Ľ 317 013D LATIN CAPITAL LETTER L WITH CARON
l ľ 318 013E LATIN SMALL LETTER L WITH CARON
L Ŀ 319 013F LATIN CAPITAL LETTER L WITH MIDDLE DOT
l ŀ 320 0140 LATIN SMALL LETTER L WITH MIDDLE DOT
L Ł 321 0141 LATIN CAPITAL LETTER L WITH STROKE
l ł 322 0142 LATIN SMALL LETTER L WITH STROKE
m 
N Ń 323 0143 LATIN CAPITAL LETTER N WITH ACUTE
n ń 324 0144 LATIN SMALL LETTER N WITH ACUTE
N Ņ 325 0145 LATIN CAPITAL LETTER N WITH CEDILLA
n ņ 326 0146 LATIN SMALL LETTER N WITH CEDILLA
N Ň 327 0147 LATIN CAPITAL LETTER N WITH CARON
n ň 328 0148 LATIN SMALL LETTER N WITH CARON
n ʼn 329 0149 LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
N Ŋ 330 014A LATIN CAPITAL LETTER ENG
n ŋ 331 014B LATIN SMALL LETTER ENG
n 
O Ō 332 014C LATIN CAPITAL LETTER O WITH MACRON
o ō 333 014D LATIN SMALL LETTER O WITH MACRON
O Ŏ 334 014E LATIN CAPITAL LETTER O WITH BREVE
o ŏ 335 014F LATIN SMALL LETTER O WITH BREVE
o ǒ
O Ő 336 0150 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
o ő 337 0151 LATIN SMALL LETTER O WITH DOUBLE ACUTE
OE Œ 338 0152 LATIN CAPITAL LIGATURE OE (entity name is &OElig;)
O Œ 338 0152 LATIN CAPITAL LIGATURE OE (entity name is &OElig;)
oe œ 339 0153 LATIN SMALL LIGATURE OE (entity name is &oelig;)
o œ 339 0153 LATIN SMALL LIGATURE OE (entity name is &oelig;)
R Ŕ 340 0154 LATIN CAPITAL LETTER R WITH ACUTE
r ŕ 341 0155 LATIN SMALL LETTER R WITH ACUTE
R Ŗ 342 0156 LATIN CAPITAL LETTER R WITH CEDILLA
r ŗ 343 0157 LATIN SMALL LETTER R WITH CEDILLA
R Ř 344 0158 LATIN CAPITAL LETTER R WITH CARON
r ř 345 0159 LATIN SMALL LETTER R WITH CARON
S Ś 346 015A LATIN CAPITAL LETTER S WITH ACUTE
s ś 347 015B LATIN SMALL LETTER S WITH ACUTE
S Ŝ 348 015C LATIN CAPITAL LETTER S WITH CIRCUMFLEX
s ŝ 349 015D LATIN SMALL LETTER S WITH CIRCUMFLEX
S Ş 350 015E LATIN CAPITAL LETTER S WITH CEDILLA
s ş 351 015F LATIN SMALL LETTER S WITH CEDILLA
S Š 352 0160 LATIN CAPITAL LETTER S WITH CARON (entity name is &Scaron;)
s š 353 0161 LATIN SMALL LETTER S WITH CARON (entity name is &scaron;)
T Ţ 354 0162 LATIN CAPITAL LETTER T WITH CEDILLA
t ţ 355 0163 LATIN SMALL LETTER T WITH CEDILLA
T Ť 356 0164 LATIN CAPITAL LETTER T WITH CARON
t ť 357 0165 LATIN SMALL LETTER T WITH CARON
T Ŧ 358 0166 LATIN CAPITAL LETTER T WITH STROKE
t ŧ 359 0167 LATIN SMALL LETTER T WITH STROKE
U Ũ 360 0168 LATIN CAPITAL LETTER U WITH TILDE
u ũ 361 0169 LATIN SMALL LETTER U WITH TILDE
U Ū 362 016A LATIN CAPITAL LETTER U WITH MACRON
u ū 363 016B LATIN SMALL LETTER U WITH MACRON
U Ŭ 364 016C LATIN CAPITAL LETTER U WITH BREVE
u ŭ 365 016D LATIN SMALL LETTER U WITH BREVE
U Ů 366 016E LATIN CAPITAL LETTER U WITH RING ABOVE
u ů 367 016F LATIN SMALL LETTER U WITH RING ABOVE
U Ű 368 0170 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
u ű 369 0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE
U Ų 370 0172 LATIN CAPITAL LETTER U WITH OGONEK
u ų 371 0173 LATIN SMALL LETTER U WITH OGONEK
u ǔ
u ǖ
u ǘ
u ǜ
W Ŵ 372 0174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX
w ŵ 373 0175 LATIN SMALL LETTER W WITH CIRCUMFLEX
Y Ŷ 374 0176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
y ŷ 375 0177 LATIN SMALL LETTER Y WITH CIRCUMFLEX
Y Ÿ 376 0178 LATIN CAPITAL LETTER Y WITH DIAERESIS (entity name is &Yuml;)
Z Ź 377 0179 LATIN CAPITAL LETTER Z WITH ACUTE
z ź 378 017A LATIN SMALL LETTER Z WITH ACUTE
Z Ż 379 017B LATIN CAPITAL LETTER Z WITH DOT ABOVE
z ż 380 017C LATIN SMALL LETTER Z WITH DOT ABOVE
Z Ž 381 017D LATIN CAPITAL LETTER Z WITH CARON
z ž 382 017E LATIN SMALL LETTER Z WITH CARON
! !
! ¡
/ /
/ ¿
E €
` `
%chardef end

View File

@@ -0,0 +1,41 @@
ㄅ b
ㄆ p
ㄇ m
ㄈ f
ㄉ d
ㄊ t
ㄋ n
ㄌ l
ㄍ g
ㄎ k
ㄏ h
ㄐ j
ㄑ q
ㄒ x
ㄓ z
ㄔ c
ㄕ s
ㄖ r
ㄗ 1
ㄘ 2
ㄙ 3
ㄧ e
ㄨ w
ㄩ u
ㄚ a
ㄛ 4
ㄜ 5
ㄝ 6
ㄞ 7
ㄟ 8
ㄠ 9
ㄡ o
ㄣ -
ㄢ 0
ㄤ =
ㄥ [
ㄦ ;
˙ '
ˊ ,
ˇ .
ˋ /

File diff suppressed because it is too large Load Diff

15181
Telegram/ThirdParty/hime/data/pho.tab2.src vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,13 @@
# 這個檔案是按 ctrl-??? 時會送出的字串。
,
. 。
;
:
' 、
/
?
[ 「
] 」
{
}

View File

@@ -0,0 +1,88 @@
# 這個檔案是按 alt-shift-??? 時會送出的字串。
# 第一個字母如果是大寫,代表如果 CapsLock 打開時會用的片語。
a ├
#A a
b 股份有限公司
#B b
c ┘
#C c
d ┤
e ┐
f 『
g 』
h 「
i 、
j 」
k §
l │
m ─
n 有限公司
o 。
p
/
q ┌
r □
s ┼
t 台北市
u ±
v ˇ
w ┬
x ┴
y 臺灣
z └
,
. ‧
;
[ 【
] 】
` 反引
1 key1
2 key2
- 減
= 等
\ 反斜
' 引
kp0 ─
Kp0 ═
kp. │
Kp. ║
kp1 └
Kp1 ╚
kp2 ┴
Kp2 ╩
kp3 ┘
Kp3 ╝
kp4 ├
Kp4 ╠
kp5 ┼
Kp5 ╬
kp6 ┤
Kp6 ╣
kp7 ┌
Kp7 ╔
kp8 ┬
Kp8 ╦
kp9 ┐
Kp9 ╗
# 底下的定義可能會造成 shift- 鍵不正常,需要者自行把 # 拿掉。
#k_ins ─
#k_del │
#k_end └
#k_down ┴
#k_pgdn ┘
#k_left ├
#k_5 ┼
#k_right ┤
#k_home ┌
#k_up ┬
#k_pgup ┐
# f1-f12 皆可用
f1 A test
f2 測試
# 由於會影響到應用程式的選擇,底下的關閉
#left ←
#right →
#down ↓
#up ↑

View File

@@ -0,0 +1,542 @@
a ㄚ
ai ㄞ
an ㄢ
ang ㄤ
ao ㄠ
b ㄅ
ba ㄅㄚ
bai ㄅㄞ
ban ㄅㄢ
bang ㄅㄤ
bao ㄅㄠ
bei ㄅㄟ
bay ㄅㄟ
ben ㄅㄣ
beng ㄅㄥ
bong ㄅㄥ
bi ㄅㄧ
bian ㄅㄧㄢ
biao ㄅㄧㄠ
bie ㄅㄧㄝ
biay ㄅㄧㄝ
bin ㄅㄧㄣ
bing ㄅㄧㄥ
bo ㄅㄛ
bu ㄅㄨ
c ㄘ
ts ㄘ
ca ㄘㄚ
tsa ㄘㄚ
cai ㄘㄞ
tsai ㄘㄞ
can ㄘㄢ
tsan ㄘㄢ
cang ㄘㄤ
tsang ㄘㄤ
cao ㄘㄠ
tsao ㄘㄠ
ce ㄘㄜ
tse ㄘㄜ
cen ㄘㄣ
tsen ㄘㄣ
ceng ㄘㄥ
tseng ㄘㄥ
cha ㄔㄚ
chai ㄔㄞ
chan ㄔㄢ
chang ㄔㄤ
chao ㄔㄠ
che ㄔㄜ
chur ㄔㄜ
chen ㄔㄣ
cheng ㄔㄥ
chi ㄔ
chong ㄔㄨㄥ
chou ㄔㄡ
chu ㄔㄨ
chua ㄔㄨㄚ
chuai ㄔㄨㄞ
chuan ㄔㄨㄢ
chuang ㄔㄨㄤ
chui ㄔㄨㄟ
chuay ㄔㄨㄟ
chun ㄔㄨㄣ
chuo ㄔㄨㄛ
ci ㄘ
tsi ㄘ
cong ㄘㄨㄥ
tsong ㄘㄨㄥ
cou ㄘㄡ
tsou ㄘㄡ
cu ㄘㄨ
tsu ㄘㄨ
cuan ㄘㄨㄢ
tsuan ㄘㄨㄢ
cui ㄘㄨㄟ
tsuay ㄘㄨㄟ
cun ㄘㄨㄣ
tsun ㄘㄨㄣ
cuo ㄘㄨㄛ
tsuo ㄘㄨㄛ
d ㄉ
da ㄉㄚ
dai ㄉㄞ
dan ㄉㄢ
dang ㄉㄤ
dao ㄉㄠ
de ㄉㄜ
dei ㄉㄟ
day ㄉㄟ
deng ㄉㄥ
di ㄉㄧ
dian ㄉㄧㄢ
diao ㄉㄧㄠ
die ㄉㄧㄝ
diay ㄉㄧㄝ
ding ㄉㄧㄥ
diu ㄉㄧㄡ
dew ㄉㄧㄡ
dong ㄉㄨㄥ
dou ㄉㄡ
doa ㄉㄡ
du ㄉㄨ
duan ㄉㄨㄢ
dui ㄉㄨㄟ
dun ㄉㄨㄣ
duo ㄉㄨㄛ
e ㄜ
ei ㄟ
en ㄣ
eng ㄥ
er ㄦ
f ㄈ
fa ㄈㄚ
fan ㄈㄢ
fang ㄈㄤ
fei ㄈㄟ
fay ㄈㄟ
fen ㄈㄣ
feng ㄈㄥ
fo ㄈㄛ
fou ㄈㄡ
fu ㄈㄨ
g ㄍ
ga ㄍㄚ
gai ㄍㄞ
gan ㄍㄢ
gang ㄍㄤ
gao ㄍㄠ
ge ㄍㄜ
gei ㄍㄟ
gay ㄍㄟ
gen ㄍㄣ
geng ㄍㄥ
gong ㄍㄨㄥ
gou ㄍㄡ
gu ㄍㄨ
gua ㄍㄨㄚ
guai ㄍㄨㄞ
guan ㄍㄨㄢ
guang ㄍㄨㄤ
gui ㄍㄨㄟ
guay ㄍㄨㄟ
gun ㄍㄨㄣ
guo ㄍㄨㄛ
h ㄏ
ha ㄏㄚ
hai ㄏㄞ
han ㄏㄢ
hang ㄏㄤ
hao ㄏㄠ
he ㄏㄜ
hei ㄏㄟ
hay ㄏㄟ
hen ㄏㄣ
heng ㄏㄥ
hong ㄏㄨㄥ
hou ㄏㄡ
hu ㄏㄨ
hua ㄏㄨㄚ
huai ㄏㄨㄞ
huan ㄏㄨㄢ
huang ㄏㄨㄤ
hui ㄏㄨㄟ
huay ㄏㄨㄟ
hun ㄏㄨㄣ
huo ㄏㄨㄛ
j ㄐ
ji ㄐㄧ
jia ㄐㄧㄚ
jian ㄐㄧㄢ
jiang ㄐㄧㄤ
jiao ㄐㄧㄠ
jie ㄐㄧㄝ
jiay ㄐㄧㄝ
jin ㄐㄧㄣ
jing ㄐㄧㄥ
jiong ㄐㄩㄥ
jiu ㄐㄧㄡ
ju ㄐㄩ
juan ㄐㄩㄢ
jue ㄐㄩㄝ
juay ㄐㄩㄝ
jun ㄐㄩㄣ
k ㄎ
ka ㄎㄚ
kai ㄎㄞ
kan ㄎㄢ
kang ㄎㄤ
kao ㄎㄠ
ke ㄎㄜ
ken ㄎㄣ
keng ㄎㄥ
kong ㄎㄨㄥ
kou ㄎㄡ
ku ㄎㄨ
kua ㄎㄨㄚ
kuai ㄎㄨㄞ
kuan ㄎㄨㄢ
kuang ㄎㄨㄤ
kui ㄎㄨㄟ
kuay ㄎㄨㄟ
kun ㄎㄨㄣ
kuo ㄎㄨㄛ
l ㄌ
la ㄌㄚ
lai ㄌㄞ
lan ㄌㄢ
lang ㄌㄤ
lao ㄌㄠ
le ㄌㄜ
lei ㄌㄟ
lay ㄌㄟ
leng ㄌㄥ
li ㄌㄧ
lia ㄌㄧㄚ
lian ㄌㄧㄢ
liang ㄌㄧㄤ
liao ㄌㄧㄠ
lie ㄌㄧㄝ
lin ㄌㄧㄣ
ling ㄌㄧㄥ
liu ㄌㄧㄡ
lew ㄌㄧㄡ
long ㄌㄨㄥ
lou ㄌㄡ
lu ㄌㄨ
luan ㄌㄨㄢ
lyuan ㄌㄩㄢ
lue ㄌㄩㄝ
lun ㄌㄨㄣ
luo ㄌㄨㄛ
luu ㄌㄩ
lui ㄌㄩ
lv ㄌㄩ
m ㄇ
ma ㄇㄚ
mai ㄇㄞ
man ㄇㄢ
mang ㄇㄤ
mao ㄇㄠ
me ㄇㄜ
mei ㄇㄟ
may ㄇㄟ
men ㄇㄣ
meng ㄇㄥ
mi ㄇㄧ
mian ㄇㄧㄢ
miao ㄇㄧㄠ
mie ㄇㄧㄝ
myay ㄇㄧㄝ
min ㄇㄧㄣ
ming ㄇㄧㄥ
miu ㄇㄧㄡ
mo ㄇㄛ
mou ㄇㄡ
mu ㄇㄨ
n ㄋ
na ㄋㄚ
nai ㄋㄞ
nan ㄋㄢ
nang ㄋㄤ
non ㄋㄤ
nao ㄋㄠ
ne ㄋㄜ
nei ㄋㄟ
nay ㄋㄟ
nen ㄋㄣ
neng ㄋㄥ
ni ㄋㄧ
nian ㄋㄧㄢ
niang ㄋㄧㄤ
niao ㄋㄧㄠ
nie ㄋㄧㄝ
nin ㄋㄧㄣ
ning ㄋㄧㄥ
niu ㄋㄧㄡ
new ㄋㄧㄡ
nong ㄋㄨㄥ
nou ㄋㄡ
nu ㄋㄨ
nuan ㄋㄨㄢ
nuo ㄋㄨㄛ
nue ㄋㄩㄝ
nuay ㄋㄩㄝ
nuu ㄋㄩ
nv ㄋㄩ
o ㄛ
ou ㄡ
p ㄆ
pa ㄆㄚ
pai ㄆㄞ
pan ㄆㄢ
pang ㄆㄤ
pao ㄆㄠ
pei ㄆㄟ
pay ㄆㄟ
pen ㄆㄣ
peng ㄆㄥ
pi ㄆㄧ
pian ㄆㄧㄢ
piao ㄆㄧㄠ
pie ㄆㄧㄝ
pin ㄆㄧㄣ
ping ㄆㄧㄥ
po ㄆㄛ
pou ㄆㄡ
pu ㄆㄨ
q ㄑ
qi ㄑㄧ
qi ㄑㄧ
qia ㄑㄧㄚ
chia ㄑㄧㄚ
qian ㄑㄧㄢ
chian ㄑㄧㄢ
qiang ㄑㄧㄤ
chiang ㄑㄧㄤ
qiao ㄑㄧㄠ
chiao ㄑㄧㄠ
qie ㄑㄧㄝ
chiay ㄑㄧㄝ
qin ㄑㄧㄣ
chin ㄑㄧㄣ
qing ㄑㄧㄥ
ching ㄑㄧㄥ
qiong ㄑㄩㄥ
chiong ㄑㄩㄥ
qiu ㄑㄧㄡ
chiu ㄑㄧㄡ
qu ㄑㄩ
chuee ㄑㄩ
quan ㄑㄩㄢ
churen ㄑㄩㄢ
que ㄑㄩㄝ
churey ㄑㄩㄝ
qun ㄑㄩㄣ
chueen ㄑㄩㄣ
r ㄖ
ran ㄖㄢ
rang ㄖㄤ
rao ㄖㄠ
re ㄖㄜ
ren ㄖㄣ
reng ㄖㄥ
ri ㄖ
rong ㄖㄨㄥ
rou ㄖㄡ
ru ㄖㄨ
ruan ㄖㄨㄢ
rui ㄖㄨㄟ
ray ㄖㄨㄟ
run ㄖㄨㄣ
ruo ㄖㄨㄛ
s ㄙ
sa ㄙㄚ
sai ㄙㄞ
san ㄙㄢ
sang ㄙㄤ
sao ㄙㄠ
se ㄙㄜ
sen ㄙㄣ
seng ㄙㄥ
sh ㄕ
sha ㄕㄚ
shai ㄕㄞ
shan ㄕㄢ
shang ㄕㄤ
shao ㄕㄠ
she ㄕㄜ
shir ㄕㄜ
shei ㄕㄟ
shay ㄕㄟ
shen ㄕㄣ
sheng ㄕㄥ
shi ㄕ
shou ㄕㄡ
shu ㄕㄨ
shua ㄕㄨㄚ
shuai ㄕㄨㄞ
shuan ㄕㄨㄢ
shuang ㄕㄨㄤ
shui ㄕㄨㄟ
shuay ㄕㄨㄟ
shuo ㄕㄨㄛ
shun ㄕㄨㄣ
si ㄙ
song ㄙㄨㄥ
sou ㄙㄡ
su ㄙㄨ
suan ㄙㄨㄢ
sui ㄙㄨㄟ
suay ㄙㄨㄟ
sun ㄙㄨㄣ
suo ㄙㄨㄛ
t ㄊ
ta ㄊㄚ
tai ㄊㄞ
tan ㄊㄢ
tang ㄊㄤ
tao ㄊㄠ
te ㄊㄜ
teng ㄊㄥ
ti ㄊㄧ
tian ㄊㄧㄢ
tiao ㄊㄧㄠ
tie ㄊㄧㄝ
tyay ㄊㄧㄝ
ting ㄊㄧㄥ
tin ㄊㄧㄥ
tong ㄊㄨㄥ
tou ㄊㄡ
tu ㄊㄨ
tuan ㄊㄨㄢ
tui ㄊㄨㄟ
tuay ㄊㄨㄟ
tun ㄊㄨㄣ
tuo ㄊㄨㄛ
wa ㄨㄚ
wai ㄨㄞ
wy ㄨㄞ
wan ㄨㄢ
wang ㄨㄤ
wei ㄨㄟ
way ㄨㄟ
wen ㄨㄣ
weng ㄨㄥ
wo ㄨㄛ
wu ㄨ
x ㄒ
xi ㄒㄧ
see ㄒㄧ
xia ㄒㄧㄚ
sia ㄒㄧㄚ
xian ㄒㄧㄢ
sian ㄒㄧㄢ
xiang ㄒㄧㄤ
siang ㄒㄧㄤ
xiao ㄒㄧㄠ
siao ㄒㄧㄠ
xie ㄒㄧㄝ
sie ㄒㄧㄝ
siay ㄒㄧㄝ
xin ㄒㄧㄣ
sin ㄒㄧㄣ
xing ㄒㄧㄥ
sing ㄒㄧㄥ
xiong ㄒㄩㄥ
siong ㄒㄩㄥ
xiu ㄒㄧㄡ
siu ㄒㄧㄡ
xu ㄒㄩ
shu ㄒㄩ
xuan ㄒㄩㄢ
shuan ㄒㄩㄢ
xue ㄒㄩㄝ
shue ㄒㄩㄝ
xun ㄒㄩㄣ
shun ㄒㄩㄣ
ya ㄧㄚ
yai ㄧㄞ
yan ㄧㄢ
yang ㄧㄤ
yao ㄧㄠ
ye ㄧㄝ
yi ㄧ
yin ㄧㄣ
in ㄧㄣ
ying ㄧㄥ
ing ㄧㄥ
yo ㄧㄛ
yong ㄩㄥ
you ㄧㄡ
yu ㄩ
v ㄩ
yuan ㄩㄢ
van ㄩㄢ
yue ㄩㄝ
yuay ㄩㄝ
ve ㄩㄝ
yun ㄩㄣ
vn ㄩㄣ
z ㄗ
za ㄗㄚ
zai ㄗㄞ
zan ㄗㄢ
zang ㄗㄤ
zao ㄗㄠ
ze ㄗㄜ
zur ㄗㄜ
zei ㄗㄟ
zay ㄗㄟ
zen ㄗㄣ
zeng ㄗㄥ
zh ㄓ
zha ㄓㄚ
ja ㄓㄚ
zhai ㄓㄞ
jai ㄓㄞ
zhan ㄓㄢ
jan ㄓㄢ
zhang ㄓㄤ
jang ㄓㄤ
zhao ㄓㄠ
jao ㄓㄠ
zhe ㄓㄜ
je ㄓㄜ
jur ㄓㄜ
zhen ㄓㄣ
jen ㄓㄣ
zheng ㄓㄥ
jeng ㄓㄥ
zhi ㄓ
ji ㄓ
zhong ㄓㄨㄥ
jong ㄓㄨㄥ
zhou ㄓㄡ
jou ㄓㄡ
jaw ㄓㄡ
zhu ㄓㄨ
joo ㄓㄨ
zhua ㄓㄨㄚ
jua ㄓㄨㄚ
zhuai ㄓㄨㄞ
juai ㄓㄨㄞ
zhuan ㄓㄨㄢ
juan ㄓㄨㄢ
zhuang ㄓㄨㄤ
juang ㄓㄨㄤ
zhui ㄓㄨㄟ
jui ㄓㄨㄟ
zhun ㄓㄨㄣ
zhuo ㄓㄨㄛ
zi ㄗ
zong ㄗㄨㄥ
zou ㄗㄡ
zu ㄗㄨ
zuan ㄗㄨㄢ
zui ㄗㄨㄟ
zuay ㄗㄨㄟ
zun ㄗㄨㄣ
zuo ㄗㄨㄛ
[ 【
] 】

View File

@@ -0,0 +1,40 @@
ㄅ b
ㄆ p
ㄇ m
ㄈ f
ㄉ d
ㄊ t
ㄋ n
ㄌ l
ㄍ v
ㄎ k
ㄏ h
ㄓ g
ㄐ g
ㄑ v
ㄒ c
ㄔ y
ㄕ c
ㄖ j
ㄗ q
ㄘ w
ㄙ s
ㄧ e
ㄨ x
ㄩ u
ㄚ a
ㄛ o
ㄜ r
ㄝ w
ㄞ i
ㄟ q
ㄠ z
ㄡ p
ㄣ n
ㄢ m
ㄤ t
ㄥ l
ㄦ h
【 [
】 ]
、 `

6925
Telegram/ThirdParty/hime/data/pinyin.cin vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,45 @@
ㄅ b
ㄆ p
ㄇ m
ㄈ f
ㄉ d
ㄊ t
ㄋ n
ㄌ l
ㄍ v
ㄎ k
ㄏ h
ㄓ g
ㄐ g
ㄑ v
ㄒ c
ㄔ y
ㄕ c
ㄖ j
ㄗ q
ㄘ w
ㄙ s
ㄧ e
ㄨ x
ㄩ u
ㄚ a
ㄛ o
ㄜ r
ㄝ w
ㄞ i
ㄟ q
ㄠ z
ㄡ p
ㄣ n
ㄢ m
ㄤ t
ㄥ l
ㄦ h
˙ 5
1
ˊ 2
ˇ 3
ˋ 4
【 [
】 ]
、 `

View File

@@ -0,0 +1,105 @@
# russian table is provided by yuriy
%ename russian
%prompt russian
%selkey 12
%endkey 0123456789abcdefghijklmnopqrstuvwxyz`-=[]\;',./
%space_style 2
%keep_key_case
%keyname begin
` ё
1 ┌
2 ┬
3 ┐
4 〝
5 〞
6
7
8 “
9 ”
0 『
- 』
= 「
\ 」
[ х
] ъ
; ж
' э
, б
. ю
/ .
a ф
b и
c с
d в
e у
f а
g п
h р
i ш
j о
k л
l д
m ь
n т
o щ
p з
q й
r к
s ы
t е
u г
v м
w ц
x ч
y н
z я
%keyname end
%chardef begin
` ё
1 ┌
2 ┬
3 ┐
4 〝
5 〞
6
7
8 “
9 ”
0 『
- 』
= 「
\ 」
[ х
] ъ
; ж
' э
, б
. ю
/ .
a ф
b и
c с
d в
e у
f а
g п
h Р
i ш
j о
k л
l д
m ь
n т
o щ
p з
q й
r к
s ы
t е
u г
v м
w ц
x ч
y н
z я
%chardef end

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

42245
Telegram/ThirdParty/hime/data/s-tsin.src vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

17501
Telegram/ThirdParty/hime/data/simplex.cin vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,442 @@
# 你可以在符號視窗中用滑鼠的滾輪捲動下一頁,用空白行分頁。
、 ‧
『』 「」 【】 《》 ♀ ♂ ⊕ ⊙
↑ ↓ ← → ∞ ㊣ × ☆ ★ ♥
◎ ○ ● △ ▲ □ ■ ▽ ▼ ℃
# 常用符號二
※ §
△ ▽ □ ○ ◇ ☆ ◎ ⊕
▲ ▼ ■ ● ◆ ★ ⊙ ◉ ♥ ⁂
↖ ↗ ↑ ↓ ↕ ⇧ ⇩ ♀ ° ∞
↙ ↘ ← → ↔ ⇦ ⇨ ♂ ℃ 〒
¤ ⌘ № † ‡ ¶ ⁋ ⁐ ㊣ 〠
# 常用符號三
▲ △ ■ □ ● ○ ◆ ◇ ★ ☆ ♥ ♡ ▼ ▽ ◎ ⊙
£ ¢ ¥ € ※ § ♀ ♂
¤ ⌘ № † ‡ ¶ ₤ 〒 〠 ⁑ ⁂ ™ © ® ㊣ α β
「 」 『 』 〈 〉 《 》 【 】
“ ” « » ❛ ❜ ❝ ❞ ° ℃ ☹ ☺ ☻
↑ ↓ ← → ↖ ↗ ↙ ↘ ↔ ↕ ⇐ ⇑ ⇒ ⇓ ⇔ ⇕
# 常用數學符號
× · ÷ ± ∓ ∞ ∵ ∴ ∀ ∃ ∄
∤ ∝ ⊥ ≠ ≡ ≌ ≒ ≈ ≋ ≅ ≓
∠ ∟ ⊿ ⊾ ⊥ ∥ ∦ ㏒ ㏑ ∑ ∏ ∐ √ ∛
≮ ≯ ≪ ≫ ⋘ ⋙ ≦ ≧ ≤ ≥ ≲ ≳
∈ ∋ ⊂ ⊃ ⊆ ⊇ ∅ ∉ ∌ ⊕ ¬
∫ ∬ ∭ ∮ ∂ ∇
# 左右括號
「 」 『 』
〈 〉 《 》 【 】
﹙ ﹚ ﹝ ﹞ ﹛ ﹜
“ ”
❬ ❭
❪ ❫ ⁅ ⁆
❰ ❱
❛ ❜ ❝ ❞ « »
# 上下括號與垂直標點 PRESENTATION FORM FOR VERTICAL XXX
﹁ ︵ ︿ ︽ ︹ ︻ ︷ ﹃ ︗ ﹇
﹂ ︶ ﹀ ︾ ︺ ︼ ︸ ﹄ ︘ ﹈
# ︐ ︑ ︒ ︓ ︔ ︕ ︖ ︲ ︙
#︱ ︳ ︴ ⁐
# presentation form for vertical EN dash ︲
西文 MidD · HyphP ‧ FulStop
標點 Fig En Em — HBar ―
Bullet • ‣ ⁌ ⁍ Ditto 〃 ‖ ‗ ¦
FracS DiviS Caret ‸
Prime ″ ‴ ⁗ 〝 ‷ ⁒
罕用西文標點
☚ ☛ ☜ ☝ ☞ ☟ ¡
¿ ؟ ‼ ⁇ ⁈ ⁉ ‽
#西文古標點
#⁖ ⁘ ⁙ ⁛ ⁜ ⁝ ⁞
# 注音符號
    ˇ ˋ   ˊ ˙
ㄅ ㄉ        ㄚ ㄞ ㄢ ㄦ
ㄆ ㄊ ㄍ ㄐ ㄔ ㄗ ㄧ ㄛ ㄟ ㄣ
ㄇ ㄋ ㄎ ㄑ ㄕ ㄘ ㄨ ㄜ ㄠ ㄤ
ㄈ ㄌ ㄏ ㄒ ㄖ ㄙ ㄩ ㄝ ㄡ ㄥ
# Extended Bopomofo for Minnan and Hakka 方言音 - 閩南與客家話的注音
閩客注音 ㆠ ㆡ ㆢ ㆣ ㆤ ㆥ ㆦ ㆧ ㆨ ㆩ ㆪ ㆫ
ㆬ ㆭ ㆮ ㆯ ㆰ ㆱ ㆲ ㆳ 入聲音 ㆴ ㆵ ㆶ ㆷ
方言音 ㄪ ㄫ ㄬ 語調 ˪ ˫
# CJK Strokes 筆劃 (U+31C0..U+31CF)
CJK 筆劃 ㇀ ㇁ ㇂ ㇃ ㇄ ㇅ ㇆ ㇇ ㇈ ㇉ ㇊ ㇋ ㇌ ㇍ ㇎ ㇏
# Kangxi radical 康熙字根 (台灣教育部提供之部首手冊收錄部首之名稱與次序即依此為凖)
# http://www.edu.tw/EDU_WEB/EDU_MGT/MANDR/EDU6300001/allbook/bushou/f3.html?open
康熙字根 (U+2f00..U+2fd5)
⼀ ⼁ ⼄ ⼅ ⼆ ⼇ ⼈ ⼉ ⼊ ⼋ ⼌ ⼍ ⼎ ⼏
⼐ ⼑ ⼒ ⼓ ⼔ ⼕ ⼖ ⼗ ⼘ ⼙ ⼚ ⼛ ⼜ ⼝ ⼞ ⼟
⼠ ⼡ ⼢ ⼣ ⼤ ⼥ ⼦ ⼧ ⼨ ⼩ ⼪ ⼫ ⼬ ⼭ ⼮ ⼯
⼰ ⼱ ⼲ ⼳ ⼴ ⼵ ⼶ ⼷ ⼸ ⼹ ⼺ ⼻ ⼼ ⼽ ⼾ ⼿
⽀ ⽁ ⽂ ⽃ ⽄ ⽅ ⽆ ⽇ ⽈ ⽉ ⽊ ⽋ ⽌ ⽍ ⽎ ⽏
⽐ ⽑ ⽒ ⽓ ⽔ ⽕ ⽖ ⽗ ⽘ ⽙ ⽚ ⽛ ⽜ ⽝ ⽞ ⽟
⽠ ⽡ ⽢ ⽣ ⽤ ⽥ ⽦ ⽧ ⽨ ⽩ ⽪ ⽫ ⽬ ⽭ ⽮ ⽯
⽰ ⽱ ⽲ ⽳ ⽴ ⽵ ⽶ ⽷ ⽸ ⽹ ⽺ ⽻ ⽼ ⽽ ⽾ ⽿
⾀ ⾁ ⾂ ⾃ ⾄ ⾅ ⾆ ⾇ ⾈ ⾉ ⾊ ⾋ ⾌ ⾍ ⾎ ⾏
⾐ ⾑ ⾒ ⾓ ⾔ ⾕ ⾖ ⾗ ⾘ ⾙ ⾚ ⾛ ⾜ ⾝ ⾞ ⾟
⾠ ⾡ ⾢ ⾣ ⾤ ⾥ ⾦ ⾧ ⾨ ⾩ ⾪ ⾫ ⾬ ⾭ ⾮ ⾯
⾰ ⾱ ⾲ ⾳ ⾴ ⾵ ⾶ ⾷ ⾸ ⾹ ⾺ ⾻ ⾼ ⾽ ⾾ ⾿
⿀ ⿁ ⿂ ⿃ ⿄ ⿅ ⿆ ⿇ ⿈ ⿉ ⿊ ⿋ ⿌ ⿍ ⿎ ⿏
⿐ ⿑ ⿒ ⿓ ⿔ ⿕
# CJK Radicals Supplement
CJK 字根 (U+2e80..U+2ef3)
⺀ ⺁ ⺂ ⺃ ⺄ ⺅ ⺆ ⺇ ⺈ ⺉ ⺊ ⺋ ⺌ ⺍ ⺎ ⺏
⺐ ⺑ ⺒ ⺓ ⺔ ⺕ ⺖ ⺗ ⺘ ⺙ ⺛ ⺜ ⺝ ⺞ ⺟ ⺠
⺡ ⺢ ⺣ ⺤ ⺥ ⺦ ⺧ ⺨ ⺩ ⺪ ⺫ ⺬ ⺭ ⺮ ⺯ ⺰
⺱ ⺲ ⺳ ⺴ ⺵ ⺶ ⺷ ⺸ ⺹ ⺺ ⺻ ⺼ ⺽ ⺾ ⺿ ⻀
⻁ ⻂ ⻃ ⻄ ⻅ ⻆ ⻇ ⻈ ⻉ ⻊ ⻋ ⻌ ⻍ ⻎ ⻏ ⻐
⻑ ⻒ ⻓ ⻔ ⻕ ⻖ ⻗ ⻘ ⻙ ⻚ ⻛ ⻜ ⻝ ⻞ ⻟ ⻠
⻡ ⻢ ⻣ ⻤ ⻥ ⻦ ⻧ ⻨ ⻩ ⻪ ⻫ ⻬ ⻭ ⻮ ⻯ ⻰
⻱ ⻲ ⻳
# 每個主要部首均來自 Unified CJK Ideographs (U+4E00..U+9FBF)
# 部首的變形有部分是由 CJK Radicals Supplement (U+2e80..U+2ef3) 補充
# 資料主要引用自李果正先生的部落格,我僅補充:亻⺢母⻃⺷⻞,並將目的變體由⺲(u+2eb2)->⺫(u+2eab)
# http://blog.bs2.to/post/EdwardLee/5112
部首
一劃 一 丨 丿 乙乚 亅
二劃 二 亠 人亻 儿 入 八 冂 冖 冫 几 凵 刀刂
二劃 力 勹 匕 匚 匸 十 卜 卩㔾 厂 厶 又
三劃 口 囗 土 士 夂 夊 夕 大 女 子 宀 寸
三劃 小 尢尣 尸 屮 山 巛川 工 己 巾 干 幺 广
三劃 廴 廾 弋 弓 彐彑 彡 彳
四劃 心忄 戈 戶 手扌 支 攴攵 文 斗 斤 方 无 日
四劃 曰 月 木 欠 止 歹歺 殳 母毋 比 毛 氏 气
四劃 水氵⺢ 火灬 爪爫 父 爻 爿 片 牙 牛牜 犬犭
五劃 玄 玉王⺩ 瓜 瓦 甘 生 用 田 疋⺪ 疒 癶 白
五劃 皮 皿 目⺫ 矛 矢 石 示礻 禸 禾 穴 立
六劃 竹⺮ 米 糸糹 缶 网罒罓 羊⺷ 羽 老 而
六劃 耒 耳 聿 肉⺼ 臣 自 至 臼 舌 舛 舟 艮
六劃 色 艸艹 虍 虫 血 行 衣衤 襾⻃
七劃 見 角 言 谷 豆 豕 豸 貝 赤 走 足 身
七劃 車 辛 辰 辵⻌⻍⻎ 邑⻏ 酉 釆 里
八劃 金 長镸 門 阜阝 隶 隹 雨 靑 非
九劃 面 革 韋 韭 音 頁 風 飛 食⻞ 首 香
十劃 馬 骨 高 髟 鬥 鬯 鬲 鬼
十一劃 魚 鳥 鹵 鹿 麥 麻 十二劃 黃 黍 黑 黹
十三劃 黽 鼎 鼓 鼠 十四劃 鼻 齊 十五劃 齒
十六劃 龍 龜 十七劃 龠
# Hiragana
平假名 Hiragana (U+3041..U+309F)
ぁ あ ぃ い ぅ う ぇ え ぉ お か が き ぎ
く ぐ け げ こ ご さ ざ し じ す ず せ ぜ
そ ぞ た だ ち ぢ っ つ づ て で と ど な
に ぬ ね の は ば ぱ ひ び ぴ ふ ぶ ぷ
へ べ ぺ ほ ぼ ぽ ま み む め も ゃ や
ゅ ゆ ょ よ ら り る れ ろ ゎ わ ゐ
ゑ を ん ゔ ゕ ゖ
゙ ゚ ゛ ゜ ゝ ゞ ゟ
# Katakana
片假名 Katakana (U+30A0..U+30FF)
ァ ア ィ イ ゥ ウ ェ エ ォ オ カ ガ キ ギ
ク グ ケ ゲ コ ゴ サ ザ シ ジ ス ズ セ ゼ
ソ ゾ タ ダ チ ヂ ッ ツ ヅ テ デ ト ド
ナ ニ ヌ ネ ハ バ パ ヒ ビ ピ フ ブ プ
ヘ ベ ペ ホ ボ ポ マ ミ ム メ モ ャ ヤ
ュ ユ ョ ヨ ラ リ ル レ ロ ヮ ワ
ヰ ヱ ヲ ン ヴ ヵ ヶ ヷ ヸ ヹ ヺ
・ ー ヽ ヾ ヿ
# Katakana Phonetic Extensions for Ainu
Katakana Phonetic Extensions for Ainu (U+31F0..U+31FF)
ㇰ ㇱ ㇲ ㇳ ㇴ ㇵ ㇶ ㇷ ㇸ ㇹ ㇺ ㇻ ㇼ ㇽ ㇾ ㇿ
# Halfwidth Katakana Variants (U+FF65..U+FF9F)
Halfwidth Katakana Variants (U+FF65..U+FF9F)
・ ヲ ァ ィ ゥ ェ ォ ャ ュ ョ ッ
ー ア イ ウ エ オ カ キ ク ケ コ サ シ ス セ ソ
タ チ ツ テ ト ナ ニ ヌ ネ ノ ハ ヒ フ ヘ ホ マ
ミ ム メ モ ヤ ユ ヨ ラ リ ル レ ロ ワ ン ゙ ゚
# Kanbun (日文中原指古典中文文本、古典中文作品之意,後指一種日本用來閱讀標注過的古典中文的方式,亦指 writing with literary Chinese for Japanese readers 或以 Sino-Japanese 寫的日本文學"。(Kanbun 也是 kanbungaku 的簡寫)
# IDEOGRAPHIC ANNOTATION
Kanbun (U+3190..U+319F)
㆒ ㆓ ㆔ ㆕ ㆖ ㆗ ㆘ ㆐
㆙ ㆚ ㆛ ㆜ ㆝ ㆞ ㆟ ㆑
# Ideographic Description Characters 表意文字描述字元 (U+2ff0..U+2fff)
#表意文字描述字元 (U+2ff0..U+2fff)
#⿰ ⿱ ⿲ ⿳ ⿴ ⿵ ⿶ ⿷ ⿸ ⿹ ⿺ ⿻
# 英文
⒬ ⒲ ⒠ ⒭ ⒯ ⒴ ⒰ ⒤ ⒪ ⒫
⒜ ⒮ ⒟ ⒡ ⒢ ⒣ ⒥ ⒦ ⒧
⒵ ⒳ ⒞ ⒱ ⒝ ⒩ ⒨
ⓠ ⓦ ⓔ ⓡ ⓣ ⓨ ⓤ ⓘ ⓞ ⓟ
ⓐ ⓢ ⓓ ⓕ ⓖ ⓗ ⓙ ⓚ ⓛ
ⓩ ⓧ ⓒ ⓥ ⓑ ⓝ ⓜ
Ⓠ Ⓦ Ⓔ Ⓡ Ⓣ Ⓨ Ⓤ Ⓘ Ⓞ Ⓟ
Ⓐ Ⓢ Ⓓ Ⓕ Ⓖ Ⓗ Ⓙ Ⓚ Ⓛ
Ⓩ Ⓧ Ⓒ Ⓥ Ⓑ Ⓝ Ⓜ ℆
ff fi fl ffi ffl ſt st ℀ ℁ ℅
希臘字母
α β γ δ ε ζ η θ ι κ λ μ
ν ξ ο π ρ σ τ υ φ χ ψ ω
Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ
Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω
# 數學符號
# × · ÷ ± ∓ ∞ ∽
# ∤ ∝ ⊧ ⊢ ⊥ ⊣
# ≠ ≡ ≌ ≒ ≈ ≋
#≔ ≕ ≢ ≅ ≓ ≑ ≆ ≇
#∠ ∟ ⊿ ⊾ ⊥ ∥ ∦
#㏒ ㏑ ∑ ∏ ∐ √ ∛ ∜ ∇
#∫ ∬ ∭ ∮ ∯ ∰ ∱ ∲ ∳ ∂
#∵ ∴ ∷ ∀ ∃ ∄
#↑ ↓ ← → ↔ ⇒ ⇔
# ≮ ≯ ≪ ≫ ⋘ ⋙
#≲ ≳ ≦ ≧ ≤ ≥
#⋦ ⋧ ≨ ≩ ≰ ≱
#∈ ∋ ⊂ ⊃ ⊆ ⊇ ∅
#∉ ∌ ⊊ ⊋ ⊈ ⊉
#⊲ ⊳ ⊴ ⊵ ⋪ ⋫ ⋬ ⋭
#∧ ⊕ ¬
#⊼ ⊻ ⊽ ⌀ ⊗ *
# usually not exist in most font
# perpendicular ⟂
# matrix
⋮ ⋯ ⋰ ⋱
𝗖 𝗞 𝗡 𝗤 𝗥 𝗭
𝕂
# 箭頭大全
#← ↑ → ↓ ↔ ↕ ↖ ↗ ↘ ↙
#↚ ↛ ↜ ↝ ↞ ↟ ↠ ↡ ↢ ↣
#↤ ↥ ↦ ↧ ↨ ↹ ↸
#↩ ↪ ↫ ↬ ↭ ↮ ↯
#↰ ↱ ↲ ↳ ↴ ↵ ⬎ ⬏ ⬐ ⬑
#↶ ↷ ↺ ↻ ⟲ ⟳ ⟴
#↼ ↽ ↾ ↿ ⇀ ⇁ ⇂ ⇃ ⇋ ⇌
#⇄ ⇅ ⇆ ⇇ ⇈ ⇉ ⇊ ⇍ ⇎ ⇏
#⇐ ⇑ ⇒ ⇓ ⇔ ⇕ ⇖ ⇗ ⇘ ⇙
#⇤ ⇥ ⇜ ⇝ ⇞ ⇟ ⇠ ⇡ ⇢ ⇣
#⟰ ⟱ ⇚ ⇛ ⇱ ⇲ ⇵ ⇶
#⇦ ⇧ ⇨ ⇩ ⇪ ⇫ ⇬ ⇭ ⇮ ⇯ ⇰ ⇳
#⇴ ⇷ ⇸ ⇹ ⇺ ⇻ ⇼ ⇽ ⇾ ⇿
#➔ ➘ ➙ ➚ ➛ ➜ ➝ ➞ ➟
#➠ ➡ ➢ ➣ ➤ ➥ ➦ ➧ ➨
#➩ ➪ ➫ ➬ ➭ ➮ ➯ ➱ ➲
#➳ ➴ ➵ ➶ ➷ ➸ ➹
#➺ ➻ ➼ ➽ ➾ ➿
#⟵ ⟶ ⟷ ⟸ ⟹ ⟺ ⟻ ⟼ ⟽ ⟾ ⟿
#⬀ ⬁ ⬂ ⬃ ⬄
#⬅ ⬆ ⬇ ⬈ ⬉ ⬊ ⬋ ⬌ ⬍
# 小型全型符號
#﹢ ﹣ ﹦ ﹤ ﹥ ﹪
#﹟ ﹠ ﹡ ﹩ ﹫
#﹐ ﹑ ﹒ ﹔ ﹕ ﹖ ﹗
#﹙ ﹚ ﹛ ﹜ ﹝ ﹞
# Small EM dash
# 數字符號
⒈ ⒉ ⒊ ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑
⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽
① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩
⓵ ⓶ ⓷ ⓸ ⓹ ⓺ ⓻ ⓼ ⓽ ⓾
❶ ❷ ❸ ❹ ❺ ❻ ❼ ❽ ❾ ❿
➀ ➁ ➂ ➃ ➄ ➅ ➆ ➇ ➈ ➉
➊ ➋ ➌ ➍ ➎ ➏ ➐ ➑ ➒ ➓
ⅱ ⅲ ⅳ ⅵ ⅶ ⅷ ⅸ
Ⅱ Ⅲ Ⅳ Ⅵ Ⅶ Ⅷ Ⅸ
㈠ ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩
㊀ ㊁ ㊂ ㊃ ㊄ ㊅ ㊆ ㊇ ㊈ ㊉
〡 〢 〣 〤 〥 〦 〧 〨 〩 〸
½ ⅓ ⅔ ¼ ¾ ⅕ ⅖ ⅗ ⅘ 〹
⅙ ⅚ ⅛ ⅜ ⅝ ⅞ ⅟    
⑪ ⑫ ⑬ ⑭ ⑮ ⑯ ⑰ ⑱ ⑲ ⑳ ⓪
㉑ ㉒ ㉓ ㉔ ㉕ ㉖ ㉗ ㉘ ㉙ ㉚
㉛ ㉜ ㉝ ㉞ ㉟ ㊱ ㊲ ㊳ ㊴ ㊵
㊶ ㊷ ㊸ ㊹ ㊺ ㊻ ㊼ ㊽ ㊾ ㊿
⓫ ⓬ ⓭ ⓮ ⓯ ⓰ ⓱ ⓲ ⓳ ⓴ ⓿
⒒ ⒓ ⒔ ⒕ ⒖ ⒗ ⒘ ⒙ ⒚ ⒛
⑾ ⑿ ⒀ ⒁ ⒂ ⒃ ⒄ ⒅ ⒆ ⒇
上下標
⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹
₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉
⁺ ⁻ ⁼ ⁽ ⁾ ⁿ ⁱ
₊ ₋ ₌ ₍ ₎ ₐ ₑ ₒ ₓ ₔ
貨幣符號
¢ £ ¥ ₠ ₡ ₢ ₣ ₤ ₥
₦ ₧ ₨ ₩ ₪ ₫ € ₭ ₮ ₯
₰ ₱ ₲ ₳ ₴ ₵ 元 円 圆 圓
# 單位
長度 ㎙ Å ㎚ ㎛ ㎜ ㎝ ㏌ ㎞ 面積 ㎟ ㎠ ㎡ ㎢ ㏊
體積 ㎣ ㎤ ㎥ ㎦ 容積 ㎕ ㎖ ㎗ ㎘ ㏄ ㏕
重量 ㎍ ㎎ ㎏ ㏏ 濃度 ‰ ‱ ㏙ ㏗ ㏖
幾何 ° ㏛ 熱 ℃ ℉ ㎈ ㎉ 電腦 ㎅ ㎆ ㎇
頻率 ㎐ ㎑ ㎒ ㎓ ㎔ 速度 ㎧ ㎨ ㎭ ㎮ ㎯
時間 ㎰ ㎱ ㎲ ㎳ 壓 ㎩ ㎪ ㎫ ㎬ ㏔ 音量 ㏈
電容 ㎊ ㎋ ㎌ ㏝ 電阻 ㏀ ㏁ 電壓 ㎴ ㎵ ㎶ ㎷ ㎸ ㎹
電流 ㎀ ㎁ ㎂ ㎃ ㎄ 功率 ㎺ ㎻ ㎼ ㎽ ㎾ ㎿
亮度 ㏐ ㏓ ㏅ 放射性 ㏃ ㏜ ㏉
# 棋藝/遊戲
骰子 ⚀ ⚁ ⚂ ⚃ ⚄ ⚅ Go Markers ⚆ ⚇ ⚈ ⚉
撲克牌 ♠ ♡ ♢ ♣ ♤ ♥ ♦ ♧ 日本戰棋 ☖ ☗
西洋棋 ♔ ♕ ♖ ♗ ♘ ♙ ♚ ♛ ♜ ♝ ♞ ♟
天氣 ☀ ☁ ☂ ☔ ☃ ☄ ★ ☆ ☇ ☈ ☉ ☼
# 太陽系 日月水金地火木土 天王 海王 冥王
星球 ☽ ☾ ☿ ♀ ♁ ♂ ♃ ♄ ♅ ♆ ♇
# 星座
星座 ♈ ♉ ♊ ♋ ♌ ♍ ♎ ♏ ♐ ♑ ♒ ♓
宗教政治紋章 ☦ ☧ ☨ ♱ ☪ ☫ ☬ ☭ ☮ ☯ ☩
♰ ⚜ ☤ ☥ ☸ ✙ ✚ ✛ ✜ ✝ ✞ ✟ ✠ ☓
字典、地圖圖例 ⚒ ⚓ ⚔ ⚕ ⚖ ⚗ ⚘ ⚙ ⚚ ⚛
♨ ✆ ✈ ♿ ☕ ⚐ ⚑
文書處理/生活用品
☐ ☑ ☒ ✓ ✔ ✕ ✖ ✗ ✘
❍ ❏ ❐ ❑ ❒ ⎖ ⎗ ⎘ ⎙ ⎚ ⏏
☎ ☏ ✌ ✉ ✍ ⌚ ⌛ ⌨ ✇
✁ ✂ ✃ ✄ ✎ ✏ ✐ ✑ ✒
健康/警告   ☠ ☡ ☢ ☣ ⚠ ⚡
# 苯環 接地 保險絲
化學 ⌬ ⏣ 電器 ⏚ ⏛
音樂
♩ ♪ ♫ ♬ ♭ ♮ ♯
# 音樂 (如看不到可下載 Euterpe 這個字型 http://openfontlibrary.org/media/files/Eimai/191 )
#𝄀 𝄁 𝄂 𝄃 𝄄 𝄅 𝄆 𝄇 𝄈 𝄉 𝄊 𝄋 𝄌 𝄍 𝄎 𝄏
#𝄐 𝄑 𝄒 𝄓 𝄔 𝄕 𝄖 𝄗 𝄘 𝄙 𝄚 𝄛 𝄜 𝄝 𝄞 𝄟
#𝄠 𝄡 𝄢 𝄣 𝄤 𝄥 𝄦       𝄪 𝄫 𝄬 𝄭 𝄮 𝄯
#𝄰 𝄱 𝄲 𝄳 𝄴 𝄵 𝄶 𝄷 𝄸 𝄹 𝄺 𝄻 𝄼 𝄽 𝄾 𝄿
#𝅀 𝅁 𝅂 𝅃 𝅄 𝅅 𝅆 𝅇 𝅈 𝅉 𝅊 𝅋 𝅌 𝅍 𝅎 𝅏
#𝅐 𝅑 𝅒 𝅓 𝅔 𝅕 𝅖 𝅗 𝅘   𝅚 𝅛 𝅜 𝅝 𝅗𝅥 𝅘𝅥
#𝅘𝅥𝅮 𝅘𝅥𝅯 𝅘𝅥𝅰 𝅘𝅥𝅱 𝅘𝅥𝅲 𝅥 𝅦 𝅧 𝅨 𝅩 𝅪 𝅫 𝅬 𝅭 𝅮 𝅯
#𝅰 𝅱 𝅲                 𝅻 𝅼 𝅽 𝅾 𝅿
#𝆀 𝆁 𝆂 𝆃 𝆄 𝆅 𝆆 𝆇 𝆈 𝆉 𝆊 𝆋 𝆌 𝆍 𝆎 𝆏
#𝆐 𝆑 𝆒 𝆓 𝆔 𝆕 𝆖 𝆗 𝆘 𝆙 𝆚 𝆛 𝆜 𝆝 𝆞 𝆟
#𝆠 𝆡 𝆢 𝆣 𝆤 𝆥 𝆦 𝆧 𝆨 𝆩 𝆪 𝆫 𝆬 𝆭 𝆮 𝆯
#𝆰 𝆱 𝆲 𝆳 𝆴 𝆵 𝆶 𝆷 𝆸 𝆹 𝆺 𝆹𝅥 𝆺𝅥 𝆹𝅥𝅮 𝆺𝅥𝅮 𝆹𝅥𝅯
#𝆺𝅥𝅯 𝇁 𝇂 𝇃 𝇄 𝇅 𝇆 𝇇 𝇈 𝇉 𝇊 𝇋 𝇌 𝇍 𝇎 𝇏
#𝇐 𝇑 𝇒 𝇓 𝇔 𝇕 𝇖 𝇗 𝇘 𝇙 𝇚 𝇛 𝇜 𝇝
▴ ▵ ▾ ▿ ▲ △ ▼ ▽ ◊
▸ ▹ ► ▻ ▶ ▷ ⬢ ⬡
◂ ◃ ◄ ◅ ◀ ◁ ● ○
▪ ▫ ◾ ◽ ◆ ◇ ■ □
▰ ▱ ◉ ◍ ◌ ◯ ◎ ⬚
◐ ◑ ◒ ◓ ◔ ◕ ⬣ ⬠
⚬ ⚪ ⚫ ◴ ◵ ◶ ◷ ◈
⬒ ⬓ ⬔ ⬕ ⬖ ⬗ ⬘ ⬙
# 日期時間
㍻ ㍼ ㍽ ㍾ ㊊ ㊐ ㈪ ㈰
㋀ ㋁ ㋂ ㋃ ㋄ ㋅ ㋆ ㋇ ㋈ ㋉ ㋊ ㋋
㏠ ㏡ ㏢ ㏣ ㏤ ㏥ ㏦ ㏧ ㏨ ㏩ ㏪ ㏫
㏬ ㏭ ㏮ ㏯ ㏰ ㏱ ㏲ ㏳ ㏴ ㏵ ㏶ ㏷
㏸ ㏹ ㏺ ㏻ ㏼ ㏽ ㏾
㍙ ㍚ ㍛ ㍜ ㍝ ㍞ ㍟ ㍠ ㍡ ㍢ ㍣ ㍤
㍥ ㍦ ㍧ ㍨ ㍩ ㍪ ㍫ ㍬ ㍭ ㍮ ㍯ ㍰
㍘ ㏂ ㏘
公司行號 ™ ℠ ® © ℗ ℡ ℻ ㉐ ㋏ ㏇ ㏚ ㍿ ㊣
資源回收 ♲ ♳ ♴ ♵ ♶ ♷ ♸ ♹ ♺ ♻ ♼ ♽ ♾
兩性圖案 ⚲ ♀ ♂ ⚢ ⚣ ⚤ ⚥ ⚦ ⚧ ⚨ ⚩
# 花草/愛
☘ ❡ ❢ ❣ ❤ ❥ ❦ ❧ ☙
# star表情
✡ ✢ ✣ ✤ ✥ ✦ ✧ ❖ ✩
✪ ✫ ✬ ✭ ✮ ✯ ✰ ✱ ✲ ✳
✴ ✵ ✶ ✷ ✸ ✹ ✺ ✻ ✼ ✽
✾ ✿ ❀ ❁ ❂ ❃ ❄ ❅ ❆ ❇
❈ ❉ ❊ ❋ ⁕ ☹ ☺ ☻
# 易經
易 ☯ ⚊ ⚋ ⚌ ⚍ ⚎ ⚏
☰ ☱ ☲ ☳ ☴ ☵ ☶ ☷
䷀ ䷁ ䷂ ䷃ ䷄ ䷅ ䷆ ䷇
䷈ ䷉ ䷊ ䷋ ䷌ ䷍ ䷎ ䷏
䷐ ䷑ ䷒ ䷓ ䷔ ䷕ ䷖ ䷗
䷘ ䷙ ䷚ ䷛ ䷜ ䷝ ䷞ ䷟
䷠ ䷡ ䷢ ䷣ ䷤ ䷥ ䷦ ䷧
䷨ ䷩ ䷪ ䷫ ䷬ ䷭ ䷮ ䷯
䷰ ䷱ ䷲ ䷳ ䷴ ䷵ ䷶ ䷷
䷸ ䷹ ䷺ ䷻ ䷼ ䷽ ䷾ ䷿
# 太玄經
太玄經 𝌀 𝌁 𝌂 𝌃 𝌄 𝌅 𝌆 𝌇 𝌈 𝌉
𝌊 𝌋 𝌌 𝌍 𝌎 𝌏 𝌐 𝌑 𝌒 𝌓 𝌔 𝌕 𝌖
𝌗 𝌘 𝌙 𝌚 𝌛 𝌜 𝌝 𝌞 𝌟 𝌠 𝌡 𝌢 𝌣
𝌤 𝌥 𝌦 𝌧 𝌨 𝌩 𝌪 𝌫 𝌬 𝌭 𝌮 𝌯 𝌰
𝌱 𝌲 𝌳 𝌴 𝌵 𝌶 𝌷 𝌸 𝌹 𝌺 𝌻 𝌼 𝌽
𝌾 𝌿 𝍀 𝍁 𝍂 𝍃 𝍄 𝍅 𝍆 𝍇 𝍈 𝍉 𝍊
𝍋 𝍌 𝍍 𝍎 𝍏 𝍐 𝍑 𝍒 𝍓 𝍔 𝍕 𝍖
# 單線框 Box Drawing
╭ ┬ ╥ ╮ ┌ ┬ ┐ ┏ ┳ ┓
├ ┼ ╫ ┤ ╞ ╪ ╡ ┣ ╋ ┫
╰ ┴ ╨ ╯ └ ┴ ┘ ┗ ┻ ┛
─ │ ═ ║
╌ ╎ ┄ ┆ ┈ ┊ ┅ ┇ ┉ ┋
━ ┃ ╍ ╏
# 雙線框 Box Drawing
╔ ╦ ╗ ╓ ╥ ╖ ╒ ╤ ╕
╠ ╬ ╣ ╟ ╫ ╢ ╞ ╪ ╡
╚ ╩ ╝ ╙ ╨ ╜ ╘ ╧ ╛
═ ║ ─ │ ┄ ┆ ┈ ┊
# 粗細混合線框
#┍ ┯ ┱ ┰ ┲ ┑
#┝ ┿ ╉ ╂ ╊ ┥
#┕ ┷ ┹ ┸ ┺ ┙
#┎ ┳ ┒ ┌ ┬ ┐
#┠ ╋ ┨ ┢ ╈ ┪
#┞ ╂ ┦ ┡ ╇ ┩
#┟ ╀ ┧ ┟ ╁ ┧
#┖ ┴ ┚ ┗ ┻ ┛
# ╼ ╽ ╾ ╿
# 填色方塊 Box Drawing
░ ▒ ▓ ❘ ❙ ❚ ▕ ▐
▁ ▂ ▃ ▄ ▅ ▆ ▇ █ ▔
▏ ▎ ▍ ▌ ▋ ▊ ▉ ▀
▘ ▝ ▚ ▛ ▜ ◢ ◣ ◿ ◺
▖ ▗ ▞ ▙ ▟ ◥ ◤ ◹ ◸
■ □ ▢ ▣ ▤ ▥ ▦ ▧ ▨ ▩
# 線段
# Hyphen Non-Breaking Figure EN EM HorizontalBar
線段
— ― ‖ ‗ ﹋ ﹌
‾ ﹉ ﹊ _
# Box drawing
#╵ ╶ ╷ ╴ ╌ ╎
#╹ ╺ ╻ ╸ ╍ ╏

View File

@@ -0,0 +1,104 @@
%ename symbols
%prompt 符號
%selkey 1
%endkey 0123456789abcdefghijklmnopqrstuvwxyz`-=[]\;',./ABCDEFGHIJKLMNOPQRSTUVWXYZ
%space_style 2
%symbol_kbm
%keyname begin
` €
1 ┌
2 ┬
3 ┐
4 〝
5 〞
6
7
8 “
9 ”
0 『
- 』
= 「
\ 」
[ ﹝
] ﹞
;
' 、
,
. ‧
/
a └
b ←
c ◎
d ┘
e ┤
f ○
g ●
h ↑
i 》
j ↓
k
l
m 。
n →
o 【
p 】
q ├
r ※
s ┴
t 〈
u 《
v §
w ┼
x │
y 〉
z ─
%keyname end
%chardef begin
` €
1 ┌
2 ┬
3 ┐
4 〝
5 〞
6
7
8 “
9 ”
0 『
- 』
= 「
\ 」
[ ﹝
] ﹞
;
' 、
,
. ‧
/
a └
b ←
c ◎
d ┘
e ┤
f ○
g ●
h ↑
i 》
j ↓
k
l
m 。
n →
o 【
p 】
q ├
r ※
s ┴
t 〈
u 《
v §
w ┼
x │
y 〉
z ─
%chardef end

View File

@@ -0,0 +1,96 @@
/*
* Copyright (C) 2020 The HIME team, Taiwan
* Copyright (C) 2010 Edward Der-Hua Liu, Hsin-Chu, Taiwan
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation version 2.1
* of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "t2s-file.h"
#include "util.h"
#define SIZE 3000
static T2S t2s[SIZE], s2t[SIZE];
static int t2sn;
static int qcmp (const void *aa0, const void *bb0) {
const T2S *aa = (const T2S *) aa0;
const T2S *bb = (const T2S *) bb0;
if (aa->a > bb->a)
return 1;
if (aa->a < bb->a)
return -1;
return 0;
}
static void gen (T2S *t, const char *name) {
qsort (t, t2sn, sizeof (T2S), qcmp);
FILE *fw = fopen (name, "w");
if (!fw)
p_err ("cannot write %s", name);
fwrite (t, sizeof (T2S), t2sn, fw);
fclose (fw);
}
int main (void) {
/*
* This data file is maintained by caleb-, ONLY for conversion
* from Traditional Chinese to Simplified Chinese.
* (Single Chinese glyph, one to one conversion.)
*
* However, "hime-sim2trad" also use this file to do "S to T"
* conversion, so the conversion result is not very ideal.
*/
t2sn = 0;
const char *fname = "t2s-file.table";
FILE *fp = fopen (fname, "r");
if (!fp)
dbg ("cannot open %s", fname);
while (!feof (fp) && t2sn < SIZE) {
char tt[128];
tt[0] = '\0';
fgets (tt, sizeof (tt), fp);
if (!tt[0])
break;
char a[9], b[9];
memset (a, 0, sizeof (a));
memset (b, 0, sizeof (b));
sscanf (tt, "%s %s", a, b);
memcpy (&t2s[t2sn].a, a, sizeof (t2s[0].a));
memcpy (&t2s[t2sn].b, b, sizeof (t2s[0].b));
memcpy (&s2t[t2sn].b, a, sizeof (s2t[0].a));
memcpy (&s2t[t2sn].a, b, sizeof (s2t[0].b));
t2sn++;
}
gen (t2s, "t2s.dat");
gen (s2t, "s2t.dat");
return 0;
}

File diff suppressed because it is too large Load Diff

42297
Telegram/ThirdParty/hime/data/tsin.src vendored Normal file

File diff suppressed because it is too large Load Diff

192
Telegram/ThirdParty/hime/data/vims.cin vendored Normal file
View File

@@ -0,0 +1,192 @@
%gen_inp
%ename Tiếng Việt
%cname 越南文
%selkey 1234567890
%keep_key_case
%keyname begin
d d
a a
e e
i i
o o
u u
y y
D D
A A
E E
I I
O O
U U
Y Y
0 đ
1 ă
2 â
3 ê
4 ô
[ ư
] ơ
) Đ
! Ă
@ Â
# Ê
$ Ô
{ Ư
} Ơ
5 `
6 ?
7 ~
8 '
9 .
= ₫
%keyname end
%chardef begin
= ₫
A A
A8 Á
A5 À
A6 Ả
A7 Ã
A9 Ạ
@ Â
@8 Ấ
@5 Ầ
@6 Ẩ
@7 Ẫ
@9 Ậ
! Ă
!8 Ắ
!5 Ằ
!6 Ẳ
!7 Ẵ
!9 Ặ
E E
E8 É
E5 È
E6 Ẻ
E7 Ẽ
E9 Ẹ
# Ê
#8 Ế
#5 Ề
#6 Ể
#7 Ễ
#9 Ệ
O O
O8 Ó
O5 Ò
O6 Ỏ
O7 Õ
O9 Ọ
$ Ô
$8 Ố
$5 Ồ
$6 Ổ
$7 Ỗ
$9 Ộ
} Ơ
}8 Ớ
}5 Ờ
}6 Ở
}7 Ỡ
}9 Ợ
U U
U8 Ú
U5 Ù
U6 Ủ
U7 Ũ
U9 Ụ
{ Ư
{8 Ứ
{5 Ừ
{6 Ử
{7 Ữ
{9 Ự
I I
I8 Í
I5 Ì
I6 Ỉ
I7 Ĩ
I9 Ị
Y Y
Y8 Ý
Y5 Ỳ
Y6 Ỷ
Y7 Ỹ
Y9 Ỵ
D D
) Đ
a a
a8 á
a5 à
a6 ả
a7 ã
a9 ạ
2 â
28 ấ
25 ầ
26 ẩ
27 ẫ
29 ậ
1 ă
18 ắ
15 ằ
16 ẳ
17 ẵ
19 ặ
e e
e8 é
e5 è
e6 ẻ
e7 ẽ
e9 ẹ
3 ê
38 ế
35 ề
36 ể
37 ễ
39 ệ
o o
o8 ó
o5 ò
o6 ỏ
o7 õ
o9 ọ
4 ô
48 ố
45 ồ
46 ổ
47 ỗ
49 ộ
] ơ
]8 ớ
]5 ờ
]6 ở
]7 ỡ
]9 ợ
u u
u8 ú
u5 ù
u6 ủ
u7 ũ
u9 ụ
[ ư
[8 ứ
[5 ừ
[6 ử
[7 ữ
[9 ự
i i
i8 í
i5 ì
i6 ỉ
i7 ĩ
i9 ị
y y
y8 ý
y5 ỳ
y6 ỷ
y7 ỹ
y9 ỵ
d d
0 đ
%chardef end

44
Telegram/ThirdParty/hime/data/zo.kbmsrc vendored Normal file
View File

@@ -0,0 +1,44 @@
ㄅ 1
ㄆ q
ㄇ a
ㄈ z
ㄉ 2
ㄊ w
ㄋ s
ㄌ x
ㄍ e
ㄎ d
ㄏ c
ㄐ r
ㄑ f
ㄒ v
ㄓ 5
ㄔ t
ㄕ g
ㄖ b
ㄗ y
ㄘ h
ㄙ n
ㄧ u
ㄨ j
ㄩ m
ㄚ 8
ㄛ i
ㄜ k
ㄝ ,
ㄞ 9
ㄟ o
ㄠ l
ㄡ .
ㄣ p
ㄢ 0
ㄤ ;
ㄥ /
ㄦ -
˙ 7
ˊ 6
ˇ 3
ˋ 4
【 [
】 ]
、 `

View File

@@ -0,0 +1,41 @@
# Contributor: HIME team
_pkgname=hime
pkgname=hime-git
pkgver=1101.0bb91a0
pkgrel=1
pkgdesc="A GTK2+/GTK3+ based universal input method platform"
arch=('x86_64')
url="http://hime-ime.github.io/"
license=('LGPL2' 'FDL' 'GPL2')
depends=('gtk2' 'libxtst')
makedepends=('git' 'gettext')
# uncomment and edit next line to enable those plugins
# makedepends+=('gtk3' 'qt5-base' 'anthy' 'libchewing')
optdepends=('gtk3: enable gtk3 im module'
'qt5-base: enable qt5 im module'
'anthy: enable Anthy input method'
'libchewing: enable Chewing input method')
conflicts=('hime')
provides=('hime')
source=("${_pkgname}::git+https://github.com/hime-ime/hime.git")
sha512sums=('SKIP')
pkgver() {
cd "${srcdir}/${_pkgname}"
echo "$(git rev-list --count master).$(git rev-parse --short master)"
}
build() {
cd "${srcdir}/${_pkgname}"
./configure --prefix=/usr --qt5-im-module-path=/usr/lib/qt/plugins/platforminputcontexts/
make
}
package() {
cd "${srcdir}/${_pkgname}"
make DESTDIR="${pkgdir}" install
install -dm755 "${pkgdir}/usr/share/licenses/${_pkgname}/"
# install licence files
install -Dm644 fdl-1.2.txt gpl-2.0.txt lgpl-2.1.txt "${pkgdir}/usr/share/licenses/${_pkgname}/"
}

View File

@@ -0,0 +1,5 @@
FROM archlinux:latest
COPY entrypoint.sh /app/entrypoint.sh
ENTRYPOINT ["/app/entrypoint.sh"]

View File

@@ -0,0 +1,45 @@
#!/usr/bin/env bash
set -euo pipefail
set -x
separator() {
echo -e "\n\n\n\n\n"
}
format_check() {
make clang-format
git --no-pager diff --exit-code
}
# base
pacman -Syuu --noconfirm --needed \
base \
base-devel \
git
# dependencies
pacman -Syuu --noconfirm --needed \
clang \
libxtst \
gtk2 \
gtk3 \
anthy \
libchewing \
libappindicator-gtk2 \
libappindicator-gtk3 \
qt5-base
echo 'en_US.UTF-8 UTF-8' >/etc/locale.gen && locale-gen
set +x; separator; separator; separator; set -x
# enter GitHub workspace directory path
cd "$GITHUB_WORKSPACE"
# check code formatting
format_check
# configure and build
./configure --prefix=/usr --qt5-im-module-path=/usr/lib/qt/plugins/platforminputcontexts/
make -j "$(nproc)"

View File

@@ -0,0 +1,19 @@
#!/usr/bin/env bash
set -euo pipefail
topleveldir="$(git rev-parse --show-toplevel)"
archdir="$topleveldir/distro/archlinux"
pushd "$archdir" || exit 1
set -x
# clean up
rm -rf hime/ pkg/ src/
makepkg -sf
ls -ltr ./*.pkg.tar.*
set +x
popd || exit 1

View File

@@ -0,0 +1,5 @@
FROM centos:centos7
COPY entrypoint_centos7.sh /app/entrypoint.sh
ENTRYPOINT ["/app/entrypoint.sh"]

View File

@@ -0,0 +1,37 @@
#!/usr/bin/env bash
set -euo pipefail
set -x
separator() {
echo -e "\n\n\n\n\n"
}
# base
yum update -y
yum groupinstall -y 'Development Tools'
# dependencies
yum install -y \
desktop-file-utils \
gettext \
gtk2-devel\
gtk3-devel \
libXtst-devel \
libchewing-devel \
qt5-qtbase-devel
set +x; separator; separator; separator; set -x
# enter GitHub workspace directory path
cd "$GITHUB_WORKSPACE"
export CFLAGS="-std=gnu11"
export CXXFLAGS="-std=gnu++11"
./configure --disable-gtk2-im-module --disable-gtk3-im-module \
--prefix="$PWD/build" \
--qt5-im-module-path=/usr/lib/qt/plugins/platforminputcontexts/
make

View File

@@ -0,0 +1,5 @@
FROM centos:centos8
COPY entrypoint_centos8.sh /app/entrypoint.sh
ENTRYPOINT ["/app/entrypoint.sh"]

View File

@@ -0,0 +1,34 @@
#!/usr/bin/env bash
set -euo pipefail
set -x
separator() {
echo -e "\n\n\n\n\n"
}
# base
yum update -y
yum groupinstall -y 'Development Tools'
# dependencies
yum install -y \
desktop-file-utils \
gettext \
gtk2-devel\
gtk3-devel \
libXtst-devel \
qt5-qtbase-devel \
qt5-qtbase-private-devel \
set +x; separator; separator; separator; set -x
# enter GitHub workspace directory path
cd "$GITHUB_WORKSPACE"
./configure --disable-gtk2-im-module --disable-gtk3-im-module \
--prefix="$PWD/build" \
--qt5-im-module-path=/usr/lib/qt/plugins/platforminputcontexts/
make

View File

@@ -0,0 +1,5 @@
hime (9-9) experimental; urgency=low
* New snapshot.
-- The HIME Project <http://hime.luna.com.tw> Tue, 13 Dec 2011 14:15:16 +0800

View File

@@ -0,0 +1,5 @@
FROM debian:unstable
COPY entrypoint.sh /app/entrypoint.sh
ENTRYPOINT ["/app/entrypoint.sh"]

View File

@@ -0,0 +1,38 @@
#!/usr/bin/env bash
set -euo pipefail
set -x
separator() {
echo -e "\n\n\n\n\n"
}
# base
apt-get update --yes && apt-get upgrade --yes
apt-get install --yes \
build-essential \
locales \
fakeroot \
devscripts \
git
# dependencies
apt-get install --yes \
libxtst-dev \
libgtk2.0-dev \
libgtk-3-dev \
libanthy-dev \
libchewing3-dev \
libappindicator-dev \
libappindicator3-dev \
qtbase5-private-dev
echo 'en_US.UTF-8 UTF-8' >/etc/locale.gen && locale-gen
set +x; separator; separator; separator; set -x
# enter GitHub workspace directory path
cd "$GITHUB_WORKSPACE"
# build Debian package
./distro/debian/gen-deb

View File

@@ -0,0 +1,16 @@
#!/bin/sh
[ ! -e debian/hime/"$(pkg-config --variable=libdir gtk+-3.0)"/gtk-3.0/"$(pkg-config --variable=gtk_binary_version gtk+-3.0)"/immodules/im-hime.so ] && sed -i 's/, hime-gtk3-immodule//' debian/hime/DEBIAN/control
[ ! -e debian/hime/usr/lib/hime/chewing-module.so ] && sed -i 's/, libchewing3//' debian/hime/DEBIAN/control
if [ ! -e debian/hime/usr/lib/hime/anthy-module.so ]; then
grep -v 'Suggests: kasumi' debian/hime/DEBIAN/control | sed 's/, anthy//' >debian/hime/DEBIAN/control.in
mv debian/hime/DEBIAN/control.in debian/hime/DEBIAN/control
fi
if [ -x /usr/lib/libgtk2.0-0/gtk-query-immodules-2.0 ]; then
/usr/lib/libgtk2.0-0/gtk-query-immodules-2.0 debian/hime/usr/lib/gtk-2.0/2.10.0/immodules/im-hime.so | grep hime | tail -n 1 >>debian/hime/usr/lib/gtk-2.0/2.10.0/immodule-files.d/hime.immodules
else
rm -fr debian/hime/usr/lib/gtk-2.0/2.10.0/immodule-files.d
fi
true

View File

@@ -0,0 +1 @@
10

View File

@@ -0,0 +1,17 @@
Source: hime
Section: utils
Priority: optional
Maintainer: The HIME Project <http://hime.luna.com.tw>
Build-Depends: debhelper (>= 7.0.50~), libgtk2.0-dev (>= 2.10.0) | libgtk-3-dev, libxtst-dev, dpkg | qtbase5-private-dev | libanthy-dev | libchewing3-dev | libappindicator-dev | libappindicator3-dev
Standards-Version: 3.9.1
Package: hime
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: im-switch | im-config, anthy, libchewing3
Suggests: kasumi
Conflicts: hime-dev, hime-gtk3-immodule, hime-qt5-immodule, hime-anthy, hime-chewing, hime-icon-themes, hime-data, hime-tables
Replaces: hime-dev, hime-gtk3-immodule, hime-qt5-immodule, hime-anthy, hime-chewing, hime-icon-themes, hime-data, hime-tables
Provides: hime-dev, hime-gtk3-immodule, hime-qt5-immodule, hime-anthy, hime-chewing, hime-icon-themes, hime-data, hime-tables
Description: input method server
Hime is an input method server, supports GTK+ / Qt immodules and XIM.

View File

@@ -0,0 +1,18 @@
#!/bin/sh
[ ! -e distro/debian ] && exec echo Please execute '"distro/debian/gen-deb"' under hime directory, thanks.
rm -rf debian
cp -r distro/debian .
if [ -d .git ]; then
sed -i "s#9-9#$(head -n 1 ChangeLog | sed -e "s/$/+$(date +git%Y%m%d)-1/" -e 's/UNRELEASED/0UNRELEASED/')#" debian/changelog
else
sed -i "s#9-9#$(head -n 1 ChangeLog | sed -e 's/UNRELEASED/0UNRELEASED/')#" debian/changelog
fi
# Not sure if DEB_CFLAGS_SET does work
export DEB_CFLAGS_SET="-Wall -g -O0"
export CFLAGS="$CFLAGS -Wall -g -O0"
debuild --no-lintian --no-tgz-check -i -us -uc -b

View File

@@ -0,0 +1 @@
"/usr/lib/gtk-2.0/2.10.0/immodules/im-hime.so"

View File

@@ -0,0 +1,14 @@
# vim: set sts=4 expandtab:
IM_CONFIG_SHORT="$(gettext "啟用 HIME Input Method Editor (hime) (上游官方版本)")"
IM_CONFIG_LONG="$(gettext "HIME Input Method Editor (hime) (上游官方版本)
* 需要安裝hime 軟體包
* 其他模組的支援請查閱 hime 來源碼中 configure 程式的 --help 命令列選項")"
package_auto() {
package_status hime
}
package_menu() {
package_status hime
}

View File

@@ -0,0 +1,48 @@
# start hime (upstream version)
# vim: set sts=4 expandtab:
if [ "$IM_CONFIG_PHASE" = 2 ]; then
# start hime daemon
/usr/bin/hime &
fi
if [ "$IM_CONFIG_PHASE" = 1 ]; then
# set variables for the plain XIM
XMODIFIERS=@im=hime
GTK_IM_MODULE=xim
# use hime immodule only when available for both GTK 2.0 and 3.0
IM_CONFIG_MARKER2=0
for IM_CONFIG_MARKER in /usr/lib/*/gtk-2.0/*/immodules/im-hime.so \
/usr/lib/gtk-2.0/*/immodules/im-hime.so; do
if [ -e "$IM_CONFIG_MARKER" ]; then
IM_CONFIG_MARKER2=1
break
fi
done
IM_CONFIG_MARKER3=0
for IM_CONFIG_MARKER in /usr/lib/*/gtk-3.0/*/immodules/im-hime.so \
/usr/lib/gtk-3.0/*/immodules/im-hime.so; do
if [ -e "$IM_CONFIG_MARKER" ]; then
IM_CONFIG_MARKER3=1
break
fi
done
if [ "$IM_CONFIG_MARKER2" = 1 ] && [ "$IM_CONFIG_MARKER3" = 1 ]; then
GTK_IM_MODULE=hime
fi
# use immodule when available for Qt5
for IM_CONFIG_MARKER in /usr/lib/*/qt5/plugins/platforminputcontexts/im-hime.so \
/usr/lib/qt5/plugins/platforminputcontexts/im-hime.so; do
if [ -e "$IM_CONFIG_MARKER" ]; then
QT_IM_MODULE=hime
break
fi
done
# hime has no clutter support
CLUTTER_IM_MODULE=xim
fi

View File

@@ -0,0 +1,4 @@
debian/im-switch/hime etc/X11/xinit/xinput.d
debian/hime.immodules usr/lib/gtk-2.0/2.10.0/immodule-files.d
debian/im-config/25_hime_upstream.conf usr/share/im-config/data
debian/im-config/25_hime_upstream.rc usr/share/im-config/data

View File

@@ -0,0 +1,30 @@
#!/bin/sh
# postinst script for hime
set -e
ua_inst() {
update-alternatives \
--install /etc/X11/xinit/xinput.d/"$1" xinput-"$1" \
/etc/X11/xinit/xinput.d/"$2" "$3"
}
case "$1" in
configure)
# Set up default
ua_inst all_ALL hime 0
ua_inst zh_CN hime 30
ua_inst zh_TW hime 50
;;
abort-upgrade | abort-remove | abort-deconfigure) ;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0

View File

@@ -0,0 +1,28 @@
#!/bin/sh
# prerm script for hime
set -e
ua_remove() {
update-alternatives \
--remove xinput-"$1" \
/etc/X11/xinit/xinput.d/"$2"
}
case "$1" in
remove | upgrade | deconfigure)
ua_remove all_ALL hime
ua_remove zh_CN hime
ua_remove zh_TW hime
;;
failed-upgrade) ;;
*)
echo "prerm called with unknown argument \`$1'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0

17
Telegram/ThirdParty/hime/distro/debian/rules vendored Executable file
View File

@@ -0,0 +1,17 @@
#!/usr/bin/make -f
%:
dh $@
override_dh_auto_configure:
dh_auto_configure -- --disable-lib64
override_dh_shlibdeps:
dh_shlibdeps --exclude=im-hime.so --exclude=anthy-module.so --exclude=chewing-module.so
override_dh_strip:
# dh_strip
override_dh_gencontrol:
dh_gencontrol
sh debian/ckqt.sh

View File

@@ -0,0 +1,4 @@
Copyright (C) 2011 Lu, Chao-Ming (Tetralet). All rights reserved.
This work is licensed under the terms of the GNU LGPL v2.1, or any later version.

View File

@@ -0,0 +1,213 @@
#
# Copyright (C) 2011 Lu, Chao-Ming (Tetralet). All rights reserved.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
#
#!/bin/sh
export LC_ALL=zh_TW.UTF8
CONVERT=`whereis -b convert | tr -d '\n' | sed 's/^convert: *//g'`
if [ -z "$CONVERT" ]; then
echo "Command 'convert' is not find. Please install imagemagick package and try again!"
exit 0
fi
print_help()
{
case $1 in
-h|--help)
echo "Usage: $0 SourceImage.png HalfCharImage.png FullCharImage.png Font_Patch Font_Color Mini_Color"
echo "Example: $0 HIME.png HIME_Half.png HIME_Full.png ~/.fonts/DroidSansFallback.ttf \"#1650b8\" \"c81bca\""
exit 0
;;
esac
}
if [ "$1" == '' ]; then
print_help -h
fi
if [ ! -f "$1" ]; then
echo "ERROR: Source Image file $1 Not find!"
echo ""
print_help -h
fi
SOURCE_IMAGE="$1"
if [ "$2" == '' ]; then
print_help -h
fi
if [ ! -f "$2" ]; then
echo "ERROR: HalfChar Image file $1 Not find!"
echo ""
print_help -h
fi
HALF_IMAGE="$2"
if [ "$3" == '' ]; then
print_help -h
fi
if [ ! -f "$3" ]; then
echo "ERROR: FullChar Image file $1 Not find!"
echo ""
print_help -h
fi
FULL_IMAGE="$3"
if [ "$4" == '' ]; then
print_help -h
fi
if [ ! -f "$4" ]; then
echo "ERROR: Font file $4 Not find!"
echo ""
print_help -h
fi
FONT_FILE="$4"
if [ "$5" == '' ]; then
print_help -h
fi
COLOR="$5"
if [ "$6" == '' ]; then
print_help -h
fi
MINI_COLOR="$6"
convert_word()
{
while [ "$1" != '' ]; do
FILE=$1
shift
if [ "$1" != '' ]; then
WORD=$1
else
echo "ERROR: No target file inputed!"
exit 1
fi
shift
SIZE=`echo "$WORD" | wc -m`
if [ "$WORD" == "En" ]; then
SIZE=2
fi
WORK_IMAGE="$SOURCE_IMAGE"
echo "Trying to draw '$WORD' (Size $SIZE) on $SOURCE_IMAGE to $FILE.png ..."
case $SIZE in
1)
FONT_SIZE=18
DRAW_STR="text +0-1 '$WORD'"
TEMP_FILE=""
;;
2)
FONT_SIZE=18
DRAW_STR="text +0-1 '$WORD'"
TEMP_FILE=""
;;
3|4)
if [ "$FILE" == "half-simp" -o "$FILE" == "half-trad" ]; then
WORK_IMAGE="$HALF_IMAGE"
fi
if [ "$FILE" == "full-simp" -o "$FILE" == "full-trad" ]; then
WORK_IMAGE="$FULL_IMAGE"
fi
ORIGINAL_WORD="$WORD"
WORD=`echo $ORIGINAL_WORD | sed -e 's/\(.\)\(.\)/\1/g'`
FONT_SIZE=14
DRAW_STR="text -4-4 '$WORD'"
TEMP_FILE="hime_temp"
convert -pointsize $FONT_SIZE \
-font $FONT_FILE \
-fill $COLOR \
-gravity center \
-draw "$DRAW_STR" \
$WORK_IMAGE "$TEMP_FILE.png"
WORD=`echo $ORIGINAL_WORD | sed -e 's/\(.\)\(.\)/\2/g'`
FONT_SIZE=11
DRAW_STR="text +5+5 '$WORD'"
;;
*)
echo "The input word '$WORD' is too long!"
exit 1
;;
esac
if [ "$TEMP_FILE" == '' -o ! -f "$TEMP_FILE.png" ]; then
convert -pointsize $FONT_SIZE \
-font $FONT_FILE \
-fill $COLOR \
-gravity center \
-draw "$DRAW_STR" \
$WORK_IMAGE "$FILE.png"
else
convert -pointsize $FONT_SIZE \
-font $FONT_FILE \
-fill $MINI_COLOR \
-gravity center \
-draw "$DRAW_STR" \
"$TEMP_FILE.png" "$FILE.png"
rm "$TEMP_FILE.png"
fi
done
}
convert_word 'hime-tray' 'En' \
'4corner' '四' \
'NewCJ3' '亂' \
'amis' '阿' \
'ar30' '行' \
'chewing' '酷' \
'cj' '倉' \
'dayi3' '易' \
'erbi' '二' \
'ez' '輕' \
'fcitx-qxm' '冰' \
'fcitx-wanfeng' '晚' \
'greek' 'αβ' \
'esperanto' '★' \
'hakka' '客' \
'halfwidth-kana' 'ア' \
'intcode' '內' \
'jtcj_gb' '仓' \
'juyin' '注' \
'jyutping' '粵' \
'kana-nippon' 'あ' \
'latin-letters' 'ā' \
'newcj' '新' \
'noseeing' '嘸' \
'paiwan' '排' \
'pinyin' '拼' \
'sakura' '櫻' \
'scj' '快' \
'shuangpin' '双' \
'simplex' '簡' \
'symbols' '%' \
'taiwan' '台' \
'telecode' '電' \
'tsin' '詞' \
'tsou' '鄒' \
'wm2' '象' \
'wubi' '五' \
'russian' 'Э' \
'hangul' '한' \
'cj5' '倉五' \
'cj-punc' '倉;' \
'en-kana-nippon' 'あE' \
'en-tsin' '詞E' \
'half-simp' ' 简' \
'half-trad' '  ' \
'full-simp' ' 简' \
'full-trad' '  ' \
'gdayi3' '易三'

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 970 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1007 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1006 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -0,0 +1,442 @@
Copyright (C) 2007 Kan-Ru Chen <koster AT debian DOT org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
This patch will make rxvt-unicode to use hime protocol, make rxvt-unicode to
depend on libhime-im-client.so.1, and let hime works like GTK+ / Qt immodule.
Unpatched rxvt-unicode still can use hime via XIM protocol.
Usage: ./configure --disable-xim
Note that you need hime's headers: hime-im-client.h
hime-im-client-attr.h
Also make sure that your library path can found libhime-im-client.so.1.
--- rxvt-unicode-9.14.orig/README.hime
+++ rxvt-unicode-9.14/README.hime
@@ -0,0 +1 @@
+./configure --disable-xim
--- rxvt-unicode-9.14.orig/src/Makefile.in
+++ rxvt-unicode-9.14/src/Makefile.in
@@ -17,8 +17,8 @@
CXXFLAGS = @CXXFLAGS@
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
-DEFS = @DEFS@
-LIBS = @LIBS@
+DEFS = @DEFS@ -DUSE_HIME -DUNIX=1
+LIBS = @LIBS@ -lhime-im-client -L$(libdir)/hime
XINC = @X_CFLAGS@ @AFTERIMAGE_CFLAGS@ @PIXBUF_CFLAGS@ @STARTUP_NOTIFICATION_CFLAGS@
XLIB = @X_LIBS@ @AFTERIMAGE_LIBS@ -lX11 @X_EXTRA_LIBS@ @PIXBUF_LIBS@ @STARTUP_NOTIFICATION_LIBS@
COMPILE = $(CXX) -I.. -I$(srcdir) -I. -I$(srcdir)/../libev -I$(srcdir)/../libptytty/src -I$(srcdir)/../libecb $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(XINC)
--- rxvt-unicode-9.14.orig/src/command.C
+++ rxvt-unicode-9.14/src/command.C
@@ -475,6 +475,36 @@
valid_keysym = status_return == XLookupKeySym
|| status_return == XLookupBoth;
}
+#endif
+#ifdef USE_HIME
+ if (Hime_Handle)
+ {
+ char *rstr = NULL;
+ len = XLookupString (&ev, kbuf, KBUFSZ, &keysym, &compose);
+ // valid_keysym = 1;
+ valid_keysym = keysym != NoSymbol;
+ if (hime_im_client_forward_key_press (Hime_Handle, keysym, ev.state, &rstr))
+ {
+ if (rstr)
+ {
+ len = strlen (rstr);
+ strncpy (kbuf, rstr, len);
+ kbuf[len] = '\0';
+ keysym = ' ';
+ shft = ctrl = meta = 0;
+ }
+ else
+ {
+#if 0
+ len = 0;
+ valid_keysym = 0;
+#endif
+ return;
+ }
+ }
+ if (rstr)
+ free (rstr);
+ }
else
#endif
{
@@ -860,10 +890,13 @@
void
rxvt_term::key_release (XKeyEvent &ev)
{
-#if (MOUSE_WHEEL && MOUSE_SLIP_WHEELING) || ISO_14755 || ENABLE_PERL
+#ifdef USE_HIME
KeySym keysym;
keysym = XLookupKeysym (&ev, ev.state & ShiftMask ? 1 : 0); // sorry, only shift supported :/
+ char *rstr = NULL;
+ hime_im_client_forward_key_release (Hime_Handle, keysym, ev.state, &rstr);
+ free (rstr);
#endif
#if ENABLE_FRILLS || ISO_14755
@@ -989,7 +1022,7 @@
scr_refresh ();
scrollBar.show (1);
-#ifdef USE_XIM
+#ifdef USE_HIME
im_send_spot ();
#endif
}
@@ -1739,6 +1772,15 @@
XSetICFocus (Input_Context);
}
#endif
+#ifdef USE_HIME
+ if (Hime_Handle != NULL)
+ {
+#if 0
+ IMSetPosition ();
+#endif
+ hime_im_client_focus_in(Hime_Handle);
+ }
+#endif
#if CURSOR_BLINK
if (option (Opt_cursorBlink))
cursor_blink_ev.again ();
@@ -1784,6 +1826,10 @@
if (Input_Context != NULL)
XUnsetICFocus (Input_Context);
#endif
+#ifdef USE_HIME
+ if (Hime_Handle != NULL)
+ hime_im_client_focus_out(Hime_Handle);
+#endif
#if CURSOR_BLINK
if (option (Opt_cursorBlink))
cursor_blink_ev.stop ();
--- rxvt-unicode-9.14.orig/src/init.C
+++ rxvt-unicode-9.14/src/init.C
@@ -1022,7 +1022,7 @@
{
set_environ (envv);
-#ifdef USE_XIM
+#ifdef USE_HIME
if (!locale)
rxvt_warn ("setting locale failed, continuing without locale support.\n");
else
@@ -1536,7 +1536,7 @@
XSelectInput (dpy, top,
KeyPressMask
-#if (MOUSE_WHEEL && MOUSE_SLIP_WHEELING) || ENABLE_FRILLS || ISO_14755
+#ifdef USE_HIME
| KeyReleaseMask
#endif
| FocusChangeMask | VisibilityChangeMask
@@ -1669,6 +1669,9 @@
if ((*t)->pty->pty > 2) close ((*t)->pty->pty);
if ((*t)->pty->tty > 2) close ((*t)->pty->tty);
}
+#ifdef USE_HIME
+ close (Hime_Handle->fd);
+#endif
run_child (argv);
fprintf (stderr, "%s: unable to exec child.", RESNAME);
--- rxvt-unicode-9.14.orig/src/main.C
+++ rxvt-unicode-9.14/src/main.C
@@ -176,7 +176,7 @@
rootwin_ev.set <rxvt_term, &rxvt_term::rootwin_cb> (this),
#endif
scrollbar_ev.set <rxvt_term, &rxvt_term::x_cb> (this),
-#ifdef USE_XIM
+#ifdef USE_HIME
im_ev.set <rxvt_term, &rxvt_term::im_cb> (this),
#endif
#ifdef POINTER_BLANK
@@ -314,7 +314,7 @@
if (display)
{
-#if USE_XIM
+#ifdef USE_HIME
im_ev.stop (display);
#endif
scrollbar_ev.stop (display);
@@ -1123,7 +1123,7 @@
/* -------------------------------------------------------------------- *
* - X INPUT METHOD ROUTINES - *
* -------------------------------------------------------------------- */
-#ifdef USE_XIM
+#ifdef USE_HIME
void
rxvt_term::im_set_color (unsigned long &fg, unsigned long &bg)
@@ -1166,6 +1166,11 @@
Window win;
char server[IMBUFSIZ];
+#ifdef USE_HIME
+ if (Hime_Handle)
+ return True;
+#endif
+#ifdef USE_XIM
/* get current locale modifier */
if (char *p = XSetLocaleModifiers (0))
{
@@ -1181,6 +1186,7 @@
if (win != None)
return true;
}
+#endif
return false;
}
@@ -1191,9 +1197,7 @@
XPoint nspot;
XVaNestedList preedit_attr;
- if (!Input_Context
- || !focus
- || !(input_style & (XIMPreeditPosition | XIMPreeditCallbacks)))
+ if (!focus || !Hime_Handle)
return;
im_set_position (nspot);
@@ -1203,11 +1207,13 @@
spot = nspot;
- preedit_attr = XVaCreateNestedList (0, XNSpotLocation, &spot, NULL);
- XSetICValues (Input_Context, XNPreeditAttributes, preedit_attr, NULL);
- XFree (preedit_attr);
+#ifdef USE_HIME
+ if (Hime_Handle)
+ hime_im_client_set_cursor_location(Hime_Handle, nspot.x, nspot.y);
+#endif
}
+#ifdef USE_XIM
void
rxvt_term::im_destroy ()
{
@@ -1222,6 +1228,7 @@
Input_Context = 0;
}
+#endif
#ifdef ENABLE_XIM_ONTHESPOT
@@ -1304,6 +1311,10 @@
bool
rxvt_term::im_get_ic (const char *modifiers)
{
+#ifdef USE_HIME
+ Hime_Handle = hime_im_client_open(display->dpy);
+ hime_im_client_set_window(Hime_Handle, parent);
+#else
int i, j, found;
XIM xim;
XPoint spot;
@@ -1511,6 +1522,7 @@
#endif
im_set_position ();
+#endif
return true;
}
@@ -1518,6 +1530,7 @@
void
rxvt_term::im_cb ()
{
+#ifdef USE_XIM
int i;
const char *p;
char **s;
@@ -1561,6 +1574,7 @@
if (found)
goto done;
}
+#endif
/* try with XMODIFIERS env. var. */
if (im_get_ic (""))
@@ -1577,6 +1591,7 @@
#endif
}
+#ifdef USE_XIM
void
rxvt_term::im_set_position ()
{
@@ -1620,6 +1635,7 @@
XFree (preedit_attr);
}
+#endif
#endif /* USE_XIM */
void
--- rxvt-unicode-9.14.orig/src/rxvt.h
+++ rxvt-unicode-9.14/src/rxvt.h
@@ -90,6 +90,10 @@
# define HAVE_BG_PIXMAP 1
#endif
+#ifdef USE_HIME
+#include <hime-im-client.h>
+#endif
+
#include "encoding.h"
#include "rxvtutil.h"
#include "rxvtfont.h"
@@ -1329,6 +1333,8 @@
rxvt_xim *input_method;
XIC Input_Context;
XIMStyle input_style;
+#endif
+#ifdef USE_HIME
XPoint spot; // most recently sent spot position
void im_destroy ();
@@ -1343,6 +1349,9 @@
bool im_get_ic (const char *modifiers);
void im_set_position ();
#endif
+#ifdef USE_HIME
+ HIME_client_handle *Hime_Handle;
+#endif
// command.C
void key_press (XKeyEvent &ev);
--- rxvt-unicode-9.14.orig/src/rxvttoolkit.C
+++ rxvt-unicode-9.14/src/rxvttoolkit.C
@@ -64,8 +64,10 @@
"_NET_WM_PING",
"_NET_WM_ICON",
#endif
-#if USE_XIM
+#ifdef USE_HIME
"WM_LOCALE_NAME",
+#endif
+#ifdef USE_XIM
"XIM_SERVERS",
#endif
#ifdef ENABLE_TRANSPARENCY
@@ -520,13 +522,15 @@
XCloseDisplay (dpy);
}
-#ifdef USE_XIM
+#ifdef USE_HIME
void rxvt_display::im_change_cb ()
{
for (im_watcher **i = imw.begin (); i != imw.end (); ++i)
(*i)->call ();
}
+#endif
+#ifdef USE_XIM
void rxvt_display::im_change_check ()
{
// try to only call im_change_cb when a new input method
@@ -625,7 +629,7 @@
cur_owner = owner;
}
-#ifdef USE_XIM
+#ifdef USE_HIME
void rxvt_display::reg (im_watcher *w)
{
@@ -636,7 +640,9 @@
{
imw.erase (find (imw.begin (), imw.end (), w));
}
+#endif
+#ifdef USE_XIM
rxvt_xim *rxvt_display::get_xim (const char *locale, const char *modifiers)
{
char *id;
--- rxvt-unicode-9.14.orig/src/rxvttoolkit.h
+++ rxvt-unicode-9.14/src/rxvttoolkit.h
@@ -64,8 +64,10 @@
XA_NET_WM_PING,
XA_NET_WM_ICON,
#endif
-#if USE_XIM
+#ifdef USE_HIME
XA_WM_LOCALE_NAME,
+#endif
+#ifdef USE_XIM
XA_XIM_SERVERS,
#endif
#if ENABLE_TRANSPARENCY
@@ -227,9 +229,13 @@
#ifdef USE_XIM
refcache<rxvt_xim> xims;
+#endif
+#ifdef USE_HIME
vector<im_watcher *> imw;
void im_change_cb ();
+#endif
+#ifdef USE_XIM
void im_change_check ();
#endif
@@ -262,16 +268,18 @@
void reg (xevent_watcher *w);
void unreg (xevent_watcher *w);
-#ifdef USE_XIM
+#ifdef USE_HIME
void reg (im_watcher *w);
void unreg (im_watcher *w);
+#endif
+#ifdef USE_XIM
rxvt_xim *get_xim (const char *locale, const char *modifiers);
void put_xim (rxvt_xim *xim);
#endif
};
-#ifdef USE_XIM
+#ifdef USE_HIME
struct im_watcher : rxvt_watcher, callback<void (void)>
{
void start (rxvt_display *display)
--- rxvt-unicode-9.14.orig/src/screen.C
+++ rxvt-unicode-9.14/src/screen.C
@@ -3531,7 +3531,7 @@
}
/* ------------------------------------------------------------------------- */
-#ifdef USE_XIM
+#ifdef USE_HIME
void
rxvt_term::im_set_position (XPoint &pos) NOTHROW
{

View File

@@ -0,0 +1,18 @@
include ../../../config.mak
ECHO = $(shell whereis -b echo | awk '{print $$2}')
.PHONY: all
all: ed5.cpp ed5.h ed5.pro ed5a.cpp
@ $(ECHO) -e "\x1b[1;33m** Compiling ed5...\x1b[0m"
@ $(QT5_QMAKE_PATH) ed5.pro -o ed5.makefile && $(MAKE) -f ed5.makefile
.PHONY: clean
clean:
-@ for FileName in ed5.makefile ed5a.o ed5.o ed5; \
do \
if [ -f "$$FileName" ]; then \
$(ECHO) -e "\x1b[1;31m** "deleting $$FileName..."\x1b[0m"; \
rm "$$FileName" ; \
fi; \
done

View File

@@ -0,0 +1,10 @@
#include <QApplication>
#include "ed5.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Window l;
l.show();
return a.exec();
}

Some files were not shown because too many files have changed in this diff Show More