pax_global_header00006660000000000000000000000064144220336150014512gustar00rootroot0000000000000052 comment=e1a7847d458841d529486d5199e3c328dd25983f fcitx-rime-master/000077500000000000000000000000001442203361500144165ustar00rootroot00000000000000fcitx-rime-master/.clang-format000066400000000000000000000033211442203361500167700ustar00rootroot00000000000000--- Language: Cpp # BasedOnStyle: LLVM AccessModifierOffset: -4 ConstructorInitializerIndentWidth: 4 AlignEscapedNewlinesLeft: false AlignTrailingComments: true AllowAllParametersOfDeclarationOnNextLine: true AllowShortBlocksOnASingleLine: false AllowShortIfStatementsOnASingleLine: false AllowShortLoopsOnASingleLine: false AllowShortFunctionsOnASingleLine: All AlwaysBreakTemplateDeclarations: true AlwaysBreakBeforeMultilineStrings: false BreakBeforeBinaryOperators: false BreakBeforeTernaryOperators: true BreakConstructorInitializersBeforeComma: false BinPackParameters: true ColumnLimit: 80 ConstructorInitializerAllOnOneLineOrOnePerLine: false DerivePointerAlignment: false ExperimentalAutoDetectBinPacking: false IndentCaseLabels: false IndentWrappedFunctionNames: false IndentFunctionDeclarationAfterType: false MaxEmptyLinesToKeep: 1 KeepEmptyLinesAtTheStartOfBlocks: true NamespaceIndentation: None ObjCSpaceAfterProperty: false ObjCSpaceBeforeProtocolList: true PenaltyBreakBeforeFirstCallParameter: 19 PenaltyBreakComment: 300 PenaltyBreakString: 1000 PenaltyBreakFirstLessLess: 120 PenaltyExcessCharacter: 1000000 PenaltyReturnTypeOnItsOwnLine: 60 PointerAlignment: Right SpacesBeforeTrailingComments: 1 Cpp11BracedListStyle: true Standard: Cpp11 IndentWidth: 4 TabWidth: 4 UseTab: Never BreakBeforeBraces: Attach SpacesInParentheses: false SpacesInAngles: false SpaceInEmptyParentheses: false SpacesInCStyleCastParentheses: false SpacesInContainerLiterals: true SpaceBeforeAssignmentOperators: true ContinuationIndentWidth: 4 CommentPragmas: '^ IWYU pragma:' ForEachMacros: [ Q_FOREACH, BOOST_FOREACH ] SpaceBeforeParens: ControlStatements DisableFormat: false SortIncludes: true ... fcitx-rime-master/.gitignore000066400000000000000000000001231442203361500164020ustar00rootroot00000000000000*~ build/* *.kdev4 .kdev_include_paths .directory *.kate-swp *.orig tags astyle.sh fcitx-rime-master/CMakeLists.txt000066400000000000000000000024431442203361500171610ustar00rootroot00000000000000cmake_minimum_required(VERSION 2.8) project(fcitx-rime) set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) include(FindPkgConfig) find_package(Fcitx 4.2.8.1 REQUIRED) pkg_check_modules(RIME "rime>=1.0.0" REQUIRED) if(NOT DEFINED RIME_DATA_DIR) find_package(RimeData REQUIRED) endif(NOT DEFINED RIME_DATA_DIR) message(STATUS "Precompiler macro RIME_DATA_DIR is set to \"${RIME_DATA_DIR}\"") add_definitions(-DRIME_DATA_DIR="${RIME_DATA_DIR}") set(CMAKE_C_FLAGS "-Wall -Wextra -Wno-sign-compare -Wno-unused-parameter -fvisibility=hidden ${CMAKE_C_FLAGS}") set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-sign-compare -Wno-unused-parameter -fvisibility=hidden ${CMAKE_CXX_FLAGS}") set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--as-needed ${CMAKE_SHARED_LINKER_FLAGS}") set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--as-needed ${CMAKE_MODULE_LINKER_FLAGS}") # uninstall target configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" IMMEDIATE @ONLY) add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) option(ENABLE_QT5GUI "Build the Rime Config GUI Tool" ON) add_subdirectory(po) add_subdirectory(src) add_subdirectory(data) if(ENABLE_QT5GUI) add_subdirectory(gui) endif(ENABLE_QT5GUI) fcitx-rime-master/COPYING000066400000000000000000000432541442203361500154610ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 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. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. fcitx-rime-master/ChangeLog000066400000000000000000000001771442203361500161750ustar00rootroot000000000000002013-07-15: CSSlayer * 0.2.2 - Fix Issue 11 - Fix Issue 12 - Update icon artwork - Add License fcitx-rime-master/README.md000066400000000000000000000031471442203361500157020ustar00rootroot00000000000000## RIME support for Fcitx RIME(中州韻輸入法引擎) is _mainly_ a Traditional Chinese input method engine. project: http://rime.im/ ## Build From Source: ### special notice of RIME dependency: RIME split its devlopment source into a few sections, here we need librime. In librime source, there are two directory, brise and librime. According to your distribution, you might need brise+librime package(openSUSE) or only librime which includes brise at /usr/share/brise. If your distribution doesn't have one you need to download librime and put brise directory into /usr/share/brise. If you're a distribution packager, ask maintainer of librime to add brise sub-package. ### special notice of Boost dependency: Boost is a RIME dependency, so without boost >= 1.46.1, you will not ble to install librime-devel. Generally it means, distros that are a little old like openSUSE 11.4 or Ubuntu 10.10 might not be possible to build or install. ### Dependency *cmake *gcc-c++ *fcitx-devel with all three skins some distro like openSUSE split a fcitx-skin-classic and a fcitx-skin-dark, so you need them. *librime-devel *brise *hicolor-icon-theme optional, for directory ownership. #### openSUSE: sudo zypper ar -f http://download.opensuse.org/repositories/M17N/openSUSE_12.2/ M17N sudo zypper in cmake gcc-c++ fcitx-devel fcitx-skin-classic fcitx-skin-dark librime-devel brise hicolor-icon-theme ## Install from Distribution ### Debian/Ubuntu sudo apt-get install fcitx-rime ### openSUSE sudo zypper ar -f http://download.opensuse.org/repositories/M17N/openSUSE_12.2/ M17N sudo zypper in fcitx-rime fcitx-rime-master/clang-format.sh000077500000000000000000000002761442203361500173340ustar00rootroot00000000000000#!/bin/sh find . \( -not \( -name 'keynametable.h' -o -name 'keysymgen.h' -o -name 'keysymdef.h' -o -name 'XF86keysym.h' \) \) -a \( -name '*.h' -o -name '*.cpp' \) | xargs clang-format -i fcitx-rime-master/cmake/000077500000000000000000000000001442203361500154765ustar00rootroot00000000000000fcitx-rime-master/cmake/FindRimeData.cmake000066400000000000000000000014761442203361500207770ustar00rootroot00000000000000# Author: Marguerite Su # License: GPL # Description: find Rime schema collection package. # RIME_DATA_FOUND - System has rime-data package # RIME_DATA_DIR - rime-data absolute path set(RIME_DATA_FIND_DIR "${CMAKE_INSTALL_PREFIX}/share/rime-data" "${CMAKE_INSTALL_PREFIX}/share/rime/data" "/usr/share/rime-data" "/usr/share/rime/data") set(RIME_DATA_FOUND FALSE) foreach(_RIME_DATA_DIR ${RIME_DATA_FIND_DIR}) if (IS_DIRECTORY ${_RIME_DATA_DIR}) set(RIME_DATA_FOUND True) set(RIME_DATA_DIR ${_RIME_DATA_DIR}) endif (IS_DIRECTORY ${_RIME_DATA_DIR}) endforeach(_RIME_DATA_DIR) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(RimeData DEFAULT_MSG RIME_DATA_DIR) mark_as_advanced(RIME_DATA_DIR) fcitx-rime-master/cmake/cmake_uninstall.cmake.in000066400000000000000000000021161442203361500222560ustar00rootroot00000000000000if (NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"") endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) string(REGEX REPLACE "\n" ";" files "${files}") foreach (file ${files}) message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"") if (EXISTS "$ENV{DESTDIR}${file}" OR IS_SYMLINK "$ENV{DESTDIR}${file}") execute_process( COMMAND @CMAKE_COMMAND@ -E remove "$ENV{DESTDIR}${file}" OUTPUT_VARIABLE rm_out RESULT_VARIABLE rm_retval ) if(NOT ${rm_retval} EQUAL 0) message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"") endif (NOT ${rm_retval} EQUAL 0) else (EXISTS "$ENV{DESTDIR}${file}" OR IS_SYMLINK "$ENV{DESTDIR}${file}") message(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.") endif (EXISTS "$ENV{DESTDIR}${file}" OR IS_SYMLINK "$ENV{DESTDIR}${file}") endforeach(file) fcitx-rime-master/data/000077500000000000000000000000001442203361500153275ustar00rootroot00000000000000fcitx-rime-master/data/CMakeLists.txt000066400000000000000000000014301442203361500200650ustar00rootroot00000000000000# for im icon install(FILES rime.png RENAME rime.png DESTINATION ${FCITX4_PREFIX}/share/fcitx/imicon) # for skin install(DIRECTORY default DESTINATION ${FCITX4_PREFIX}/share/fcitx/skin) # with prefix foreach(svg rime rime-deploy rime-sync) install(FILES ${svg}.png RENAME fcitx-${svg}.png DESTINATION share/icons/hicolor/48x48/apps) install(FILES ${svg}.svg RENAME fcitx-${svg}.svg DESTINATION share/icons/hicolor/scalable/status) endforeach() # without prefix foreach(svg rime-im rime-latin rime-disable) install(FILES ${svg}.png DESTINATION share/icons/hicolor/48x48/apps) install(FILES ${svg}.svg DESTINATION share/icons/hicolor/scalable/status) endforeach() # install the config tool icon install(FILES rime128.png RENAME fcitx-rime.png DESTINATION share/icons/hicolor/128x128/apps) fcitx-rime-master/data/default/000077500000000000000000000000001442203361500167535ustar00rootroot00000000000000fcitx-rime-master/data/default/rime-deploy.png000066400000000000000000000017141442203361500217120ustar00rootroot00000000000000PNG  IHDRw=sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IIDATHMh\U&4!dL&iJEE AҔI&BEJEQA h|Z+*]pS'CK"4$yxo8t9wUe+Ru Yh[8rFXߟL'.7ɍhl p*r&\%IO(4 tFNo3TYI?M=쌙^k|Q*$^Q K-%3YWp_/w+M%b RݎEXH]ͺ&G**x}OKm OyНT윉axt&J .C\Eۖfr*NELXZs2 @gƗ|+Z0qyY ;cUuMՙo%/7 n+R߁ggy`B/ň ّ߫䎅?v-;A[f2^pMK(9kE  kަd;g#wTd_}@g WFgf;~(ʡmou-n Ap Bpt"7AxĥWg?zk'3oJvIENDB`fcitx-rime-master/data/default/rime-disable.png000066400000000000000000000014301442203361500220140ustar00rootroot00000000000000PNG  IHDRw=sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATHUMHa~Kte]TJ] ńKt,l;եqK?"R hn3ۡUVwv{``y}cD @(4d!Fc+==gq]-ƀ},YLfm%f/L uXc6: s234?v,ie:M[:wa%!JC^/ ް{3iHTL0<ņq)d}9dIo hv!/[Z WT? N)FԶ):ft.#2 0늿qz7~5F w>yy~Jс$as-r`ߚY2 _ Qkesi@Y|ը⹕?p\vX?v}x^ۿ>xRݷ5|wogׁm \Қ?q!P<zXqh\:pWWC~`ZC,55Y|q-5)Y`kKn g=G. qz6Np : |i_P.+1YO{_5Xl,X|TMe Tޗyoλ~;r׳bz2Gd KȾ$k$ emfRט!,Aj2~@zpŊ',ޚ 0MsCCc,VswU.Y3}@L[8"Ƨ\C@t~`5dͫTsҖʵ Q4`Y!,^s^'>ܭ5f]N?,C1 PIENDB`fcitx-rime-master/data/default/rime-im-luna_pinyin.png000066400000000000000000000015671442203361500233540ustar00rootroot00000000000000PNG  IHDRw=sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATHՖOhW?7;lb`# Zŵ%R Tփ36EJRzQxiA< ^Ād"zѦ)XlnfzN3 x}~{[\f @x([ ^maK3?$`a"qaJ~MF` 7AEPҴYvD ;gUHH2#qȦU*!5FvL|ȫ-W.-7MEҲk9*@}*<760jŶ&+COr57`lmm[H|aԝ\6ڊhO< [8Y@+YXәulpG D jQtbT@8zY ?(9[rh6#(WloQGsN[ cöKgAj:p`gRb@4 `bQ\[QRHeE;`HZCBnϼk1Q<%5ob3JpEvR)N[_{d;d;a9(hHT"E |iWzPuTyyއ(8yQtyGn)z~6I|.[쫹JV&f,e:08^ψ,158FBPbҘp밙xkM졪!fj y8Md++V08+5MDZ n18$$ @oS-^"-MݵxuE:Jc{qY}=KfۜqV<EvZ_%P#;F~V ȌaVR΋7JDgD.^bI9NYc+B4b{e9NeDוc!;Bn}ҟ0j*Los3O`%"l!ݬK\  q'PJ?4᱐αsqᚦAF5QiNԔ2 a#Dt!p+0~'45Mm"BaHPDDcl;p^(af +_ۍ.sTL2w!g:bgFwcCg0h [op+ȶy/3)1m(m92M) t])k`-xFPťgJx? -IuIENDB`fcitx-rime-master/data/default/rime-latin.png000066400000000000000000000012231442203361500215200ustar00rootroot00000000000000PNG  IHDRw=sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATHV=kQ=go!ďR?# &e*F F Y!0MwvQĀ `JPDPFF\a/, sϽͻӜfK nas)R>r5ϴi>-ĕ.b418"\;֗M@W^K6)88bZ}uR~XXb)a"xdbs@`g(Jٽ.X?(W) ;(gR`}B@|ԧE9>q}^XcBG$P. 跪`ʯxW3FZMU!'0K3!jƌe7:4#g6a0F_7l2]O L\ Z hp"}H4/h  [JxA7B q 흙<0:FnNs6!1Wсv.qc'ҨM ~J+s=~27kmWV1yIENDB`fcitx-rime-master/data/default/rime-sync.png000066400000000000000000000013031442203361500213640ustar00rootroot00000000000000PNG  IHDRw=sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<@IDATHMHqƟN!#A!a]C.v! H DG#Kt9աcD4iC]PHdLgt@=ͼy= %a+l?lT `Iĸ Z,aG 02E4'҉t}yX8` ϛÀɠQ⻱;:`nvΪ@D7R’f{}Zv\n`۪RӾذXcsXX՗ HwGr;BQ4_vQPs}\Xhk*g:.dIIENDB`fcitx-rime-master/data/rime-deploy.png000066400000000000000000000042261442203361500202670ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAThZ]LS[8T~J҇ˋTȐQԛi?y1%Dc('> Ý!ѠH4$/1L@,UHY@9sNϡ½_[쿵va5Uo@J5| A%I=ډHX(p@ c?H4hOW_"f1`#o --XFFىfQ1%;kZfq0 A [v. &&&8X?+8~8Z]tgphn\|4== ~E[ Ѝ7XRRҢs#m6塤DQt:qQr8 ?tee dB}}{^}x<\zW'%%L&87pisałb̉CKK сQHǗ/_<HOOWCD8w*++/a8l%d2\.Er8O<˶`)11T"4[c{)))BjGvt:ݒK֭[ippP~JII,`sx񻶶69AjXXX8*Q]]Lt:a4~:\dZUGXuDf3L\M'O^r\S:{j_Vu^1jCup'#np\C(**l6|R,$8n޼ƴZ,c k6}c8CvP6m233ڊ}Nx5V+:::PTTN`d˃ ZՍf|WV3dgg+ ***0>>.z=*++EB 8sBovv߿ۧ .cߧfll ׮]Ο?<hZUyxx8dׯǏ2`@ZZ1ƾ] -%dee)N*p,v¡Cة)R ##C@SS,*g dFSTo ttt 7nDddoooWH8涪z^&zy~Xf 6o,n7>,ӑp lFyOjò%lزeO)bbbhA Pu!,lb !uz_xL~zYիWK& 0prra.!BaȄQQQN+ñELOOO#""B#;wnyf̌߾}BG)=٩h*//:nݺ%߿_##Aq6L>Cc,Ass3޽+y޽{z 쐐@Duww3Kф*UR333x]P8}Lv1[N&s\fDTT۫~ZEANNv`naw.ݻݻwŋA[,ن`.?) дQxx8UWW˜*ڰa<{lAn^9Eǩ:E\FwMM mڴIFF* P]]fUw8$2d9f<::F>}BWWd[<8CQQe!; <~"##Ct}ņUتZ2q)??؊|0? ŲNР:x ]xzzz\CCCdX_sI-)惻Dd2ҥKXVs%"8qCoo/^/>| ^6jBAA=zs"ʤ  {<dgg#>>w ڦ?~:2ph4Rii)nh`q%w(--h$-E~'&)~'&YG7XϬjZ+fªĪ750NIENDB`fcitx-rime-master/data/rime-deploy.svg000066400000000000000000000071741442203361500203070ustar00rootroot00000000000000 image/svg+xml fcitx-rime-master/data/rime-disable.png000066400000000000000000000033451442203361500203770ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<bIDATh՚[LA: e B4v 6($5!{Gbڤra$iD1UwEh$xcb%SDe hwOZ9 3?ɺu_߿}k$>f$|h"iFcL*[>0𥤱:+@Ҙ1& ̢#`z1ˀ,]7mmmXkK+ iRYYÇ?[FFFؼy3Ϟ=ŋ255# DK}MN8ȡsk׮DlD]hz1[IIIk2>>QK^/IIIܻw-[[JIK* "𛂂^% ƍxxegg;m{oB B*))!FZYkU^^H>Zik֬:rS(~DDPrr:;;eաC477Z7n(55թm7&B=zH>ʕ+500'O!5. O@;wVwVmmsȇ[vc:1So@בa||Rᰀ-:ݲj%̙3^\N>M8hucɑV?VZZ>mo&O>Mz ϟ?իW6B`](+!FGGnۂ6| 331~藺ob~0P\\}5w /"Zg6^zuQRR2]YTTDyy9;] NLLԥKSD cV ׯgժU͝ׯ)++c``తq@ hll\<9v uƘpY1&hO===qDx UZ={V RBB‚@ *jhhH.\pOAf~k.f799(_m3I?XbMMM,8&LNNRSS0גu>#N?| EnϳDlx|y.]}|t}IENDB`fcitx-rime-master/data/rime-disable.svg000066400000000000000000000101441442203361500204050ustar00rootroot00000000000000 image/svg+xml fcitx-rime-master/data/rime-im.png000066400000000000000000000050571442203361500174030ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org< IDATh՚]LUW|xU\r0VMK1 Վ4Fmڴ 4mIP>A2qdh[Pby@m6ӻ{9̸sk{^MD% ^'5Ms @\"rgI5ilJ-Hu?nW"Q?0h&x_lh&cC]@0 /HMM9rD/_n֭['MMMR[[+/$$$&ro3%zNS^{5x<2>>.###/ۍ/J)f)//XCف/|גmٰa񜘘h|Y3b'|b'N% qqq(G \BE;v젰7֭[|9sn7>dΝ')Xr%>6 hmm%??۷OM*Bt:4rZ|LLG}$===_z萪*ٲeᎁeݦȦ#B~]vY^)%YYYHNN[v ܉z4M222dڵΝ;mڿ;lւ0if@kk+&$|>:;;qLLLpiLLLζ&??p\x<^ypႥnz36mz|>n7n$JKK)--`ttv#LVUU}vxb\.׮]իW&//ӧO0[O> O< 99 6iii999F`-EEE&lbG G5wg_deelϖl@14-{?xgffh5 >>I&''Mʋ/3>::AXX33R %#*].GC1+cJ\;q0v=zҲ BCC9v˗/o6<裆NDsLOO322Buu5Zݻ7o駟HOO'&&ƤLKK,0322 ---Z|֭[dr! LgϞr\F||rP@ }tzh>0ekEµ~HMMuvNAx< i/?Bu^ [;@__7nܰ(srrp82<ꫯZ\..&+̀nywdٲe742.KΜ93o8p@%22p}IJJIIc&N|+$''KOO] 455zʸ嗦u/ \J?\6 RJ:;;mZZxޠ>l,Vww1> n$S0;t萩v@D^x }ӦMr#GLm>$6^͕@[[YFep?KYYBK^  Sp믿.Ν ZB^"##?6wtt%"""^3 L ,?1ʞ={^:5kɓ'Fv&8uhd˳G;""D ..6;c8gVM6ܩg=ɗŨ%@pYDsA)%{ p%IENDB`fcitx-rime-master/data/rime-im.svg000066400000000000000000000231061442203361500174110ustar00rootroot00000000000000 image/svg+xml fcitx-rime-master/data/rime-latin.png000066400000000000000000000033221442203361500200760ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<OIDATh՚]lTE~–GB6EKAI[K+K#D/>0J-J64AX@5CwQ3s93gfΜyƤZtY iRtG)|(0ni[|6lNH߅-bItuuq M6_HٳgO6CCCAƁJۅD% ##͛S󆢢"֭[gZ_4~zf͚ectcí[ɝi萖%829rX,f+&hrW _k@jO<V[]nn.uuuFS;FZ[[QJ(FD.$x6 6MOKK }}}\~V_VVFqq& ^u3PLXp!`pM^jNnͤ/7c@ūGߍÈ&kDȫ2 @u:#~ z{{m|Ŕi2xNj>}v̟?ǵkl'OthY̞ȫI2K[[NaK]]\!"+(" // 68Y  000@wwԩԘ<͂0֒oc|2ZubI9JNɀ@cY:4`V_@.8uvk׮؀f56&:o%3w\m ׉ ;wxmFF[3tž}kɓ]B!;79y!]vqaJEww'0[)ЉхDd*B :px@ҥK)--} ˚s=րm􇇇inWޱrJ{u8IHR._DReffmOSS 񸪨0H5Dp̙#vE􊮮.,n䘂B"r(8z(6m5}6`yԽā~kca匌 ԅ',SAbbS{!{ZFiiE"s_'s'RَCg}'kg:fF[E$\` "cq}b===|)}]n5k0o~fHϽc|C,IENDB`fcitx-rime-master/data/rime-latin.svg000066400000000000000000000055521442203361500201200ustar00rootroot00000000000000 image/svg+xml A fcitx-rime-master/data/rime-sync.png000066400000000000000000000032631442203361500177470ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<0IDAThmlSUtX ҁ#eؐH K#pb &N6N f|E! B7hzݮir{ss{s34cM Q k k  !l!DZ2}sB 0_I)%N5q'`+ Uǀn4}Jq}!D Lt,YB twwNSSJRJG}',\:rrr"z477uVJ)/'J<+;-ZhԭTUUq-[@p 8,tB@0p`Z;wPVVƽ{Q==)j 20~_\x1!źuRRVVҥKIMMʕ+={۷o+UI)w$K7zsΑ=* =` ??X㡦Ǐ)ϱmٲe444~***x"RʗcQ3 FcbCѰe%R`F!jQPPn)@~LfBdϟb߹s'O)?rHԹR[[ի zt:`J !&o*yRǏG찾ZN:dʔnB`S+)g/0]I&z#R fK^^]4]BUZJ[[sIkװ`Ykk+6mV/++Μ9j%==`6⵨䝀d2qyGرzzzXf > 555---|K'@JII ǎ####!0AY,zzz"ٽ{7N3-33ɢE&s|iӦ[Vl6*_͛<à߿QNN ;BCpb{ 8v2&C륳SvKqUVX͛5k!K9< p!:J`mx<\,L&>v;'O,4P@$FtrXvR~ #Bρ58q"jYƍfn7R8rmtݔR__*l:t˗+j ! 6 Hii)FѨo… r% ڰ)uܧ)qwE@s3}"?*vK)ßG`?8+G600FRǴMIENDB`fcitx-rime-master/data/rime-sync.svg000066400000000000000000000061131442203361500177570ustar00rootroot00000000000000 image/svg+xml fcitx-rime-master/data/rime.png000066400000000000000000000027141442203361500167750ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IIDAThMh[3?&LE1 bRTtT\ t!E)lh2QP+ .*]-AL1f2?wMMsL{_87Μ39#Co⧀2B!~:]u) p}:ߪAH$<6ַE? _IEc5gQP%U@>ghhOP8r?T*W^166i~|:Q@<~`Dv}`9Dz- sK뺌2888m0S*f7MT*EWW}}}s4a4M֯_ǏijjUUkڇB!ીZ8NUU$Iqhoo/cccY͛7K u! p̙faܻwx}D"8ܽ{T(b<>/^{<X^N<۷o9x ۷oGuEAe&'')ɭ[%K߿i8qkz&Ymx!7n`rr˗/״[M꾂2NtՅHT>߿8477 mO>ɥK&߰%K`,W>dYFUUr'qYn:eVhH+j^fȲmh y1BTH/7.b蛏ﲰUoFV|P,qYiiiˍ [hƎ;Xt)XET*ij*p~< x vu]ǩ2<<;۶+T*|rܹ㉇'mo>^xQuMTU2ɕ\ZASS׮]D޳Ol2V\I$!FFN8& U`P((SU%hHիp'\xS5#011s';̸o*ͺWL?+1)`̬2IENDB`fcitx-rime-master/data/rime.svg000066400000000000000000000156131442203361500170120ustar00rootroot00000000000000 image/svg+xml fcitx-rime-master/data/rime128.png000066400000000000000000000152611442203361500172310ustar00rootroot00000000000000PNG  IHDRAzTXtRaw profile type exifxݚYVߵ,A󕖣 wU4`c! 44U*?){obkΖXco>Wgz>+~~yk~뾾~zA~qS#}] z?zv~ރ9 7~,_,>8.bμ~!x}m}(C]~xƿ[{/k?nY^ZD*{S/[9qa'ܖ'Y,lq0$a\uhotmp%F ^ ')Q?j0Zmwg 3OǕ1Oٛ:Z+嵦YfNr)pi:=nCbL'̅ 6ۯ!zroN%d"N,2` eg{q8Xw2RәMnB$x{ĝk}@ H!$ 5c~$jI)$Z9s$H$YDTi%XREJ)kRUL-֘1tuC=ܥ^{ψ#d;kxN$iȘf3[\^39ɓ549i`\Χ^sofRQW3D挦=lQIvԆ q*͗ǯo/hǼI ]#¬6z7%j(k)&m9e媥>)Ô=L;-mDJlI LѺ'w(%D|~n4?IOfnRYd&5IqRgN+7n6;d ov/%o%Yq!ͳ9 +=S0rc̷uk!:"^9Y)ڹӷ;ٶ3藯m _- JJ\G} m5jeci볕>7 hٻ/{ DCUNioΝ@eôTMG'I+e^u#apri.kgy6 c&nyM'wi.곞7g(Ԉi]=7 ߖ ,c15]q$݃8hxYBDg9h 7bWd M@USV.ٍ.RxQf\ {uD_AfԳP"!{+h:ۣbUVg{%oMiݲ@mϐMnxOvaU{>JXEvբ/,(MP З׹v VDS#ƐEbJK%Duz\U,}2$ ,Y[ҷ`@ E$FFgQK34$ft~ۚ]{M9`-a; sxJ'rz4ʻtb3j(_*廎U<2oB~)㫈?l{SU>VUFW RTvU@LY/B 4&&qߵ֣8jJ09S3Q{Ph@[s^[͵0GJU2"?(H#%>)5E"NHď? T犢>7*ĦnVgh*%9 t9f!lB|(uv y>j3ƀcSCiO+A e-wUٳ@ѧglS + PDsD9sT.s1GeZ')WTm*ns{-~Ұ^FZHlE<ư/֩mT 1UlATHlfv2iS@JSLscBK(ryׄ ȗ^+Iǿ/ !I죒OZ_k wvpB2M+ZqK4ǢtsVqO:R΂. k H REdLČ3:,p#裇uN3ع%>p,\FbEeU9-wbs 5`\^ձҽi)Z@t @xKgzMA>>Vوj\$9f!+ؗTEHɨOFW2"-)yJ񤚶ܨǪflGL*R&p+I/4d6Sj]P T$Zՠvu'ME*ί*=PnYsb/H[f8f30M;JDvPߨ{dRNqgFZr>9D6i|S@݇#Oݰa>{;h'w  GxF} 6+$ FbU,t&h,0غxI-`o(Ns5EBz3R2]˽vTҐCJfr bE/1%!S@p Ӧ,2r@n!ej#54UV gt4FW;o>;zE_93fa3ļo e$ ;~:0DH E0.o2Z%B #;j_XatFx1f@t̎|RRW=ld]*SSNEC =断jy\PKq r4'jQyKRgaV.uft5dIQ@4e @nPI_vK}; |SجJd Ec}V~WݧGtŒ'(Lg=OԾ~i[W>khѴrZL R=ᴒ^8Bϴ̘=;zLGAz@ J/{+j~xOC`, rPc31 hc )8 ǥFY Cglf-Ӯ 7R?2Xjňje8fb@؈v 4 9h/e,Ք>/TJՙs}(–0) Q`R:Tժ0bZ˛L׼Ο$}8V驉"04n"LEAiCY,=a͉fRzF2Җ؛+ Qͦ3+ pYiܴ(n?C__k_35?OW j!$0"AX(1b>lENq#y#cS,flQfdݡw+LzVH-M}0^ΎZ`0-8#0ay~)4C:TYxKrz^0zfSKӜYyf;r0p>[疖2z8 )~{uriGU?:d⑩3&qd6sFfkت~ңb{OӪr[5~b7j`c;`1VLPש݇tnE][ 5>DH~IA!Y C r Xk24%E<*Hn2/C/%yy{hx_S>vP'~4Ü}s=U~T5Ƕ7%VkL韓~sǻWon6Yd&5?IOfnR7~M'5te>Śh8Xlӱbjqy_=\j~z@t;Ln M1 pHYs.#.#x?vtIME/9k PLTE  !!!"""###$$$&&&'''((()))+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPRRRSSSTTTUUUWWWYYYZZZ\\\]]]^^^___```aaabbbcccdddeeeggghhhiiijjjkkklllnnnoooppprrrssstttuuuvvvwwwyyy{{{|||}}}~~~ 2x tRNS,IfՂ#bKGDpg!;IDATx_Sen"%a"i%4 eb€B($ 4(+*(0XDB $B2 ڹwln~~ܝ޻bʵMkW:[^F_pȭZoZp`@a7)& b@ CpMـ,DShNK2<&gDP(`ygV @A4*Do! x,Cu.U@|UX*`$E0 _Fp?A0 PL@ [A0I;191ӖYwץxO1\Gp]A&ǠIg˞4];{8T+OP(Ur.\$o[KWNΝmrB% ͼ֛y鳭q;v]f)-`P?NV(R8Y-Uh9^ʹ!_6䱧luwm[TUdb݃{EhQ6߱?Z蚗E}bBz{~27`O9`gDoxZ1@1}j##Ò?MfǞS?8D;ؗ' 1- ؿR^2D7Cb6iHq Pa' )V/?1]]Y!9Қk6Fy!Shc?Ę}<>bI,` KͶJ>s3,qP "&;&J s{yTyh#ضY1q\&ްi(*>Um sr%1$B1ŠǛ1df0ʾB޷|޼y"ZfvFܳfճg,+6:*Q[J>V;4ZN?`-Bsݩ _'Ӯ[3e{Rc8V|A |ӻ%cB4})v/|Z裰!?MM賺|64loRVQMsτޫkRk.jR/(!p 7Qglr捽$oxLs<}9u' *uQb D0]Ę&GgG0SB>o 0owo hziWJ_@D8<6]jh4/ꓥU*B(BclWTyr32,Bә%K?b^V|s|c结;@Vxafv?Ct/IT[&Zi6_yȐm|u. ,:]R3.Nwg8R\)|_902;Ͻ+b@ (Dt$"I,,,,,,,Q`IENDB`fcitx-rime-master/gui/000077500000000000000000000000001442203361500152025ustar00rootroot00000000000000fcitx-rime-master/gui/.gitignore000066400000000000000000000000101442203361500171610ustar00rootroot00000000000000build/ fcitx-rime-master/gui/CMakeLists.txt000066400000000000000000000004261442203361500177440ustar00rootroot00000000000000set(REQUIRED_QT_VERSION 5.1.0) find_package(FcitxQt5WidgetsAddons 1.1.0 REQUIRED) find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core Widgets Concurrent) find_package(Rime REQUIRED) pkg_check_modules(Rime "rime>=1.0.0" REQUIRED IMPORTED_TARGET) add_subdirectory(src) fcitx-rime-master/gui/src/000077500000000000000000000000001442203361500157715ustar00rootroot00000000000000fcitx-rime-master/gui/src/CMakeLists.txt000066400000000000000000000017451442203361500205400ustar00rootroot00000000000000set(FRCU_SRCS Main.cpp ConfigMain.cpp Model.cpp RimeConfigParser.cpp ErrorOverlay.cpp) set(FRCU_HDRS Main.h ConfigMain.h Model.h Common.h RimeConfigParser.h ErrorOverlay.h) set(FRCU_UIS ConfigMain.ui) fcitx_translate_add_sources( ${FRCU_SRCS} ${FRCU_HDRS} ${FRCU_UIS}) add_library(fcitx-rime-config-gui MODULE ${FRCU_SRCS}) set(AUTOGEN_BUILD_DIR "${CMAKE_BINARY_DIR}/gui/src/fcitx-rime-config-gui_autogen/include") file(COPY "${CMAKE_SOURCE_DIR}/gui/src/Common.h" DESTINATION "${AUTOGEN_BUILD_DIR}") set_target_properties(fcitx-rime-config-gui PROPERTIES LINK_FLAGS "-Wl,--no-undefined" AUTOMOC TRUE AUTOUIC TRUE AUTOUIC_OPTIONS "-tr=fcitx_rime::tr2fcitx;--include=Common.h") target_link_libraries(fcitx-rime-config-gui Qt5::Widgets Qt5::Concurrent FcitxQt5::WidgetsAddons PkgConfig::Rime ${FCITX4_FCITX_UTILS_LIBRARIES} ${FCITX4_FCITX_CONFIG_LIBRARIES}) install(TARGETS fcitx-rime-config-gui DESTINATION ${FCITX4_ADDON_INSTALL_DIR}/qt) fcitx-rime-master/gui/src/Common.h000066400000000000000000000023531442203361500173750ustar00rootroot00000000000000// // Copyright (C) 2018~2018 by xuzhao9 // // 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; see the file COPYING. If not, // see . // #ifndef FCITX_RIME_CONFIG_COMMON_H #define FCITX_RIME_CONFIG_COMMON_H #include #include #define _(x) QString::fromUtf8(dgettext("fcitx-rime", x)) #define FCITX_RIME_ARRAY_SIZE(array) (sizeof(array) / sizeof(array[0])) namespace fcitx_rime { inline QString tr2fcitx(const char *message, const char *comment = nullptr) { if (message && message[0]) { return QString(_(message)); } else { return QString(); } } }; // namespace fcitx_rime #endif // _FCITXRIMECONFIGCOMMON_H_ fcitx-rime-master/gui/src/ConfigMain.cpp000066400000000000000000000462031442203361500205140ustar00rootroot00000000000000// // Copyright (C) 2018~2018 by xuzhao9 // // 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; see the file COPYING. If not, // see . // #include #include "Common.h" #include "ConfigMain.h" #include #include #include #include #include #include #include #include namespace fcitx_rime { ConfigMain::ConfigMain(QWidget *parent) : FcitxQtConfigUIWidget(parent), model(new RimeConfigDataModel()), inError(false) { // Setup UI setMinimumSize(680, 500); setupUi(this); overlay = new ErrorOverlay(this); verticallayout_general->setAlignment(Qt::AlignTop); addIMButton->setIcon(QIcon::fromTheme("go-next")); removeIMButton->setIcon(QIcon::fromTheme("go-previous")); moveUpButton->setIcon(QIcon::fromTheme("go-up")); moveDownButton->setIcon(QIcon::fromTheme("go-down")); // configureButton->setIcon(QIcon::fromTheme("help-about")); // listViews for currentIM and availIM QStandardItemModel *listModel = new QStandardItemModel(this); currentIMView->setModel(listModel); QStandardItemModel *availIMModel = new QStandardItemModel(this); availIMView->setModel(availIMModel); // Shortcuts Tab connect(cand_cnt_spinbox, QOverload::of(&QSpinBox::valueChanged), this, &ConfigMain::stateChanged); connect(shift_l_combo, QOverload::of(&QComboBox::currentIndexChanged), this, &ConfigMain::stateChanged); connect(shift_r_combo, QOverload::of(&QComboBox::currentIndexChanged), this, &ConfigMain::stateChanged); QList keywgts = general_tab->findChildren(); for (size_t i = 0; i < keywgts.size(); i++) { connect(keywgts[i], &FcitxQtKeySequenceWidget::keySequenceChanged, this, &ConfigMain::keytoggleChanged); } // Schemas Tab connect(removeIMButton, &QPushButton::clicked, this, &ConfigMain::removeIM); connect(addIMButton, &QPushButton::clicked, this, &ConfigMain::addIM); connect(moveUpButton, &QPushButton::clicked, this, &ConfigMain::moveUpIM); connect(moveDownButton, &QPushButton::clicked, this, &ConfigMain::moveDownIM); connect(availIMView->selectionModel(), &QItemSelectionModel::currentChanged, this, &ConfigMain::availIMSelectionChanged); connect(currentIMView->selectionModel(), &QItemSelectionModel::currentChanged, this, &ConfigMain::activeIMSelectionChanged); if(!yamlToModel()) { // Load data from yaml disableUi("Failed to load Rime config or api. Please check your Rime config or installation."); } else { modelToUi(); } } ConfigMain::~ConfigMain() { delete model; } void ConfigMain::keytoggleChanged() { stateChanged(); } // SLOTs void ConfigMain::stateChanged() { emit changed(true); } void ConfigMain::focusSelectedIM(const QString im_name) { // search enabled IM first int sz = currentIMView->model()->rowCount(); for (int i = 0; i < sz; i++) { QModelIndex ind = currentIMView->model()->index(i, 0); const QString name = currentIMView->model()->data(ind, Qt::DisplayRole).toString(); if (name == im_name) { currentIMView->setCurrentIndex(ind); currentIMView->setFocus(); return; } } // if not found, search avali IM list sz = availIMView->model()->rowCount(); for (int i = 0; i < sz; i++) { QModelIndex ind = availIMView->model()->index(i, 0); const QString name = availIMView->model()->data(ind, Qt::DisplayRole).toString(); if (name == im_name) { availIMView->setCurrentIndex(ind); availIMView->setFocus(); return; } } } void ConfigMain::addIM() { if (availIMView->currentIndex().isValid()) { const QString uniqueName = availIMView->currentIndex().data(Qt::DisplayRole).toString(); int largest = 0; int find = -1; for (size_t i = 0; i < model->schemas_.size(); i++) { if (model->schemas_[i].name == uniqueName) { find = i; } if (model->schemas_[i].index > largest) { largest = model->schemas_[i].index; } } if (find != -1) { model->schemas_[find].active = true; model->schemas_[find].index = largest + 1; } model->sortSchemas(); updateIMList(); focusSelectedIM(uniqueName); stateChanged(); } } void ConfigMain::removeIM() { if (currentIMView->currentIndex().isValid()) { const QString uniqueName = currentIMView->currentIndex().data(Qt::DisplayRole).toString(); for (size_t i = 0; i < model->schemas_.size(); i++) { if (model->schemas_[i].name == uniqueName) { model->schemas_[i].active = false; model->schemas_[i].index = 0; } } model->sortSchemas(); updateIMList(); focusSelectedIM(uniqueName); stateChanged(); } } void ConfigMain::moveUpIM() { if (currentIMView->currentIndex().isValid()) { const QString uniqueName = currentIMView->currentIndex().data(Qt::DisplayRole).toString(); int cur_index = -1; for (size_t i = 0; i < model->schemas_.size(); i++) { if (model->schemas_[i].name == uniqueName) { cur_index = model->schemas_[i].index; Q_ASSERT(cur_index == (i + 1)); // make sure the schema is sorted } } // can't move up the top schema because the button should be grey if (cur_index == -1 || cur_index == 0) { return; } int temp; temp = model->schemas_[cur_index - 1].index; model->schemas_[cur_index - 1].index = model->schemas_[cur_index - 2].index; model->schemas_[cur_index - 2].index = temp; model->sortSchemas(); updateIMList(); focusSelectedIM(uniqueName); stateChanged(); } } void ConfigMain::moveDownIM() { if (currentIMView->currentIndex().isValid()) { const QString uniqueName = currentIMView->currentIndex().data(Qt::DisplayRole).toString(); int cur_index = -1; for (size_t i = 0; i < model->schemas_.size(); i++) { if (model->schemas_[i].name == uniqueName) { cur_index = model->schemas_[i].index; Q_ASSERT(cur_index == (i + 1)); // make sure the schema is sorted } } // can't move down the bottom schema because the button should be grey if (cur_index == -1 || cur_index == 0) { return; } int temp; temp = model->schemas_[cur_index - 1].index; model->schemas_[cur_index - 1].index = model->schemas_[cur_index].index; model->schemas_[cur_index].index = temp; model->sortSchemas(); updateIMList(); focusSelectedIM(uniqueName); stateChanged(); } } void ConfigMain::availIMSelectionChanged() { if (!availIMView->currentIndex().isValid()) { addIMButton->setEnabled(false); } else { addIMButton->setEnabled(true); } } void ConfigMain::activeIMSelectionChanged() { if (!currentIMView->currentIndex().isValid()) { removeIMButton->setEnabled(false); moveUpButton->setEnabled(false); moveDownButton->setEnabled(false); // configureButton->setEnabled(false); } else { removeIMButton->setEnabled(true); // configureButton->setEnabled(true); if (currentIMView->currentIndex().row() == 0) { moveUpButton->setEnabled(false); } else { moveUpButton->setEnabled(true); } if (currentIMView->currentIndex().row() == currentIMView->model()->rowCount() - 1) { moveDownButton->setEnabled(false); } else { moveDownButton->setEnabled(true); } } } // end of SLOTs QString ConfigMain::icon() { return "fcitx-rime"; } QString ConfigMain::addon() { return "fcitx-rime"; } QString ConfigMain::title() { return _("Fcitx Rime Config GUI Tool"); } void ConfigMain::load() { if(inError) { return; } modelToUi(); } void ConfigMain::disableUi(const char *message) { setEnabled(false); overlay->enable(message); inError = true; } void ConfigMain::setModelFromLayout(QVector &model_keys, QLayout *layout) { QList keys = getKeyWidgetsFromLayout(layout); model_keys.clear(); for (int i = 0; i < keys.size(); i++) { if (!keys[i]->keySequence().isEmpty()) { model_keys.push_back(keys[i]->keySequence()); } } } void ConfigMain::uiToModel() { model->candidate_per_word = cand_cnt_spinbox->value(); setModelFromLayout(model->toggle_keys, horizontallayout_toggle); setModelFromLayout(model->ascii_key, horizontallayout_ascii); setModelFromLayout(model->pgdown_key, horizontallayout_pagedown); setModelFromLayout(model->pgup_key, horizontallayout_pageup); setModelFromLayout(model->trasim_key, horizontallayout_trasim); setModelFromLayout(model->halffull_key, horizontallayout_hfshape); if (model->switch_keys.size() >= 2) { model->switch_keys[0] = textToSwitchKey(shift_l_combo->currentIndex()); model->switch_keys[1] = textToSwitchKey(shift_r_combo->currentIndex()); } // clear cuurent model and save from the ui for (int i = 0; i < model->schemas_.size(); i++) { model->schemas_[i].index = 0; model->schemas_[i].active = false; } QStandardItemModel *qmodel = static_cast(currentIMView->model()); QModelIndex parent; int seqno = 1; for (int r = 0; r < qmodel->rowCount(parent); ++r) { QModelIndex index = qmodel->index(r, 0, parent); QVariant name = qmodel->data(index); for (int i = 0; i < model->schemas_.size(); i++) { if (model->schemas_[i].name == name) { model->schemas_[i].index = seqno++; model->schemas_[i].active = true; } } } model->sortSchemas(); } void ConfigMain::save() { if(inError) { return; } uiToModel(); QFutureWatcher *futureWatcher = new QFutureWatcher(this); futureWatcher->setFuture( QtConcurrent::run(this, &ConfigMain::modelToYaml)); connect(futureWatcher, &QFutureWatcher::finished, this, [this]() { if(inError) { disableUi("Failed to save your preferences into Rime config. Please check your config file manually."); } else { emit changed(false); emit saveFinished(); } }); } QList ConfigMain::getKeyWidgetsFromLayout(QLayout *layout) { int count = layout->count(); QList out; for (int i = 0; i < count; i++) { FcitxQtKeySequenceWidget *widget = qobject_cast( layout->itemAt(i)->widget()); if (widget != NULL) { out.push_back(widget); } } return out; } void ConfigMain::setKeySeqFromLayout(QLayout *layout, QVector &model_keys) { QList keywidgets = getKeyWidgetsFromLayout(layout); Q_ASSERT(keywidgets.size() >= model_keys.size()); for (int i = 0; i < model_keys.size(); i++) { keywidgets[i]->setKeySequence( QKeySequence(FcitxQtKeySequenceWidget::keyFcitxToQt( model_keys[i].sym_, model_keys[i].states_))); } return; } void ConfigMain::setSwitchKey(QComboBox *box, SwitchKeyFunction switch_key) { int index = -1; switch (switch_key) { case SwitchKeyFunction::Noop: index = 0; break; case SwitchKeyFunction::InlineASCII: index = 1; break; case SwitchKeyFunction::CommitText: index = 2; break; case SwitchKeyFunction::CommitCode: index = 3; break; case SwitchKeyFunction::Clear: index = 4; break; }; box->setCurrentIndex(index); } SwitchKeyFunction ConfigMain::textToSwitchKey(int current_index) { switch (current_index) { case 0: return SwitchKeyFunction::Noop; case 1: return SwitchKeyFunction::InlineASCII; case 2: return SwitchKeyFunction::CommitText; case 3: return SwitchKeyFunction::CommitCode; case 4: return SwitchKeyFunction::Clear; default: return SwitchKeyFunction::Noop; } } void ConfigMain::modelToUi() { cand_cnt_spinbox->setValue(model->candidate_per_word); // set shortcut keys setKeySeqFromLayout(horizontallayout_toggle, model->toggle_keys); setKeySeqFromLayout(horizontallayout_pagedown, model->pgdown_key); setKeySeqFromLayout(horizontallayout_pageup, model->pgup_key); setKeySeqFromLayout(horizontallayout_ascii, model->ascii_key); setKeySeqFromLayout(horizontallayout_trasim, model->trasim_key); setKeySeqFromLayout(horizontallayout_hfshape, model->halffull_key); // set switch keys if (model->switch_keys.size() >= 2) { setSwitchKey(shift_l_combo, model->switch_keys[0]); setSwitchKey(shift_r_combo, model->switch_keys[1]); } // Clear both models static_cast(currentIMView->model())->clear(); static_cast(availIMView->model())->clear(); // Set available and enabled input methods for (size_t i = 0; i < model->schemas_.size(); i++) { auto &schema = model->schemas_[i]; if (schema.active) { QStandardItem *active_schema = new QStandardItem(schema.name); active_schema->setEditable(false); auto qmodel = static_cast(currentIMView->model()); qmodel->appendRow(active_schema); } else { QStandardItem *inactive_schema = new QStandardItem(schema.name); inactive_schema->setEditable(false); auto qmodel = static_cast(availIMView->model()); qmodel->appendRow(inactive_schema); } } } void ConfigMain::updateIMList() { auto avail_IMmodel = static_cast(availIMView->model()); auto active_IMmodel = static_cast(currentIMView->model()); avail_IMmodel->removeRows(0, avail_IMmodel->rowCount()); active_IMmodel->removeRows(0, active_IMmodel->rowCount()); for (size_t i = 0; i < model->schemas_.size(); i++) { auto &schema = model->schemas_[i]; if (schema.active) { QStandardItem *active_schema = new QStandardItem(schema.name); active_schema->setEditable(false); active_IMmodel->appendRow(active_schema); } else { QStandardItem *inactive_schema = new QStandardItem(schema.name); inactive_schema->setEditable(false); avail_IMmodel->appendRow(inactive_schema); } } } void ConfigMain::modelToYaml() { config.setPageSize(model->candidate_per_word); std::vector toggleKeys; for (size_t i = 0; i < model->toggle_keys.size(); i++) { toggleKeys.push_back(model->toggle_keys[i].toString()); } config.setToggleKeys(toggleKeys); config.setKeybindings(model->getKeybindings()); config.setSwitchKeys(std::vector( model->switch_keys.begin(), model->switch_keys.end())); // set active schema list std::vector schemaNames; schemaNames.reserve(model->schemas_.size()); for (int i = 0; i < model->schemas_.size(); i++) { if (model->schemas_[i].index == 0) { break; } else { schemaNames.push_back(model->schemas_[i].id.toStdString()); } } config.setSchemas(schemaNames); inError = !(config.sync()); return; } bool ConfigMain::yamlToModel() { // load page size int page_size = 0; bool suc; suc = config.isError(); if(suc) { return false; } suc = config.getPageSize(&page_size); if (suc) { model->candidate_per_word = page_size; } else { model->candidate_per_word = default_page_size; } // load toggle keys auto toggleKeys = config.getToggleKeys(); for (const auto &toggleKey : toggleKeys) { if (!toggleKey.empty()) { // skip the empty keys model->toggle_keys.push_back(FcitxKeySeq(toggleKey.data())); } } // load keybindings auto bindings = config.getKeybindings(); model->setKeybindings(std::move(bindings)); // load switchkeys auto switch_keys = config.getSwitchKeys(); model->switch_keys = QVector(switch_keys.begin(), switch_keys.end()); // load schemas getAvailableSchemas(); return true; } void ConfigMain::getAvailableSchemas() { const char *userPath = RimeGetUserDataDir(); const char *sysPath = RimeGetSharedDataDir(); QSet files; for (auto path : {sysPath, userPath}) { if (!path) { continue; } QDir dir(path); QList entryList = dir.entryList(QStringList("*.schema.yaml"), QDir::Files | QDir::Readable); files.unite(QSet(entryList.begin(), entryList.end())); } auto filesList = files.values(); filesList.sort(); for (const auto &file : filesList) { auto schema = FcitxRimeSchema(); QString fullPath; for (auto path : {userPath, sysPath}) { QDir dir(path); if (dir.exists(file)) { fullPath = dir.filePath(file); break; } } schema.path = fullPath; QFile fd(fullPath); if (!fd.open(QIODevice::ReadOnly)) { continue; } auto yamlData = fd.readAll(); auto name = config.stringFromYAML(yamlData.constData(), "schema/name"); auto id = config.stringFromYAML(yamlData.constData(), "schema/schema_id"); schema.name = QString::fromStdString(name); schema.id = QString::fromStdString(id); schema.index = config.schemaIndex(id.data()); schema.active = static_cast(schema.index); model->schemas_.push_back(schema); } model->sortSchemas(); } }; // namespace fcitx_rime fcitx-rime-master/gui/src/ConfigMain.h000066400000000000000000000045621442203361500201630ustar00rootroot00000000000000// // Copyright (C) 2018~2018 by xuzhao9 // // 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; see the file COPYING. If not, // see . // #ifndef FCITX_RIME_CONFIGMAIN_H #define FCITX_RIME_CONFIGMAIN_H #include #include #include "ErrorOverlay.h" #include "Model.h" #include "RimeConfigParser.h" #include "ui_ConfigMain.h" namespace fcitx_rime { class ConfigMain : public FcitxQtConfigUIWidget, private Ui::MainUI { Q_OBJECT public: explicit ConfigMain(QWidget *parent = 0); QString title() override; ~ConfigMain(); void load() override; void save() override; bool asyncSave() override { return true; } QString addon() override; QString icon() override; public slots: void keytoggleChanged(); void stateChanged(); void addIM(); void removeIM(); void moveUpIM(); void moveDownIM(); void availIMSelectionChanged(); void activeIMSelectionChanged(); private: void disableUi(const char *message); void setFcitxQtKeySeq(char *rime_key, FcitxKeySeq &keyseq); bool yamlToModel(); void uiToModel(); void modelToUi(); void modelToYaml(); void getAvailableSchemas(); void updateIMList(); void focusSelectedIM(const QString im_name); void setSwitchKey(QComboBox *box, SwitchKeyFunction switch_key); SwitchKeyFunction textToSwitchKey(int current_index); QList getKeyWidgetsFromLayout(QLayout *layout); void setKeySeqFromLayout(QLayout *layout, QVector &model_keys); void setModelFromLayout(QVector &model_keys, QLayout *layout); RimeConfigParser config; RimeConfigDataModel *model; ErrorOverlay *overlay; bool inError; }; } // namespace fcitx_rime #endif // FCITX_RIME_CONFIGMAIN_H fcitx-rime-master/gui/src/ConfigMain.ui000066400000000000000000000405461442203361500203530ustar00rootroot00000000000000 MainUI 0 0 500 500 MainWindow Shortcut Call-out Menu false false false Page Up false true false true false true Page Down false true false true false true Half/Full Shape false false false Western/Eastern false false Traditional/Simplified false false Candidate Word Number CandidateWordNumber Left Shift Key Noop Inline ASCII Commit Text Commit Code Clear Right Shift Key Noop Inline ASCII Commit Text Commit Code Clear Schema Qt::Horizontal QSizePolicy::Fixed 20 20 Available Input Schemas: Qt::Vertical 20 40 false false Qt::Vertical 20 40 Active Input Schemas: Qt::Vertical 20 40 false false Qt::Vertical 20 40 <b>Select Input Schema:</b> FcitxQtKeySequenceWidget QWidget
fcitxqtkeysequencewidget.h
fcitx-rime-master/gui/src/ErrorOverlay.cpp000066400000000000000000000060751442203361500211400ustar00rootroot00000000000000/*************************************************************************** * Copyright (C) 2011 by Dario Freddi * * * * 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 . * ***************************************************************************/ #include "ErrorOverlay.h" #include #include #include ErrorOverlay::ErrorOverlay(QWidget *baseWidget, QWidget *parent) : QWidget(parent ? parent : baseWidget->window()), m_BaseWidget(baseWidget), m_enable(false) { setVisible(false); // Build the UI QVBoxLayout *layout = new QVBoxLayout; layout->setSpacing(10); QLabel *pixmap = new QLabel(); pixmap->setPixmap(QIcon::fromTheme("dialog-error").pixmap(64)); m_message = new QLabel(""); pixmap->setAlignment(Qt::AlignHCenter); m_message->setAlignment(Qt::AlignHCenter); layout->addStretch(); layout->addWidget(pixmap); layout->addWidget(m_message); layout->addStretch(); setLayout(layout); // Draw the transparent overlay background QPalette p = palette(); p.setColor(backgroundRole(), QColor(0, 0, 0, 128)); p.setColor(foregroundRole(), Qt::white); setPalette(p); setAutoFillBackground(true); m_BaseWidget->installEventFilter(this); } ErrorOverlay::~ErrorOverlay() { } void ErrorOverlay::enable(const char *errorMessage) { m_message->setText(errorMessage); if(!m_BaseWidget) { return; } // reparent to the current top level widget of the base widget if needed // needed eg. in dock widgets if (parentWidget() != m_BaseWidget->window()) { setParent(m_BaseWidget->window()); } show(); // follow position changes const QPoint topLevelPos = m_BaseWidget->mapTo(window(), QPoint(0, 0)); const QPoint parentPos = parentWidget()->mapFrom(window(), topLevelPos); move(parentPos); m_enable = true; // TODO: hide/scale icon if we don't have enough space resize(m_BaseWidget->size()); } fcitx-rime-master/gui/src/ErrorOverlay.h000066400000000000000000000033661442203361500206050ustar00rootroot00000000000000/*************************************************************************** * Copyright (C) 2011 by Dario Freddi * * * * 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 . * ***************************************************************************/ #ifndef ERROROVERLAY_H #define ERROROVERLAY_H #include #include class ErrorOverlay : public QWidget { Q_OBJECT public: explicit ErrorOverlay(QWidget *baseWidget, QWidget *parent = 0); virtual ~ErrorOverlay(); void enable(const char *errorMessage); private: QWidget *m_BaseWidget; QLabel *m_message; bool m_enable; }; #endif // ERROROVERLAY_H fcitx-rime-master/gui/src/Main.cpp000066400000000000000000000025461442203361500173700ustar00rootroot00000000000000// // Copyright (C) 2018~2018 by xuzhao9 // // 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; see the file COPYING. If not, // see . // #include #include #include "ConfigMain.h" #include "Main.h" // FcitxQtConfigUIPlugin : QObject, FcitxQtConfigUIFactoryInterface RimeConfigParserTool::RimeConfigParserTool(QObject *parent) : FcitxQtConfigUIPlugin(parent) { if (parent == NULL) { } } FcitxQtConfigUIWidget *RimeConfigParserTool::create(const QString &key) { Q_UNUSED(key); return new fcitx_rime::ConfigMain; } QString RimeConfigParserTool::name() { return "rime-config-gui-tool"; } QStringList RimeConfigParserTool::files() { return QStringList("rime/config"); } QString RimeConfigParserTool::domain() { return "fcitx_rime"; } fcitx-rime-master/gui/src/Main.h000066400000000000000000000023641442203361500170330ustar00rootroot00000000000000// // Copyright (C) 2018~2018 by xuzhao9 // // 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; see the file COPYING. If not, // see . // #ifndef FCITX_RIME_MAIN_H #define FCITX_RIME_MAIN_H #include class RimeConfigParserTool : public FcitxQtConfigUIPlugin { Q_OBJECT public: Q_PLUGIN_METADATA(IID "FcitxQtConfigUIFactoryInterface_iid" FILE "fcitx-rime-config.json") explicit RimeConfigParserTool(QObject *parent = 0); QString name() override; QStringList files() override; QString domain() override; FcitxQtConfigUIWidget *create(const QString &key) override; }; #endif // FCITX_RIME_MAIN_H fcitx-rime-master/gui/src/Model.cpp000066400000000000000000000203341442203361500175370ustar00rootroot00000000000000// // Copyright (C) 2018~2018 by xuzhao9 // // 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; see the file COPYING. If not, // see . // #include "Model.h" #include "Common.h" #include "keynametable.h" #include #include #include namespace fcitx_rime { void RimeConfigDataModel::sortSchemas() { std::sort(schemas_.begin(), schemas_.end(), [](const FcitxRimeSchema &a, const FcitxRimeSchema &b) -> bool { // if both inactive, sort by id if (a.index == 0 && b.index == 0) { return a.id < b.id; } if (a.index == 0) { return false; } if (b.index == 0) { return true; } return (a.index < b.index); }); } void RimeConfigDataModel::sortKeys() { sortSingleKeySet(toggle_keys); sortSingleKeySet(ascii_key); sortSingleKeySet(trasim_key); sortSingleKeySet(halffull_key); sortSingleKeySet(pgup_key); sortSingleKeySet(pgdown_key); } void RimeConfigDataModel::sortSingleKeySet(QVector &keys) { std::sort(keys.begin(), keys.end(), [](const FcitxKeySeq &a, const FcitxKeySeq &b) -> bool { auto qa = QKeySequence(FcitxQtKeySequenceWidget::keyFcitxToQt( a.sym_, a.states_)); auto qb = QKeySequence(FcitxQtKeySequenceWidget::keyFcitxToQt( b.sym_, b.states_)); return qa.toString().length() < qb.toString().length(); }); } void RimeConfigDataModel::setKeybindings(std::vector bindings) { for (const auto &binding : bindings) { if (binding.accept.empty()) { continue; } if (binding.action == "ascii_mode") { FcitxKeySeq seq(binding.accept); ascii_key.push_back(seq); } else if (binding.action == "full_shape") { FcitxKeySeq seq(binding.accept); halffull_key.push_back(seq); } else if (binding.action == "simplification") { FcitxKeySeq seq(binding.accept); trasim_key.push_back(seq); } else if (binding.action == "Page_Up") { FcitxKeySeq seq(binding.accept); pgup_key.push_back(seq); } else if (binding.action == "Page_Down") { FcitxKeySeq seq(binding.accept); pgdown_key.push_back(seq); } } sortKeys(); } std::vector RimeConfigDataModel::getKeybindings() { std::vector out; // Fill ascii_key for (auto &ascii : ascii_key) { Keybinding binding; binding.action = "ascii_mode"; binding.when = KeybindingCondition::Always; binding.type = KeybindingType::Toggle; binding.accept = ascii.toString(); out.push_back(binding); } // Fill trasim_key for (auto &trasim : trasim_key) { Keybinding binding; binding.action = "simplification"; binding.when = KeybindingCondition::Always; binding.type = KeybindingType::Toggle; binding.accept = trasim.toString(); out.push_back(binding); } // Fill halffull_key for (auto &halffull : halffull_key) { Keybinding binding; binding.action = "full_shape"; binding.when = KeybindingCondition::Always; binding.type = KeybindingType::Toggle; binding.accept = halffull.toString(); out.push_back(binding); } // Fill pgup_key for (auto &pgup : pgup_key) { Keybinding binding; binding.action = "Page_Up"; binding.when = KeybindingCondition::HasMenu; binding.type = KeybindingType::Send; binding.accept = pgup.toString(); out.push_back(binding); } // Fill pgdown_key for (auto &pgup : pgdown_key) { Keybinding binding; binding.action = "Page_Down"; binding.when = KeybindingCondition::HasMenu; binding.type = KeybindingType::Send; binding.accept = pgup.toString(); out.push_back(binding); } return out; } // default constructor FcitxKeySeq::FcitxKeySeq() {} // convert keyseq to state and sym FcitxKeySeq::FcitxKeySeq(const char *keyseq) { KeyStates states; const char *p = keyseq; const char *lastModifier = keyseq; const char *found = nullptr; // use macro to check modifiers #define _CHECK_MODIFIER(NAME, VALUE) \ if ((found = strstr(p, NAME))) { \ states |= fcitx::KeyState::VALUE; \ if (found + strlen(NAME) > lastModifier) { \ lastModifier = found + strlen(NAME); \ } \ } _CHECK_MODIFIER("CTRL_", Ctrl) _CHECK_MODIFIER("Control+", Ctrl) _CHECK_MODIFIER("ALT_", Alt) _CHECK_MODIFIER("Alt+", Alt) _CHECK_MODIFIER("SHIFT_", Shift) _CHECK_MODIFIER("Shift+", Shift) _CHECK_MODIFIER("SUPER_", Super) _CHECK_MODIFIER("Super+", Super) #undef _CHECK_MODIFIER sym_ = keySymFromString(lastModifier); states_ = states; } KeySym FcitxKeySeq::keySymFromString(const char *keyString) { auto value = std::lower_bound( keyValueByNameOffset, keyValueByNameOffset + FCITX_RIME_ARRAY_SIZE(keyValueByNameOffset), keyString, [](const uint32_t &idx, const std::string &str) { return keyNameList[&idx - keyValueByNameOffset] < str; }); if (value != keyValueByNameOffset + FCITX_RIME_ARRAY_SIZE(keyValueByNameOffset) && strcmp(keyString, keyNameList[value - keyValueByNameOffset]) == 0) { return static_cast(*value); } return FcitxKey_None; } std::string FcitxKeySeq::keySymToString(KeySym sym) const { const KeyNameOffsetByValue *result = std::lower_bound( keyNameOffsetByValue, keyNameOffsetByValue + FCITX_RIME_ARRAY_SIZE(keyNameOffsetByValue), sym, [](const KeyNameOffsetByValue &item, KeySym key) { return item.sym < key; }); if (result != keyNameOffsetByValue + FCITX_RIME_ARRAY_SIZE(keyNameOffsetByValue) && result->sym == sym) { return keyNameList[result->offset]; } return std::string(); } // convert QKeySequence to state and sym FcitxKeySeq::FcitxKeySeq(const QKeySequence qkey) { int sym = 0; uint states = 0; int qkeycode = static_cast(qkey[0]); FcitxQtKeySequenceWidget::keyQtToFcitx( qkeycode, FcitxQtModifierSide::MS_Unknown, sym, states); sym_ = static_cast(sym); states_ = static_cast(states); } // convert to Rime X11 style string std::string FcitxKeySeq::toString() const { auto sym = sym_; if (sym == FcitxKey_None) { return std::string(); } if (sym == FcitxKey_ISO_Left_Tab) { sym = FcitxKey_Tab; } auto key = keySymToString(sym); if (key.empty()) { return std::string(); } std::string str; #define _APPEND_MODIFIER_STRING(STR, VALUE) \ if (states_ & fcitx::KeyState::VALUE) { \ str += STR; \ } _APPEND_MODIFIER_STRING("Control+", Ctrl) _APPEND_MODIFIER_STRING("Alt+", Alt) _APPEND_MODIFIER_STRING("Shift+", Shift) _APPEND_MODIFIER_STRING("Super+", Super) #undef _APPEND_MODIFIER_STRING str += key; return str; } } // namespace fcitx_rime fcitx-rime-master/gui/src/Model.h000066400000000000000000000044161442203361500172070ustar00rootroot00000000000000// // Copyright (C) 2018~2018 by xuzhao9 // // 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; see the file COPYING. If not, // see . // #ifndef FCITX_RIME_MODEL_H #define FCITX_RIME_MODEL_H #include "RimeConfigParser.h" #include "keysym.h" #include "keysymgen.h" #include #include #include #include static constexpr int max_shortcuts = 3; static constexpr int default_page_size = 5; namespace fcitx_rime { typedef QFlags KeyStates; typedef FcitxKeySym KeySym; class FcitxKeySeq { public: KeyStates states_; KeySym sym_; FcitxKeySeq(); FcitxKeySeq(const char *keyseq); FcitxKeySeq(const std::string &keyseq) : FcitxKeySeq(keyseq.data()) {} FcitxKeySeq(const QKeySequence qkey); std::string toString() const; std::string keySymToString(KeySym sym) const; KeySym keySymFromString(const char *keyString); }; class FcitxRimeSchema { public: QString path; QString id; QString name; int index; // index starts from 1, 0 means not enabled bool active; }; class RimeConfigDataModel { public: QVector toggle_keys; int candidate_per_word; QVector switch_keys; QVector schemas_; QVector ascii_key; QVector trasim_key; QVector halffull_key; QVector pgup_key; QVector pgdown_key; void setKeybindings(const std::vector bindings); std::vector getKeybindings(); void sortSchemas(); void sortKeys(); private: void sortSingleKeySet(QVector &keys); }; } // namespace fcitx_rime #endif // FCITX_RIME_MODEL_H fcitx-rime-master/gui/src/RimeConfigParser.cpp000066400000000000000000000334201442203361500216760ustar00rootroot00000000000000// // Copyright (C) 2018~2018 by xuzhao9 // Copyright (C) 2018~2018 by Weng Xuetian // // 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; see the file COPYING. If not, // see . // #include "RimeConfigParser.h" #include #include #include namespace fcitx_rime { RimeConfigParser::RimeConfigParser() : api(rime_get_api()), default_conf({0}), inError(false) { RimeModule *module = api->find_module("levers"); if (!module) { inError = true; } else { levers = (RimeLeversApi *)module->get_api(); start(true); } } RimeConfigParser::~RimeConfigParser() { api->finalize(); } bool RimeConfigParser::isError() { return inError; } bool RimeConfigParser::start(bool firstRun) { bool suc; char *user_path = NULL; FILE *fp = FcitxXDGGetFileUserWithPrefix(fcitx_rime_dir_prefix, ".place_holder", "w", NULL); if (fp) { fclose(fp); } FcitxXDGGetFileUserWithPrefix(fcitx_rime_dir_prefix, "", nullptr, &user_path); RIME_STRUCT(RimeTraits, fcitx_rime_traits); fcitx_rime_traits.shared_data_dir = RIME_DATA_DIR; fcitx_rime_traits.user_data_dir = user_path; fcitx_rime_traits.distribution_name = "Rime"; fcitx_rime_traits.distribution_code_name = "fcitx-rime-config"; fcitx_rime_traits.distribution_version = "0.1.0"; fcitx_rime_traits.app_name = "rime.fcitx-rime-config"; if (firstRun) { api->setup(&fcitx_rime_traits); } default_conf = {0}; api->initialize(&fcitx_rime_traits); settings = levers->custom_settings_init("default", "rime_patch"); suc = levers->load_settings(settings); if(!suc) { return false; } suc = levers->settings_get_config(settings, &default_conf); if(!suc) { return false; } free(user_path); return true; } void RimeConfigParser::setToggleKeys(const std::vector &keys) { api->config_clear(&default_conf, "switcher/hotkeys"); api->config_create_list(&default_conf, "switcher/hotkeys"); RimeConfigIterator iterator; api->config_begin_list(&iterator, &default_conf, "switcher/hotkeys"); api->config_next(&iterator); for (size_t i = 0; i < keys.size(); i++) { api->config_next(&iterator); api->config_set_string(&default_conf, iterator.path, keys[i].data()); } api->config_end(&iterator); } std::vector RimeConfigParser::getToggleKeys() { std::vector result; listForeach(&default_conf, "switcher/hotkeys", [=, &result](RimeConfig *config, const char *path) { auto str = api->config_get_cstring(config, path); if (str) { result.push_back(str); } return true; }); return result; } const char *keyBindingConditionToString(KeybindingCondition condition) { switch (condition) { case KeybindingCondition::Composing: return "composing"; case KeybindingCondition::HasMenu: return "has_menu"; case KeybindingCondition::Always: return "always"; case KeybindingCondition::Paging: return "paging"; } return ""; } KeybindingCondition keyBindingConditionFromString(const char *str) { if (strcmp(str, "composing") == 0) { return KeybindingCondition::Composing; } else if (strcmp(str, "has_menu") == 0) { return KeybindingCondition::HasMenu; } else if (strcmp(str, "paging") == 0) { return KeybindingCondition::Paging; } else if (strcmp(str, "always") == 0) { return KeybindingCondition::Always; } return KeybindingCondition::Composing; } const char *keybindingTypeToString(KeybindingType type) { switch (type) { case KeybindingType::Send: return "send"; case KeybindingType::Select: return "select"; case KeybindingType::Toggle: return "toggle"; } return ""; } const char *switchKeyFunctionToString(SwitchKeyFunction type) { switch (type) { case SwitchKeyFunction::Noop: return "noop"; case SwitchKeyFunction::InlineASCII: return "inline_ascii"; case SwitchKeyFunction::CommitText: return "commit_text"; case SwitchKeyFunction::CommitCode: return "commit_code"; case SwitchKeyFunction::Clear: return "clear"; } return ""; } SwitchKeyFunction switchKeyFunctionFromString(const char *str) { if (strcmp(str, "noop") == 0) { return SwitchKeyFunction::Noop; } else if (strcmp(str, "inline_ascii") == 0) { return SwitchKeyFunction::InlineASCII; } else if (strcmp(str, "commit_text")) { return SwitchKeyFunction::CommitText; } else if (strcmp(str, "commit_code")) { return SwitchKeyFunction::CommitCode; } else if (strcmp(str, "clear")) { return SwitchKeyFunction::Clear; } return SwitchKeyFunction::Noop; } void RimeConfigParser::setKeybindings(const std::vector &bindings) { RimeConfig copy_config = {0}; RimeConfig copy_config_map = {0}; RimeConfigIterator iterator; RimeConfigIterator copy_iterator; api->config_init(©_config); api->config_create_list(©_config, "key_binder/bindings"); api->config_begin_list(&iterator, &default_conf, "key_binder/bindings"); api->config_begin_list(©_iterator, ©_config, "key_binder/bindings"); while (!copy_iterator.path) { api->config_next(©_iterator); } while (api->config_next(&iterator)) { RimeConfig map = {0}; const char *send_key = NULL; api->config_get_item(&default_conf, iterator.path, &map); send_key = api->config_get_cstring(&map, "send"); if (!send_key) { send_key = api->config_get_cstring(&map, "toggle"); } if (!send_key) { send_key = api->config_get_cstring(&map, "select"); } if (strcmp(send_key, "Page_Up") && strcmp(send_key, "Page_Down") && strcmp(send_key, "ascii_mode") && strcmp(send_key, "full_shape") && strcmp(send_key, "simplification")) { api->config_set_item(©_config, copy_iterator.path, &map); api->config_next(©_iterator); } }; api->config_end(&iterator); for (auto &binding : bindings) { RimeConfig map = {0}; api->config_init(&map); api->config_set_string(&map, "accept", binding.accept.data()); api->config_set_string(&map, "when", keyBindingConditionToString(binding.when)); api->config_set_string(&map, keybindingTypeToString(binding.type), binding.action.data()); api->config_set_item(©_config, copy_iterator.path, &map); api->config_next(©_iterator); } api->config_end(©_iterator); api->config_get_item(©_config, "key_binder/bindings", ©_config_map); api->config_set_item(&default_conf, "key_binder/bindings", ©_config_map); } void RimeConfigParser::setPageSize(int page_size) { api->config_set_int(&default_conf, "menu/page_size", page_size); } bool RimeConfigParser::getPageSize(int *page_size) { return api->config_get_int(&default_conf, "menu/page_size", page_size); } std::vector RimeConfigParser::getKeybindings() { std::vector result; listForeach(&default_conf, "key_binder/bindings", [=, &result](RimeConfig *config, const char *path) { RimeConfig map = {0}; api->config_get_item(config, path, &map); auto when = api->config_get_cstring(&map, "when"); if (!when) { return false; } Keybinding binding; binding.when = keyBindingConditionFromString(when); auto accept = api->config_get_cstring(&map, "accept"); if (!accept) { return false; } binding.accept = accept; auto action = api->config_get_cstring(&map, "send"); if (action) { binding.type = KeybindingType::Send; } else { action = api->config_get_cstring(&map, "toggle"); } if (action) { binding.type = KeybindingType::Toggle; } else { action = api->config_get_cstring(&map, "select"); binding.type = KeybindingType::Select; } if (!action) { return false; } binding.action = action; result.push_back(std::move(binding)); return true; }); return result; } void RimeConfigParser::listForeach( RimeConfig *config, const char *key, std::function callback) { size_t size = RimeConfigListSize(config, key); if (!size) { return; } RimeConfigIterator iterator; RimeConfigBeginList(&iterator, config, key); for (auto i = 0; i < size; i++) { RimeConfigNext(&iterator); if (!callback(config, iterator.path)) { break; } } RimeConfigEnd(&iterator); } bool RimeConfigParser::sync() { int page_size; bool suc; RimeConfig hotkeys = {0}; RimeConfig keybindings = {0}; RimeConfig schema_list = {0}; std::string yaml; api->config_get_int(&default_conf, "menu/page_size", &page_size); levers->customize_int(settings, "menu/page_size", page_size); api->config_get_item(&default_conf, "switcher/hotkeys", &hotkeys); levers->customize_item(settings, "switcher/hotkeys", &hotkeys); api->config_get_item(&default_conf, "key_binder/bindings", &keybindings); levers->customize_item(settings, "key_binder/bindings", &keybindings); levers->customize_string( settings, "ascii_composer/switch_key/Shift_L", api->config_get_cstring(&default_conf, "ascii_composer/switch_key/Shift_L")); levers->customize_string( settings, "ascii_composer/switch_key/Shift_R", api->config_get_cstring(&default_conf, "ascii_composer/switch_key/Shift_R")); /* Concatenate all active schemas */ for (const auto &schema : schema_id_list) { yaml += "- { schema: " + schema + " } \n"; } api->config_load_string(&schema_list, yaml.c_str()); levers->customize_item(settings, "schema_list", &schema_list); suc = levers->save_settings(settings); if(!suc) { return false; } levers->custom_settings_destroy(settings); suc = api->start_maintenance(true); // Full check mode if(!suc) { return false; } api->finalize(); return start(false); } std::string RimeConfigParser::stringFromYAML(const char *yaml, const char *attr) { RimeConfig rime_schema_config = {0}; api->config_load_string(&rime_schema_config, yaml); auto str = api->config_get_cstring(&rime_schema_config, attr); std::string result; if (str) { result = str; } return result; } void RimeConfigParser::setSchemas(const std::vector &schemas) { schema_id_list = schemas; return; } int RimeConfigParser::schemaIndex(const char *schema_id) { int idx = 0; bool found = false; listForeach(&default_conf, "schema_list", [=, &idx, &found](RimeConfig *config, const char *path) { RimeConfig map = {0}; this->api->config_get_item(config, path, &map); auto schema = this->api->config_get_cstring(&map, "schema"); /* This schema is enabled in default */ if (schema && strcmp(schema, schema_id) == 0) { found = true; return false; } idx++; return true; }); return found ? (idx + 1) : 0; } std::vector RimeConfigParser::getSwitchKeys() { std::vector out; const char *shift_l = NULL, *shift_r = NULL; shift_l = api->config_get_cstring(&default_conf, "ascii_composer/switch_key/Shift_L"); shift_r = api->config_get_cstring(&default_conf, "ascii_composer/switch_key/Shift_R"); out.push_back(switchKeyFunctionFromString(shift_l)); out.push_back(switchKeyFunctionFromString(shift_r)); return out; } void RimeConfigParser::setSwitchKeys( const std::vector &switch_keys) { if (switch_keys.size() < 2) { return; } api->config_set_string(&default_conf, "ascii_composer/switch_key/Shift_L", switchKeyFunctionToString(switch_keys[0])); api->config_set_string(&default_conf, "ascii_composer/switch_key/Shift_R", switchKeyFunctionToString(switch_keys[1])); return; } } // namespace fcitx_rime fcitx-rime-master/gui/src/RimeConfigParser.h000066400000000000000000000051041442203361500213410ustar00rootroot00000000000000// // Copyright (C) 2018~2018 by xuzhao9 // Copyright (C) 2018~2018 by Weng Xuetian // // 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; see the file COPYING. If not, // see . // #ifndef FCITX_RIME_CONFIG_H #define FCITX_RIME_CONFIG_H #include #include #include #include static constexpr const char *fcitx_rime_dir_prefix = "rime"; static constexpr const char *fcitx_rime_schema_suffix = ".schema.yaml"; namespace fcitx_rime { enum class KeybindingCondition { Composing, HasMenu, Paging, Always, }; enum class KeybindingType { Send, Toggle, Select, }; enum class SwitchKeyFunction { Noop, InlineASCII, CommitText, CommitCode, Clear, }; struct Keybinding { KeybindingCondition when; std::string accept; KeybindingType type; std::string action; }; class RimeConfigParser { public: RimeConfigParser(); ~RimeConfigParser(); bool isError(); bool sync(); void setSwitchKeys(const std::vector &switch_keys); std::vector getSwitchKeys(); void setToggleKeys(const std::vector &keys); std::vector getToggleKeys(); void setKeybindings(const std::vector &bindings); std::vector getKeybindings(); void setPageSize(int page_size); bool getPageSize(int *page_size); std::string stringFromYAML(const char *yaml, const char *attr); void setSchemas(const std::vector &schemas); int schemaIndex(const char *schema); private: bool start(bool firstRun = false); static void listForeach(RimeConfig *config, const char *key, std::function); RimeApi *api; RimeLeversApi *levers; RimeCustomSettings *settings; RimeConfig default_conf; std::vector schema_id_list; bool inError; }; } // namespace fcitx_rime #endif // FCITX_RIME_CONFIG_H fcitx-rime-master/gui/src/fcitx-rime-config.json000066400000000000000000000000041442203361500221700ustar00rootroot00000000000000{ } fcitx-rime-master/gui/src/keynametable.h000066400000000000000000002653031442203361500206140ustar00rootroot00000000000000/* * Copyright (C) 2015~2015 by CSSlayer * wengxt@gmail.com * Copyright (C) 2017 Modified by xzhao * i@xuzhao.net * * 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 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; see the file COPYING. If not, * see . */ #ifndef _FCITX_UTILS_KEYNAMETABLE_H_ #define _FCITX_UTILS_KEYNAMETABLE_H_ #include #ifdef __GNUC__ #define _FCITX_UNUSED_ __attribute__((__unused__)) #else #define _FCITX_UNUSED_ #endif #ifdef __cplusplus extern "C" { #endif static const char *keyNameList[] _FCITX_UNUSED_ = { "0", "1", "2", "3", "3270_AltCursor", "3270_Attn", "3270_BackTab", "3270_ChangeScreen", "3270_Copy", "3270_CursorBlink", "3270_CursorSelect", "3270_DeleteWord", "3270_Duplicate", "3270_Enter", "3270_EraseEOF", "3270_EraseInput", "3270_ExSelect", "3270_FieldMark", "3270_Ident", "3270_Jump", "3270_KeyClick", "3270_Left2", "3270_PA1", "3270_PA2", "3270_PA3", "3270_Play", "3270_PrintScreen", "3270_Quit", "3270_Record", "3270_Reset", "3270_Right2", "3270_Rule", "3270_Setup", "3270_Test", "4", "5", "6", "7", "8", "9", "A", "AE", "Aacute", "Abelowdot", "Abreve", "Abreveacute", "Abrevebelowdot", "Abrevegrave", "Abrevehook", "Abrevetilde", "AccessX_Enable", "AccessX_Feedback_Enable", "Acircumflex", "Acircumflexacute", "Acircumflexbelowdot", "Acircumflexgrave", "Acircumflexhook", "Acircumflextilde", "AddFavorite", "Adiaeresis", "Agrave", "Ahook", "Alt_L", "Alt_R", "Amacron", "Aogonek", "ApplicationLeft", "ApplicationRight", "Arabic_0", "Arabic_1", "Arabic_2", "Arabic_3", "Arabic_4", "Arabic_5", "Arabic_6", "Arabic_7", "Arabic_8", "Arabic_9", "Arabic_ain", "Arabic_alef", "Arabic_alefmaksura", "Arabic_beh", "Arabic_comma", "Arabic_dad", "Arabic_dal", "Arabic_damma", "Arabic_dammatan", "Arabic_ddal", "Arabic_farsi_yeh", "Arabic_fatha", "Arabic_fathatan", "Arabic_feh", "Arabic_fullstop", "Arabic_gaf", "Arabic_ghain", "Arabic_ha", "Arabic_hah", "Arabic_hamza", "Arabic_hamza_above", "Arabic_hamza_below", "Arabic_hamzaonalef", "Arabic_hamzaonwaw", "Arabic_hamzaonyeh", "Arabic_hamzaunderalef", "Arabic_heh", "Arabic_heh_doachashmee", "Arabic_heh_goal", "Arabic_jeem", "Arabic_jeh", "Arabic_kaf", "Arabic_kasra", "Arabic_kasratan", "Arabic_keheh", "Arabic_khah", "Arabic_lam", "Arabic_madda_above", "Arabic_maddaonalef", "Arabic_meem", "Arabic_noon", "Arabic_noon_ghunna", "Arabic_peh", "Arabic_percent", "Arabic_qaf", "Arabic_question_mark", "Arabic_ra", "Arabic_rreh", "Arabic_sad", "Arabic_seen", "Arabic_semicolon", "Arabic_shadda", "Arabic_sheen", "Arabic_sukun", "Arabic_superscript_alef", "Arabic_switch", "Arabic_tah", "Arabic_tatweel", "Arabic_tcheh", "Arabic_teh", "Arabic_tehmarbuta", "Arabic_thal", "Arabic_theh", "Arabic_tteh", "Arabic_veh", "Arabic_waw", "Arabic_yeh", "Arabic_yeh_baree", "Arabic_zah", "Arabic_zain", "Aring", "Armenian_AT", "Armenian_AYB", "Armenian_BEN", "Armenian_CHA", "Armenian_DA", "Armenian_DZA", "Armenian_E", "Armenian_FE", "Armenian_GHAT", "Armenian_GIM", "Armenian_HI", "Armenian_HO", "Armenian_INI", "Armenian_JE", "Armenian_KE", "Armenian_KEN", "Armenian_KHE", "Armenian_LYUN", "Armenian_MEN", "Armenian_NU", "Armenian_O", "Armenian_PE", "Armenian_PYUR", "Armenian_RA", "Armenian_RE", "Armenian_SE", "Armenian_SHA", "Armenian_TCHE", "Armenian_TO", "Armenian_TSA", "Armenian_TSO", "Armenian_TYUN", "Armenian_VEV", "Armenian_VO", "Armenian_VYUN", "Armenian_YECH", "Armenian_ZA", "Armenian_ZHE", "Armenian_accent", "Armenian_amanak", "Armenian_apostrophe", "Armenian_at", "Armenian_ayb", "Armenian_ben", "Armenian_but", "Armenian_cha", "Armenian_da", "Armenian_dza", "Armenian_e", "Armenian_exclam", "Armenian_fe", "Armenian_full_stop", "Armenian_ghat", "Armenian_gim", "Armenian_hi", "Armenian_ho", "Armenian_hyphen", "Armenian_ini", "Armenian_je", "Armenian_ke", "Armenian_ken", "Armenian_khe", "Armenian_ligature_ew", "Armenian_lyun", "Armenian_men", "Armenian_nu", "Armenian_o", "Armenian_paruyk", "Armenian_pe", "Armenian_pyur", "Armenian_question", "Armenian_ra", "Armenian_re", "Armenian_se", "Armenian_separation_mark", "Armenian_sha", "Armenian_shesht", "Armenian_tche", "Armenian_to", "Armenian_tsa", "Armenian_tso", "Armenian_tyun", "Armenian_verjaket", "Armenian_vev", "Armenian_vo", "Armenian_vyun", "Armenian_yech", "Armenian_yentamna", "Armenian_za", "Armenian_zhe", "Atilde", "AudibleBell_Enable", "AudioCycleTrack", "AudioForward", "AudioLowerVolume", "AudioMedia", "AudioMicMute", "AudioMute", "AudioNext", "AudioPause", "AudioPlay", "AudioPrev", "AudioRaiseVolume", "AudioRandomPlay", "AudioRecord", "AudioRepeat", "AudioRewind", "AudioStop", "Away", "B", "Babovedot", "Back", "BackForward", "BackSpace", "Battery", "Begin", "Blue", "Bluetooth", "Book", "BounceKeys_Enable", "Break", "BrightnessAdjust", "Byelorussian_SHORTU", "Byelorussian_shortu", "C", "CD", "CH", "C_H", "C_h", "Cabovedot", "Cacute", "Calculator", "Calendar", "Cancel", "Caps_Lock", "Ccaron", "Ccedilla", "Ccircumflex", "Ch", "Clear", "Close", "Codeinput", "ColonSign", "Community", "ContrastAdjust", "Control_L", "Control_R", "Copy", "CruzeiroSign", "Cut", "CycleAngle", "Cyrillic_A", "Cyrillic_BE", "Cyrillic_CHE", "Cyrillic_CHE_descender", "Cyrillic_CHE_vertstroke", "Cyrillic_DE", "Cyrillic_DZHE", "Cyrillic_E", "Cyrillic_EF", "Cyrillic_EL", "Cyrillic_EM", "Cyrillic_EN", "Cyrillic_EN_descender", "Cyrillic_ER", "Cyrillic_ES", "Cyrillic_GHE", "Cyrillic_GHE_bar", "Cyrillic_HA", "Cyrillic_HARDSIGN", "Cyrillic_HA_descender", "Cyrillic_I", "Cyrillic_IE", "Cyrillic_IO", "Cyrillic_I_macron", "Cyrillic_JE", "Cyrillic_KA", "Cyrillic_KA_descender", "Cyrillic_KA_vertstroke", "Cyrillic_LJE", "Cyrillic_NJE", "Cyrillic_O", "Cyrillic_O_bar", "Cyrillic_PE", "Cyrillic_SCHWA", "Cyrillic_SHA", "Cyrillic_SHCHA", "Cyrillic_SHHA", "Cyrillic_SHORTI", "Cyrillic_SOFTSIGN", "Cyrillic_TE", "Cyrillic_TSE", "Cyrillic_U", "Cyrillic_U_macron", "Cyrillic_U_straight", "Cyrillic_U_straight_bar", "Cyrillic_VE", "Cyrillic_YA", "Cyrillic_YERU", "Cyrillic_YU", "Cyrillic_ZE", "Cyrillic_ZHE", "Cyrillic_ZHE_descender", "Cyrillic_a", "Cyrillic_be", "Cyrillic_che", "Cyrillic_che_descender", "Cyrillic_che_vertstroke", "Cyrillic_de", "Cyrillic_dzhe", "Cyrillic_e", "Cyrillic_ef", "Cyrillic_el", "Cyrillic_em", "Cyrillic_en", "Cyrillic_en_descender", "Cyrillic_er", "Cyrillic_es", "Cyrillic_ghe", "Cyrillic_ghe_bar", "Cyrillic_ha", "Cyrillic_ha_descender", "Cyrillic_hardsign", "Cyrillic_i", "Cyrillic_i_macron", "Cyrillic_ie", "Cyrillic_io", "Cyrillic_je", "Cyrillic_ka", "Cyrillic_ka_descender", "Cyrillic_ka_vertstroke", "Cyrillic_lje", "Cyrillic_nje", "Cyrillic_o", "Cyrillic_o_bar", "Cyrillic_pe", "Cyrillic_schwa", "Cyrillic_sha", "Cyrillic_shcha", "Cyrillic_shha", "Cyrillic_shorti", "Cyrillic_softsign", "Cyrillic_te", "Cyrillic_tse", "Cyrillic_u", "Cyrillic_u_macron", "Cyrillic_u_straight", "Cyrillic_u_straight_bar", "Cyrillic_ve", "Cyrillic_ya", "Cyrillic_yeru", "Cyrillic_yu", "Cyrillic_ze", "Cyrillic_zhe", "Cyrillic_zhe_descender", "D", "DOS", "Dabovedot", "Dcaron", "Delete", "Display", "Documents", "DongSign", "Down", "Dstroke", "E", "ENG", "ETH", "EZH", "Eabovedot", "Eacute", "Ebelowdot", "Ecaron", "Ecircumflex", "Ecircumflexacute", "Ecircumflexbelowdot", "Ecircumflexgrave", "Ecircumflexhook", "Ecircumflextilde", "EcuSign", "Ediaeresis", "Egrave", "Ehook", "Eisu_Shift", "Eisu_toggle", "Eject", "Emacron", "End", "Eogonek", "Escape", "Eth", "Etilde", "EuroSign", "Excel", "Execute", "Explorer", "F", "F1", "F10", "F11", "F12", "F13", "F14", "F15", "F16", "F17", "F18", "F19", "F2", "F20", "F21", "F22", "F23", "F24", "F25", "F26", "F27", "F28", "F29", "F3", "F30", "F31", "F32", "F33", "F34", "F35", "F4", "F5", "F6", "F7", "F8", "F9", "FFrancSign", "Fabovedot", "Farsi_0", "Farsi_1", "Farsi_2", "Farsi_3", "Farsi_4", "Farsi_5", "Farsi_6", "Farsi_7", "Farsi_8", "Farsi_9", "Farsi_yeh", "Favorites", "Finance", "Find", "First_Virtual_Screen", "Forward", "FrameBack", "FrameForward", "G", "Gabovedot", "Game", "Gbreve", "Gcaron", "Gcedilla", "Gcircumflex", "Georgian_an", "Georgian_ban", "Georgian_can", "Georgian_char", "Georgian_chin", "Georgian_cil", "Georgian_don", "Georgian_en", "Georgian_fi", "Georgian_gan", "Georgian_ghan", "Georgian_hae", "Georgian_har", "Georgian_he", "Georgian_hie", "Georgian_hoe", "Georgian_in", "Georgian_jhan", "Georgian_jil", "Georgian_kan", "Georgian_khar", "Georgian_las", "Georgian_man", "Georgian_nar", "Georgian_on", "Georgian_par", "Georgian_phar", "Georgian_qar", "Georgian_rae", "Georgian_san", "Georgian_shin", "Georgian_tan", "Georgian_tar", "Georgian_un", "Georgian_vin", "Georgian_we", "Georgian_xan", "Georgian_zen", "Georgian_zhar", "Go", "Greek_ALPHA", "Greek_ALPHAaccent", "Greek_BETA", "Greek_CHI", "Greek_DELTA", "Greek_EPSILON", "Greek_EPSILONaccent", "Greek_ETA", "Greek_ETAaccent", "Greek_GAMMA", "Greek_IOTA", "Greek_IOTAaccent", "Greek_IOTAdiaeresis", "Greek_IOTAdieresis", "Greek_KAPPA", "Greek_LAMBDA", "Greek_LAMDA", "Greek_MU", "Greek_NU", "Greek_OMEGA", "Greek_OMEGAaccent", "Greek_OMICRON", "Greek_OMICRONaccent", "Greek_PHI", "Greek_PI", "Greek_PSI", "Greek_RHO", "Greek_SIGMA", "Greek_TAU", "Greek_THETA", "Greek_UPSILON", "Greek_UPSILONaccent", "Greek_UPSILONdieresis", "Greek_XI", "Greek_ZETA", "Greek_accentdieresis", "Greek_alpha", "Greek_alphaaccent", "Greek_beta", "Greek_chi", "Greek_delta", "Greek_epsilon", "Greek_epsilonaccent", "Greek_eta", "Greek_etaaccent", "Greek_finalsmallsigma", "Greek_gamma", "Greek_horizbar", "Greek_iota", "Greek_iotaaccent", "Greek_iotaaccentdieresis", "Greek_iotadieresis", "Greek_kappa", "Greek_lambda", "Greek_lamda", "Greek_mu", "Greek_nu", "Greek_omega", "Greek_omegaaccent", "Greek_omicron", "Greek_omicronaccent", "Greek_phi", "Greek_pi", "Greek_psi", "Greek_rho", "Greek_sigma", "Greek_switch", "Greek_tau", "Greek_theta", "Greek_upsilon", "Greek_upsilonaccent", "Greek_upsilonaccentdieresis", "Greek_upsilondieresis", "Greek_xi", "Greek_zeta", "Green", "H", "Hangul", "Hangul_A", "Hangul_AE", "Hangul_AraeA", "Hangul_AraeAE", "Hangul_Banja", "Hangul_Cieuc", "Hangul_Codeinput", "Hangul_Dikeud", "Hangul_E", "Hangul_EO", "Hangul_EU", "Hangul_End", "Hangul_Hanja", "Hangul_Hieuh", "Hangul_I", "Hangul_Ieung", "Hangul_J_Cieuc", "Hangul_J_Dikeud", "Hangul_J_Hieuh", "Hangul_J_Ieung", "Hangul_J_Jieuj", "Hangul_J_Khieuq", "Hangul_J_Kiyeog", "Hangul_J_KiyeogSios", "Hangul_J_KkogjiDalrinIeung", "Hangul_J_Mieum", "Hangul_J_Nieun", "Hangul_J_NieunHieuh", "Hangul_J_NieunJieuj", "Hangul_J_PanSios", "Hangul_J_Phieuf", "Hangul_J_Pieub", "Hangul_J_PieubSios", "Hangul_J_Rieul", "Hangul_J_RieulHieuh", "Hangul_J_RieulKiyeog", "Hangul_J_RieulMieum", "Hangul_J_RieulPhieuf", "Hangul_J_RieulPieub", "Hangul_J_RieulSios", "Hangul_J_RieulTieut", "Hangul_J_Sios", "Hangul_J_SsangKiyeog", "Hangul_J_SsangSios", "Hangul_J_Tieut", "Hangul_J_YeorinHieuh", "Hangul_Jamo", "Hangul_Jeonja", "Hangul_Jieuj", "Hangul_Khieuq", "Hangul_Kiyeog", "Hangul_KiyeogSios", "Hangul_KkogjiDalrinIeung", "Hangul_Mieum", "Hangul_MultipleCandidate", "Hangul_Nieun", "Hangul_NieunHieuh", "Hangul_NieunJieuj", "Hangul_O", "Hangul_OE", "Hangul_PanSios", "Hangul_Phieuf", "Hangul_Pieub", "Hangul_PieubSios", "Hangul_PostHanja", "Hangul_PreHanja", "Hangul_PreviousCandidate", "Hangul_Rieul", "Hangul_RieulHieuh", "Hangul_RieulKiyeog", "Hangul_RieulMieum", "Hangul_RieulPhieuf", "Hangul_RieulPieub", "Hangul_RieulSios", "Hangul_RieulTieut", "Hangul_RieulYeorinHieuh", "Hangul_Romaja", "Hangul_SingleCandidate", "Hangul_Sios", "Hangul_Special", "Hangul_SsangDikeud", "Hangul_SsangJieuj", "Hangul_SsangKiyeog", "Hangul_SsangPieub", "Hangul_SsangSios", "Hangul_Start", "Hangul_SunkyeongeumMieum", "Hangul_SunkyeongeumPhieuf", "Hangul_SunkyeongeumPieub", "Hangul_Tieut", "Hangul_U", "Hangul_WA", "Hangul_WAE", "Hangul_WE", "Hangul_WEO", "Hangul_WI", "Hangul_YA", "Hangul_YAE", "Hangul_YE", "Hangul_YEO", "Hangul_YI", "Hangul_YO", "Hangul_YU", "Hangul_YeorinHieuh", "Hangul_switch", "Hankaku", "Hcircumflex", "Hebrew_switch", "Help", "Henkan", "Henkan_Mode", "Hibernate", "Hiragana", "Hiragana_Katakana", "History", "Home", "HomePage", "HotLinks", "Hstroke", "Hyper_L", "Hyper_R", "I", "ISO_Center_Object", "ISO_Continuous_Underline", "ISO_Discontinuous_Underline", "ISO_Emphasize", "ISO_Enter", "ISO_Fast_Cursor_Down", "ISO_Fast_Cursor_Left", "ISO_Fast_Cursor_Right", "ISO_Fast_Cursor_Up", "ISO_First_Group", "ISO_First_Group_Lock", "ISO_Group_Latch", "ISO_Group_Lock", "ISO_Group_Shift", "ISO_Last_Group", "ISO_Last_Group_Lock", "ISO_Left_Tab", "ISO_Level2_Latch", "ISO_Level3_Latch", "ISO_Level3_Lock", "ISO_Level3_Shift", "ISO_Level5_Latch", "ISO_Level5_Lock", "ISO_Level5_Shift", "ISO_Lock", "ISO_Move_Line_Down", "ISO_Move_Line_Up", "ISO_Next_Group", "ISO_Next_Group_Lock", "ISO_Partial_Line_Down", "ISO_Partial_Line_Up", "ISO_Partial_Space_Left", "ISO_Partial_Space_Right", "ISO_Prev_Group", "ISO_Prev_Group_Lock", "ISO_Release_Both_Margins", "ISO_Release_Margin_Left", "ISO_Release_Margin_Right", "ISO_Set_Margin_Left", "ISO_Set_Margin_Right", "Iabovedot", "Iacute", "Ibelowdot", "Ibreve", "Icircumflex", "Idiaeresis", "Igrave", "Ihook", "Imacron", "Insert", "Iogonek", "Itilde", "J", "Jcircumflex", "K", "KP_0", "KP_1", "KP_2", "KP_3", "KP_4", "KP_5", "KP_6", "KP_7", "KP_8", "KP_9", "KP_Add", "KP_Begin", "KP_Decimal", "KP_Delete", "KP_Divide", "KP_Down", "KP_End", "KP_Enter", "KP_Equal", "KP_F1", "KP_F2", "KP_F3", "KP_F4", "KP_Home", "KP_Insert", "KP_Left", "KP_Multiply", "KP_Next", "KP_Page_Down", "KP_Page_Up", "KP_Prior", "KP_Right", "KP_Separator", "KP_Space", "KP_Subtract", "KP_Tab", "KP_Up", "Kana_Lock", "Kana_Shift", "Kanji", "Kanji_Bangou", "Katakana", "KbdBrightnessDown", "KbdBrightnessUp", "KbdLightOnOff", "Kcedilla", "Korean_Won", "L", "L1", "L10", "L2", "L3", "L4", "L5", "L6", "L7", "L8", "L9", "Lacute", "Last_Virtual_Screen", "Launch0", "Launch1", "Launch2", "Launch3", "Launch4", "Launch5", "Launch6", "Launch7", "Launch8", "Launch9", "LaunchA", "LaunchB", "LaunchC", "LaunchD", "LaunchE", "LaunchF", "Lbelowdot", "Lcaron", "Lcedilla", "Left", "LightBulb", "Linefeed", "LiraSign", "LogGrabInfo", "LogOff", "LogWindowTree", "Lstroke", "M", "Mabovedot", "Macedonia_DSE", "Macedonia_GJE", "Macedonia_KJE", "Macedonia_dse", "Macedonia_gje", "Macedonia_kje", "Mae_Koho", "Mail", "MailForward", "Market", "Massyo", "Meeting", "Memo", "Menu", "MenuKB", "MenuPB", "Messenger", "Meta_L", "Meta_R", "MillSign", "Mode_switch", "MonBrightnessDown", "MonBrightnessUp", "MouseKeys_Accel_Enable", "MouseKeys_Enable", "Muhenkan", "Multi_key", "MultipleCandidate", "Music", "MyComputer", "MySites", "N", "Nacute", "NairaSign", "Ncaron", "Ncedilla", "New", "NewSheqelSign", "News", "Next", "Next_VMode", "Next_Virtual_Screen", "None", "Ntilde", "Num_Lock", "O", "OE", "Oacute", "Obarred", "Obelowdot", "Ocaron", "Ocircumflex", "Ocircumflexacute", "Ocircumflexbelowdot", "Ocircumflexgrave", "Ocircumflexhook", "Ocircumflextilde", "Odiaeresis", "Odoubleacute", "OfficeHome", "Ograve", "Ohook", "Ohorn", "Ohornacute", "Ohornbelowdot", "Ohorngrave", "Ohornhook", "Ohorntilde", "Omacron", "Ooblique", "Open", "OpenURL", "Option", "Oslash", "Otilde", "Overlay1_Enable", "Overlay2_Enable", "P", "Pabovedot", "Page_Down", "Page_Up", "Paste", "Pause", "PesetaSign", "Phone", "Pictures", "Pointer_Accelerate", "Pointer_Button1", "Pointer_Button2", "Pointer_Button3", "Pointer_Button4", "Pointer_Button5", "Pointer_Button_Dflt", "Pointer_DblClick1", "Pointer_DblClick2", "Pointer_DblClick3", "Pointer_DblClick4", "Pointer_DblClick5", "Pointer_DblClick_Dflt", "Pointer_DfltBtnNext", "Pointer_DfltBtnPrev", "Pointer_Down", "Pointer_DownLeft", "Pointer_DownRight", "Pointer_Drag1", "Pointer_Drag2", "Pointer_Drag3", "Pointer_Drag4", "Pointer_Drag5", "Pointer_Drag_Dflt", "Pointer_EnableKeys", "Pointer_Left", "Pointer_Right", "Pointer_Up", "Pointer_UpLeft", "Pointer_UpRight", "PowerDown", "PowerOff", "Prev_VMode", "Prev_Virtual_Screen", "PreviousCandidate", "Print", "Prior", "Q", "R", "R1", "R10", "R11", "R12", "R13", "R14", "R15", "R2", "R3", "R4", "R5", "R6", "R7", "R8", "R9", "Racute", "Rcaron", "Rcedilla", "Red", "Redo", "Refresh", "Reload", "RepeatKeys_Enable", "Reply", "Return", "Right", "RockerDown", "RockerEnter", "RockerUp", "Romaji", "RotateWindows", "RotationKB", "RotationPB", "RupeeSign", "S", "SCHWA", "Sabovedot", "Sacute", "Save", "Scaron", "Scedilla", "Scircumflex", "ScreenSaver", "ScrollClick", "ScrollDown", "ScrollUp", "Scroll_Lock", "Search", "Select", "SelectButton", "Send", "Serbian_DJE", "Serbian_DZE", "Serbian_JE", "Serbian_LJE", "Serbian_NJE", "Serbian_TSHE", "Serbian_dje", "Serbian_dze", "Serbian_je", "Serbian_lje", "Serbian_nje", "Serbian_tshe", "Shift_L", "Shift_Lock", "Shift_R", "Shop", "SingleCandidate", "Sinh_a", "Sinh_aa", "Sinh_aa2", "Sinh_ae", "Sinh_ae2", "Sinh_aee", "Sinh_aee2", "Sinh_ai", "Sinh_ai2", "Sinh_al", "Sinh_au", "Sinh_au2", "Sinh_ba", "Sinh_bha", "Sinh_ca", "Sinh_cha", "Sinh_dda", "Sinh_ddha", "Sinh_dha", "Sinh_dhha", "Sinh_e", "Sinh_e2", "Sinh_ee", "Sinh_ee2", "Sinh_fa", "Sinh_ga", "Sinh_gha", "Sinh_h2", "Sinh_ha", "Sinh_i", "Sinh_i2", "Sinh_ii", "Sinh_ii2", "Sinh_ja", "Sinh_jha", "Sinh_jnya", "Sinh_ka", "Sinh_kha", "Sinh_kunddaliya", "Sinh_la", "Sinh_lla", "Sinh_lu", "Sinh_lu2", "Sinh_luu", "Sinh_luu2", "Sinh_ma", "Sinh_mba", "Sinh_na", "Sinh_ndda", "Sinh_ndha", "Sinh_ng", "Sinh_ng2", "Sinh_nga", "Sinh_nja", "Sinh_nna", "Sinh_nya", "Sinh_o", "Sinh_o2", "Sinh_oo", "Sinh_oo2", "Sinh_pa", "Sinh_pha", "Sinh_ra", "Sinh_ri", "Sinh_rii", "Sinh_ru2", "Sinh_ruu2", "Sinh_sa", "Sinh_sha", "Sinh_ssha", "Sinh_tha", "Sinh_thha", "Sinh_tta", "Sinh_ttha", "Sinh_u", "Sinh_u2", "Sinh_uu", "Sinh_uu2", "Sinh_va", "Sinh_ya", "Sleep", "SlowKeys_Enable", "Spell", "SplitScreen", "Standby", "Start", "StickyKeys_Enable", "Stop", "Subtitle", "Super_L", "Super_R", "Support", "Suspend", "Switch_VT_1", "Switch_VT_10", "Switch_VT_11", "Switch_VT_12", "Switch_VT_2", "Switch_VT_3", "Switch_VT_4", "Switch_VT_5", "Switch_VT_6", "Switch_VT_7", "Switch_VT_8", "Switch_VT_9", "Sys_Req", "T", "THORN", "Tab", "Tabovedot", "TaskPane", "Tcaron", "Tcedilla", "Terminal", "Terminate_Server", "Thai_baht", "Thai_bobaimai", "Thai_chochan", "Thai_chochang", "Thai_choching", "Thai_chochoe", "Thai_dochada", "Thai_dodek", "Thai_fofa", "Thai_fofan", "Thai_hohip", "Thai_honokhuk", "Thai_khokhai", "Thai_khokhon", "Thai_khokhuat", "Thai_khokhwai", "Thai_khorakhang", "Thai_kokai", "Thai_lakkhangyao", "Thai_lekchet", "Thai_lekha", "Thai_lekhok", "Thai_lekkao", "Thai_leknung", "Thai_lekpaet", "Thai_leksam", "Thai_leksi", "Thai_leksong", "Thai_leksun", "Thai_lochula", "Thai_loling", "Thai_lu", "Thai_maichattawa", "Thai_maiek", "Thai_maihanakat", "Thai_maihanakat_maitho", "Thai_maitaikhu", "Thai_maitho", "Thai_maitri", "Thai_maiyamok", "Thai_moma", "Thai_ngongu", "Thai_nikhahit", "Thai_nonen", "Thai_nonu", "Thai_oang", "Thai_paiyannoi", "Thai_phinthu", "Thai_phophan", "Thai_phophung", "Thai_phosamphao", "Thai_popla", "Thai_rorua", "Thai_ru", "Thai_saraa", "Thai_saraaa", "Thai_saraae", "Thai_saraaimaimalai", "Thai_saraaimaimuan", "Thai_saraam", "Thai_sarae", "Thai_sarai", "Thai_saraii", "Thai_sarao", "Thai_sarau", "Thai_saraue", "Thai_sarauee", "Thai_sarauu", "Thai_sorusi", "Thai_sosala", "Thai_soso", "Thai_sosua", "Thai_thanthakhat", "Thai_thonangmontho", "Thai_thophuthao", "Thai_thothahan", "Thai_thothan", "Thai_thothong", "Thai_thothung", "Thai_topatak", "Thai_totao", "Thai_wowaen", "Thai_yoyak", "Thai_yoying", "Thorn", "Time", "ToDoList", "Tools", "TopMenu", "TouchpadOff", "TouchpadOn", "TouchpadToggle", "Touroku", "Travel", "Tslash", "U", "Uacute", "Ubelowdot", "Ubreve", "Ucircumflex", "Udiaeresis", "Udoubleacute", "Ugrave", "Uhook", "Uhorn", "Uhornacute", "Uhornbelowdot", "Uhorngrave", "Uhornhook", "Uhorntilde", "Ukrainian_GHE_WITH_UPTURN", "Ukrainian_I", "Ukrainian_IE", "Ukrainian_YI", "Ukrainian_ghe_with_upturn", "Ukrainian_i", "Ukrainian_ie", "Ukrainian_yi", "Ukranian_I", "Ukranian_JE", "Ukranian_YI", "Ukranian_i", "Ukranian_je", "Ukranian_yi", "Umacron", "Undo", "Ungrab", "Uogonek", "Up", "Uring", "User1KB", "User2KB", "UserPB", "Utilde", "V", "VendorHome", "Video", "View", "VoidSymbol", "W", "WLAN", "WWW", "Wacute", "WakeUp", "Wcircumflex", "Wdiaeresis", "WebCam", "Wgrave", "WheelButton", "WindowClear", "WindowClearGrab", "WonSign", "Word", "X", "Xabovedot", "Xfer", "Y", "Yacute", "Ybelowdot", "Ycircumflex", "Ydiaeresis", "Yellow", "Ygrave", "Yhook", "Ytilde", "Z", "Zabovedot", "Zacute", "Zcaron", "Zen_Koho", "Zenkaku", "Zenkaku_Hankaku", "ZoomIn", "ZoomOut", "Zstroke", "a", "aacute", "abelowdot", "abovedot", "abreve", "abreveacute", "abrevebelowdot", "abrevegrave", "abrevehook", "abrevetilde", "acircumflex", "acircumflexacute", "acircumflexbelowdot", "acircumflexgrave", "acircumflexhook", "acircumflextilde", "acute", "adiaeresis", "ae", "agrave", "ahook", "amacron", "ampersand", "aogonek", "apostrophe", "approxeq", "approximate", "aring", "asciicircum", "asciitilde", "asterisk", "at", "atilde", "b", "babovedot", "backslash", "ballotcross", "bar", "because", "blank", "botintegral", "botleftparens", "botleftsqbracket", "botleftsummation", "botrightparens", "botrightsqbracket", "botrightsummation", "bott", "botvertsummationconnector", "braceleft", "braceright", "bracketleft", "bracketright", "braille_blank", "braille_dot_1", "braille_dot_10", "braille_dot_2", "braille_dot_3", "braille_dot_4", "braille_dot_5", "braille_dot_6", "braille_dot_7", "braille_dot_8", "braille_dot_9", "braille_dots_1", "braille_dots_12", "braille_dots_123", "braille_dots_1234", "braille_dots_12345", "braille_dots_123456", "braille_dots_1234567", "braille_dots_12345678", "braille_dots_1234568", "braille_dots_123457", "braille_dots_1234578", "braille_dots_123458", "braille_dots_12346", "braille_dots_123467", "braille_dots_1234678", "braille_dots_123468", "braille_dots_12347", "braille_dots_123478", "braille_dots_12348", "braille_dots_1235", "braille_dots_12356", "braille_dots_123567", "braille_dots_1235678", "braille_dots_123568", "braille_dots_12357", "braille_dots_123578", "braille_dots_12358", "braille_dots_1236", "braille_dots_12367", "braille_dots_123678", "braille_dots_12368", "braille_dots_1237", "braille_dots_12378", "braille_dots_1238", "braille_dots_124", "braille_dots_1245", "braille_dots_12456", "braille_dots_124567", "braille_dots_1245678", "braille_dots_124568", "braille_dots_12457", "braille_dots_124578", "braille_dots_12458", "braille_dots_1246", "braille_dots_12467", "braille_dots_124678", "braille_dots_12468", "braille_dots_1247", "braille_dots_12478", "braille_dots_1248", "braille_dots_125", "braille_dots_1256", "braille_dots_12567", "braille_dots_125678", "braille_dots_12568", "braille_dots_1257", "braille_dots_12578", "braille_dots_1258", "braille_dots_126", "braille_dots_1267", "braille_dots_12678", "braille_dots_1268", "braille_dots_127", "braille_dots_1278", "braille_dots_128", "braille_dots_13", "braille_dots_134", "braille_dots_1345", "braille_dots_13456", "braille_dots_134567", "braille_dots_1345678", "braille_dots_134568", "braille_dots_13457", "braille_dots_134578", "braille_dots_13458", "braille_dots_1346", "braille_dots_13467", "braille_dots_134678", "braille_dots_13468", "braille_dots_1347", "braille_dots_13478", "braille_dots_1348", "braille_dots_135", "braille_dots_1356", "braille_dots_13567", "braille_dots_135678", "braille_dots_13568", "braille_dots_1357", "braille_dots_13578", "braille_dots_1358", "braille_dots_136", "braille_dots_1367", "braille_dots_13678", "braille_dots_1368", "braille_dots_137", "braille_dots_1378", "braille_dots_138", "braille_dots_14", "braille_dots_145", "braille_dots_1456", "braille_dots_14567", "braille_dots_145678", "braille_dots_14568", "braille_dots_1457", "braille_dots_14578", "braille_dots_1458", "braille_dots_146", "braille_dots_1467", "braille_dots_14678", "braille_dots_1468", "braille_dots_147", "braille_dots_1478", "braille_dots_148", "braille_dots_15", "braille_dots_156", "braille_dots_1567", "braille_dots_15678", "braille_dots_1568", "braille_dots_157", "braille_dots_1578", "braille_dots_158", "braille_dots_16", "braille_dots_167", "braille_dots_1678", "braille_dots_168", "braille_dots_17", "braille_dots_178", "braille_dots_18", "braille_dots_2", "braille_dots_23", "braille_dots_234", "braille_dots_2345", "braille_dots_23456", "braille_dots_234567", "braille_dots_2345678", "braille_dots_234568", "braille_dots_23457", "braille_dots_234578", "braille_dots_23458", "braille_dots_2346", "braille_dots_23467", "braille_dots_234678", "braille_dots_23468", "braille_dots_2347", "braille_dots_23478", "braille_dots_2348", "braille_dots_235", "braille_dots_2356", "braille_dots_23567", "braille_dots_235678", "braille_dots_23568", "braille_dots_2357", "braille_dots_23578", "braille_dots_2358", "braille_dots_236", "braille_dots_2367", "braille_dots_23678", "braille_dots_2368", "braille_dots_237", "braille_dots_2378", "braille_dots_238", "braille_dots_24", "braille_dots_245", "braille_dots_2456", "braille_dots_24567", "braille_dots_245678", "braille_dots_24568", "braille_dots_2457", "braille_dots_24578", "braille_dots_2458", "braille_dots_246", "braille_dots_2467", "braille_dots_24678", "braille_dots_2468", "braille_dots_247", "braille_dots_2478", "braille_dots_248", "braille_dots_25", "braille_dots_256", "braille_dots_2567", "braille_dots_25678", "braille_dots_2568", "braille_dots_257", "braille_dots_2578", "braille_dots_258", "braille_dots_26", "braille_dots_267", "braille_dots_2678", "braille_dots_268", "braille_dots_27", "braille_dots_278", "braille_dots_28", "braille_dots_3", "braille_dots_34", "braille_dots_345", "braille_dots_3456", "braille_dots_34567", "braille_dots_345678", "braille_dots_34568", "braille_dots_3457", "braille_dots_34578", "braille_dots_3458", "braille_dots_346", "braille_dots_3467", "braille_dots_34678", "braille_dots_3468", "braille_dots_347", "braille_dots_3478", "braille_dots_348", "braille_dots_35", "braille_dots_356", "braille_dots_3567", "braille_dots_35678", "braille_dots_3568", "braille_dots_357", "braille_dots_3578", "braille_dots_358", "braille_dots_36", "braille_dots_367", "braille_dots_3678", "braille_dots_368", "braille_dots_37", "braille_dots_378", "braille_dots_38", "braille_dots_4", "braille_dots_45", "braille_dots_456", "braille_dots_4567", "braille_dots_45678", "braille_dots_4568", "braille_dots_457", "braille_dots_4578", "braille_dots_458", "braille_dots_46", "braille_dots_467", "braille_dots_4678", "braille_dots_468", "braille_dots_47", "braille_dots_478", "braille_dots_48", "braille_dots_5", "braille_dots_56", "braille_dots_567", "braille_dots_5678", "braille_dots_568", "braille_dots_57", "braille_dots_578", "braille_dots_58", "braille_dots_6", "braille_dots_67", "braille_dots_678", "braille_dots_68", "braille_dots_7", "braille_dots_78", "braille_dots_8", "breve", "brokenbar", "c", "c_h", "cabovedot", "cacute", "careof", "caret", "caron", "ccaron", "ccedilla", "ccircumflex", "cedilla", "cent", "ch", "checkerboard", "checkmark", "circle", "club", "colon", "comma", "containsas", "copyright", "cr", "crossinglines", "cuberoot", "currency", "cursor", "d", "dabovedot", "dagger", "dcaron", "dead_A", "dead_E", "dead_I", "dead_O", "dead_U", "dead_a", "dead_abovecomma", "dead_abovedot", "dead_abovereversedcomma", "dead_abovering", "dead_aboveverticalline", "dead_acute", "dead_belowbreve", "dead_belowcircumflex", "dead_belowcomma", "dead_belowdiaeresis", "dead_belowdot", "dead_belowmacron", "dead_belowring", "dead_belowtilde", "dead_belowverticalline", "dead_breve", "dead_capital_schwa", "dead_caron", "dead_cedilla", "dead_circumflex", "dead_currency", "dead_dasia", "dead_diaeresis", "dead_doubleacute", "dead_doublegrave", "dead_e", "dead_grave", "dead_greek", "dead_hook", "dead_horn", "dead_i", "dead_invertedbreve", "dead_iota", "dead_longsolidusoverlay", "dead_lowline", "dead_macron", "dead_o", "dead_ogonek", "dead_perispomeni", "dead_psili", "dead_semivoiced_sound", "dead_small_schwa", "dead_stroke", "dead_tilde", "dead_u", "dead_voiced_sound", "decimalpoint", "degree", "diaeresis", "diamond", "digitspace", "dintegral", "division", "dollar", "doubbaselinedot", "doubleacute", "doubledagger", "doublelowquotemark", "downarrow", "downcaret", "downshoe", "downstile", "downtack", "dstroke", "e", "eabovedot", "eacute", "ebelowdot", "ecaron", "ecircumflex", "ecircumflexacute", "ecircumflexbelowdot", "ecircumflexgrave", "ecircumflexhook", "ecircumflextilde", "ediaeresis", "egrave", "ehook", "eightsubscript", "eightsuperior", "elementof", "ellipsis", "em3space", "em4space", "emacron", "emdash", "emfilledcircle", "emfilledrect", "emopencircle", "emopenrectangle", "emptyset", "emspace", "endash", "enfilledcircbullet", "enfilledsqbullet", "eng", "enopencircbullet", "enopensquarebullet", "enspace", "eogonek", "equal", "eth", "etilde", "exclam", "exclamdown", "ezh", "f", "fabovedot", "femalesymbol", "ff", "figdash", "filledlefttribullet", "filledrectbullet", "filledrighttribullet", "filledtribulletdown", "filledtribulletup", "fiveeighths", "fivesixths", "fivesubscript", "fivesuperior", "fourfifths", "foursubscript", "foursuperior", "fourthroot", "function", "g", "gabovedot", "gbreve", "gcaron", "gcedilla", "gcircumflex", "grave", "greater", "greaterthanequal", "guillemotleft", "guillemotright", "h", "hairspace", "hcircumflex", "heart", "hebrew_aleph", "hebrew_ayin", "hebrew_bet", "hebrew_beth", "hebrew_chet", "hebrew_dalet", "hebrew_daleth", "hebrew_doublelowline", "hebrew_finalkaph", "hebrew_finalmem", "hebrew_finalnun", "hebrew_finalpe", "hebrew_finalzade", "hebrew_finalzadi", "hebrew_gimel", "hebrew_gimmel", "hebrew_he", "hebrew_het", "hebrew_kaph", "hebrew_kuf", "hebrew_lamed", "hebrew_mem", "hebrew_nun", "hebrew_pe", "hebrew_qoph", "hebrew_resh", "hebrew_samech", "hebrew_samekh", "hebrew_shin", "hebrew_taf", "hebrew_taw", "hebrew_tet", "hebrew_teth", "hebrew_waw", "hebrew_yod", "hebrew_zade", "hebrew_zadi", "hebrew_zain", "hebrew_zayin", "hexagram", "horizconnector", "horizlinescan1", "horizlinescan3", "horizlinescan5", "horizlinescan7", "horizlinescan9", "hstroke", "ht", "hyphen", "i", "iTouch", "iacute", "ibelowdot", "ibreve", "icircumflex", "identical", "idiaeresis", "idotless", "ifonlyif", "igrave", "ihook", "imacron", "implies", "includedin", "includes", "infinity", "integral", "intersection", "iogonek", "itilde", "j", "jcircumflex", "jot", "k", "kana_A", "kana_CHI", "kana_E", "kana_FU", "kana_HA", "kana_HE", "kana_HI", "kana_HO", "kana_HU", "kana_I", "kana_KA", "kana_KE", "kana_KI", "kana_KO", "kana_KU", "kana_MA", "kana_ME", "kana_MI", "kana_MO", "kana_MU", "kana_N", "kana_NA", "kana_NE", "kana_NI", "kana_NO", "kana_NU", "kana_O", "kana_RA", "kana_RE", "kana_RI", "kana_RO", "kana_RU", "kana_SA", "kana_SE", "kana_SHI", "kana_SO", "kana_SU", "kana_TA", "kana_TE", "kana_TI", "kana_TO", "kana_TSU", "kana_TU", "kana_U", "kana_WA", "kana_WO", "kana_YA", "kana_YO", "kana_YU", "kana_a", "kana_closingbracket", "kana_comma", "kana_conjunctive", "kana_e", "kana_fullstop", "kana_i", "kana_middledot", "kana_o", "kana_openingbracket", "kana_switch", "kana_tsu", "kana_tu", "kana_u", "kana_ya", "kana_yo", "kana_yu", "kappa", "kcedilla", "kra", "l", "lacute", "latincross", "lbelowdot", "lcaron", "lcedilla", "leftanglebracket", "leftarrow", "leftcaret", "leftdoublequotemark", "leftmiddlecurlybrace", "leftopentriangle", "leftpointer", "leftradical", "leftshoe", "leftsinglequotemark", "leftt", "lefttack", "less", "lessthanequal", "lf", "logicaland", "logicalor", "lowleftcorner", "lowrightcorner", "lstroke", "m", "mabovedot", "macron", "malesymbol", "maltesecross", "marker", "masculine", "minus", "minutes", "mu", "multiply", "musicalflat", "musicalsharp", "n", "nabla", "nacute", "ncaron", "ncedilla", "ninesubscript", "ninesuperior", "nl", "nobreakspace", "notapproxeq", "notelementof", "notequal", "notidentical", "notsign", "ntilde", "numbersign", "numerosign", "o", "oacute", "obarred", "obelowdot", "ocaron", "ocircumflex", "ocircumflexacute", "ocircumflexbelowdot", "ocircumflexgrave", "ocircumflexhook", "ocircumflextilde", "odiaeresis", "odoubleacute", "oe", "ogonek", "ograve", "ohook", "ohorn", "ohornacute", "ohornbelowdot", "ohorngrave", "ohornhook", "ohorntilde", "omacron", "oneeighth", "onefifth", "onehalf", "onequarter", "onesixth", "onesubscript", "onesuperior", "onethird", "ooblique", "openrectbullet", "openstar", "opentribulletdown", "opentribulletup", "ordfeminine", "oslash", "otilde", "overbar", "overline", "p", "pabovedot", "paragraph", "parenleft", "parenright", "partdifferential", "partialderivative", "percent", "period", "periodcentered", "permille", "phonographcopyright", "plus", "plusminus", "prescription", "prolongedsound", "punctspace", "q", "quad", "question", "questiondown", "quotedbl", "quoteleft", "quoteright", "r", "racute", "radical", "rcaron", "rcedilla", "registered", "rightanglebracket", "rightarrow", "rightcaret", "rightdoublequotemark", "rightmiddlecurlybrace", "rightmiddlesummation", "rightopentriangle", "rightpointer", "rightshoe", "rightsinglequotemark", "rightt", "righttack", "s", "sabovedot", "sacute", "scaron", "scedilla", "schwa", "scircumflex", "script_switch", "seconds", "section", "semicolon", "semivoicedsound", "seveneighths", "sevensubscript", "sevensuperior", "signaturemark", "signifblank", "similarequal", "singlelowquotemark", "sixsubscript", "sixsuperior", "slash", "soliddiamond", "space", "squareroot", "ssharp", "sterling", "stricteq", "t", "tabovedot", "tcaron", "tcedilla", "telephone", "telephonerecorder", "therefore", "thinspace", "thorn", "threeeighths", "threefifths", "threequarters", "threesubscript", "threesuperior", "tintegral", "topintegral", "topleftparens", "topleftradical", "topleftsqbracket", "topleftsummation", "toprightparens", "toprightsqbracket", "toprightsummation", "topt", "topvertsummationconnector", "trademark", "trademarkincircle", "tslash", "twofifths", "twosubscript", "twosuperior", "twothirds", "u", "uacute", "ubelowdot", "ubreve", "ucircumflex", "udiaeresis", "udoubleacute", "ugrave", "uhook", "uhorn", "uhornacute", "uhornbelowdot", "uhorngrave", "uhornhook", "uhorntilde", "umacron", "underbar", "underscore", "union", "uogonek", "uparrow", "upcaret", "upleftcorner", "uprightcorner", "upshoe", "upstile", "uptack", "uring", "utilde", "v", "variation", "vertbar", "vertconnector", "voicedsound", "vt", "w", "wacute", "wcircumflex", "wdiaeresis", "wgrave", "x", "xabovedot", "y", "yacute", "ybelowdot", "ycircumflex", "ydiaeresis", "yen", "ygrave", "yhook", "ytilde", "z", "zabovedot", "zacute", "zcaron", "zerosubscript", "zerosuperior", "zstroke", }; static const uint32_t keyValueByNameOffset[] _FCITX_UNUSED_ = { 0x0030, 0x0031, 0x0032, 0x0033, 0xfd10, 0xfd0e, 0xfd05, 0xfd19, 0xfd15, 0xfd0f, 0xfd1c, 0xfd1a, 0xfd01, 0xfd1e, 0xfd06, 0xfd07, 0xfd1b, 0xfd02, 0xfd13, 0xfd12, 0xfd11, 0xfd04, 0xfd0a, 0xfd0b, 0xfd0c, 0xfd16, 0xfd1d, 0xfd09, 0xfd18, 0xfd08, 0xfd03, 0xfd14, 0xfd17, 0xfd0d, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x0041, 0x00c6, 0x00c1, 0x1001ea0, 0x01c3, 0x1001eae, 0x1001eb6, 0x1001eb0, 0x1001eb2, 0x1001eb4, 0xfe70, 0xfe71, 0x00c2, 0x1001ea4, 0x1001eac, 0x1001ea6, 0x1001ea8, 0x1001eaa, 0x1008ff39, 0x00c4, 0x00c0, 0x1001ea2, 0xffe9, 0xffea, 0x03c0, 0x01a1, 0x1008ff50, 0x1008ff51, 0x1000660, 0x1000661, 0x1000662, 0x1000663, 0x1000664, 0x1000665, 0x1000666, 0x1000667, 0x1000668, 0x1000669, 0x05d9, 0x05c7, 0x05e9, 0x05c8, 0x05ac, 0x05d6, 0x05cf, 0x05ef, 0x05ec, 0x1000688, 0x10006cc, 0x05ee, 0x05eb, 0x05e1, 0x10006d4, 0x10006af, 0x05da, 0x05e7, 0x05cd, 0x05c1, 0x1000654, 0x1000655, 0x05c3, 0x05c4, 0x05c6, 0x05c5, 0x05e7, 0x10006be, 0x10006c1, 0x05cc, 0x1000698, 0x05e3, 0x05f0, 0x05ed, 0x10006a9, 0x05ce, 0x05e4, 0x1000653, 0x05c2, 0x05e5, 0x05e6, 0x10006ba, 0x100067e, 0x100066a, 0x05e2, 0x05bf, 0x05d1, 0x1000691, 0x05d5, 0x05d3, 0x05bb, 0x05f1, 0x05d4, 0x05f2, 0x1000670, 0xff7e, 0x05d7, 0x05e0, 0x1000686, 0x05ca, 0x05c9, 0x05d0, 0x05cb, 0x1000679, 0x10006a4, 0x05e8, 0x05ea, 0x10006d2, 0x05d8, 0x05d2, 0x00c5, 0x1000538, 0x1000531, 0x1000532, 0x1000549, 0x1000534, 0x1000541, 0x1000537, 0x1000556, 0x1000542, 0x1000533, 0x1000545, 0x1000540, 0x100053b, 0x100054b, 0x1000554, 0x100053f, 0x100053d, 0x100053c, 0x1000544, 0x1000546, 0x1000555, 0x100054a, 0x1000553, 0x100054c, 0x1000550, 0x100054d, 0x1000547, 0x1000543, 0x1000539, 0x100053e, 0x1000551, 0x100054f, 0x100054e, 0x1000548, 0x1000552, 0x1000535, 0x1000536, 0x100053a, 0x100055b, 0x100055c, 0x100055a, 0x1000568, 0x1000561, 0x1000562, 0x100055d, 0x1000579, 0x1000564, 0x1000571, 0x1000567, 0x100055c, 0x1000586, 0x1000589, 0x1000572, 0x1000563, 0x1000575, 0x1000570, 0x100058a, 0x100056b, 0x100057b, 0x1000584, 0x100056f, 0x100056d, 0x1000587, 0x100056c, 0x1000574, 0x1000576, 0x1000585, 0x100055e, 0x100057a, 0x1000583, 0x100055e, 0x100057c, 0x1000580, 0x100057d, 0x100055d, 0x1000577, 0x100055b, 0x1000573, 0x1000569, 0x100056e, 0x1000581, 0x100057f, 0x1000589, 0x100057e, 0x1000578, 0x1000582, 0x1000565, 0x100058a, 0x1000566, 0x100056a, 0x00c3, 0xfe7a, 0x1008ff9b, 0x1008ff97, 0x1008ff11, 0x1008ff32, 0x1008ffb2, 0x1008ff12, 0x1008ff17, 0x1008ff31, 0x1008ff14, 0x1008ff16, 0x1008ff13, 0x1008ff99, 0x1008ff1c, 0x1008ff98, 0x1008ff3e, 0x1008ff15, 0x1008ff8d, 0x0042, 0x1001e02, 0x1008ff26, 0x1008ff3f, 0xff08, 0x1008ff93, 0xff58, 0x1008ffa6, 0x1008ff94, 0x1008ff52, 0xfe74, 0xff6b, 0x1008ff3b, 0x06be, 0x06ae, 0x0043, 0x1008ff53, 0xfea2, 0xfea5, 0xfea4, 0x02c5, 0x01c6, 0x1008ff1d, 0x1008ff20, 0xff69, 0xffe5, 0x01c8, 0x00c7, 0x02c6, 0xfea1, 0xff0b, 0x1008ff56, 0xff37, 0x10020a1, 0x1008ff3d, 0x1008ff22, 0xffe3, 0xffe4, 0x1008ff57, 0x10020a2, 0x1008ff58, 0x1008ff9c, 0x06e1, 0x06e2, 0x06fe, 0x10004b6, 0x10004b8, 0x06e4, 0x06bf, 0x06fc, 0x06e6, 0x06ec, 0x06ed, 0x06ee, 0x10004a2, 0x06f2, 0x06f3, 0x06e7, 0x1000492, 0x06e8, 0x06ff, 0x10004b2, 0x06e9, 0x06e5, 0x06b3, 0x10004e2, 0x06b8, 0x06eb, 0x100049a, 0x100049c, 0x06b9, 0x06ba, 0x06ef, 0x10004e8, 0x06f0, 0x10004d8, 0x06fb, 0x06fd, 0x10004ba, 0x06ea, 0x06f8, 0x06f4, 0x06e3, 0x06f5, 0x10004ee, 0x10004ae, 0x10004b0, 0x06f7, 0x06f1, 0x06f9, 0x06e0, 0x06fa, 0x06f6, 0x1000496, 0x06c1, 0x06c2, 0x06de, 0x10004b7, 0x10004b9, 0x06c4, 0x06af, 0x06dc, 0x06c6, 0x06cc, 0x06cd, 0x06ce, 0x10004a3, 0x06d2, 0x06d3, 0x06c7, 0x1000493, 0x06c8, 0x10004b3, 0x06df, 0x06c9, 0x10004e3, 0x06c5, 0x06a3, 0x06a8, 0x06cb, 0x100049b, 0x100049d, 0x06a9, 0x06aa, 0x06cf, 0x10004e9, 0x06d0, 0x10004d9, 0x06db, 0x06dd, 0x10004bb, 0x06ca, 0x06d8, 0x06d4, 0x06c3, 0x06d5, 0x10004ef, 0x10004af, 0x10004b1, 0x06d7, 0x06d1, 0x06d9, 0x06c0, 0x06da, 0x06d6, 0x1000497, 0x0044, 0x1008ff5a, 0x1001e0a, 0x01cf, 0xffff, 0x1008ff59, 0x1008ff5b, 0x10020ab, 0xff54, 0x01d0, 0x0045, 0x03bd, 0x00d0, 0x10001b7, 0x03cc, 0x00c9, 0x1001eb8, 0x01cc, 0x00ca, 0x1001ebe, 0x1001ec6, 0x1001ec0, 0x1001ec2, 0x1001ec4, 0x10020a0, 0x00cb, 0x00c8, 0x1001eba, 0xff2f, 0xff30, 0x1008ff2c, 0x03aa, 0xff57, 0x01ca, 0xff1b, 0x00d0, 0x1001ebc, 0x20ac, 0x1008ff5c, 0xff62, 0x1008ff5d, 0x0046, 0xffbe, 0xffc7, 0xffc8, 0xffc9, 0xffca, 0xffcb, 0xffcc, 0xffcd, 0xffce, 0xffcf, 0xffd0, 0xffbf, 0xffd1, 0xffd2, 0xffd3, 0xffd4, 0xffd5, 0xffd6, 0xffd7, 0xffd8, 0xffd9, 0xffda, 0xffc0, 0xffdb, 0xffdc, 0xffdd, 0xffde, 0xffdf, 0xffe0, 0xffc1, 0xffc2, 0xffc3, 0xffc4, 0xffc5, 0xffc6, 0x10020a3, 0x1001e1e, 0x10006f0, 0x10006f1, 0x10006f2, 0x10006f3, 0x10006f4, 0x10006f5, 0x10006f6, 0x10006f7, 0x10006f8, 0x10006f9, 0x10006cc, 0x1008ff30, 0x1008ff3c, 0xff68, 0xfed0, 0x1008ff27, 0x1008ff9d, 0x1008ff9e, 0x0047, 0x02d5, 0x1008ff5e, 0x02ab, 0x10001e6, 0x03ab, 0x02d8, 0x10010d0, 0x10010d1, 0x10010ea, 0x10010ed, 0x10010e9, 0x10010ec, 0x10010d3, 0x10010d4, 0x10010f6, 0x10010d2, 0x10010e6, 0x10010f0, 0x10010f4, 0x10010f1, 0x10010f2, 0x10010f5, 0x10010d8, 0x10010ef, 0x10010eb, 0x10010d9, 0x10010e5, 0x10010da, 0x10010db, 0x10010dc, 0x10010dd, 0x10010de, 0x10010e4, 0x10010e7, 0x10010e0, 0x10010e1, 0x10010e8, 0x10010d7, 0x10010e2, 0x10010e3, 0x10010d5, 0x10010f3, 0x10010ee, 0x10010d6, 0x10010df, 0x1008ff5f, 0x07c1, 0x07a1, 0x07c2, 0x07d7, 0x07c4, 0x07c5, 0x07a2, 0x07c7, 0x07a3, 0x07c3, 0x07c9, 0x07a4, 0x07a5, 0x07a5, 0x07ca, 0x07cb, 0x07cb, 0x07cc, 0x07cd, 0x07d9, 0x07ab, 0x07cf, 0x07a7, 0x07d6, 0x07d0, 0x07d8, 0x07d1, 0x07d2, 0x07d4, 0x07c8, 0x07d5, 0x07a8, 0x07a9, 0x07ce, 0x07c6, 0x07ae, 0x07e1, 0x07b1, 0x07e2, 0x07f7, 0x07e4, 0x07e5, 0x07b2, 0x07e7, 0x07b3, 0x07f3, 0x07e3, 0x07af, 0x07e9, 0x07b4, 0x07b6, 0x07b5, 0x07ea, 0x07eb, 0x07eb, 0x07ec, 0x07ed, 0x07f9, 0x07bb, 0x07ef, 0x07b7, 0x07f6, 0x07f0, 0x07f8, 0x07f1, 0x07f2, 0xff7e, 0x07f4, 0x07e8, 0x07f5, 0x07b8, 0x07ba, 0x07b9, 0x07ee, 0x07e6, 0x1008ffa4, 0x0048, 0xff31, 0x0ebf, 0x0ec0, 0x0ef6, 0x0ef7, 0xff39, 0x0eba, 0xff37, 0x0ea7, 0x0ec4, 0x0ec3, 0x0ed1, 0xff33, 0xff34, 0x0ebe, 0x0ed3, 0x0eb7, 0x0eea, 0x0eda, 0x0eee, 0x0ee8, 0x0ee9, 0x0eeb, 0x0ed4, 0x0ed6, 0x0ef9, 0x0ee3, 0x0ed7, 0x0ed9, 0x0ed8, 0x0ef8, 0x0eed, 0x0ee4, 0x0ee5, 0x0edb, 0x0ee2, 0x0edc, 0x0edd, 0x0ee1, 0x0ede, 0x0edf, 0x0ee0, 0x0ee6, 0x0ed5, 0x0ee7, 0x0eec, 0x0efa, 0xff35, 0xff38, 0x0eb8, 0x0ebb, 0x0ea1, 0x0ea3, 0x0ef3, 0x0eb1, 0xff3d, 0x0ea4, 0x0ea6, 0x0ea5, 0x0ec7, 0x0eca, 0x0ef2, 0x0ebd, 0x0eb2, 0x0eb4, 0xff3b, 0xff3a, 0xff3e, 0x0ea9, 0x0eb0, 0x0eaa, 0x0eab, 0x0eaf, 0x0eac, 0x0ead, 0x0eae, 0x0eef, 0xff36, 0xff3c, 0x0eb5, 0xff3f, 0x0ea8, 0x0eb9, 0x0ea2, 0x0eb3, 0x0eb6, 0xff32, 0x0ef0, 0x0ef4, 0x0ef1, 0x0ebc, 0x0ecc, 0x0ec8, 0x0ec9, 0x0ece, 0x0ecd, 0x0ecf, 0x0ec1, 0x0ec2, 0x0ec6, 0x0ec5, 0x0ed2, 0x0ecb, 0x0ed0, 0x0ef5, 0xff7e, 0xff29, 0x02a6, 0xff7e, 0xff6a, 0xff23, 0xff23, 0x1008ffa8, 0xff25, 0xff27, 0x1008ff37, 0xff50, 0x1008ff18, 0x1008ff3a, 0x02a1, 0xffed, 0xffee, 0x0049, 0xfe33, 0xfe30, 0xfe31, 0xfe32, 0xfe34, 0xfe2f, 0xfe2c, 0xfe2d, 0xfe2e, 0xfe0c, 0xfe0d, 0xfe06, 0xfe07, 0xff7e, 0xfe0e, 0xfe0f, 0xfe20, 0xfe02, 0xfe04, 0xfe05, 0xfe03, 0xfe12, 0xfe13, 0xfe11, 0xfe01, 0xfe22, 0xfe21, 0xfe08, 0xfe09, 0xfe24, 0xfe23, 0xfe25, 0xfe26, 0xfe0a, 0xfe0b, 0xfe2b, 0xfe29, 0xfe2a, 0xfe27, 0xfe28, 0x02a9, 0x00cd, 0x1001eca, 0x100012c, 0x00ce, 0x00cf, 0x00cc, 0x1001ec8, 0x03cf, 0xff63, 0x03c7, 0x03a5, 0x004a, 0x02ac, 0x004b, 0xffb0, 0xffb1, 0xffb2, 0xffb3, 0xffb4, 0xffb5, 0xffb6, 0xffb7, 0xffb8, 0xffb9, 0xffab, 0xff9d, 0xffae, 0xff9f, 0xffaf, 0xff99, 0xff9c, 0xff8d, 0xffbd, 0xff91, 0xff92, 0xff93, 0xff94, 0xff95, 0xff9e, 0xff96, 0xffaa, 0xff9b, 0xff9b, 0xff9a, 0xff9a, 0xff98, 0xffac, 0xff80, 0xffad, 0xff89, 0xff97, 0xff2d, 0xff2e, 0xff21, 0xff37, 0xff26, 0x1008ff06, 0x1008ff05, 0x1008ff04, 0x03d3, 0x0eff, 0x004c, 0xffc8, 0xffd1, 0xffc9, 0xffca, 0xffcb, 0xffcc, 0xffcd, 0xffce, 0xffcf, 0xffd0, 0x01c5, 0xfed4, 0x1008ff40, 0x1008ff41, 0x1008ff42, 0x1008ff43, 0x1008ff44, 0x1008ff45, 0x1008ff46, 0x1008ff47, 0x1008ff48, 0x1008ff49, 0x1008ff4a, 0x1008ff4b, 0x1008ff4c, 0x1008ff4d, 0x1008ff4e, 0x1008ff4f, 0x1001e36, 0x01a5, 0x03a6, 0xff51, 0x1008ff35, 0xff0a, 0x10020a4, 0x1008fe25, 0x1008ff61, 0x1008fe24, 0x01a3, 0x004d, 0x1001e40, 0x06b5, 0x06b2, 0x06bc, 0x06a5, 0x06a2, 0x06ac, 0xff3e, 0x1008ff19, 0x1008ff90, 0x1008ff62, 0xff2c, 0x1008ff63, 0x1008ff1e, 0xff67, 0x1008ff65, 0x1008ff66, 0x1008ff8e, 0xffe7, 0xffe8, 0x10020a5, 0xff7e, 0x1008ff03, 0x1008ff02, 0xfe77, 0xfe76, 0xff22, 0xff20, 0xff3d, 0x1008ff92, 0x1008ff33, 0x1008ff67, 0x004e, 0x01d1, 0x10020a6, 0x01d2, 0x03d1, 0x1008ff68, 0x10020aa, 0x1008ff69, 0xff56, 0x1008fe22, 0xfed2, 0x0, 0x00d1, 0xff7f, 0x004f, 0x13bc, 0x00d3, 0x100019f, 0x1001ecc, 0x10001d1, 0x00d4, 0x1001ed0, 0x1001ed8, 0x1001ed2, 0x1001ed4, 0x1001ed6, 0x00d6, 0x01d5, 0x1008ff6a, 0x00d2, 0x1001ece, 0x10001a0, 0x1001eda, 0x1001ee2, 0x1001edc, 0x1001ede, 0x1001ee0, 0x03d2, 0x00d8, 0x1008ff6b, 0x1008ff38, 0x1008ff6c, 0x00d8, 0x00d5, 0xfe78, 0xfe79, 0x0050, 0x1001e56, 0xff56, 0xff55, 0x1008ff6d, 0xff13, 0x10020a7, 0x1008ff6e, 0x1008ff91, 0xfefa, 0xfee9, 0xfeea, 0xfeeb, 0xfeec, 0xfeed, 0xfee8, 0xfeef, 0xfef0, 0xfef1, 0xfef2, 0xfef3, 0xfeee, 0xfefb, 0xfefc, 0xfee3, 0xfee6, 0xfee7, 0xfef5, 0xfef6, 0xfef7, 0xfef8, 0xfefd, 0xfef4, 0xfef9, 0xfee0, 0xfee1, 0xfee2, 0xfee4, 0xfee5, 0x1008ff21, 0x1008ff2a, 0x1008fe23, 0xfed1, 0xff3e, 0xff61, 0xff55, 0x0051, 0x0052, 0xffd2, 0xffdb, 0xffdc, 0xffdd, 0xffde, 0xffdf, 0xffe0, 0xffd3, 0xffd4, 0xffd5, 0xffd6, 0xffd7, 0xffd8, 0xffd9, 0xffda, 0x01c0, 0x01d8, 0x03a3, 0x1008ffa3, 0xff66, 0x1008ff29, 0x1008ff73, 0xfe72, 0x1008ff72, 0xff0d, 0xff53, 0x1008ff24, 0x1008ff25, 0x1008ff23, 0xff24, 0x1008ff74, 0x1008ff76, 0x1008ff75, 0x10020a8, 0x0053, 0x100018f, 0x1001e60, 0x01a6, 0x1008ff77, 0x01a9, 0x01aa, 0x02de, 0x1008ff2d, 0x1008ff7a, 0x1008ff79, 0x1008ff78, 0xff14, 0x1008ff1b, 0xff60, 0x1008ffa0, 0x1008ff7b, 0x06b1, 0x06bf, 0x06b8, 0x06b9, 0x06ba, 0x06bb, 0x06a1, 0x06af, 0x06a8, 0x06a9, 0x06aa, 0x06ab, 0xffe1, 0xffe6, 0xffe2, 0x1008ff36, 0xff3c, 0x1000d85, 0x1000d86, 0x1000dcf, 0x1000d87, 0x1000dd0, 0x1000d88, 0x1000dd1, 0x1000d93, 0x1000ddb, 0x1000dca, 0x1000d96, 0x1000dde, 0x1000db6, 0x1000db7, 0x1000da0, 0x1000da1, 0x1000da9, 0x1000daa, 0x1000daf, 0x1000db0, 0x1000d91, 0x1000dd9, 0x1000d92, 0x1000dda, 0x1000dc6, 0x1000d9c, 0x1000d9d, 0x1000d83, 0x1000dc4, 0x1000d89, 0x1000dd2, 0x1000d8a, 0x1000dd3, 0x1000da2, 0x1000da3, 0x1000da5, 0x1000d9a, 0x1000d9b, 0x1000df4, 0x1000dbd, 0x1000dc5, 0x1000d8f, 0x1000ddf, 0x1000d90, 0x1000df3, 0x1000db8, 0x1000db9, 0x1000db1, 0x1000dac, 0x1000db3, 0x1000d82, 0x1000d9e, 0x1000d9f, 0x1000da6, 0x1000dab, 0x1000da4, 0x1000d94, 0x1000ddc, 0x1000d95, 0x1000ddd, 0x1000db4, 0x1000db5, 0x1000dbb, 0x1000d8d, 0x1000d8e, 0x1000dd8, 0x1000df2, 0x1000dc3, 0x1000dc1, 0x1000dc2, 0x1000dad, 0x1000dae, 0x1000da7, 0x1000da8, 0x1000d8b, 0x1000dd4, 0x1000d8c, 0x1000dd6, 0x1000dc0, 0x1000dba, 0x1008ff2f, 0xfe73, 0x1008ff7c, 0x1008ff7d, 0x1008ff10, 0x1008ff1a, 0xfe75, 0x1008ff28, 0x1008ff9a, 0xffeb, 0xffec, 0x1008ff7e, 0x1008ffa7, 0x1008fe01, 0x1008fe0a, 0x1008fe0b, 0x1008fe0c, 0x1008fe02, 0x1008fe03, 0x1008fe04, 0x1008fe05, 0x1008fe06, 0x1008fe07, 0x1008fe08, 0x1008fe09, 0xff15, 0x0054, 0x00de, 0xff09, 0x1001e6a, 0x1008ff7f, 0x01ab, 0x01de, 0x1008ff80, 0xfed5, 0x0ddf, 0x0dba, 0x0da8, 0x0daa, 0x0da9, 0x0dac, 0x0dae, 0x0db4, 0x0dbd, 0x0dbf, 0x0dcb, 0x0dce, 0x0da2, 0x0da5, 0x0da3, 0x0da4, 0x0da6, 0x0da1, 0x0de5, 0x0df7, 0x0df5, 0x0df6, 0x0df9, 0x0df1, 0x0df8, 0x0df3, 0x0df4, 0x0df2, 0x0df0, 0x0dcc, 0x0dc5, 0x0dc6, 0x0deb, 0x0de8, 0x0dd1, 0x0dde, 0x0de7, 0x0de9, 0x0dea, 0x0de6, 0x0dc1, 0x0da7, 0x0ded, 0x0db3, 0x0db9, 0x0dcd, 0x0dcf, 0x0dda, 0x0dbe, 0x0dbc, 0x0dc0, 0x0dbb, 0x0dc3, 0x0dc4, 0x0dd0, 0x0dd2, 0x0de1, 0x0de4, 0x0de3, 0x0dd3, 0x0de0, 0x0dd4, 0x0dd5, 0x0de2, 0x0dd8, 0x0dd6, 0x0dd7, 0x0dd9, 0x0dc9, 0x0dc8, 0x0dab, 0x0dca, 0x0dec, 0x0db1, 0x0db2, 0x0db7, 0x0db0, 0x0db8, 0x0db6, 0x0daf, 0x0db5, 0x0dc7, 0x0dc2, 0x0dad, 0x00de, 0x1008ff9f, 0x1008ff1f, 0x1008ff81, 0x1008ffa2, 0x1008ffb1, 0x1008ffb0, 0x1008ffa9, 0xff2b, 0x1008ff82, 0x03ac, 0x0055, 0x00da, 0x1001ee4, 0x02dd, 0x00db, 0x00dc, 0x01db, 0x00d9, 0x1001ee6, 0x10001af, 0x1001ee8, 0x1001ef0, 0x1001eea, 0x1001eec, 0x1001eee, 0x06bd, 0x06b6, 0x06b4, 0x06b7, 0x06ad, 0x06a6, 0x06a4, 0x06a7, 0x06b6, 0x06b4, 0x06b7, 0x06a6, 0x06a4, 0x06a7, 0x03de, 0xff65, 0x1008fe20, 0x03d9, 0xff52, 0x01d9, 0x1008ff85, 0x1008ff86, 0x1008ff84, 0x03dd, 0x0056, 0x1008ff34, 0x1008ff87, 0x1008ffa1, 0xffffff, 0x0057, 0x1008ff95, 0x1008ff2e, 0x1001e82, 0x1008ff2b, 0x1000174, 0x1001e84, 0x1008ff8f, 0x1001e80, 0x1008ff88, 0x1008ff55, 0x1008fe21, 0x10020a9, 0x1008ff89, 0x0058, 0x1001e8a, 0x1008ff8a, 0x0059, 0x00dd, 0x1001ef4, 0x1000176, 0x13be, 0x1008ffa5, 0x1001ef2, 0x1001ef6, 0x1001ef8, 0x005a, 0x01af, 0x01ac, 0x01ae, 0xff3d, 0xff28, 0xff2a, 0x1008ff8b, 0x1008ff8c, 0x10001b5, 0x0061, 0x00e1, 0x1001ea1, 0x01ff, 0x01e3, 0x1001eaf, 0x1001eb7, 0x1001eb1, 0x1001eb3, 0x1001eb5, 0x00e2, 0x1001ea5, 0x1001ead, 0x1001ea7, 0x1001ea9, 0x1001eab, 0x00b4, 0x00e4, 0x00e6, 0x00e0, 0x1001ea3, 0x03e0, 0x0026, 0x01b1, 0x0027, 0x1002248, 0x08c8, 0x00e5, 0x005e, 0x007e, 0x002a, 0x0040, 0x00e3, 0x0062, 0x1001e03, 0x005c, 0x0af4, 0x007c, 0x1002235, 0x09df, 0x08a5, 0x08ac, 0x08a8, 0x08b2, 0x08ae, 0x08aa, 0x08b6, 0x09f6, 0x08b4, 0x007b, 0x007d, 0x005b, 0x005d, 0x1002800, 0xfff1, 0xfffa, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7, 0xfff8, 0xfff9, 0x1002801, 0x1002803, 0x1002807, 0x100280f, 0x100281f, 0x100283f, 0x100287f, 0x10028ff, 0x10028bf, 0x100285f, 0x10028df, 0x100289f, 0x100282f, 0x100286f, 0x10028ef, 0x10028af, 0x100284f, 0x10028cf, 0x100288f, 0x1002817, 0x1002837, 0x1002877, 0x10028f7, 0x10028b7, 0x1002857, 0x10028d7, 0x1002897, 0x1002827, 0x1002867, 0x10028e7, 0x10028a7, 0x1002847, 0x10028c7, 0x1002887, 0x100280b, 0x100281b, 0x100283b, 0x100287b, 0x10028fb, 0x10028bb, 0x100285b, 0x10028db, 0x100289b, 0x100282b, 0x100286b, 0x10028eb, 0x10028ab, 0x100284b, 0x10028cb, 0x100288b, 0x1002813, 0x1002833, 0x1002873, 0x10028f3, 0x10028b3, 0x1002853, 0x10028d3, 0x1002893, 0x1002823, 0x1002863, 0x10028e3, 0x10028a3, 0x1002843, 0x10028c3, 0x1002883, 0x1002805, 0x100280d, 0x100281d, 0x100283d, 0x100287d, 0x10028fd, 0x10028bd, 0x100285d, 0x10028dd, 0x100289d, 0x100282d, 0x100286d, 0x10028ed, 0x10028ad, 0x100284d, 0x10028cd, 0x100288d, 0x1002815, 0x1002835, 0x1002875, 0x10028f5, 0x10028b5, 0x1002855, 0x10028d5, 0x1002895, 0x1002825, 0x1002865, 0x10028e5, 0x10028a5, 0x1002845, 0x10028c5, 0x1002885, 0x1002809, 0x1002819, 0x1002839, 0x1002879, 0x10028f9, 0x10028b9, 0x1002859, 0x10028d9, 0x1002899, 0x1002829, 0x1002869, 0x10028e9, 0x10028a9, 0x1002849, 0x10028c9, 0x1002889, 0x1002811, 0x1002831, 0x1002871, 0x10028f1, 0x10028b1, 0x1002851, 0x10028d1, 0x1002891, 0x1002821, 0x1002861, 0x10028e1, 0x10028a1, 0x1002841, 0x10028c1, 0x1002881, 0x1002802, 0x1002806, 0x100280e, 0x100281e, 0x100283e, 0x100287e, 0x10028fe, 0x10028be, 0x100285e, 0x10028de, 0x100289e, 0x100282e, 0x100286e, 0x10028ee, 0x10028ae, 0x100284e, 0x10028ce, 0x100288e, 0x1002816, 0x1002836, 0x1002876, 0x10028f6, 0x10028b6, 0x1002856, 0x10028d6, 0x1002896, 0x1002826, 0x1002866, 0x10028e6, 0x10028a6, 0x1002846, 0x10028c6, 0x1002886, 0x100280a, 0x100281a, 0x100283a, 0x100287a, 0x10028fa, 0x10028ba, 0x100285a, 0x10028da, 0x100289a, 0x100282a, 0x100286a, 0x10028ea, 0x10028aa, 0x100284a, 0x10028ca, 0x100288a, 0x1002812, 0x1002832, 0x1002872, 0x10028f2, 0x10028b2, 0x1002852, 0x10028d2, 0x1002892, 0x1002822, 0x1002862, 0x10028e2, 0x10028a2, 0x1002842, 0x10028c2, 0x1002882, 0x1002804, 0x100280c, 0x100281c, 0x100283c, 0x100287c, 0x10028fc, 0x10028bc, 0x100285c, 0x10028dc, 0x100289c, 0x100282c, 0x100286c, 0x10028ec, 0x10028ac, 0x100284c, 0x10028cc, 0x100288c, 0x1002814, 0x1002834, 0x1002874, 0x10028f4, 0x10028b4, 0x1002854, 0x10028d4, 0x1002894, 0x1002824, 0x1002864, 0x10028e4, 0x10028a4, 0x1002844, 0x10028c4, 0x1002884, 0x1002808, 0x1002818, 0x1002838, 0x1002878, 0x10028f8, 0x10028b8, 0x1002858, 0x10028d8, 0x1002898, 0x1002828, 0x1002868, 0x10028e8, 0x10028a8, 0x1002848, 0x10028c8, 0x1002888, 0x1002810, 0x1002830, 0x1002870, 0x10028f0, 0x10028b0, 0x1002850, 0x10028d0, 0x1002890, 0x1002820, 0x1002860, 0x10028e0, 0x10028a0, 0x1002840, 0x10028c0, 0x1002880, 0x01a2, 0x00a6, 0x0063, 0xfea3, 0x02e5, 0x01e6, 0x0ab8, 0x0afc, 0x01b7, 0x01e8, 0x00e7, 0x02e6, 0x00b8, 0x00a2, 0xfea0, 0x09e1, 0x0af3, 0x0bcf, 0x0aec, 0x003a, 0x002c, 0x100220b, 0x00a9, 0x09e4, 0x09ee, 0x100221b, 0x00a4, 0x0aff, 0x0064, 0x1001e0b, 0x0af1, 0x01ef, 0xfe81, 0xfe83, 0xfe85, 0xfe87, 0xfe89, 0xfe80, 0xfe64, 0xfe56, 0xfe65, 0xfe58, 0xfe91, 0xfe51, 0xfe6b, 0xfe69, 0xfe6e, 0xfe6c, 0xfe60, 0xfe68, 0xfe67, 0xfe6a, 0xfe92, 0xfe55, 0xfe8b, 0xfe5a, 0xfe5b, 0xfe52, 0xfe6f, 0xfe65, 0xfe57, 0xfe59, 0xfe66, 0xfe82, 0xfe50, 0xfe8c, 0xfe61, 0xfe62, 0xfe84, 0xfe6d, 0xfe5d, 0xfe93, 0xfe90, 0xfe54, 0xfe86, 0xfe5c, 0xfe53, 0xfe64, 0xfe5f, 0xfe8a, 0xfe63, 0xfe53, 0xfe88, 0xfe5e, 0x0abd, 0x00b0, 0x00a8, 0x0aed, 0x0aa5, 0x100222c, 0x00f7, 0x0024, 0x0aaf, 0x01bd, 0x0af2, 0x0afe, 0x08fe, 0x0ba8, 0x0bd6, 0x0bc4, 0x0bc2, 0x01f0, 0x0065, 0x03ec, 0x00e9, 0x1001eb9, 0x01ec, 0x00ea, 0x1001ebf, 0x1001ec7, 0x1001ec1, 0x1001ec3, 0x1001ec5, 0x00eb, 0x00e8, 0x1001ebb, 0x1002088, 0x1002078, 0x1002208, 0x0aae, 0x0aa3, 0x0aa4, 0x03ba, 0x0aa9, 0x0ade, 0x0adf, 0x0ace, 0x0acf, 0x1002205, 0x0aa1, 0x0aaa, 0x0ae6, 0x0ae7, 0x03bf, 0x0ae0, 0x0ae1, 0x0aa2, 0x01ea, 0x003d, 0x00f0, 0x1001ebd, 0x0021, 0x00a1, 0x1000292, 0x0066, 0x1001e1f, 0x0af8, 0x09e3, 0x0abb, 0x0adc, 0x0adb, 0x0add, 0x0ae9, 0x0ae8, 0x0ac5, 0x0ab7, 0x1002085, 0x1002075, 0x0ab5, 0x1002084, 0x1002074, 0x100221c, 0x08f6, 0x0067, 0x02f5, 0x02bb, 0x10001e7, 0x03bb, 0x02f8, 0x0060, 0x003e, 0x08be, 0x00ab, 0x00bb, 0x0068, 0x0aa8, 0x02b6, 0x0aee, 0x0ce0, 0x0cf2, 0x0ce1, 0x0ce1, 0x0ce7, 0x0ce3, 0x0ce3, 0x0cdf, 0x0cea, 0x0ced, 0x0cef, 0x0cf3, 0x0cf5, 0x0cf5, 0x0ce2, 0x0ce2, 0x0ce4, 0x0ce7, 0x0ceb, 0x0cf7, 0x0cec, 0x0cee, 0x0cf0, 0x0cf4, 0x0cf7, 0x0cf8, 0x0cf1, 0x0cf1, 0x0cf9, 0x0cfa, 0x0cfa, 0x0ce8, 0x0ce8, 0x0ce5, 0x0ce9, 0x0cf6, 0x0cf6, 0x0ce6, 0x0ce6, 0x0ada, 0x08a3, 0x09ef, 0x09f0, 0x09f1, 0x09f2, 0x09f3, 0x02b1, 0x09e2, 0x00ad, 0x0069, 0x1008ff60, 0x00ed, 0x1001ecb, 0x100012d, 0x00ee, 0x08cf, 0x00ef, 0x02b9, 0x08cd, 0x00ec, 0x1001ec9, 0x03ef, 0x08ce, 0x08da, 0x08db, 0x08c2, 0x08bf, 0x08dc, 0x03e7, 0x03b5, 0x006a, 0x02bc, 0x0bca, 0x006b, 0x04b1, 0x04c1, 0x04b4, 0x04cc, 0x04ca, 0x04cd, 0x04cb, 0x04ce, 0x04cc, 0x04b2, 0x04b6, 0x04b9, 0x04b7, 0x04ba, 0x04b8, 0x04cf, 0x04d2, 0x04d0, 0x04d3, 0x04d1, 0x04dd, 0x04c5, 0x04c8, 0x04c6, 0x04c9, 0x04c7, 0x04b5, 0x04d7, 0x04da, 0x04d8, 0x04db, 0x04d9, 0x04bb, 0x04be, 0x04bc, 0x04bf, 0x04bd, 0x04c0, 0x04c3, 0x04c1, 0x04c4, 0x04c2, 0x04c2, 0x04b3, 0x04dc, 0x04a6, 0x04d4, 0x04d6, 0x04d5, 0x04a7, 0x04a3, 0x04a4, 0x04a5, 0x04aa, 0x04a1, 0x04a8, 0x04a5, 0x04ab, 0x04a2, 0xff7e, 0x04af, 0x04af, 0x04a9, 0x04ac, 0x04ae, 0x04ad, 0x03a2, 0x03f3, 0x03a2, 0x006c, 0x01e5, 0x0ad9, 0x1001e37, 0x01b5, 0x03b6, 0x0abc, 0x08fb, 0x0ba3, 0x0ad2, 0x08af, 0x0acc, 0x0aea, 0x08a1, 0x0bda, 0x0ad0, 0x09f4, 0x0bdc, 0x003c, 0x08bc, 0x09e5, 0x08de, 0x08df, 0x09ed, 0x09ea, 0x01b3, 0x006d, 0x1001e41, 0x00af, 0x0af7, 0x0af0, 0x0abf, 0x00ba, 0x002d, 0x0ad6, 0x00b5, 0x00d7, 0x0af6, 0x0af5, 0x006e, 0x08c5, 0x01f1, 0x01f2, 0x03f1, 0x1002089, 0x1002079, 0x09e8, 0x00a0, 0x1002247, 0x1002209, 0x08bd, 0x1002262, 0x00ac, 0x00f1, 0x0023, 0x06b0, 0x006f, 0x00f3, 0x1000275, 0x1001ecd, 0x10001d2, 0x00f4, 0x1001ed1, 0x1001ed9, 0x1001ed3, 0x1001ed5, 0x1001ed7, 0x00f6, 0x01f5, 0x13bd, 0x01b2, 0x00f2, 0x1001ecf, 0x10001a1, 0x1001edb, 0x1001ee3, 0x1001edd, 0x1001edf, 0x1001ee1, 0x03f2, 0x0ac3, 0x0ab2, 0x00bd, 0x00bc, 0x0ab6, 0x1002081, 0x00b9, 0x0ab0, 0x00f8, 0x0ae2, 0x0ae5, 0x0ae4, 0x0ae3, 0x00aa, 0x00f8, 0x00f5, 0x0bc0, 0x047e, 0x0070, 0x1001e57, 0x00b6, 0x0028, 0x0029, 0x1002202, 0x08ef, 0x0025, 0x002e, 0x00b7, 0x0ad5, 0x0afb, 0x002b, 0x00b1, 0x0ad4, 0x04b0, 0x0aa6, 0x0071, 0x0bcc, 0x003f, 0x00bf, 0x0022, 0x0060, 0x0027, 0x0072, 0x01e0, 0x08d6, 0x01f8, 0x03b3, 0x00ae, 0x0abe, 0x08fd, 0x0ba6, 0x0ad3, 0x08b0, 0x08b7, 0x0acd, 0x0aeb, 0x0bd8, 0x0ad1, 0x09f5, 0x0bfc, 0x0073, 0x1001e61, 0x01b6, 0x01b9, 0x01ba, 0x1000259, 0x02fe, 0xff7e, 0x0ad7, 0x00a7, 0x003b, 0x04df, 0x0ac6, 0x1002087, 0x1002077, 0x0aca, 0x0aac, 0x08c9, 0x0afd, 0x1002086, 0x1002076, 0x002f, 0x09e0, 0x0020, 0x100221a, 0x00df, 0x00a3, 0x1002263, 0x0074, 0x1001e6b, 0x01bb, 0x01fe, 0x0af9, 0x0afa, 0x08c0, 0x0aa7, 0x00fe, 0x0ac4, 0x0ab4, 0x00be, 0x1002083, 0x00b3, 0x100222d, 0x08a4, 0x08ab, 0x08a2, 0x08a7, 0x08b1, 0x08ad, 0x08a9, 0x08b5, 0x09f7, 0x08b3, 0x0ac9, 0x0acb, 0x03bc, 0x0ab3, 0x1002082, 0x00b2, 0x0ab1, 0x0075, 0x00fa, 0x1001ee5, 0x02fd, 0x00fb, 0x00fc, 0x01fb, 0x00f9, 0x1001ee7, 0x10001b0, 0x1001ee9, 0x1001ef1, 0x1001eeb, 0x1001eed, 0x1001eef, 0x03fe, 0x0bc6, 0x005f, 0x08dd, 0x03f9, 0x08fc, 0x0ba9, 0x09ec, 0x09eb, 0x0bc3, 0x0bd3, 0x0bce, 0x01f9, 0x03fd, 0x0076, 0x08c1, 0x09f8, 0x08a6, 0x04de, 0x09e9, 0x0077, 0x1001e83, 0x1000175, 0x1001e85, 0x1001e81, 0x0078, 0x1001e8b, 0x0079, 0x00fd, 0x1001ef5, 0x1000177, 0x00ff, 0x00a5, 0x1001ef3, 0x1001ef7, 0x1001ef9, 0x007a, 0x01bf, 0x01bc, 0x01be, 0x1002080, 0x1002070, 0x10001b6 }; const static struct KeyNameOffsetByValue { uint32_t sym; uint16_t offset; } keyNameOffsetByValue[] _FCITX_UNUSED_ = { {0x0, 934}, {0x0020, 2178}, {0x0021, 1835}, {0x0022, 2134}, {0x0023, 2069}, {0x0024, 1785}, {0x0025, 2120}, {0x0026, 1397}, {0x0027, 1399}, {0x0028, 2116}, {0x0029, 2117}, {0x002a, 1405}, {0x002b, 2125}, {0x002c, 1714}, {0x002d, 2048}, {0x002e, 2121}, {0x002f, 2176}, {0x0030, 0}, {0x0031, 1}, {0x0032, 2}, {0x0033, 3}, {0x0034, 34}, {0x0035, 35}, {0x0036, 36}, {0x0037, 37}, {0x0038, 38}, {0x0039, 39}, {0x003a, 1713}, {0x003b, 2165}, {0x003c, 2033}, {0x003d, 1832}, {0x003e, 1864}, {0x003f, 2132}, {0x0040, 1406}, {0x0041, 40}, {0x0042, 258}, {0x0043, 273}, {0x0044, 404}, {0x0045, 414}, {0x0046, 445}, {0x0047, 501}, {0x0048, 624}, {0x0049, 747}, {0x004a, 800}, {0x004b, 802}, {0x004c, 850}, {0x004d, 890}, {0x004e, 923}, {0x004f, 937}, {0x0050, 969}, {0x0051, 1015}, {0x0052, 1016}, {0x0053, 1051}, {0x0054, 1191}, {0x0055, 1295}, {0x0056, 1334}, {0x0057, 1339}, {0x0058, 1353}, {0x0059, 1356}, {0x005a, 1365}, {0x005b, 1426}, {0x005c, 1410}, {0x005d, 1427}, {0x005e, 1403}, {0x005f, 2232}, {0x0060, 1863}, {0x0061, 1375}, {0x0062, 1408}, {0x0063, 1696}, {0x0064, 1722}, {0x0065, 1796}, {0x0066, 1838}, {0x0067, 1857}, {0x0068, 1868}, {0x0069, 1921}, {0x006a, 1942}, {0x006b, 1945}, {0x006c, 2015}, {0x006d, 2041}, {0x006e, 2054}, {0x006f, 2071}, {0x0070, 2113}, {0x0071, 2130}, {0x0072, 2137}, {0x0073, 2155}, {0x0074, 2183}, {0x0075, 2215}, {0x0076, 2244}, {0x0077, 2250}, {0x0078, 2255}, {0x0079, 2257}, {0x007a, 2266}, {0x007b, 1424}, {0x007c, 1412}, {0x007d, 1425}, {0x007e, 1404}, {0x00a0, 2062}, {0x00a1, 1836}, {0x00a2, 1707}, {0x00a3, 2181}, {0x00a4, 1720}, {0x00a5, 2262}, {0x00a6, 1695}, {0x00a7, 2164}, {0x00a8, 1780}, {0x00a9, 1716}, {0x00aa, 2108}, {0x00ab, 1866}, {0x00ac, 2067}, {0x00ad, 1920}, {0x00ae, 2142}, {0x00af, 2043}, {0x00b0, 1779}, {0x00b1, 2126}, {0x00b2, 2213}, {0x00b3, 2196}, {0x00b4, 1391}, {0x00b5, 2050}, {0x00b6, 2115}, {0x00b7, 2122}, {0x00b8, 1706}, {0x00b9, 2101}, {0x00ba, 2047}, {0x00bb, 1867}, {0x00bc, 2098}, {0x00bd, 2097}, {0x00be, 2194}, {0x00bf, 2133}, {0x00c0, 60}, {0x00c1, 42}, {0x00c2, 52}, {0x00c3, 239}, {0x00c4, 59}, {0x00c5, 148}, {0x00c6, 41}, {0x00c7, 285}, {0x00c8, 430}, {0x00c9, 419}, {0x00ca, 422}, {0x00cb, 429}, {0x00cc, 794}, {0x00cd, 789}, {0x00ce, 792}, {0x00cf, 793}, {0x00d0, 416}, {0x00d1, 935}, {0x00d2, 952}, {0x00d3, 939}, {0x00d4, 943}, {0x00d5, 966}, {0x00d6, 949}, {0x00d7, 2051}, {0x00d8, 961}, {0x00d9, 1302}, {0x00da, 1296}, {0x00db, 1299}, {0x00dc, 1300}, {0x00dd, 1357}, {0x00de, 1192}, {0x00df, 2180}, {0x00e0, 1394}, {0x00e1, 1376}, {0x00e2, 1385}, {0x00e3, 1407}, {0x00e4, 1392}, {0x00e5, 1402}, {0x00e6, 1393}, {0x00e7, 1704}, {0x00e8, 1808}, {0x00e9, 1798}, {0x00ea, 1801}, {0x00eb, 1807}, {0x00ec, 1931}, {0x00ed, 1923}, {0x00ee, 1926}, {0x00ef, 1928}, {0x00f0, 1833}, {0x00f1, 2068}, {0x00f2, 2086}, {0x00f3, 2072}, {0x00f4, 2076}, {0x00f5, 2110}, {0x00f6, 2082}, {0x00f7, 1784}, {0x00f8, 2103}, {0x00f9, 2222}, {0x00fa, 2216}, {0x00fb, 2219}, {0x00fc, 2220}, {0x00fd, 2258}, {0x00fe, 2191}, {0x00ff, 2261}, {0x01a1, 65}, {0x01a2, 1694}, {0x01a3, 889}, {0x01a5, 880}, {0x01a6, 1054}, {0x01a9, 1056}, {0x01aa, 1057}, {0x01ab, 1196}, {0x01ac, 1367}, {0x01ae, 1368}, {0x01af, 1366}, {0x01b1, 1398}, {0x01b2, 2085}, {0x01b3, 2040}, {0x01b5, 2019}, {0x01b6, 2157}, {0x01b7, 1702}, {0x01b9, 2158}, {0x01ba, 2159}, {0x01bb, 2185}, {0x01bc, 2268}, {0x01bd, 1787}, {0x01be, 2269}, {0x01bf, 2267}, {0x01c0, 1032}, {0x01c3, 44}, {0x01c5, 861}, {0x01c6, 279}, {0x01c8, 284}, {0x01ca, 437}, {0x01cc, 421}, {0x01cf, 407}, {0x01d0, 413}, {0x01d1, 924}, {0x01d2, 926}, {0x01d5, 950}, {0x01d8, 1033}, {0x01d9, 1329}, {0x01db, 1301}, {0x01de, 1197}, {0x01e0, 2138}, {0x01e3, 1379}, {0x01e5, 2016}, {0x01e6, 1699}, {0x01e8, 1703}, {0x01ea, 1831}, {0x01ec, 1800}, {0x01ef, 1725}, {0x01f0, 1795}, {0x01f1, 2056}, {0x01f2, 2057}, {0x01f5, 2083}, {0x01f8, 2140}, {0x01f9, 2242}, {0x01fb, 2221}, {0x01fe, 2186}, {0x01ff, 1378}, {0x02a1, 744}, {0x02a6, 732}, {0x02a9, 788}, {0x02ab, 504}, {0x02ac, 801}, {0x02b1, 1918}, {0x02b6, 1870}, {0x02b9, 1929}, {0x02bb, 1859}, {0x02bc, 1943}, {0x02c5, 278}, {0x02c6, 286}, {0x02d5, 502}, {0x02d8, 507}, {0x02dd, 1298}, {0x02de, 1058}, {0x02e5, 1698}, {0x02e6, 1705}, {0x02f5, 1858}, {0x02f8, 1862}, {0x02fd, 2218}, {0x02fe, 2161}, {0x03a2, 2012}, {0x03a3, 1034}, {0x03a5, 799}, {0x03a6, 881}, {0x03aa, 435}, {0x03ab, 506}, {0x03ac, 1294}, {0x03b3, 2141}, {0x03b5, 1941}, {0x03b6, 2020}, {0x03ba, 1816}, {0x03bb, 1861}, {0x03bc, 2210}, {0x03bd, 415}, {0x03bf, 1827}, {0x03c0, 64}, {0x03c7, 798}, {0x03cc, 418}, {0x03cf, 796}, {0x03d1, 927}, {0x03d2, 960}, {0x03d3, 848}, {0x03d9, 1327}, {0x03dd, 1333}, {0x03de, 1324}, {0x03e0, 1396}, {0x03e7, 1940}, {0x03ec, 1797}, {0x03ef, 1933}, {0x03f1, 2058}, {0x03f2, 2094}, {0x03f3, 2013}, {0x03f9, 2234}, {0x03fd, 2243}, {0x03fe, 2230}, {0x047e, 2112}, {0x04a1, 2000}, {0x04a2, 2004}, {0x04a3, 1996}, {0x04a4, 1997}, {0x04a5, 1998}, {0x04a6, 1991}, {0x04a7, 1995}, {0x04a8, 2001}, {0x04a9, 2008}, {0x04aa, 1999}, {0x04ab, 2003}, {0x04ac, 2009}, {0x04ad, 2011}, {0x04ae, 2010}, {0x04af, 2006}, {0x04b0, 2128}, {0x04b1, 1946}, {0x04b2, 1955}, {0x04b3, 1989}, {0x04b4, 1948}, {0x04b5, 1972}, {0x04b6, 1956}, {0x04b7, 1958}, {0x04b8, 1960}, {0x04b9, 1957}, {0x04ba, 1959}, {0x04bb, 1978}, {0x04bc, 1980}, {0x04bd, 1982}, {0x04be, 1979}, {0x04bf, 1981}, {0x04c0, 1983}, {0x04c1, 1947}, {0x04c2, 1987}, {0x04c3, 1984}, {0x04c4, 1986}, {0x04c5, 1967}, {0x04c6, 1969}, {0x04c7, 1971}, {0x04c8, 1968}, {0x04c9, 1970}, {0x04ca, 1950}, {0x04cb, 1952}, {0x04cc, 1949}, {0x04cd, 1951}, {0x04ce, 1953}, {0x04cf, 1961}, {0x04d0, 1963}, {0x04d1, 1965}, {0x04d2, 1962}, {0x04d3, 1964}, {0x04d4, 1992}, {0x04d5, 1994}, {0x04d6, 1993}, {0x04d7, 1973}, {0x04d8, 1975}, {0x04d9, 1977}, {0x04da, 1974}, {0x04db, 1976}, {0x04dc, 1990}, {0x04dd, 1966}, {0x04de, 2248}, {0x04df, 2166}, {0x05ac, 82}, {0x05bb, 128}, {0x05bf, 123}, {0x05c1, 97}, {0x05c2, 116}, {0x05c3, 100}, {0x05c4, 101}, {0x05c5, 103}, {0x05c6, 102}, {0x05c7, 79}, {0x05c8, 81}, {0x05c9, 138}, {0x05ca, 137}, {0x05cb, 140}, {0x05cc, 107}, {0x05cd, 96}, {0x05ce, 113}, {0x05cf, 84}, {0x05d0, 139}, {0x05d1, 124}, {0x05d2, 147}, {0x05d3, 127}, {0x05d4, 130}, {0x05d5, 126}, {0x05d6, 83}, {0x05d7, 134}, {0x05d8, 146}, {0x05d9, 78}, {0x05da, 94}, {0x05e0, 135}, {0x05e1, 91}, {0x05e2, 122}, {0x05e3, 109}, {0x05e4, 114}, {0x05e5, 117}, {0x05e6, 118}, {0x05e7, 95}, {0x05e8, 143}, {0x05e9, 80}, {0x05ea, 144}, {0x05eb, 90}, {0x05ec, 86}, {0x05ed, 111}, {0x05ee, 89}, {0x05ef, 85}, {0x05f0, 110}, {0x05f1, 129}, {0x05f2, 131}, {0x06a1, 1074}, {0x06a2, 896}, {0x06a3, 375}, {0x06a4, 1316}, {0x06a5, 895}, {0x06a6, 1315}, {0x06a7, 1317}, {0x06a8, 376}, {0x06a9, 380}, {0x06aa, 381}, {0x06ab, 1079}, {0x06ac, 897}, {0x06ad, 1314}, {0x06ae, 272}, {0x06af, 358}, {0x06b0, 2070}, {0x06b1, 1068}, {0x06b2, 893}, {0x06b3, 322}, {0x06b4, 1312}, {0x06b5, 892}, {0x06b6, 1311}, {0x06b7, 1313}, {0x06b8, 324}, {0x06b9, 328}, {0x06ba, 329}, {0x06bb, 1073}, {0x06bc, 894}, {0x06bd, 1310}, {0x06be, 271}, {0x06bf, 306}, {0x06c0, 400}, {0x06c1, 352}, {0x06c2, 353}, {0x06c3, 392}, {0x06c4, 357}, {0x06c5, 374}, {0x06c6, 360}, {0x06c7, 367}, {0x06c8, 369}, {0x06c9, 372}, {0x06ca, 389}, {0x06cb, 377}, {0x06cc, 361}, {0x06cd, 362}, {0x06ce, 363}, {0x06cf, 382}, {0x06d0, 384}, {0x06d1, 398}, {0x06d2, 365}, {0x06d3, 366}, {0x06d4, 391}, {0x06d5, 393}, {0x06d6, 402}, {0x06d7, 397}, {0x06d8, 390}, {0x06d9, 399}, {0x06da, 401}, {0x06db, 386}, {0x06dc, 359}, {0x06dd, 387}, {0x06de, 354}, {0x06df, 371}, {0x06e0, 348}, {0x06e1, 300}, {0x06e2, 301}, {0x06e3, 340}, {0x06e4, 305}, {0x06e5, 321}, {0x06e6, 308}, {0x06e7, 315}, {0x06e8, 317}, {0x06e9, 320}, {0x06ea, 337}, {0x06eb, 325}, {0x06ec, 309}, {0x06ed, 310}, {0x06ee, 311}, {0x06ef, 330}, {0x06f0, 332}, {0x06f1, 346}, {0x06f2, 313}, {0x06f3, 314}, {0x06f4, 339}, {0x06f5, 341}, {0x06f6, 350}, {0x06f7, 345}, {0x06f8, 338}, {0x06f9, 347}, {0x06fa, 349}, {0x06fb, 334}, {0x06fc, 307}, {0x06fd, 335}, {0x06fe, 302}, {0x06ff, 318}, {0x07a1, 549}, {0x07a2, 554}, {0x07a3, 556}, {0x07a4, 559}, {0x07a5, 560}, {0x07a7, 570}, {0x07a8, 579}, {0x07a9, 580}, {0x07ab, 568}, {0x07ae, 583}, {0x07af, 595}, {0x07b1, 585}, {0x07b2, 590}, {0x07b3, 592}, {0x07b4, 597}, {0x07b5, 599}, {0x07b6, 598}, {0x07b7, 608}, {0x07b8, 618}, {0x07b9, 620}, {0x07ba, 619}, {0x07bb, 606}, {0x07c1, 548}, {0x07c2, 550}, {0x07c3, 557}, {0x07c4, 552}, {0x07c5, 553}, {0x07c6, 582}, {0x07c7, 555}, {0x07c8, 577}, {0x07c9, 558}, {0x07ca, 562}, {0x07cb, 563}, {0x07cc, 565}, {0x07cd, 566}, {0x07ce, 581}, {0x07cf, 569}, {0x07d0, 572}, {0x07d1, 574}, {0x07d2, 575}, {0x07d4, 576}, {0x07d5, 578}, {0x07d6, 571}, {0x07d7, 551}, {0x07d8, 573}, {0x07d9, 567}, {0x07e1, 584}, {0x07e2, 586}, {0x07e3, 594}, {0x07e4, 588}, {0x07e5, 589}, {0x07e6, 622}, {0x07e7, 591}, {0x07e8, 616}, {0x07e9, 596}, {0x07ea, 600}, {0x07eb, 601}, {0x07ec, 603}, {0x07ed, 604}, {0x07ee, 621}, {0x07ef, 607}, {0x07f0, 610}, {0x07f1, 612}, {0x07f2, 613}, {0x07f3, 593}, {0x07f4, 615}, {0x07f5, 617}, {0x07f6, 609}, {0x07f7, 587}, {0x07f8, 611}, {0x07f9, 605}, {0x08a1, 2028}, {0x08a2, 2200}, {0x08a3, 1912}, {0x08a4, 2198}, {0x08a5, 1415}, {0x08a6, 2247}, {0x08a7, 2201}, {0x08a8, 1417}, {0x08a9, 2204}, {0x08aa, 1420}, {0x08ab, 2199}, {0x08ac, 1416}, {0x08ad, 2203}, {0x08ae, 1419}, {0x08af, 2025}, {0x08b0, 2147}, {0x08b1, 2202}, {0x08b2, 1418}, {0x08b3, 2207}, {0x08b4, 1423}, {0x08b5, 2205}, {0x08b6, 1421}, {0x08b7, 2148}, {0x08bc, 2034}, {0x08bd, 2065}, {0x08be, 1865}, {0x08bf, 1938}, {0x08c0, 2189}, {0x08c1, 2245}, {0x08c2, 1937}, {0x08c5, 2055}, {0x08c8, 1401}, {0x08c9, 2172}, {0x08cd, 1930}, {0x08ce, 1934}, {0x08cf, 1927}, {0x08d6, 2139}, {0x08da, 1935}, {0x08db, 1936}, {0x08dc, 1939}, {0x08dd, 2233}, {0x08de, 2036}, {0x08df, 2037}, {0x08ef, 2119}, {0x08f6, 1856}, {0x08fb, 2022}, {0x08fc, 2235}, {0x08fd, 2144}, {0x08fe, 1790}, {0x09df, 1414}, {0x09e0, 2177}, {0x09e1, 1709}, {0x09e2, 1919}, {0x09e3, 1841}, {0x09e4, 1717}, {0x09e5, 2035}, {0x09e8, 2061}, {0x09e9, 2249}, {0x09ea, 2039}, {0x09eb, 2238}, {0x09ec, 2237}, {0x09ed, 2038}, {0x09ee, 1718}, {0x09ef, 1913}, {0x09f0, 1914}, {0x09f1, 1915}, {0x09f2, 1916}, {0x09f3, 1917}, {0x09f4, 2031}, {0x09f5, 2153}, {0x09f6, 1422}, {0x09f7, 2206}, {0x09f8, 2246}, {0x0aa1, 1823}, {0x0aa2, 1830}, {0x0aa3, 1814}, {0x0aa4, 1815}, {0x0aa5, 1782}, {0x0aa6, 2129}, {0x0aa7, 2190}, {0x0aa8, 1869}, {0x0aa9, 1817}, {0x0aaa, 1824}, {0x0aac, 2171}, {0x0aae, 1813}, {0x0aaf, 1786}, {0x0ab0, 2102}, {0x0ab1, 2214}, {0x0ab2, 2096}, {0x0ab3, 2211}, {0x0ab4, 2193}, {0x0ab5, 1852}, {0x0ab6, 2099}, {0x0ab7, 1849}, {0x0ab8, 1700}, {0x0abb, 1842}, {0x0abc, 2021}, {0x0abd, 1778}, {0x0abe, 2143}, {0x0abf, 2046}, {0x0ac3, 2095}, {0x0ac4, 2192}, {0x0ac5, 1848}, {0x0ac6, 2167}, {0x0ac9, 2208}, {0x0aca, 2170}, {0x0acb, 2209}, {0x0acc, 2026}, {0x0acd, 2149}, {0x0ace, 1820}, {0x0acf, 1821}, {0x0ad0, 2030}, {0x0ad1, 2152}, {0x0ad2, 2024}, {0x0ad3, 2146}, {0x0ad4, 2127}, {0x0ad5, 2123}, {0x0ad6, 2049}, {0x0ad7, 2163}, {0x0ad9, 2017}, {0x0ada, 1911}, {0x0adb, 1844}, {0x0adc, 1843}, {0x0add, 1845}, {0x0ade, 1818}, {0x0adf, 1819}, {0x0ae0, 1828}, {0x0ae1, 1829}, {0x0ae2, 2104}, {0x0ae3, 2107}, {0x0ae4, 2106}, {0x0ae5, 2105}, {0x0ae6, 1825}, {0x0ae7, 1826}, {0x0ae8, 1847}, {0x0ae9, 1846}, {0x0aea, 2027}, {0x0aeb, 2150}, {0x0aec, 1712}, {0x0aed, 1781}, {0x0aee, 1871}, {0x0af0, 2045}, {0x0af1, 1724}, {0x0af2, 1788}, {0x0af3, 1710}, {0x0af4, 1411}, {0x0af5, 2053}, {0x0af6, 2052}, {0x0af7, 2044}, {0x0af8, 1840}, {0x0af9, 2187}, {0x0afa, 2188}, {0x0afb, 2124}, {0x0afc, 1701}, {0x0afd, 2173}, {0x0afe, 1789}, {0x0aff, 1721}, {0x0ba3, 2023}, {0x0ba6, 2145}, {0x0ba8, 1791}, {0x0ba9, 2236}, {0x0bc0, 2111}, {0x0bc2, 1794}, {0x0bc3, 2239}, {0x0bc4, 1793}, {0x0bc6, 2231}, {0x0bca, 1944}, {0x0bcc, 2131}, {0x0bce, 2241}, {0x0bcf, 1711}, {0x0bd3, 2240}, {0x0bd6, 1792}, {0x0bd8, 2151}, {0x0bda, 2029}, {0x0bdc, 2032}, {0x0bfc, 2154}, {0x0cdf, 1879}, {0x0ce0, 1872}, {0x0ce1, 1874}, {0x0ce2, 1886}, {0x0ce3, 1877}, {0x0ce4, 1888}, {0x0ce5, 1905}, {0x0ce6, 1909}, {0x0ce7, 1876}, {0x0ce8, 1903}, {0x0ce9, 1906}, {0x0cea, 1880}, {0x0ceb, 1890}, {0x0cec, 1892}, {0x0ced, 1881}, {0x0cee, 1893}, {0x0cef, 1882}, {0x0cf0, 1894}, {0x0cf1, 1898}, {0x0cf2, 1873}, {0x0cf3, 1883}, {0x0cf4, 1895}, {0x0cf5, 1884}, {0x0cf6, 1907}, {0x0cf7, 1891}, {0x0cf8, 1897}, {0x0cf9, 1900}, {0x0cfa, 1901}, {0x0da1, 1217}, {0x0da2, 1212}, {0x0da3, 1214}, {0x0da4, 1215}, {0x0da5, 1213}, {0x0da6, 1216}, {0x0da7, 1241}, {0x0da8, 1202}, {0x0da9, 1204}, {0x0daa, 1203}, {0x0dab, 1270}, {0x0dac, 1205}, {0x0dad, 1283}, {0x0dae, 1206}, {0x0daf, 1279}, {0x0db0, 1276}, {0x0db1, 1273}, {0x0db2, 1274}, {0x0db3, 1243}, {0x0db4, 1207}, {0x0db5, 1280}, {0x0db6, 1278}, {0x0db7, 1275}, {0x0db8, 1277}, {0x0db9, 1244}, {0x0dba, 1201}, {0x0dbb, 1251}, {0x0dbc, 1249}, {0x0dbd, 1208}, {0x0dbe, 1248}, {0x0dbf, 1209}, {0x0dc0, 1250}, {0x0dc1, 1240}, {0x0dc2, 1282}, {0x0dc3, 1252}, {0x0dc4, 1253}, {0x0dc5, 1230}, {0x0dc6, 1231}, {0x0dc7, 1281}, {0x0dc8, 1269}, {0x0dc9, 1268}, {0x0dca, 1271}, {0x0dcb, 1210}, {0x0dcc, 1229}, {0x0dcd, 1245}, {0x0dce, 1211}, {0x0dcf, 1246}, {0x0dd0, 1254}, {0x0dd1, 1234}, {0x0dd2, 1255}, {0x0dd3, 1259}, {0x0dd4, 1261}, {0x0dd5, 1262}, {0x0dd6, 1265}, {0x0dd7, 1266}, {0x0dd8, 1264}, {0x0dd9, 1267}, {0x0dda, 1247}, {0x0dde, 1235}, {0x0ddf, 1200}, {0x0de0, 1260}, {0x0de1, 1256}, {0x0de2, 1263}, {0x0de3, 1258}, {0x0de4, 1257}, {0x0de5, 1218}, {0x0de6, 1239}, {0x0de7, 1236}, {0x0de8, 1233}, {0x0de9, 1237}, {0x0dea, 1238}, {0x0deb, 1232}, {0x0dec, 1272}, {0x0ded, 1242}, {0x0df0, 1228}, {0x0df1, 1223}, {0x0df2, 1227}, {0x0df3, 1225}, {0x0df4, 1226}, {0x0df5, 1220}, {0x0df6, 1221}, {0x0df7, 1219}, {0x0df8, 1224}, {0x0df9, 1222}, {0x0ea1, 676}, {0x0ea2, 708}, {0x0ea3, 677}, {0x0ea4, 681}, {0x0ea5, 683}, {0x0ea6, 682}, {0x0ea7, 633}, {0x0ea8, 706}, {0x0ea9, 693}, {0x0eaa, 695}, {0x0eab, 696}, {0x0eac, 698}, {0x0ead, 699}, {0x0eae, 700}, {0x0eaf, 697}, {0x0eb0, 694}, {0x0eb1, 679}, {0x0eb2, 688}, {0x0eb3, 709}, {0x0eb4, 689}, {0x0eb5, 704}, {0x0eb6, 710}, {0x0eb7, 641}, {0x0eb8, 674}, {0x0eb9, 707}, {0x0eba, 631}, {0x0ebb, 675}, {0x0ebc, 715}, {0x0ebd, 687}, {0x0ebe, 639}, {0x0ebf, 626}, {0x0ec0, 627}, {0x0ec1, 722}, {0x0ec2, 723}, {0x0ec3, 635}, {0x0ec4, 634}, {0x0ec5, 725}, {0x0ec6, 724}, {0x0ec7, 684}, {0x0ec8, 717}, {0x0ec9, 718}, {0x0eca, 685}, {0x0ecb, 727}, {0x0ecc, 716}, {0x0ecd, 720}, {0x0ece, 719}, {0x0ecf, 721}, {0x0ed0, 728}, {0x0ed1, 636}, {0x0ed2, 726}, {0x0ed3, 640}, {0x0ed4, 648}, {0x0ed5, 668}, {0x0ed6, 649}, {0x0ed7, 652}, {0x0ed8, 654}, {0x0ed9, 653}, {0x0eda, 643}, {0x0edb, 659}, {0x0edc, 661}, {0x0edd, 662}, {0x0ede, 664}, {0x0edf, 665}, {0x0ee0, 666}, {0x0ee1, 663}, {0x0ee2, 660}, {0x0ee3, 651}, {0x0ee4, 657}, {0x0ee5, 658}, {0x0ee6, 667}, {0x0ee7, 669}, {0x0ee8, 645}, {0x0ee9, 646}, {0x0eea, 642}, {0x0eeb, 647}, {0x0eec, 670}, {0x0eed, 656}, {0x0eee, 644}, {0x0eef, 701}, {0x0ef0, 712}, {0x0ef1, 714}, {0x0ef2, 686}, {0x0ef3, 678}, {0x0ef4, 713}, {0x0ef5, 729}, {0x0ef6, 628}, {0x0ef7, 629}, {0x0ef8, 655}, {0x0ef9, 650}, {0x0efa, 671}, {0x0eff, 849}, {0x13bc, 938}, {0x13bd, 2084}, {0x13be, 1360}, {0x20ac, 441}, {0xfd01, 12}, {0xfd02, 17}, {0xfd03, 30}, {0xfd04, 21}, {0xfd05, 6}, {0xfd06, 14}, {0xfd07, 15}, {0xfd08, 29}, {0xfd09, 27}, {0xfd0a, 22}, {0xfd0b, 23}, {0xfd0c, 24}, {0xfd0d, 33}, {0xfd0e, 5}, {0xfd0f, 9}, {0xfd10, 4}, {0xfd11, 20}, {0xfd12, 19}, {0xfd13, 18}, {0xfd14, 31}, {0xfd15, 8}, {0xfd16, 25}, {0xfd17, 32}, {0xfd18, 28}, {0xfd19, 7}, {0xfd1a, 11}, {0xfd1b, 16}, {0xfd1c, 10}, {0xfd1d, 26}, {0xfd1e, 13}, {0xfe01, 772}, {0xfe02, 765}, {0xfe03, 768}, {0xfe04, 766}, {0xfe05, 767}, {0xfe06, 759}, {0xfe07, 760}, {0xfe08, 775}, {0xfe09, 776}, {0xfe0a, 781}, {0xfe0b, 782}, {0xfe0c, 757}, {0xfe0d, 758}, {0xfe0e, 762}, {0xfe0f, 763}, {0xfe11, 771}, {0xfe12, 769}, {0xfe13, 770}, {0xfe20, 764}, {0xfe21, 774}, {0xfe22, 773}, {0xfe23, 778}, {0xfe24, 777}, {0xfe25, 779}, {0xfe26, 780}, {0xfe27, 786}, {0xfe28, 787}, {0xfe29, 784}, {0xfe2a, 785}, {0xfe2b, 783}, {0xfe2c, 754}, {0xfe2d, 755}, {0xfe2e, 756}, {0xfe2f, 753}, {0xfe30, 749}, {0xfe31, 750}, {0xfe32, 751}, {0xfe33, 748}, {0xfe34, 752}, {0xfe50, 1758}, {0xfe51, 1737}, {0xfe52, 1751}, {0xfe53, 1770}, {0xfe54, 1767}, {0xfe55, 1747}, {0xfe56, 1733}, {0xfe57, 1754}, {0xfe58, 1735}, {0xfe59, 1755}, {0xfe5a, 1749}, {0xfe5b, 1750}, {0xfe5c, 1769}, {0xfe5d, 1764}, {0xfe5e, 1777}, {0xfe5f, 1772}, {0xfe60, 1742}, {0xfe61, 1760}, {0xfe62, 1761}, {0xfe63, 1774}, {0xfe64, 1732}, {0xfe65, 1734}, {0xfe66, 1756}, {0xfe67, 1744}, {0xfe68, 1743}, {0xfe69, 1739}, {0xfe6a, 1745}, {0xfe6b, 1738}, {0xfe6c, 1741}, {0xfe6d, 1763}, {0xfe6e, 1740}, {0xfe6f, 1752}, {0xfe70, 50}, {0xfe71, 51}, {0xfe72, 1039}, {0xfe73, 1166}, {0xfe74, 268}, {0xfe75, 1171}, {0xfe76, 916}, {0xfe77, 915}, {0xfe78, 967}, {0xfe79, 968}, {0xfe7a, 240}, {0xfe80, 1731}, {0xfe81, 1726}, {0xfe82, 1757}, {0xfe83, 1727}, {0xfe84, 1762}, {0xfe85, 1728}, {0xfe86, 1768}, {0xfe87, 1729}, {0xfe88, 1776}, {0xfe89, 1730}, {0xfe8a, 1773}, {0xfe8b, 1748}, {0xfe8c, 1759}, {0xfe90, 1766}, {0xfe91, 1736}, {0xfe92, 1746}, {0xfe93, 1765}, {0xfea0, 1708}, {0xfea1, 287}, {0xfea2, 275}, {0xfea3, 1697}, {0xfea4, 277}, {0xfea5, 276}, {0xfed0, 497}, {0xfed1, 1011}, {0xfed2, 933}, {0xfed4, 862}, {0xfed5, 1199}, {0xfee0, 1003}, {0xfee1, 1004}, {0xfee2, 1005}, {0xfee3, 993}, {0xfee4, 1006}, {0xfee5, 1007}, {0xfee6, 994}, {0xfee7, 995}, {0xfee8, 984}, {0xfee9, 979}, {0xfeea, 980}, {0xfeeb, 981}, {0xfeec, 982}, {0xfeed, 983}, {0xfeee, 990}, {0xfeef, 985}, {0xfef0, 986}, {0xfef1, 987}, {0xfef2, 988}, {0xfef3, 989}, {0xfef4, 1001}, {0xfef5, 996}, {0xfef6, 997}, {0xfef7, 998}, {0xfef8, 999}, {0xfef9, 1002}, {0xfefa, 978}, {0xfefb, 991}, {0xfefc, 992}, {0xfefd, 1000}, {0xff08, 262}, {0xff09, 1193}, {0xff0a, 884}, {0xff0b, 288}, {0xff0d, 1041}, {0xff13, 974}, {0xff14, 1063}, {0xff15, 1190}, {0xff1b, 438}, {0xff20, 918}, {0xff21, 842}, {0xff22, 917}, {0xff23, 735}, {0xff24, 1046}, {0xff25, 738}, {0xff26, 844}, {0xff27, 739}, {0xff28, 1370}, {0xff29, 731}, {0xff2a, 1371}, {0xff2b, 1292}, {0xff2c, 902}, {0xff2d, 840}, {0xff2e, 841}, {0xff2f, 432}, {0xff30, 433}, {0xff31, 625}, {0xff32, 711}, {0xff33, 637}, {0xff34, 638}, {0xff35, 672}, {0xff36, 702}, {0xff37, 290}, {0xff38, 673}, {0xff39, 630}, {0xff3a, 691}, {0xff3b, 690}, {0xff3c, 703}, {0xff3d, 680}, {0xff3e, 692}, {0xff3f, 705}, {0xff50, 741}, {0xff51, 882}, {0xff52, 1328}, {0xff53, 1042}, {0xff54, 412}, {0xff55, 972}, {0xff56, 931}, {0xff57, 436}, {0xff58, 264}, {0xff60, 1065}, {0xff61, 1013}, {0xff62, 443}, {0xff63, 797}, {0xff65, 1325}, {0xff66, 1036}, {0xff67, 905}, {0xff68, 496}, {0xff69, 282}, {0xff6a, 734}, {0xff6b, 269}, {0xff7e, 133}, {0xff7f, 936}, {0xff80, 836}, {0xff89, 838}, {0xff8d, 820}, {0xff91, 822}, {0xff92, 823}, {0xff93, 824}, {0xff94, 825}, {0xff95, 826}, {0xff96, 828}, {0xff97, 839}, {0xff98, 834}, {0xff99, 818}, {0xff9a, 832}, {0xff9b, 830}, {0xff9c, 819}, {0xff9d, 814}, {0xff9e, 827}, {0xff9f, 816}, {0xffaa, 829}, {0xffab, 813}, {0xffac, 835}, {0xffad, 837}, {0xffae, 815}, {0xffaf, 817}, {0xffb0, 803}, {0xffb1, 804}, {0xffb2, 805}, {0xffb3, 806}, {0xffb4, 807}, {0xffb5, 808}, {0xffb6, 809}, {0xffb7, 810}, {0xffb8, 811}, {0xffb9, 812}, {0xffbd, 821}, {0xffbe, 446}, {0xffbf, 457}, {0xffc0, 468}, {0xffc1, 475}, {0xffc2, 476}, {0xffc3, 477}, {0xffc4, 478}, {0xffc5, 479}, {0xffc6, 480}, {0xffc7, 447}, {0xffc8, 448}, {0xffc9, 449}, {0xffca, 450}, {0xffcb, 451}, {0xffcc, 452}, {0xffcd, 453}, {0xffce, 454}, {0xffcf, 455}, {0xffd0, 456}, {0xffd1, 458}, {0xffd2, 459}, {0xffd3, 460}, {0xffd4, 461}, {0xffd5, 462}, {0xffd6, 463}, {0xffd7, 464}, {0xffd8, 465}, {0xffd9, 466}, {0xffda, 467}, {0xffdb, 469}, {0xffdc, 470}, {0xffdd, 471}, {0xffde, 472}, {0xffdf, 473}, {0xffe0, 474}, {0xffe1, 1080}, {0xffe2, 1082}, {0xffe3, 294}, {0xffe4, 295}, {0xffe5, 283}, {0xffe6, 1081}, {0xffe7, 909}, {0xffe8, 910}, {0xffe9, 62}, {0xffea, 63}, {0xffeb, 1174}, {0xffec, 1175}, {0xffed, 745}, {0xffee, 746}, {0xfff1, 1429}, {0xfff2, 1431}, {0xfff3, 1432}, {0xfff4, 1433}, {0xfff5, 1434}, {0xfff6, 1435}, {0xfff7, 1436}, {0xfff8, 1437}, {0xfff9, 1438}, {0xfffa, 1430}, {0xffff, 408}, {0xffffff, 1338}, {0x100012c, 791}, {0x100012d, 1925}, {0x1000174, 1344}, {0x1000175, 2252}, {0x1000176, 1359}, {0x1000177, 2260}, {0x100018f, 1052}, {0x100019f, 940}, {0x10001a0, 954}, {0x10001a1, 2088}, {0x10001af, 1304}, {0x10001b0, 2224}, {0x10001b5, 1374}, {0x10001b6, 2272}, {0x10001b7, 417}, {0x10001d1, 942}, {0x10001d2, 2075}, {0x10001e6, 505}, {0x10001e7, 1860}, {0x1000259, 2160}, {0x1000275, 2073}, {0x1000292, 1837}, {0x1000492, 316}, {0x1000493, 368}, {0x1000496, 351}, {0x1000497, 403}, {0x100049a, 326}, {0x100049b, 378}, {0x100049c, 327}, {0x100049d, 379}, {0x10004a2, 312}, {0x10004a3, 364}, {0x10004ae, 343}, {0x10004af, 395}, {0x10004b0, 344}, {0x10004b1, 396}, {0x10004b2, 319}, {0x10004b3, 370}, {0x10004b6, 303}, {0x10004b7, 355}, {0x10004b8, 304}, {0x10004b9, 356}, {0x10004ba, 336}, {0x10004bb, 388}, {0x10004d8, 333}, {0x10004d9, 385}, {0x10004e2, 323}, {0x10004e3, 373}, {0x10004e8, 331}, {0x10004e9, 383}, {0x10004ee, 342}, {0x10004ef, 394}, {0x1000531, 150}, {0x1000532, 151}, {0x1000533, 158}, {0x1000534, 153}, {0x1000535, 184}, {0x1000536, 185}, {0x1000537, 155}, {0x1000538, 149}, {0x1000539, 177}, {0x100053a, 186}, {0x100053b, 161}, {0x100053c, 166}, {0x100053d, 165}, {0x100053e, 178}, {0x100053f, 164}, {0x1000540, 160}, {0x1000541, 154}, {0x1000542, 157}, {0x1000543, 176}, {0x1000544, 167}, {0x1000545, 159}, {0x1000546, 168}, {0x1000547, 175}, {0x1000548, 182}, {0x1000549, 152}, {0x100054a, 170}, {0x100054b, 162}, {0x100054c, 172}, {0x100054d, 174}, {0x100054e, 181}, {0x100054f, 180}, {0x1000550, 173}, {0x1000551, 179}, {0x1000552, 183}, {0x1000553, 171}, {0x1000554, 163}, {0x1000555, 169}, {0x1000556, 156}, {0x100055a, 189}, {0x100055b, 187}, {0x100055c, 188}, {0x100055d, 193}, {0x100055e, 216}, {0x1000561, 191}, {0x1000562, 192}, {0x1000563, 202}, {0x1000564, 195}, {0x1000565, 235}, {0x1000566, 237}, {0x1000567, 197}, {0x1000568, 190}, {0x1000569, 227}, {0x100056a, 238}, {0x100056b, 206}, {0x100056c, 212}, {0x100056d, 210}, {0x100056e, 228}, {0x100056f, 209}, {0x1000570, 204}, {0x1000571, 196}, {0x1000572, 201}, {0x1000573, 226}, {0x1000574, 213}, {0x1000575, 203}, {0x1000576, 214}, {0x1000577, 224}, {0x1000578, 233}, {0x1000579, 194}, {0x100057a, 217}, {0x100057b, 207}, {0x100057c, 220}, {0x100057d, 222}, {0x100057e, 232}, {0x100057f, 230}, {0x1000580, 221}, {0x1000581, 229}, {0x1000582, 234}, {0x1000583, 218}, {0x1000584, 208}, {0x1000585, 215}, {0x1000586, 199}, {0x1000587, 211}, {0x1000589, 200}, {0x100058a, 205}, {0x1000653, 115}, {0x1000654, 98}, {0x1000655, 99}, {0x1000660, 68}, {0x1000661, 69}, {0x1000662, 70}, {0x1000663, 71}, {0x1000664, 72}, {0x1000665, 73}, {0x1000666, 74}, {0x1000667, 75}, {0x1000668, 76}, {0x1000669, 77}, {0x100066a, 121}, {0x1000670, 132}, {0x1000679, 141}, {0x100067e, 120}, {0x1000686, 136}, {0x1000688, 87}, {0x1000691, 125}, {0x1000698, 108}, {0x10006a4, 142}, {0x10006a9, 112}, {0x10006af, 93}, {0x10006ba, 119}, {0x10006be, 105}, {0x10006c1, 106}, {0x10006cc, 88}, {0x10006d2, 145}, {0x10006d4, 92}, {0x10006f0, 483}, {0x10006f1, 484}, {0x10006f2, 485}, {0x10006f3, 486}, {0x10006f4, 487}, {0x10006f5, 488}, {0x10006f6, 489}, {0x10006f7, 490}, {0x10006f8, 491}, {0x10006f9, 492}, {0x1000d82, 1135}, {0x1000d83, 1112}, {0x1000d85, 1085}, {0x1000d86, 1086}, {0x1000d87, 1088}, {0x1000d88, 1090}, {0x1000d89, 1114}, {0x1000d8a, 1116}, {0x1000d8b, 1159}, {0x1000d8c, 1161}, {0x1000d8d, 1148}, {0x1000d8e, 1149}, {0x1000d8f, 1126}, {0x1000d90, 1128}, {0x1000d91, 1105}, {0x1000d92, 1107}, {0x1000d93, 1092}, {0x1000d94, 1141}, {0x1000d95, 1143}, {0x1000d96, 1095}, {0x1000d9a, 1121}, {0x1000d9b, 1122}, {0x1000d9c, 1110}, {0x1000d9d, 1111}, {0x1000d9e, 1136}, {0x1000d9f, 1137}, {0x1000da0, 1099}, {0x1000da1, 1100}, {0x1000da2, 1118}, {0x1000da3, 1119}, {0x1000da4, 1140}, {0x1000da5, 1120}, {0x1000da6, 1138}, {0x1000da7, 1157}, {0x1000da8, 1158}, {0x1000da9, 1101}, {0x1000daa, 1102}, {0x1000dab, 1139}, {0x1000dac, 1133}, {0x1000dad, 1155}, {0x1000dae, 1156}, {0x1000daf, 1103}, {0x1000db0, 1104}, {0x1000db1, 1132}, {0x1000db3, 1134}, {0x1000db4, 1145}, {0x1000db5, 1146}, {0x1000db6, 1097}, {0x1000db7, 1098}, {0x1000db8, 1130}, {0x1000db9, 1131}, {0x1000dba, 1164}, {0x1000dbb, 1147}, {0x1000dbd, 1124}, {0x1000dc0, 1163}, {0x1000dc1, 1153}, {0x1000dc2, 1154}, {0x1000dc3, 1152}, {0x1000dc4, 1113}, {0x1000dc5, 1125}, {0x1000dc6, 1109}, {0x1000dca, 1094}, {0x1000dcf, 1087}, {0x1000dd0, 1089}, {0x1000dd1, 1091}, {0x1000dd2, 1115}, {0x1000dd3, 1117}, {0x1000dd4, 1160}, {0x1000dd6, 1162}, {0x1000dd8, 1150}, {0x1000dd9, 1106}, {0x1000dda, 1108}, {0x1000ddb, 1093}, {0x1000ddc, 1142}, {0x1000ddd, 1144}, {0x1000dde, 1096}, {0x1000ddf, 1127}, {0x1000df2, 1151}, {0x1000df3, 1129}, {0x1000df4, 1123}, {0x10010d0, 508}, {0x10010d1, 509}, {0x10010d2, 517}, {0x10010d3, 514}, {0x10010d4, 515}, {0x10010d5, 542}, {0x10010d6, 545}, {0x10010d7, 539}, {0x10010d8, 524}, {0x10010d9, 527}, {0x10010da, 529}, {0x10010db, 530}, {0x10010dc, 531}, {0x10010dd, 532}, {0x10010de, 533}, {0x10010df, 546}, {0x10010e0, 536}, {0x10010e1, 537}, {0x10010e2, 540}, {0x10010e3, 541}, {0x10010e4, 534}, {0x10010e5, 528}, {0x10010e6, 518}, {0x10010e7, 535}, {0x10010e8, 538}, {0x10010e9, 512}, {0x10010ea, 510}, {0x10010eb, 526}, {0x10010ec, 513}, {0x10010ed, 511}, {0x10010ee, 544}, {0x10010ef, 525}, {0x10010f0, 519}, {0x10010f1, 521}, {0x10010f2, 522}, {0x10010f3, 543}, {0x10010f4, 520}, {0x10010f5, 523}, {0x10010f6, 516}, {0x1001e02, 259}, {0x1001e03, 1409}, {0x1001e0a, 406}, {0x1001e0b, 1723}, {0x1001e1e, 482}, {0x1001e1f, 1839}, {0x1001e36, 879}, {0x1001e37, 2018}, {0x1001e40, 891}, {0x1001e41, 2042}, {0x1001e56, 970}, {0x1001e57, 2114}, {0x1001e60, 1053}, {0x1001e61, 2156}, {0x1001e6a, 1194}, {0x1001e6b, 2184}, {0x1001e80, 1347}, {0x1001e81, 2254}, {0x1001e82, 1342}, {0x1001e83, 2251}, {0x1001e84, 1345}, {0x1001e85, 2253}, {0x1001e8a, 1354}, {0x1001e8b, 2256}, {0x1001ea0, 43}, {0x1001ea1, 1377}, {0x1001ea2, 61}, {0x1001ea3, 1395}, {0x1001ea4, 53}, {0x1001ea5, 1386}, {0x1001ea6, 55}, {0x1001ea7, 1388}, {0x1001ea8, 56}, {0x1001ea9, 1389}, {0x1001eaa, 57}, {0x1001eab, 1390}, {0x1001eac, 54}, {0x1001ead, 1387}, {0x1001eae, 45}, {0x1001eaf, 1380}, {0x1001eb0, 47}, {0x1001eb1, 1382}, {0x1001eb2, 48}, {0x1001eb3, 1383}, {0x1001eb4, 49}, {0x1001eb5, 1384}, {0x1001eb6, 46}, {0x1001eb7, 1381}, {0x1001eb8, 420}, {0x1001eb9, 1799}, {0x1001eba, 431}, {0x1001ebb, 1809}, {0x1001ebc, 440}, {0x1001ebd, 1834}, {0x1001ebe, 423}, {0x1001ebf, 1802}, {0x1001ec0, 425}, {0x1001ec1, 1804}, {0x1001ec2, 426}, {0x1001ec3, 1805}, {0x1001ec4, 427}, {0x1001ec5, 1806}, {0x1001ec6, 424}, {0x1001ec7, 1803}, {0x1001ec8, 795}, {0x1001ec9, 1932}, {0x1001eca, 790}, {0x1001ecb, 1924}, {0x1001ecc, 941}, {0x1001ecd, 2074}, {0x1001ece, 953}, {0x1001ecf, 2087}, {0x1001ed0, 944}, {0x1001ed1, 2077}, {0x1001ed2, 946}, {0x1001ed3, 2079}, {0x1001ed4, 947}, {0x1001ed5, 2080}, {0x1001ed6, 948}, {0x1001ed7, 2081}, {0x1001ed8, 945}, {0x1001ed9, 2078}, {0x1001eda, 955}, {0x1001edb, 2089}, {0x1001edc, 957}, {0x1001edd, 2091}, {0x1001ede, 958}, {0x1001edf, 2092}, {0x1001ee0, 959}, {0x1001ee1, 2093}, {0x1001ee2, 956}, {0x1001ee3, 2090}, {0x1001ee4, 1297}, {0x1001ee5, 2217}, {0x1001ee6, 1303}, {0x1001ee7, 2223}, {0x1001ee8, 1305}, {0x1001ee9, 2225}, {0x1001eea, 1307}, {0x1001eeb, 2227}, {0x1001eec, 1308}, {0x1001eed, 2228}, {0x1001eee, 1309}, {0x1001eef, 2229}, {0x1001ef0, 1306}, {0x1001ef1, 2226}, {0x1001ef2, 1362}, {0x1001ef3, 2263}, {0x1001ef4, 1358}, {0x1001ef5, 2259}, {0x1001ef6, 1363}, {0x1001ef7, 2264}, {0x1001ef8, 1364}, {0x1001ef9, 2265}, {0x1002070, 2271}, {0x1002074, 1854}, {0x1002075, 1851}, {0x1002076, 2175}, {0x1002077, 2169}, {0x1002078, 1811}, {0x1002079, 2060}, {0x1002080, 2270}, {0x1002081, 2100}, {0x1002082, 2212}, {0x1002083, 2195}, {0x1002084, 1853}, {0x1002085, 1850}, {0x1002086, 2174}, {0x1002087, 2168}, {0x1002088, 1810}, {0x1002089, 2059}, {0x10020a0, 428}, {0x10020a1, 291}, {0x10020a2, 297}, {0x10020a3, 481}, {0x10020a4, 885}, {0x10020a5, 911}, {0x10020a6, 925}, {0x10020a7, 975}, {0x10020a8, 1050}, {0x10020a9, 1351}, {0x10020aa, 929}, {0x10020ab, 411}, {0x1002202, 2118}, {0x1002205, 1822}, {0x1002208, 1812}, {0x1002209, 2064}, {0x100220b, 1715}, {0x100221a, 2179}, {0x100221b, 1719}, {0x100221c, 1855}, {0x100222c, 1783}, {0x100222d, 2197}, {0x1002235, 1413}, {0x1002247, 2063}, {0x1002248, 1400}, {0x1002262, 2066}, {0x1002263, 2182}, {0x1002800, 1428}, {0x1002801, 1439}, {0x1002802, 1567}, {0x1002803, 1440}, {0x1002804, 1631}, {0x1002805, 1504}, {0x1002806, 1568}, {0x1002807, 1441}, {0x1002808, 1663}, {0x1002809, 1536}, {0x100280a, 1600}, {0x100280b, 1473}, {0x100280c, 1632}, {0x100280d, 1505}, {0x100280e, 1569}, {0x100280f, 1442}, {0x1002810, 1679}, {0x1002811, 1552}, {0x1002812, 1616}, {0x1002813, 1489}, {0x1002814, 1648}, {0x1002815, 1521}, {0x1002816, 1585}, {0x1002817, 1458}, {0x1002818, 1664}, {0x1002819, 1537}, {0x100281a, 1601}, {0x100281b, 1474}, {0x100281c, 1633}, {0x100281d, 1506}, {0x100281e, 1570}, {0x100281f, 1443}, {0x1002820, 1687}, {0x1002821, 1560}, {0x1002822, 1624}, {0x1002823, 1497}, {0x1002824, 1656}, {0x1002825, 1529}, {0x1002826, 1593}, {0x1002827, 1466}, {0x1002828, 1672}, {0x1002829, 1545}, {0x100282a, 1609}, {0x100282b, 1482}, {0x100282c, 1641}, {0x100282d, 1514}, {0x100282e, 1578}, {0x100282f, 1451}, {0x1002830, 1680}, {0x1002831, 1553}, {0x1002832, 1617}, {0x1002833, 1490}, {0x1002834, 1649}, {0x1002835, 1522}, {0x1002836, 1586}, {0x1002837, 1459}, {0x1002838, 1665}, {0x1002839, 1538}, {0x100283a, 1602}, {0x100283b, 1475}, {0x100283c, 1634}, {0x100283d, 1507}, {0x100283e, 1571}, {0x100283f, 1444}, {0x1002840, 1691}, {0x1002841, 1564}, {0x1002842, 1628}, {0x1002843, 1501}, {0x1002844, 1660}, {0x1002845, 1533}, {0x1002846, 1597}, {0x1002847, 1470}, {0x1002848, 1676}, {0x1002849, 1549}, {0x100284a, 1613}, {0x100284b, 1486}, {0x100284c, 1645}, {0x100284d, 1518}, {0x100284e, 1582}, {0x100284f, 1455}, {0x1002850, 1684}, {0x1002851, 1557}, {0x1002852, 1621}, {0x1002853, 1494}, {0x1002854, 1653}, {0x1002855, 1526}, {0x1002856, 1590}, {0x1002857, 1463}, {0x1002858, 1669}, {0x1002859, 1542}, {0x100285a, 1606}, {0x100285b, 1479}, {0x100285c, 1638}, {0x100285d, 1511}, {0x100285e, 1575}, {0x100285f, 1448}, {0x1002860, 1688}, {0x1002861, 1561}, {0x1002862, 1625}, {0x1002863, 1498}, {0x1002864, 1657}, {0x1002865, 1530}, {0x1002866, 1594}, {0x1002867, 1467}, {0x1002868, 1673}, {0x1002869, 1546}, {0x100286a, 1610}, {0x100286b, 1483}, {0x100286c, 1642}, {0x100286d, 1515}, {0x100286e, 1579}, {0x100286f, 1452}, {0x1002870, 1681}, {0x1002871, 1554}, {0x1002872, 1618}, {0x1002873, 1491}, {0x1002874, 1650}, {0x1002875, 1523}, {0x1002876, 1587}, {0x1002877, 1460}, {0x1002878, 1666}, {0x1002879, 1539}, {0x100287a, 1603}, {0x100287b, 1476}, {0x100287c, 1635}, {0x100287d, 1508}, {0x100287e, 1572}, {0x100287f, 1445}, {0x1002880, 1693}, {0x1002881, 1566}, {0x1002882, 1630}, {0x1002883, 1503}, {0x1002884, 1662}, {0x1002885, 1535}, {0x1002886, 1599}, {0x1002887, 1472}, {0x1002888, 1678}, {0x1002889, 1551}, {0x100288a, 1615}, {0x100288b, 1488}, {0x100288c, 1647}, {0x100288d, 1520}, {0x100288e, 1584}, {0x100288f, 1457}, {0x1002890, 1686}, {0x1002891, 1559}, {0x1002892, 1623}, {0x1002893, 1496}, {0x1002894, 1655}, {0x1002895, 1528}, {0x1002896, 1592}, {0x1002897, 1465}, {0x1002898, 1671}, {0x1002899, 1544}, {0x100289a, 1608}, {0x100289b, 1481}, {0x100289c, 1640}, {0x100289d, 1513}, {0x100289e, 1577}, {0x100289f, 1450}, {0x10028a0, 1690}, {0x10028a1, 1563}, {0x10028a2, 1627}, {0x10028a3, 1500}, {0x10028a4, 1659}, {0x10028a5, 1532}, {0x10028a6, 1596}, {0x10028a7, 1469}, {0x10028a8, 1675}, {0x10028a9, 1548}, {0x10028aa, 1612}, {0x10028ab, 1485}, {0x10028ac, 1644}, {0x10028ad, 1517}, {0x10028ae, 1581}, {0x10028af, 1454}, {0x10028b0, 1683}, {0x10028b1, 1556}, {0x10028b2, 1620}, {0x10028b3, 1493}, {0x10028b4, 1652}, {0x10028b5, 1525}, {0x10028b6, 1589}, {0x10028b7, 1462}, {0x10028b8, 1668}, {0x10028b9, 1541}, {0x10028ba, 1605}, {0x10028bb, 1478}, {0x10028bc, 1637}, {0x10028bd, 1510}, {0x10028be, 1574}, {0x10028bf, 1447}, {0x10028c0, 1692}, {0x10028c1, 1565}, {0x10028c2, 1629}, {0x10028c3, 1502}, {0x10028c4, 1661}, {0x10028c5, 1534}, {0x10028c6, 1598}, {0x10028c7, 1471}, {0x10028c8, 1677}, {0x10028c9, 1550}, {0x10028ca, 1614}, {0x10028cb, 1487}, {0x10028cc, 1646}, {0x10028cd, 1519}, {0x10028ce, 1583}, {0x10028cf, 1456}, {0x10028d0, 1685}, {0x10028d1, 1558}, {0x10028d2, 1622}, {0x10028d3, 1495}, {0x10028d4, 1654}, {0x10028d5, 1527}, {0x10028d6, 1591}, {0x10028d7, 1464}, {0x10028d8, 1670}, {0x10028d9, 1543}, {0x10028da, 1607}, {0x10028db, 1480}, {0x10028dc, 1639}, {0x10028dd, 1512}, {0x10028de, 1576}, {0x10028df, 1449}, {0x10028e0, 1689}, {0x10028e1, 1562}, {0x10028e2, 1626}, {0x10028e3, 1499}, {0x10028e4, 1658}, {0x10028e5, 1531}, {0x10028e6, 1595}, {0x10028e7, 1468}, {0x10028e8, 1674}, {0x10028e9, 1547}, {0x10028ea, 1611}, {0x10028eb, 1484}, {0x10028ec, 1643}, {0x10028ed, 1516}, {0x10028ee, 1580}, {0x10028ef, 1453}, {0x10028f0, 1682}, {0x10028f1, 1555}, {0x10028f2, 1619}, {0x10028f3, 1492}, {0x10028f4, 1651}, {0x10028f5, 1524}, {0x10028f6, 1588}, {0x10028f7, 1461}, {0x10028f8, 1667}, {0x10028f9, 1540}, {0x10028fa, 1604}, {0x10028fb, 1477}, {0x10028fc, 1636}, {0x10028fd, 1509}, {0x10028fe, 1573}, {0x10028ff, 1446}, {0x1008fe01, 1178}, {0x1008fe02, 1182}, {0x1008fe03, 1183}, {0x1008fe04, 1184}, {0x1008fe05, 1185}, {0x1008fe06, 1186}, {0x1008fe07, 1187}, {0x1008fe08, 1188}, {0x1008fe09, 1189}, {0x1008fe0a, 1179}, {0x1008fe0b, 1180}, {0x1008fe0c, 1181}, {0x1008fe20, 1326}, {0x1008fe21, 1350}, {0x1008fe22, 932}, {0x1008fe23, 1010}, {0x1008fe24, 888}, {0x1008fe25, 886}, {0x1008ff02, 914}, {0x1008ff03, 913}, {0x1008ff04, 847}, {0x1008ff05, 846}, {0x1008ff06, 845}, {0x1008ff10, 1169}, {0x1008ff11, 243}, {0x1008ff12, 246}, {0x1008ff13, 251}, {0x1008ff14, 249}, {0x1008ff15, 256}, {0x1008ff16, 250}, {0x1008ff17, 247}, {0x1008ff18, 742}, {0x1008ff19, 899}, {0x1008ff1a, 1170}, {0x1008ff1b, 1064}, {0x1008ff1c, 253}, {0x1008ff1d, 280}, {0x1008ff1e, 904}, {0x1008ff1f, 1286}, {0x1008ff20, 281}, {0x1008ff21, 1008}, {0x1008ff22, 293}, {0x1008ff23, 1045}, {0x1008ff24, 1043}, {0x1008ff25, 1044}, {0x1008ff26, 260}, {0x1008ff27, 498}, {0x1008ff28, 1172}, {0x1008ff29, 1037}, {0x1008ff2a, 1009}, {0x1008ff2b, 1343}, {0x1008ff2c, 434}, {0x1008ff2d, 1059}, {0x1008ff2e, 1341}, {0x1008ff2f, 1165}, {0x1008ff30, 494}, {0x1008ff31, 248}, {0x1008ff32, 244}, {0x1008ff33, 921}, {0x1008ff34, 1335}, {0x1008ff35, 883}, {0x1008ff36, 1083}, {0x1008ff37, 740}, {0x1008ff38, 963}, {0x1008ff39, 58}, {0x1008ff3a, 743}, {0x1008ff3b, 270}, {0x1008ff3c, 495}, {0x1008ff3d, 292}, {0x1008ff3e, 255}, {0x1008ff3f, 261}, {0x1008ff40, 863}, {0x1008ff41, 864}, {0x1008ff42, 865}, {0x1008ff43, 866}, {0x1008ff44, 867}, {0x1008ff45, 868}, {0x1008ff46, 869}, {0x1008ff47, 870}, {0x1008ff48, 871}, {0x1008ff49, 872}, {0x1008ff4a, 873}, {0x1008ff4b, 874}, {0x1008ff4c, 875}, {0x1008ff4d, 876}, {0x1008ff4e, 877}, {0x1008ff4f, 878}, {0x1008ff50, 66}, {0x1008ff51, 67}, {0x1008ff52, 267}, {0x1008ff53, 274}, {0x1008ff55, 1349}, {0x1008ff56, 289}, {0x1008ff57, 296}, {0x1008ff58, 298}, {0x1008ff59, 409}, {0x1008ff5a, 405}, {0x1008ff5b, 410}, {0x1008ff5c, 442}, {0x1008ff5d, 444}, {0x1008ff5e, 503}, {0x1008ff5f, 547}, {0x1008ff60, 1922}, {0x1008ff61, 887}, {0x1008ff62, 901}, {0x1008ff63, 903}, {0x1008ff65, 906}, {0x1008ff66, 907}, {0x1008ff67, 922}, {0x1008ff68, 928}, {0x1008ff69, 930}, {0x1008ff6a, 951}, {0x1008ff6b, 962}, {0x1008ff6c, 964}, {0x1008ff6d, 973}, {0x1008ff6e, 976}, {0x1008ff72, 1040}, {0x1008ff73, 1038}, {0x1008ff74, 1047}, {0x1008ff75, 1049}, {0x1008ff76, 1048}, {0x1008ff77, 1055}, {0x1008ff78, 1062}, {0x1008ff79, 1061}, {0x1008ff7a, 1060}, {0x1008ff7b, 1067}, {0x1008ff7c, 1167}, {0x1008ff7d, 1168}, {0x1008ff7e, 1176}, {0x1008ff7f, 1195}, {0x1008ff80, 1198}, {0x1008ff81, 1287}, {0x1008ff82, 1293}, {0x1008ff84, 1332}, {0x1008ff85, 1330}, {0x1008ff86, 1331}, {0x1008ff87, 1336}, {0x1008ff88, 1348}, {0x1008ff89, 1352}, {0x1008ff8a, 1355}, {0x1008ff8b, 1372}, {0x1008ff8c, 1373}, {0x1008ff8d, 257}, {0x1008ff8e, 908}, {0x1008ff8f, 1346}, {0x1008ff90, 900}, {0x1008ff91, 977}, {0x1008ff92, 920}, {0x1008ff93, 263}, {0x1008ff94, 266}, {0x1008ff95, 1340}, {0x1008ff97, 242}, {0x1008ff98, 254}, {0x1008ff99, 252}, {0x1008ff9a, 1173}, {0x1008ff9b, 241}, {0x1008ff9c, 299}, {0x1008ff9d, 499}, {0x1008ff9e, 500}, {0x1008ff9f, 1285}, {0x1008ffa0, 1066}, {0x1008ffa1, 1337}, {0x1008ffa2, 1288}, {0x1008ffa3, 1035}, {0x1008ffa4, 623}, {0x1008ffa5, 1361}, {0x1008ffa6, 265}, {0x1008ffa7, 1177}, {0x1008ffa8, 737}, {0x1008ffa9, 1291}, {0x1008ffb0, 1290}, {0x1008ffb1, 1289}, {0x1008ffb2, 245}, }; #ifdef __cplusplus } #endif #endif fcitx-rime-master/gui/src/keysym.h000066400000000000000000000030171442203361500174640ustar00rootroot00000000000000/* * Copyright (C) 2012~2015 by CSSlayer * wengxt@gmail.com * Copyright (C) 2017 Modified by xzhao * i@xuzhao.net * * 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 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; see the file COPYING. If not, * see . */ #ifndef _FCITX_UTILS_KEYSYM_H_ #define _FCITX_UTILS_KEYSYM_H_ #include namespace fcitx { /** * fcitx key state (modifier keys) **/ enum class KeyState : uint32_t { None = 0, Shift = 1 << 0, CapsLock = 1 << 1, Ctrl = 1 << 2, Alt = 1 << 3, Alt_Shift = Alt | Shift, Ctrl_Shift = Ctrl | Shift, Ctrl_Alt = Ctrl | Alt, Ctrl_Alt_Shift = Ctrl | Alt | Shift, NumLock = 1 << 4, Super = 1 << 6, ScrollLock = 1 << 7, MousePressed = 1 << 8, HandledMask = 1 << 24, IgnoredMask = 1 << 25, Super2 = 1 << 26, Hyper = 1 << 27, Meta = 1 << 28, UsedMask = 0x5c001fff, SimpleMask = Ctrl_Alt_Shift | Super | Super2 | Hyper | Meta, }; } // namespace fcitx #endif fcitx-rime-master/gui/src/keysymgen.h000066400000000000000000004305141442203361500201640ustar00rootroot00000000000000/* * Copyright (C) 2015~2015 by CSSlayer * wengxt@gmail.com * * 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 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; see the file COPYING. If not, * see . */ #ifndef _FCITX_UTILS_KEYSYMGEN_H_ #define _FCITX_UTILS_KEYSYMGEN_H_ #ifdef __cplusplus extern "C" { #endif typedef enum _FcitxKeySym { FcitxKey_None = 0x0, FcitxKey_VoidSymbol = 0xffffff, /* Void symbol */ FcitxKey_BackSpace = 0xff08, /* Back space, back char */ FcitxKey_Tab = 0xff09, FcitxKey_Linefeed = 0xff0a, /* Linefeed, LF */ FcitxKey_Clear = 0xff0b, FcitxKey_Return = 0xff0d, /* Return, enter */ FcitxKey_Pause = 0xff13, /* Pause, hold */ FcitxKey_Scroll_Lock = 0xff14, FcitxKey_Sys_Req = 0xff15, FcitxKey_Escape = 0xff1b, FcitxKey_Delete = 0xffff, /* Delete, rubout */ FcitxKey_Multi_key = 0xff20, /* Multi-key character compose */ FcitxKey_Codeinput = 0xff37, FcitxKey_SingleCandidate = 0xff3c, FcitxKey_MultipleCandidate = 0xff3d, FcitxKey_PreviousCandidate = 0xff3e, FcitxKey_Kanji = 0xff21, /* Kanji, Kanji convert */ FcitxKey_Muhenkan = 0xff22, /* Cancel Conversion */ FcitxKey_Henkan_Mode = 0xff23, /* Start/Stop Conversion */ FcitxKey_Henkan = 0xff23, /* Alias for Henkan_Mode */ FcitxKey_Romaji = 0xff24, /* to Romaji */ FcitxKey_Hiragana = 0xff25, /* to Hiragana */ FcitxKey_Katakana = 0xff26, /* to Katakana */ FcitxKey_Hiragana_Katakana = 0xff27, /* Hiragana/Katakana toggle */ FcitxKey_Zenkaku = 0xff28, /* to Zenkaku */ FcitxKey_Hankaku = 0xff29, /* to Hankaku */ FcitxKey_Zenkaku_Hankaku = 0xff2a, /* Zenkaku/Hankaku toggle */ FcitxKey_Touroku = 0xff2b, /* Add to Dictionary */ FcitxKey_Massyo = 0xff2c, /* Delete from Dictionary */ FcitxKey_Kana_Lock = 0xff2d, /* Kana Lock */ FcitxKey_Kana_Shift = 0xff2e, /* Kana Shift */ FcitxKey_Eisu_Shift = 0xff2f, /* Alphanumeric Shift */ FcitxKey_Eisu_toggle = 0xff30, /* Alphanumeric toggle */ FcitxKey_Kanji_Bangou = 0xff37, /* Codeinput */ FcitxKey_Zen_Koho = 0xff3d, /* Multiple/All Candidate(s) */ FcitxKey_Mae_Koho = 0xff3e, /* Previous Candidate */ FcitxKey_Home = 0xff50, FcitxKey_Left = 0xff51, /* Move left, left arrow */ FcitxKey_Up = 0xff52, /* Move up, up arrow */ FcitxKey_Right = 0xff53, /* Move right, right arrow */ FcitxKey_Down = 0xff54, /* Move down, down arrow */ FcitxKey_Prior = 0xff55, /* Prior, previous */ FcitxKey_Page_Up = 0xff55, FcitxKey_Next = 0xff56, /* Next */ FcitxKey_Page_Down = 0xff56, FcitxKey_End = 0xff57, /* EOL */ FcitxKey_Begin = 0xff58, /* BOL */ FcitxKey_Select = 0xff60, /* Select, mark */ FcitxKey_Print = 0xff61, FcitxKey_Execute = 0xff62, /* Execute, run, do */ FcitxKey_Insert = 0xff63, /* Insert, insert here */ FcitxKey_Undo = 0xff65, FcitxKey_Redo = 0xff66, /* Redo, again */ FcitxKey_Menu = 0xff67, FcitxKey_Find = 0xff68, /* Find, search */ FcitxKey_Cancel = 0xff69, /* Cancel, stop, abort, exit */ FcitxKey_Help = 0xff6a, /* Help */ FcitxKey_Break = 0xff6b, FcitxKey_Mode_switch = 0xff7e, /* Character set switch */ FcitxKey_script_switch = 0xff7e, /* Alias for mode_switch */ FcitxKey_Num_Lock = 0xff7f, FcitxKey_KP_Space = 0xff80, /* Space */ FcitxKey_KP_Tab = 0xff89, FcitxKey_KP_Enter = 0xff8d, /* Enter */ FcitxKey_KP_F1 = 0xff91, /* PF1, KP_A, ... */ FcitxKey_KP_F2 = 0xff92, FcitxKey_KP_F3 = 0xff93, FcitxKey_KP_F4 = 0xff94, FcitxKey_KP_Home = 0xff95, FcitxKey_KP_Left = 0xff96, FcitxKey_KP_Up = 0xff97, FcitxKey_KP_Right = 0xff98, FcitxKey_KP_Down = 0xff99, FcitxKey_KP_Prior = 0xff9a, FcitxKey_KP_Page_Up = 0xff9a, FcitxKey_KP_Next = 0xff9b, FcitxKey_KP_Page_Down = 0xff9b, FcitxKey_KP_End = 0xff9c, FcitxKey_KP_Begin = 0xff9d, FcitxKey_KP_Insert = 0xff9e, FcitxKey_KP_Delete = 0xff9f, FcitxKey_KP_Equal = 0xffbd, /* Equals */ FcitxKey_KP_Multiply = 0xffaa, FcitxKey_KP_Add = 0xffab, FcitxKey_KP_Separator = 0xffac, /* Separator, often comma */ FcitxKey_KP_Subtract = 0xffad, FcitxKey_KP_Decimal = 0xffae, FcitxKey_KP_Divide = 0xffaf, FcitxKey_KP_0 = 0xffb0, FcitxKey_KP_1 = 0xffb1, FcitxKey_KP_2 = 0xffb2, FcitxKey_KP_3 = 0xffb3, FcitxKey_KP_4 = 0xffb4, FcitxKey_KP_5 = 0xffb5, FcitxKey_KP_6 = 0xffb6, FcitxKey_KP_7 = 0xffb7, FcitxKey_KP_8 = 0xffb8, FcitxKey_KP_9 = 0xffb9, FcitxKey_F1 = 0xffbe, FcitxKey_F2 = 0xffbf, FcitxKey_F3 = 0xffc0, FcitxKey_F4 = 0xffc1, FcitxKey_F5 = 0xffc2, FcitxKey_F6 = 0xffc3, FcitxKey_F7 = 0xffc4, FcitxKey_F8 = 0xffc5, FcitxKey_F9 = 0xffc6, FcitxKey_F10 = 0xffc7, FcitxKey_F11 = 0xffc8, FcitxKey_L1 = 0xffc8, FcitxKey_F12 = 0xffc9, FcitxKey_L2 = 0xffc9, FcitxKey_F13 = 0xffca, FcitxKey_L3 = 0xffca, FcitxKey_F14 = 0xffcb, FcitxKey_L4 = 0xffcb, FcitxKey_F15 = 0xffcc, FcitxKey_L5 = 0xffcc, FcitxKey_F16 = 0xffcd, FcitxKey_L6 = 0xffcd, FcitxKey_F17 = 0xffce, FcitxKey_L7 = 0xffce, FcitxKey_F18 = 0xffcf, FcitxKey_L8 = 0xffcf, FcitxKey_F19 = 0xffd0, FcitxKey_L9 = 0xffd0, FcitxKey_F20 = 0xffd1, FcitxKey_L10 = 0xffd1, FcitxKey_F21 = 0xffd2, FcitxKey_R1 = 0xffd2, FcitxKey_F22 = 0xffd3, FcitxKey_R2 = 0xffd3, FcitxKey_F23 = 0xffd4, FcitxKey_R3 = 0xffd4, FcitxKey_F24 = 0xffd5, FcitxKey_R4 = 0xffd5, FcitxKey_F25 = 0xffd6, FcitxKey_R5 = 0xffd6, FcitxKey_F26 = 0xffd7, FcitxKey_R6 = 0xffd7, FcitxKey_F27 = 0xffd8, FcitxKey_R7 = 0xffd8, FcitxKey_F28 = 0xffd9, FcitxKey_R8 = 0xffd9, FcitxKey_F29 = 0xffda, FcitxKey_R9 = 0xffda, FcitxKey_F30 = 0xffdb, FcitxKey_R10 = 0xffdb, FcitxKey_F31 = 0xffdc, FcitxKey_R11 = 0xffdc, FcitxKey_F32 = 0xffdd, FcitxKey_R12 = 0xffdd, FcitxKey_F33 = 0xffde, FcitxKey_R13 = 0xffde, FcitxKey_F34 = 0xffdf, FcitxKey_R14 = 0xffdf, FcitxKey_F35 = 0xffe0, FcitxKey_R15 = 0xffe0, FcitxKey_Shift_L = 0xffe1, /* Left shift */ FcitxKey_Shift_R = 0xffe2, /* Right shift */ FcitxKey_Control_L = 0xffe3, /* Left control */ FcitxKey_Control_R = 0xffe4, /* Right control */ FcitxKey_Caps_Lock = 0xffe5, /* Caps lock */ FcitxKey_Shift_Lock = 0xffe6, /* Shift lock */ FcitxKey_Meta_L = 0xffe7, /* Left meta */ FcitxKey_Meta_R = 0xffe8, /* Right meta */ FcitxKey_Alt_L = 0xffe9, /* Left alt */ FcitxKey_Alt_R = 0xffea, /* Right alt */ FcitxKey_Super_L = 0xffeb, /* Left super */ FcitxKey_Super_R = 0xffec, /* Right super */ FcitxKey_Hyper_L = 0xffed, /* Left hyper */ FcitxKey_Hyper_R = 0xffee, /* Right hyper */ FcitxKey_ISO_Lock = 0xfe01, FcitxKey_ISO_Level2_Latch = 0xfe02, FcitxKey_ISO_Level3_Shift = 0xfe03, FcitxKey_ISO_Level3_Latch = 0xfe04, FcitxKey_ISO_Level3_Lock = 0xfe05, FcitxKey_ISO_Level5_Shift = 0xfe11, FcitxKey_ISO_Level5_Latch = 0xfe12, FcitxKey_ISO_Level5_Lock = 0xfe13, FcitxKey_ISO_Group_Shift = 0xff7e, /* Alias for mode_switch */ FcitxKey_ISO_Group_Latch = 0xfe06, FcitxKey_ISO_Group_Lock = 0xfe07, FcitxKey_ISO_Next_Group = 0xfe08, FcitxKey_ISO_Next_Group_Lock = 0xfe09, FcitxKey_ISO_Prev_Group = 0xfe0a, FcitxKey_ISO_Prev_Group_Lock = 0xfe0b, FcitxKey_ISO_First_Group = 0xfe0c, FcitxKey_ISO_First_Group_Lock = 0xfe0d, FcitxKey_ISO_Last_Group = 0xfe0e, FcitxKey_ISO_Last_Group_Lock = 0xfe0f, FcitxKey_ISO_Left_Tab = 0xfe20, FcitxKey_ISO_Move_Line_Up = 0xfe21, FcitxKey_ISO_Move_Line_Down = 0xfe22, FcitxKey_ISO_Partial_Line_Up = 0xfe23, FcitxKey_ISO_Partial_Line_Down = 0xfe24, FcitxKey_ISO_Partial_Space_Left = 0xfe25, FcitxKey_ISO_Partial_Space_Right = 0xfe26, FcitxKey_ISO_Set_Margin_Left = 0xfe27, FcitxKey_ISO_Set_Margin_Right = 0xfe28, FcitxKey_ISO_Release_Margin_Left = 0xfe29, FcitxKey_ISO_Release_Margin_Right = 0xfe2a, FcitxKey_ISO_Release_Both_Margins = 0xfe2b, FcitxKey_ISO_Fast_Cursor_Left = 0xfe2c, FcitxKey_ISO_Fast_Cursor_Right = 0xfe2d, FcitxKey_ISO_Fast_Cursor_Up = 0xfe2e, FcitxKey_ISO_Fast_Cursor_Down = 0xfe2f, FcitxKey_ISO_Continuous_Underline = 0xfe30, FcitxKey_ISO_Discontinuous_Underline = 0xfe31, FcitxKey_ISO_Emphasize = 0xfe32, FcitxKey_ISO_Center_Object = 0xfe33, FcitxKey_ISO_Enter = 0xfe34, FcitxKey_dead_grave = 0xfe50, FcitxKey_dead_acute = 0xfe51, FcitxKey_dead_circumflex = 0xfe52, FcitxKey_dead_tilde = 0xfe53, FcitxKey_dead_perispomeni = 0xfe53, /* alias for dead_tilde */ FcitxKey_dead_macron = 0xfe54, FcitxKey_dead_breve = 0xfe55, FcitxKey_dead_abovedot = 0xfe56, FcitxKey_dead_diaeresis = 0xfe57, FcitxKey_dead_abovering = 0xfe58, FcitxKey_dead_doubleacute = 0xfe59, FcitxKey_dead_caron = 0xfe5a, FcitxKey_dead_cedilla = 0xfe5b, FcitxKey_dead_ogonek = 0xfe5c, FcitxKey_dead_iota = 0xfe5d, FcitxKey_dead_voiced_sound = 0xfe5e, FcitxKey_dead_semivoiced_sound = 0xfe5f, FcitxKey_dead_belowdot = 0xfe60, FcitxKey_dead_hook = 0xfe61, FcitxKey_dead_horn = 0xfe62, FcitxKey_dead_stroke = 0xfe63, FcitxKey_dead_abovecomma = 0xfe64, FcitxKey_dead_psili = 0xfe64, /* alias for dead_abovecomma */ FcitxKey_dead_abovereversedcomma = 0xfe65, FcitxKey_dead_dasia = 0xfe65, /* alias for dead_abovereversedcomma */ FcitxKey_dead_doublegrave = 0xfe66, FcitxKey_dead_belowring = 0xfe67, FcitxKey_dead_belowmacron = 0xfe68, FcitxKey_dead_belowcircumflex = 0xfe69, FcitxKey_dead_belowtilde = 0xfe6a, FcitxKey_dead_belowbreve = 0xfe6b, FcitxKey_dead_belowdiaeresis = 0xfe6c, FcitxKey_dead_invertedbreve = 0xfe6d, FcitxKey_dead_belowcomma = 0xfe6e, FcitxKey_dead_currency = 0xfe6f, FcitxKey_dead_lowline = 0xfe90, FcitxKey_dead_aboveverticalline = 0xfe91, FcitxKey_dead_belowverticalline = 0xfe92, FcitxKey_dead_longsolidusoverlay = 0xfe93, FcitxKey_dead_a = 0xfe80, FcitxKey_dead_A = 0xfe81, FcitxKey_dead_e = 0xfe82, FcitxKey_dead_E = 0xfe83, FcitxKey_dead_i = 0xfe84, FcitxKey_dead_I = 0xfe85, FcitxKey_dead_o = 0xfe86, FcitxKey_dead_O = 0xfe87, FcitxKey_dead_u = 0xfe88, FcitxKey_dead_U = 0xfe89, FcitxKey_dead_small_schwa = 0xfe8a, FcitxKey_dead_capital_schwa = 0xfe8b, FcitxKey_dead_greek = 0xfe8c, FcitxKey_First_Virtual_Screen = 0xfed0, FcitxKey_Prev_Virtual_Screen = 0xfed1, FcitxKey_Next_Virtual_Screen = 0xfed2, FcitxKey_Last_Virtual_Screen = 0xfed4, FcitxKey_Terminate_Server = 0xfed5, FcitxKey_AccessX_Enable = 0xfe70, FcitxKey_AccessX_Feedback_Enable = 0xfe71, FcitxKey_RepeatKeys_Enable = 0xfe72, FcitxKey_SlowKeys_Enable = 0xfe73, FcitxKey_BounceKeys_Enable = 0xfe74, FcitxKey_StickyKeys_Enable = 0xfe75, FcitxKey_MouseKeys_Enable = 0xfe76, FcitxKey_MouseKeys_Accel_Enable = 0xfe77, FcitxKey_Overlay1_Enable = 0xfe78, FcitxKey_Overlay2_Enable = 0xfe79, FcitxKey_AudibleBell_Enable = 0xfe7a, FcitxKey_Pointer_Left = 0xfee0, FcitxKey_Pointer_Right = 0xfee1, FcitxKey_Pointer_Up = 0xfee2, FcitxKey_Pointer_Down = 0xfee3, FcitxKey_Pointer_UpLeft = 0xfee4, FcitxKey_Pointer_UpRight = 0xfee5, FcitxKey_Pointer_DownLeft = 0xfee6, FcitxKey_Pointer_DownRight = 0xfee7, FcitxKey_Pointer_Button_Dflt = 0xfee8, FcitxKey_Pointer_Button1 = 0xfee9, FcitxKey_Pointer_Button2 = 0xfeea, FcitxKey_Pointer_Button3 = 0xfeeb, FcitxKey_Pointer_Button4 = 0xfeec, FcitxKey_Pointer_Button5 = 0xfeed, FcitxKey_Pointer_DblClick_Dflt = 0xfeee, FcitxKey_Pointer_DblClick1 = 0xfeef, FcitxKey_Pointer_DblClick2 = 0xfef0, FcitxKey_Pointer_DblClick3 = 0xfef1, FcitxKey_Pointer_DblClick4 = 0xfef2, FcitxKey_Pointer_DblClick5 = 0xfef3, FcitxKey_Pointer_Drag_Dflt = 0xfef4, FcitxKey_Pointer_Drag1 = 0xfef5, FcitxKey_Pointer_Drag2 = 0xfef6, FcitxKey_Pointer_Drag3 = 0xfef7, FcitxKey_Pointer_Drag4 = 0xfef8, FcitxKey_Pointer_Drag5 = 0xfefd, FcitxKey_Pointer_EnableKeys = 0xfef9, FcitxKey_Pointer_Accelerate = 0xfefa, FcitxKey_Pointer_DfltBtnNext = 0xfefb, FcitxKey_Pointer_DfltBtnPrev = 0xfefc, FcitxKey_ch = 0xfea0, FcitxKey_Ch = 0xfea1, FcitxKey_CH = 0xfea2, FcitxKey_c_h = 0xfea3, FcitxKey_C_h = 0xfea4, FcitxKey_C_H = 0xfea5, FcitxKey_3270_Duplicate = 0xfd01, FcitxKey_3270_FieldMark = 0xfd02, FcitxKey_3270_Right2 = 0xfd03, FcitxKey_3270_Left2 = 0xfd04, FcitxKey_3270_BackTab = 0xfd05, FcitxKey_3270_EraseEOF = 0xfd06, FcitxKey_3270_EraseInput = 0xfd07, FcitxKey_3270_Reset = 0xfd08, FcitxKey_3270_Quit = 0xfd09, FcitxKey_3270_PA1 = 0xfd0a, FcitxKey_3270_PA2 = 0xfd0b, FcitxKey_3270_PA3 = 0xfd0c, FcitxKey_3270_Test = 0xfd0d, FcitxKey_3270_Attn = 0xfd0e, FcitxKey_3270_CursorBlink = 0xfd0f, FcitxKey_3270_AltCursor = 0xfd10, FcitxKey_3270_KeyClick = 0xfd11, FcitxKey_3270_Jump = 0xfd12, FcitxKey_3270_Ident = 0xfd13, FcitxKey_3270_Rule = 0xfd14, FcitxKey_3270_Copy = 0xfd15, FcitxKey_3270_Play = 0xfd16, FcitxKey_3270_Setup = 0xfd17, FcitxKey_3270_Record = 0xfd18, FcitxKey_3270_ChangeScreen = 0xfd19, FcitxKey_3270_DeleteWord = 0xfd1a, FcitxKey_3270_ExSelect = 0xfd1b, FcitxKey_3270_CursorSelect = 0xfd1c, FcitxKey_3270_PrintScreen = 0xfd1d, FcitxKey_3270_Enter = 0xfd1e, FcitxKey_space = 0x0020, /* U+0020 SPACE */ FcitxKey_exclam = 0x0021, /* U+0021 EXCLAMATION MARK */ FcitxKey_quotedbl = 0x0022, /* U+0022 QUOTATION MARK */ FcitxKey_numbersign = 0x0023, /* U+0023 NUMBER SIGN */ FcitxKey_dollar = 0x0024, /* U+0024 DOLLAR SIGN */ FcitxKey_percent = 0x0025, /* U+0025 PERCENT SIGN */ FcitxKey_ampersand = 0x0026, /* U+0026 AMPERSAND */ FcitxKey_apostrophe = 0x0027, /* U+0027 APOSTROPHE */ FcitxKey_quoteright = 0x0027, /* deprecated */ FcitxKey_parenleft = 0x0028, /* U+0028 LEFT PARENTHESIS */ FcitxKey_parenright = 0x0029, /* U+0029 RIGHT PARENTHESIS */ FcitxKey_asterisk = 0x002a, /* U+002A ASTERISK */ FcitxKey_plus = 0x002b, /* U+002B PLUS SIGN */ FcitxKey_comma = 0x002c, /* U+002C COMMA */ FcitxKey_minus = 0x002d, /* U+002D HYPHEN-MINUS */ FcitxKey_period = 0x002e, /* U+002E FULL STOP */ FcitxKey_slash = 0x002f, /* U+002F SOLIDUS */ FcitxKey_0 = 0x0030, /* U+0030 DIGIT ZERO */ FcitxKey_1 = 0x0031, /* U+0031 DIGIT ONE */ FcitxKey_2 = 0x0032, /* U+0032 DIGIT TWO */ FcitxKey_3 = 0x0033, /* U+0033 DIGIT THREE */ FcitxKey_4 = 0x0034, /* U+0034 DIGIT FOUR */ FcitxKey_5 = 0x0035, /* U+0035 DIGIT FIVE */ FcitxKey_6 = 0x0036, /* U+0036 DIGIT SIX */ FcitxKey_7 = 0x0037, /* U+0037 DIGIT SEVEN */ FcitxKey_8 = 0x0038, /* U+0038 DIGIT EIGHT */ FcitxKey_9 = 0x0039, /* U+0039 DIGIT NINE */ FcitxKey_colon = 0x003a, /* U+003A COLON */ FcitxKey_semicolon = 0x003b, /* U+003B SEMICOLON */ FcitxKey_less = 0x003c, /* U+003C LESS-THAN SIGN */ FcitxKey_equal = 0x003d, /* U+003D EQUALS SIGN */ FcitxKey_greater = 0x003e, /* U+003E GREATER-THAN SIGN */ FcitxKey_question = 0x003f, /* U+003F QUESTION MARK */ FcitxKey_at = 0x0040, /* U+0040 COMMERCIAL AT */ FcitxKey_A = 0x0041, /* U+0041 LATIN CAPITAL LETTER A */ FcitxKey_B = 0x0042, /* U+0042 LATIN CAPITAL LETTER B */ FcitxKey_C = 0x0043, /* U+0043 LATIN CAPITAL LETTER C */ FcitxKey_D = 0x0044, /* U+0044 LATIN CAPITAL LETTER D */ FcitxKey_E = 0x0045, /* U+0045 LATIN CAPITAL LETTER E */ FcitxKey_F = 0x0046, /* U+0046 LATIN CAPITAL LETTER F */ FcitxKey_G = 0x0047, /* U+0047 LATIN CAPITAL LETTER G */ FcitxKey_H = 0x0048, /* U+0048 LATIN CAPITAL LETTER H */ FcitxKey_I = 0x0049, /* U+0049 LATIN CAPITAL LETTER I */ FcitxKey_J = 0x004a, /* U+004A LATIN CAPITAL LETTER J */ FcitxKey_K = 0x004b, /* U+004B LATIN CAPITAL LETTER K */ FcitxKey_L = 0x004c, /* U+004C LATIN CAPITAL LETTER L */ FcitxKey_M = 0x004d, /* U+004D LATIN CAPITAL LETTER M */ FcitxKey_N = 0x004e, /* U+004E LATIN CAPITAL LETTER N */ FcitxKey_O = 0x004f, /* U+004F LATIN CAPITAL LETTER O */ FcitxKey_P = 0x0050, /* U+0050 LATIN CAPITAL LETTER P */ FcitxKey_Q = 0x0051, /* U+0051 LATIN CAPITAL LETTER Q */ FcitxKey_R = 0x0052, /* U+0052 LATIN CAPITAL LETTER R */ FcitxKey_S = 0x0053, /* U+0053 LATIN CAPITAL LETTER S */ FcitxKey_T = 0x0054, /* U+0054 LATIN CAPITAL LETTER T */ FcitxKey_U = 0x0055, /* U+0055 LATIN CAPITAL LETTER U */ FcitxKey_V = 0x0056, /* U+0056 LATIN CAPITAL LETTER V */ FcitxKey_W = 0x0057, /* U+0057 LATIN CAPITAL LETTER W */ FcitxKey_X = 0x0058, /* U+0058 LATIN CAPITAL LETTER X */ FcitxKey_Y = 0x0059, /* U+0059 LATIN CAPITAL LETTER Y */ FcitxKey_Z = 0x005a, /* U+005A LATIN CAPITAL LETTER Z */ FcitxKey_bracketleft = 0x005b, /* U+005B LEFT SQUARE BRACKET */ FcitxKey_backslash = 0x005c, /* U+005C REVERSE SOLIDUS */ FcitxKey_bracketright = 0x005d, /* U+005D RIGHT SQUARE BRACKET */ FcitxKey_asciicircum = 0x005e, /* U+005E CIRCUMFLEX ACCENT */ FcitxKey_underscore = 0x005f, /* U+005F LOW LINE */ FcitxKey_grave = 0x0060, /* U+0060 GRAVE ACCENT */ FcitxKey_quoteleft = 0x0060, /* deprecated */ FcitxKey_a = 0x0061, /* U+0061 LATIN SMALL LETTER A */ FcitxKey_b = 0x0062, /* U+0062 LATIN SMALL LETTER B */ FcitxKey_c = 0x0063, /* U+0063 LATIN SMALL LETTER C */ FcitxKey_d = 0x0064, /* U+0064 LATIN SMALL LETTER D */ FcitxKey_e = 0x0065, /* U+0065 LATIN SMALL LETTER E */ FcitxKey_f = 0x0066, /* U+0066 LATIN SMALL LETTER F */ FcitxKey_g = 0x0067, /* U+0067 LATIN SMALL LETTER G */ FcitxKey_h = 0x0068, /* U+0068 LATIN SMALL LETTER H */ FcitxKey_i = 0x0069, /* U+0069 LATIN SMALL LETTER I */ FcitxKey_j = 0x006a, /* U+006A LATIN SMALL LETTER J */ FcitxKey_k = 0x006b, /* U+006B LATIN SMALL LETTER K */ FcitxKey_l = 0x006c, /* U+006C LATIN SMALL LETTER L */ FcitxKey_m = 0x006d, /* U+006D LATIN SMALL LETTER M */ FcitxKey_n = 0x006e, /* U+006E LATIN SMALL LETTER N */ FcitxKey_o = 0x006f, /* U+006F LATIN SMALL LETTER O */ FcitxKey_p = 0x0070, /* U+0070 LATIN SMALL LETTER P */ FcitxKey_q = 0x0071, /* U+0071 LATIN SMALL LETTER Q */ FcitxKey_r = 0x0072, /* U+0072 LATIN SMALL LETTER R */ FcitxKey_s = 0x0073, /* U+0073 LATIN SMALL LETTER S */ FcitxKey_t = 0x0074, /* U+0074 LATIN SMALL LETTER T */ FcitxKey_u = 0x0075, /* U+0075 LATIN SMALL LETTER U */ FcitxKey_v = 0x0076, /* U+0076 LATIN SMALL LETTER V */ FcitxKey_w = 0x0077, /* U+0077 LATIN SMALL LETTER W */ FcitxKey_x = 0x0078, /* U+0078 LATIN SMALL LETTER X */ FcitxKey_y = 0x0079, /* U+0079 LATIN SMALL LETTER Y */ FcitxKey_z = 0x007a, /* U+007A LATIN SMALL LETTER Z */ FcitxKey_braceleft = 0x007b, /* U+007B LEFT CURLY BRACKET */ FcitxKey_bar = 0x007c, /* U+007C VERTICAL LINE */ FcitxKey_braceright = 0x007d, /* U+007D RIGHT CURLY BRACKET */ FcitxKey_asciitilde = 0x007e, /* U+007E TILDE */ FcitxKey_nobreakspace = 0x00a0, /* U+00A0 NO-BREAK SPACE */ FcitxKey_exclamdown = 0x00a1, /* U+00A1 INVERTED EXCLAMATION MARK */ FcitxKey_cent = 0x00a2, /* U+00A2 CENT SIGN */ FcitxKey_sterling = 0x00a3, /* U+00A3 POUND SIGN */ FcitxKey_currency = 0x00a4, /* U+00A4 CURRENCY SIGN */ FcitxKey_yen = 0x00a5, /* U+00A5 YEN SIGN */ FcitxKey_brokenbar = 0x00a6, /* U+00A6 BROKEN BAR */ FcitxKey_section = 0x00a7, /* U+00A7 SECTION SIGN */ FcitxKey_diaeresis = 0x00a8, /* U+00A8 DIAERESIS */ FcitxKey_copyright = 0x00a9, /* U+00A9 COPYRIGHT SIGN */ FcitxKey_ordfeminine = 0x00aa, /* U+00AA FEMININE ORDINAL INDICATOR */ FcitxKey_guillemotleft = 0x00ab, /* U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */ FcitxKey_notsign = 0x00ac, /* U+00AC NOT SIGN */ FcitxKey_hyphen = 0x00ad, /* U+00AD SOFT HYPHEN */ FcitxKey_registered = 0x00ae, /* U+00AE REGISTERED SIGN */ FcitxKey_macron = 0x00af, /* U+00AF MACRON */ FcitxKey_degree = 0x00b0, /* U+00B0 DEGREE SIGN */ FcitxKey_plusminus = 0x00b1, /* U+00B1 PLUS-MINUS SIGN */ FcitxKey_twosuperior = 0x00b2, /* U+00B2 SUPERSCRIPT TWO */ FcitxKey_threesuperior = 0x00b3, /* U+00B3 SUPERSCRIPT THREE */ FcitxKey_acute = 0x00b4, /* U+00B4 ACUTE ACCENT */ FcitxKey_mu = 0x00b5, /* U+00B5 MICRO SIGN */ FcitxKey_paragraph = 0x00b6, /* U+00B6 PILCROW SIGN */ FcitxKey_periodcentered = 0x00b7, /* U+00B7 MIDDLE DOT */ FcitxKey_cedilla = 0x00b8, /* U+00B8 CEDILLA */ FcitxKey_onesuperior = 0x00b9, /* U+00B9 SUPERSCRIPT ONE */ FcitxKey_masculine = 0x00ba, /* U+00BA MASCULINE ORDINAL INDICATOR */ FcitxKey_guillemotright = 0x00bb, /* U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */ FcitxKey_onequarter = 0x00bc, /* U+00BC VULGAR FRACTION ONE QUARTER */ FcitxKey_onehalf = 0x00bd, /* U+00BD VULGAR FRACTION ONE HALF */ FcitxKey_threequarters = 0x00be, /* U+00BE VULGAR FRACTION THREE QUARTERS */ FcitxKey_questiondown = 0x00bf, /* U+00BF INVERTED QUESTION MARK */ FcitxKey_Agrave = 0x00c0, /* U+00C0 LATIN CAPITAL LETTER A WITH GRAVE */ FcitxKey_Aacute = 0x00c1, /* U+00C1 LATIN CAPITAL LETTER A WITH ACUTE */ FcitxKey_Acircumflex = 0x00c2, /* U+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX */ FcitxKey_Atilde = 0x00c3, /* U+00C3 LATIN CAPITAL LETTER A WITH TILDE */ FcitxKey_Adiaeresis = 0x00c4, /* U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS */ FcitxKey_Aring = 0x00c5, /* U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE */ FcitxKey_AE = 0x00c6, /* U+00C6 LATIN CAPITAL LETTER AE */ FcitxKey_Ccedilla = 0x00c7, /* U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA */ FcitxKey_Egrave = 0x00c8, /* U+00C8 LATIN CAPITAL LETTER E WITH GRAVE */ FcitxKey_Eacute = 0x00c9, /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */ FcitxKey_Ecircumflex = 0x00ca, /* U+00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX */ FcitxKey_Ediaeresis = 0x00cb, /* U+00CB LATIN CAPITAL LETTER E WITH DIAERESIS */ FcitxKey_Igrave = 0x00cc, /* U+00CC LATIN CAPITAL LETTER I WITH GRAVE */ FcitxKey_Iacute = 0x00cd, /* U+00CD LATIN CAPITAL LETTER I WITH ACUTE */ FcitxKey_Icircumflex = 0x00ce, /* U+00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX */ FcitxKey_Idiaeresis = 0x00cf, /* U+00CF LATIN CAPITAL LETTER I WITH DIAERESIS */ FcitxKey_ETH = 0x00d0, /* U+00D0 LATIN CAPITAL LETTER ETH */ FcitxKey_Eth = 0x00d0, /* deprecated */ FcitxKey_Ntilde = 0x00d1, /* U+00D1 LATIN CAPITAL LETTER N WITH TILDE */ FcitxKey_Ograve = 0x00d2, /* U+00D2 LATIN CAPITAL LETTER O WITH GRAVE */ FcitxKey_Oacute = 0x00d3, /* U+00D3 LATIN CAPITAL LETTER O WITH ACUTE */ FcitxKey_Ocircumflex = 0x00d4, /* U+00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX */ FcitxKey_Otilde = 0x00d5, /* U+00D5 LATIN CAPITAL LETTER O WITH TILDE */ FcitxKey_Odiaeresis = 0x00d6, /* U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS */ FcitxKey_multiply = 0x00d7, /* U+00D7 MULTIPLICATION SIGN */ FcitxKey_Oslash = 0x00d8, /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */ FcitxKey_Ooblique = 0x00d8, /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */ FcitxKey_Ugrave = 0x00d9, /* U+00D9 LATIN CAPITAL LETTER U WITH GRAVE */ FcitxKey_Uacute = 0x00da, /* U+00DA LATIN CAPITAL LETTER U WITH ACUTE */ FcitxKey_Ucircumflex = 0x00db, /* U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX */ FcitxKey_Udiaeresis = 0x00dc, /* U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS */ FcitxKey_Yacute = 0x00dd, /* U+00DD LATIN CAPITAL LETTER Y WITH ACUTE */ FcitxKey_THORN = 0x00de, /* U+00DE LATIN CAPITAL LETTER THORN */ FcitxKey_Thorn = 0x00de, /* deprecated */ FcitxKey_ssharp = 0x00df, /* U+00DF LATIN SMALL LETTER SHARP S */ FcitxKey_agrave = 0x00e0, /* U+00E0 LATIN SMALL LETTER A WITH GRAVE */ FcitxKey_aacute = 0x00e1, /* U+00E1 LATIN SMALL LETTER A WITH ACUTE */ FcitxKey_acircumflex = 0x00e2, /* U+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX */ FcitxKey_atilde = 0x00e3, /* U+00E3 LATIN SMALL LETTER A WITH TILDE */ FcitxKey_adiaeresis = 0x00e4, /* U+00E4 LATIN SMALL LETTER A WITH DIAERESIS */ FcitxKey_aring = 0x00e5, /* U+00E5 LATIN SMALL LETTER A WITH RING ABOVE */ FcitxKey_ae = 0x00e6, /* U+00E6 LATIN SMALL LETTER AE */ FcitxKey_ccedilla = 0x00e7, /* U+00E7 LATIN SMALL LETTER C WITH CEDILLA */ FcitxKey_egrave = 0x00e8, /* U+00E8 LATIN SMALL LETTER E WITH GRAVE */ FcitxKey_eacute = 0x00e9, /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */ FcitxKey_ecircumflex = 0x00ea, /* U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX */ FcitxKey_ediaeresis = 0x00eb, /* U+00EB LATIN SMALL LETTER E WITH DIAERESIS */ FcitxKey_igrave = 0x00ec, /* U+00EC LATIN SMALL LETTER I WITH GRAVE */ FcitxKey_iacute = 0x00ed, /* U+00ED LATIN SMALL LETTER I WITH ACUTE */ FcitxKey_icircumflex = 0x00ee, /* U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX */ FcitxKey_idiaeresis = 0x00ef, /* U+00EF LATIN SMALL LETTER I WITH DIAERESIS */ FcitxKey_eth = 0x00f0, /* U+00F0 LATIN SMALL LETTER ETH */ FcitxKey_ntilde = 0x00f1, /* U+00F1 LATIN SMALL LETTER N WITH TILDE */ FcitxKey_ograve = 0x00f2, /* U+00F2 LATIN SMALL LETTER O WITH GRAVE */ FcitxKey_oacute = 0x00f3, /* U+00F3 LATIN SMALL LETTER O WITH ACUTE */ FcitxKey_ocircumflex = 0x00f4, /* U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX */ FcitxKey_otilde = 0x00f5, /* U+00F5 LATIN SMALL LETTER O WITH TILDE */ FcitxKey_odiaeresis = 0x00f6, /* U+00F6 LATIN SMALL LETTER O WITH DIAERESIS */ FcitxKey_division = 0x00f7, /* U+00F7 DIVISION SIGN */ FcitxKey_oslash = 0x00f8, /* U+00F8 LATIN SMALL LETTER O WITH STROKE */ FcitxKey_ooblique = 0x00f8, /* U+00F8 LATIN SMALL LETTER O WITH STROKE */ FcitxKey_ugrave = 0x00f9, /* U+00F9 LATIN SMALL LETTER U WITH GRAVE */ FcitxKey_uacute = 0x00fa, /* U+00FA LATIN SMALL LETTER U WITH ACUTE */ FcitxKey_ucircumflex = 0x00fb, /* U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX */ FcitxKey_udiaeresis = 0x00fc, /* U+00FC LATIN SMALL LETTER U WITH DIAERESIS */ FcitxKey_yacute = 0x00fd, /* U+00FD LATIN SMALL LETTER Y WITH ACUTE */ FcitxKey_thorn = 0x00fe, /* U+00FE LATIN SMALL LETTER THORN */ FcitxKey_ydiaeresis = 0x00ff, /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */ FcitxKey_Aogonek = 0x01a1, /* U+0104 LATIN CAPITAL LETTER A WITH OGONEK */ FcitxKey_breve = 0x01a2, /* U+02D8 BREVE */ FcitxKey_Lstroke = 0x01a3, /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */ FcitxKey_Lcaron = 0x01a5, /* U+013D LATIN CAPITAL LETTER L WITH CARON */ FcitxKey_Sacute = 0x01a6, /* U+015A LATIN CAPITAL LETTER S WITH ACUTE */ FcitxKey_Scaron = 0x01a9, /* U+0160 LATIN CAPITAL LETTER S WITH CARON */ FcitxKey_Scedilla = 0x01aa, /* U+015E LATIN CAPITAL LETTER S WITH CEDILLA */ FcitxKey_Tcaron = 0x01ab, /* U+0164 LATIN CAPITAL LETTER T WITH CARON */ FcitxKey_Zacute = 0x01ac, /* U+0179 LATIN CAPITAL LETTER Z WITH ACUTE */ FcitxKey_Zcaron = 0x01ae, /* U+017D LATIN CAPITAL LETTER Z WITH CARON */ FcitxKey_Zabovedot = 0x01af, /* U+017B LATIN CAPITAL LETTER Z WITH DOT ABOVE */ FcitxKey_aogonek = 0x01b1, /* U+0105 LATIN SMALL LETTER A WITH OGONEK */ FcitxKey_ogonek = 0x01b2, /* U+02DB OGONEK */ FcitxKey_lstroke = 0x01b3, /* U+0142 LATIN SMALL LETTER L WITH STROKE */ FcitxKey_lcaron = 0x01b5, /* U+013E LATIN SMALL LETTER L WITH CARON */ FcitxKey_sacute = 0x01b6, /* U+015B LATIN SMALL LETTER S WITH ACUTE */ FcitxKey_caron = 0x01b7, /* U+02C7 CARON */ FcitxKey_scaron = 0x01b9, /* U+0161 LATIN SMALL LETTER S WITH CARON */ FcitxKey_scedilla = 0x01ba, /* U+015F LATIN SMALL LETTER S WITH CEDILLA */ FcitxKey_tcaron = 0x01bb, /* U+0165 LATIN SMALL LETTER T WITH CARON */ FcitxKey_zacute = 0x01bc, /* U+017A LATIN SMALL LETTER Z WITH ACUTE */ FcitxKey_doubleacute = 0x01bd, /* U+02DD DOUBLE ACUTE ACCENT */ FcitxKey_zcaron = 0x01be, /* U+017E LATIN SMALL LETTER Z WITH CARON */ FcitxKey_zabovedot = 0x01bf, /* U+017C LATIN SMALL LETTER Z WITH DOT ABOVE */ FcitxKey_Racute = 0x01c0, /* U+0154 LATIN CAPITAL LETTER R WITH ACUTE */ FcitxKey_Abreve = 0x01c3, /* U+0102 LATIN CAPITAL LETTER A WITH BREVE */ FcitxKey_Lacute = 0x01c5, /* U+0139 LATIN CAPITAL LETTER L WITH ACUTE */ FcitxKey_Cacute = 0x01c6, /* U+0106 LATIN CAPITAL LETTER C WITH ACUTE */ FcitxKey_Ccaron = 0x01c8, /* U+010C LATIN CAPITAL LETTER C WITH CARON */ FcitxKey_Eogonek = 0x01ca, /* U+0118 LATIN CAPITAL LETTER E WITH OGONEK */ FcitxKey_Ecaron = 0x01cc, /* U+011A LATIN CAPITAL LETTER E WITH CARON */ FcitxKey_Dcaron = 0x01cf, /* U+010E LATIN CAPITAL LETTER D WITH CARON */ FcitxKey_Dstroke = 0x01d0, /* U+0110 LATIN CAPITAL LETTER D WITH STROKE */ FcitxKey_Nacute = 0x01d1, /* U+0143 LATIN CAPITAL LETTER N WITH ACUTE */ FcitxKey_Ncaron = 0x01d2, /* U+0147 LATIN CAPITAL LETTER N WITH CARON */ FcitxKey_Odoubleacute = 0x01d5, /* U+0150 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */ FcitxKey_Rcaron = 0x01d8, /* U+0158 LATIN CAPITAL LETTER R WITH CARON */ FcitxKey_Uring = 0x01d9, /* U+016E LATIN CAPITAL LETTER U WITH RING ABOVE */ FcitxKey_Udoubleacute = 0x01db, /* U+0170 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */ FcitxKey_Tcedilla = 0x01de, /* U+0162 LATIN CAPITAL LETTER T WITH CEDILLA */ FcitxKey_racute = 0x01e0, /* U+0155 LATIN SMALL LETTER R WITH ACUTE */ FcitxKey_abreve = 0x01e3, /* U+0103 LATIN SMALL LETTER A WITH BREVE */ FcitxKey_lacute = 0x01e5, /* U+013A LATIN SMALL LETTER L WITH ACUTE */ FcitxKey_cacute = 0x01e6, /* U+0107 LATIN SMALL LETTER C WITH ACUTE */ FcitxKey_ccaron = 0x01e8, /* U+010D LATIN SMALL LETTER C WITH CARON */ FcitxKey_eogonek = 0x01ea, /* U+0119 LATIN SMALL LETTER E WITH OGONEK */ FcitxKey_ecaron = 0x01ec, /* U+011B LATIN SMALL LETTER E WITH CARON */ FcitxKey_dcaron = 0x01ef, /* U+010F LATIN SMALL LETTER D WITH CARON */ FcitxKey_dstroke = 0x01f0, /* U+0111 LATIN SMALL LETTER D WITH STROKE */ FcitxKey_nacute = 0x01f1, /* U+0144 LATIN SMALL LETTER N WITH ACUTE */ FcitxKey_ncaron = 0x01f2, /* U+0148 LATIN SMALL LETTER N WITH CARON */ FcitxKey_odoubleacute = 0x01f5, /* U+0151 LATIN SMALL LETTER O WITH DOUBLE ACUTE */ FcitxKey_rcaron = 0x01f8, /* U+0159 LATIN SMALL LETTER R WITH CARON */ FcitxKey_uring = 0x01f9, /* U+016F LATIN SMALL LETTER U WITH RING ABOVE */ FcitxKey_udoubleacute = 0x01fb, /* U+0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE */ FcitxKey_tcedilla = 0x01fe, /* U+0163 LATIN SMALL LETTER T WITH CEDILLA */ FcitxKey_abovedot = 0x01ff, /* U+02D9 DOT ABOVE */ FcitxKey_Hstroke = 0x02a1, /* U+0126 LATIN CAPITAL LETTER H WITH STROKE */ FcitxKey_Hcircumflex = 0x02a6, /* U+0124 LATIN CAPITAL LETTER H WITH CIRCUMFLEX */ FcitxKey_Iabovedot = 0x02a9, /* U+0130 LATIN CAPITAL LETTER I WITH DOT ABOVE */ FcitxKey_Gbreve = 0x02ab, /* U+011E LATIN CAPITAL LETTER G WITH BREVE */ FcitxKey_Jcircumflex = 0x02ac, /* U+0134 LATIN CAPITAL LETTER J WITH CIRCUMFLEX */ FcitxKey_hstroke = 0x02b1, /* U+0127 LATIN SMALL LETTER H WITH STROKE */ FcitxKey_hcircumflex = 0x02b6, /* U+0125 LATIN SMALL LETTER H WITH CIRCUMFLEX */ FcitxKey_idotless = 0x02b9, /* U+0131 LATIN SMALL LETTER DOTLESS I */ FcitxKey_gbreve = 0x02bb, /* U+011F LATIN SMALL LETTER G WITH BREVE */ FcitxKey_jcircumflex = 0x02bc, /* U+0135 LATIN SMALL LETTER J WITH CIRCUMFLEX */ FcitxKey_Cabovedot = 0x02c5, /* U+010A LATIN CAPITAL LETTER C WITH DOT ABOVE */ FcitxKey_Ccircumflex = 0x02c6, /* U+0108 LATIN CAPITAL LETTER C WITH CIRCUMFLEX */ FcitxKey_Gabovedot = 0x02d5, /* U+0120 LATIN CAPITAL LETTER G WITH DOT ABOVE */ FcitxKey_Gcircumflex = 0x02d8, /* U+011C LATIN CAPITAL LETTER G WITH CIRCUMFLEX */ FcitxKey_Ubreve = 0x02dd, /* U+016C LATIN CAPITAL LETTER U WITH BREVE */ FcitxKey_Scircumflex = 0x02de, /* U+015C LATIN CAPITAL LETTER S WITH CIRCUMFLEX */ FcitxKey_cabovedot = 0x02e5, /* U+010B LATIN SMALL LETTER C WITH DOT ABOVE */ FcitxKey_ccircumflex = 0x02e6, /* U+0109 LATIN SMALL LETTER C WITH CIRCUMFLEX */ FcitxKey_gabovedot = 0x02f5, /* U+0121 LATIN SMALL LETTER G WITH DOT ABOVE */ FcitxKey_gcircumflex = 0x02f8, /* U+011D LATIN SMALL LETTER G WITH CIRCUMFLEX */ FcitxKey_ubreve = 0x02fd, /* U+016D LATIN SMALL LETTER U WITH BREVE */ FcitxKey_scircumflex = 0x02fe, /* U+015D LATIN SMALL LETTER S WITH CIRCUMFLEX */ FcitxKey_kra = 0x03a2, /* U+0138 LATIN SMALL LETTER KRA */ FcitxKey_kappa = 0x03a2, /* deprecated */ FcitxKey_Rcedilla = 0x03a3, /* U+0156 LATIN CAPITAL LETTER R WITH CEDILLA */ FcitxKey_Itilde = 0x03a5, /* U+0128 LATIN CAPITAL LETTER I WITH TILDE */ FcitxKey_Lcedilla = 0x03a6, /* U+013B LATIN CAPITAL LETTER L WITH CEDILLA */ FcitxKey_Emacron = 0x03aa, /* U+0112 LATIN CAPITAL LETTER E WITH MACRON */ FcitxKey_Gcedilla = 0x03ab, /* U+0122 LATIN CAPITAL LETTER G WITH CEDILLA */ FcitxKey_Tslash = 0x03ac, /* U+0166 LATIN CAPITAL LETTER T WITH STROKE */ FcitxKey_rcedilla = 0x03b3, /* U+0157 LATIN SMALL LETTER R WITH CEDILLA */ FcitxKey_itilde = 0x03b5, /* U+0129 LATIN SMALL LETTER I WITH TILDE */ FcitxKey_lcedilla = 0x03b6, /* U+013C LATIN SMALL LETTER L WITH CEDILLA */ FcitxKey_emacron = 0x03ba, /* U+0113 LATIN SMALL LETTER E WITH MACRON */ FcitxKey_gcedilla = 0x03bb, /* U+0123 LATIN SMALL LETTER G WITH CEDILLA */ FcitxKey_tslash = 0x03bc, /* U+0167 LATIN SMALL LETTER T WITH STROKE */ FcitxKey_ENG = 0x03bd, /* U+014A LATIN CAPITAL LETTER ENG */ FcitxKey_eng = 0x03bf, /* U+014B LATIN SMALL LETTER ENG */ FcitxKey_Amacron = 0x03c0, /* U+0100 LATIN CAPITAL LETTER A WITH MACRON */ FcitxKey_Iogonek = 0x03c7, /* U+012E LATIN CAPITAL LETTER I WITH OGONEK */ FcitxKey_Eabovedot = 0x03cc, /* U+0116 LATIN CAPITAL LETTER E WITH DOT ABOVE */ FcitxKey_Imacron = 0x03cf, /* U+012A LATIN CAPITAL LETTER I WITH MACRON */ FcitxKey_Ncedilla = 0x03d1, /* U+0145 LATIN CAPITAL LETTER N WITH CEDILLA */ FcitxKey_Omacron = 0x03d2, /* U+014C LATIN CAPITAL LETTER O WITH MACRON */ FcitxKey_Kcedilla = 0x03d3, /* U+0136 LATIN CAPITAL LETTER K WITH CEDILLA */ FcitxKey_Uogonek = 0x03d9, /* U+0172 LATIN CAPITAL LETTER U WITH OGONEK */ FcitxKey_Utilde = 0x03dd, /* U+0168 LATIN CAPITAL LETTER U WITH TILDE */ FcitxKey_Umacron = 0x03de, /* U+016A LATIN CAPITAL LETTER U WITH MACRON */ FcitxKey_amacron = 0x03e0, /* U+0101 LATIN SMALL LETTER A WITH MACRON */ FcitxKey_iogonek = 0x03e7, /* U+012F LATIN SMALL LETTER I WITH OGONEK */ FcitxKey_eabovedot = 0x03ec, /* U+0117 LATIN SMALL LETTER E WITH DOT ABOVE */ FcitxKey_imacron = 0x03ef, /* U+012B LATIN SMALL LETTER I WITH MACRON */ FcitxKey_ncedilla = 0x03f1, /* U+0146 LATIN SMALL LETTER N WITH CEDILLA */ FcitxKey_omacron = 0x03f2, /* U+014D LATIN SMALL LETTER O WITH MACRON */ FcitxKey_kcedilla = 0x03f3, /* U+0137 LATIN SMALL LETTER K WITH CEDILLA */ FcitxKey_uogonek = 0x03f9, /* U+0173 LATIN SMALL LETTER U WITH OGONEK */ FcitxKey_utilde = 0x03fd, /* U+0169 LATIN SMALL LETTER U WITH TILDE */ FcitxKey_umacron = 0x03fe, /* U+016B LATIN SMALL LETTER U WITH MACRON */ FcitxKey_Wcircumflex = 0x1000174, /* U+0174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX */ FcitxKey_wcircumflex = 0x1000175, /* U+0175 LATIN SMALL LETTER W WITH CIRCUMFLEX */ FcitxKey_Ycircumflex = 0x1000176, /* U+0176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX */ FcitxKey_ycircumflex = 0x1000177, /* U+0177 LATIN SMALL LETTER Y WITH CIRCUMFLEX */ FcitxKey_Babovedot = 0x1001e02, /* U+1E02 LATIN CAPITAL LETTER B WITH DOT ABOVE */ FcitxKey_babovedot = 0x1001e03, /* U+1E03 LATIN SMALL LETTER B WITH DOT ABOVE */ FcitxKey_Dabovedot = 0x1001e0a, /* U+1E0A LATIN CAPITAL LETTER D WITH DOT ABOVE */ FcitxKey_dabovedot = 0x1001e0b, /* U+1E0B LATIN SMALL LETTER D WITH DOT ABOVE */ FcitxKey_Fabovedot = 0x1001e1e, /* U+1E1E LATIN CAPITAL LETTER F WITH DOT ABOVE */ FcitxKey_fabovedot = 0x1001e1f, /* U+1E1F LATIN SMALL LETTER F WITH DOT ABOVE */ FcitxKey_Mabovedot = 0x1001e40, /* U+1E40 LATIN CAPITAL LETTER M WITH DOT ABOVE */ FcitxKey_mabovedot = 0x1001e41, /* U+1E41 LATIN SMALL LETTER M WITH DOT ABOVE */ FcitxKey_Pabovedot = 0x1001e56, /* U+1E56 LATIN CAPITAL LETTER P WITH DOT ABOVE */ FcitxKey_pabovedot = 0x1001e57, /* U+1E57 LATIN SMALL LETTER P WITH DOT ABOVE */ FcitxKey_Sabovedot = 0x1001e60, /* U+1E60 LATIN CAPITAL LETTER S WITH DOT ABOVE */ FcitxKey_sabovedot = 0x1001e61, /* U+1E61 LATIN SMALL LETTER S WITH DOT ABOVE */ FcitxKey_Tabovedot = 0x1001e6a, /* U+1E6A LATIN CAPITAL LETTER T WITH DOT ABOVE */ FcitxKey_tabovedot = 0x1001e6b, /* U+1E6B LATIN SMALL LETTER T WITH DOT ABOVE */ FcitxKey_Wgrave = 0x1001e80, /* U+1E80 LATIN CAPITAL LETTER W WITH GRAVE */ FcitxKey_wgrave = 0x1001e81, /* U+1E81 LATIN SMALL LETTER W WITH GRAVE */ FcitxKey_Wacute = 0x1001e82, /* U+1E82 LATIN CAPITAL LETTER W WITH ACUTE */ FcitxKey_wacute = 0x1001e83, /* U+1E83 LATIN SMALL LETTER W WITH ACUTE */ FcitxKey_Wdiaeresis = 0x1001e84, /* U+1E84 LATIN CAPITAL LETTER W WITH DIAERESIS */ FcitxKey_wdiaeresis = 0x1001e85, /* U+1E85 LATIN SMALL LETTER W WITH DIAERESIS */ FcitxKey_Ygrave = 0x1001ef2, /* U+1EF2 LATIN CAPITAL LETTER Y WITH GRAVE */ FcitxKey_ygrave = 0x1001ef3, /* U+1EF3 LATIN SMALL LETTER Y WITH GRAVE */ FcitxKey_OE = 0x13bc, /* U+0152 LATIN CAPITAL LIGATURE OE */ FcitxKey_oe = 0x13bd, /* U+0153 LATIN SMALL LIGATURE OE */ FcitxKey_Ydiaeresis = 0x13be, /* U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS */ FcitxKey_overline = 0x047e, /* U+203E OVERLINE */ FcitxKey_kana_fullstop = 0x04a1, /* U+3002 IDEOGRAPHIC FULL STOP */ FcitxKey_kana_openingbracket = 0x04a2, /* U+300C LEFT CORNER BRACKET */ FcitxKey_kana_closingbracket = 0x04a3, /* U+300D RIGHT CORNER BRACKET */ FcitxKey_kana_comma = 0x04a4, /* U+3001 IDEOGRAPHIC COMMA */ FcitxKey_kana_conjunctive = 0x04a5, /* U+30FB KATAKANA MIDDLE DOT */ FcitxKey_kana_middledot = 0x04a5, /* deprecated */ FcitxKey_kana_WO = 0x04a6, /* U+30F2 KATAKANA LETTER WO */ FcitxKey_kana_a = 0x04a7, /* U+30A1 KATAKANA LETTER SMALL A */ FcitxKey_kana_i = 0x04a8, /* U+30A3 KATAKANA LETTER SMALL I */ FcitxKey_kana_u = 0x04a9, /* U+30A5 KATAKANA LETTER SMALL U */ FcitxKey_kana_e = 0x04aa, /* U+30A7 KATAKANA LETTER SMALL E */ FcitxKey_kana_o = 0x04ab, /* U+30A9 KATAKANA LETTER SMALL O */ FcitxKey_kana_ya = 0x04ac, /* U+30E3 KATAKANA LETTER SMALL YA */ FcitxKey_kana_yu = 0x04ad, /* U+30E5 KATAKANA LETTER SMALL YU */ FcitxKey_kana_yo = 0x04ae, /* U+30E7 KATAKANA LETTER SMALL YO */ FcitxKey_kana_tsu = 0x04af, /* U+30C3 KATAKANA LETTER SMALL TU */ FcitxKey_kana_tu = 0x04af, /* deprecated */ FcitxKey_prolongedsound = 0x04b0, /* U+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK */ FcitxKey_kana_A = 0x04b1, /* U+30A2 KATAKANA LETTER A */ FcitxKey_kana_I = 0x04b2, /* U+30A4 KATAKANA LETTER I */ FcitxKey_kana_U = 0x04b3, /* U+30A6 KATAKANA LETTER U */ FcitxKey_kana_E = 0x04b4, /* U+30A8 KATAKANA LETTER E */ FcitxKey_kana_O = 0x04b5, /* U+30AA KATAKANA LETTER O */ FcitxKey_kana_KA = 0x04b6, /* U+30AB KATAKANA LETTER KA */ FcitxKey_kana_KI = 0x04b7, /* U+30AD KATAKANA LETTER KI */ FcitxKey_kana_KU = 0x04b8, /* U+30AF KATAKANA LETTER KU */ FcitxKey_kana_KE = 0x04b9, /* U+30B1 KATAKANA LETTER KE */ FcitxKey_kana_KO = 0x04ba, /* U+30B3 KATAKANA LETTER KO */ FcitxKey_kana_SA = 0x04bb, /* U+30B5 KATAKANA LETTER SA */ FcitxKey_kana_SHI = 0x04bc, /* U+30B7 KATAKANA LETTER SI */ FcitxKey_kana_SU = 0x04bd, /* U+30B9 KATAKANA LETTER SU */ FcitxKey_kana_SE = 0x04be, /* U+30BB KATAKANA LETTER SE */ FcitxKey_kana_SO = 0x04bf, /* U+30BD KATAKANA LETTER SO */ FcitxKey_kana_TA = 0x04c0, /* U+30BF KATAKANA LETTER TA */ FcitxKey_kana_CHI = 0x04c1, /* U+30C1 KATAKANA LETTER TI */ FcitxKey_kana_TI = 0x04c1, /* deprecated */ FcitxKey_kana_TSU = 0x04c2, /* U+30C4 KATAKANA LETTER TU */ FcitxKey_kana_TU = 0x04c2, /* deprecated */ FcitxKey_kana_TE = 0x04c3, /* U+30C6 KATAKANA LETTER TE */ FcitxKey_kana_TO = 0x04c4, /* U+30C8 KATAKANA LETTER TO */ FcitxKey_kana_NA = 0x04c5, /* U+30CA KATAKANA LETTER NA */ FcitxKey_kana_NI = 0x04c6, /* U+30CB KATAKANA LETTER NI */ FcitxKey_kana_NU = 0x04c7, /* U+30CC KATAKANA LETTER NU */ FcitxKey_kana_NE = 0x04c8, /* U+30CD KATAKANA LETTER NE */ FcitxKey_kana_NO = 0x04c9, /* U+30CE KATAKANA LETTER NO */ FcitxKey_kana_HA = 0x04ca, /* U+30CF KATAKANA LETTER HA */ FcitxKey_kana_HI = 0x04cb, /* U+30D2 KATAKANA LETTER HI */ FcitxKey_kana_FU = 0x04cc, /* U+30D5 KATAKANA LETTER HU */ FcitxKey_kana_HU = 0x04cc, /* deprecated */ FcitxKey_kana_HE = 0x04cd, /* U+30D8 KATAKANA LETTER HE */ FcitxKey_kana_HO = 0x04ce, /* U+30DB KATAKANA LETTER HO */ FcitxKey_kana_MA = 0x04cf, /* U+30DE KATAKANA LETTER MA */ FcitxKey_kana_MI = 0x04d0, /* U+30DF KATAKANA LETTER MI */ FcitxKey_kana_MU = 0x04d1, /* U+30E0 KATAKANA LETTER MU */ FcitxKey_kana_ME = 0x04d2, /* U+30E1 KATAKANA LETTER ME */ FcitxKey_kana_MO = 0x04d3, /* U+30E2 KATAKANA LETTER MO */ FcitxKey_kana_YA = 0x04d4, /* U+30E4 KATAKANA LETTER YA */ FcitxKey_kana_YU = 0x04d5, /* U+30E6 KATAKANA LETTER YU */ FcitxKey_kana_YO = 0x04d6, /* U+30E8 KATAKANA LETTER YO */ FcitxKey_kana_RA = 0x04d7, /* U+30E9 KATAKANA LETTER RA */ FcitxKey_kana_RI = 0x04d8, /* U+30EA KATAKANA LETTER RI */ FcitxKey_kana_RU = 0x04d9, /* U+30EB KATAKANA LETTER RU */ FcitxKey_kana_RE = 0x04da, /* U+30EC KATAKANA LETTER RE */ FcitxKey_kana_RO = 0x04db, /* U+30ED KATAKANA LETTER RO */ FcitxKey_kana_WA = 0x04dc, /* U+30EF KATAKANA LETTER WA */ FcitxKey_kana_N = 0x04dd, /* U+30F3 KATAKANA LETTER N */ FcitxKey_voicedsound = 0x04de, /* U+309B KATAKANA-HIRAGANA VOICED SOUND MARK */ FcitxKey_semivoicedsound = 0x04df, /* U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK */ FcitxKey_kana_switch = 0xff7e, /* Alias for mode_switch */ FcitxKey_Farsi_0 = 0x10006f0, /* U+06F0 EXTENDED ARABIC-INDIC DIGIT ZERO */ FcitxKey_Farsi_1 = 0x10006f1, /* U+06F1 EXTENDED ARABIC-INDIC DIGIT ONE */ FcitxKey_Farsi_2 = 0x10006f2, /* U+06F2 EXTENDED ARABIC-INDIC DIGIT TWO */ FcitxKey_Farsi_3 = 0x10006f3, /* U+06F3 EXTENDED ARABIC-INDIC DIGIT THREE */ FcitxKey_Farsi_4 = 0x10006f4, /* U+06F4 EXTENDED ARABIC-INDIC DIGIT FOUR */ FcitxKey_Farsi_5 = 0x10006f5, /* U+06F5 EXTENDED ARABIC-INDIC DIGIT FIVE */ FcitxKey_Farsi_6 = 0x10006f6, /* U+06F6 EXTENDED ARABIC-INDIC DIGIT SIX */ FcitxKey_Farsi_7 = 0x10006f7, /* U+06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN */ FcitxKey_Farsi_8 = 0x10006f8, /* U+06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT */ FcitxKey_Farsi_9 = 0x10006f9, /* U+06F9 EXTENDED ARABIC-INDIC DIGIT NINE */ FcitxKey_Arabic_percent = 0x100066a, /* U+066A ARABIC PERCENT SIGN */ FcitxKey_Arabic_superscript_alef = 0x1000670, /* U+0670 ARABIC LETTER SUPERSCRIPT ALEF */ FcitxKey_Arabic_tteh = 0x1000679, /* U+0679 ARABIC LETTER TTEH */ FcitxKey_Arabic_peh = 0x100067e, /* U+067E ARABIC LETTER PEH */ FcitxKey_Arabic_tcheh = 0x1000686, /* U+0686 ARABIC LETTER TCHEH */ FcitxKey_Arabic_ddal = 0x1000688, /* U+0688 ARABIC LETTER DDAL */ FcitxKey_Arabic_rreh = 0x1000691, /* U+0691 ARABIC LETTER RREH */ FcitxKey_Arabic_comma = 0x05ac, /* U+060C ARABIC COMMA */ FcitxKey_Arabic_fullstop = 0x10006d4, /* U+06D4 ARABIC FULL STOP */ FcitxKey_Arabic_0 = 0x1000660, /* U+0660 ARABIC-INDIC DIGIT ZERO */ FcitxKey_Arabic_1 = 0x1000661, /* U+0661 ARABIC-INDIC DIGIT ONE */ FcitxKey_Arabic_2 = 0x1000662, /* U+0662 ARABIC-INDIC DIGIT TWO */ FcitxKey_Arabic_3 = 0x1000663, /* U+0663 ARABIC-INDIC DIGIT THREE */ FcitxKey_Arabic_4 = 0x1000664, /* U+0664 ARABIC-INDIC DIGIT FOUR */ FcitxKey_Arabic_5 = 0x1000665, /* U+0665 ARABIC-INDIC DIGIT FIVE */ FcitxKey_Arabic_6 = 0x1000666, /* U+0666 ARABIC-INDIC DIGIT SIX */ FcitxKey_Arabic_7 = 0x1000667, /* U+0667 ARABIC-INDIC DIGIT SEVEN */ FcitxKey_Arabic_8 = 0x1000668, /* U+0668 ARABIC-INDIC DIGIT EIGHT */ FcitxKey_Arabic_9 = 0x1000669, /* U+0669 ARABIC-INDIC DIGIT NINE */ FcitxKey_Arabic_semicolon = 0x05bb, /* U+061B ARABIC SEMICOLON */ FcitxKey_Arabic_question_mark = 0x05bf, /* U+061F ARABIC QUESTION MARK */ FcitxKey_Arabic_hamza = 0x05c1, /* U+0621 ARABIC LETTER HAMZA */ FcitxKey_Arabic_maddaonalef = 0x05c2, /* U+0622 ARABIC LETTER ALEF WITH MADDA ABOVE */ FcitxKey_Arabic_hamzaonalef = 0x05c3, /* U+0623 ARABIC LETTER ALEF WITH HAMZA ABOVE */ FcitxKey_Arabic_hamzaonwaw = 0x05c4, /* U+0624 ARABIC LETTER WAW WITH HAMZA ABOVE */ FcitxKey_Arabic_hamzaunderalef = 0x05c5, /* U+0625 ARABIC LETTER ALEF WITH HAMZA BELOW */ FcitxKey_Arabic_hamzaonyeh = 0x05c6, /* U+0626 ARABIC LETTER YEH WITH HAMZA ABOVE */ FcitxKey_Arabic_alef = 0x05c7, /* U+0627 ARABIC LETTER ALEF */ FcitxKey_Arabic_beh = 0x05c8, /* U+0628 ARABIC LETTER BEH */ FcitxKey_Arabic_tehmarbuta = 0x05c9, /* U+0629 ARABIC LETTER TEH MARBUTA */ FcitxKey_Arabic_teh = 0x05ca, /* U+062A ARABIC LETTER TEH */ FcitxKey_Arabic_theh = 0x05cb, /* U+062B ARABIC LETTER THEH */ FcitxKey_Arabic_jeem = 0x05cc, /* U+062C ARABIC LETTER JEEM */ FcitxKey_Arabic_hah = 0x05cd, /* U+062D ARABIC LETTER HAH */ FcitxKey_Arabic_khah = 0x05ce, /* U+062E ARABIC LETTER KHAH */ FcitxKey_Arabic_dal = 0x05cf, /* U+062F ARABIC LETTER DAL */ FcitxKey_Arabic_thal = 0x05d0, /* U+0630 ARABIC LETTER THAL */ FcitxKey_Arabic_ra = 0x05d1, /* U+0631 ARABIC LETTER REH */ FcitxKey_Arabic_zain = 0x05d2, /* U+0632 ARABIC LETTER ZAIN */ FcitxKey_Arabic_seen = 0x05d3, /* U+0633 ARABIC LETTER SEEN */ FcitxKey_Arabic_sheen = 0x05d4, /* U+0634 ARABIC LETTER SHEEN */ FcitxKey_Arabic_sad = 0x05d5, /* U+0635 ARABIC LETTER SAD */ FcitxKey_Arabic_dad = 0x05d6, /* U+0636 ARABIC LETTER DAD */ FcitxKey_Arabic_tah = 0x05d7, /* U+0637 ARABIC LETTER TAH */ FcitxKey_Arabic_zah = 0x05d8, /* U+0638 ARABIC LETTER ZAH */ FcitxKey_Arabic_ain = 0x05d9, /* U+0639 ARABIC LETTER AIN */ FcitxKey_Arabic_ghain = 0x05da, /* U+063A ARABIC LETTER GHAIN */ FcitxKey_Arabic_tatweel = 0x05e0, /* U+0640 ARABIC TATWEEL */ FcitxKey_Arabic_feh = 0x05e1, /* U+0641 ARABIC LETTER FEH */ FcitxKey_Arabic_qaf = 0x05e2, /* U+0642 ARABIC LETTER QAF */ FcitxKey_Arabic_kaf = 0x05e3, /* U+0643 ARABIC LETTER KAF */ FcitxKey_Arabic_lam = 0x05e4, /* U+0644 ARABIC LETTER LAM */ FcitxKey_Arabic_meem = 0x05e5, /* U+0645 ARABIC LETTER MEEM */ FcitxKey_Arabic_noon = 0x05e6, /* U+0646 ARABIC LETTER NOON */ FcitxKey_Arabic_ha = 0x05e7, /* U+0647 ARABIC LETTER HEH */ FcitxKey_Arabic_heh = 0x05e7, /* deprecated */ FcitxKey_Arabic_waw = 0x05e8, /* U+0648 ARABIC LETTER WAW */ FcitxKey_Arabic_alefmaksura = 0x05e9, /* U+0649 ARABIC LETTER ALEF MAKSURA */ FcitxKey_Arabic_yeh = 0x05ea, /* U+064A ARABIC LETTER YEH */ FcitxKey_Arabic_fathatan = 0x05eb, /* U+064B ARABIC FATHATAN */ FcitxKey_Arabic_dammatan = 0x05ec, /* U+064C ARABIC DAMMATAN */ FcitxKey_Arabic_kasratan = 0x05ed, /* U+064D ARABIC KASRATAN */ FcitxKey_Arabic_fatha = 0x05ee, /* U+064E ARABIC FATHA */ FcitxKey_Arabic_damma = 0x05ef, /* U+064F ARABIC DAMMA */ FcitxKey_Arabic_kasra = 0x05f0, /* U+0650 ARABIC KASRA */ FcitxKey_Arabic_shadda = 0x05f1, /* U+0651 ARABIC SHADDA */ FcitxKey_Arabic_sukun = 0x05f2, /* U+0652 ARABIC SUKUN */ FcitxKey_Arabic_madda_above = 0x1000653, /* U+0653 ARABIC MADDAH ABOVE */ FcitxKey_Arabic_hamza_above = 0x1000654, /* U+0654 ARABIC HAMZA ABOVE */ FcitxKey_Arabic_hamza_below = 0x1000655, /* U+0655 ARABIC HAMZA BELOW */ FcitxKey_Arabic_jeh = 0x1000698, /* U+0698 ARABIC LETTER JEH */ FcitxKey_Arabic_veh = 0x10006a4, /* U+06A4 ARABIC LETTER VEH */ FcitxKey_Arabic_keheh = 0x10006a9, /* U+06A9 ARABIC LETTER KEHEH */ FcitxKey_Arabic_gaf = 0x10006af, /* U+06AF ARABIC LETTER GAF */ FcitxKey_Arabic_noon_ghunna = 0x10006ba, /* U+06BA ARABIC LETTER NOON GHUNNA */ FcitxKey_Arabic_heh_doachashmee = 0x10006be, /* U+06BE ARABIC LETTER HEH DOACHASHMEE */ FcitxKey_Farsi_yeh = 0x10006cc, /* U+06CC ARABIC LETTER FARSI YEH */ FcitxKey_Arabic_farsi_yeh = 0x10006cc, /* U+06CC ARABIC LETTER FARSI YEH */ FcitxKey_Arabic_yeh_baree = 0x10006d2, /* U+06D2 ARABIC LETTER YEH BARREE */ FcitxKey_Arabic_heh_goal = 0x10006c1, /* U+06C1 ARABIC LETTER HEH GOAL */ FcitxKey_Arabic_switch = 0xff7e, /* Alias for mode_switch */ FcitxKey_Cyrillic_GHE_bar = 0x1000492, /* U+0492 CYRILLIC CAPITAL LETTER GHE WITH STROKE */ FcitxKey_Cyrillic_ghe_bar = 0x1000493, /* U+0493 CYRILLIC SMALL LETTER GHE WITH STROKE */ FcitxKey_Cyrillic_ZHE_descender = 0x1000496, /* U+0496 CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER */ FcitxKey_Cyrillic_zhe_descender = 0x1000497, /* U+0497 CYRILLIC SMALL LETTER ZHE WITH DESCENDER */ FcitxKey_Cyrillic_KA_descender = 0x100049a, /* U+049A CYRILLIC CAPITAL LETTER KA WITH DESCENDER */ FcitxKey_Cyrillic_ka_descender = 0x100049b, /* U+049B CYRILLIC SMALL LETTER KA WITH DESCENDER */ FcitxKey_Cyrillic_KA_vertstroke = 0x100049c, /* U+049C CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE */ FcitxKey_Cyrillic_ka_vertstroke = 0x100049d, /* U+049D CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE */ FcitxKey_Cyrillic_EN_descender = 0x10004a2, /* U+04A2 CYRILLIC CAPITAL LETTER EN WITH DESCENDER */ FcitxKey_Cyrillic_en_descender = 0x10004a3, /* U+04A3 CYRILLIC SMALL LETTER EN WITH DESCENDER */ FcitxKey_Cyrillic_U_straight = 0x10004ae, /* U+04AE CYRILLIC CAPITAL LETTER STRAIGHT U */ FcitxKey_Cyrillic_u_straight = 0x10004af, /* U+04AF CYRILLIC SMALL LETTER STRAIGHT U */ FcitxKey_Cyrillic_U_straight_bar = 0x10004b0, /* U+04B0 CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE */ FcitxKey_Cyrillic_u_straight_bar = 0x10004b1, /* U+04B1 CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE */ FcitxKey_Cyrillic_HA_descender = 0x10004b2, /* U+04B2 CYRILLIC CAPITAL LETTER HA WITH DESCENDER */ FcitxKey_Cyrillic_ha_descender = 0x10004b3, /* U+04B3 CYRILLIC SMALL LETTER HA WITH DESCENDER */ FcitxKey_Cyrillic_CHE_descender = 0x10004b6, /* U+04B6 CYRILLIC CAPITAL LETTER CHE WITH DESCENDER */ FcitxKey_Cyrillic_che_descender = 0x10004b7, /* U+04B7 CYRILLIC SMALL LETTER CHE WITH DESCENDER */ FcitxKey_Cyrillic_CHE_vertstroke = 0x10004b8, /* U+04B8 CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE */ FcitxKey_Cyrillic_che_vertstroke = 0x10004b9, /* U+04B9 CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE */ FcitxKey_Cyrillic_SHHA = 0x10004ba, /* U+04BA CYRILLIC CAPITAL LETTER SHHA */ FcitxKey_Cyrillic_shha = 0x10004bb, /* U+04BB CYRILLIC SMALL LETTER SHHA */ FcitxKey_Cyrillic_SCHWA = 0x10004d8, /* U+04D8 CYRILLIC CAPITAL LETTER SCHWA */ FcitxKey_Cyrillic_schwa = 0x10004d9, /* U+04D9 CYRILLIC SMALL LETTER SCHWA */ FcitxKey_Cyrillic_I_macron = 0x10004e2, /* U+04E2 CYRILLIC CAPITAL LETTER I WITH MACRON */ FcitxKey_Cyrillic_i_macron = 0x10004e3, /* U+04E3 CYRILLIC SMALL LETTER I WITH MACRON */ FcitxKey_Cyrillic_O_bar = 0x10004e8, /* U+04E8 CYRILLIC CAPITAL LETTER BARRED O */ FcitxKey_Cyrillic_o_bar = 0x10004e9, /* U+04E9 CYRILLIC SMALL LETTER BARRED O */ FcitxKey_Cyrillic_U_macron = 0x10004ee, /* U+04EE CYRILLIC CAPITAL LETTER U WITH MACRON */ FcitxKey_Cyrillic_u_macron = 0x10004ef, /* U+04EF CYRILLIC SMALL LETTER U WITH MACRON */ FcitxKey_Serbian_dje = 0x06a1, /* U+0452 CYRILLIC SMALL LETTER DJE */ FcitxKey_Macedonia_gje = 0x06a2, /* U+0453 CYRILLIC SMALL LETTER GJE */ FcitxKey_Cyrillic_io = 0x06a3, /* U+0451 CYRILLIC SMALL LETTER IO */ FcitxKey_Ukrainian_ie = 0x06a4, /* U+0454 CYRILLIC SMALL LETTER UKRAINIAN IE */ FcitxKey_Ukranian_je = 0x06a4, /* deprecated */ FcitxKey_Macedonia_dse = 0x06a5, /* U+0455 CYRILLIC SMALL LETTER DZE */ FcitxKey_Ukrainian_i = 0x06a6, /* U+0456 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */ FcitxKey_Ukranian_i = 0x06a6, /* deprecated */ FcitxKey_Ukrainian_yi = 0x06a7, /* U+0457 CYRILLIC SMALL LETTER YI */ FcitxKey_Ukranian_yi = 0x06a7, /* deprecated */ FcitxKey_Cyrillic_je = 0x06a8, /* U+0458 CYRILLIC SMALL LETTER JE */ FcitxKey_Serbian_je = 0x06a8, /* deprecated */ FcitxKey_Cyrillic_lje = 0x06a9, /* U+0459 CYRILLIC SMALL LETTER LJE */ FcitxKey_Serbian_lje = 0x06a9, /* deprecated */ FcitxKey_Cyrillic_nje = 0x06aa, /* U+045A CYRILLIC SMALL LETTER NJE */ FcitxKey_Serbian_nje = 0x06aa, /* deprecated */ FcitxKey_Serbian_tshe = 0x06ab, /* U+045B CYRILLIC SMALL LETTER TSHE */ FcitxKey_Macedonia_kje = 0x06ac, /* U+045C CYRILLIC SMALL LETTER KJE */ FcitxKey_Ukrainian_ghe_with_upturn = 0x06ad, /* U+0491 CYRILLIC SMALL LETTER GHE WITH UPTURN */ FcitxKey_Byelorussian_shortu = 0x06ae, /* U+045E CYRILLIC SMALL LETTER SHORT U */ FcitxKey_Cyrillic_dzhe = 0x06af, /* U+045F CYRILLIC SMALL LETTER DZHE */ FcitxKey_Serbian_dze = 0x06af, /* deprecated */ FcitxKey_numerosign = 0x06b0, /* U+2116 NUMERO SIGN */ FcitxKey_Serbian_DJE = 0x06b1, /* U+0402 CYRILLIC CAPITAL LETTER DJE */ FcitxKey_Macedonia_GJE = 0x06b2, /* U+0403 CYRILLIC CAPITAL LETTER GJE */ FcitxKey_Cyrillic_IO = 0x06b3, /* U+0401 CYRILLIC CAPITAL LETTER IO */ FcitxKey_Ukrainian_IE = 0x06b4, /* U+0404 CYRILLIC CAPITAL LETTER UKRAINIAN IE */ FcitxKey_Ukranian_JE = 0x06b4, /* deprecated */ FcitxKey_Macedonia_DSE = 0x06b5, /* U+0405 CYRILLIC CAPITAL LETTER DZE */ FcitxKey_Ukrainian_I = 0x06b6, /* U+0406 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */ FcitxKey_Ukranian_I = 0x06b6, /* deprecated */ FcitxKey_Ukrainian_YI = 0x06b7, /* U+0407 CYRILLIC CAPITAL LETTER YI */ FcitxKey_Ukranian_YI = 0x06b7, /* deprecated */ FcitxKey_Cyrillic_JE = 0x06b8, /* U+0408 CYRILLIC CAPITAL LETTER JE */ FcitxKey_Serbian_JE = 0x06b8, /* deprecated */ FcitxKey_Cyrillic_LJE = 0x06b9, /* U+0409 CYRILLIC CAPITAL LETTER LJE */ FcitxKey_Serbian_LJE = 0x06b9, /* deprecated */ FcitxKey_Cyrillic_NJE = 0x06ba, /* U+040A CYRILLIC CAPITAL LETTER NJE */ FcitxKey_Serbian_NJE = 0x06ba, /* deprecated */ FcitxKey_Serbian_TSHE = 0x06bb, /* U+040B CYRILLIC CAPITAL LETTER TSHE */ FcitxKey_Macedonia_KJE = 0x06bc, /* U+040C CYRILLIC CAPITAL LETTER KJE */ FcitxKey_Ukrainian_GHE_WITH_UPTURN = 0x06bd, /* U+0490 CYRILLIC CAPITAL LETTER GHE WITH UPTURN */ FcitxKey_Byelorussian_SHORTU = 0x06be, /* U+040E CYRILLIC CAPITAL LETTER SHORT U */ FcitxKey_Cyrillic_DZHE = 0x06bf, /* U+040F CYRILLIC CAPITAL LETTER DZHE */ FcitxKey_Serbian_DZE = 0x06bf, /* deprecated */ FcitxKey_Cyrillic_yu = 0x06c0, /* U+044E CYRILLIC SMALL LETTER YU */ FcitxKey_Cyrillic_a = 0x06c1, /* U+0430 CYRILLIC SMALL LETTER A */ FcitxKey_Cyrillic_be = 0x06c2, /* U+0431 CYRILLIC SMALL LETTER BE */ FcitxKey_Cyrillic_tse = 0x06c3, /* U+0446 CYRILLIC SMALL LETTER TSE */ FcitxKey_Cyrillic_de = 0x06c4, /* U+0434 CYRILLIC SMALL LETTER DE */ FcitxKey_Cyrillic_ie = 0x06c5, /* U+0435 CYRILLIC SMALL LETTER IE */ FcitxKey_Cyrillic_ef = 0x06c6, /* U+0444 CYRILLIC SMALL LETTER EF */ FcitxKey_Cyrillic_ghe = 0x06c7, /* U+0433 CYRILLIC SMALL LETTER GHE */ FcitxKey_Cyrillic_ha = 0x06c8, /* U+0445 CYRILLIC SMALL LETTER HA */ FcitxKey_Cyrillic_i = 0x06c9, /* U+0438 CYRILLIC SMALL LETTER I */ FcitxKey_Cyrillic_shorti = 0x06ca, /* U+0439 CYRILLIC SMALL LETTER SHORT I */ FcitxKey_Cyrillic_ka = 0x06cb, /* U+043A CYRILLIC SMALL LETTER KA */ FcitxKey_Cyrillic_el = 0x06cc, /* U+043B CYRILLIC SMALL LETTER EL */ FcitxKey_Cyrillic_em = 0x06cd, /* U+043C CYRILLIC SMALL LETTER EM */ FcitxKey_Cyrillic_en = 0x06ce, /* U+043D CYRILLIC SMALL LETTER EN */ FcitxKey_Cyrillic_o = 0x06cf, /* U+043E CYRILLIC SMALL LETTER O */ FcitxKey_Cyrillic_pe = 0x06d0, /* U+043F CYRILLIC SMALL LETTER PE */ FcitxKey_Cyrillic_ya = 0x06d1, /* U+044F CYRILLIC SMALL LETTER YA */ FcitxKey_Cyrillic_er = 0x06d2, /* U+0440 CYRILLIC SMALL LETTER ER */ FcitxKey_Cyrillic_es = 0x06d3, /* U+0441 CYRILLIC SMALL LETTER ES */ FcitxKey_Cyrillic_te = 0x06d4, /* U+0442 CYRILLIC SMALL LETTER TE */ FcitxKey_Cyrillic_u = 0x06d5, /* U+0443 CYRILLIC SMALL LETTER U */ FcitxKey_Cyrillic_zhe = 0x06d6, /* U+0436 CYRILLIC SMALL LETTER ZHE */ FcitxKey_Cyrillic_ve = 0x06d7, /* U+0432 CYRILLIC SMALL LETTER VE */ FcitxKey_Cyrillic_softsign = 0x06d8, /* U+044C CYRILLIC SMALL LETTER SOFT SIGN */ FcitxKey_Cyrillic_yeru = 0x06d9, /* U+044B CYRILLIC SMALL LETTER YERU */ FcitxKey_Cyrillic_ze = 0x06da, /* U+0437 CYRILLIC SMALL LETTER ZE */ FcitxKey_Cyrillic_sha = 0x06db, /* U+0448 CYRILLIC SMALL LETTER SHA */ FcitxKey_Cyrillic_e = 0x06dc, /* U+044D CYRILLIC SMALL LETTER E */ FcitxKey_Cyrillic_shcha = 0x06dd, /* U+0449 CYRILLIC SMALL LETTER SHCHA */ FcitxKey_Cyrillic_che = 0x06de, /* U+0447 CYRILLIC SMALL LETTER CHE */ FcitxKey_Cyrillic_hardsign = 0x06df, /* U+044A CYRILLIC SMALL LETTER HARD SIGN */ FcitxKey_Cyrillic_YU = 0x06e0, /* U+042E CYRILLIC CAPITAL LETTER YU */ FcitxKey_Cyrillic_A = 0x06e1, /* U+0410 CYRILLIC CAPITAL LETTER A */ FcitxKey_Cyrillic_BE = 0x06e2, /* U+0411 CYRILLIC CAPITAL LETTER BE */ FcitxKey_Cyrillic_TSE = 0x06e3, /* U+0426 CYRILLIC CAPITAL LETTER TSE */ FcitxKey_Cyrillic_DE = 0x06e4, /* U+0414 CYRILLIC CAPITAL LETTER DE */ FcitxKey_Cyrillic_IE = 0x06e5, /* U+0415 CYRILLIC CAPITAL LETTER IE */ FcitxKey_Cyrillic_EF = 0x06e6, /* U+0424 CYRILLIC CAPITAL LETTER EF */ FcitxKey_Cyrillic_GHE = 0x06e7, /* U+0413 CYRILLIC CAPITAL LETTER GHE */ FcitxKey_Cyrillic_HA = 0x06e8, /* U+0425 CYRILLIC CAPITAL LETTER HA */ FcitxKey_Cyrillic_I = 0x06e9, /* U+0418 CYRILLIC CAPITAL LETTER I */ FcitxKey_Cyrillic_SHORTI = 0x06ea, /* U+0419 CYRILLIC CAPITAL LETTER SHORT I */ FcitxKey_Cyrillic_KA = 0x06eb, /* U+041A CYRILLIC CAPITAL LETTER KA */ FcitxKey_Cyrillic_EL = 0x06ec, /* U+041B CYRILLIC CAPITAL LETTER EL */ FcitxKey_Cyrillic_EM = 0x06ed, /* U+041C CYRILLIC CAPITAL LETTER EM */ FcitxKey_Cyrillic_EN = 0x06ee, /* U+041D CYRILLIC CAPITAL LETTER EN */ FcitxKey_Cyrillic_O = 0x06ef, /* U+041E CYRILLIC CAPITAL LETTER O */ FcitxKey_Cyrillic_PE = 0x06f0, /* U+041F CYRILLIC CAPITAL LETTER PE */ FcitxKey_Cyrillic_YA = 0x06f1, /* U+042F CYRILLIC CAPITAL LETTER YA */ FcitxKey_Cyrillic_ER = 0x06f2, /* U+0420 CYRILLIC CAPITAL LETTER ER */ FcitxKey_Cyrillic_ES = 0x06f3, /* U+0421 CYRILLIC CAPITAL LETTER ES */ FcitxKey_Cyrillic_TE = 0x06f4, /* U+0422 CYRILLIC CAPITAL LETTER TE */ FcitxKey_Cyrillic_U = 0x06f5, /* U+0423 CYRILLIC CAPITAL LETTER U */ FcitxKey_Cyrillic_ZHE = 0x06f6, /* U+0416 CYRILLIC CAPITAL LETTER ZHE */ FcitxKey_Cyrillic_VE = 0x06f7, /* U+0412 CYRILLIC CAPITAL LETTER VE */ FcitxKey_Cyrillic_SOFTSIGN = 0x06f8, /* U+042C CYRILLIC CAPITAL LETTER SOFT SIGN */ FcitxKey_Cyrillic_YERU = 0x06f9, /* U+042B CYRILLIC CAPITAL LETTER YERU */ FcitxKey_Cyrillic_ZE = 0x06fa, /* U+0417 CYRILLIC CAPITAL LETTER ZE */ FcitxKey_Cyrillic_SHA = 0x06fb, /* U+0428 CYRILLIC CAPITAL LETTER SHA */ FcitxKey_Cyrillic_E = 0x06fc, /* U+042D CYRILLIC CAPITAL LETTER E */ FcitxKey_Cyrillic_SHCHA = 0x06fd, /* U+0429 CYRILLIC CAPITAL LETTER SHCHA */ FcitxKey_Cyrillic_CHE = 0x06fe, /* U+0427 CYRILLIC CAPITAL LETTER CHE */ FcitxKey_Cyrillic_HARDSIGN = 0x06ff, /* U+042A CYRILLIC CAPITAL LETTER HARD SIGN */ FcitxKey_Greek_ALPHAaccent = 0x07a1, /* U+0386 GREEK CAPITAL LETTER ALPHA WITH TONOS */ FcitxKey_Greek_EPSILONaccent = 0x07a2, /* U+0388 GREEK CAPITAL LETTER EPSILON WITH TONOS */ FcitxKey_Greek_ETAaccent = 0x07a3, /* U+0389 GREEK CAPITAL LETTER ETA WITH TONOS */ FcitxKey_Greek_IOTAaccent = 0x07a4, /* U+038A GREEK CAPITAL LETTER IOTA WITH TONOS */ FcitxKey_Greek_IOTAdieresis = 0x07a5, /* U+03AA GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */ FcitxKey_Greek_IOTAdiaeresis = 0x07a5, /* old typo */ FcitxKey_Greek_OMICRONaccent = 0x07a7, /* U+038C GREEK CAPITAL LETTER OMICRON WITH TONOS */ FcitxKey_Greek_UPSILONaccent = 0x07a8, /* U+038E GREEK CAPITAL LETTER UPSILON WITH TONOS */ FcitxKey_Greek_UPSILONdieresis = 0x07a9, /* U+03AB GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */ FcitxKey_Greek_OMEGAaccent = 0x07ab, /* U+038F GREEK CAPITAL LETTER OMEGA WITH TONOS */ FcitxKey_Greek_accentdieresis = 0x07ae, /* U+0385 GREEK DIALYTIKA TONOS */ FcitxKey_Greek_horizbar = 0x07af, /* U+2015 HORIZONTAL BAR */ FcitxKey_Greek_alphaaccent = 0x07b1, /* U+03AC GREEK SMALL LETTER ALPHA WITH TONOS */ FcitxKey_Greek_epsilonaccent = 0x07b2, /* U+03AD GREEK SMALL LETTER EPSILON WITH TONOS */ FcitxKey_Greek_etaaccent = 0x07b3, /* U+03AE GREEK SMALL LETTER ETA WITH TONOS */ FcitxKey_Greek_iotaaccent = 0x07b4, /* U+03AF GREEK SMALL LETTER IOTA WITH TONOS */ FcitxKey_Greek_iotadieresis = 0x07b5, /* U+03CA GREEK SMALL LETTER IOTA WITH DIALYTIKA */ FcitxKey_Greek_iotaaccentdieresis = 0x07b6, /* U+0390 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ FcitxKey_Greek_omicronaccent = 0x07b7, /* U+03CC GREEK SMALL LETTER OMICRON WITH TONOS */ FcitxKey_Greek_upsilonaccent = 0x07b8, /* U+03CD GREEK SMALL LETTER UPSILON WITH TONOS */ FcitxKey_Greek_upsilondieresis = 0x07b9, /* U+03CB GREEK SMALL LETTER UPSILON WITH DIALYTIKA */ FcitxKey_Greek_upsilonaccentdieresis = 0x07ba, /* U+03B0 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS */ FcitxKey_Greek_omegaaccent = 0x07bb, /* U+03CE GREEK SMALL LETTER OMEGA WITH TONOS */ FcitxKey_Greek_ALPHA = 0x07c1, /* U+0391 GREEK CAPITAL LETTER ALPHA */ FcitxKey_Greek_BETA = 0x07c2, /* U+0392 GREEK CAPITAL LETTER BETA */ FcitxKey_Greek_GAMMA = 0x07c3, /* U+0393 GREEK CAPITAL LETTER GAMMA */ FcitxKey_Greek_DELTA = 0x07c4, /* U+0394 GREEK CAPITAL LETTER DELTA */ FcitxKey_Greek_EPSILON = 0x07c5, /* U+0395 GREEK CAPITAL LETTER EPSILON */ FcitxKey_Greek_ZETA = 0x07c6, /* U+0396 GREEK CAPITAL LETTER ZETA */ FcitxKey_Greek_ETA = 0x07c7, /* U+0397 GREEK CAPITAL LETTER ETA */ FcitxKey_Greek_THETA = 0x07c8, /* U+0398 GREEK CAPITAL LETTER THETA */ FcitxKey_Greek_IOTA = 0x07c9, /* U+0399 GREEK CAPITAL LETTER IOTA */ FcitxKey_Greek_KAPPA = 0x07ca, /* U+039A GREEK CAPITAL LETTER KAPPA */ FcitxKey_Greek_LAMDA = 0x07cb, /* U+039B GREEK CAPITAL LETTER LAMDA */ FcitxKey_Greek_LAMBDA = 0x07cb, /* U+039B GREEK CAPITAL LETTER LAMDA */ FcitxKey_Greek_MU = 0x07cc, /* U+039C GREEK CAPITAL LETTER MU */ FcitxKey_Greek_NU = 0x07cd, /* U+039D GREEK CAPITAL LETTER NU */ FcitxKey_Greek_XI = 0x07ce, /* U+039E GREEK CAPITAL LETTER XI */ FcitxKey_Greek_OMICRON = 0x07cf, /* U+039F GREEK CAPITAL LETTER OMICRON */ FcitxKey_Greek_PI = 0x07d0, /* U+03A0 GREEK CAPITAL LETTER PI */ FcitxKey_Greek_RHO = 0x07d1, /* U+03A1 GREEK CAPITAL LETTER RHO */ FcitxKey_Greek_SIGMA = 0x07d2, /* U+03A3 GREEK CAPITAL LETTER SIGMA */ FcitxKey_Greek_TAU = 0x07d4, /* U+03A4 GREEK CAPITAL LETTER TAU */ FcitxKey_Greek_UPSILON = 0x07d5, /* U+03A5 GREEK CAPITAL LETTER UPSILON */ FcitxKey_Greek_PHI = 0x07d6, /* U+03A6 GREEK CAPITAL LETTER PHI */ FcitxKey_Greek_CHI = 0x07d7, /* U+03A7 GREEK CAPITAL LETTER CHI */ FcitxKey_Greek_PSI = 0x07d8, /* U+03A8 GREEK CAPITAL LETTER PSI */ FcitxKey_Greek_OMEGA = 0x07d9, /* U+03A9 GREEK CAPITAL LETTER OMEGA */ FcitxKey_Greek_alpha = 0x07e1, /* U+03B1 GREEK SMALL LETTER ALPHA */ FcitxKey_Greek_beta = 0x07e2, /* U+03B2 GREEK SMALL LETTER BETA */ FcitxKey_Greek_gamma = 0x07e3, /* U+03B3 GREEK SMALL LETTER GAMMA */ FcitxKey_Greek_delta = 0x07e4, /* U+03B4 GREEK SMALL LETTER DELTA */ FcitxKey_Greek_epsilon = 0x07e5, /* U+03B5 GREEK SMALL LETTER EPSILON */ FcitxKey_Greek_zeta = 0x07e6, /* U+03B6 GREEK SMALL LETTER ZETA */ FcitxKey_Greek_eta = 0x07e7, /* U+03B7 GREEK SMALL LETTER ETA */ FcitxKey_Greek_theta = 0x07e8, /* U+03B8 GREEK SMALL LETTER THETA */ FcitxKey_Greek_iota = 0x07e9, /* U+03B9 GREEK SMALL LETTER IOTA */ FcitxKey_Greek_kappa = 0x07ea, /* U+03BA GREEK SMALL LETTER KAPPA */ FcitxKey_Greek_lamda = 0x07eb, /* U+03BB GREEK SMALL LETTER LAMDA */ FcitxKey_Greek_lambda = 0x07eb, /* U+03BB GREEK SMALL LETTER LAMDA */ FcitxKey_Greek_mu = 0x07ec, /* U+03BC GREEK SMALL LETTER MU */ FcitxKey_Greek_nu = 0x07ed, /* U+03BD GREEK SMALL LETTER NU */ FcitxKey_Greek_xi = 0x07ee, /* U+03BE GREEK SMALL LETTER XI */ FcitxKey_Greek_omicron = 0x07ef, /* U+03BF GREEK SMALL LETTER OMICRON */ FcitxKey_Greek_pi = 0x07f0, /* U+03C0 GREEK SMALL LETTER PI */ FcitxKey_Greek_rho = 0x07f1, /* U+03C1 GREEK SMALL LETTER RHO */ FcitxKey_Greek_sigma = 0x07f2, /* U+03C3 GREEK SMALL LETTER SIGMA */ FcitxKey_Greek_finalsmallsigma = 0x07f3, /* U+03C2 GREEK SMALL LETTER FINAL SIGMA */ FcitxKey_Greek_tau = 0x07f4, /* U+03C4 GREEK SMALL LETTER TAU */ FcitxKey_Greek_upsilon = 0x07f5, /* U+03C5 GREEK SMALL LETTER UPSILON */ FcitxKey_Greek_phi = 0x07f6, /* U+03C6 GREEK SMALL LETTER PHI */ FcitxKey_Greek_chi = 0x07f7, /* U+03C7 GREEK SMALL LETTER CHI */ FcitxKey_Greek_psi = 0x07f8, /* U+03C8 GREEK SMALL LETTER PSI */ FcitxKey_Greek_omega = 0x07f9, /* U+03C9 GREEK SMALL LETTER OMEGA */ FcitxKey_Greek_switch = 0xff7e, /* Alias for mode_switch */ FcitxKey_leftradical = 0x08a1, /* U+23B7 RADICAL SYMBOL BOTTOM */ FcitxKey_topleftradical = 0x08a2, /*(U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT)*/ FcitxKey_horizconnector = 0x08a3, /*(U+2500 BOX DRAWINGS LIGHT HORIZONTAL)*/ FcitxKey_topintegral = 0x08a4, /* U+2320 TOP HALF INTEGRAL */ FcitxKey_botintegral = 0x08a5, /* U+2321 BOTTOM HALF INTEGRAL */ FcitxKey_vertconnector = 0x08a6, /*(U+2502 BOX DRAWINGS LIGHT VERTICAL)*/ FcitxKey_topleftsqbracket = 0x08a7, /* U+23A1 LEFT SQUARE BRACKET UPPER CORNER */ FcitxKey_botleftsqbracket = 0x08a8, /* U+23A3 LEFT SQUARE BRACKET LOWER CORNER */ FcitxKey_toprightsqbracket = 0x08a9, /* U+23A4 RIGHT SQUARE BRACKET UPPER CORNER */ FcitxKey_botrightsqbracket = 0x08aa, /* U+23A6 RIGHT SQUARE BRACKET LOWER CORNER */ FcitxKey_topleftparens = 0x08ab, /* U+239B LEFT PARENTHESIS UPPER HOOK */ FcitxKey_botleftparens = 0x08ac, /* U+239D LEFT PARENTHESIS LOWER HOOK */ FcitxKey_toprightparens = 0x08ad, /* U+239E RIGHT PARENTHESIS UPPER HOOK */ FcitxKey_botrightparens = 0x08ae, /* U+23A0 RIGHT PARENTHESIS LOWER HOOK */ FcitxKey_leftmiddlecurlybrace = 0x08af, /* U+23A8 LEFT CURLY BRACKET MIDDLE PIECE */ FcitxKey_rightmiddlecurlybrace = 0x08b0, /* U+23AC RIGHT CURLY BRACKET MIDDLE PIECE */ FcitxKey_topleftsummation = 0x08b1, FcitxKey_botleftsummation = 0x08b2, FcitxKey_topvertsummationconnector = 0x08b3, FcitxKey_botvertsummationconnector = 0x08b4, FcitxKey_toprightsummation = 0x08b5, FcitxKey_botrightsummation = 0x08b6, FcitxKey_rightmiddlesummation = 0x08b7, FcitxKey_lessthanequal = 0x08bc, /* U+2264 LESS-THAN OR EQUAL TO */ FcitxKey_notequal = 0x08bd, /* U+2260 NOT EQUAL TO */ FcitxKey_greaterthanequal = 0x08be, /* U+2265 GREATER-THAN OR EQUAL TO */ FcitxKey_integral = 0x08bf, /* U+222B INTEGRAL */ FcitxKey_therefore = 0x08c0, /* U+2234 THEREFORE */ FcitxKey_variation = 0x08c1, /* U+221D PROPORTIONAL TO */ FcitxKey_infinity = 0x08c2, /* U+221E INFINITY */ FcitxKey_nabla = 0x08c5, /* U+2207 NABLA */ FcitxKey_approximate = 0x08c8, /* U+223C TILDE OPERATOR */ FcitxKey_similarequal = 0x08c9, /* U+2243 ASYMPTOTICALLY EQUAL TO */ FcitxKey_ifonlyif = 0x08cd, /* U+21D4 LEFT RIGHT DOUBLE ARROW */ FcitxKey_implies = 0x08ce, /* U+21D2 RIGHTWARDS DOUBLE ARROW */ FcitxKey_identical = 0x08cf, /* U+2261 IDENTICAL TO */ FcitxKey_radical = 0x08d6, /* U+221A SQUARE ROOT */ FcitxKey_includedin = 0x08da, /* U+2282 SUBSET OF */ FcitxKey_includes = 0x08db, /* U+2283 SUPERSET OF */ FcitxKey_intersection = 0x08dc, /* U+2229 INTERSECTION */ FcitxKey_union = 0x08dd, /* U+222A UNION */ FcitxKey_logicaland = 0x08de, /* U+2227 LOGICAL AND */ FcitxKey_logicalor = 0x08df, /* U+2228 LOGICAL OR */ FcitxKey_partialderivative = 0x08ef, /* U+2202 PARTIAL DIFFERENTIAL */ FcitxKey_function = 0x08f6, /* U+0192 LATIN SMALL LETTER F WITH HOOK */ FcitxKey_leftarrow = 0x08fb, /* U+2190 LEFTWARDS ARROW */ FcitxKey_uparrow = 0x08fc, /* U+2191 UPWARDS ARROW */ FcitxKey_rightarrow = 0x08fd, /* U+2192 RIGHTWARDS ARROW */ FcitxKey_downarrow = 0x08fe, /* U+2193 DOWNWARDS ARROW */ FcitxKey_blank = 0x09df, FcitxKey_soliddiamond = 0x09e0, /* U+25C6 BLACK DIAMOND */ FcitxKey_checkerboard = 0x09e1, /* U+2592 MEDIUM SHADE */ FcitxKey_ht = 0x09e2, /* U+2409 SYMBOL FOR HORIZONTAL TABULATION */ FcitxKey_ff = 0x09e3, /* U+240C SYMBOL FOR FORM FEED */ FcitxKey_cr = 0x09e4, /* U+240D SYMBOL FOR CARRIAGE RETURN */ FcitxKey_lf = 0x09e5, /* U+240A SYMBOL FOR LINE FEED */ FcitxKey_nl = 0x09e8, /* U+2424 SYMBOL FOR NEWLINE */ FcitxKey_vt = 0x09e9, /* U+240B SYMBOL FOR VERTICAL TABULATION */ FcitxKey_lowrightcorner = 0x09ea, /* U+2518 BOX DRAWINGS LIGHT UP AND LEFT */ FcitxKey_uprightcorner = 0x09eb, /* U+2510 BOX DRAWINGS LIGHT DOWN AND LEFT */ FcitxKey_upleftcorner = 0x09ec, /* U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT */ FcitxKey_lowleftcorner = 0x09ed, /* U+2514 BOX DRAWINGS LIGHT UP AND RIGHT */ FcitxKey_crossinglines = 0x09ee, /* U+253C BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */ FcitxKey_horizlinescan1 = 0x09ef, /* U+23BA HORIZONTAL SCAN LINE-1 */ FcitxKey_horizlinescan3 = 0x09f0, /* U+23BB HORIZONTAL SCAN LINE-3 */ FcitxKey_horizlinescan5 = 0x09f1, /* U+2500 BOX DRAWINGS LIGHT HORIZONTAL */ FcitxKey_horizlinescan7 = 0x09f2, /* U+23BC HORIZONTAL SCAN LINE-7 */ FcitxKey_horizlinescan9 = 0x09f3, /* U+23BD HORIZONTAL SCAN LINE-9 */ FcitxKey_leftt = 0x09f4, /* U+251C BOX DRAWINGS LIGHT VERTICAL AND RIGHT */ FcitxKey_rightt = 0x09f5, /* U+2524 BOX DRAWINGS LIGHT VERTICAL AND LEFT */ FcitxKey_bott = 0x09f6, /* U+2534 BOX DRAWINGS LIGHT UP AND HORIZONTAL */ FcitxKey_topt = 0x09f7, /* U+252C BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */ FcitxKey_vertbar = 0x09f8, /* U+2502 BOX DRAWINGS LIGHT VERTICAL */ FcitxKey_emspace = 0x0aa1, /* U+2003 EM SPACE */ FcitxKey_enspace = 0x0aa2, /* U+2002 EN SPACE */ FcitxKey_em3space = 0x0aa3, /* U+2004 THREE-PER-EM SPACE */ FcitxKey_em4space = 0x0aa4, /* U+2005 FOUR-PER-EM SPACE */ FcitxKey_digitspace = 0x0aa5, /* U+2007 FIGURE SPACE */ FcitxKey_punctspace = 0x0aa6, /* U+2008 PUNCTUATION SPACE */ FcitxKey_thinspace = 0x0aa7, /* U+2009 THIN SPACE */ FcitxKey_hairspace = 0x0aa8, /* U+200A HAIR SPACE */ FcitxKey_emdash = 0x0aa9, /* U+2014 EM DASH */ FcitxKey_endash = 0x0aaa, /* U+2013 EN DASH */ FcitxKey_signifblank = 0x0aac, /*(U+2423 OPEN BOX)*/ FcitxKey_ellipsis = 0x0aae, /* U+2026 HORIZONTAL ELLIPSIS */ FcitxKey_doubbaselinedot = 0x0aaf, /* U+2025 TWO DOT LEADER */ FcitxKey_onethird = 0x0ab0, /* U+2153 VULGAR FRACTION ONE THIRD */ FcitxKey_twothirds = 0x0ab1, /* U+2154 VULGAR FRACTION TWO THIRDS */ FcitxKey_onefifth = 0x0ab2, /* U+2155 VULGAR FRACTION ONE FIFTH */ FcitxKey_twofifths = 0x0ab3, /* U+2156 VULGAR FRACTION TWO FIFTHS */ FcitxKey_threefifths = 0x0ab4, /* U+2157 VULGAR FRACTION THREE FIFTHS */ FcitxKey_fourfifths = 0x0ab5, /* U+2158 VULGAR FRACTION FOUR FIFTHS */ FcitxKey_onesixth = 0x0ab6, /* U+2159 VULGAR FRACTION ONE SIXTH */ FcitxKey_fivesixths = 0x0ab7, /* U+215A VULGAR FRACTION FIVE SIXTHS */ FcitxKey_careof = 0x0ab8, /* U+2105 CARE OF */ FcitxKey_figdash = 0x0abb, /* U+2012 FIGURE DASH */ FcitxKey_leftanglebracket = 0x0abc, /*(U+27E8 MATHEMATICAL LEFT ANGLE BRACKET)*/ FcitxKey_decimalpoint = 0x0abd, /*(U+002E FULL STOP)*/ FcitxKey_rightanglebracket = 0x0abe, /*(U+27E9 MATHEMATICAL RIGHT ANGLE BRACKET)*/ FcitxKey_marker = 0x0abf, FcitxKey_oneeighth = 0x0ac3, /* U+215B VULGAR FRACTION ONE EIGHTH */ FcitxKey_threeeighths = 0x0ac4, /* U+215C VULGAR FRACTION THREE EIGHTHS */ FcitxKey_fiveeighths = 0x0ac5, /* U+215D VULGAR FRACTION FIVE EIGHTHS */ FcitxKey_seveneighths = 0x0ac6, /* U+215E VULGAR FRACTION SEVEN EIGHTHS */ FcitxKey_trademark = 0x0ac9, /* U+2122 TRADE MARK SIGN */ FcitxKey_signaturemark = 0x0aca, /*(U+2613 SALTIRE)*/ FcitxKey_trademarkincircle = 0x0acb, FcitxKey_leftopentriangle = 0x0acc, /*(U+25C1 WHITE LEFT-POINTING TRIANGLE)*/ FcitxKey_rightopentriangle = 0x0acd, /*(U+25B7 WHITE RIGHT-POINTING TRIANGLE)*/ FcitxKey_emopencircle = 0x0ace, /*(U+25CB WHITE CIRCLE)*/ FcitxKey_emopenrectangle = 0x0acf, /*(U+25AF WHITE VERTICAL RECTANGLE)*/ FcitxKey_leftsinglequotemark = 0x0ad0, /* U+2018 LEFT SINGLE QUOTATION MARK */ FcitxKey_rightsinglequotemark = 0x0ad1, /* U+2019 RIGHT SINGLE QUOTATION MARK */ FcitxKey_leftdoublequotemark = 0x0ad2, /* U+201C LEFT DOUBLE QUOTATION MARK */ FcitxKey_rightdoublequotemark = 0x0ad3, /* U+201D RIGHT DOUBLE QUOTATION MARK */ FcitxKey_prescription = 0x0ad4, /* U+211E PRESCRIPTION TAKE */ FcitxKey_permille = 0x0ad5, /* U+2030 PER MILLE SIGN */ FcitxKey_minutes = 0x0ad6, /* U+2032 PRIME */ FcitxKey_seconds = 0x0ad7, /* U+2033 DOUBLE PRIME */ FcitxKey_latincross = 0x0ad9, /* U+271D LATIN CROSS */ FcitxKey_hexagram = 0x0ada, FcitxKey_filledrectbullet = 0x0adb, /*(U+25AC BLACK RECTANGLE)*/ FcitxKey_filledlefttribullet = 0x0adc, /*(U+25C0 BLACK LEFT-POINTING TRIANGLE)*/ FcitxKey_filledrighttribullet = 0x0add, /*(U+25B6 BLACK RIGHT-POINTING TRIANGLE)*/ FcitxKey_emfilledcircle = 0x0ade, /*(U+25CF BLACK CIRCLE)*/ FcitxKey_emfilledrect = 0x0adf, /*(U+25AE BLACK VERTICAL RECTANGLE)*/ FcitxKey_enopencircbullet = 0x0ae0, /*(U+25E6 WHITE BULLET)*/ FcitxKey_enopensquarebullet = 0x0ae1, /*(U+25AB WHITE SMALL SQUARE)*/ FcitxKey_openrectbullet = 0x0ae2, /*(U+25AD WHITE RECTANGLE)*/ FcitxKey_opentribulletup = 0x0ae3, /*(U+25B3 WHITE UP-POINTING TRIANGLE)*/ FcitxKey_opentribulletdown = 0x0ae4, /*(U+25BD WHITE DOWN-POINTING TRIANGLE)*/ FcitxKey_openstar = 0x0ae5, /*(U+2606 WHITE STAR)*/ FcitxKey_enfilledcircbullet = 0x0ae6, /*(U+2022 BULLET)*/ FcitxKey_enfilledsqbullet = 0x0ae7, /*(U+25AA BLACK SMALL SQUARE)*/ FcitxKey_filledtribulletup = 0x0ae8, /*(U+25B2 BLACK UP-POINTING TRIANGLE)*/ FcitxKey_filledtribulletdown = 0x0ae9, /*(U+25BC BLACK DOWN-POINTING TRIANGLE)*/ FcitxKey_leftpointer = 0x0aea, /*(U+261C WHITE LEFT POINTING INDEX)*/ FcitxKey_rightpointer = 0x0aeb, /*(U+261E WHITE RIGHT POINTING INDEX)*/ FcitxKey_club = 0x0aec, /* U+2663 BLACK CLUB SUIT */ FcitxKey_diamond = 0x0aed, /* U+2666 BLACK DIAMOND SUIT */ FcitxKey_heart = 0x0aee, /* U+2665 BLACK HEART SUIT */ FcitxKey_maltesecross = 0x0af0, /* U+2720 MALTESE CROSS */ FcitxKey_dagger = 0x0af1, /* U+2020 DAGGER */ FcitxKey_doubledagger = 0x0af2, /* U+2021 DOUBLE DAGGER */ FcitxKey_checkmark = 0x0af3, /* U+2713 CHECK MARK */ FcitxKey_ballotcross = 0x0af4, /* U+2717 BALLOT X */ FcitxKey_musicalsharp = 0x0af5, /* U+266F MUSIC SHARP SIGN */ FcitxKey_musicalflat = 0x0af6, /* U+266D MUSIC FLAT SIGN */ FcitxKey_malesymbol = 0x0af7, /* U+2642 MALE SIGN */ FcitxKey_femalesymbol = 0x0af8, /* U+2640 FEMALE SIGN */ FcitxKey_telephone = 0x0af9, /* U+260E BLACK TELEPHONE */ FcitxKey_telephonerecorder = 0x0afa, /* U+2315 TELEPHONE RECORDER */ FcitxKey_phonographcopyright = 0x0afb, /* U+2117 SOUND RECORDING COPYRIGHT */ FcitxKey_caret = 0x0afc, /* U+2038 CARET */ FcitxKey_singlelowquotemark = 0x0afd, /* U+201A SINGLE LOW-9 QUOTATION MARK */ FcitxKey_doublelowquotemark = 0x0afe, /* U+201E DOUBLE LOW-9 QUOTATION MARK */ FcitxKey_cursor = 0x0aff, FcitxKey_leftcaret = 0x0ba3, /*(U+003C LESS-THAN SIGN)*/ FcitxKey_rightcaret = 0x0ba6, /*(U+003E GREATER-THAN SIGN)*/ FcitxKey_downcaret = 0x0ba8, /*(U+2228 LOGICAL OR)*/ FcitxKey_upcaret = 0x0ba9, /*(U+2227 LOGICAL AND)*/ FcitxKey_overbar = 0x0bc0, /*(U+00AF MACRON)*/ FcitxKey_downtack = 0x0bc2, /* U+22A4 DOWN TACK */ FcitxKey_upshoe = 0x0bc3, /*(U+2229 INTERSECTION)*/ FcitxKey_downstile = 0x0bc4, /* U+230A LEFT FLOOR */ FcitxKey_underbar = 0x0bc6, /*(U+005F LOW LINE)*/ FcitxKey_jot = 0x0bca, /* U+2218 RING OPERATOR */ FcitxKey_quad = 0x0bcc, /* U+2395 APL FUNCTIONAL SYMBOL QUAD */ FcitxKey_uptack = 0x0bce, /* U+22A5 UP TACK */ FcitxKey_circle = 0x0bcf, /* U+25CB WHITE CIRCLE */ FcitxKey_upstile = 0x0bd3, /* U+2308 LEFT CEILING */ FcitxKey_downshoe = 0x0bd6, /*(U+222A UNION)*/ FcitxKey_rightshoe = 0x0bd8, /*(U+2283 SUPERSET OF)*/ FcitxKey_leftshoe = 0x0bda, /*(U+2282 SUBSET OF)*/ FcitxKey_lefttack = 0x0bdc, /* U+22A3 LEFT TACK */ FcitxKey_righttack = 0x0bfc, /* U+22A2 RIGHT TACK */ FcitxKey_hebrew_doublelowline = 0x0cdf, /* U+2017 DOUBLE LOW LINE */ FcitxKey_hebrew_aleph = 0x0ce0, /* U+05D0 HEBREW LETTER ALEF */ FcitxKey_hebrew_bet = 0x0ce1, /* U+05D1 HEBREW LETTER BET */ FcitxKey_hebrew_beth = 0x0ce1, /* deprecated */ FcitxKey_hebrew_gimel = 0x0ce2, /* U+05D2 HEBREW LETTER GIMEL */ FcitxKey_hebrew_gimmel = 0x0ce2, /* deprecated */ FcitxKey_hebrew_dalet = 0x0ce3, /* U+05D3 HEBREW LETTER DALET */ FcitxKey_hebrew_daleth = 0x0ce3, /* deprecated */ FcitxKey_hebrew_he = 0x0ce4, /* U+05D4 HEBREW LETTER HE */ FcitxKey_hebrew_waw = 0x0ce5, /* U+05D5 HEBREW LETTER VAV */ FcitxKey_hebrew_zain = 0x0ce6, /* U+05D6 HEBREW LETTER ZAYIN */ FcitxKey_hebrew_zayin = 0x0ce6, /* deprecated */ FcitxKey_hebrew_chet = 0x0ce7, /* U+05D7 HEBREW LETTER HET */ FcitxKey_hebrew_het = 0x0ce7, /* deprecated */ FcitxKey_hebrew_tet = 0x0ce8, /* U+05D8 HEBREW LETTER TET */ FcitxKey_hebrew_teth = 0x0ce8, /* deprecated */ FcitxKey_hebrew_yod = 0x0ce9, /* U+05D9 HEBREW LETTER YOD */ FcitxKey_hebrew_finalkaph = 0x0cea, /* U+05DA HEBREW LETTER FINAL KAF */ FcitxKey_hebrew_kaph = 0x0ceb, /* U+05DB HEBREW LETTER KAF */ FcitxKey_hebrew_lamed = 0x0cec, /* U+05DC HEBREW LETTER LAMED */ FcitxKey_hebrew_finalmem = 0x0ced, /* U+05DD HEBREW LETTER FINAL MEM */ FcitxKey_hebrew_mem = 0x0cee, /* U+05DE HEBREW LETTER MEM */ FcitxKey_hebrew_finalnun = 0x0cef, /* U+05DF HEBREW LETTER FINAL NUN */ FcitxKey_hebrew_nun = 0x0cf0, /* U+05E0 HEBREW LETTER NUN */ FcitxKey_hebrew_samech = 0x0cf1, /* U+05E1 HEBREW LETTER SAMEKH */ FcitxKey_hebrew_samekh = 0x0cf1, /* deprecated */ FcitxKey_hebrew_ayin = 0x0cf2, /* U+05E2 HEBREW LETTER AYIN */ FcitxKey_hebrew_finalpe = 0x0cf3, /* U+05E3 HEBREW LETTER FINAL PE */ FcitxKey_hebrew_pe = 0x0cf4, /* U+05E4 HEBREW LETTER PE */ FcitxKey_hebrew_finalzade = 0x0cf5, /* U+05E5 HEBREW LETTER FINAL TSADI */ FcitxKey_hebrew_finalzadi = 0x0cf5, /* deprecated */ FcitxKey_hebrew_zade = 0x0cf6, /* U+05E6 HEBREW LETTER TSADI */ FcitxKey_hebrew_zadi = 0x0cf6, /* deprecated */ FcitxKey_hebrew_qoph = 0x0cf7, /* U+05E7 HEBREW LETTER QOF */ FcitxKey_hebrew_kuf = 0x0cf7, /* deprecated */ FcitxKey_hebrew_resh = 0x0cf8, /* U+05E8 HEBREW LETTER RESH */ FcitxKey_hebrew_shin = 0x0cf9, /* U+05E9 HEBREW LETTER SHIN */ FcitxKey_hebrew_taw = 0x0cfa, /* U+05EA HEBREW LETTER TAV */ FcitxKey_hebrew_taf = 0x0cfa, /* deprecated */ FcitxKey_Hebrew_switch = 0xff7e, /* Alias for mode_switch */ FcitxKey_Thai_kokai = 0x0da1, /* U+0E01 THAI CHARACTER KO KAI */ FcitxKey_Thai_khokhai = 0x0da2, /* U+0E02 THAI CHARACTER KHO KHAI */ FcitxKey_Thai_khokhuat = 0x0da3, /* U+0E03 THAI CHARACTER KHO KHUAT */ FcitxKey_Thai_khokhwai = 0x0da4, /* U+0E04 THAI CHARACTER KHO KHWAI */ FcitxKey_Thai_khokhon = 0x0da5, /* U+0E05 THAI CHARACTER KHO KHON */ FcitxKey_Thai_khorakhang = 0x0da6, /* U+0E06 THAI CHARACTER KHO RAKHANG */ FcitxKey_Thai_ngongu = 0x0da7, /* U+0E07 THAI CHARACTER NGO NGU */ FcitxKey_Thai_chochan = 0x0da8, /* U+0E08 THAI CHARACTER CHO CHAN */ FcitxKey_Thai_choching = 0x0da9, /* U+0E09 THAI CHARACTER CHO CHING */ FcitxKey_Thai_chochang = 0x0daa, /* U+0E0A THAI CHARACTER CHO CHANG */ FcitxKey_Thai_soso = 0x0dab, /* U+0E0B THAI CHARACTER SO SO */ FcitxKey_Thai_chochoe = 0x0dac, /* U+0E0C THAI CHARACTER CHO CHOE */ FcitxKey_Thai_yoying = 0x0dad, /* U+0E0D THAI CHARACTER YO YING */ FcitxKey_Thai_dochada = 0x0dae, /* U+0E0E THAI CHARACTER DO CHADA */ FcitxKey_Thai_topatak = 0x0daf, /* U+0E0F THAI CHARACTER TO PATAK */ FcitxKey_Thai_thothan = 0x0db0, /* U+0E10 THAI CHARACTER THO THAN */ FcitxKey_Thai_thonangmontho = 0x0db1, /* U+0E11 THAI CHARACTER THO NANGMONTHO */ FcitxKey_Thai_thophuthao = 0x0db2, /* U+0E12 THAI CHARACTER THO PHUTHAO */ FcitxKey_Thai_nonen = 0x0db3, /* U+0E13 THAI CHARACTER NO NEN */ FcitxKey_Thai_dodek = 0x0db4, /* U+0E14 THAI CHARACTER DO DEK */ FcitxKey_Thai_totao = 0x0db5, /* U+0E15 THAI CHARACTER TO TAO */ FcitxKey_Thai_thothung = 0x0db6, /* U+0E16 THAI CHARACTER THO THUNG */ FcitxKey_Thai_thothahan = 0x0db7, /* U+0E17 THAI CHARACTER THO THAHAN */ FcitxKey_Thai_thothong = 0x0db8, /* U+0E18 THAI CHARACTER THO THONG */ FcitxKey_Thai_nonu = 0x0db9, /* U+0E19 THAI CHARACTER NO NU */ FcitxKey_Thai_bobaimai = 0x0dba, /* U+0E1A THAI CHARACTER BO BAIMAI */ FcitxKey_Thai_popla = 0x0dbb, /* U+0E1B THAI CHARACTER PO PLA */ FcitxKey_Thai_phophung = 0x0dbc, /* U+0E1C THAI CHARACTER PHO PHUNG */ FcitxKey_Thai_fofa = 0x0dbd, /* U+0E1D THAI CHARACTER FO FA */ FcitxKey_Thai_phophan = 0x0dbe, /* U+0E1E THAI CHARACTER PHO PHAN */ FcitxKey_Thai_fofan = 0x0dbf, /* U+0E1F THAI CHARACTER FO FAN */ FcitxKey_Thai_phosamphao = 0x0dc0, /* U+0E20 THAI CHARACTER PHO SAMPHAO */ FcitxKey_Thai_moma = 0x0dc1, /* U+0E21 THAI CHARACTER MO MA */ FcitxKey_Thai_yoyak = 0x0dc2, /* U+0E22 THAI CHARACTER YO YAK */ FcitxKey_Thai_rorua = 0x0dc3, /* U+0E23 THAI CHARACTER RO RUA */ FcitxKey_Thai_ru = 0x0dc4, /* U+0E24 THAI CHARACTER RU */ FcitxKey_Thai_loling = 0x0dc5, /* U+0E25 THAI CHARACTER LO LING */ FcitxKey_Thai_lu = 0x0dc6, /* U+0E26 THAI CHARACTER LU */ FcitxKey_Thai_wowaen = 0x0dc7, /* U+0E27 THAI CHARACTER WO WAEN */ FcitxKey_Thai_sosala = 0x0dc8, /* U+0E28 THAI CHARACTER SO SALA */ FcitxKey_Thai_sorusi = 0x0dc9, /* U+0E29 THAI CHARACTER SO RUSI */ FcitxKey_Thai_sosua = 0x0dca, /* U+0E2A THAI CHARACTER SO SUA */ FcitxKey_Thai_hohip = 0x0dcb, /* U+0E2B THAI CHARACTER HO HIP */ FcitxKey_Thai_lochula = 0x0dcc, /* U+0E2C THAI CHARACTER LO CHULA */ FcitxKey_Thai_oang = 0x0dcd, /* U+0E2D THAI CHARACTER O ANG */ FcitxKey_Thai_honokhuk = 0x0dce, /* U+0E2E THAI CHARACTER HO NOKHUK */ FcitxKey_Thai_paiyannoi = 0x0dcf, /* U+0E2F THAI CHARACTER PAIYANNOI */ FcitxKey_Thai_saraa = 0x0dd0, /* U+0E30 THAI CHARACTER SARA A */ FcitxKey_Thai_maihanakat = 0x0dd1, /* U+0E31 THAI CHARACTER MAI HAN-AKAT */ FcitxKey_Thai_saraaa = 0x0dd2, /* U+0E32 THAI CHARACTER SARA AA */ FcitxKey_Thai_saraam = 0x0dd3, /* U+0E33 THAI CHARACTER SARA AM */ FcitxKey_Thai_sarai = 0x0dd4, /* U+0E34 THAI CHARACTER SARA I */ FcitxKey_Thai_saraii = 0x0dd5, /* U+0E35 THAI CHARACTER SARA II */ FcitxKey_Thai_saraue = 0x0dd6, /* U+0E36 THAI CHARACTER SARA UE */ FcitxKey_Thai_sarauee = 0x0dd7, /* U+0E37 THAI CHARACTER SARA UEE */ FcitxKey_Thai_sarau = 0x0dd8, /* U+0E38 THAI CHARACTER SARA U */ FcitxKey_Thai_sarauu = 0x0dd9, /* U+0E39 THAI CHARACTER SARA UU */ FcitxKey_Thai_phinthu = 0x0dda, /* U+0E3A THAI CHARACTER PHINTHU */ FcitxKey_Thai_maihanakat_maitho = 0x0dde, FcitxKey_Thai_baht = 0x0ddf, /* U+0E3F THAI CURRENCY SYMBOL BAHT */ FcitxKey_Thai_sarae = 0x0de0, /* U+0E40 THAI CHARACTER SARA E */ FcitxKey_Thai_saraae = 0x0de1, /* U+0E41 THAI CHARACTER SARA AE */ FcitxKey_Thai_sarao = 0x0de2, /* U+0E42 THAI CHARACTER SARA O */ FcitxKey_Thai_saraaimaimuan = 0x0de3, /* U+0E43 THAI CHARACTER SARA AI MAIMUAN */ FcitxKey_Thai_saraaimaimalai = 0x0de4, /* U+0E44 THAI CHARACTER SARA AI MAIMALAI */ FcitxKey_Thai_lakkhangyao = 0x0de5, /* U+0E45 THAI CHARACTER LAKKHANGYAO */ FcitxKey_Thai_maiyamok = 0x0de6, /* U+0E46 THAI CHARACTER MAIYAMOK */ FcitxKey_Thai_maitaikhu = 0x0de7, /* U+0E47 THAI CHARACTER MAITAIKHU */ FcitxKey_Thai_maiek = 0x0de8, /* U+0E48 THAI CHARACTER MAI EK */ FcitxKey_Thai_maitho = 0x0de9, /* U+0E49 THAI CHARACTER MAI THO */ FcitxKey_Thai_maitri = 0x0dea, /* U+0E4A THAI CHARACTER MAI TRI */ FcitxKey_Thai_maichattawa = 0x0deb, /* U+0E4B THAI CHARACTER MAI CHATTAWA */ FcitxKey_Thai_thanthakhat = 0x0dec, /* U+0E4C THAI CHARACTER THANTHAKHAT */ FcitxKey_Thai_nikhahit = 0x0ded, /* U+0E4D THAI CHARACTER NIKHAHIT */ FcitxKey_Thai_leksun = 0x0df0, /* U+0E50 THAI DIGIT ZERO */ FcitxKey_Thai_leknung = 0x0df1, /* U+0E51 THAI DIGIT ONE */ FcitxKey_Thai_leksong = 0x0df2, /* U+0E52 THAI DIGIT TWO */ FcitxKey_Thai_leksam = 0x0df3, /* U+0E53 THAI DIGIT THREE */ FcitxKey_Thai_leksi = 0x0df4, /* U+0E54 THAI DIGIT FOUR */ FcitxKey_Thai_lekha = 0x0df5, /* U+0E55 THAI DIGIT FIVE */ FcitxKey_Thai_lekhok = 0x0df6, /* U+0E56 THAI DIGIT SIX */ FcitxKey_Thai_lekchet = 0x0df7, /* U+0E57 THAI DIGIT SEVEN */ FcitxKey_Thai_lekpaet = 0x0df8, /* U+0E58 THAI DIGIT EIGHT */ FcitxKey_Thai_lekkao = 0x0df9, /* U+0E59 THAI DIGIT NINE */ FcitxKey_Hangul = 0xff31, /* Hangul start/stop(toggle) */ FcitxKey_Hangul_Start = 0xff32, /* Hangul start */ FcitxKey_Hangul_End = 0xff33, /* Hangul end, English start */ FcitxKey_Hangul_Hanja = 0xff34, /* Start Hangul->Hanja Conversion */ FcitxKey_Hangul_Jamo = 0xff35, /* Hangul Jamo mode */ FcitxKey_Hangul_Romaja = 0xff36, /* Hangul Romaja mode */ FcitxKey_Hangul_Codeinput = 0xff37, /* Hangul code input mode */ FcitxKey_Hangul_Jeonja = 0xff38, /* Jeonja mode */ FcitxKey_Hangul_Banja = 0xff39, /* Banja mode */ FcitxKey_Hangul_PreHanja = 0xff3a, /* Pre Hanja conversion */ FcitxKey_Hangul_PostHanja = 0xff3b, /* Post Hanja conversion */ FcitxKey_Hangul_SingleCandidate = 0xff3c, /* Single candidate */ FcitxKey_Hangul_MultipleCandidate = 0xff3d, /* Multiple candidate */ FcitxKey_Hangul_PreviousCandidate = 0xff3e, /* Previous candidate */ FcitxKey_Hangul_Special = 0xff3f, /* Special symbols */ FcitxKey_Hangul_switch = 0xff7e, /* Alias for mode_switch */ FcitxKey_Hangul_Kiyeog = 0x0ea1, FcitxKey_Hangul_SsangKiyeog = 0x0ea2, FcitxKey_Hangul_KiyeogSios = 0x0ea3, FcitxKey_Hangul_Nieun = 0x0ea4, FcitxKey_Hangul_NieunJieuj = 0x0ea5, FcitxKey_Hangul_NieunHieuh = 0x0ea6, FcitxKey_Hangul_Dikeud = 0x0ea7, FcitxKey_Hangul_SsangDikeud = 0x0ea8, FcitxKey_Hangul_Rieul = 0x0ea9, FcitxKey_Hangul_RieulKiyeog = 0x0eaa, FcitxKey_Hangul_RieulMieum = 0x0eab, FcitxKey_Hangul_RieulPieub = 0x0eac, FcitxKey_Hangul_RieulSios = 0x0ead, FcitxKey_Hangul_RieulTieut = 0x0eae, FcitxKey_Hangul_RieulPhieuf = 0x0eaf, FcitxKey_Hangul_RieulHieuh = 0x0eb0, FcitxKey_Hangul_Mieum = 0x0eb1, FcitxKey_Hangul_Pieub = 0x0eb2, FcitxKey_Hangul_SsangPieub = 0x0eb3, FcitxKey_Hangul_PieubSios = 0x0eb4, FcitxKey_Hangul_Sios = 0x0eb5, FcitxKey_Hangul_SsangSios = 0x0eb6, FcitxKey_Hangul_Ieung = 0x0eb7, FcitxKey_Hangul_Jieuj = 0x0eb8, FcitxKey_Hangul_SsangJieuj = 0x0eb9, FcitxKey_Hangul_Cieuc = 0x0eba, FcitxKey_Hangul_Khieuq = 0x0ebb, FcitxKey_Hangul_Tieut = 0x0ebc, FcitxKey_Hangul_Phieuf = 0x0ebd, FcitxKey_Hangul_Hieuh = 0x0ebe, FcitxKey_Hangul_A = 0x0ebf, FcitxKey_Hangul_AE = 0x0ec0, FcitxKey_Hangul_YA = 0x0ec1, FcitxKey_Hangul_YAE = 0x0ec2, FcitxKey_Hangul_EO = 0x0ec3, FcitxKey_Hangul_E = 0x0ec4, FcitxKey_Hangul_YEO = 0x0ec5, FcitxKey_Hangul_YE = 0x0ec6, FcitxKey_Hangul_O = 0x0ec7, FcitxKey_Hangul_WA = 0x0ec8, FcitxKey_Hangul_WAE = 0x0ec9, FcitxKey_Hangul_OE = 0x0eca, FcitxKey_Hangul_YO = 0x0ecb, FcitxKey_Hangul_U = 0x0ecc, FcitxKey_Hangul_WEO = 0x0ecd, FcitxKey_Hangul_WE = 0x0ece, FcitxKey_Hangul_WI = 0x0ecf, FcitxKey_Hangul_YU = 0x0ed0, FcitxKey_Hangul_EU = 0x0ed1, FcitxKey_Hangul_YI = 0x0ed2, FcitxKey_Hangul_I = 0x0ed3, FcitxKey_Hangul_J_Kiyeog = 0x0ed4, FcitxKey_Hangul_J_SsangKiyeog = 0x0ed5, FcitxKey_Hangul_J_KiyeogSios = 0x0ed6, FcitxKey_Hangul_J_Nieun = 0x0ed7, FcitxKey_Hangul_J_NieunJieuj = 0x0ed8, FcitxKey_Hangul_J_NieunHieuh = 0x0ed9, FcitxKey_Hangul_J_Dikeud = 0x0eda, FcitxKey_Hangul_J_Rieul = 0x0edb, FcitxKey_Hangul_J_RieulKiyeog = 0x0edc, FcitxKey_Hangul_J_RieulMieum = 0x0edd, FcitxKey_Hangul_J_RieulPieub = 0x0ede, FcitxKey_Hangul_J_RieulSios = 0x0edf, FcitxKey_Hangul_J_RieulTieut = 0x0ee0, FcitxKey_Hangul_J_RieulPhieuf = 0x0ee1, FcitxKey_Hangul_J_RieulHieuh = 0x0ee2, FcitxKey_Hangul_J_Mieum = 0x0ee3, FcitxKey_Hangul_J_Pieub = 0x0ee4, FcitxKey_Hangul_J_PieubSios = 0x0ee5, FcitxKey_Hangul_J_Sios = 0x0ee6, FcitxKey_Hangul_J_SsangSios = 0x0ee7, FcitxKey_Hangul_J_Ieung = 0x0ee8, FcitxKey_Hangul_J_Jieuj = 0x0ee9, FcitxKey_Hangul_J_Cieuc = 0x0eea, FcitxKey_Hangul_J_Khieuq = 0x0eeb, FcitxKey_Hangul_J_Tieut = 0x0eec, FcitxKey_Hangul_J_Phieuf = 0x0eed, FcitxKey_Hangul_J_Hieuh = 0x0eee, FcitxKey_Hangul_RieulYeorinHieuh = 0x0eef, FcitxKey_Hangul_SunkyeongeumMieum = 0x0ef0, FcitxKey_Hangul_SunkyeongeumPieub = 0x0ef1, FcitxKey_Hangul_PanSios = 0x0ef2, FcitxKey_Hangul_KkogjiDalrinIeung = 0x0ef3, FcitxKey_Hangul_SunkyeongeumPhieuf = 0x0ef4, FcitxKey_Hangul_YeorinHieuh = 0x0ef5, FcitxKey_Hangul_AraeA = 0x0ef6, FcitxKey_Hangul_AraeAE = 0x0ef7, FcitxKey_Hangul_J_PanSios = 0x0ef8, FcitxKey_Hangul_J_KkogjiDalrinIeung = 0x0ef9, FcitxKey_Hangul_J_YeorinHieuh = 0x0efa, FcitxKey_Korean_Won = 0x0eff, /*(U+20A9 WON SIGN)*/ FcitxKey_Armenian_ligature_ew = 0x1000587, /* U+0587 ARMENIAN SMALL LIGATURE ECH YIWN */ FcitxKey_Armenian_full_stop = 0x1000589, /* U+0589 ARMENIAN FULL STOP */ FcitxKey_Armenian_verjaket = 0x1000589, /* U+0589 ARMENIAN FULL STOP */ FcitxKey_Armenian_separation_mark = 0x100055d, /* U+055D ARMENIAN COMMA */ FcitxKey_Armenian_but = 0x100055d, /* U+055D ARMENIAN COMMA */ FcitxKey_Armenian_hyphen = 0x100058a, /* U+058A ARMENIAN HYPHEN */ FcitxKey_Armenian_yentamna = 0x100058a, /* U+058A ARMENIAN HYPHEN */ FcitxKey_Armenian_exclam = 0x100055c, /* U+055C ARMENIAN EXCLAMATION MARK */ FcitxKey_Armenian_amanak = 0x100055c, /* U+055C ARMENIAN EXCLAMATION MARK */ FcitxKey_Armenian_accent = 0x100055b, /* U+055B ARMENIAN EMPHASIS MARK */ FcitxKey_Armenian_shesht = 0x100055b, /* U+055B ARMENIAN EMPHASIS MARK */ FcitxKey_Armenian_question = 0x100055e, /* U+055E ARMENIAN QUESTION MARK */ FcitxKey_Armenian_paruyk = 0x100055e, /* U+055E ARMENIAN QUESTION MARK */ FcitxKey_Armenian_AYB = 0x1000531, /* U+0531 ARMENIAN CAPITAL LETTER AYB */ FcitxKey_Armenian_ayb = 0x1000561, /* U+0561 ARMENIAN SMALL LETTER AYB */ FcitxKey_Armenian_BEN = 0x1000532, /* U+0532 ARMENIAN CAPITAL LETTER BEN */ FcitxKey_Armenian_ben = 0x1000562, /* U+0562 ARMENIAN SMALL LETTER BEN */ FcitxKey_Armenian_GIM = 0x1000533, /* U+0533 ARMENIAN CAPITAL LETTER GIM */ FcitxKey_Armenian_gim = 0x1000563, /* U+0563 ARMENIAN SMALL LETTER GIM */ FcitxKey_Armenian_DA = 0x1000534, /* U+0534 ARMENIAN CAPITAL LETTER DA */ FcitxKey_Armenian_da = 0x1000564, /* U+0564 ARMENIAN SMALL LETTER DA */ FcitxKey_Armenian_YECH = 0x1000535, /* U+0535 ARMENIAN CAPITAL LETTER ECH */ FcitxKey_Armenian_yech = 0x1000565, /* U+0565 ARMENIAN SMALL LETTER ECH */ FcitxKey_Armenian_ZA = 0x1000536, /* U+0536 ARMENIAN CAPITAL LETTER ZA */ FcitxKey_Armenian_za = 0x1000566, /* U+0566 ARMENIAN SMALL LETTER ZA */ FcitxKey_Armenian_E = 0x1000537, /* U+0537 ARMENIAN CAPITAL LETTER EH */ FcitxKey_Armenian_e = 0x1000567, /* U+0567 ARMENIAN SMALL LETTER EH */ FcitxKey_Armenian_AT = 0x1000538, /* U+0538 ARMENIAN CAPITAL LETTER ET */ FcitxKey_Armenian_at = 0x1000568, /* U+0568 ARMENIAN SMALL LETTER ET */ FcitxKey_Armenian_TO = 0x1000539, /* U+0539 ARMENIAN CAPITAL LETTER TO */ FcitxKey_Armenian_to = 0x1000569, /* U+0569 ARMENIAN SMALL LETTER TO */ FcitxKey_Armenian_ZHE = 0x100053a, /* U+053A ARMENIAN CAPITAL LETTER ZHE */ FcitxKey_Armenian_zhe = 0x100056a, /* U+056A ARMENIAN SMALL LETTER ZHE */ FcitxKey_Armenian_INI = 0x100053b, /* U+053B ARMENIAN CAPITAL LETTER INI */ FcitxKey_Armenian_ini = 0x100056b, /* U+056B ARMENIAN SMALL LETTER INI */ FcitxKey_Armenian_LYUN = 0x100053c, /* U+053C ARMENIAN CAPITAL LETTER LIWN */ FcitxKey_Armenian_lyun = 0x100056c, /* U+056C ARMENIAN SMALL LETTER LIWN */ FcitxKey_Armenian_KHE = 0x100053d, /* U+053D ARMENIAN CAPITAL LETTER XEH */ FcitxKey_Armenian_khe = 0x100056d, /* U+056D ARMENIAN SMALL LETTER XEH */ FcitxKey_Armenian_TSA = 0x100053e, /* U+053E ARMENIAN CAPITAL LETTER CA */ FcitxKey_Armenian_tsa = 0x100056e, /* U+056E ARMENIAN SMALL LETTER CA */ FcitxKey_Armenian_KEN = 0x100053f, /* U+053F ARMENIAN CAPITAL LETTER KEN */ FcitxKey_Armenian_ken = 0x100056f, /* U+056F ARMENIAN SMALL LETTER KEN */ FcitxKey_Armenian_HO = 0x1000540, /* U+0540 ARMENIAN CAPITAL LETTER HO */ FcitxKey_Armenian_ho = 0x1000570, /* U+0570 ARMENIAN SMALL LETTER HO */ FcitxKey_Armenian_DZA = 0x1000541, /* U+0541 ARMENIAN CAPITAL LETTER JA */ FcitxKey_Armenian_dza = 0x1000571, /* U+0571 ARMENIAN SMALL LETTER JA */ FcitxKey_Armenian_GHAT = 0x1000542, /* U+0542 ARMENIAN CAPITAL LETTER GHAD */ FcitxKey_Armenian_ghat = 0x1000572, /* U+0572 ARMENIAN SMALL LETTER GHAD */ FcitxKey_Armenian_TCHE = 0x1000543, /* U+0543 ARMENIAN CAPITAL LETTER CHEH */ FcitxKey_Armenian_tche = 0x1000573, /* U+0573 ARMENIAN SMALL LETTER CHEH */ FcitxKey_Armenian_MEN = 0x1000544, /* U+0544 ARMENIAN CAPITAL LETTER MEN */ FcitxKey_Armenian_men = 0x1000574, /* U+0574 ARMENIAN SMALL LETTER MEN */ FcitxKey_Armenian_HI = 0x1000545, /* U+0545 ARMENIAN CAPITAL LETTER YI */ FcitxKey_Armenian_hi = 0x1000575, /* U+0575 ARMENIAN SMALL LETTER YI */ FcitxKey_Armenian_NU = 0x1000546, /* U+0546 ARMENIAN CAPITAL LETTER NOW */ FcitxKey_Armenian_nu = 0x1000576, /* U+0576 ARMENIAN SMALL LETTER NOW */ FcitxKey_Armenian_SHA = 0x1000547, /* U+0547 ARMENIAN CAPITAL LETTER SHA */ FcitxKey_Armenian_sha = 0x1000577, /* U+0577 ARMENIAN SMALL LETTER SHA */ FcitxKey_Armenian_VO = 0x1000548, /* U+0548 ARMENIAN CAPITAL LETTER VO */ FcitxKey_Armenian_vo = 0x1000578, /* U+0578 ARMENIAN SMALL LETTER VO */ FcitxKey_Armenian_CHA = 0x1000549, /* U+0549 ARMENIAN CAPITAL LETTER CHA */ FcitxKey_Armenian_cha = 0x1000579, /* U+0579 ARMENIAN SMALL LETTER CHA */ FcitxKey_Armenian_PE = 0x100054a, /* U+054A ARMENIAN CAPITAL LETTER PEH */ FcitxKey_Armenian_pe = 0x100057a, /* U+057A ARMENIAN SMALL LETTER PEH */ FcitxKey_Armenian_JE = 0x100054b, /* U+054B ARMENIAN CAPITAL LETTER JHEH */ FcitxKey_Armenian_je = 0x100057b, /* U+057B ARMENIAN SMALL LETTER JHEH */ FcitxKey_Armenian_RA = 0x100054c, /* U+054C ARMENIAN CAPITAL LETTER RA */ FcitxKey_Armenian_ra = 0x100057c, /* U+057C ARMENIAN SMALL LETTER RA */ FcitxKey_Armenian_SE = 0x100054d, /* U+054D ARMENIAN CAPITAL LETTER SEH */ FcitxKey_Armenian_se = 0x100057d, /* U+057D ARMENIAN SMALL LETTER SEH */ FcitxKey_Armenian_VEV = 0x100054e, /* U+054E ARMENIAN CAPITAL LETTER VEW */ FcitxKey_Armenian_vev = 0x100057e, /* U+057E ARMENIAN SMALL LETTER VEW */ FcitxKey_Armenian_TYUN = 0x100054f, /* U+054F ARMENIAN CAPITAL LETTER TIWN */ FcitxKey_Armenian_tyun = 0x100057f, /* U+057F ARMENIAN SMALL LETTER TIWN */ FcitxKey_Armenian_RE = 0x1000550, /* U+0550 ARMENIAN CAPITAL LETTER REH */ FcitxKey_Armenian_re = 0x1000580, /* U+0580 ARMENIAN SMALL LETTER REH */ FcitxKey_Armenian_TSO = 0x1000551, /* U+0551 ARMENIAN CAPITAL LETTER CO */ FcitxKey_Armenian_tso = 0x1000581, /* U+0581 ARMENIAN SMALL LETTER CO */ FcitxKey_Armenian_VYUN = 0x1000552, /* U+0552 ARMENIAN CAPITAL LETTER YIWN */ FcitxKey_Armenian_vyun = 0x1000582, /* U+0582 ARMENIAN SMALL LETTER YIWN */ FcitxKey_Armenian_PYUR = 0x1000553, /* U+0553 ARMENIAN CAPITAL LETTER PIWR */ FcitxKey_Armenian_pyur = 0x1000583, /* U+0583 ARMENIAN SMALL LETTER PIWR */ FcitxKey_Armenian_KE = 0x1000554, /* U+0554 ARMENIAN CAPITAL LETTER KEH */ FcitxKey_Armenian_ke = 0x1000584, /* U+0584 ARMENIAN SMALL LETTER KEH */ FcitxKey_Armenian_O = 0x1000555, /* U+0555 ARMENIAN CAPITAL LETTER OH */ FcitxKey_Armenian_o = 0x1000585, /* U+0585 ARMENIAN SMALL LETTER OH */ FcitxKey_Armenian_FE = 0x1000556, /* U+0556 ARMENIAN CAPITAL LETTER FEH */ FcitxKey_Armenian_fe = 0x1000586, /* U+0586 ARMENIAN SMALL LETTER FEH */ FcitxKey_Armenian_apostrophe = 0x100055a, /* U+055A ARMENIAN APOSTROPHE */ FcitxKey_Georgian_an = 0x10010d0, /* U+10D0 GEORGIAN LETTER AN */ FcitxKey_Georgian_ban = 0x10010d1, /* U+10D1 GEORGIAN LETTER BAN */ FcitxKey_Georgian_gan = 0x10010d2, /* U+10D2 GEORGIAN LETTER GAN */ FcitxKey_Georgian_don = 0x10010d3, /* U+10D3 GEORGIAN LETTER DON */ FcitxKey_Georgian_en = 0x10010d4, /* U+10D4 GEORGIAN LETTER EN */ FcitxKey_Georgian_vin = 0x10010d5, /* U+10D5 GEORGIAN LETTER VIN */ FcitxKey_Georgian_zen = 0x10010d6, /* U+10D6 GEORGIAN LETTER ZEN */ FcitxKey_Georgian_tan = 0x10010d7, /* U+10D7 GEORGIAN LETTER TAN */ FcitxKey_Georgian_in = 0x10010d8, /* U+10D8 GEORGIAN LETTER IN */ FcitxKey_Georgian_kan = 0x10010d9, /* U+10D9 GEORGIAN LETTER KAN */ FcitxKey_Georgian_las = 0x10010da, /* U+10DA GEORGIAN LETTER LAS */ FcitxKey_Georgian_man = 0x10010db, /* U+10DB GEORGIAN LETTER MAN */ FcitxKey_Georgian_nar = 0x10010dc, /* U+10DC GEORGIAN LETTER NAR */ FcitxKey_Georgian_on = 0x10010dd, /* U+10DD GEORGIAN LETTER ON */ FcitxKey_Georgian_par = 0x10010de, /* U+10DE GEORGIAN LETTER PAR */ FcitxKey_Georgian_zhar = 0x10010df, /* U+10DF GEORGIAN LETTER ZHAR */ FcitxKey_Georgian_rae = 0x10010e0, /* U+10E0 GEORGIAN LETTER RAE */ FcitxKey_Georgian_san = 0x10010e1, /* U+10E1 GEORGIAN LETTER SAN */ FcitxKey_Georgian_tar = 0x10010e2, /* U+10E2 GEORGIAN LETTER TAR */ FcitxKey_Georgian_un = 0x10010e3, /* U+10E3 GEORGIAN LETTER UN */ FcitxKey_Georgian_phar = 0x10010e4, /* U+10E4 GEORGIAN LETTER PHAR */ FcitxKey_Georgian_khar = 0x10010e5, /* U+10E5 GEORGIAN LETTER KHAR */ FcitxKey_Georgian_ghan = 0x10010e6, /* U+10E6 GEORGIAN LETTER GHAN */ FcitxKey_Georgian_qar = 0x10010e7, /* U+10E7 GEORGIAN LETTER QAR */ FcitxKey_Georgian_shin = 0x10010e8, /* U+10E8 GEORGIAN LETTER SHIN */ FcitxKey_Georgian_chin = 0x10010e9, /* U+10E9 GEORGIAN LETTER CHIN */ FcitxKey_Georgian_can = 0x10010ea, /* U+10EA GEORGIAN LETTER CAN */ FcitxKey_Georgian_jil = 0x10010eb, /* U+10EB GEORGIAN LETTER JIL */ FcitxKey_Georgian_cil = 0x10010ec, /* U+10EC GEORGIAN LETTER CIL */ FcitxKey_Georgian_char = 0x10010ed, /* U+10ED GEORGIAN LETTER CHAR */ FcitxKey_Georgian_xan = 0x10010ee, /* U+10EE GEORGIAN LETTER XAN */ FcitxKey_Georgian_jhan = 0x10010ef, /* U+10EF GEORGIAN LETTER JHAN */ FcitxKey_Georgian_hae = 0x10010f0, /* U+10F0 GEORGIAN LETTER HAE */ FcitxKey_Georgian_he = 0x10010f1, /* U+10F1 GEORGIAN LETTER HE */ FcitxKey_Georgian_hie = 0x10010f2, /* U+10F2 GEORGIAN LETTER HIE */ FcitxKey_Georgian_we = 0x10010f3, /* U+10F3 GEORGIAN LETTER WE */ FcitxKey_Georgian_har = 0x10010f4, /* U+10F4 GEORGIAN LETTER HAR */ FcitxKey_Georgian_hoe = 0x10010f5, /* U+10F5 GEORGIAN LETTER HOE */ FcitxKey_Georgian_fi = 0x10010f6, /* U+10F6 GEORGIAN LETTER FI */ FcitxKey_Xabovedot = 0x1001e8a, /* U+1E8A LATIN CAPITAL LETTER X WITH DOT ABOVE */ FcitxKey_Ibreve = 0x100012c, /* U+012C LATIN CAPITAL LETTER I WITH BREVE */ FcitxKey_Zstroke = 0x10001b5, /* U+01B5 LATIN CAPITAL LETTER Z WITH STROKE */ FcitxKey_Gcaron = 0x10001e6, /* U+01E6 LATIN CAPITAL LETTER G WITH CARON */ FcitxKey_Ocaron = 0x10001d1, /* U+01D2 LATIN CAPITAL LETTER O WITH CARON */ FcitxKey_Obarred = 0x100019f, /* U+019F LATIN CAPITAL LETTER O WITH MIDDLE TILDE */ FcitxKey_xabovedot = 0x1001e8b, /* U+1E8B LATIN SMALL LETTER X WITH DOT ABOVE */ FcitxKey_ibreve = 0x100012d, /* U+012D LATIN SMALL LETTER I WITH BREVE */ FcitxKey_zstroke = 0x10001b6, /* U+01B6 LATIN SMALL LETTER Z WITH STROKE */ FcitxKey_gcaron = 0x10001e7, /* U+01E7 LATIN SMALL LETTER G WITH CARON */ FcitxKey_ocaron = 0x10001d2, /* U+01D2 LATIN SMALL LETTER O WITH CARON */ FcitxKey_obarred = 0x1000275, /* U+0275 LATIN SMALL LETTER BARRED O */ FcitxKey_SCHWA = 0x100018f, /* U+018F LATIN CAPITAL LETTER SCHWA */ FcitxKey_schwa = 0x1000259, /* U+0259 LATIN SMALL LETTER SCHWA */ FcitxKey_EZH = 0x10001b7, /* U+01B7 LATIN CAPITAL LETTER EZH */ FcitxKey_ezh = 0x1000292, /* U+0292 LATIN SMALL LETTER EZH */ FcitxKey_Lbelowdot = 0x1001e36, /* U+1E36 LATIN CAPITAL LETTER L WITH DOT BELOW */ FcitxKey_lbelowdot = 0x1001e37, /* U+1E37 LATIN SMALL LETTER L WITH DOT BELOW */ FcitxKey_Abelowdot = 0x1001ea0, /* U+1EA0 LATIN CAPITAL LETTER A WITH DOT BELOW */ FcitxKey_abelowdot = 0x1001ea1, /* U+1EA1 LATIN SMALL LETTER A WITH DOT BELOW */ FcitxKey_Ahook = 0x1001ea2, /* U+1EA2 LATIN CAPITAL LETTER A WITH HOOK ABOVE */ FcitxKey_ahook = 0x1001ea3, /* U+1EA3 LATIN SMALL LETTER A WITH HOOK ABOVE */ FcitxKey_Acircumflexacute = 0x1001ea4, /* U+1EA4 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE */ FcitxKey_acircumflexacute = 0x1001ea5, /* U+1EA5 LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE */ FcitxKey_Acircumflexgrave = 0x1001ea6, /* U+1EA6 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE */ FcitxKey_acircumflexgrave = 0x1001ea7, /* U+1EA7 LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE */ FcitxKey_Acircumflexhook = 0x1001ea8, /* U+1EA8 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE */ FcitxKey_acircumflexhook = 0x1001ea9, /* U+1EA9 LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE */ FcitxKey_Acircumflextilde = 0x1001eaa, /* U+1EAA LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE */ FcitxKey_acircumflextilde = 0x1001eab, /* U+1EAB LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE */ FcitxKey_Acircumflexbelowdot = 0x1001eac, /* U+1EAC LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW */ FcitxKey_acircumflexbelowdot = 0x1001ead, /* U+1EAD LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW */ FcitxKey_Abreveacute = 0x1001eae, /* U+1EAE LATIN CAPITAL LETTER A WITH BREVE AND ACUTE */ FcitxKey_abreveacute = 0x1001eaf, /* U+1EAF LATIN SMALL LETTER A WITH BREVE AND ACUTE */ FcitxKey_Abrevegrave = 0x1001eb0, /* U+1EB0 LATIN CAPITAL LETTER A WITH BREVE AND GRAVE */ FcitxKey_abrevegrave = 0x1001eb1, /* U+1EB1 LATIN SMALL LETTER A WITH BREVE AND GRAVE */ FcitxKey_Abrevehook = 0x1001eb2, /* U+1EB2 LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE */ FcitxKey_abrevehook = 0x1001eb3, /* U+1EB3 LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE */ FcitxKey_Abrevetilde = 0x1001eb4, /* U+1EB4 LATIN CAPITAL LETTER A WITH BREVE AND TILDE */ FcitxKey_abrevetilde = 0x1001eb5, /* U+1EB5 LATIN SMALL LETTER A WITH BREVE AND TILDE */ FcitxKey_Abrevebelowdot = 0x1001eb6, /* U+1EB6 LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW */ FcitxKey_abrevebelowdot = 0x1001eb7, /* U+1EB7 LATIN SMALL LETTER A WITH BREVE AND DOT BELOW */ FcitxKey_Ebelowdot = 0x1001eb8, /* U+1EB8 LATIN CAPITAL LETTER E WITH DOT BELOW */ FcitxKey_ebelowdot = 0x1001eb9, /* U+1EB9 LATIN SMALL LETTER E WITH DOT BELOW */ FcitxKey_Ehook = 0x1001eba, /* U+1EBA LATIN CAPITAL LETTER E WITH HOOK ABOVE */ FcitxKey_ehook = 0x1001ebb, /* U+1EBB LATIN SMALL LETTER E WITH HOOK ABOVE */ FcitxKey_Etilde = 0x1001ebc, /* U+1EBC LATIN CAPITAL LETTER E WITH TILDE */ FcitxKey_etilde = 0x1001ebd, /* U+1EBD LATIN SMALL LETTER E WITH TILDE */ FcitxKey_Ecircumflexacute = 0x1001ebe, /* U+1EBE LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE */ FcitxKey_ecircumflexacute = 0x1001ebf, /* U+1EBF LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE */ FcitxKey_Ecircumflexgrave = 0x1001ec0, /* U+1EC0 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE */ FcitxKey_ecircumflexgrave = 0x1001ec1, /* U+1EC1 LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE */ FcitxKey_Ecircumflexhook = 0x1001ec2, /* U+1EC2 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE */ FcitxKey_ecircumflexhook = 0x1001ec3, /* U+1EC3 LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE */ FcitxKey_Ecircumflextilde = 0x1001ec4, /* U+1EC4 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE */ FcitxKey_ecircumflextilde = 0x1001ec5, /* U+1EC5 LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE */ FcitxKey_Ecircumflexbelowdot = 0x1001ec6, /* U+1EC6 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW */ FcitxKey_ecircumflexbelowdot = 0x1001ec7, /* U+1EC7 LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW */ FcitxKey_Ihook = 0x1001ec8, /* U+1EC8 LATIN CAPITAL LETTER I WITH HOOK ABOVE */ FcitxKey_ihook = 0x1001ec9, /* U+1EC9 LATIN SMALL LETTER I WITH HOOK ABOVE */ FcitxKey_Ibelowdot = 0x1001eca, /* U+1ECA LATIN CAPITAL LETTER I WITH DOT BELOW */ FcitxKey_ibelowdot = 0x1001ecb, /* U+1ECB LATIN SMALL LETTER I WITH DOT BELOW */ FcitxKey_Obelowdot = 0x1001ecc, /* U+1ECC LATIN CAPITAL LETTER O WITH DOT BELOW */ FcitxKey_obelowdot = 0x1001ecd, /* U+1ECD LATIN SMALL LETTER O WITH DOT BELOW */ FcitxKey_Ohook = 0x1001ece, /* U+1ECE LATIN CAPITAL LETTER O WITH HOOK ABOVE */ FcitxKey_ohook = 0x1001ecf, /* U+1ECF LATIN SMALL LETTER O WITH HOOK ABOVE */ FcitxKey_Ocircumflexacute = 0x1001ed0, /* U+1ED0 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE */ FcitxKey_ocircumflexacute = 0x1001ed1, /* U+1ED1 LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE */ FcitxKey_Ocircumflexgrave = 0x1001ed2, /* U+1ED2 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE */ FcitxKey_ocircumflexgrave = 0x1001ed3, /* U+1ED3 LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE */ FcitxKey_Ocircumflexhook = 0x1001ed4, /* U+1ED4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE */ FcitxKey_ocircumflexhook = 0x1001ed5, /* U+1ED5 LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE */ FcitxKey_Ocircumflextilde = 0x1001ed6, /* U+1ED6 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE */ FcitxKey_ocircumflextilde = 0x1001ed7, /* U+1ED7 LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE */ FcitxKey_Ocircumflexbelowdot = 0x1001ed8, /* U+1ED8 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW */ FcitxKey_ocircumflexbelowdot = 0x1001ed9, /* U+1ED9 LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW */ FcitxKey_Ohornacute = 0x1001eda, /* U+1EDA LATIN CAPITAL LETTER O WITH HORN AND ACUTE */ FcitxKey_ohornacute = 0x1001edb, /* U+1EDB LATIN SMALL LETTER O WITH HORN AND ACUTE */ FcitxKey_Ohorngrave = 0x1001edc, /* U+1EDC LATIN CAPITAL LETTER O WITH HORN AND GRAVE */ FcitxKey_ohorngrave = 0x1001edd, /* U+1EDD LATIN SMALL LETTER O WITH HORN AND GRAVE */ FcitxKey_Ohornhook = 0x1001ede, /* U+1EDE LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE */ FcitxKey_ohornhook = 0x1001edf, /* U+1EDF LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE */ FcitxKey_Ohorntilde = 0x1001ee0, /* U+1EE0 LATIN CAPITAL LETTER O WITH HORN AND TILDE */ FcitxKey_ohorntilde = 0x1001ee1, /* U+1EE1 LATIN SMALL LETTER O WITH HORN AND TILDE */ FcitxKey_Ohornbelowdot = 0x1001ee2, /* U+1EE2 LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW */ FcitxKey_ohornbelowdot = 0x1001ee3, /* U+1EE3 LATIN SMALL LETTER O WITH HORN AND DOT BELOW */ FcitxKey_Ubelowdot = 0x1001ee4, /* U+1EE4 LATIN CAPITAL LETTER U WITH DOT BELOW */ FcitxKey_ubelowdot = 0x1001ee5, /* U+1EE5 LATIN SMALL LETTER U WITH DOT BELOW */ FcitxKey_Uhook = 0x1001ee6, /* U+1EE6 LATIN CAPITAL LETTER U WITH HOOK ABOVE */ FcitxKey_uhook = 0x1001ee7, /* U+1EE7 LATIN SMALL LETTER U WITH HOOK ABOVE */ FcitxKey_Uhornacute = 0x1001ee8, /* U+1EE8 LATIN CAPITAL LETTER U WITH HORN AND ACUTE */ FcitxKey_uhornacute = 0x1001ee9, /* U+1EE9 LATIN SMALL LETTER U WITH HORN AND ACUTE */ FcitxKey_Uhorngrave = 0x1001eea, /* U+1EEA LATIN CAPITAL LETTER U WITH HORN AND GRAVE */ FcitxKey_uhorngrave = 0x1001eeb, /* U+1EEB LATIN SMALL LETTER U WITH HORN AND GRAVE */ FcitxKey_Uhornhook = 0x1001eec, /* U+1EEC LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE */ FcitxKey_uhornhook = 0x1001eed, /* U+1EED LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE */ FcitxKey_Uhorntilde = 0x1001eee, /* U+1EEE LATIN CAPITAL LETTER U WITH HORN AND TILDE */ FcitxKey_uhorntilde = 0x1001eef, /* U+1EEF LATIN SMALL LETTER U WITH HORN AND TILDE */ FcitxKey_Uhornbelowdot = 0x1001ef0, /* U+1EF0 LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW */ FcitxKey_uhornbelowdot = 0x1001ef1, /* U+1EF1 LATIN SMALL LETTER U WITH HORN AND DOT BELOW */ FcitxKey_Ybelowdot = 0x1001ef4, /* U+1EF4 LATIN CAPITAL LETTER Y WITH DOT BELOW */ FcitxKey_ybelowdot = 0x1001ef5, /* U+1EF5 LATIN SMALL LETTER Y WITH DOT BELOW */ FcitxKey_Yhook = 0x1001ef6, /* U+1EF6 LATIN CAPITAL LETTER Y WITH HOOK ABOVE */ FcitxKey_yhook = 0x1001ef7, /* U+1EF7 LATIN SMALL LETTER Y WITH HOOK ABOVE */ FcitxKey_Ytilde = 0x1001ef8, /* U+1EF8 LATIN CAPITAL LETTER Y WITH TILDE */ FcitxKey_ytilde = 0x1001ef9, /* U+1EF9 LATIN SMALL LETTER Y WITH TILDE */ FcitxKey_Ohorn = 0x10001a0, /* U+01A0 LATIN CAPITAL LETTER O WITH HORN */ FcitxKey_ohorn = 0x10001a1, /* U+01A1 LATIN SMALL LETTER O WITH HORN */ FcitxKey_Uhorn = 0x10001af, /* U+01AF LATIN CAPITAL LETTER U WITH HORN */ FcitxKey_uhorn = 0x10001b0, /* U+01B0 LATIN SMALL LETTER U WITH HORN */ FcitxKey_EcuSign = 0x10020a0, /* U+20A0 EURO-CURRENCY SIGN */ FcitxKey_ColonSign = 0x10020a1, /* U+20A1 COLON SIGN */ FcitxKey_CruzeiroSign = 0x10020a2, /* U+20A2 CRUZEIRO SIGN */ FcitxKey_FFrancSign = 0x10020a3, /* U+20A3 FRENCH FRANC SIGN */ FcitxKey_LiraSign = 0x10020a4, /* U+20A4 LIRA SIGN */ FcitxKey_MillSign = 0x10020a5, /* U+20A5 MILL SIGN */ FcitxKey_NairaSign = 0x10020a6, /* U+20A6 NAIRA SIGN */ FcitxKey_PesetaSign = 0x10020a7, /* U+20A7 PESETA SIGN */ FcitxKey_RupeeSign = 0x10020a8, /* U+20A8 RUPEE SIGN */ FcitxKey_WonSign = 0x10020a9, /* U+20A9 WON SIGN */ FcitxKey_NewSheqelSign = 0x10020aa, /* U+20AA NEW SHEQEL SIGN */ FcitxKey_DongSign = 0x10020ab, /* U+20AB DONG SIGN */ FcitxKey_EuroSign = 0x20ac, /* U+20AC EURO SIGN */ FcitxKey_zerosuperior = 0x1002070, /* U+2070 SUPERSCRIPT ZERO */ FcitxKey_foursuperior = 0x1002074, /* U+2074 SUPERSCRIPT FOUR */ FcitxKey_fivesuperior = 0x1002075, /* U+2075 SUPERSCRIPT FIVE */ FcitxKey_sixsuperior = 0x1002076, /* U+2076 SUPERSCRIPT SIX */ FcitxKey_sevensuperior = 0x1002077, /* U+2077 SUPERSCRIPT SEVEN */ FcitxKey_eightsuperior = 0x1002078, /* U+2078 SUPERSCRIPT EIGHT */ FcitxKey_ninesuperior = 0x1002079, /* U+2079 SUPERSCRIPT NINE */ FcitxKey_zerosubscript = 0x1002080, /* U+2080 SUBSCRIPT ZERO */ FcitxKey_onesubscript = 0x1002081, /* U+2081 SUBSCRIPT ONE */ FcitxKey_twosubscript = 0x1002082, /* U+2082 SUBSCRIPT TWO */ FcitxKey_threesubscript = 0x1002083, /* U+2083 SUBSCRIPT THREE */ FcitxKey_foursubscript = 0x1002084, /* U+2084 SUBSCRIPT FOUR */ FcitxKey_fivesubscript = 0x1002085, /* U+2085 SUBSCRIPT FIVE */ FcitxKey_sixsubscript = 0x1002086, /* U+2086 SUBSCRIPT SIX */ FcitxKey_sevensubscript = 0x1002087, /* U+2087 SUBSCRIPT SEVEN */ FcitxKey_eightsubscript = 0x1002088, /* U+2088 SUBSCRIPT EIGHT */ FcitxKey_ninesubscript = 0x1002089, /* U+2089 SUBSCRIPT NINE */ FcitxKey_partdifferential = 0x1002202, /* U+2202 PARTIAL DIFFERENTIAL */ FcitxKey_emptyset = 0x1002205, /* U+2205 NULL SET */ FcitxKey_elementof = 0x1002208, /* U+2208 ELEMENT OF */ FcitxKey_notelementof = 0x1002209, /* U+2209 NOT AN ELEMENT OF */ FcitxKey_containsas = 0x100220b, /* U+220B CONTAINS AS MEMBER */ FcitxKey_squareroot = 0x100221a, /* U+221A SQUARE ROOT */ FcitxKey_cuberoot = 0x100221b, /* U+221B CUBE ROOT */ FcitxKey_fourthroot = 0x100221c, /* U+221C FOURTH ROOT */ FcitxKey_dintegral = 0x100222c, /* U+222C DOUBLE INTEGRAL */ FcitxKey_tintegral = 0x100222d, /* U+222D TRIPLE INTEGRAL */ FcitxKey_because = 0x1002235, /* U+2235 BECAUSE */ FcitxKey_approxeq = 0x1002248, /* U+2245 ALMOST EQUAL TO */ FcitxKey_notapproxeq = 0x1002247, /* U+2247 NOT ALMOST EQUAL TO */ FcitxKey_notidentical = 0x1002262, /* U+2262 NOT IDENTICAL TO */ FcitxKey_stricteq = 0x1002263, /* U+2263 STRICTLY EQUIVALENT TO */ FcitxKey_braille_dot_1 = 0xfff1, FcitxKey_braille_dot_2 = 0xfff2, FcitxKey_braille_dot_3 = 0xfff3, FcitxKey_braille_dot_4 = 0xfff4, FcitxKey_braille_dot_5 = 0xfff5, FcitxKey_braille_dot_6 = 0xfff6, FcitxKey_braille_dot_7 = 0xfff7, FcitxKey_braille_dot_8 = 0xfff8, FcitxKey_braille_dot_9 = 0xfff9, FcitxKey_braille_dot_10 = 0xfffa, FcitxKey_braille_blank = 0x1002800, /* U+2800 BRAILLE PATTERN BLANK */ FcitxKey_braille_dots_1 = 0x1002801, /* U+2801 BRAILLE PATTERN DOTS-1 */ FcitxKey_braille_dots_2 = 0x1002802, /* U+2802 BRAILLE PATTERN DOTS-2 */ FcitxKey_braille_dots_12 = 0x1002803, /* U+2803 BRAILLE PATTERN DOTS-12 */ FcitxKey_braille_dots_3 = 0x1002804, /* U+2804 BRAILLE PATTERN DOTS-3 */ FcitxKey_braille_dots_13 = 0x1002805, /* U+2805 BRAILLE PATTERN DOTS-13 */ FcitxKey_braille_dots_23 = 0x1002806, /* U+2806 BRAILLE PATTERN DOTS-23 */ FcitxKey_braille_dots_123 = 0x1002807, /* U+2807 BRAILLE PATTERN DOTS-123 */ FcitxKey_braille_dots_4 = 0x1002808, /* U+2808 BRAILLE PATTERN DOTS-4 */ FcitxKey_braille_dots_14 = 0x1002809, /* U+2809 BRAILLE PATTERN DOTS-14 */ FcitxKey_braille_dots_24 = 0x100280a, /* U+280a BRAILLE PATTERN DOTS-24 */ FcitxKey_braille_dots_124 = 0x100280b, /* U+280b BRAILLE PATTERN DOTS-124 */ FcitxKey_braille_dots_34 = 0x100280c, /* U+280c BRAILLE PATTERN DOTS-34 */ FcitxKey_braille_dots_134 = 0x100280d, /* U+280d BRAILLE PATTERN DOTS-134 */ FcitxKey_braille_dots_234 = 0x100280e, /* U+280e BRAILLE PATTERN DOTS-234 */ FcitxKey_braille_dots_1234 = 0x100280f, /* U+280f BRAILLE PATTERN DOTS-1234 */ FcitxKey_braille_dots_5 = 0x1002810, /* U+2810 BRAILLE PATTERN DOTS-5 */ FcitxKey_braille_dots_15 = 0x1002811, /* U+2811 BRAILLE PATTERN DOTS-15 */ FcitxKey_braille_dots_25 = 0x1002812, /* U+2812 BRAILLE PATTERN DOTS-25 */ FcitxKey_braille_dots_125 = 0x1002813, /* U+2813 BRAILLE PATTERN DOTS-125 */ FcitxKey_braille_dots_35 = 0x1002814, /* U+2814 BRAILLE PATTERN DOTS-35 */ FcitxKey_braille_dots_135 = 0x1002815, /* U+2815 BRAILLE PATTERN DOTS-135 */ FcitxKey_braille_dots_235 = 0x1002816, /* U+2816 BRAILLE PATTERN DOTS-235 */ FcitxKey_braille_dots_1235 = 0x1002817, /* U+2817 BRAILLE PATTERN DOTS-1235 */ FcitxKey_braille_dots_45 = 0x1002818, /* U+2818 BRAILLE PATTERN DOTS-45 */ FcitxKey_braille_dots_145 = 0x1002819, /* U+2819 BRAILLE PATTERN DOTS-145 */ FcitxKey_braille_dots_245 = 0x100281a, /* U+281a BRAILLE PATTERN DOTS-245 */ FcitxKey_braille_dots_1245 = 0x100281b, /* U+281b BRAILLE PATTERN DOTS-1245 */ FcitxKey_braille_dots_345 = 0x100281c, /* U+281c BRAILLE PATTERN DOTS-345 */ FcitxKey_braille_dots_1345 = 0x100281d, /* U+281d BRAILLE PATTERN DOTS-1345 */ FcitxKey_braille_dots_2345 = 0x100281e, /* U+281e BRAILLE PATTERN DOTS-2345 */ FcitxKey_braille_dots_12345 = 0x100281f, /* U+281f BRAILLE PATTERN DOTS-12345 */ FcitxKey_braille_dots_6 = 0x1002820, /* U+2820 BRAILLE PATTERN DOTS-6 */ FcitxKey_braille_dots_16 = 0x1002821, /* U+2821 BRAILLE PATTERN DOTS-16 */ FcitxKey_braille_dots_26 = 0x1002822, /* U+2822 BRAILLE PATTERN DOTS-26 */ FcitxKey_braille_dots_126 = 0x1002823, /* U+2823 BRAILLE PATTERN DOTS-126 */ FcitxKey_braille_dots_36 = 0x1002824, /* U+2824 BRAILLE PATTERN DOTS-36 */ FcitxKey_braille_dots_136 = 0x1002825, /* U+2825 BRAILLE PATTERN DOTS-136 */ FcitxKey_braille_dots_236 = 0x1002826, /* U+2826 BRAILLE PATTERN DOTS-236 */ FcitxKey_braille_dots_1236 = 0x1002827, /* U+2827 BRAILLE PATTERN DOTS-1236 */ FcitxKey_braille_dots_46 = 0x1002828, /* U+2828 BRAILLE PATTERN DOTS-46 */ FcitxKey_braille_dots_146 = 0x1002829, /* U+2829 BRAILLE PATTERN DOTS-146 */ FcitxKey_braille_dots_246 = 0x100282a, /* U+282a BRAILLE PATTERN DOTS-246 */ FcitxKey_braille_dots_1246 = 0x100282b, /* U+282b BRAILLE PATTERN DOTS-1246 */ FcitxKey_braille_dots_346 = 0x100282c, /* U+282c BRAILLE PATTERN DOTS-346 */ FcitxKey_braille_dots_1346 = 0x100282d, /* U+282d BRAILLE PATTERN DOTS-1346 */ FcitxKey_braille_dots_2346 = 0x100282e, /* U+282e BRAILLE PATTERN DOTS-2346 */ FcitxKey_braille_dots_12346 = 0x100282f, /* U+282f BRAILLE PATTERN DOTS-12346 */ FcitxKey_braille_dots_56 = 0x1002830, /* U+2830 BRAILLE PATTERN DOTS-56 */ FcitxKey_braille_dots_156 = 0x1002831, /* U+2831 BRAILLE PATTERN DOTS-156 */ FcitxKey_braille_dots_256 = 0x1002832, /* U+2832 BRAILLE PATTERN DOTS-256 */ FcitxKey_braille_dots_1256 = 0x1002833, /* U+2833 BRAILLE PATTERN DOTS-1256 */ FcitxKey_braille_dots_356 = 0x1002834, /* U+2834 BRAILLE PATTERN DOTS-356 */ FcitxKey_braille_dots_1356 = 0x1002835, /* U+2835 BRAILLE PATTERN DOTS-1356 */ FcitxKey_braille_dots_2356 = 0x1002836, /* U+2836 BRAILLE PATTERN DOTS-2356 */ FcitxKey_braille_dots_12356 = 0x1002837, /* U+2837 BRAILLE PATTERN DOTS-12356 */ FcitxKey_braille_dots_456 = 0x1002838, /* U+2838 BRAILLE PATTERN DOTS-456 */ FcitxKey_braille_dots_1456 = 0x1002839, /* U+2839 BRAILLE PATTERN DOTS-1456 */ FcitxKey_braille_dots_2456 = 0x100283a, /* U+283a BRAILLE PATTERN DOTS-2456 */ FcitxKey_braille_dots_12456 = 0x100283b, /* U+283b BRAILLE PATTERN DOTS-12456 */ FcitxKey_braille_dots_3456 = 0x100283c, /* U+283c BRAILLE PATTERN DOTS-3456 */ FcitxKey_braille_dots_13456 = 0x100283d, /* U+283d BRAILLE PATTERN DOTS-13456 */ FcitxKey_braille_dots_23456 = 0x100283e, /* U+283e BRAILLE PATTERN DOTS-23456 */ FcitxKey_braille_dots_123456 = 0x100283f, /* U+283f BRAILLE PATTERN DOTS-123456 */ FcitxKey_braille_dots_7 = 0x1002840, /* U+2840 BRAILLE PATTERN DOTS-7 */ FcitxKey_braille_dots_17 = 0x1002841, /* U+2841 BRAILLE PATTERN DOTS-17 */ FcitxKey_braille_dots_27 = 0x1002842, /* U+2842 BRAILLE PATTERN DOTS-27 */ FcitxKey_braille_dots_127 = 0x1002843, /* U+2843 BRAILLE PATTERN DOTS-127 */ FcitxKey_braille_dots_37 = 0x1002844, /* U+2844 BRAILLE PATTERN DOTS-37 */ FcitxKey_braille_dots_137 = 0x1002845, /* U+2845 BRAILLE PATTERN DOTS-137 */ FcitxKey_braille_dots_237 = 0x1002846, /* U+2846 BRAILLE PATTERN DOTS-237 */ FcitxKey_braille_dots_1237 = 0x1002847, /* U+2847 BRAILLE PATTERN DOTS-1237 */ FcitxKey_braille_dots_47 = 0x1002848, /* U+2848 BRAILLE PATTERN DOTS-47 */ FcitxKey_braille_dots_147 = 0x1002849, /* U+2849 BRAILLE PATTERN DOTS-147 */ FcitxKey_braille_dots_247 = 0x100284a, /* U+284a BRAILLE PATTERN DOTS-247 */ FcitxKey_braille_dots_1247 = 0x100284b, /* U+284b BRAILLE PATTERN DOTS-1247 */ FcitxKey_braille_dots_347 = 0x100284c, /* U+284c BRAILLE PATTERN DOTS-347 */ FcitxKey_braille_dots_1347 = 0x100284d, /* U+284d BRAILLE PATTERN DOTS-1347 */ FcitxKey_braille_dots_2347 = 0x100284e, /* U+284e BRAILLE PATTERN DOTS-2347 */ FcitxKey_braille_dots_12347 = 0x100284f, /* U+284f BRAILLE PATTERN DOTS-12347 */ FcitxKey_braille_dots_57 = 0x1002850, /* U+2850 BRAILLE PATTERN DOTS-57 */ FcitxKey_braille_dots_157 = 0x1002851, /* U+2851 BRAILLE PATTERN DOTS-157 */ FcitxKey_braille_dots_257 = 0x1002852, /* U+2852 BRAILLE PATTERN DOTS-257 */ FcitxKey_braille_dots_1257 = 0x1002853, /* U+2853 BRAILLE PATTERN DOTS-1257 */ FcitxKey_braille_dots_357 = 0x1002854, /* U+2854 BRAILLE PATTERN DOTS-357 */ FcitxKey_braille_dots_1357 = 0x1002855, /* U+2855 BRAILLE PATTERN DOTS-1357 */ FcitxKey_braille_dots_2357 = 0x1002856, /* U+2856 BRAILLE PATTERN DOTS-2357 */ FcitxKey_braille_dots_12357 = 0x1002857, /* U+2857 BRAILLE PATTERN DOTS-12357 */ FcitxKey_braille_dots_457 = 0x1002858, /* U+2858 BRAILLE PATTERN DOTS-457 */ FcitxKey_braille_dots_1457 = 0x1002859, /* U+2859 BRAILLE PATTERN DOTS-1457 */ FcitxKey_braille_dots_2457 = 0x100285a, /* U+285a BRAILLE PATTERN DOTS-2457 */ FcitxKey_braille_dots_12457 = 0x100285b, /* U+285b BRAILLE PATTERN DOTS-12457 */ FcitxKey_braille_dots_3457 = 0x100285c, /* U+285c BRAILLE PATTERN DOTS-3457 */ FcitxKey_braille_dots_13457 = 0x100285d, /* U+285d BRAILLE PATTERN DOTS-13457 */ FcitxKey_braille_dots_23457 = 0x100285e, /* U+285e BRAILLE PATTERN DOTS-23457 */ FcitxKey_braille_dots_123457 = 0x100285f, /* U+285f BRAILLE PATTERN DOTS-123457 */ FcitxKey_braille_dots_67 = 0x1002860, /* U+2860 BRAILLE PATTERN DOTS-67 */ FcitxKey_braille_dots_167 = 0x1002861, /* U+2861 BRAILLE PATTERN DOTS-167 */ FcitxKey_braille_dots_267 = 0x1002862, /* U+2862 BRAILLE PATTERN DOTS-267 */ FcitxKey_braille_dots_1267 = 0x1002863, /* U+2863 BRAILLE PATTERN DOTS-1267 */ FcitxKey_braille_dots_367 = 0x1002864, /* U+2864 BRAILLE PATTERN DOTS-367 */ FcitxKey_braille_dots_1367 = 0x1002865, /* U+2865 BRAILLE PATTERN DOTS-1367 */ FcitxKey_braille_dots_2367 = 0x1002866, /* U+2866 BRAILLE PATTERN DOTS-2367 */ FcitxKey_braille_dots_12367 = 0x1002867, /* U+2867 BRAILLE PATTERN DOTS-12367 */ FcitxKey_braille_dots_467 = 0x1002868, /* U+2868 BRAILLE PATTERN DOTS-467 */ FcitxKey_braille_dots_1467 = 0x1002869, /* U+2869 BRAILLE PATTERN DOTS-1467 */ FcitxKey_braille_dots_2467 = 0x100286a, /* U+286a BRAILLE PATTERN DOTS-2467 */ FcitxKey_braille_dots_12467 = 0x100286b, /* U+286b BRAILLE PATTERN DOTS-12467 */ FcitxKey_braille_dots_3467 = 0x100286c, /* U+286c BRAILLE PATTERN DOTS-3467 */ FcitxKey_braille_dots_13467 = 0x100286d, /* U+286d BRAILLE PATTERN DOTS-13467 */ FcitxKey_braille_dots_23467 = 0x100286e, /* U+286e BRAILLE PATTERN DOTS-23467 */ FcitxKey_braille_dots_123467 = 0x100286f, /* U+286f BRAILLE PATTERN DOTS-123467 */ FcitxKey_braille_dots_567 = 0x1002870, /* U+2870 BRAILLE PATTERN DOTS-567 */ FcitxKey_braille_dots_1567 = 0x1002871, /* U+2871 BRAILLE PATTERN DOTS-1567 */ FcitxKey_braille_dots_2567 = 0x1002872, /* U+2872 BRAILLE PATTERN DOTS-2567 */ FcitxKey_braille_dots_12567 = 0x1002873, /* U+2873 BRAILLE PATTERN DOTS-12567 */ FcitxKey_braille_dots_3567 = 0x1002874, /* U+2874 BRAILLE PATTERN DOTS-3567 */ FcitxKey_braille_dots_13567 = 0x1002875, /* U+2875 BRAILLE PATTERN DOTS-13567 */ FcitxKey_braille_dots_23567 = 0x1002876, /* U+2876 BRAILLE PATTERN DOTS-23567 */ FcitxKey_braille_dots_123567 = 0x1002877, /* U+2877 BRAILLE PATTERN DOTS-123567 */ FcitxKey_braille_dots_4567 = 0x1002878, /* U+2878 BRAILLE PATTERN DOTS-4567 */ FcitxKey_braille_dots_14567 = 0x1002879, /* U+2879 BRAILLE PATTERN DOTS-14567 */ FcitxKey_braille_dots_24567 = 0x100287a, /* U+287a BRAILLE PATTERN DOTS-24567 */ FcitxKey_braille_dots_124567 = 0x100287b, /* U+287b BRAILLE PATTERN DOTS-124567 */ FcitxKey_braille_dots_34567 = 0x100287c, /* U+287c BRAILLE PATTERN DOTS-34567 */ FcitxKey_braille_dots_134567 = 0x100287d, /* U+287d BRAILLE PATTERN DOTS-134567 */ FcitxKey_braille_dots_234567 = 0x100287e, /* U+287e BRAILLE PATTERN DOTS-234567 */ FcitxKey_braille_dots_1234567 = 0x100287f, /* U+287f BRAILLE PATTERN DOTS-1234567 */ FcitxKey_braille_dots_8 = 0x1002880, /* U+2880 BRAILLE PATTERN DOTS-8 */ FcitxKey_braille_dots_18 = 0x1002881, /* U+2881 BRAILLE PATTERN DOTS-18 */ FcitxKey_braille_dots_28 = 0x1002882, /* U+2882 BRAILLE PATTERN DOTS-28 */ FcitxKey_braille_dots_128 = 0x1002883, /* U+2883 BRAILLE PATTERN DOTS-128 */ FcitxKey_braille_dots_38 = 0x1002884, /* U+2884 BRAILLE PATTERN DOTS-38 */ FcitxKey_braille_dots_138 = 0x1002885, /* U+2885 BRAILLE PATTERN DOTS-138 */ FcitxKey_braille_dots_238 = 0x1002886, /* U+2886 BRAILLE PATTERN DOTS-238 */ FcitxKey_braille_dots_1238 = 0x1002887, /* U+2887 BRAILLE PATTERN DOTS-1238 */ FcitxKey_braille_dots_48 = 0x1002888, /* U+2888 BRAILLE PATTERN DOTS-48 */ FcitxKey_braille_dots_148 = 0x1002889, /* U+2889 BRAILLE PATTERN DOTS-148 */ FcitxKey_braille_dots_248 = 0x100288a, /* U+288a BRAILLE PATTERN DOTS-248 */ FcitxKey_braille_dots_1248 = 0x100288b, /* U+288b BRAILLE PATTERN DOTS-1248 */ FcitxKey_braille_dots_348 = 0x100288c, /* U+288c BRAILLE PATTERN DOTS-348 */ FcitxKey_braille_dots_1348 = 0x100288d, /* U+288d BRAILLE PATTERN DOTS-1348 */ FcitxKey_braille_dots_2348 = 0x100288e, /* U+288e BRAILLE PATTERN DOTS-2348 */ FcitxKey_braille_dots_12348 = 0x100288f, /* U+288f BRAILLE PATTERN DOTS-12348 */ FcitxKey_braille_dots_58 = 0x1002890, /* U+2890 BRAILLE PATTERN DOTS-58 */ FcitxKey_braille_dots_158 = 0x1002891, /* U+2891 BRAILLE PATTERN DOTS-158 */ FcitxKey_braille_dots_258 = 0x1002892, /* U+2892 BRAILLE PATTERN DOTS-258 */ FcitxKey_braille_dots_1258 = 0x1002893, /* U+2893 BRAILLE PATTERN DOTS-1258 */ FcitxKey_braille_dots_358 = 0x1002894, /* U+2894 BRAILLE PATTERN DOTS-358 */ FcitxKey_braille_dots_1358 = 0x1002895, /* U+2895 BRAILLE PATTERN DOTS-1358 */ FcitxKey_braille_dots_2358 = 0x1002896, /* U+2896 BRAILLE PATTERN DOTS-2358 */ FcitxKey_braille_dots_12358 = 0x1002897, /* U+2897 BRAILLE PATTERN DOTS-12358 */ FcitxKey_braille_dots_458 = 0x1002898, /* U+2898 BRAILLE PATTERN DOTS-458 */ FcitxKey_braille_dots_1458 = 0x1002899, /* U+2899 BRAILLE PATTERN DOTS-1458 */ FcitxKey_braille_dots_2458 = 0x100289a, /* U+289a BRAILLE PATTERN DOTS-2458 */ FcitxKey_braille_dots_12458 = 0x100289b, /* U+289b BRAILLE PATTERN DOTS-12458 */ FcitxKey_braille_dots_3458 = 0x100289c, /* U+289c BRAILLE PATTERN DOTS-3458 */ FcitxKey_braille_dots_13458 = 0x100289d, /* U+289d BRAILLE PATTERN DOTS-13458 */ FcitxKey_braille_dots_23458 = 0x100289e, /* U+289e BRAILLE PATTERN DOTS-23458 */ FcitxKey_braille_dots_123458 = 0x100289f, /* U+289f BRAILLE PATTERN DOTS-123458 */ FcitxKey_braille_dots_68 = 0x10028a0, /* U+28a0 BRAILLE PATTERN DOTS-68 */ FcitxKey_braille_dots_168 = 0x10028a1, /* U+28a1 BRAILLE PATTERN DOTS-168 */ FcitxKey_braille_dots_268 = 0x10028a2, /* U+28a2 BRAILLE PATTERN DOTS-268 */ FcitxKey_braille_dots_1268 = 0x10028a3, /* U+28a3 BRAILLE PATTERN DOTS-1268 */ FcitxKey_braille_dots_368 = 0x10028a4, /* U+28a4 BRAILLE PATTERN DOTS-368 */ FcitxKey_braille_dots_1368 = 0x10028a5, /* U+28a5 BRAILLE PATTERN DOTS-1368 */ FcitxKey_braille_dots_2368 = 0x10028a6, /* U+28a6 BRAILLE PATTERN DOTS-2368 */ FcitxKey_braille_dots_12368 = 0x10028a7, /* U+28a7 BRAILLE PATTERN DOTS-12368 */ FcitxKey_braille_dots_468 = 0x10028a8, /* U+28a8 BRAILLE PATTERN DOTS-468 */ FcitxKey_braille_dots_1468 = 0x10028a9, /* U+28a9 BRAILLE PATTERN DOTS-1468 */ FcitxKey_braille_dots_2468 = 0x10028aa, /* U+28aa BRAILLE PATTERN DOTS-2468 */ FcitxKey_braille_dots_12468 = 0x10028ab, /* U+28ab BRAILLE PATTERN DOTS-12468 */ FcitxKey_braille_dots_3468 = 0x10028ac, /* U+28ac BRAILLE PATTERN DOTS-3468 */ FcitxKey_braille_dots_13468 = 0x10028ad, /* U+28ad BRAILLE PATTERN DOTS-13468 */ FcitxKey_braille_dots_23468 = 0x10028ae, /* U+28ae BRAILLE PATTERN DOTS-23468 */ FcitxKey_braille_dots_123468 = 0x10028af, /* U+28af BRAILLE PATTERN DOTS-123468 */ FcitxKey_braille_dots_568 = 0x10028b0, /* U+28b0 BRAILLE PATTERN DOTS-568 */ FcitxKey_braille_dots_1568 = 0x10028b1, /* U+28b1 BRAILLE PATTERN DOTS-1568 */ FcitxKey_braille_dots_2568 = 0x10028b2, /* U+28b2 BRAILLE PATTERN DOTS-2568 */ FcitxKey_braille_dots_12568 = 0x10028b3, /* U+28b3 BRAILLE PATTERN DOTS-12568 */ FcitxKey_braille_dots_3568 = 0x10028b4, /* U+28b4 BRAILLE PATTERN DOTS-3568 */ FcitxKey_braille_dots_13568 = 0x10028b5, /* U+28b5 BRAILLE PATTERN DOTS-13568 */ FcitxKey_braille_dots_23568 = 0x10028b6, /* U+28b6 BRAILLE PATTERN DOTS-23568 */ FcitxKey_braille_dots_123568 = 0x10028b7, /* U+28b7 BRAILLE PATTERN DOTS-123568 */ FcitxKey_braille_dots_4568 = 0x10028b8, /* U+28b8 BRAILLE PATTERN DOTS-4568 */ FcitxKey_braille_dots_14568 = 0x10028b9, /* U+28b9 BRAILLE PATTERN DOTS-14568 */ FcitxKey_braille_dots_24568 = 0x10028ba, /* U+28ba BRAILLE PATTERN DOTS-24568 */ FcitxKey_braille_dots_124568 = 0x10028bb, /* U+28bb BRAILLE PATTERN DOTS-124568 */ FcitxKey_braille_dots_34568 = 0x10028bc, /* U+28bc BRAILLE PATTERN DOTS-34568 */ FcitxKey_braille_dots_134568 = 0x10028bd, /* U+28bd BRAILLE PATTERN DOTS-134568 */ FcitxKey_braille_dots_234568 = 0x10028be, /* U+28be BRAILLE PATTERN DOTS-234568 */ FcitxKey_braille_dots_1234568 = 0x10028bf, /* U+28bf BRAILLE PATTERN DOTS-1234568 */ FcitxKey_braille_dots_78 = 0x10028c0, /* U+28c0 BRAILLE PATTERN DOTS-78 */ FcitxKey_braille_dots_178 = 0x10028c1, /* U+28c1 BRAILLE PATTERN DOTS-178 */ FcitxKey_braille_dots_278 = 0x10028c2, /* U+28c2 BRAILLE PATTERN DOTS-278 */ FcitxKey_braille_dots_1278 = 0x10028c3, /* U+28c3 BRAILLE PATTERN DOTS-1278 */ FcitxKey_braille_dots_378 = 0x10028c4, /* U+28c4 BRAILLE PATTERN DOTS-378 */ FcitxKey_braille_dots_1378 = 0x10028c5, /* U+28c5 BRAILLE PATTERN DOTS-1378 */ FcitxKey_braille_dots_2378 = 0x10028c6, /* U+28c6 BRAILLE PATTERN DOTS-2378 */ FcitxKey_braille_dots_12378 = 0x10028c7, /* U+28c7 BRAILLE PATTERN DOTS-12378 */ FcitxKey_braille_dots_478 = 0x10028c8, /* U+28c8 BRAILLE PATTERN DOTS-478 */ FcitxKey_braille_dots_1478 = 0x10028c9, /* U+28c9 BRAILLE PATTERN DOTS-1478 */ FcitxKey_braille_dots_2478 = 0x10028ca, /* U+28ca BRAILLE PATTERN DOTS-2478 */ FcitxKey_braille_dots_12478 = 0x10028cb, /* U+28cb BRAILLE PATTERN DOTS-12478 */ FcitxKey_braille_dots_3478 = 0x10028cc, /* U+28cc BRAILLE PATTERN DOTS-3478 */ FcitxKey_braille_dots_13478 = 0x10028cd, /* U+28cd BRAILLE PATTERN DOTS-13478 */ FcitxKey_braille_dots_23478 = 0x10028ce, /* U+28ce BRAILLE PATTERN DOTS-23478 */ FcitxKey_braille_dots_123478 = 0x10028cf, /* U+28cf BRAILLE PATTERN DOTS-123478 */ FcitxKey_braille_dots_578 = 0x10028d0, /* U+28d0 BRAILLE PATTERN DOTS-578 */ FcitxKey_braille_dots_1578 = 0x10028d1, /* U+28d1 BRAILLE PATTERN DOTS-1578 */ FcitxKey_braille_dots_2578 = 0x10028d2, /* U+28d2 BRAILLE PATTERN DOTS-2578 */ FcitxKey_braille_dots_12578 = 0x10028d3, /* U+28d3 BRAILLE PATTERN DOTS-12578 */ FcitxKey_braille_dots_3578 = 0x10028d4, /* U+28d4 BRAILLE PATTERN DOTS-3578 */ FcitxKey_braille_dots_13578 = 0x10028d5, /* U+28d5 BRAILLE PATTERN DOTS-13578 */ FcitxKey_braille_dots_23578 = 0x10028d6, /* U+28d6 BRAILLE PATTERN DOTS-23578 */ FcitxKey_braille_dots_123578 = 0x10028d7, /* U+28d7 BRAILLE PATTERN DOTS-123578 */ FcitxKey_braille_dots_4578 = 0x10028d8, /* U+28d8 BRAILLE PATTERN DOTS-4578 */ FcitxKey_braille_dots_14578 = 0x10028d9, /* U+28d9 BRAILLE PATTERN DOTS-14578 */ FcitxKey_braille_dots_24578 = 0x10028da, /* U+28da BRAILLE PATTERN DOTS-24578 */ FcitxKey_braille_dots_124578 = 0x10028db, /* U+28db BRAILLE PATTERN DOTS-124578 */ FcitxKey_braille_dots_34578 = 0x10028dc, /* U+28dc BRAILLE PATTERN DOTS-34578 */ FcitxKey_braille_dots_134578 = 0x10028dd, /* U+28dd BRAILLE PATTERN DOTS-134578 */ FcitxKey_braille_dots_234578 = 0x10028de, /* U+28de BRAILLE PATTERN DOTS-234578 */ FcitxKey_braille_dots_1234578 = 0x10028df, /* U+28df BRAILLE PATTERN DOTS-1234578 */ FcitxKey_braille_dots_678 = 0x10028e0, /* U+28e0 BRAILLE PATTERN DOTS-678 */ FcitxKey_braille_dots_1678 = 0x10028e1, /* U+28e1 BRAILLE PATTERN DOTS-1678 */ FcitxKey_braille_dots_2678 = 0x10028e2, /* U+28e2 BRAILLE PATTERN DOTS-2678 */ FcitxKey_braille_dots_12678 = 0x10028e3, /* U+28e3 BRAILLE PATTERN DOTS-12678 */ FcitxKey_braille_dots_3678 = 0x10028e4, /* U+28e4 BRAILLE PATTERN DOTS-3678 */ FcitxKey_braille_dots_13678 = 0x10028e5, /* U+28e5 BRAILLE PATTERN DOTS-13678 */ FcitxKey_braille_dots_23678 = 0x10028e6, /* U+28e6 BRAILLE PATTERN DOTS-23678 */ FcitxKey_braille_dots_123678 = 0x10028e7, /* U+28e7 BRAILLE PATTERN DOTS-123678 */ FcitxKey_braille_dots_4678 = 0x10028e8, /* U+28e8 BRAILLE PATTERN DOTS-4678 */ FcitxKey_braille_dots_14678 = 0x10028e9, /* U+28e9 BRAILLE PATTERN DOTS-14678 */ FcitxKey_braille_dots_24678 = 0x10028ea, /* U+28ea BRAILLE PATTERN DOTS-24678 */ FcitxKey_braille_dots_124678 = 0x10028eb, /* U+28eb BRAILLE PATTERN DOTS-124678 */ FcitxKey_braille_dots_34678 = 0x10028ec, /* U+28ec BRAILLE PATTERN DOTS-34678 */ FcitxKey_braille_dots_134678 = 0x10028ed, /* U+28ed BRAILLE PATTERN DOTS-134678 */ FcitxKey_braille_dots_234678 = 0x10028ee, /* U+28ee BRAILLE PATTERN DOTS-234678 */ FcitxKey_braille_dots_1234678 = 0x10028ef, /* U+28ef BRAILLE PATTERN DOTS-1234678 */ FcitxKey_braille_dots_5678 = 0x10028f0, /* U+28f0 BRAILLE PATTERN DOTS-5678 */ FcitxKey_braille_dots_15678 = 0x10028f1, /* U+28f1 BRAILLE PATTERN DOTS-15678 */ FcitxKey_braille_dots_25678 = 0x10028f2, /* U+28f2 BRAILLE PATTERN DOTS-25678 */ FcitxKey_braille_dots_125678 = 0x10028f3, /* U+28f3 BRAILLE PATTERN DOTS-125678 */ FcitxKey_braille_dots_35678 = 0x10028f4, /* U+28f4 BRAILLE PATTERN DOTS-35678 */ FcitxKey_braille_dots_135678 = 0x10028f5, /* U+28f5 BRAILLE PATTERN DOTS-135678 */ FcitxKey_braille_dots_235678 = 0x10028f6, /* U+28f6 BRAILLE PATTERN DOTS-235678 */ FcitxKey_braille_dots_1235678 = 0x10028f7, /* U+28f7 BRAILLE PATTERN DOTS-1235678 */ FcitxKey_braille_dots_45678 = 0x10028f8, /* U+28f8 BRAILLE PATTERN DOTS-45678 */ FcitxKey_braille_dots_145678 = 0x10028f9, /* U+28f9 BRAILLE PATTERN DOTS-145678 */ FcitxKey_braille_dots_245678 = 0x10028fa, /* U+28fa BRAILLE PATTERN DOTS-245678 */ FcitxKey_braille_dots_1245678 = 0x10028fb, /* U+28fb BRAILLE PATTERN DOTS-1245678 */ FcitxKey_braille_dots_345678 = 0x10028fc, /* U+28fc BRAILLE PATTERN DOTS-345678 */ FcitxKey_braille_dots_1345678 = 0x10028fd, /* U+28fd BRAILLE PATTERN DOTS-1345678 */ FcitxKey_braille_dots_2345678 = 0x10028fe, /* U+28fe BRAILLE PATTERN DOTS-2345678 */ FcitxKey_braille_dots_12345678 = 0x10028ff, /* U+28ff BRAILLE PATTERN DOTS-12345678 */ FcitxKey_Sinh_ng = 0x1000d82, /* U+0D82 SINHALA ANUSVARAYA */ FcitxKey_Sinh_h2 = 0x1000d83, /* U+0D83 SINHALA VISARGAYA */ FcitxKey_Sinh_a = 0x1000d85, /* U+0D85 SINHALA AYANNA */ FcitxKey_Sinh_aa = 0x1000d86, /* U+0D86 SINHALA AAYANNA */ FcitxKey_Sinh_ae = 0x1000d87, /* U+0D87 SINHALA AEYANNA */ FcitxKey_Sinh_aee = 0x1000d88, /* U+0D88 SINHALA AEEYANNA */ FcitxKey_Sinh_i = 0x1000d89, /* U+0D89 SINHALA IYANNA */ FcitxKey_Sinh_ii = 0x1000d8a, /* U+0D8A SINHALA IIYANNA */ FcitxKey_Sinh_u = 0x1000d8b, /* U+0D8B SINHALA UYANNA */ FcitxKey_Sinh_uu = 0x1000d8c, /* U+0D8C SINHALA UUYANNA */ FcitxKey_Sinh_ri = 0x1000d8d, /* U+0D8D SINHALA IRUYANNA */ FcitxKey_Sinh_rii = 0x1000d8e, /* U+0D8E SINHALA IRUUYANNA */ FcitxKey_Sinh_lu = 0x1000d8f, /* U+0D8F SINHALA ILUYANNA */ FcitxKey_Sinh_luu = 0x1000d90, /* U+0D90 SINHALA ILUUYANNA */ FcitxKey_Sinh_e = 0x1000d91, /* U+0D91 SINHALA EYANNA */ FcitxKey_Sinh_ee = 0x1000d92, /* U+0D92 SINHALA EEYANNA */ FcitxKey_Sinh_ai = 0x1000d93, /* U+0D93 SINHALA AIYANNA */ FcitxKey_Sinh_o = 0x1000d94, /* U+0D94 SINHALA OYANNA */ FcitxKey_Sinh_oo = 0x1000d95, /* U+0D95 SINHALA OOYANNA */ FcitxKey_Sinh_au = 0x1000d96, /* U+0D96 SINHALA AUYANNA */ FcitxKey_Sinh_ka = 0x1000d9a, /* U+0D9A SINHALA KAYANNA */ FcitxKey_Sinh_kha = 0x1000d9b, /* U+0D9B SINHALA MAHA. KAYANNA */ FcitxKey_Sinh_ga = 0x1000d9c, /* U+0D9C SINHALA GAYANNA */ FcitxKey_Sinh_gha = 0x1000d9d, /* U+0D9D SINHALA MAHA. GAYANNA */ FcitxKey_Sinh_ng2 = 0x1000d9e, /* U+0D9E SINHALA KANTAJA NAASIKYAYA */ FcitxKey_Sinh_nga = 0x1000d9f, /* U+0D9F SINHALA SANYAKA GAYANNA */ FcitxKey_Sinh_ca = 0x1000da0, /* U+0DA0 SINHALA CAYANNA */ FcitxKey_Sinh_cha = 0x1000da1, /* U+0DA1 SINHALA MAHA. CAYANNA */ FcitxKey_Sinh_ja = 0x1000da2, /* U+0DA2 SINHALA JAYANNA */ FcitxKey_Sinh_jha = 0x1000da3, /* U+0DA3 SINHALA MAHA. JAYANNA */ FcitxKey_Sinh_nya = 0x1000da4, /* U+0DA4 SINHALA TAALUJA NAASIKYAYA */ FcitxKey_Sinh_jnya = 0x1000da5, /* U+0DA5 SINHALA TAALUJA SANYOOGA NAASIKYAYA */ FcitxKey_Sinh_nja = 0x1000da6, /* U+0DA6 SINHALA SANYAKA JAYANNA */ FcitxKey_Sinh_tta = 0x1000da7, /* U+0DA7 SINHALA TTAYANNA */ FcitxKey_Sinh_ttha = 0x1000da8, /* U+0DA8 SINHALA MAHA. TTAYANNA */ FcitxKey_Sinh_dda = 0x1000da9, /* U+0DA9 SINHALA DDAYANNA */ FcitxKey_Sinh_ddha = 0x1000daa, /* U+0DAA SINHALA MAHA. DDAYANNA */ FcitxKey_Sinh_nna = 0x1000dab, /* U+0DAB SINHALA MUURDHAJA NAYANNA */ FcitxKey_Sinh_ndda = 0x1000dac, /* U+0DAC SINHALA SANYAKA DDAYANNA */ FcitxKey_Sinh_tha = 0x1000dad, /* U+0DAD SINHALA TAYANNA */ FcitxKey_Sinh_thha = 0x1000dae, /* U+0DAE SINHALA MAHA. TAYANNA */ FcitxKey_Sinh_dha = 0x1000daf, /* U+0DAF SINHALA DAYANNA */ FcitxKey_Sinh_dhha = 0x1000db0, /* U+0DB0 SINHALA MAHA. DAYANNA */ FcitxKey_Sinh_na = 0x1000db1, /* U+0DB1 SINHALA DANTAJA NAYANNA */ FcitxKey_Sinh_ndha = 0x1000db3, /* U+0DB3 SINHALA SANYAKA DAYANNA */ FcitxKey_Sinh_pa = 0x1000db4, /* U+0DB4 SINHALA PAYANNA */ FcitxKey_Sinh_pha = 0x1000db5, /* U+0DB5 SINHALA MAHA. PAYANNA */ FcitxKey_Sinh_ba = 0x1000db6, /* U+0DB6 SINHALA BAYANNA */ FcitxKey_Sinh_bha = 0x1000db7, /* U+0DB7 SINHALA MAHA. BAYANNA */ FcitxKey_Sinh_ma = 0x1000db8, /* U+0DB8 SINHALA MAYANNA */ FcitxKey_Sinh_mba = 0x1000db9, /* U+0DB9 SINHALA AMBA BAYANNA */ FcitxKey_Sinh_ya = 0x1000dba, /* U+0DBA SINHALA YAYANNA */ FcitxKey_Sinh_ra = 0x1000dbb, /* U+0DBB SINHALA RAYANNA */ FcitxKey_Sinh_la = 0x1000dbd, /* U+0DBD SINHALA DANTAJA LAYANNA */ FcitxKey_Sinh_va = 0x1000dc0, /* U+0DC0 SINHALA VAYANNA */ FcitxKey_Sinh_sha = 0x1000dc1, /* U+0DC1 SINHALA TAALUJA SAYANNA */ FcitxKey_Sinh_ssha = 0x1000dc2, /* U+0DC2 SINHALA MUURDHAJA SAYANNA */ FcitxKey_Sinh_sa = 0x1000dc3, /* U+0DC3 SINHALA DANTAJA SAYANNA */ FcitxKey_Sinh_ha = 0x1000dc4, /* U+0DC4 SINHALA HAYANNA */ FcitxKey_Sinh_lla = 0x1000dc5, /* U+0DC5 SINHALA MUURDHAJA LAYANNA */ FcitxKey_Sinh_fa = 0x1000dc6, /* U+0DC6 SINHALA FAYANNA */ FcitxKey_Sinh_al = 0x1000dca, /* U+0DCA SINHALA AL-LAKUNA */ FcitxKey_Sinh_aa2 = 0x1000dcf, /* U+0DCF SINHALA AELA-PILLA */ FcitxKey_Sinh_ae2 = 0x1000dd0, /* U+0DD0 SINHALA AEDA-PILLA */ FcitxKey_Sinh_aee2 = 0x1000dd1, /* U+0DD1 SINHALA DIGA AEDA-PILLA */ FcitxKey_Sinh_i2 = 0x1000dd2, /* U+0DD2 SINHALA IS-PILLA */ FcitxKey_Sinh_ii2 = 0x1000dd3, /* U+0DD3 SINHALA DIGA IS-PILLA */ FcitxKey_Sinh_u2 = 0x1000dd4, /* U+0DD4 SINHALA PAA-PILLA */ FcitxKey_Sinh_uu2 = 0x1000dd6, /* U+0DD6 SINHALA DIGA PAA-PILLA */ FcitxKey_Sinh_ru2 = 0x1000dd8, /* U+0DD8 SINHALA GAETTA-PILLA */ FcitxKey_Sinh_e2 = 0x1000dd9, /* U+0DD9 SINHALA KOMBUVA */ FcitxKey_Sinh_ee2 = 0x1000dda, /* U+0DDA SINHALA DIGA KOMBUVA */ FcitxKey_Sinh_ai2 = 0x1000ddb, /* U+0DDB SINHALA KOMBU DEKA */ FcitxKey_Sinh_o2 = 0x1000ddc, /* U+0DDC SINHALA KOMBUVA HAA AELA-PILLA*/ FcitxKey_Sinh_oo2 = 0x1000ddd, /* U+0DDD SINHALA KOMBUVA HAA DIGA AELA-PILLA*/ FcitxKey_Sinh_au2 = 0x1000dde, /* U+0DDE SINHALA KOMBUVA HAA GAYANUKITTA */ FcitxKey_Sinh_lu2 = 0x1000ddf, /* U+0DDF SINHALA GAYANUKITTA */ FcitxKey_Sinh_ruu2 = 0x1000df2, /* U+0DF2 SINHALA DIGA GAETTA-PILLA */ FcitxKey_Sinh_luu2 = 0x1000df3, /* U+0DF3 SINHALA DIGA GAYANUKITTA */ FcitxKey_Sinh_kunddaliya = 0x1000df4, /* U+0DF4 SINHALA KUNDDALIYA */ FcitxKey_MonBrightnessUp = 0x1008ff02, /* Monitor/panel brightness */ FcitxKey_MonBrightnessDown = 0x1008ff03, /* Monitor/panel brightness */ FcitxKey_KbdLightOnOff = 0x1008ff04, /* Keyboards may be lit */ FcitxKey_KbdBrightnessUp = 0x1008ff05, /* Keyboards may be lit */ FcitxKey_KbdBrightnessDown = 0x1008ff06, /* Keyboards may be lit */ FcitxKey_Standby = 0x1008ff10, /* System into standby mode */ FcitxKey_AudioLowerVolume = 0x1008ff11, /* Volume control down */ FcitxKey_AudioMute = 0x1008ff12, /* Mute sound from the system */ FcitxKey_AudioRaiseVolume = 0x1008ff13, /* Volume control up */ FcitxKey_AudioPlay = 0x1008ff14, /* Start playing of audio > */ FcitxKey_AudioStop = 0x1008ff15, /* Stop playing audio */ FcitxKey_AudioPrev = 0x1008ff16, /* Previous track */ FcitxKey_AudioNext = 0x1008ff17, /* Next track */ FcitxKey_HomePage = 0x1008ff18, /* Display user's home page */ FcitxKey_Mail = 0x1008ff19, /* Invoke user's mail program */ FcitxKey_Start = 0x1008ff1a, /* Start application */ FcitxKey_Search = 0x1008ff1b, /* Search */ FcitxKey_AudioRecord = 0x1008ff1c, /* Record audio application */ FcitxKey_Calculator = 0x1008ff1d, /* Invoke calculator program */ FcitxKey_Memo = 0x1008ff1e, /* Invoke Memo taking program */ FcitxKey_ToDoList = 0x1008ff1f, /* Invoke To Do List program */ FcitxKey_Calendar = 0x1008ff20, /* Invoke Calendar program */ FcitxKey_PowerDown = 0x1008ff21, /* Deep sleep the system */ FcitxKey_ContrastAdjust = 0x1008ff22, /* Adjust screen contrast */ FcitxKey_RockerUp = 0x1008ff23, /* Rocker switches exist up */ FcitxKey_RockerDown = 0x1008ff24, /* and down */ FcitxKey_RockerEnter = 0x1008ff25, /* and let you press them */ FcitxKey_Back = 0x1008ff26, /* Like back on a browser */ FcitxKey_Forward = 0x1008ff27, /* Like forward on a browser */ FcitxKey_Stop = 0x1008ff28, /* Stop current operation */ FcitxKey_Refresh = 0x1008ff29, /* Refresh the page */ FcitxKey_PowerOff = 0x1008ff2a, /* Power off system entirely */ FcitxKey_WakeUp = 0x1008ff2b, /* Wake up system from sleep */ FcitxKey_Eject = 0x1008ff2c, /* Eject device (e.g. DVD) */ FcitxKey_ScreenSaver = 0x1008ff2d, /* Invoke screensaver */ FcitxKey_WWW = 0x1008ff2e, /* Invoke web browser */ FcitxKey_Sleep = 0x1008ff2f, /* Put system to sleep */ FcitxKey_Favorites = 0x1008ff30, /* Show favorite locations */ FcitxKey_AudioPause = 0x1008ff31, /* Pause audio playing */ FcitxKey_AudioMedia = 0x1008ff32, /* Launch media collection app */ FcitxKey_MyComputer = 0x1008ff33, /* Display "My Computer" window */ FcitxKey_VendorHome = 0x1008ff34, /* Display vendor home web site */ FcitxKey_LightBulb = 0x1008ff35, /* Light bulb keys exist */ FcitxKey_Shop = 0x1008ff36, /* Display shopping web site */ FcitxKey_History = 0x1008ff37, /* Show history of web surfing */ FcitxKey_OpenURL = 0x1008ff38, /* Open selected URL */ FcitxKey_AddFavorite = 0x1008ff39, /* Add URL to favorites list */ FcitxKey_HotLinks = 0x1008ff3a, /* Show "hot" links */ FcitxKey_BrightnessAdjust = 0x1008ff3b, /* Invoke brightness adj. UI */ FcitxKey_Finance = 0x1008ff3c, /* Display financial site */ FcitxKey_Community = 0x1008ff3d, /* Display user's community */ FcitxKey_AudioRewind = 0x1008ff3e, /* "rewind" audio track */ FcitxKey_BackForward = 0x1008ff3f, /* ??? */ FcitxKey_Launch0 = 0x1008ff40, /* Launch Application */ FcitxKey_Launch1 = 0x1008ff41, /* Launch Application */ FcitxKey_Launch2 = 0x1008ff42, /* Launch Application */ FcitxKey_Launch3 = 0x1008ff43, /* Launch Application */ FcitxKey_Launch4 = 0x1008ff44, /* Launch Application */ FcitxKey_Launch5 = 0x1008ff45, /* Launch Application */ FcitxKey_Launch6 = 0x1008ff46, /* Launch Application */ FcitxKey_Launch7 = 0x1008ff47, /* Launch Application */ FcitxKey_Launch8 = 0x1008ff48, /* Launch Application */ FcitxKey_Launch9 = 0x1008ff49, /* Launch Application */ FcitxKey_LaunchA = 0x1008ff4a, /* Launch Application */ FcitxKey_LaunchB = 0x1008ff4b, /* Launch Application */ FcitxKey_LaunchC = 0x1008ff4c, /* Launch Application */ FcitxKey_LaunchD = 0x1008ff4d, /* Launch Application */ FcitxKey_LaunchE = 0x1008ff4e, /* Launch Application */ FcitxKey_LaunchF = 0x1008ff4f, /* Launch Application */ FcitxKey_ApplicationLeft = 0x1008ff50, /* switch to application, left */ FcitxKey_ApplicationRight = 0x1008ff51, /* switch to application, right*/ FcitxKey_Book = 0x1008ff52, /* Launch bookreader */ FcitxKey_CD = 0x1008ff53, /* Launch CD/DVD player */ FcitxKey_WindowClear = 0x1008ff55, /* Clear window, screen */ FcitxKey_Close = 0x1008ff56, /* Close window */ FcitxKey_Copy = 0x1008ff57, /* Copy selection */ FcitxKey_Cut = 0x1008ff58, /* Cut selection */ FcitxKey_Display = 0x1008ff59, /* Output switch key */ FcitxKey_DOS = 0x1008ff5a, /* Launch DOS (emulation) */ FcitxKey_Documents = 0x1008ff5b, /* Open documents window */ FcitxKey_Excel = 0x1008ff5c, /* Launch spread sheet */ FcitxKey_Explorer = 0x1008ff5d, /* Launch file explorer */ FcitxKey_Game = 0x1008ff5e, /* Launch game */ FcitxKey_Go = 0x1008ff5f, /* Go to URL */ FcitxKey_iTouch = 0x1008ff60, /* Logitch iTouch- don't use */ FcitxKey_LogOff = 0x1008ff61, /* Log off system */ FcitxKey_Market = 0x1008ff62, /* ?? */ FcitxKey_Meeting = 0x1008ff63, /* enter meeting in calendar */ FcitxKey_MenuKB = 0x1008ff65, /* distingush keyboard from PB */ FcitxKey_MenuPB = 0x1008ff66, /* distinuish PB from keyboard */ FcitxKey_MySites = 0x1008ff67, /* Favourites */ FcitxKey_New = 0x1008ff68, /* New (folder, document... */ FcitxKey_News = 0x1008ff69, /* News */ FcitxKey_OfficeHome = 0x1008ff6a, /* Office home (old Staroffice)*/ FcitxKey_Open = 0x1008ff6b, /* Open */ FcitxKey_Option = 0x1008ff6c, /* ?? */ FcitxKey_Paste = 0x1008ff6d, /* Paste */ FcitxKey_Phone = 0x1008ff6e, /* Launch phone; dial number */ FcitxKey_Reply = 0x1008ff72, /* Reply e.g., mail */ FcitxKey_Reload = 0x1008ff73, /* Reload web page, file, etc. */ FcitxKey_RotateWindows = 0x1008ff74, /* Rotate windows e.g. xrandr */ FcitxKey_RotationPB = 0x1008ff75, /* don't use */ FcitxKey_RotationKB = 0x1008ff76, /* don't use */ FcitxKey_Save = 0x1008ff77, /* Save (file, document, state */ FcitxKey_ScrollUp = 0x1008ff78, /* Scroll window/contents up */ FcitxKey_ScrollDown = 0x1008ff79, /* Scrool window/contentd down */ FcitxKey_ScrollClick = 0x1008ff7a, /* Use XKB mousekeys instead */ FcitxKey_Send = 0x1008ff7b, /* Send mail, file, object */ FcitxKey_Spell = 0x1008ff7c, /* Spell checker */ FcitxKey_SplitScreen = 0x1008ff7d, /* Split window or screen */ FcitxKey_Support = 0x1008ff7e, /* Get support (??) */ FcitxKey_TaskPane = 0x1008ff7f, /* Show tasks */ FcitxKey_Terminal = 0x1008ff80, /* Launch terminal emulator */ FcitxKey_Tools = 0x1008ff81, /* toolbox of desktop/app. */ FcitxKey_Travel = 0x1008ff82, /* ?? */ FcitxKey_UserPB = 0x1008ff84, /* ?? */ FcitxKey_User1KB = 0x1008ff85, /* ?? */ FcitxKey_User2KB = 0x1008ff86, /* ?? */ FcitxKey_Video = 0x1008ff87, /* Launch video player */ FcitxKey_WheelButton = 0x1008ff88, /* button from a mouse wheel */ FcitxKey_Word = 0x1008ff89, /* Launch word processor */ FcitxKey_Xfer = 0x1008ff8a, FcitxKey_ZoomIn = 0x1008ff8b, /* zoom in view, map, etc. */ FcitxKey_ZoomOut = 0x1008ff8c, /* zoom out view, map, etc. */ FcitxKey_Away = 0x1008ff8d, /* mark yourself as away */ FcitxKey_Messenger = 0x1008ff8e, /* as in instant messaging */ FcitxKey_WebCam = 0x1008ff8f, /* Launch web camera app. */ FcitxKey_MailForward = 0x1008ff90, /* Forward in mail */ FcitxKey_Pictures = 0x1008ff91, /* Show pictures */ FcitxKey_Music = 0x1008ff92, /* Launch music application */ FcitxKey_Battery = 0x1008ff93, /* Display battery information */ FcitxKey_Bluetooth = 0x1008ff94, /* Enable/disable Bluetooth */ FcitxKey_WLAN = 0x1008ff95, /* Enable/disable WLAN */ FcitxKey_AudioForward = 0x1008ff97, /* fast-forward audio track */ FcitxKey_AudioRepeat = 0x1008ff98, /* toggle repeat mode */ FcitxKey_AudioRandomPlay = 0x1008ff99, /* toggle shuffle mode */ FcitxKey_Subtitle = 0x1008ff9a, /* cycle through subtitle */ FcitxKey_AudioCycleTrack = 0x1008ff9b, /* cycle through audio tracks */ FcitxKey_CycleAngle = 0x1008ff9c, /* cycle through angles */ FcitxKey_FrameBack = 0x1008ff9d, /* video: go one frame back */ FcitxKey_FrameForward = 0x1008ff9e, /* video: go one frame forward */ FcitxKey_Time = 0x1008ff9f, /* display, or shows an entry for time seeking */ FcitxKey_SelectButton = 0x1008ffa0, /* Select button on joypads and remotes */ FcitxKey_View = 0x1008ffa1, /* Show a view options/properties */ FcitxKey_TopMenu = 0x1008ffa2, /* Go to a top-level menu in a video */ FcitxKey_Red = 0x1008ffa3, /* Red button */ FcitxKey_Green = 0x1008ffa4, /* Green button */ FcitxKey_Yellow = 0x1008ffa5, /* Yellow button */ FcitxKey_Blue = 0x1008ffa6, /* Blue button */ FcitxKey_Suspend = 0x1008ffa7, /* Sleep to RAM */ FcitxKey_Hibernate = 0x1008ffa8, /* Sleep to disk */ FcitxKey_TouchpadToggle = 0x1008ffa9, /* Toggle between touchpad/trackstick */ FcitxKey_TouchpadOn = 0x1008ffb0, /* The touchpad got switched on */ FcitxKey_TouchpadOff = 0x1008ffb1, /* The touchpad got switched off */ FcitxKey_AudioMicMute = 0x1008ffb2, /* Mute the Mic from the system */ FcitxKey_Switch_VT_1 = 0x1008fe01, FcitxKey_Switch_VT_2 = 0x1008fe02, FcitxKey_Switch_VT_3 = 0x1008fe03, FcitxKey_Switch_VT_4 = 0x1008fe04, FcitxKey_Switch_VT_5 = 0x1008fe05, FcitxKey_Switch_VT_6 = 0x1008fe06, FcitxKey_Switch_VT_7 = 0x1008fe07, FcitxKey_Switch_VT_8 = 0x1008fe08, FcitxKey_Switch_VT_9 = 0x1008fe09, FcitxKey_Switch_VT_10 = 0x1008fe0a, FcitxKey_Switch_VT_11 = 0x1008fe0b, FcitxKey_Switch_VT_12 = 0x1008fe0c, FcitxKey_Ungrab = 0x1008fe20, /* force ungrab */ FcitxKey_WindowClearGrab = 0x1008fe21, /* kill application with grab */ FcitxKey_Next_VMode = 0x1008fe22, /* next video mode available */ FcitxKey_Prev_VMode = 0x1008fe23, /* prev. video mode available */ FcitxKey_LogWindowTree = 0x1008fe24, /* print window tree to log */ FcitxKey_LogGrabInfo = 0x1008fe25, /* print all active grabs to log */ } FcitxKeySym; #ifdef __cplusplus } #endif #endif fcitx-rime-master/po/000077500000000000000000000000001442203361500150345ustar00rootroot00000000000000fcitx-rime-master/po/CMakeLists.txt000066400000000000000000000004241442203361500175740ustar00rootroot00000000000000file(GLOB PO_FILES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" *.po) foreach(po_file ${PO_FILES}) string(REPLACE ".po" "" po_lang "${po_file}") fcitx_translate_add_po_file("${po_lang}" "${po_file}") endforeach() fcitx_translate_set_pot_target(pot fcitx-rime fcitx-rime.pot) fcitx-rime-master/po/ca.po000066400000000000000000000122061442203361500157600ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # Robert Antoni Buj Gelonch , 2017 # Walter Garcia-Fontes , 2017 msgid "" msgstr "" "Project-Id-Version: fcitx\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" "POT-Creation-Date: 2020-10-07 00:03-0700\n" "PO-Revision-Date: 2018-05-30 07:04+0000\n" "Last-Translator: csslayer \n" "Language-Team: Catalan (http://www.transifex.com/fcitx/fcitx/language/ca/)\n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. i18n: file: gui/src/ConfigMain.ui:423 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Select Input Schema:" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:358 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Active Input Schemas:" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:296 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Available Input Schemas:" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:33 #. i18n: ectx: property (text), widget (QLabel, toggle_label) msgid "Call-out Menu" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:177 #. i18n: ectx: property (text), widget (QLabel, candidate_word_number_label) msgid "Candidate Word Number" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:220 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:259 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Clear" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:215 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:254 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Commit Code" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:210 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:249 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Commit Text" msgstr "" #: src/fcitx-rime.c:149 src/fcitx-rime.c:150 msgid "Deploy" msgstr "Desplega" #: src/fcitx-rime.c:528 msgid "English" msgstr "Anglès" #: src/fcitx-rime.conf.in:11 msgid "Fcitx Rime Config" msgstr "" #: gui/src/ConfigMain.cpp:249 msgid "Fcitx Rime Config GUI Tool" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:113 #. i18n: ectx: property (text), widget (QLabel, toggle_hfshape) msgid "Half/Full Shape" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:205 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:244 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Inline ASCII" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:193 #. i18n: ectx: property (text), widget (QLabel, shift_l_label) msgid "Left Shift Key" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, MainUI) msgid "MainWindow" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:200 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:239 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Noop" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_pagedown) msgid "Page Down" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:58 #. i18n: ectx: property (text), widget (QLabel, label_pageup) msgid "Page Up" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:232 #. i18n: ectx: property (text), widget (QLabel, shift_r_label) msgid "Right Shift Key" msgstr "" #: src/fcitx-rime.c:70 src/fcitx-rime.c:129 src/fcitx-rime.conf.in:3 #: src/rime.conf.in:3 msgid "Rime" msgstr "Rime" #: src/fcitx-rime.conf.in:4 msgid "Rime Wrapper For Fcitx" msgstr "Contenidor rime per a fcitx" #: src/fcitx-rime.c:64 msgid "Rime has encountered an error. See /tmp/rime.fcitx.ERROR for details." msgstr "Rime ha trobat un error. Vegeu /tmp/rime.fcitx.ERROR per als detalls." #: src/fcitx-rime.c:62 msgid "Rime is ready." msgstr "Rime està preparat." #: src/fcitx-rime.c:60 msgid "Rime is under maintenance ..." msgstr "Rime estar sota manteniment ..." #. i18n: file: gui/src/ConfigMain.ui:270 #. i18n: ectx: attribute (title), widget (QWidget, schemas_tab) msgid "Schema" msgstr "" #: src/fcitx-rime.c:173 msgid "Schema List" msgstr "Llista d'esquemes" #. i18n: file: gui/src/ConfigMain.ui:26 #. i18n: ectx: attribute (title), widget (QWidget, general_tab) msgid "Shortcut" msgstr "" #: src/fcitx-rime.c:158 src/fcitx-rime.c:159 msgid "Synchronize" msgstr "Sincronitza" #. i18n: file: gui/src/ConfigMain.ui:157 #. i18n: ectx: property (text), widget (QLabel, toggle_trasim) msgid "Traditional/Simplified" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:137 #. i18n: ectx: property (text), widget (QLabel, toggle_ascii) msgid "Western/Eastern" msgstr "" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" fcitx-rime-master/po/da.po000066400000000000000000000126041442203361500157630ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # scootergrisen, 2017-2018,2020 msgid "" msgstr "" "Project-Id-Version: fcitx\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" "POT-Creation-Date: 2020-10-13 00:02-0700\n" "PO-Revision-Date: 2020-10-12 19:44+0000\n" "Last-Translator: scootergrisen\n" "Language-Team: Danish (http://www.transifex.com/fcitx/fcitx/language/da/)\n" "Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. i18n: file: gui/src/ConfigMain.ui:423 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Select Input Schema:" msgstr "Vælg inputskema:" #. i18n: file: gui/src/ConfigMain.ui:358 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Active Input Schemas:" msgstr "Aktive inputskemaer:" #. i18n: file: gui/src/ConfigMain.ui:296 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Available Input Schemas:" msgstr "Tilgængelige inputskemaer:" #. i18n: file: gui/src/ConfigMain.ui:33 #. i18n: ectx: property (text), widget (QLabel, toggle_label) msgid "Call-out Menu" msgstr "Udkaldsmenu" #. i18n: file: gui/src/ConfigMain.ui:177 #. i18n: ectx: property (text), widget (QLabel, candidate_word_number_label) msgid "Candidate Word Number" msgstr "Kandidatord-nummer" #. i18n: file: gui/src/ConfigMain.ui:220 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:259 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Clear" msgstr "Ryd" #. i18n: file: gui/src/ConfigMain.ui:215 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:254 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Commit Code" msgstr "Udfør kode" #. i18n: file: gui/src/ConfigMain.ui:210 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:249 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Commit Text" msgstr "Udfør tekst" #: src/fcitx-rime.c:149 src/fcitx-rime.c:150 msgid "Deploy" msgstr "Udsend" #: src/fcitx-rime.c:528 msgid "English" msgstr "Engelsk" #: src/fcitx-rime.conf.in:11 msgid "Fcitx Rime Config" msgstr "Fcitx Rime-konfiguration" #: gui/src/ConfigMain.cpp:249 msgid "Fcitx Rime Config GUI Tool" msgstr "Fcitx Rime-konfigurationsværktøj med grafisk brugerflade" #. i18n: file: gui/src/ConfigMain.ui:113 #. i18n: ectx: property (text), widget (QLabel, toggle_hfshape) msgid "Half/Full Shape" msgstr "Halv/fuld form" #. i18n: file: gui/src/ConfigMain.ui:205 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:244 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Inline ASCII" msgstr "Inline ASCII" #. i18n: file: gui/src/ConfigMain.ui:193 #. i18n: ectx: property (text), widget (QLabel, shift_l_label) msgid "Left Shift Key" msgstr "Venstre Skift-tast" #. i18n: file: gui/src/ConfigMain.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, MainUI) msgid "MainWindow" msgstr "Hovedvindue" #. i18n: file: gui/src/ConfigMain.ui:200 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:239 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Noop" msgstr "Noop" #. i18n: file: gui/src/ConfigMain.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_pagedown) msgid "Page Down" msgstr "Page Down" #. i18n: file: gui/src/ConfigMain.ui:58 #. i18n: ectx: property (text), widget (QLabel, label_pageup) msgid "Page Up" msgstr "Page Up" #. i18n: file: gui/src/ConfigMain.ui:232 #. i18n: ectx: property (text), widget (QLabel, shift_r_label) msgid "Right Shift Key" msgstr "Højre Skift-tast" #: src/fcitx-rime.c:70 src/fcitx-rime.c:129 src/fcitx-rime.conf.in:3 #: src/rime.conf.in:3 msgid "Rime" msgstr "Rime" #: src/fcitx-rime.conf.in:4 msgid "Rime Wrapper For Fcitx" msgstr "Rime-wrapper til Fcitx" #: src/fcitx-rime.c:64 msgid "Rime has encountered an error. See /tmp/rime.fcitx.ERROR for details." msgstr "Rime stødte på en fejl. Se /tmp/rime.fcitx.ERROR for detaljer." #: src/fcitx-rime.c:62 msgid "Rime is ready." msgstr "Rime er klar." #: src/fcitx-rime.c:60 msgid "Rime is under maintenance ..." msgstr "Rime er ved at blive vedligeholdt ..." #. i18n: file: gui/src/ConfigMain.ui:270 #. i18n: ectx: attribute (title), widget (QWidget, schemas_tab) msgid "Schema" msgstr "Skema" #: src/fcitx-rime.c:173 msgid "Schema List" msgstr "Skemaliste" #. i18n: file: gui/src/ConfigMain.ui:26 #. i18n: ectx: attribute (title), widget (QWidget, general_tab) msgid "Shortcut" msgstr "Genvej" #: src/fcitx-rime.c:158 src/fcitx-rime.c:159 msgid "Synchronize" msgstr "Synkroniser" #. i18n: file: gui/src/ConfigMain.ui:157 #. i18n: ectx: property (text), widget (QLabel, toggle_trasim) msgid "Traditional/Simplified" msgstr "Traditionel/forenklet" #. i18n: file: gui/src/ConfigMain.ui:137 #. i18n: ectx: property (text), widget (QLabel, toggle_ascii) msgid "Western/Eastern" msgstr "Vestlig/østlig" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "Dine e-mails" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "Dine navne" fcitx-rime-master/po/de.po000066400000000000000000000130631442203361500157670ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # Ettore Atalan , 2022 # mar well , 2013 # mar well , 2013-2014,2017-2018 msgid "" msgstr "" "Project-Id-Version: fcitx\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" "POT-Creation-Date: 2022-01-15 20:26+0000\n" "PO-Revision-Date: 2022-01-15 15:10+0000\n" "Last-Translator: Ettore Atalan \n" "Language-Team: German (http://www.transifex.com/fcitx/fcitx/language/de/)\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. i18n: file: gui/src/ConfigMain.ui:423 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Select Input Schema:" msgstr "Auswahl Eingabeschema:" #. i18n: file: gui/src/ConfigMain.ui:358 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Active Input Schemas:" msgstr "Aktive Eingabeschemata:" #. i18n: file: gui/src/ConfigMain.ui:296 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Available Input Schemas:" msgstr "Vorhandene Eingabeschemata:" #. i18n: file: gui/src/ConfigMain.ui:33 #. i18n: ectx: property (text), widget (QLabel, toggle_label) msgid "Call-out Menu" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:177 #. i18n: ectx: property (text), widget (QLabel, candidate_word_number_label) msgid "Candidate Word Number" msgstr "Anzahl Zeichenvorschläge" #. i18n: file: gui/src/ConfigMain.ui:220 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:259 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Clear" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:215 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:254 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Commit Code" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:210 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:249 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Commit Text" msgstr "" #: src/fcitx-rime.c:149 src/fcitx-rime.c:150 msgid "Deploy" msgstr "Deploy" #: src/fcitx-rime.c:528 msgid "English" msgstr "Englisch" #: src/fcitx-rime.conf.in:11 msgid "Fcitx Rime Config" msgstr "Fcitx Rime Konfiguration" #: gui/src/ConfigMain.cpp:254 msgid "Fcitx Rime Config GUI Tool" msgstr "Graphisches Benutzerinterface für Fcitx Rime" #. i18n: file: gui/src/ConfigMain.ui:113 #. i18n: ectx: property (text), widget (QLabel, toggle_hfshape) msgid "Half/Full Shape" msgstr "Half/Full Shape" #. i18n: file: gui/src/ConfigMain.ui:205 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:244 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Inline ASCII" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:193 #. i18n: ectx: property (text), widget (QLabel, shift_l_label) msgid "Left Shift Key" msgstr "Linke Umschalttaste" #. i18n: file: gui/src/ConfigMain.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, MainUI) msgid "MainWindow" msgstr "MainWindow" #. i18n: file: gui/src/ConfigMain.ui:200 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:239 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Noop" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_pagedown) msgid "Page Down" msgstr "Seite nach unten" #. i18n: file: gui/src/ConfigMain.ui:58 #. i18n: ectx: property (text), widget (QLabel, label_pageup) msgid "Page Up" msgstr "Seite nach oben" #. i18n: file: gui/src/ConfigMain.ui:232 #. i18n: ectx: property (text), widget (QLabel, shift_r_label) msgid "Right Shift Key" msgstr "Rechte Umschalttaste" #: src/fcitx-rime.c:70 src/fcitx-rime.c:129 src/fcitx-rime.conf.in:3 #: src/rime.conf.in:3 msgid "Rime" msgstr "Rime" #: src/fcitx-rime.conf.in:4 msgid "Rime Wrapper For Fcitx" msgstr "Rime Wrapper für Fcitx" #: src/fcitx-rime.c:64 msgid "Rime has encountered an error. See /tmp/rime.fcitx.ERROR for details." msgstr "" "Rime ist auf einen Fehler gestoßen. Bitte sehen Sie für mehr Infos in /tmp/" "rime.fcitx.ERROR nach." #: src/fcitx-rime.c:62 msgid "Rime is ready." msgstr "Rime ist bereit." #: src/fcitx-rime.c:60 msgid "Rime is under maintenance ..." msgstr "Rime wird im Moment gewartet." #. i18n: file: gui/src/ConfigMain.ui:270 #. i18n: ectx: attribute (title), widget (QWidget, schemas_tab) msgid "Schema" msgstr "Schema" #: src/fcitx-rime.c:173 msgid "Schema List" msgstr "Liste Schemata" #. i18n: file: gui/src/ConfigMain.ui:26 #. i18n: ectx: attribute (title), widget (QWidget, general_tab) msgid "Shortcut" msgstr "" #: src/fcitx-rime.c:158 src/fcitx-rime.c:159 msgid "Synchronize" msgstr "Synchronisieren" #. i18n: file: gui/src/ConfigMain.ui:157 #. i18n: ectx: property (text), widget (QLabel, toggle_trasim) msgid "Traditional/Simplified" msgstr "Traditionell/Simplifiziert" #. i18n: file: gui/src/ConfigMain.ui:137 #. i18n: ectx: property (text), widget (QLabel, toggle_ascii) msgid "Western/Eastern" msgstr "Westlich/Östlich" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "marwell.1980@freenet.de" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "Marcus Wellendorf" fcitx-rime-master/po/fcitx-rime.pot000066400000000000000000000114501442203361500176300ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" "POT-Creation-Date: 2020-10-07 00:03-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: LANG\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: gui/src/ConfigMain.cpp:249 msgid "Fcitx Rime Config GUI Tool" msgstr "" #: src/fcitx-rime.c:60 msgid "Rime is under maintenance ..." msgstr "" #: src/fcitx-rime.c:62 msgid "Rime is ready." msgstr "" #: src/fcitx-rime.c:64 msgid "Rime has encountered an error. See /tmp/rime.fcitx.ERROR for details." msgstr "" #: src/fcitx-rime.c:70 src/fcitx-rime.c:129 src/fcitx-rime.conf.in:3 #: src/rime.conf.in:3 msgid "Rime" msgstr "" #: src/fcitx-rime.c:149 src/fcitx-rime.c:150 msgid "Deploy" msgstr "" #: src/fcitx-rime.c:158 src/fcitx-rime.c:159 msgid "Synchronize" msgstr "" #: src/fcitx-rime.c:173 msgid "Schema List" msgstr "" #: src/fcitx-rime.c:528 msgid "English" msgstr "" #: src/fcitx-rime.conf.in:4 msgid "Rime Wrapper For Fcitx" msgstr "" #: src/fcitx-rime.conf.in:11 msgid "Fcitx Rime Config" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, MainUI) msgid "MainWindow" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:26 #. i18n: ectx: attribute (title), widget (QWidget, general_tab) msgid "Shortcut" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:33 #. i18n: ectx: property (text), widget (QLabel, toggle_label) msgid "Call-out Menu" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:58 #. i18n: ectx: property (text), widget (QLabel, label_pageup) msgid "Page Up" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_pagedown) msgid "Page Down" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:113 #. i18n: ectx: property (text), widget (QLabel, toggle_hfshape) msgid "Half/Full Shape" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:137 #. i18n: ectx: property (text), widget (QLabel, toggle_ascii) msgid "Western/Eastern" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:157 #. i18n: ectx: property (text), widget (QLabel, toggle_trasim) msgid "Traditional/Simplified" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:177 #. i18n: ectx: property (text), widget (QLabel, candidate_word_number_label) msgid "Candidate Word Number" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:193 #. i18n: ectx: property (text), widget (QLabel, shift_l_label) msgid "Left Shift Key" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:200 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:239 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Noop" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:205 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:244 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Inline ASCII" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:210 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:249 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Commit Text" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:215 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:254 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Commit Code" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:220 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:259 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Clear" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:232 #. i18n: ectx: property (text), widget (QLabel, shift_r_label) msgid "Right Shift Key" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:270 #. i18n: ectx: attribute (title), widget (QWidget, schemas_tab) msgid "Schema" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:296 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Available Input Schemas:" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:358 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Active Input Schemas:" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:423 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Select Input Schema:" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" fcitx-rime-master/po/ja.po000066400000000000000000000135551442203361500157770ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # shirou - しろう , 2013 # Aaron Muir Hamilton , 2022 # ABE Tsunehiko, 2017 # ABE Tsunehiko, 2017 # shirou - しろう , 2013 # Takuro Onoue , 2020 # shirou - しろう , 2013 msgid "" msgstr "" "Project-Id-Version: fcitx\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" "POT-Creation-Date: 2022-12-07 20:28+0000\n" "PO-Revision-Date: 2013-03-25 22:16+0000\n" "Last-Translator: Aaron Muir Hamilton , 2022\n" "Language-Team: Japanese (http://www.transifex.com/fcitx/fcitx/language/ja/)\n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #. i18n: file: gui/src/ConfigMain.ui:423 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Select Input Schema:" msgstr "入力スキーマの選択:" #. i18n: file: gui/src/ConfigMain.ui:358 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Active Input Schemas:" msgstr "有効な入力スキーマ" #. i18n: file: gui/src/ConfigMain.ui:296 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Available Input Schemas:" msgstr "利用可能な入力スキーマ" #. i18n: file: gui/src/ConfigMain.ui:33 #. i18n: ectx: property (text), widget (QLabel, toggle_label) msgid "Call-out Menu" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:177 #. i18n: ectx: property (text), widget (QLabel, candidate_word_number_label) msgid "Candidate Word Number" msgstr "候補の単語数" #. i18n: file: gui/src/ConfigMain.ui:220 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:259 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Clear" msgstr "クリア" #. i18n: file: gui/src/ConfigMain.ui:215 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:254 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Commit Code" msgstr "確定コード" #. i18n: file: gui/src/ConfigMain.ui:210 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:249 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Commit Text" msgstr "確定テキスト" #: src/fcitx-rime.c:149 src/fcitx-rime.c:150 msgid "Deploy" msgstr "デプロイ" #: src/fcitx-rime.c:528 msgid "English" msgstr "英語" #: src/fcitx-rime.conf.in:11 msgid "Fcitx Rime Config" msgstr "Fcitx Rime 設定" #: gui/src/ConfigMain.cpp:254 msgid "Fcitx Rime Config GUI Tool" msgstr "Fcitx Rime GUI 設定ツール" #. i18n: file: gui/src/ConfigMain.ui:113 #. i18n: ectx: property (text), widget (QLabel, toggle_hfshape) msgid "Half/Full Shape" msgstr "半角/全角" #. i18n: file: gui/src/ConfigMain.ui:205 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:244 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Inline ASCII" msgstr "インラインアスキー" #. i18n: file: gui/src/ConfigMain.ui:193 #. i18n: ectx: property (text), widget (QLabel, shift_l_label) msgid "Left Shift Key" msgstr "左シフトキー" #. i18n: file: gui/src/ConfigMain.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, MainUI) msgid "MainWindow" msgstr "メインウィンドウ" #. i18n: file: gui/src/ConfigMain.ui:200 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:239 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Noop" msgstr "なにもしない" #. i18n: file: gui/src/ConfigMain.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_pagedown) msgid "Page Down" msgstr "ページダウン" #. i18n: file: gui/src/ConfigMain.ui:58 #. i18n: ectx: property (text), widget (QLabel, label_pageup) msgid "Page Up" msgstr "ページアップ" #. i18n: file: gui/src/ConfigMain.ui:232 #. i18n: ectx: property (text), widget (QLabel, shift_r_label) msgid "Right Shift Key" msgstr "右シフトキー" #: src/fcitx-rime.c:70 src/fcitx-rime.c:129 src/fcitx-rime.conf.in:3 #: src/rime.conf.in:3 msgid "Rime" msgstr "Rime" #: src/fcitx-rime.conf.in:4 msgid "Rime Wrapper For Fcitx" msgstr "Fcitx 用 Rime ラッパー" #: src/fcitx-rime.c:64 msgid "Rime has encountered an error. See /tmp/rime.fcitx.ERROR for details." msgstr "" "Rimeでエラーが起こりました。より詳しくは /tmp/rime.fcitx.ERROR を見てくださ" "い。" #: src/fcitx-rime.c:62 msgid "Rime is ready." msgstr "Rimeの準備ができました。" #: src/fcitx-rime.c:60 msgid "Rime is under maintenance ..." msgstr "Rimeはメンテナンス中です..." #. i18n: file: gui/src/ConfigMain.ui:270 #. i18n: ectx: attribute (title), widget (QWidget, schemas_tab) msgid "Schema" msgstr "スキーマ" #: src/fcitx-rime.c:173 msgid "Schema List" msgstr "スキーマリスト" #. i18n: file: gui/src/ConfigMain.ui:26 #. i18n: ectx: attribute (title), widget (QWidget, general_tab) msgid "Shortcut" msgstr "ショートカット" #: src/fcitx-rime.c:158 src/fcitx-rime.c:159 msgid "Synchronize" msgstr "同期" #. i18n: file: gui/src/ConfigMain.ui:157 #. i18n: ectx: property (text), widget (QLabel, toggle_trasim) msgid "Traditional/Simplified" msgstr "繁体字/簡体字" #. i18n: file: gui/src/ConfigMain.ui:137 #. i18n: ectx: property (text), widget (QLabel, toggle_ascii) msgid "Western/Eastern" msgstr "西洋/東洋" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "あなたのメールアドレス" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "あなたのお名前" fcitx-rime-master/po/ko.po000066400000000000000000000133231442203361500160070ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # Bon Keun Seo , 2017,2021 # Junghee Lee , 2021 # Junghee Lee , 2020 # Junghee Lee , 2022 # Junghee Lee , 2021 # Junghee Lee , 2020,2022 msgid "" msgstr "" "Project-Id-Version: fcitx\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" "POT-Creation-Date: 2022-04-10 20:28+0000\n" "PO-Revision-Date: 2013-03-25 22:16+0000\n" "Last-Translator: Junghee Lee , 2022\n" "Language-Team: Korean (http://www.transifex.com/fcitx/fcitx/language/ko/)\n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #. i18n: file: gui/src/ConfigMain.ui:423 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Select Input Schema:" msgstr "입력 스키마 선택:" #. i18n: file: gui/src/ConfigMain.ui:358 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Active Input Schemas:" msgstr "활성 입력 스키마:" #. i18n: file: gui/src/ConfigMain.ui:296 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Available Input Schemas:" msgstr "사용 가능한 입력 스키마:" #. i18n: file: gui/src/ConfigMain.ui:33 #. i18n: ectx: property (text), widget (QLabel, toggle_label) msgid "Call-out Menu" msgstr "호출 메뉴" #. i18n: file: gui/src/ConfigMain.ui:177 #. i18n: ectx: property (text), widget (QLabel, candidate_word_number_label) msgid "Candidate Word Number" msgstr "후보 단어 번호" #. i18n: file: gui/src/ConfigMain.ui:220 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:259 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Clear" msgstr "지우기" #. i18n: file: gui/src/ConfigMain.ui:215 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:254 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Commit Code" msgstr "입력완료 코드" #. i18n: file: gui/src/ConfigMain.ui:210 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:249 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Commit Text" msgstr "텍스트 입력완료" #: src/fcitx-rime.c:149 src/fcitx-rime.c:150 msgid "Deploy" msgstr "배치" #: src/fcitx-rime.c:528 msgid "English" msgstr "영어" #: src/fcitx-rime.conf.in:11 msgid "Fcitx Rime Config" msgstr "Fcitx Rime 구성" #: gui/src/ConfigMain.cpp:254 msgid "Fcitx Rime Config GUI Tool" msgstr "Fcitx Rime 구성 GUI 도구" #. i18n: file: gui/src/ConfigMain.ui:113 #. i18n: ectx: property (text), widget (QLabel, toggle_hfshape) msgid "Half/Full Shape" msgstr "반각/전각" #. i18n: file: gui/src/ConfigMain.ui:205 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:244 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Inline ASCII" msgstr "인라인 아스키" #. i18n: file: gui/src/ConfigMain.ui:193 #. i18n: ectx: property (text), widget (QLabel, shift_l_label) msgid "Left Shift Key" msgstr "왼쪽 Shift 키" #. i18n: file: gui/src/ConfigMain.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, MainUI) msgid "MainWindow" msgstr "기본창" #. i18n: file: gui/src/ConfigMain.ui:200 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:239 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Noop" msgstr "동작없음" #. i18n: file: gui/src/ConfigMain.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_pagedown) msgid "Page Down" msgstr "페이지 아래로" #. i18n: file: gui/src/ConfigMain.ui:58 #. i18n: ectx: property (text), widget (QLabel, label_pageup) msgid "Page Up" msgstr "페이지 위로" #. i18n: file: gui/src/ConfigMain.ui:232 #. i18n: ectx: property (text), widget (QLabel, shift_r_label) msgid "Right Shift Key" msgstr "오른쪽 Shift 키" #: src/fcitx-rime.c:70 src/fcitx-rime.c:129 src/fcitx-rime.conf.in:3 #: src/rime.conf.in:3 msgid "Rime" msgstr "Rime" #: src/fcitx-rime.conf.in:4 msgid "Rime Wrapper For Fcitx" msgstr "Fcitx용 Rime 래퍼" #: src/fcitx-rime.c:64 msgid "Rime has encountered an error. See /tmp/rime.fcitx.ERROR for details." msgstr "" "Rime에 오류가 발생했습니다. 자세한 내용은 /tmp/rime.fcitx.ERROR를 참조하십시" "오." #: src/fcitx-rime.c:62 msgid "Rime is ready." msgstr "Rime이 준비되었습니다." #: src/fcitx-rime.c:60 msgid "Rime is under maintenance ..." msgstr "라임이 점검중입니다..." #. i18n: file: gui/src/ConfigMain.ui:270 #. i18n: ectx: attribute (title), widget (QWidget, schemas_tab) msgid "Schema" msgstr "스키마" #: src/fcitx-rime.c:173 msgid "Schema List" msgstr "스키마 목록" #. i18n: file: gui/src/ConfigMain.ui:26 #. i18n: ectx: attribute (title), widget (QWidget, general_tab) msgid "Shortcut" msgstr "단축키" #: src/fcitx-rime.c:158 src/fcitx-rime.c:159 msgid "Synchronize" msgstr "동기화" #. i18n: file: gui/src/ConfigMain.ui:157 #. i18n: ectx: property (text), widget (QLabel, toggle_trasim) msgid "Traditional/Simplified" msgstr "정체자/간화자" #. i18n: file: gui/src/ConfigMain.ui:137 #. i18n: ectx: property (text), widget (QLabel, toggle_ascii) msgid "Western/Eastern" msgstr "서부/동부" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "이메일" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "이름" fcitx-rime-master/po/ru.po000066400000000000000000000142331442203361500160250ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # Dmitry , 2022 # TotalCaesar659 , 2016 # TotalCaesar659 , 2016 msgid "" msgstr "" "Project-Id-Version: fcitx\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" "POT-Creation-Date: 2022-06-02 20:29+0000\n" "PO-Revision-Date: 2013-03-25 22:16+0000\n" "Last-Translator: Dmitry , 2022\n" "Language-Team: Russian (http://www.transifex.com/fcitx/fcitx/language/ru/)\n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " "(n%100>=11 && n%100<=14)? 2 : 3);\n" #. i18n: file: gui/src/ConfigMain.ui:423 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Select Input Schema:" msgstr "Выберите схему ввода:" #. i18n: file: gui/src/ConfigMain.ui:358 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Active Input Schemas:" msgstr "Активные схемы ввода:" #. i18n: file: gui/src/ConfigMain.ui:296 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Available Input Schemas:" msgstr "Доступные схемы ввода:" #. i18n: file: gui/src/ConfigMain.ui:33 #. i18n: ectx: property (text), widget (QLabel, toggle_label) msgid "Call-out Menu" msgstr "Меню Вызова" #. i18n: file: gui/src/ConfigMain.ui:177 #. i18n: ectx: property (text), widget (QLabel, candidate_word_number_label) msgid "Candidate Word Number" msgstr "Номер слова-кандидата" #. i18n: file: gui/src/ConfigMain.ui:220 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:259 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Clear" msgstr "Очистить" #. i18n: file: gui/src/ConfigMain.ui:215 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:254 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Commit Code" msgstr "Код Фиксации" #. i18n: file: gui/src/ConfigMain.ui:210 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:249 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Commit Text" msgstr "Текст Фиксации" #: src/fcitx-rime.c:149 src/fcitx-rime.c:150 msgid "Deploy" msgstr "Развернуть" #: src/fcitx-rime.c:528 msgid "English" msgstr "Английский" #: src/fcitx-rime.conf.in:11 msgid "Fcitx Rime Config" msgstr "Конфигурация Fcitx Rime" #: gui/src/ConfigMain.cpp:254 msgid "Fcitx Rime Config GUI Tool" msgstr "Графический инструмент настройки Fcitx Rime Config" #. i18n: file: gui/src/ConfigMain.ui:113 #. i18n: ectx: property (text), widget (QLabel, toggle_hfshape) msgid "Half/Full Shape" msgstr "Полуширинная/Полноширинная Форма" #. i18n: file: gui/src/ConfigMain.ui:205 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:244 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Inline ASCII" msgstr "Встроенный ASCII" #. i18n: file: gui/src/ConfigMain.ui:193 #. i18n: ectx: property (text), widget (QLabel, shift_l_label) msgid "Left Shift Key" msgstr "Левая клавиша Shift" #. i18n: file: gui/src/ConfigMain.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, MainUI) msgid "MainWindow" msgstr "Главное окно" #. i18n: file: gui/src/ConfigMain.ui:200 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:239 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Noop" msgstr "Noop" #. i18n: file: gui/src/ConfigMain.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_pagedown) msgid "Page Down" msgstr "Страница Вниз" #. i18n: file: gui/src/ConfigMain.ui:58 #. i18n: ectx: property (text), widget (QLabel, label_pageup) msgid "Page Up" msgstr "Страница Вверх" #. i18n: file: gui/src/ConfigMain.ui:232 #. i18n: ectx: property (text), widget (QLabel, shift_r_label) msgid "Right Shift Key" msgstr "Правая клавиша Shift" #: src/fcitx-rime.c:70 src/fcitx-rime.c:129 src/fcitx-rime.conf.in:3 #: src/rime.conf.in:3 msgid "Rime" msgstr "Rime" #: src/fcitx-rime.conf.in:4 msgid "Rime Wrapper For Fcitx" msgstr "Обертка Rime для Fcitx" #: src/fcitx-rime.c:64 msgid "Rime has encountered an error. See /tmp/rime.fcitx.ERROR for details." msgstr "Обнаружена ошибка Rime. Подробности в файле /tmp/rime.fcitx.ERROR." #: src/fcitx-rime.c:62 msgid "Rime is ready." msgstr "Rime готов." #: src/fcitx-rime.c:60 msgid "Rime is under maintenance ..." msgstr "Rime перегружен..." #. i18n: file: gui/src/ConfigMain.ui:270 #. i18n: ectx: attribute (title), widget (QWidget, schemas_tab) msgid "Schema" msgstr "Схема" #: src/fcitx-rime.c:173 msgid "Schema List" msgstr "Список схем" #. i18n: file: gui/src/ConfigMain.ui:26 #. i18n: ectx: attribute (title), widget (QWidget, general_tab) msgid "Shortcut" msgstr "Ярлык" #: src/fcitx-rime.c:158 src/fcitx-rime.c:159 msgid "Synchronize" msgstr "Синхронизировать" #. i18n: file: gui/src/ConfigMain.ui:157 #. i18n: ectx: property (text), widget (QLabel, toggle_trasim) msgid "Traditional/Simplified" msgstr "Традиционный/Упрощённый" #. i18n: file: gui/src/ConfigMain.ui:137 #. i18n: ectx: property (text), widget (QLabel, toggle_ascii) msgid "Western/Eastern" msgstr "Западный/Восточный" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "Ваши адреса электронной почты" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "Ваши имена" fcitx-rime-master/po/tr.po000066400000000000000000000121001442203361500160130ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # Gökhan Kalayci , 2017 msgid "" msgstr "" "Project-Id-Version: fcitx\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" "POT-Creation-Date: 2020-10-07 00:03-0700\n" "PO-Revision-Date: 2018-05-30 07:04+0000\n" "Last-Translator: csslayer \n" "Language-Team: Turkish (http://www.transifex.com/fcitx/fcitx/language/tr/)\n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. i18n: file: gui/src/ConfigMain.ui:423 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Select Input Schema:" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:358 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Active Input Schemas:" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:296 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Available Input Schemas:" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:33 #. i18n: ectx: property (text), widget (QLabel, toggle_label) msgid "Call-out Menu" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:177 #. i18n: ectx: property (text), widget (QLabel, candidate_word_number_label) msgid "Candidate Word Number" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:220 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:259 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Clear" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:215 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:254 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Commit Code" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:210 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:249 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Commit Text" msgstr "" #: src/fcitx-rime.c:149 src/fcitx-rime.c:150 msgid "Deploy" msgstr "Dağıt" #: src/fcitx-rime.c:528 msgid "English" msgstr "İngilizce" #: src/fcitx-rime.conf.in:11 msgid "Fcitx Rime Config" msgstr "" #: gui/src/ConfigMain.cpp:249 msgid "Fcitx Rime Config GUI Tool" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:113 #. i18n: ectx: property (text), widget (QLabel, toggle_hfshape) msgid "Half/Full Shape" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:205 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:244 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Inline ASCII" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:193 #. i18n: ectx: property (text), widget (QLabel, shift_l_label) msgid "Left Shift Key" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, MainUI) msgid "MainWindow" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:200 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:239 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Noop" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_pagedown) msgid "Page Down" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:58 #. i18n: ectx: property (text), widget (QLabel, label_pageup) msgid "Page Up" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:232 #. i18n: ectx: property (text), widget (QLabel, shift_r_label) msgid "Right Shift Key" msgstr "" #: src/fcitx-rime.c:70 src/fcitx-rime.c:129 src/fcitx-rime.conf.in:3 #: src/rime.conf.in:3 msgid "Rime" msgstr "Rime" #: src/fcitx-rime.conf.in:4 msgid "Rime Wrapper For Fcitx" msgstr "Fcitx için Rime Wrapper" #: src/fcitx-rime.c:64 msgid "Rime has encountered an error. See /tmp/rime.fcitx.ERROR for details." msgstr "" "Rime bir hatayla karşılaştı. Detaylar için /tmp/rime.fcitx.ERROR yoluna " "bakın." #: src/fcitx-rime.c:62 msgid "Rime is ready." msgstr "Rime hazır." #: src/fcitx-rime.c:60 msgid "Rime is under maintenance ..." msgstr "Rime bakımda..." #. i18n: file: gui/src/ConfigMain.ui:270 #. i18n: ectx: attribute (title), widget (QWidget, schemas_tab) msgid "Schema" msgstr "" #: src/fcitx-rime.c:173 msgid "Schema List" msgstr "Şema Listesi" #. i18n: file: gui/src/ConfigMain.ui:26 #. i18n: ectx: attribute (title), widget (QWidget, general_tab) msgid "Shortcut" msgstr "" #: src/fcitx-rime.c:158 src/fcitx-rime.c:159 msgid "Synchronize" msgstr "Eşitleme" #. i18n: file: gui/src/ConfigMain.ui:157 #. i18n: ectx: property (text), widget (QLabel, toggle_trasim) msgid "Traditional/Simplified" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:137 #. i18n: ectx: property (text), widget (QLabel, toggle_ascii) msgid "Western/Eastern" msgstr "" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" fcitx-rime-master/po/vi.po000066400000000000000000000120451442203361500160140ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # Trong Dzang , 2013 msgid "" msgstr "" "Project-Id-Version: fcitx\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" "POT-Creation-Date: 2020-10-07 00:03-0700\n" "PO-Revision-Date: 2018-05-30 07:04+0000\n" "Last-Translator: csslayer \n" "Language-Team: Vietnamese (http://www.transifex.com/fcitx/fcitx/language/" "vi/)\n" "Language: vi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #. i18n: file: gui/src/ConfigMain.ui:423 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Select Input Schema:" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:358 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Active Input Schemas:" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:296 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Available Input Schemas:" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:33 #. i18n: ectx: property (text), widget (QLabel, toggle_label) msgid "Call-out Menu" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:177 #. i18n: ectx: property (text), widget (QLabel, candidate_word_number_label) msgid "Candidate Word Number" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:220 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:259 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Clear" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:215 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:254 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Commit Code" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:210 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:249 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Commit Text" msgstr "" #: src/fcitx-rime.c:149 src/fcitx-rime.c:150 msgid "Deploy" msgstr "Triển khai" #: src/fcitx-rime.c:528 msgid "English" msgstr "" #: src/fcitx-rime.conf.in:11 msgid "Fcitx Rime Config" msgstr "" #: gui/src/ConfigMain.cpp:249 msgid "Fcitx Rime Config GUI Tool" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:113 #. i18n: ectx: property (text), widget (QLabel, toggle_hfshape) msgid "Half/Full Shape" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:205 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:244 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Inline ASCII" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:193 #. i18n: ectx: property (text), widget (QLabel, shift_l_label) msgid "Left Shift Key" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, MainUI) msgid "MainWindow" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:200 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:239 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Noop" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_pagedown) msgid "Page Down" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:58 #. i18n: ectx: property (text), widget (QLabel, label_pageup) msgid "Page Up" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:232 #. i18n: ectx: property (text), widget (QLabel, shift_r_label) msgid "Right Shift Key" msgstr "" #: src/fcitx-rime.c:70 src/fcitx-rime.c:129 src/fcitx-rime.conf.in:3 #: src/rime.conf.in:3 msgid "Rime" msgstr "Rime" #: src/fcitx-rime.conf.in:4 msgid "Rime Wrapper For Fcitx" msgstr "Bộ Wrapper cho Fcitx" #: src/fcitx-rime.c:64 msgid "Rime has encountered an error. See /tmp/rime.fcitx.ERROR for details." msgstr "Rime gặp lỗi. Xem ở /tmp/rime.fcitx.ERROR để biết chi tiết." #: src/fcitx-rime.c:62 msgid "Rime is ready." msgstr "Rime sẵn sàng," #: src/fcitx-rime.c:60 msgid "Rime is under maintenance ..." msgstr "Rime đang bảo trì..." #. i18n: file: gui/src/ConfigMain.ui:270 #. i18n: ectx: attribute (title), widget (QWidget, schemas_tab) msgid "Schema" msgstr "" #: src/fcitx-rime.c:173 msgid "Schema List" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:26 #. i18n: ectx: attribute (title), widget (QWidget, general_tab) msgid "Shortcut" msgstr "" #: src/fcitx-rime.c:158 src/fcitx-rime.c:159 msgid "Synchronize" msgstr "Đồng bộ hóa" #. i18n: file: gui/src/ConfigMain.ui:157 #. i18n: ectx: property (text), widget (QLabel, toggle_trasim) msgid "Traditional/Simplified" msgstr "" #. i18n: file: gui/src/ConfigMain.ui:137 #. i18n: ectx: property (text), widget (QLabel, toggle_ascii) msgid "Western/Eastern" msgstr "" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" fcitx-rime-master/po/zh_CN.po000066400000000000000000000127321442203361500164020ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # csslayer , 2014,2018,2020 # csslayer , 2012-2013 # wwj402 , 2013,2018 msgid "" msgstr "" "Project-Id-Version: fcitx\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" "POT-Creation-Date: 2020-10-29 00:02-0700\n" "PO-Revision-Date: 2020-10-28 19:08+0000\n" "Last-Translator: csslayer \n" "Language-Team: Chinese (China) (http://www.transifex.com/fcitx/fcitx/" "language/zh_CN/)\n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #. i18n: file: gui/src/ConfigMain.ui:423 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Select Input Schema:" msgstr "选择输入方案:" #. i18n: file: gui/src/ConfigMain.ui:358 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Active Input Schemas:" msgstr "激活的输入方案:" #. i18n: file: gui/src/ConfigMain.ui:296 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Available Input Schemas:" msgstr "可用的输入方案:" #. i18n: file: gui/src/ConfigMain.ui:33 #. i18n: ectx: property (text), widget (QLabel, toggle_label) msgid "Call-out Menu" msgstr "调用菜单" #. i18n: file: gui/src/ConfigMain.ui:177 #. i18n: ectx: property (text), widget (QLabel, candidate_word_number_label) msgid "Candidate Word Number" msgstr "候选词个数" #. i18n: file: gui/src/ConfigMain.ui:220 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:259 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Clear" msgstr "清除" #. i18n: file: gui/src/ConfigMain.ui:215 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:254 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Commit Code" msgstr "提交码" #. i18n: file: gui/src/ConfigMain.ui:210 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:249 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Commit Text" msgstr "提交文本" #: src/fcitx-rime.c:149 src/fcitx-rime.c:150 msgid "Deploy" msgstr "重新部署" #: src/fcitx-rime.c:528 msgid "English" msgstr "英文" #: src/fcitx-rime.conf.in:11 msgid "Fcitx Rime Config" msgstr "Fcitx Rime 配置" #: gui/src/ConfigMain.cpp:254 msgid "Fcitx Rime Config GUI Tool" msgstr "Fcitx Rime 配置 GUI 工具" #. i18n: file: gui/src/ConfigMain.ui:113 #. i18n: ectx: property (text), widget (QLabel, toggle_hfshape) msgid "Half/Full Shape" msgstr "半/全 角" #. i18n: file: gui/src/ConfigMain.ui:205 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:244 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Inline ASCII" msgstr "内联 ASCII" #. i18n: file: gui/src/ConfigMain.ui:193 #. i18n: ectx: property (text), widget (QLabel, shift_l_label) msgid "Left Shift Key" msgstr "左 Shift" #. i18n: file: gui/src/ConfigMain.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, MainUI) msgid "MainWindow" msgstr "主窗口" #. i18n: file: gui/src/ConfigMain.ui:200 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:239 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Noop" msgstr "无操作" #. i18n: file: gui/src/ConfigMain.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_pagedown) msgid "Page Down" msgstr "向下翻页" #. i18n: file: gui/src/ConfigMain.ui:58 #. i18n: ectx: property (text), widget (QLabel, label_pageup) msgid "Page Up" msgstr "向上翻页" #. i18n: file: gui/src/ConfigMain.ui:232 #. i18n: ectx: property (text), widget (QLabel, shift_r_label) msgid "Right Shift Key" msgstr "右 Shift" #: src/fcitx-rime.c:70 src/fcitx-rime.c:129 src/fcitx-rime.conf.in:3 #: src/rime.conf.in:3 msgid "Rime" msgstr "中州韻" #: src/fcitx-rime.conf.in:4 msgid "Rime Wrapper For Fcitx" msgstr "Fcitx 的中州韻封装" #: src/fcitx-rime.c:64 msgid "Rime has encountered an error. See /tmp/rime.fcitx.ERROR for details." msgstr "Rime 出现了一个错误。请参阅/tmp/rime.fcitx.ERROR中细节。" #: src/fcitx-rime.c:62 msgid "Rime is ready." msgstr "Rime 就绪。" #: src/fcitx-rime.c:60 msgid "Rime is under maintenance ..." msgstr "Rime 正在维护中..." #. i18n: file: gui/src/ConfigMain.ui:270 #. i18n: ectx: attribute (title), widget (QWidget, schemas_tab) msgid "Schema" msgstr "输入方案" #: src/fcitx-rime.c:173 msgid "Schema List" msgstr "方案列表" #. i18n: file: gui/src/ConfigMain.ui:26 #. i18n: ectx: attribute (title), widget (QWidget, general_tab) msgid "Shortcut" msgstr "快捷键" #: src/fcitx-rime.c:158 src/fcitx-rime.c:159 msgid "Synchronize" msgstr "同步" #. i18n: file: gui/src/ConfigMain.ui:157 #. i18n: ectx: property (text), widget (QLabel, toggle_trasim) msgid "Traditional/Simplified" msgstr "繁体/简体" #. i18n: file: gui/src/ConfigMain.ui:137 #. i18n: ectx: property (text), widget (QLabel, toggle_ascii) msgid "Western/Eastern" msgstr "英文/中文" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "wengxt@gmail.com" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "Weng Xuetian" fcitx-rime-master/po/zh_TW.po000066400000000000000000000132011442203361500164240ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # pan93412 , 2019 # csslayer , 2015 # fhoshino , 2021 # 黃柏諺 , 2015 # Lau YeeYu, 2023 # csslayer , 2015 # 黃柏諺 , 2015 msgid "" msgstr "" "Project-Id-Version: fcitx\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" "POT-Creation-Date: 2023-04-25 20:26+0000\n" "PO-Revision-Date: 2013-03-25 22:16+0000\n" "Last-Translator: Lau YeeYu, 2023\n" "Language-Team: Chinese (Taiwan) (http://app.transifex.com/fcitx/fcitx/" "language/zh_TW/)\n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #. i18n: file: gui/src/ConfigMain.ui:423 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Select Input Schema:" msgstr "請選取輸入方案:" #. i18n: file: gui/src/ConfigMain.ui:358 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Active Input Schemas:" msgstr "啟用輸入專案:" #. i18n: file: gui/src/ConfigMain.ui:296 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Available Input Schemas:" msgstr "可用輸入方案:" #. i18n: file: gui/src/ConfigMain.ui:33 #. i18n: ectx: property (text), widget (QLabel, toggle_label) msgid "Call-out Menu" msgstr "呼叫選單" #. i18n: file: gui/src/ConfigMain.ui:177 #. i18n: ectx: property (text), widget (QLabel, candidate_word_number_label) msgid "Candidate Word Number" msgstr "候選字數" #. i18n: file: gui/src/ConfigMain.ui:220 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:259 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Clear" msgstr "清除" #. i18n: file: gui/src/ConfigMain.ui:215 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:254 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Commit Code" msgstr "提交碼" #. i18n: file: gui/src/ConfigMain.ui:210 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:249 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Commit Text" msgstr "提交文本" #: src/fcitx-rime.c:149 src/fcitx-rime.c:150 msgid "Deploy" msgstr "重新部署" #: src/fcitx-rime.c:528 msgid "English" msgstr "英語" #: src/fcitx-rime.conf.in:11 msgid "Fcitx Rime Config" msgstr "Fcitx Rime 設定" #: gui/src/ConfigMain.cpp:254 msgid "Fcitx Rime Config GUI Tool" msgstr "Fcitx Rime 設定圖形介面工具" #. i18n: file: gui/src/ConfigMain.ui:113 #. i18n: ectx: property (text), widget (QLabel, toggle_hfshape) msgid "Half/Full Shape" msgstr "半/全形" #. i18n: file: gui/src/ConfigMain.ui:205 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:244 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Inline ASCII" msgstr "內聯 ASCII" #. i18n: file: gui/src/ConfigMain.ui:193 #. i18n: ectx: property (text), widget (QLabel, shift_l_label) msgid "Left Shift Key" msgstr "左 Shift 鍵" #. i18n: file: gui/src/ConfigMain.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, MainUI) msgid "MainWindow" msgstr "主視窗" #. i18n: file: gui/src/ConfigMain.ui:200 #. i18n: ectx: property (text), item, widget (QComboBox, shift_l_combo) #. i18n: file: gui/src/ConfigMain.ui:239 #. i18n: ectx: property (text), item, widget (QComboBox, shift_r_combo) msgid "Noop" msgstr "無操作" #. i18n: file: gui/src/ConfigMain.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_pagedown) msgid "Page Down" msgstr "向下一頁" #. i18n: file: gui/src/ConfigMain.ui:58 #. i18n: ectx: property (text), widget (QLabel, label_pageup) msgid "Page Up" msgstr "向上一頁" #. i18n: file: gui/src/ConfigMain.ui:232 #. i18n: ectx: property (text), widget (QLabel, shift_r_label) msgid "Right Shift Key" msgstr "右 Shift 鍵" #: src/fcitx-rime.c:70 src/fcitx-rime.c:129 src/fcitx-rime.conf.in:3 #: src/rime.conf.in:3 msgid "Rime" msgstr "中州韻" #: src/fcitx-rime.conf.in:4 msgid "Rime Wrapper For Fcitx" msgstr "Fcitx 的中州韻封裝" #: src/fcitx-rime.c:64 msgid "Rime has encountered an error. See /tmp/rime.fcitx.ERROR for details." msgstr "Rime 遇到了一個錯誤。見 /tmp/rime.fcitx.ERROR 以取得更多資訊。" #: src/fcitx-rime.c:62 msgid "Rime is ready." msgstr "Rime 準備好了。" #: src/fcitx-rime.c:60 msgid "Rime is under maintenance ..." msgstr "Rime 仍在維護中..." #. i18n: file: gui/src/ConfigMain.ui:270 #. i18n: ectx: attribute (title), widget (QWidget, schemas_tab) msgid "Schema" msgstr "輸入方案" #: src/fcitx-rime.c:173 msgid "Schema List" msgstr "方案選單" #. i18n: file: gui/src/ConfigMain.ui:26 #. i18n: ectx: attribute (title), widget (QWidget, general_tab) msgid "Shortcut" msgstr "快速鍵" #: src/fcitx-rime.c:158 src/fcitx-rime.c:159 msgid "Synchronize" msgstr "同步" #. i18n: file: gui/src/ConfigMain.ui:157 #. i18n: ectx: property (text), widget (QLabel, toggle_trasim) msgid "Traditional/Simplified" msgstr "繁體/簡體" #. i18n: file: gui/src/ConfigMain.ui:137 #. i18n: ectx: property (text), widget (QLabel, toggle_ascii) msgid "Western/Eastern" msgstr "英文/中文" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "pan93412@gmail.com, s8321414@gmail.com," msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "Yi-Jyun Pan, Jeff Huang, Alisha" fcitx-rime-master/src/000077500000000000000000000000001442203361500152055ustar00rootroot00000000000000fcitx-rime-master/src/CMakeLists.txt000066400000000000000000000006351442203361500177510ustar00rootroot00000000000000 include_directories(${FCITX4_FCITX_INCLUDE_DIRS}) include_directories(${FCITX4_FCITX_CONFIG_INCLUDE_DIRS}) include_directories(${FCITX4_FCITX_UTILS_INCLUDE_DIRS}) include_directories(${RIME_INCLUDE_DIRS}) link_directories(${RIME_LIBRARY_DIRS}) set(FCITX_RIME_SRC fcitx-rime.c) fcitx_add_addon_full(rime SOURCES ${FCITX_RIME_SRC} IM_CONFIG rime.conf LINK_LIBS ${RIME_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) fcitx-rime-master/src/fcitx-rime.c000066400000000000000000000467621442203361500174370ustar00rootroot00000000000000#include #include #include #include #include #include #include #include #define _(x) dgettext("fcitx-rime", (x)) typedef struct _FcitxRime { FcitxInstance* owner; RimeSessionId session_id; char* iconname; RimeApi* api; boolean firstRun; FcitxUIMenu schemamenu; } FcitxRime; static void* FcitxRimeCreate(FcitxInstance* instance); static void FcitxRimeDestroy(void* arg); static boolean FcitxRimeInit(void* arg); static void FcitxRimeReset(void* arg); static void FcitxRimeReloadConfig(void* arg); static INPUT_RETURN_VALUE FcitxRimeDoInput(void* arg, FcitxKeySym sym, unsigned int state); static INPUT_RETURN_VALUE FcitxRimeDoReleaseInput(void* arg, FcitxKeySym sym, unsigned int state); static INPUT_RETURN_VALUE FcitxRimeDoInputReal(void* arg, FcitxKeySym _sym, unsigned int _state); static INPUT_RETURN_VALUE FcitxRimeGetCandWords(void* arg); static void FcitxRimeToggleEnZh(void* arg); static const char* FcitxRimeGetIMIcon(void* arg); static const char* FcitxRimeGetDeployIcon(void *arg); static const char* FcitxRimeGetSyncIcon(void *arg); static void FcitxRimeToggleSync(void* arg); static void FcitxRimeToggleDeploy(void* arg); static void FcitxRimeResetUI(void* arg); static void FcitxRimeUpdateStatus(FcitxRime* rime); static boolean FcitxRimeSchemaMenuAction(FcitxUIMenu *menu, int index); static void FcitxRimeSchemaMenuUpdate(FcitxUIMenu *menu); static boolean FcitxRimePaging(void* arg, boolean prev); FCITX_EXPORT_API FcitxIMClass ime = { FcitxRimeCreate, FcitxRimeDestroy }; FCITX_EXPORT_API int ABI_VERSION = FCITX_ABI_VERSION; void FcitxRimeNotificationHandler(void* context_object, RimeSessionId session_id, const char* message_type, const char* message_value) { const char* message = NULL; FcitxRime* rime = (FcitxRime*) context_object; if (!strcmp(message_type, "deploy")) { if (!strcmp(message_value, "start")) { message = _("Rime is under maintenance ..."); } else if (!strcmp(message_value, "success")) { message = _("Rime is ready."); } else if (!strcmp(message_value, "failure")) { message = _("Rime has encountered an error. " "See /tmp/rime.fcitx.ERROR for details."); } } if (message) { FcitxFreeDesktopNotifyShowAddonTip(rime->owner, "fcitx-rime-deploy", "fcitx-rime-deploy", _("Rime"), message); } } static void FcitxRimeStart(FcitxRime* rime, boolean fullcheck) { char* user_path = NULL; FILE* fp = FcitxXDGGetFileUserWithPrefix("rime", ".place_holder", "w", NULL); if (fp) fclose(fp); FcitxXDGGetFileUserWithPrefix("rime", "", NULL, &user_path); //char* shared_data_dir = fcitx_utils_get_fcitx_path_with_filename("pkgdatadir", "rime"); const char* shared_data_dir = RIME_DATA_DIR; RIME_STRUCT(RimeTraits, fcitx_rime_traits); fcitx_rime_traits.shared_data_dir = shared_data_dir; fcitx_rime_traits.app_name = "rime.fcitx-rime"; fcitx_rime_traits.user_data_dir = user_path; fcitx_rime_traits.distribution_name = "Rime"; fcitx_rime_traits.distribution_code_name = "fcitx-rime"; fcitx_rime_traits.distribution_version = "0.2.3"; if (rime->firstRun) { rime->api->setup(&fcitx_rime_traits); rime->firstRun = false; } rime->api->initialize(&fcitx_rime_traits); rime->api->set_notification_handler(FcitxRimeNotificationHandler, rime); rime->api->start_maintenance(fullcheck); rime->session_id = rime->api->create_session(); free(user_path); } static void* FcitxRimeCreate(FcitxInstance* instance) { FcitxRime* rime = (FcitxRime*) fcitx_utils_malloc0(sizeof(FcitxRime)); rime->owner = instance; rime->api = rime_get_api(); rime->firstRun = true; if (!rime->api) { free(rime); return NULL; } FcitxRimeStart(rime, false); FcitxIMIFace iface; memset(&iface, 0, sizeof(FcitxIMIFace)); iface.Init = FcitxRimeInit; iface.ResetIM = FcitxRimeReset; iface.DoInput = FcitxRimeDoInput; iface.DoReleaseInput = FcitxRimeDoReleaseInput; iface.GetCandWords = FcitxRimeGetCandWords; iface.ReloadConfig = FcitxRimeReloadConfig; FcitxInstanceRegisterIMv2( instance, rime, "rime", _("Rime"), "rime", iface, 10, "zh" ); FcitxUIRegisterComplexStatus( instance, rime, "rime-enzh", "", "", FcitxRimeToggleEnZh, FcitxRimeGetIMIcon); FcitxUIRegisterComplexStatus( instance, rime, "rime-deploy", _("Deploy"), _("Deploy"), FcitxRimeToggleDeploy, FcitxRimeGetDeployIcon); FcitxUIRegisterComplexStatus( instance, rime, "rime-sync", _("Synchronize"), _("Synchronize"), FcitxRimeToggleSync, FcitxRimeGetSyncIcon); FcitxUISetStatusVisable(instance, "rime-enzh", false); FcitxUISetStatusVisable(instance, "rime-sync", false); FcitxUISetStatusVisable(instance, "rime-deploy", false); FcitxIMEventHook hk; hk.arg = rime; hk.func = FcitxRimeResetUI; FcitxInstanceRegisterResetInputHook(instance, hk); FcitxMenuInit(&rime->schemamenu); rime->schemamenu.name = strdup(_("Schema List")); rime->schemamenu.candStatusBind = strdup("rime-enzh"); rime->schemamenu.MenuAction = FcitxRimeSchemaMenuAction; rime->schemamenu.UpdateMenu = FcitxRimeSchemaMenuUpdate; rime->schemamenu.priv = rime; rime->schemamenu.isSubMenu = false; FcitxUIRegisterMenu(rime->owner, &rime->schemamenu); return rime; } void FcitxRimeDestroy(void* arg) { FcitxRime* rime = (FcitxRime*) arg; if (rime->session_id) { rime->api->destroy_session(rime->session_id); rime->session_id = 0; } FcitxUIUnRegisterMenu(rime->owner, &rime->schemamenu); FcitxMenuFinalize(&rime->schemamenu); fcitx_utils_free(rime->iconname); rime->api->finalize(); free(rime); } boolean FcitxRimeInit(void* arg) { FcitxRime* rime = (FcitxRime*) arg; boolean flag = true; FcitxInstanceSetContext(rime->owner, CONTEXT_IM_KEYBOARD_LAYOUT, "us"); FcitxInstanceSetContext(rime->owner, CONTEXT_DISABLE_AUTO_FIRST_CANDIDATE_HIGHTLIGHT, &flag); FcitxInstanceSetContext(rime->owner, CONTEXT_DISABLE_AUTOENG, &flag); FcitxInstanceSetContext(rime->owner, CONTEXT_DISABLE_QUICKPHRASE, &flag); FcitxRimeUpdateStatus(rime); return true; } void FcitxRimeReset(void* arg) { FcitxRime* rime = (FcitxRime*) arg; if (rime->api->is_maintenance_mode()) { return; } if (!rime->api->find_session(rime->session_id)) { rime->session_id = rime->api->create_session(); } if (rime->session_id) { rime->api->process_key(rime->session_id, FcitxKey_Escape, 0); } } INPUT_RETURN_VALUE FcitxRimeDoReleaseInput(void* arg, FcitxKeySym _sym, unsigned int _state) { FcitxRime *rime = (FcitxRime *)arg; FcitxInputState *input = FcitxInstanceGetInputState(rime->owner); uint32_t sym = FcitxInputStateGetKeySym(input); uint32_t state = FcitxInputStateGetKeyState(input); _state &= (FcitxKeyState_SimpleMask); if (_state & (~(FcitxKeyState_Ctrl_Alt_Shift))) { return IRV_TO_PROCESS; } state &= (FcitxKeyState_SimpleMask); return FcitxRimeDoInputReal(arg, sym, state | (1 << 30)); } void FcitxRimeUpdateStatus(FcitxRime* rime) { if (rime->api->is_maintenance_mode()) { return; } if (!rime->api->find_session(rime->session_id)) { rime->session_id = rime->api->create_session(); } RIME_STRUCT(RimeStatus, status); if (rime->api->get_status(rime->session_id, &status)) { char* text = ""; if (status.is_disabled) { text = "\xe2\x8c\x9b"; } else if (status.is_ascii_mode) { text = "A"; } else if (status.schema_name && status.schema_name[0] != '.') { text = status.schema_name; } else { text = "中"; } FcitxUISetStatusString(rime->owner, "rime-enzh", text, text); rime->api->free_status(&status); } else { FcitxUISetStatusString(rime->owner, "rime-enzh", "\xe2\x8c\x9b", "\xe2\x8c\x9b"); } } INPUT_RETURN_VALUE FcitxRimeDoInput(void* arg, FcitxKeySym _sym, unsigned int _state) { FcitxRime *rime = (FcitxRime *)arg; FcitxInputState *input = FcitxInstanceGetInputState(rime->owner); uint32_t sym = FcitxInputStateGetKeySym(input); uint32_t state = FcitxInputStateGetKeyState(input); _state &= (FcitxKeyState_SimpleMask | FcitxKeyState_CapsLock); if (_state & (~(FcitxKeyState_Ctrl_Alt_Shift | FcitxKeyState_CapsLock))) { return IRV_TO_PROCESS; } state &= (FcitxKeyState_SimpleMask | FcitxKeyState_CapsLock); return FcitxRimeDoInputReal(arg, sym, state); } INPUT_RETURN_VALUE FcitxRimeDoInputReal(void* arg, FcitxKeySym sym, unsigned int state) { FcitxRime *rime = (FcitxRime *)arg; if (rime->api->is_maintenance_mode()) { return IRV_TO_PROCESS; } if (!rime->api->find_session(rime->session_id)) { rime->session_id = rime->api->create_session(); } if (!rime->session_id) { // service disabled FcitxRimeUpdateStatus(rime); return IRV_TO_PROCESS; } boolean result = rime->api->process_key(rime->session_id, sym, state); RIME_STRUCT(RimeCommit, commit); if (rime->api->get_commit(rime->session_id, &commit)) { FcitxInputContext* ic = FcitxInstanceGetCurrentIC(rime->owner); FcitxInstanceCommitString(rime->owner, ic, commit.text); rime->api->free_commit(&commit); } FcitxRimeUpdateStatus(rime); if (!result) { FcitxRimeGetCandWords(rime); FcitxUIUpdateInputWindow(rime->owner); return IRV_TO_PROCESS; } else return IRV_DISPLAY_CANDWORDS; } INPUT_RETURN_VALUE FcitxRimeGetCandWord(void* arg, FcitxCandidateWord* candWord) { FcitxRime *rime = (FcitxRime *)arg; RIME_STRUCT(RimeContext, context); INPUT_RETURN_VALUE retVal = IRV_TO_PROCESS; if (rime->api->get_context(rime->session_id, &context)) { if (context.menu.num_candidates) { int i = *(int*) candWord->priv; const char* digit = DIGIT_STR_CHOOSE; int num_select_keys = context.menu.select_keys ? strlen(context.menu.select_keys) : 0; FcitxKeySym sym = FcitxKey_None; if (i < 10) { if (i < num_select_keys) sym = context.menu.select_keys[i]; else sym = digit[i]; } if (sym != FcitxKey_None) { boolean result = rime->api->process_key(rime->session_id, sym, 0); RIME_STRUCT(RimeCommit, commit); if (rime->api->get_commit(rime->session_id, &commit)) { FcitxInputContext* ic = FcitxInstanceGetCurrentIC(rime->owner); FcitxInstanceCommitString(rime->owner, ic, commit.text); rime->api->free_commit(&commit); } if (!result) { FcitxRimeGetCandWords(rime); FcitxUIUpdateInputWindow(rime->owner); retVal = IRV_TO_PROCESS; } else retVal = IRV_DISPLAY_CANDWORDS; } } rime->api->free_context(&context); } return retVal; } boolean FcitxRimePaging(void* arg, boolean prev) { FcitxRime *rime = (FcitxRime *)arg; boolean result = RimeProcessKey(rime->session_id, prev ? FcitxKey_Page_Up : FcitxKey_Page_Down, 0); if (result) { FcitxRimeGetCandWords(rime); FcitxUIUpdateInputWindow(rime->owner); } return result; } INPUT_RETURN_VALUE FcitxRimeGetCandWords(void* arg) { FcitxRime *rime = (FcitxRime *)arg; FcitxInputState *input = FcitxInstanceGetInputState(rime->owner); FcitxInstanceCleanInputWindow(rime->owner); RIME_STRUCT(RimeContext, context); if (!rime->api->get_context(rime->session_id, &context)) { return IRV_DISPLAY_CANDWORDS; } if (context.composition.length == 0) { rime->api->free_context(&context); return IRV_DISPLAY_CANDWORDS; } FcitxMessages* msgPreedit = FcitxInputStateGetPreedit(input); FcitxMessages* msgClientPreedit = FcitxInputStateGetClientPreedit(input); FcitxInputStateSetShowCursor(input, true); FcitxInputStateSetCursorPos(input, context.composition.cursor_pos); if (context.commit_text_preview) { FcitxInputStateSetClientCursorPos(input, strlen(context.commit_text_preview)); } /* converted text */ if (context.composition.sel_start > 0) { char* temp = strndup(context.composition.preedit, context.composition.sel_start); FcitxMessagesAddMessageAtLast(msgPreedit, MSG_OTHER, "%s", temp); free(temp); if (context.commit_text_preview) { temp = strndup(context.commit_text_preview, context.composition.sel_start); FcitxMessagesAddMessageAtLast(msgClientPreedit, MSG_INPUT, "%s", temp); free(temp); } } /* converting candidate */ if (context.composition.sel_start < context.composition.sel_end) { char* temp = strndup(&context.composition.preedit[context.composition.sel_start], context.composition.sel_end - context.composition.sel_start); FcitxMessagesAddMessageAtLast(msgPreedit, MSG_HIGHLIGHT | MSG_CODE, "%s", temp); free(temp); if (context.commit_text_preview) { FcitxMessagesAddMessageAtLast(msgClientPreedit, MSG_HIGHLIGHT, "%s", &context.commit_text_preview[context.composition.sel_start]); } } /* remaining input to convert */ if (context.composition.sel_end < strlen(context.composition.preedit)) { FcitxMessagesAddMessageAtLast(msgPreedit, MSG_CODE, "%s", &context.composition.preedit[context.composition.sel_end]); } if (context.menu.num_candidates) { FcitxCandidateWordList* candList = FcitxInputStateGetCandidateList(input); const char* digit = DIGIT_STR_CHOOSE; char strChoose[11]; strChoose[10] = '\0'; FcitxCandidateWordSetPageSize(candList, 10); int num_select_keys = context.menu.select_keys ? strlen(context.menu.select_keys) : 0; int i; for (i = 0; i < context.menu.num_candidates; ++i) { FcitxCandidateWord candWord; candWord.strWord = strdup (context.menu.candidates[i].text); if (i == context.menu.highlighted_candidate_index) candWord.wordType = MSG_CANDIATE_CURSOR; else candWord.wordType = MSG_OTHER; candWord.strExtra = context.menu.candidates[i].comment ? strdup (context.menu.candidates[i].comment) : NULL; candWord.extraType = MSG_CODE; candWord.callback = FcitxRimeGetCandWord; candWord.owner = rime; int* priv = fcitx_utils_new(int); *priv = i; candWord.priv = priv; FcitxCandidateWordAppend(candList, &candWord); if (i < 10) { if (i < num_select_keys) { strChoose[i] = context.menu.select_keys[i]; } else { strChoose[i] = digit[i]; } } } FcitxCandidateWordSetChoose(candList, strChoose); FcitxCandidateWordSetOverridePaging(candList, context.menu.page_no != 0, !context.menu.is_last_page, FcitxRimePaging, rime, NULL); } rime->api->free_context(&context); return IRV_DISPLAY_CANDWORDS; } void FcitxRimeReloadConfig(void* arg) { FcitxRime* rime = (FcitxRime*) arg; if (rime->session_id) { rime->api->destroy_session(rime->session_id); rime->session_id = 0; } rime->api->finalize(); FcitxRimeStart(rime, false); FcitxRimeUpdateStatus(rime); } boolean FcitxRimeSchemaMenuAction(FcitxUIMenu* menu, int index) { FcitxRime * rime = menu->priv; if (rime->api->is_maintenance_mode()) { return false; } if (!rime->api->find_session(rime->session_id)) { rime->session_id = rime->api->create_session(); } if (index == 0) { rime->api->set_option(rime->session_id, "ascii_mode", true); } else { rime->api->set_option(rime->session_id, "ascii_mode", false); RimeSchemaList list = {0}; if (rime->api->get_schema_list(&list)) { if (list.size > index - 1) { rime->api->select_schema(rime->session_id,list.list[index-1].schema_id); FcitxRimeUpdateStatus(rime); FcitxRimeGetCandWords(rime); FcitxUIUpdateInputWindow(rime->owner); } rime->api->free_schema_list(&list); } } return true; } void FcitxRimeSchemaMenuUpdate(FcitxUIMenu* menu) { FcitxRime * rime = menu->priv; if (rime->api->is_maintenance_mode()) { return; } if (!rime->api->find_session(rime->session_id)) { rime->session_id = rime->api->create_session(); } FcitxMenuClear(menu); FcitxMenuAddMenuItem(menu, _("English"), MENUTYPE_SIMPLE, NULL); RimeSchemaList list = {0}; if (rime->api->get_schema_list(&list)) { size_t i = 0; for (i = 0; i < list.size; ++i) { FcitxMenuAddMenuItem(menu, list.list[i].name, MENUTYPE_SIMPLE, NULL); } rime->api->free_schema_list(&list); } } static const char* FcitxRimeGetIMIcon(void* arg) { FcitxRime* rime = (FcitxRime*) arg; RIME_STRUCT(RimeStatus, status); if (rime->api->get_status(rime->session_id, &status)) { char* text = ""; if (status.is_disabled) { text = "@rime-disable"; } else if (status.is_ascii_mode) { text = "@rime-latin"; } else if (status.schema_id) { fcitx_utils_free(rime->iconname); fcitx_utils_alloc_cat_str(rime->iconname, "@rime-im-", status.schema_id); text = rime->iconname; } else { text = "@rime-im"; } rime->api->free_status(&status); return text; } return "@rime-disable"; } static const char* FcitxRimeGetDeployIcon(void *arg) { return "rime-deploy"; } static const char* FcitxRimeGetSyncIcon(void *arg) { return "rime-sync"; } void FcitxRimeToggleEnZh(void* arg) { } void FcitxRimeResetUI(void* arg) { FcitxRime* rime = (FcitxRime*) arg; FcitxInstance* instance = rime->owner; FcitxIM* im = FcitxInstanceGetCurrentIM(instance); boolean visible; if (!im || strcmp(im->uniqueName, "rime") != 0) visible = false; else visible = true; FcitxUISetStatusVisable(instance, "rime-enzh", visible); FcitxUISetStatusVisable(instance, "rime-sync", visible); FcitxUISetStatusVisable(instance, "rime-deploy", visible); } void FcitxRimeToggleSync(void* arg) { FcitxRime* rime = (FcitxRime*) arg; rime->api->sync_user_data(); FcitxRimeGetCandWords(rime); FcitxUIUpdateInputWindow(rime->owner); } void FcitxRimeToggleDeploy(void* arg) { FcitxRime* rime = (FcitxRime*) arg; if (rime->session_id) { rime->api->sync_user_data(); rime->session_id = 0; } rime->api->finalize(); FcitxRimeStart(rime, true); FcitxRimeUpdateStatus(rime); FcitxRimeGetCandWords(rime); FcitxUIUpdateInputWindow(rime->owner); } fcitx-rime-master/src/fcitx-rime.conf.in000066400000000000000000000003741442203361500205340ustar00rootroot00000000000000[Addon] Name=fcitx-rime _GeneralName=Rime _Comment=Rime Wrapper For Fcitx Category=InputMethod Enabled=True Library=fcitx-rime.so Type=SharedLibrary IMRegisterMethod=ConfigFile LoadLocal=True SubConfig=Fcitx Rime Config:native:rime/config,fcitx:domain fcitx-rime-master/src/rime.conf.in000066400000000000000000000001441442203361500174140ustar00rootroot00000000000000[InputMethod] UniqueName=rime _Name=Rime IconName=rime Priority=10 LangCode=zh_TW Parent=fcitx-rime