Set up rime-frost basic configuration

This commit is contained in:
2026-03-08 19:03:31 +08:00
commit 90bdf8464d
93 changed files with 2406514 additions and 0 deletions

47
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,47 @@
name: release
on:
release:
types: [published]
jobs:
generate-txt:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.10' # 你可以根据需要选择 Python 版本
- name: Generate frost_dict_for_fcitx5.txt from YAML
id: frost_dict_for_fcitx5
run: |
python others/program/release/generate_dict_for_fcitx5.py # 运行你的 Python 脚本
- name: Generate rime zip
run: |
python others/program/release/generate_rime_all_schema_zip.py # 运行你的 Python 脚本
- name: Upload Release Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.TOKEN }}
with:
asset_path: frost_dict_for_fcitx5.txt
asset_name: frost_dict_for_fcitx5.txt
asset_content_type: text/plain
upload_url: ${{ github.event.release.upload_url }}
- name: Upload rime-schemas
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.TOKEN }}
with:
asset_path: rime-frost-schemas.zip
asset_name: rime-frost-schemas.zip
asset_content_type: application/zip
upload_url: ${{ github.event.release.upload_url }}

34
.gitignore vendored Normal file
View File

@@ -0,0 +1,34 @@
# Project exclude paths
/venv/
/cn_dicts_temp/
/cn_dicts_dazhu/
/cn_dicts_sancang/
/cn_dicts_xh_cangjie/
sancang.dict.yaml
.DS_Store
**/.idea/
.vscode/
dist/
*.zip
build/
sync/
*.userdb/
installation.yaml
user.yaml
*.custom.yaml
!others/**/*.custom.yaml
custom_phrase_double.txt
others/script/scel2txt/out/*
others/script/scel2txt/scel/*
cn_dicts/temp.txt
*private*
rime_console
rime_deployer
rime_patch
*.zip

674
LICENSE Normal file
View File

@@ -0,0 +1,674 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. 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
them 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 prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. 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.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey 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;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If 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 convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU 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 that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
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.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
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.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
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
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
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 3 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, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program 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, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.
The GNU 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. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.

37624
cn_dicts/41448.dict.yaml Normal file

File diff suppressed because it is too large Load Diff

8555
cn_dicts/8105.dict.yaml Normal file

File diff suppressed because it is too large Load Diff

375804
cn_dicts/base.dict.yaml Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,24 @@
# Rime dictionary
# encoding: utf-8
#
# https://github.com/gaboolic/rime-frost
#正确的字词 错误的音 正确的音
#正确的字词 错误的音 错误的字
# ------- 错字或错音 -------
---
name: corrections
version: "2024-08-29"
sort: by_weight
columns:
- text
- code
- weight
- comment
...
##### 错音
纨绔子弟 zhi kua zi di 0 纨(wan)绔(ku)子弟
馄饨 hun dun 0 馄(hun)饨(tun)
##### 错字
罄竹难书 xin zhu nan shu 0 馨(罄qing)竹难书
不胜感激 bu shen gan ji 0 不甚(胜sheng)感激

235538
cn_dicts/ext.dict.yaml Normal file

File diff suppressed because it is too large Load Diff

595
cn_dicts/others.dict.yaml Normal file
View File

@@ -0,0 +1,595 @@
# Rime dictionary
# encoding: utf-8
#
# https://github.com/iDvel/rime-ice
# ------- 一些杂项,按需选择 -------
---
name: others
version: "2024-05-21"
sort: by_weight
...
##### 容错词
# 一些口语读音
空落落 kong luo luo 16
空落落 kong lao lao 16
空落落的 kong luo luo de 87
空落落的 kong lao lao de 87
# 「阿房宫」的注音争议比较大
阿房宫 e pang gong 180
阿房宫 a pang gong 180
阿房宫 e fang gong 180
阿房宫 a fang gong 180
阿房宫赋 e pang gong fu 44
阿房宫赋 a pang gong fu 44
阿房宫赋 e fang gong fu 44
阿房宫赋 a fang gong fu 44
# 「伯伯」方言
伯伯 bo bo 541
伯伯 bai bai 541
# 「斜」的古音
远上寒山石径斜 yuan shang han shan shi jing xie 38
远上寒山石径斜 yuan shang han shan shi jing xia 38
# 「骑」目前统读 qi
坐骑 zuo qi 1019
坐骑 zuo ji 1019
铁骑 tie qi 383
铁骑 tie ji 383
一骑绝尘 yi qi jue chen 684
一骑绝尘 yi ji jue chen 684
一骑当千 yi qi dang qian 53
一骑当千 yi ji dang qian 53
一骑红尘妃子笑 yi qi hong chen fei zi xiao 37
一骑红尘妃子笑 yi ji hong chen fei zi xiao 37
走单骑 zou dan qi 0
走单骑 zou dan ji 0
千里走单骑 qian li zou dan qi 100
千里走单骑 qian li zou dan ji 100
# 「街」的粤语和东北话读音及常见的两种写法
仆街 pu jie 37
仆街 pu gai 37
扑街 pu jie 1315
扑街 pu gai 1315
扑街仔 pu jie zai 20
扑街仔 pu gai zai 20
仆街仔 pu jie zai 0
仆街仔 pu gai zai 0
街溜子 jie liu zi 70
街溜子 gai liu zi 70
# 「錤」这个字念 ji但是台湾媒体都会念成 qi他的英文名 Ming-Chi Kuo 也是接近 qi
郭明錤 guo ming ji 38
郭明錤 guo ming qi 38
# 「镐 gao hao」的发音多为韩国人名不知道 🤷‍♂️,词库里为 gao这里额外加上 hao 音
李昌镐 li chang hao 242
曹世镐 cao shi hao 0
张镐哲 zhang gao zhe 0
姜成镐 jiang cheng hao 0
姜镐童 jiang hao tong 0
张镐濂 zhang hao lian 0
李敏镐 li min hao 28
李陈镐 li chen hao 2
赵亮镐 zhao liang hao 0
郑俊镐 zheng jun hao 1
##### 错音错字提示。与 corrector.lua 配合,上面的是正确的,下面是错误的
### 错音
馄饨 hun tun 898
馄饨 hun dun 898
主角 zhu jue 24115
主角 zhu jiao 24115
角色 jue se 20102
角色 jiao se 20102
比萨 bi sa 197
比萨 pi sa 197
比萨饼 bi sa bing 23
比萨饼 pi sa bing 23
吃比萨 chi bi sa 5
吃比萨 chi pi sa 5
说服 shuo fu 5642
说服 shui fu 5642
道行 dao heng 270
道行 dao hang 270
模样 mu yang 5185
模样 mo yang 5185
有模有样 you mu you yang 279
有模有样 you mo you yang 279
一模一样 yi mu yi yang 5083
一模一样 yi mo yi yang 5083
装模作样 zhuang mu zuo yang 485
装模作样 zhuang mo zuo yang 485
人模狗样 ren mu gou yang 146
人模狗样 ren mo gou yang 146
模板 mu ban 14674
模板 mo ban 14674
阿弥陀佛 e mi tuo fo 371
阿弥陀佛 a mi tuo fo 371
南无阿弥陀佛 na mo e mi tuo fo 42
南无阿弥陀佛 na mo a mi tuo fo 42
南无阿弥陀佛 nan wu e mi tuo fo 42
南无阿弥陀佛 nan wu a mi tuo fo 42
给予 ji yu 11349
给予 gei yu 11349
槟榔 bing lang 633
槟榔 bin lang 633
张柏芝 zhang bo zhi 748
张柏芝 zhang bai zhi 748
藤蔓 teng wan 320
藤蔓 teng man 320
弄堂 long tang 126
弄堂 nong tang 126
心宽体胖 xin kuan ti pan 39
心宽体胖 xin kuan ti pang 39
埋怨 man yuan 1138
埋怨 mai yuan 1138
虚与委蛇 xu yu wei yi 93
虚与委蛇 xu yu wei she 93
木讷 mu ne 471
木讷 mu na 471
独乐乐 du yue le 13
独乐乐 du le le 13
众乐乐 zhong yue le 20
众乐乐 zhong le le 20
荨麻 qian ma 71
荨麻 xun ma 71
荨麻疹 xun ma zhen 198
荨麻疹 qian ma zhen 198
模具 mu ju 1935
模具 mo ju 1935
草薙 cao ti 88
草薙 cao zhi 88
草薙京 cao ti jing 144
草薙京 cao zhi jing 144
草薙剑 cao ti jian 17
草薙剑 cao zhi jian 17
贾平凹 jia ping wa 247
贾平凹 jia ping ao 247
雪佛兰 xue fu lan 365
雪佛兰 xue fo lan 365
强劲 qiang jing 1505
强劲 qiang jin 1505
胴体 dong ti 80
胴体 tong ti 80
力能扛鼎 li neng gang ding 26
力能扛鼎 li neng kang ding 26
鸭绿江 ya lu jiang 152
鸭绿江 ya lv jiang 152
大腹便便 da fu pian pian 147
大腹便便 da fu bian bian 147
卡脖子 qia bo zi 308
卡脖子 ka bo zi 308
吱声 zi sheng 217
吱声 zhi sheng 217
掺和 chan huo 438
掺和 chan he 438
掺和 can huo 438
掺和 can he 438
称职 chen zhi 90
称职 cheng zhi 90
螺蛳粉 luo si fen 645
螺蛳粉 luo shi fen 645
调换 diao huan 616
调换 tiao huan 616
太行山 tai hang shan 390
太行山 tai xing shan 390
歇斯底里 xie si di li 883
歇斯底里 jie si di li 883
暖和 nuan huo 743
暖和 nuan he 743
模棱两可 mo leng liang ke 848
模棱两可 mo ling liang ke 848
鄱阳湖 po yang hu 1336
鄱阳湖 pan yang hu 1336
脖颈 bo geng 483
脖颈 bo jing 483
脖颈儿 bo geng er 1
脖颈儿 bo jing er 1
结扎 jie za 126
结扎 jie zha 126
海参崴 hai shen wai 304
海参崴 hai shen wei 304
厚朴 hou po 52
厚朴 hou pu 52
大宛马 da yuan ma 9
大宛马 da wan ma 9
龇牙 zi ya 62
龇牙 ci ya 62
龇着牙 zi zhe ya 14
龇着牙 ci zhe ya 14
龇牙咧嘴 zi ya lie zui 166
龇牙咧嘴 ci ya lie zui 166
头皮屑 tou pi xie 525
头皮屑 tou pi xue 525
六安 lu an 110
六安 liu an 110
六安县 lu an xian 3
六安县 liu an xian 3
六安市 lu an shi 23
六安市 liu an shi 23
六合区 lu he qu 3
六合区 liu he qu 3
安徽六安 an hui lu an 16
安徽六安 an hui liu an 16
安徽六安市 an hui lu an shi 3
安徽六安市 an hui liu an shi 3
安徽省六安市 an hui sheng lu an shi 8
安徽省六安市 an hui sheng liu an shi 8
南京六合 nan jing lu he 5
南京六合 nan jing liu he 5
南京六合区 nan jing lu he qu 1
南京六合区 nan jing liu he qu 1
南京市六合区 nan jing shi lu he qu 2
南京市六合区 nan jing shi liu he qu 2
偌大 ruo da 680
偌大 nuo da 680
饮鸩止渴 yin zhen zhi ke 336
饮鸩止渴 yin jiu zhi ke 336
饮鸩解渴 yin zhen jie ke 0
饮鸩解渴 yin jiu jie ke 0
### 错字
曾经 ceng jing 39759
曾今 ceng jin 105
按捺 an na 127
按耐 an nai 8
按捺不住 an na bu zhu 345
按耐不住 an nai bu zhu 0
别价 bie jie 1
别介 bie jie 31
甭价 beng jie 0
甭介 beng jie 0
血脉贲张 xue mai ben zhang 49
血脉偾张 xue mai fen zhang 0
血脉喷张 xue mai pen zhang 0
契诃夫 qi he fu 437
契科夫 qi ke fu 0
凑合 cou he 1809
凑活 cou huo 246
巨惠 ju hui 0
钜惠 ju hui 0
摩羯座 mo jie zuo 107
魔蝎座 mo xie zuo 0
##### 叠字
# 数据来源: https://zh.wikipedia.org/zh-cn/%E4%BA%8C%E5%8F%A0%E5%AD%97 https://zh.wikipedia.org/wiki/%E4%B8%89%E5%8F%A0%E5%AD%97 https://zh.wikipedia.org/wiki/%E5%9B%9B%E5%8F%A0%E5%AD%97
# 二叠字
两个火 liang ge huo 0
两个土 liang ge tu 0
两个一 liang ge yi 0
两个二 liang ge er 0
两个山 liang ge shan 0
两个口 liang ge kou 0
两个田 liang ge tian 0
两个九 liang ge jiu 0
两个人 liang ge ren 18484
两个飞 liang ge fei 0
两个戈 liang ge ge 0
两个厶 liang ge si 0
两个厶 liang ge mou 0
两个又 liang ge you 0
两个香 liang ge xiang 0
两个面 liang ge mian 0
两个兀 liang ge wu 0
两个女 liang ge nv 0
两个𡥦 liang ge ni 0
两个臣 liang ge chen 0
两个巾 liang ge jin 0
两个左 liang ge zuo 0
两个母 liang ge mu 0
两个来 liang ge lai 0
两个凡 liang ge fan 0
两个夕 liang ge xi 0
两个彐 liang ge ji 0
两个𢎘 liang ge han 0
两个魚 liang ge yu 0
两个明 liang ge ming 0
两个朿 liang ge ci 0
两个乂 liang ge yi 0
两个曰 liang ge yue 0
两个尸 liang ge shi 0
两个户 liang ge hu 0
两个大 liang ge da 541
两个八 liang ge ba 12
两个而 liang ge er 0
两个羊 liang ge yang 0
两个吉 liang ge ji 0
两个马 liang ge ma 0
两个卅 liang ge sa 0
两个巛 liang ge chuan 0
两个止 liang ge zhi 0
两个比 liang ge bi 0
两个言 liang ge yan 0
两个申 liang ge shen 0
两个牛 liang ge niu 0
两个余 liang ge yu 0
两个束 liang ge shu 0
两个罒 liang ge mu 0
两个㐅 liang ge wu 0
两个金 liang ge jin 0
两个木 liang ge mu 0
两个水 liang ge shui 0
两个風 liang ge feng 0
两个石 liang ge shi 0
两个日 liang ge ri 0
两个月 liang ge yue 7342
两个目 liang ge mu 0
两个白 liang ge bai 0
两个百 liang ge bai 0
两个耳 liang ge er 0
两个屮 liang ge che 0
两个屮 liang ge cao 0
两个廿 liang ge nian 0
两个卄 liang ge nian 0
两个虫 liang ge chong 0
两个虎 liang ge hu 0
两个龍 liang ge long 0
两个馬 liang ge ma 0
两个犬 liang ge quan 0
两个入 liang ge ru 0
两个习 liang ge xi 0
两个卪 liang ge jie 0
两个㔾 liang ge jie 0
两个几 liang ge ji 0
两个乙 liang ge yi 0
两个夫 liang ge fu 0
两个禾 liang ge he 0
两个干 liang ge gan 0
两个井 liang ge jing 0
两个斤 liang ge jin 0
两个片 liang ge pian 0
两个牙 liang ge ya 0
两个炎 liang ge yan 0
两个弓 liang ge gong 0
两个永 liang ge yong 0
两个亦 liang ge yi 0
两个手 liang ge shou 0
两个毛 liang ge mao 0
两个王 liang ge wang 0
两个男 liang ge nan 0
两个支 liang ge zhi 0
两个隻 liang ge zhi 0
两个古 liang ge gu 0
两个舌 liang ge she 0
两个启 liang ge qi 0
两个來 liang ge lai 0
两个桼 liang ge qi 0
两个旡 liang ge ji 0
两个歹 liang ge dai 0
两个匕 liang ge bi 0
两个幺 liang ge yao 0
两个玄 liang ge xuan 0
两个心 liang ge xin 0
两个力 liang ge li 0
两个欠 liang ge qian 0
两个子 liang ge zi 0
两个予 liang ge yu 0
两个享 liang ge xiang 0
两个立 liang ge li 0
两个音 liang ge yin 0
两个竟 liang ge jing 0
两个竞 liang ge jing 0
两个兄 liang ge xiong 0
两个見 liang ge jian 0
两个貝 liang ge bei 0
两个辛 liang ge xin 0
两个瓜 liang ge gua 0
两个呆 liang ge dai 0
两个果 liang ge guo 0
两个鸟 liang ge niao 0
两个巢 liang ge chao 0
两个禺 liang ge yu 0
两个巿 liang ge fu 0
两个句 liang ge ju 0
两个奇 liang ge qi 0
两个真 liang ge zhen 0
两个尹 liang ge yin 0
两个昔 liang ge xi 0
两个易 liang ge yi 0
两个先 liang ge xian 0
两个老 liang ge lao 0
两个示 liang ge shi 0
两个至 liang ge zhi 0
两个生 liang ge sheng 0
两个車 liang ge che 0
两个車 liang ge ju 0
两个足 liang ge zu 0
两个區 liang ge qu 0
两个隹 liang ge zhui 0
两个牟 liang ge mou 0
两个豕 liang ge shi 0
两个𠂢 liang ge pai 0
两个畐 liang ge fu 0
两个㣇 liang ge yi 0
两个邑 liang ge yi 0
两个堯 liang ge yao 0
两个秉 liang ge bing 0
两个倉 liang ge cang 0
两个東 liang ge dong 0
两个善 liang ge shan 0
两个僉 liang ge qian 0
两个齒 liang ge chi 0
两个喜 liang ge xi 0
两个走 liang ge zou 0
两个昌 liang ge chang 0
两个串 liang ge chuan 0
两个米 liang ge mi 0
两个隶 liang ge li 0
两个不 liang ge bu 0
两个龙 liang ge long 0
两个乞 liang ge qi 0
两个夋 liang ge qun 0
两个天 liang ge tian 0
# 三叠字
三个生 san ge sheng 0
三个秦 san ge qin 0
三个若 san ge ruo 0
三个雲 san ge yun 0
三个人 san ge ren 4260
三个刀 san ge dao 0
三个十 san ge shi 1
三个力 san ge li 0
三个原 san ge yuan 0
三个厶 san ge si 0
三个厶 san ge mou 0
三个又 san ge you 0
三个口 san ge kou 5
三个七 san ge qi 0
三个吉 san ge ji 0
三个土 san ge tu 0
三个士 san ge shi 0
三个女 san ge nv 0
三个子 san ge zi 0
三个小 san ge xiao 0
三个心 san ge xin 0
三个手 san ge shou 0
三个日 san ge ri 0
三个木 san ge mu 0
三个止 san ge zhi 0
三个毛 san ge mao 0
三个水 san ge shui 0
三个泉 san ge quan 0
三个火 san ge huo 0
三个牛 san ge niu 0
三个犬 san ge quan 0
三个田 san ge tian 0
三个白 san ge bai 0
三个目 san ge mu 0
三个直 san ge zhi 0
三个石 san ge shi 0
三个羊 san ge yang 0
三个耳 san ge er 0
三个舌 san ge she 0
三个屮 san ge che 0
三个屮 san ge cao 0
三个虫 san ge chong 0
三个言 san ge yan 0
三个贝 san ge bei 0
三个車 san ge che 0
三个金 san ge jin 0
三个隹 san ge zhui 0
三个雷 san ge lei 0
三个風 san ge feng 0
三个飛 san ge fei 0
三个香 san ge xiang 0
三个马 san ge ma 0
三个魚 san ge yu 0
三个鹿 san ge lu 0
三个龍 san ge long 0
三个个 san ge ge 0
三个丶 san ge zhu 0
三个丶 san ge dian 0
三个了 san ge le 0
三个介 san ge jie 0
三个企 san ge qi 0
三个舍 san ge she 0
三个圥 san ge lu 0
三个光 san ge guang 0
三个兔 san ge tu 0
三个全 san ge quan 0
三个𠙽 san ge kuai 0
三个𠧪 san ge tiao 0
三个𠧪 san ge you 0
三个㔾 san ge jie 0
三个厡 san ge yuan 0
三个可 san ge ke 0
三个因 san ge yin 0
三个夏 san ge xia 0
三个大 san ge da 0
三个天 san ge tian 0
三个太 san ge tai 0
三个𦉼 san ge ku 0
三个宝 san ge bao 0
三个宜 san ge yi 0
三个客 san ge ke 0
三个寒 san ge han 0
三个少 san ge shao 0
三个山 san ge shan 0
三个市 san ge shi 3
三个文 san ge wen 0
三个斗 san ge dou 0
三个朿 san ge ci 0
三个束 san ge shu 0
三个林 san ge lin 0
三个果 san ge guo 0
三个欠 san ge qian 0
三个𣥚 san ge zou 0
三个爪 san ge zhao 0
三个妥 san ge tuo 0
三个用 san ge yong 0
三个甲 san ge jia 0
三个百 san ge bai 0
三个盖 san ge gai 0
三个県 san ge xian 0
三个空 san ge kong 0
三个亇 san ge ge 0
三个竹 san ge zhu 0
三个罒 san ge mu 0
三个羗 san ge qiang 0
三个老 san ge lao 0
三个月 san ge yue 9003
三个至 san ge zhi 0
三个興 san ge xing 0
三个足 san ge zu 0
三个㖖 san ge nie 0
三个門 san ge men 0
三个面 san ge mian 0
三个頁 san ge ye 0
三个鳥 san ge niao 0
三个男 san ge nan 0
三个立 san ge li 0
三个九 san ge jiu 3
三个也 san ge ye 0
三个加 san ge jia 0
三个動 san ge dong 0
三个千 san ge qian 0
三个方 san ge fang 0
三个朔 san ge shuo 0
三个玉 san ge yu 0
三个申 san ge shen 0
三个𡿨 san ge quan 0
三个去 san ge qu 0
三个弓 san ge gong 0
三个䖝 san ge chong 0
三个丿 san ge pie 0
三个户 san ge hu 0
三个瓜 san ge gua 0
三个鸟 san ge niao 0
三个米 san ge mi 0
# 四叠字
四个乂 si ge yi 0
四个人 si ge ren 2268
四个厶 si ge si 0
四个厶 si ge mou 0
四个又 si ge you 0
四个匕 si ge bi 0
四个工 si ge gong 0
四个口 si ge kou 0
四个天 si ge tian 0
四个小 si ge xiao 0
四个屮 si ge che 0
四个屮 si ge cao 0
四个火 si ge huo 0
四个牛 si ge niu 0
四个魚 si ge yu 0
四个月 si ge yue 1860
四个日 si ge ri 0
四个林 si ge lin 0
四个水 si ge shui 0
四个石 si ge shi 0
四个田 si ge tian 0
四个甲 si ge jia 0
四个且 si ge qie 0
四个囚 si ge qiu 0
四个困 si ge kun 0
四个竹 si ge zhu 0
四个老 si ge lao 0
四个朿 si ge ci 0
四个先 si ge xian 0
四个金 si ge jin 0
四个泉 si ge quan 0
四个言 si ge yan 0
四个門 si ge men 0
四个果 si ge guo 0
四个春 si ge chun 0
四个車 si ge che 0
四个風 si ge feng 0
四个雷 si ge lei 0
四个雲 si ge yun 0
四个興 si ge xing 0
四个龍 si ge long 0
四个土 si ge tu 0

894605
cn_dicts/tencent.dict.yaml Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,586 @@
# Rime dictionary
# encoding: utf-8
# 动物
#
---
name: animal
version: "1.0"
sort: by_weight
use_preset_vocabulary: true
...
阿拉斯加雪撬犬 a la si jia xue qiao quan 0
阿拉斯加雪橇犬 a la si jia xue qiao quan 2
爱尔兰长毛水狗 ai er lan chang mao shui gou 0
爱尔兰㹴 ai er lan geng 0
爱尔兰猎狼犬 ai er lan lie lang quan 0
爱尔兰软毛㹴 ai er lan ruan mao geng 0
爱尔兰水猎犬 ai er lan shui lie quan 0
爱斯基摩犬 ai si ji mo quan 2
澳大利亚㹴 ao da li ya geng 0
澳洲㹴 ao zhou geng 0
澳洲牧牛犬 ao zhou mu niu quan 0
澳洲丝毛㹴 ao zhou si mao geng 0
巴比伦犬 ba bi lun quan 0
八哥犬 ba ge quan 1
巴哥犬 ba ge quan 2
巴吉度猎犬 ba ji du lie quan 1
巴吉度犬 ba ji du quan 1
巴赛特猎犬 ba sai te lie quan 0
巴斯克猎犬 ba si ke lie quan 0
巴西特犬 ba xi te quan 0
巴仙吉犬 ba xian ji quan 0
巴迅犬 ba xun quan 0
斑点狗 ban dian gou 21
斑点犬 ban dian quan 0
伴侣犬 ban lv quan 0
半毛犬 ban mao quan 0
北京犬 bei jing quan 0
贝林登㹴 bei lin deng geng 0
贝灵顿㹴 bei ling dun geng 0
贝生吉犬 bei sheng ji quan 0
毕高犬 bi gao quan 0
比格猎犬 bi ge lie quan 1
比格犬 bi ge quan 13
毕格犬 bi ge quan 0
比利时牧羊犬 bi li shi mu yang quan 0
边境㹴 bian jing geng 0
标准曼彻斯特㹴 biao zhun man che si te geng 0
伯德㹴 bo de geng 0
伯恩山犬 bo en shan quan 0
博美狗 bo mei gou 0
波美拉尼亚犬 bo mei la ni ya quan 0
博美犬 bo mei quan 8
波士顿㹴 bo shi dun geng 0
波士顿狗 bo shi dun gou 0
波音达猎犬 bo yin da lie quan 0
查理士王猎犬 cha li shi wang lie quan 0
查理士王犬 cha li shi wang quan 0
查理士王小猎犬 cha li shi wang xiao lie quan 2
柴犬 chai quan 103
长毛猎犬 chang mao lie quan 0
长毛牧羊犬 chang mao mu yang quan 0
长须牧羊犬 chang xu mu yang quan 0
粗毛牧羊犬 cu mao mu yang quan 0
大白熊犬 da bai xiong quan 0
大丹犬 da dan quan 5
大麦町 da mai ding 1
大麦町犬 da mai ding quan 0
德国笃宾犬 de guo du bin quan 0
德国牧羊犬 de guo mu yang quan 10
蝶耳犬 die er quan 0
斗鸡獚 dou ji huang 0
斗鸡犬 dou ji quan 0
斗牛㹴 dou niu geng 0
斗牛犬 dou niu quan 39
杜宾狗 du bin gou 0
短脚长身㹴 duan jiao chang shen geng 0
短脚狄文㹴 duan jiao di wen geng 0
短毛猎狐㹴 duan mao lie hu geng 0
俄罗斯猎犬 e luo si lie quan 0
法国斗牛犬 fa guo dou niu quan 0
法兰德斯牧牛犬 fa lan de si mu niu quan 0
法老王猎犬 fa lao wang lie quan 0
刚果犬 gang guo quan 0
刚毛猎狐㹴 gang mao lie hu geng 0
高地牧羊犬 gao di mu yang quan 0
格陵兰犬 ge ling lan quan 0
㹴类犬 geng lei quan 0
工作犬 gong zuo quan 13
古典英国牧羊犬 gu dian ying guo mu yang quan 0
古英国牧羊犬 gu ying guo mu yang quan 0
冠毛犬 guan mao quan 1
贵宾犬 gui bin quan 8
贵妇犬 gui fu quan 2
哈巴狗 ha ba gou 49
哈巴犬 ha ba quan 0
哈士奇 ha shi qi 289
荷兰毛狮犬 he lan mao shi quan 0
蝴蝶犬 hu die quan 1
狐狸犬 hu li quan 0
湖畔㹴 hu pan geng 0
黄金猎犬 huang jin lie quan 1
黄寻猎犬 huang xun lie quan 0
惠比犬特 hui bi quan te 0
惠比特 hui bi te 1
惠比特犬 hui bi te quan 0
基斯犬 ji si quan 0
吉娃娃 ji wa wa 82
吉娃娃犬 ji wa wa quan 1
杰克拉西尔㹴 jie ke la xi er geng 0
金毛猎犬 jin mao lie quan 2
金毛寻回犬 jin mao xun hui quan 0
金色猎犬 jin se lie quan 0
金丝犬 jin si quan 0
卷毛比雄犬 juan mao bi xiong quan 0
卷毛寻回犬 juan mao xun hui quan 0
凯恩㹴 kai en geng 0
凯莉蓝㹴 kai li lan geng 0
凯利兰㹴 kai li lan geng 0
柯卡 ke ka 0
可卡长毛猎犬 ke ka chang mao lie quan 0
可卡獚 ke ka huang 0
可卡猎鹬犬 ke ka lie yu quan 0
可卡犬 ke ka quan 2
柯利犬 ke li quan 0
克伦伯长猎犬 ke lun bo chang lie quan 0
昆明犬 kun ming quan 3
拉不拉多 la bu la duo 2
拉布拉多猎犬 la bu la duo lie quan 1
腊肠狗 la chang gou 5
腊肠犬 la chang quan 5
拉萨狗 la sa gou 0
拉萨犬 la sa quan 0
莱卡 lai ka 375
狼犬 lang quan 19
老式英国牧羊犬 lao shi ying guo mu yang quan 0
猎狐犬 lie hu quan 4
猎麋 lie mi 0
猎枪犬 lie qiang quan 0
猎犬 lie quan 218
猎雉犬 lie zhi quan 0
灵缇 ling ti 7
路路 lu lu 55
洛德瓦拉笃宾犬 luo de wa la du bin quan 0
罗得西亚背脊犬 luo de xi ya bei ji quan 0
罗红犬 luo hong quan 0
罗江犬 luo jiang quan 0
罗威纳 luo wei na 9
罗威那犬 luo wei na quan 0
罗威纳犬 luo wei na quan 0
罗威士㹴 luo wei shi geng 0
马车犬 ma che quan 0
马尔济斯 ma er ji si 3
玛尔济斯 ma er ji si 0
马耳济斯犬 ma er ji si quan 0
马耳他犬 ma er ta quan 0
马士提夫獒犬 ma shi ti fu ao quan 0
马士提夫犬 ma shi ti fu quan 0
曼彻斯特㹴 man che si te geng 0
美国可卡犬 mei guo ke ka quan 0
美国史塔副郡㹴 mei guo shi ta fu jun geng 0
米格鲁 mi ge lu 4
米格鲁犬 mi ge lu quan 0
迷你宾沙犬 mi ni bin sha quan 0
迷你笃宾犬 mi ni du bin quan 0
迷你牛头㹴 mi ni niu tou geng 0
迷你史劳策犬 mi ni shi lao ce quan 0
迷你史纳莎 mi ni shi na sha 0
迷你雪那瑞 mi ni xue na rui 0
迷你雪娜瑞犬 mi ni xue na rui quan 0
米尼雪纳瑞犬 mi ni xue na rui quan 0
莫罗苏斯犬 mo luo su si quan 0
莫洛索司犬 mo luo suo si quan 0
魔天仙 mo tian xian 0
牧场长毛猎犬 mu chang chang mao lie quan 0
牡丹犬 mu dan quan 0
牧羊犬 mu yang quan 93
南非獒犬 nan fei ao quan 0
纽芬兰犬 niu fen lan quan 1
牛头㹴 niu tou geng 0
诺福㹴 nuo fu geng 0
诺里奇㹴 nuo li qi geng 0
挪威糜提 nuo wei mi ti 0
挪威糜缇 nuo wei mi ti 0
帕森拉希尔㹴 pa sen la xi er geng 0
彭布罗克歌基犬 peng bu luo ke ge ji quan 0
骑士查理王猎犬 qi shi cha li wang lie quan 0
枪猎犬 qiang lie quan 0
秦得圣赫伯特犬 qin de sheng he bo te quan 0
秋田犬 qiu tian quan 80
拳师犬 quan shi quan 2
确架獚 que jia huang 1
日本狐狸犬 ri ben hu li quan 0
日本獚 ri ben huang 0
日本秋田犬 ri ben qiu tian quan 8
日本狮子犬 ri ben shi zi quan 0
日本跳跳犬 ri ben tiao tiao quan 0
日本仲 ri ben zhong 0
日本狆 ri ben zhong 0
萨摩犬 sa mo quan 0
萨西克斯长毛猎犬 sa xi ke si chang mao lie quan 0
塞蒙地犬 sai meng di quan 0
三斑犬 san ban quan 0
沙克犬 sha ke quan 0
沙皮 sha pi 8
沙皮狗 sha pi gou 21
沙皮犬 sha pi quan 1
圣伯纳 sheng bo na 15
圣伯纳犬 sheng bo na quan 1
狮毛犬 shi mao quan 0
史柔查㹴 shi rou cha geng 0
史塔副郡牛头㹴 shi ta fu jun niu tou geng 0
实用犬 shi yong quan 0
狮子狗 shi zi gou 55
狩猎犬 shou lie quan 2
四国犬 si guo quan 0
斯开岛㹴 si kai dao geng 0
丝毛㹴 si mao geng 0
松狮 song shi 21
松狮犬 song shi quan 0
松鼠犬 song shu quan 0
苏俄牧羊犬 su e mu yang quan 0
苏俄追踪犬 su e zhui zong quan 0
苏格兰粗毛牧羊犬 su ge lan cu mao mu yang quan 0
苏格兰㹴 su ge lan geng 0
苏格兰牧羊犬 su ge lan mu yang quan 2
特兰犬 te lan quan 0
土佐犬 tu zuo quan 1
万能㹴 wan neng geng 0
玩赏犬 wan shang quan 0
威尔士㹴 wei er shi geng 0
威尔斯激飞可卡长毛猎犬 wei er si ji fei ke ka chang mao lie quan 0
威尔斯柯基犬 wei er si ke ji quan 0
威尔斯牧畜犬 wei er si mu xu quan 0
威玛猎犬 wei ma lie quan 0
威斯拉犬 wei si la quan 0
沃尔皮诺 wo er pi nuo 0
西伯利亚雪撬犬 xi bo li ya xue qiao quan 1
西伯利亚雪橇犬 xi bo li ya xue qiao quan 0
西部高地白㹴 xi bu gao di bai geng 0
西高地白㹴 xi gao di bai geng 0
西高地铁利亚 xi gao di tie li ya 0
喜乐蒂牧羊犬 xi le di mu yang quan 0
喜乐蒂犬 xi le di quan 0
西里汉㹴 xi li han geng 0
西摩犬 xi mo quan 0
西帕凯犬 xi pa kai quan 0
西施 xi shi 581
西施犬 xi shi quan 0
西藏㹴 xi zang geng 0
小丹犬 xiao dan quan 0
小猎犬 xiao lie quan 38
小鹿犬 xiao lu quan 0
小史揉查犬 xiao shi rou cha quan 0
小型施诺泽犬 xiao xing shi nuo ze quan 0
小型苏格兰犬 xiao xing su ge lan quan 0
小型玩赏犬 xiao xing wan shang quan 0
小雪娜瑞犬 xiao xue na rui quan 0
熊狮犬 xiong shi quan 0
雪达犬 xue da quan 0
雪达犬种 xue da quan zhong 0
雪梨犬 xue li quan 0
血猎犬 xue lie quan 1
寻血猎犬 xun xue lie quan 3
英国斗鸡犬 ying guo dou ji quan 1
英国斗牛犬 ying guo dou niu quan 4
英国激飞可卡长毛猎犬 ying guo ji fei ke ka chang mao lie quan 0
英国可卡长毛猎犬 ying guo ke ka chang mao lie quan 1
英国可卡猎鹬犬 ying guo ke ka lie yu quan 1
英国可卡犬 ying guo ke ka quan 2
英国小型猎免犬 ying guo xiao xing lie mian quan 0
约克夏 yue ke xia 13
约克夏㹴 yue ke xia geng 0
约瑟犬 yue se quan 0
约瑟猩 yue se xing 0
指标犬 zhi biao quan 0
中国冠毛犬 zhong guo guan mao quan 1
中国冠毛犬犬 zhong guo guan mao quan quan 0
中国食犬 zhong guo shi quan 0
中国狮子犬 zhong guo shi zi quan 0
中国无毛犬 zhong guo wu mao quan 0
无毛犬 wu mao quan 0
仓鼠 cang shu 679
鹿鹿 lu lu 20
猛虎 meng hu 527
狮狮 shi shi 2
兔兔 tu tu 425
白红眼 bai hong yan 0
白化 bai hua 226
白化蛋白石基因 bai hua dan bai shi ji yin 0
彩虹 cai hong 2276
彩狸 cai li 1
蛋白石 dan bai shi 7
蛋白石基因 dan bai shi ji yin 0
蛋白石肉桂基因 dan bai shi rou gui ji yin 0
淡雅彩虹 dan ya cai hong 0
非黄脸蓝系 fei huang lian lan xi 0
冠羽 guan yu 12
华乐 hua le 12
华乐蛋白石基因 hua le dan bai shi ji yin 0
华乐基因 hua le ji yin 0
黄脸 huang lian 21
黄绿灰翅 huang lv hui chi 0
灰翅 hui chi 1
灰翅蛋白石基因 hui chi dan bai shi ji yin 0
灰翅基因 hui chi ji yin 0
灰翅肉桂基因 hui chi rou gui ji yin 0
肉桂 rou gui 513
肉桂蛋白石基因 rou gui dan bai shi ji yin 0
肉桂隐派基因 rou gui yin pai ji yin 0
天空蓝灰翅 tian kong lan hui chi 0
显派 xian pai 2
隐派 yin pai 4
隐派基因 yin pai ji yin 0
鱼鳞 yu lin 234
原始蓝 yuan shi lan 0
原始绿 yuan shi lv 0
珍珠 zhen zhu 1780
边境牧羊犬 bian jing mu yang quan 0
凯利蓝梗 kai li lan geng 0
可蒙犬 ke meng quan 0
马尔济斯犬 ma er ji si quan 0
日本银狐 ri ben yin hu 0
萨摩耶犬 sa mo ye quan 0
苏格兰梗 su ge lan geng 1
西伯利亚哈士奇 xi bo li ya ha shi qi 1
雪纳瑞 xue na rui 10
英国古代牧羊犬 ying guo gu dai mu yang quan 0
藏獒 zang ao 220
暗脉菜粉蝶 an mai cai fen die 0
巴黎翠凤蝶 ba li cui feng die 0
白带凤蝶 bai dai feng die 0
白点褐蚬蝶 bai dian he xian die 0
白角星弄蝶 bai jiao xing nong die 0
白弄蝶 bai nong die 0
白室蚬蝶 bai shi xian die 0
白蚬蝶 bai xian die 0
斑凤蝶 ban feng die 0
宝镜凤蝶 bao jing feng die 0
报喜斑粉蝶 bao xi ban fen die 0
碧凤蝶 bi feng die 0
檗黄粉蝶 bo huang fen die 0
布莱荫眼蝶 bu lai yin yan die 0
长尾青凤蝶 chang wei qing feng die 0
长须蝶 chang xu die 0
橙翅方粉蝶 cheng chi fang fen die 0
橙粉蝶 cheng fen die 0
橙黄豆粉蝶 cheng huang dou fen die 0
赤顶粉蝶 chi ding fen die 0
齿缘红蛱蝶 chi yuan hong jia die 0
串珠环蝶 chuan zhu huan die 0
槌果藤粉蝶 chui guo teng fen die 0
粗纹青斑蝶 cu wen qing ban die 0
翠袖锯眼蝶 cui xiu ju yan die 0
大翅绢粉蝶 da chi juan fen die 0
大绢斑蝶 da juan ban die 0
大伞弄蝶 da san nong die 0
大透翅斑蝶 da tou chi ban die 0
大纹白粉蝶 da wen bai fen die 0
大紫蛱蝶 da zi jia die 0
淡纹青斑蝶 dan wen qing ban die 0
地珠环蝶 di zhu huan die 0
电蛱蝶 dian jia die 0
颠眼蝶 dian yan die 0
东方菜粉蝶 dong fang cai fen die 0
东亚矍眼蝶 dong ya jue yan die 0
多型凤蝶 duo xing feng die 0
峨眉大弄蝶 e mei da nong die 0
二尾蛱蝶 er wei jia die 0
飞龙粉蝶 fei long fen die 0
凤蝶 feng die 16
凤尾青凤蝶 feng wei qing feng die 0
凤眼方环蝶 feng yan fang huan die 0
柑橘凤蝶 gan ju feng die 0
果神粉蝶 guo shen fen die 0
鹤顶粉蝶 he ding fen die 0
合欢黄粉蝶 he huan huang fen die 0
黑斑伞弄蝶 hei ban san nong die 0
黑豹弄蝶 hei bao nong die 0
黑点菜粉蝶 hei dian cai fen die 0
黑点小粉蝶 hei dian xiao fen die 0
黑凤蝶 hei feng die 1
黑绢斑蝶 hei juan ban die 0
黑流蛱蝶 hei liu jia die 0
黑脉桦斑蝶 hei mai hua ban die 0
黑脉园粉蝶 hei mai yuan fen die 0
黑燕尾蚬蝶 hei yan wei xian die 0
横纹环蝶 heng wen huan die 0
红灰蝶 hong hui die 0
红襟粉蝶 hong jin fen die 0
红锯蛱蝶 hong ju jia die 0
红裙凤蝶 hong qun feng die 0
红纹凤蝶 hong wen feng die 0
红缘凤蝶 hong yuan feng die 0
红缘灰蝶 hong yuan hui die 0
红珠凤蝶 hong zhu feng die 0
虎斑蝶 hu ban die 3
虎纹斑蝶 hu wen ban die 0
虎纹剑尾凤蝶 hu wen jian wei feng die 0
虎纹针凤蝶 hu wen zhen feng die 0
桦斑蝶 hua ban die 0
花椒凤蝶 hua jiao feng die 0
幻紫斑蝶 huan zi ban die 0
黄带褐蚬蝶 huang dai he xian die 0
黄凤蝶 huang feng die 0
黄扇蝶 huang shan die 0
黄裳凤蝶 huang shang feng die 0
黄帅蛱蝶 huang shuai jia die 0
灰翅串珠环蝶 hui chi chuan zhu huan die 0
尖翅弄蝶 jian chi nong die 0
尖翅银灰蝶 jian chi yin hui die 0
箭环蝶 jian huan die 0
姜黄弄蝶 jiang huang nong die 0
金斑蝶 jin ban die 0
金凤蝶 jin feng die 0
金扇凤蝶 jin shan feng die 0
金裳凤蝶 jin shang feng die 0
锯粉蝶 ju fen die 0
绢斑蝶 juan ban die 0
枯叶蝶 ku ye die 1
枯叶蛱蝶 ku ye jia die 0
宽边黄粉蝶 kuan bian huang fen die 0
宽带黛眼蝶 kuan dai dai yan die 0
宽带凤蝶 kuan dai feng die 0
宽带青凤蝶 kuan dai qing feng die 0
宽尾凤蝶 kuan wei feng die 0
莱灰蝶 lai hui die 0
蓝点紫斑蝶 lan dian zi ban die 0
蓝凤蝶 lan feng die 0
楞凤蝶 leng feng die 0
梨花粉蝶 li hua fen die 0
梨花迁粉蝶 li hua qian fen die 0
连纹黛眼蝶 lian wen dai yan die 0
裂斑金灰蝶 lie ban jin hui die 0
琉璃波纹小灰蝶 liu li bo wen xiao hui die 0
琉璃纹凤蝶 liu li wen feng die 0
绿斑凤蝶 lv ban feng die 0
绿凤蝶 lv feng die 0
绿灰蝶 lv hui die 0
美凤蝶 mei feng die 0
迷蛱蝶 mi jia die 1
密纱眉眼蝶 mi sha mei yan die 0
密纹飒弄蝶 mi wen sa nong die 0
木兰青凤蝶 mu lan qing feng die 0
拟斑凤蝶 ni ban feng die 0
拟幻紫斑蝶 ni huan zi ban die 0
拟旖斑蝶 ni yi ban die 0
浓紫彩灰蝶 nong zi cai hui die 0
朴喙蝶 pu hui die 0
迁粉蝶 qian fen die 0
牵牛灰蝶 qian niu hui die 0
青斑蝶 qing ban die 0
青城箭环蝶 qing cheng jian huan die 0
青凤蝶 qing feng die 0
蜻蜓蝶 qing ting die 0
曲纹袖弄蝶 qu wen xiu nong die 0
啬青斑蝶 se qing ban die 0
僧袈眉眼蝶 seng jia mei yan die 0
裳凤蝶 shang feng die 0
蛇目褐蚬蝶 she mu he xian die 0
榺凤蝶 sheng feng die 0
鼠李粉蝶 shu li fen die 0
双色带蛱蝶 shuang se dai jia die 0
双尾蛱蝶 shuang wei jia die 0
双星箭环蝶 shuang xing jian huan die 0
双眼蚬蝶 shuang yan xian die 0
丝链荫眼蝶 si lian yin yan die 0
碎斑凤蝶 sui ban feng die 0
碎斑青凤蝶 sui ban qing feng die 0
藤粉蝶 teng fen die 0
藤果蚬蝶 teng guo xian die 0
天狗蝶 tian gou die 0
铁刀木粉蝶 tie dao mu fen die 0
铁木莱异灰蝶 tie mu lai yi hui die 0
铁锈灰蝶 tie xiu hui die 0
统帅青凤蝶 tong shuai qing feng die 0
透翅斑蝶 tou chi ban die 0
桅子灰蝶 wei zi hui die 0
纹环蝶 wen huan die 0
无尾灰蝶 wu wei hui die 0
乌鸦凤蝶 wu ya feng die 0
无趾弄蝶 wu zhi nong die 0
细纹青斑蝶 xi wen qing ban die 0
西藏翠蛱蝶 xi zang cui jia die 0
纤粉蝶 xian fen die 0
小青凤蝶 xiao qing feng die 0
小透翅斑蝶 xiao tou chi ban die 0
斜带缺尾蚬蝶 xie dai que wei xian die 0
猩灰蝶 xing hui die 0
蚜灰蝶 ya hui die 0
雅灰蝶 ya hui die 0
燕凤蝶 yan feng die 0
烟环蝶 yan huan die 0
瑶凤蝶 yao feng die 0
椰眼蝶 ye yan die 0
异型紫斑蝶 yi xing zi ban die 0
银白蛱蝶 yin bai jia die 0
银线灰蝶 yin xian hui die 0
玉斑凤蝶 yu ban feng die 0
玉带蝶 yu dai die 0
玉带凤蝶 yu dai feng die 0
鱼纹环蝶 yu wen huan die 0
圆翅钩粉蝶 yuan chi gou fen die 0
圆弧蛱蝶 yuan hu jia die 0
月纹矩环蝶 yue wen ju huan die 0
窄斑翠凤蝶 zhai ban cui feng die 0
樟青凤蝶 zhang qing feng die 0
赭灰蝶 zhe hui die 0
甄蝶 zhen die 0
苎麻斑蛱蝶 zhu ma ban jia die 0
苎麻珍蝶 zhu ma zhen die 0
竹蚜小灰蝶 zhu ya xiao hui die 0
紫端斑蝶 zi duan ban die 0
紫线黛眼蝶 zi xian dai yan die 0
棕脉粉蝶 zong mai fen die 0
阿拉斯加马拉密犬 a la si jia ma la mi quan 0
阿拉斯加马拉缪特犬 a la si jia ma la miu te quan 0
大型犬 da xing quan 94
短毛阿拉斯加 duan mao a la si jia 0
短毛阿拉斯加雪橇犬 duan mao a la si jia xue qiao quan 0
短毛标准阿拉斯加 duan mao biao zhun a la si jia 0
短毛正常毛质阿拉斯加 duan mao zheng chang mao zhi a la si jia 0
福犬 fu quan 0
雪橇犬 xue qiao quan 20
菜粉蝶 cai fen die 6
单环蛱蝶 dan huan jia die 0
黑弄蝶 hei nong die 0
蛱蝶 jia die 12
双环蛱蝶 shuang huan jia die 0
眼碟 yan die 0
阿比西尼亚猫 a bi xi ni ya mao 2
埃及猫 ai ji mao 1
奥西猫 ao xi mao 0
巴厘猫 ba li mao 0
伯曼猫 bo man mao 0
波斯猫 bo si mao 63
布偶猫 bu ou mao 29
田园猫 tian yuan mao 0
德文卷毛猫 de wen juan mao mao 42
电烫卷猫 dian tang juan mao 0
东方短毛猫 dong fang duan mao mao 0
东奇尼猫 dong qi ni mao 0
俄罗斯蓝猫 e luo si lan mao 2
哈瓦那棕猫 ha wa na zong mao 0
加拿大无毛猫 jia na da wu mao mao 1
无毛猫 wu mao mao 1
金吉拉 jin ji la 10
科拉特猫 ke la te mao 0
柯尼斯卷毛猫 ke ni si juan mao mao 0
褴褛猫 lan lv mao 1
狸猫 li mao 156
狸花猫 li hua mao 30
曼岛无尾猫 man dao wu wei mao 0
美国短毛猫 mei guo duan mao mao 3
美国短尾猫 mei guo duan wei mao 0
美国卷耳猫 mei guo juan er mao 0
美国硬毛猫 mei guo ying mao mao 0
孟买猫 meng mai mao 2
缅甸猫 mian dian mao 0
缅因猫 mian yin mao 22
挪威森林猫 nuo wei sen lin mao 1
日本短尾猫 ri ben duan wei mao 0
三花猫 san hua mao 13
山东狮子猫 shan dong shi zi mao 0
狮子猫 shi zi mao 3
四川简州猫 si chuan jian zhou mao 0
斯可可猫 si ke ke mao 0
苏格兰折耳猫 su ge lan zhe er mao 4
索马里猫 suo ma li mao 0
土耳其安哥拉猫 tu er qi an ge la mao 1
土耳其梵猫 tu er qi fan mao 0
西伯利亚猫 xi bo li ya mao 6
喜马拉雅猫 xi ma la ya mao 3
夏特尔猫 xia te er mao 0
暹罗猫 xian luo mao 24
新加坡猫 xin jia po mao 0
玄猫 xuan mao 2
异国短毛猫 yi guo duan mao mao 10
英国短毛猫 ying guo duan mao mao 7
云猫 yun mao 31
重点色短毛猫 zhong dian se duan mao mao 0
金渐层 jin jian ceng 1
银渐层 yin jian ceng 1
黑渐层 hei jian ceng 1
白渐层 bai jian ceng 1
虎斑猫 hu ban mao 3

View File

@@ -0,0 +1,167 @@
# Rime dictionary
# encoding: utf-8
# 象棋
#
---
name: chess
version: "2024-07-13"
sort: by_weight
...
#象棋
王天一 wang tian yi 183
捉双 zhuo shuang 19
大子 da zi 133
出动大子 chu dong da zi 5
子力 zi li 383
棋理 qi li 99
串打 chuan da 5
炮碾丹砂 pao nian dan sha 5
兑车 dui che 12
抽将 chou jiang 0
抽车 chou che 7
抽马 chou ma 1
抽炮 chou pao 0
将军抽车 jiang jun chou che 3
将军抽马 jiang jun chou ma 0
将军抽炮 jiang jun chou pao 0
白脸将 bai lian jiang 11
对面笑 dui mian xiao 3
千里照面 qian li zhao mian 0
双车挫 shuang che cuo 4
双車挫 shuang che cuo 0
重炮 chong pao 211
重炮杀 chong pao sha 7
夹车炮 jia che pao 8
闷宫 men gong 20
闷杀 men sha 44
铁门栓 tie men shuan 15
天地炮 tian di pao 10
空头炮 kong tou pao 8
挂角 gua jiao 57
八角马 ba jiao ma 8
侧面虎 ce mian hu 5
拔簧马 ba huang ma 5
双马饮泉 shuang ma yin quan 7
车马冷着 che ma leng zhao 3
双照将 shuang zhao jiang 1
三进兵 san jin bing 3
凤凰三点头 feng huang san dian tou 0
太监追黄帝 tai jian zhui huang di 0
送佛归殿 song fu gui dian 3
双车协士 shuang che xie shi 0
双车夺士 shuang che duo shi 0
双车夺炮 shuang che duo pao 0
将不死 jiang bu si 0
步步带将 bu bu dai jiang 0
三车闹士 san che nao shi 4
平顶冠 ping ding guan 1
臣压君 chen ya jun 3
借车使炮 jie che shi pao 1
借车使马 jie che shi ma 1
借炮使马 jie pao shi ma 1
一子多动 yi zi duo dong 6
马炮轻发 ma pao qing fa 0
车留险地 che liu xian di 0
马跳窝心 ma tiao wo xin 0
有象无飞 you xiang wu fei 1
炮镇五子 pao zhen wu zi 0
无根车炮 wu gen che pao 0
马看炮 ma kan pao 0
牛头滚 niu tou gun 2
兵五进一 bing wu jin yi 4
兵三进一 bing san jin yi 6
兵七进一 bing qi jin yi 7
帅五进一 shuai wu jin yi 10
将五进一 jiang wu jin yi 1
急进中兵 ji jin zhong bing 12
急冲中兵 ji chong zhong bing 0
冲中兵 chong zhong bing 1
冲卒 chong zu 1
三七线 san qi xian 1
宫顶线 gong ding xian 5
卒林线 zu lin xian 3
橘中秘 ju zhong mi 16
梅花谱 mei hua pu 3
朱晋桢 zhu jin zhen 0
梦入神机 meng ru shen ji 22
金鹏十八变 jin peng shi ba bian 1
适情雅趣 shi qing ya qu 16
徐芝 xu zhi 2
陈学礼 chen xue li 0
过河车 guo he che 12
巡河线 xun he xian 8
巡河车 xun he che 12
飞象 fei xiang 93
飞相 fei xiang 15
敢死车 gan si che 0
敢死炮 gan si pao 3
瞎眼狗 xia yan gou 2
雷公炮 lei gong pao 9
虎眼 hu yan 15
虎眼炮 hu yan pao 0
城墙炮 cheng qiang pao 0
顺炮 shun pao 40
列炮 lie pao 17
列手炮 lie shou pao 1
大列手炮 da lie shou pao 0
弃子攻杀 qi zi gong sha 6
弃车保帅 qi che bao shuai 34
弃帅保车 qi shuai bao che 2
直车对横车 zhi che dui heng che 0
窝心炮 wo xin pao 2
铁滑车 tie hua che 13
五六炮 wu liu pao 3
五七炮 wu qi pao 3
老兵搜山 lao bing sou shan 2
绊马脚 ban ma jiao 0
绊马腿 ban ma tui 3
别马腿 bie ma tui 4
无理手 wu li shou 5
古棋谱 gu qi pu 1
古谱 gu pu 34
#国际象棋
王车易位 wang che yi wei 80
无子可动 wu zi ke dong 20
吃过路兵 chi guo lu bing 20
兵升变 bing sheng bian 12
升变 sheng bian 80
白先黑后 bai xian hei hou 0
摸子走子 mo zi zou zi 1
行棋 xing qi 139
#五子棋
做棋 zuo qi 28
连冲四 lian chong si 1
连冲三 lian chong san 0
二十六种开局 er shi liu zhong kai ju 6
长连禁手 zhang lian jin shou 6
三三禁 san san jin 0
三三禁手 san san jin shou 9
三手交换 san shou jiao huan 35
五手两打 wu shou liang da 35
直指开局 zhi zhi kai ju 12
溪月 xi yue 17
疏星 shu xing 24
雨月 yu yue 0
松月 song yue 19
丘月 qiu yue 3
游星 you xing 75
斜指开局 xie zhi kai ju 12
斜指 xie zhi 14
长星 zhang xing 21
峡月 xia yue 7
云月 yun yue 31
浦月 pu yue 53
岚月 lan yue 10
斜月 xie yue 0
名月 ming yue 1
冲四 chong si 34
活三 huo san 68
眠三 mian san 18
跳二 tiao er 0
抓禁手 zhua jin shou 9
#围棋
中国围棋协会 zhong guo wei qi xie hui 4
愚形 yu xing 5
禁着点 jin zhao dian 3
高目 gao mu 12
提劫 ti jie 11

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,18 @@
# Rime dictionary
# encoding: utf-8
# 计算机 互联网相关
#
---
name: computer
version: "2024-07-19"
sort: by_weight
...
入参 ru can 50
出参 chu can 10
强依赖 qiang yi lai 38
弱依赖 ruo yi lai 4
发版 fa ban 111
竞业 jing ye 194
父级目录 fu ji mu lu 0
会邀 hui yao 0
主域名 zhu yu ming 26

File diff suppressed because it is too large Load Diff

144452
cn_dicts_cell/food.dict.yaml Normal file

File diff suppressed because it is too large Load Diff

150728
cn_dicts_cell/game.dict.yaml Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

48725
cn_dicts_cell/idiom.dict.yaml Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,117 @@
# Rime dictionary
# encoding: utf-8
# 输入法相关
#
---
name: inputmethod
version: "2024-07-13"
sort: by_weight
...
打词 da ci 0
朙月拼音 ming yue pin yin 2
墨奇音形 mo qi yin xing 0
伽布里克 ga bu li ke 0
墨奇音形的作者是伽布里克 mo qi yin xing de zuo zhe shi ga bu li ke 0
爱次漏的小栏还 ai ci lou de xiao lan hai 0
白霜词库 bai shuang ci ku 0
白霜拼音 bai shuang pin yin 0
白霜拼音的作者是伽布里克 bai shuang pin yin de zuo zhe shi ga bu li ke 0
雾凇词库 wu song ci ku 0
雾凇拼音 wu song pin yin 0
大竹 da zhu 39
聆竹听风 ling zhu ting feng 0
魔然 mo ran 0
雾凇鹤 wu song he 0
小鹤音形 xiao he yin xing 0
小鹤音形作者是何海峰 xiao he yin xing zuo zhe shi he hai feng 0
哲豆音形 zhe dou yin xing 0
鹤形 he xing 10
雾凇自然 wu song zi ran 0
墨奇 mo qi 0
墨奇码 mo qi ma 0
汉心码 han xin ma 0
汉心码作者晡时之光 han xin ma zuo zhe bu shi zhi guang 0
天码 tian ma 1
天码输入法的作者是宋天 tian ma shu ru fa de zuo zhe shi song tian 0
易学码 yi xue ma 0
墨奇辅助码 mo qi fu zhu ma 0
矧码 shen ma 0
空明码 kong ming ma 0
并击 bing ji 10
星空键道 xing kong jian dao 0
星猫键道 xing mao jian dao 0
天行键 tian xing jian 0
灵形速影 ling xing su ying 0
飞码 fei ma 1
字源 zi yuan 87
虎鹤 hu he 18
鹤虎 he hu 0
龙码 long ma 0
猫码 mao ma 0
声笔 sheng bi 0
声笔输入法 sheng bi shu ru fa 0
声笔输入法作者戴石麟 sheng bi shu ru fa zuo zhe dai shi lin 0
戴石麟 dai shi lin 0
声笔飞码 sheng bi fei ma 0
跟打器 gen da qi 0
极速跟打器 ji su gen da qi 0
木易跟打器 mu yi gen da qi 0
出简让全 chu jian rang quan 0
出简无全 chu jian wu quan 0
无简无全 wu jian wu quan 0
以词定字 yi ci ding zi 0
容错码 rong cuo ma 0
无理码 wu li ma 1
有理码 you li ma 0
随心码 sui xin ma 0
标顶 biao ding 0
顶功 ding gong 0
前两码 qian liang ma 2
后两码 hou liang ma 0
首形 shou xing 0
末形 mo xing 0
顶屏 ding ping 0
飞键 fei jian 0
主翻译器 zhu fan yi qi 0
五笔输入法作者是王永民 wu bi shu ru fa zuo zhe shi wang yong min 0
王旁青头戋五一 wang pang qing tou jian wu yi 0
土士二干十寸雨 tu shi er gan shi cun yu 1
一二还有革字底 yi er hai you ge zi di 0
大犬三羊古石厂 da quan san yang gu shi chang 2
木丁西 mu ding xi 1
工戈草头右框七 gong ge cao tou you kuang qi 1
王旁青头戋五一土士二干十寸雨 wang pang qing tou jian wu yi tu shi er gan shi cun yu 0
王旁青头戋五一土士二干十寸雨一二还有革字底大犬三羊古石厂木丁西工戈草头右框七 wang pang qing tou jian wu yi tu shi er gan shi cun yu yi er hai you ge zi di da quan san yang gu shi chang mu ding xi gong ge cao tou you kuang qi 0
宇浩输入法 yu hao shu ru fa 1
宇浩输入法作者是朱宇浩 yu hao shu ru fa zuo zhe shi zhu yu hao 0
光華 guang hua 1
星陳 xing chen 0
卿云 qing yun 16
识别码 shi bie ma 145
音托 yin tuo 0
回头码 hui tou ma 0
音形码 yin xing ma 2
冰雪拼音 bing xue pin yin 0
冰雪拼音作者蓝落萧 bing xue pin yin zuo zhe lan luo xiao 0
亾师 wang shi 0
蔃师 qiang shi 0
蒻师 ruo shi 0
爱师 ai shi 0
晡时之光 bu shi zhi guang 0
鲸师 jing shi 0
清凉鹤 qing liang he 0
九重魔鹤 jiu zhong mo he 0
鲸凉鹤 jing liang he 0
看打 kan da 0
跟打 gen da 45
想打 xiang da 703
自在飞扬 zi zai fei yang 0
苗师 miao shi 1
墨奇码拆 mo qi ma chai 0
墨奇码拆字规则 mo qi ma chai zi gui ze 0
仓输入法 cang shu ru fa 0
混输模式 hun shu mo shi 0
小字集 xiao zi ji 0
大字集 da zi ji 0
整句模式 zheng ju mo shi 0
字词模式 zi ci mo shi 0

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,19 @@
# Rime dictionary
# encoding: utf-8
# 自媒体
#
---
name: media
version: "1.0"
sort: by_weight
use_preset_vocabulary: false
...
完读 wan du 6
完读率 wan du lv 10
完播 wan bo 31
完播率 wan bo lv 100
大神码字 da shen ma zi 3
橙瓜 cheng gua 33
飞卢 fei lu 240
七猫 qi mao 30
橙光 cheng guang 456

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,34 @@
# Rime dictionary
# encoding: utf-8
#
# 音乐相关
---
name: music
version: "1.0"
sort: by_weight
use_preset_vocabulary: false
...
点弦 dian xian 0
琶音 pa yin 365
中央音 zhong yang yin 0
纯律 chun lv 287
协和音程 xie he yin cheng 42
不协和音程 bu xie he yin cheng 42
无调性 wu diao xing 214
平行五度 ping xing wu du 13
单调音乐 dan diao yin yue 0
复调音乐 fu tiao yin le 240
复调 fu diao 871
滑奏 hua zou 9
符头 fu tou 35
符干 fu gan 48
延音线 yan yin xian 18
连音线 lian yin xian 19
延音 yan yin 203
还原记号 huan yuan ji hao 7
歌芮拉 ge rui la 18
拿火 na huo 150
瑞声 rui sheng 37
打品 da pin 121
云宫迅音 yun gong xun yin 0

View File

@@ -0,0 +1,255 @@
# Rime dictionary
# encoding: utf-8
# 名字
# 名字 要降频
#
---
name: name
version: "2024-05-21"
sort: by_weight
...
季伯 ji bo 0
季伯长 ji bo zhang 0
季伯常 ji bo chang 0
季伯英 ji bo ying 0
季伯达 ji bo da 0
季伯初 ji bo chu 0
远坂凛 yuan ban lin 166
弓凛 gong lin 20
小林薫 xiao lin xun 0
和田薫 he tian xun 17
八千草薫 ba qian cao xun 0
栗本薫 li ben xun 0
高村薫 gao cun xun 0
明石薫 ming shi xun 0
吉田薫 ji tian xun 0
岩元薫 yan yuan xun 0
真嗣 zhen si 3366
渚薰 zhu xun 1007
庵薰 an xun 32
#Q薰 qq xun
贞薰 zhen xun 32
嗣香 si xiang 1
嗣丽 si li 1
薰嗣 xun si 5
薰丽 xun li 0
棚町薰 peng ting xun 0
莫伊莱 mo yi lai 2
龙丹妮 long dan ni 144
龚琳娜 gong lin na 257
龚翔宇 gong xiang yu 154
丁威迪 ding wei di 113
黛博拉 dai bo la 152
黄子韬 huang zi tao 277
黄雨萱 huang yu xuan 124
黄旭东 huang xu dong 224
黄有龙 huang you long 101
麦瑞克 mai rui ke 1022
麦道夫 mai dao fu 165
亥姆霍兹 hai mu huo zi 100
亨特拉尔 heng te la er 141
伊东丰雄 yi dong feng xiong 163
伊卡尔迪 yi ka er di 160
伊坂幸太郎 yi ban xing tai lang 123
伊巴卡 yi ba ka 404
伊戈达拉 yi ge da la 351
伊斯科 yi si ke 218
妃英理 fei ying li 204
姆巴佩 mu ba pei 1543
姚主席 yao zhu xi 161
姆希塔良 mu xi ta liang 196
徐涛 xu tao 3258
腿姐 tui jie 3152
武磊 wu lei 3149
艾顿 ai dun 1736
卫庄 wei zhuang 2184
夏洛 xia luo 1628
羽生 yu sheng 1550
德善 de shan 1482
成德善 cheng de shan 0
哈莉 ha li 1479
短短的 duan duan de 1444
没地去 mei di qu 0
知群 zhi qun 1435
来答 lai da 1433
唐军 tang jun 1336
迪伦 di lun 1259
白玲 bai ling 1171
郎平 lang ping 1137
米莱 mi lai 1095
韩烁 han shuo 1085
德约 de yue 1058
适马 shi ma 1036
朱婷 zhu ting 1018
秦廷 qin ting 1009
王澍 wang shu 990
盛瑾 sheng jin 985
罗夏 luo xia 974
魔禁 mo jin 955
许稚 xu zhi 942
直子 zhi zi 938
阿泽 a ze 931
西昊 xi hao 882
立信 li xin 874
梁博 liang bo 833
戈恩 ge en 818
晴子 qing zi 815
伯格 bo ge 796
博子 bo zi 762
莱万 lai wan 758
大超 da chao 752
慕若 mu ruo 740
今敏 jin min 740
泽北 ze bei 736
燕姿 yan zi 711
俞佩彤 yu pei tong 100
梅罗 mei luo 688
平成 ping cheng 688
切嗣 qie si 687
江歌 jiang ge 670
灰原 hui yuan 647
扎导 zha dao 678
比伯 bi bo 666
元起 yuan qi 654
林奇 lin qi 594
李陵 li ling 586
艺兴 yi xing 528
小津 xiao jin 528
郑微 zheng wei 525
马内 ma nei 509
伍迪 wu di 508
黄章 huang zhang 497
友盟 you meng 490
雪穗 xue sui 473
穆迪 mu di 467
痛仰 tong yang 467
淘系 tao xi 458
富坚 fu jian 453
某音 mou yin 454
王攀 wang pan 447
纪淮 ji huai 446
西决 xi jue 445
素媛 su yuan 428
快本 kuai ben 427
饶毅 rao yi 435
当贝 dang bei 423
肖途 xiao tu 417
复星 fu xing 384
石昊 shi hao 383
蒙氏 meng shi 378
赵姬 zhao ji 378
范雎 fan ju 375
杨紫 yang zi 358
黄洋 huang yang 367
柯哀 ke ai 338
刚铎 gang duo 337
拓海 tuo hai 332
林静 lin jing 331
波洛 bo luo 332
某度 mou du 317
武周 wu zhou 315
张剑 zhang jian 315
黄峥 huang zheng 315
高思 gao si 315
蒙特卡洛 meng te ka luo 314
霍尊 huo zun 305
值乎 zhi hu 303
宋眠 song mian 303
彭越 peng yue 302
于敏 yu min 301
途锐 tu rui 298
任然 ren ran 298
渣叔 zha shu 297
余得水 yu de shui 297
眉庄 mei zhuang 296
李泌 li mi 282
唐探 tang tan 277
李信 li xin 276
乐夏 yue xia 271
顾星染 gu xing ran 266
某鱼 mou yu 261
黄轩 huang xuan 259
圣墟 sheng xu 258
朗道 lang dao 253
川崎 chuan qi 252
田静 tian jing 251
静茹 jing ru 251
花粥 hua zhou 250
莫迪 mo di 247
艾梅柏 ai mei bai 246
某乎 mou hu 246
顾曾 gu ceng 246
光遇 guang yu 244
速激 su ji 243
有赞 you zan 236
哭悲 ku bei 229
北语 bei yu 223
二看 er kan 223
数院 shu yuan 223
理塘 li tang 223
骨相 gu xiang 222
隋末 sui mo 222
花材 hua cai 222
炖菜 dun cai 222
带教 dai jiao 222
亮司 liang si 223
秦奋 qin fen 221
老饭骨 lao fan gu 0
赛睿 sai rui 219
墓主 mu zhu 218
打本 da ben 217
实车 shi che 217
花活 hua huo 217
陆鸿 lu hong 209
陆奇 lu qi 208
御坂 yu ban 199
微视 wei shi 199
酷安 ku an 198
魏冉 wei ran 197
郑薇 zheng wei 194
蔡澜 cai lan 193
武忠祥 wu zhong xiang 193
浪姐 lang jie 191
胜七 sheng qi 191
莫蒂 mo di 188
玄策 xuan ce 187
莎翁 sha weng 186
狄俄涅索斯 di e nie suo si 186
曼恩 man en 186
伯明顿 bo ming dun 186
游卡 you ka 181
旷视 kuang shi 178
胡斐 hu fei 176
倪匡 ni kuang 175
牛客 niu ke 174
乙一 yi yi 174
甜薪 tian xin 169
杨慧兰 yang hui lan 166
管虎 guan hu 161
安欣 an xin 153
缠师 chan shi 152
武藤 wu teng 151
博人 bo ren 149
同程 tong cheng 147
五竹 wu zhu 136
双笙 shuang sheng 136
灵汐 ling xi 136
途家 tu jia 129
堆糖 dui tang 134
泰格 tai ge 128
关谷 guan gu 123
齐绍安 qi shao an 123
韩立 han li 122
剑南 jian nan 120
菊厂 ju chang 119
曾哥 ceng ge 110
金妮 jin ni 110
庄生 zhuang sheng 109
董酒 dong jiu 108
席慕容 xi mu rong 106
霍奇 huo qi 105
云村 yun cun 101
华数 hua shu 101
牧原 mu yuan 101
拉斯 la si 86
任素汐 ren su xi 0

18371
cn_dicts_cell/name2.dict.yaml Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

13275
cn_dicts_cell/sport.dict.yaml Normal file

File diff suppressed because it is too large Load Diff

24
custom_phrase.txt Normal file
View File

@@ -0,0 +1,24 @@
# Rime table
# coding: utf-8
#@/db_name custom_phrase.txt
#@/db_type tabledb
#
# 自定义短语
# 可为方案增加一些要置顶的词汇及短语,例如邮箱、手机号、常用短语等等。编码可以随便起,不限于拼音。
#
# 适用于全拼。双拼默认为 custom_phrase_double.txt 需要手动创建,并更改上面的 db_name 为 custom_phrase_double.txt
#
# 以下固定的词汇及顺序纯属个人偏好,仅作示例,
# 可以增加自己的 .txt 文件,并在方案的 custom_phrase/user_dict 指定为自己的文件。
#
# 以 Tab 分割:词汇<Tab>编码<Tab>权重
#
# 这个文件内的字词会占据最高权重(即排在候选项的最前面,因为指定了高权重 custom_phrase/initial_quality: 99
# 但不与其他翻译器互相造词,如果使用了完整编码,那么这个字或词将无法参与造词,即自造词无法被记住。
# 所以只建议固定非完整拼音的编码,如果需求是置顶指定拼音的候选项,请参考方案中的 pin_cand_filter。
#
# 最下面的英文是因为一些常用单词的第一候选项被纠错覆盖了,如 Amazon 被纠错为「a ma zong 阿妈粽」,期望的 Amazon 跑到第二个候选项了,所以这里给它固定死喽。
#
# version: "2024-03-12"
#
# 此行之后不能写注释

358
default.yaml Normal file
View File

@@ -0,0 +1,358 @@
# Rime default settings
# encoding: utf-8
# 要比共享目录的同名文件的 config_version 大才可以生效
config_version: '2024-07-12'
# 方案列表
schema_list:
# 可以直接删除或注释不需要的方案,对应的 *.schema.yaml 方案文件也可以直接删除
- schema: rime_frost # 白霜拼音(全拼)
- schema: rime_frost_double_pinyin # 自然码双拼
- schema: rime_frost_double_pinyin_mspy # 微软双拼
- schema: rime_frost_double_pinyin_sogou # 搜狗双拼
- schema: rime_frost_double_pinyin_flypy # 小鹤双拼
# - schema: rime_frost_double_pinyin_abc # 智能 ABC 双拼
# - schema: rime_frost_double_pinyin_ziguang # 紫光双拼
# 菜单
menu:
page_size: 8 # 候选词个数
# alternative_select_labels: [ ①, ②, ③, ④, ⑤, ⑥, ⑦, ⑧, ⑨, ⑩ ] # 修改候选项标签
# alternative_select_keys: ASDFGHJKL # 如编码字符占用数字键,则需另设选字键
# 方案选单相关
switcher:
caption: 「方案选单」
hotkeys:
- F4
- Control+grave
- Control+Shift+grave
# - Alt+grave
save_options: # 开关记忆(方案中的 switches从方案选单而非快捷键切换时会记住的选项需要记忆的开关不能设定 reset
- ascii_punct
- traditionalization
- emoji
- full_shape
- search_single_char
fold_options: true # 呼出时是否折叠,多方案时建议折叠 true ,一个方案建议展开 false
abbreviate_options: true # 折叠时是否缩写选项
option_list_separator: ' / ' # 折叠时的选项分隔符
# 中西文切换
#
# good_old_caps_lock:
# true 切换大写
# false 切换中英
# macOS 偏好设置的优先级更高如果勾选【使用大写锁定键切换“ABC”输入法】则始终会切换输入法。
#
# 切换中英:
# 不同的选项表示:打字打到一半时按下了 CapsLock、Shift、Control 后:
# commit_code 上屏原始的编码,然后切换到英文
# commit_text 上屏拼出的词句,然后切换到英文
# clear 清除未上屏内容,然后切换到英文
# inline_ascii 切换到临时英文模式,按回车上屏后回到中文状态
# noop 屏蔽快捷键,不切换中英,但不要屏蔽 CapsLock
ascii_composer:
good_old_caps_lock: true # true | false
switch_key:
Caps_Lock: clear # commit_code | commit_text | clear
Shift_L: commit_code # commit_code | commit_text | inline_ascii | clear | noop
Shift_R: noop # commit_code | commit_text | inline_ascii | clear | noop
Control_L: noop # commit_code | commit_text | inline_ascii | clear | noop
Control_R: noop # commit_code | commit_text | inline_ascii | clear | noop
###################################################################################
# 下面的 punctuator recognizer key_binder 写了一些所有方案通用的配置项。
# 写在 default.yaml 里,方便多个方案引用,就是不用每个方案都写一遍了。
# 标点符号
# 设置为一个映射,就自动上屏;设置为多个映射,如 '/' : [ '/', ÷ ] 则进行复选。
# full_shape: 全角没改,使用预设值
# half_shape: 标点符号全部直接上屏,和 macOS 自带输入法的区别是
# '|' 是半角的,
# '~' 是半角的,
# '`'(反引号)没有改成 '·'(间隔号)。
punctuator:
full_shape:
' ' : { commit: ' ' }
',' : { commit: }
'.' : { commit: 。 }
'<' : [ 《, 〈, «, ]
'>' : [ 》, 〉, », ]
'/' : [ , ÷ ]
'?' : { commit: }
';' : { commit: }
':' : { commit: }
'''' : { pair: [ '', '' ] }
'"' : { pair: [ '“', '”' ] }
'\' : [ 、, ]
'|' : [ ·, , '§', '¦' ]
'`' :
'~' :
'!' : { commit: }
'@' : [ , ☯ ]
'#' : [ , ⌘ ]
'%' : [ , '°', '℃' ]
'$' : [ ¥, '$', '€', '£', '¥', '¢', '¤' ]
'^' : { commit: …… }
'&' :
'*' : [ , ·, ・, ×, ※, ❂ ]
'(' :
')' :
'-' :
'_' : ——
'+' :
'=' :
'[' : [ 「, 【, , ]
']' : [ 」, 】, , ]
'{' : [ 『, 〖, ]
'}' : [ 』, 〗, ]
half_shape:
',' : ''
'.' : '。'
'<' : '《'
'>' : '》'
'/' : [ /, ÷ ]
'?' : ''
';' : ''
':' : ''
'''' : { pair: [ '', '' ] }
'"' : { pair: [ '“', '”' ] }
'\' : '、'
'|' : '|'
'`' : '`'
'~' : '~'
'!' : ''
'@' : '@'
'#' : '#'
'%' : '%'
'$' : '¥'
'^' : '……'
'&' : '&'
'*' : '*'
'(' : ''
')' : ''
'-' : '-'
'_' : ——
'+' : '+'
'=' : '='
'[' : '【'
']' : '】'
'{' : '「'
'}' : '」'
# 处理符合特定规则的输入码,如网址、反查
# 此处配置较为通用的选项,各方案中另增加了和方案功能绑定的 patterns。
recognizer:
patterns:
email: "^[A-Za-z][-_.0-9A-Za-z]*@.*$" # email @ 之后不上屏
url: "^(www[.]|https?:|ftp[.:]|mailto:|file:).*$|^[a-z]+[.].+$" # URL
underscore: "^[A-Za-z]+_.*" # 下划线不上屏
# url_2: "^[A-Za-z]+[.].*" # 句号不上屏,支持 google.com abc.txt 等网址或文件名,使用句号翻页时需要注释掉
# colon: "^[A-Za-z]+:.*" # 冒号不上屏
# 快捷键
key_binder:
# Lua 配置: 以词定字(上屏当前词句的第一个或最后一个字),和中括号翻页有冲突
select_first_character: "bracketleft" # 左中括号 [
select_last_character: "bracketright" # 右中括号 ]
bindings:
# Tab / Shift+Tab 切换光标至下/上一个拼音
- { when: composing, accept: Shift+Tab, send: Shift+Left }
- { when: composing, accept: Tab, send: Shift+Right }
# Tab / Shift+Tab 翻页
# - { when: has_menu, accept: Shift+Tab, send: Page_Up }
# - { when: has_menu, accept: Tab, send: Page_Down }
# Option/Alt + ←/→ 切换光标至下/上一个拼音
- { when: composing, accept: Alt+Left, send: Shift+Left }
- { when: composing, accept: Alt+Right, send: Shift+Right }
# 翻页 - =
- { when: has_menu, accept: minus, send: Page_Up }
- { when: has_menu, accept: equal, send: Page_Down }
# 翻页 , .
# - { when: paging, accept: comma, send: Page_Up }
# - { when: has_menu, accept: period, send: Page_Down }
# 翻页 [ ]
# - { when: paging, accept: bracketleft, send: Page_Up }
# - { when: has_menu, accept: bracketright, send: Page_Down }
# 两种按键配置,鼠须管 Control+Shift+4 生效,小狼毫 Control+Shift+dollar 生效,都写上了。
# numbered_mode_switch:
# - { when: always, select: .next, accept: Control+Shift+1 } # 在最近的两个方案之间切换
# - { when: always, select: .next, accept: Control+Shift+exclam } # 在最近的两个方案之间切换
# - { when: always, toggle: ascii_mode, accept: Control+Shift+2 } # 切换中英
# - { when: always, toggle: ascii_mode, accept: Control+Shift+at } # 切换中英
- { when: always, toggle: ascii_punct, accept: Control+Shift+3 } # 切换中英标点
- { when: always, toggle: ascii_punct, accept: Control+Shift+numbersign } # 切换中英标点
- { when: always, toggle: traditionalization, accept: Control+Shift+4 } # 切换简繁
- { when: always, toggle: traditionalization, accept: Control+Shift+dollar } # 切换简繁
# - { when: always, toggle: full_shape, accept: Control+Shift+5 } # 切换全半角
# - { when: always, toggle: full_shape, accept: Control+Shift+percent } # 切换全半角
# emacs_editing:
# - { when: composing, accept: Control+p, send: Up }
# - { when: composing, accept: Control+n, send: Down }
# - { when: composing, accept: Control+b, send: Left }
# - { when: composing, accept: Control+f, send: Right }
# - { when: composing, accept: Control+a, send: Home }
# - { when: composing, accept: Control+e, send: End }
# - { when: composing, accept: Control+d, send: Delete }
- { when: composing, accept: Control+k, send: Shift+Delete }
# - { when: composing, accept: Control+h, send: BackSpace }
# - { when: composing, accept: Control+g, send: Escape }
# - { when: composing, accept: Control+bracketleft, send: Escape }
# - { when: composing, accept: Control+y, send: Page_Up }
# - { when: composing, accept: Alt+v, send: Page_Up }
# - { when: composing, accept: Control+v, send: Page_Down }
# optimized_mode_switch:
# - { when: always, accept: Control+Shift+space, select: .next }
# - { when: always, accept: Shift+space, toggle: ascii_mode }
# - { when: always, accept: Control+comma, toggle: full_shape }
# - { when: always, accept: Control+period, toggle: ascii_punct }
# - { when: always, accept: Control+slash, toggle: traditionalization }
# 将小键盘 0~9 . 映射到主键盘,数字金额大写的 Lua 如 R1234.5678 可使用小键盘输入
- {accept: KP_0, send: 0, when: composing}
- {accept: KP_1, send: 1, when: composing}
- {accept: KP_2, send: 2, when: composing}
- {accept: KP_3, send: 3, when: composing}
- {accept: KP_4, send: 4, when: composing}
- {accept: KP_5, send: 5, when: composing}
- {accept: KP_6, send: 6, when: composing}
- {accept: KP_7, send: 7, when: composing}
- {accept: KP_8, send: 8, when: composing}
- {accept: KP_9, send: 9, when: composing}
- {accept: KP_Decimal, send: period, when: composing}
# 按键速查
# https://github.com/LEOYoon-Tsaw/Rime_collections/blob/master/Rime_description.md
# (没有 Command 键,不支持)
# accept 和 send 可用字段除 A-Za-z0-9 外,还包含以下键盘上实际有的键:
# (区分大小写)
# BackSpace 退格
# Tab 水平定位符
# Linefeed 换行
# Clear 清除
# Return 回车
# Pause 暂停
# Sys_Req 印屏
# Escape 退出
# Delete 删除
# Home 原位
# Left 左箭头
# Up 上箭头
# Right 右箭头
# Down 下箭头
# Prior、Page_Up 上翻
# Next、Page_Down 下翻
# End 末位
# Begin 始位
# Shift_L 左Shift
# Shift_R 右Shift
# Control_L 左Ctrl
# Control_R 右Ctrl
# Meta_L 左Meta
# Meta_R 右Meta
# Alt_L 左Alt
# Alt_R 右Alt
# Super_L 左Super
# Super_R 右Super
# Hyper_L 左Hyper
# Hyper_R 右Hyper
# Caps_Lock 大写锁
# Shift_Lock 上档锁
# Scroll_Lock 滚动锁
# Num_Lock 小键板锁
# Select 选定
# Print 打印
# Execute 运行
# Insert 插入
# Undo 还原
# Redo 重做
# Menu 菜单
# Find 搜寻
# Cancel 取消
# Help 帮助
# Break 中断
# space 空格
# exclam !
# quotedbl "
# numbersign #
# dollar $
# percent %
# ampersand &
# apostrophe '
# parenleft (
# parenright )
# asterisk *
# plus +
# comma ,
# minus -
# period .
# slash /
# colon :
# semicolon ;
# less <
# equal =
# greater >
# question ?
# at @
# bracketleft [
# backslash \
# bracketright ]
# asciicircum ^
# underscore _
# grave `
# braceleft {
# bar |
# braceright }
# asciitilde ~
# KP_Space 小键板空格
# KP_Tab 小键板水平定位符
# KP_Enter 小键板回车
# KP_Delete 小键板删除
# KP_Home 小键板原位
# KP_Left 小键板左箭头
# KP_Up 小键板上箭头
# KP_Right 小键板右箭头
# KP_Down 小键板下箭头
# KP_Prior、KP_Page_Up 小键板上翻
# KP_Next、KP_Page_Down 小键板下翻
# KP_End 小键板末位
# KP_Begin 小键板始位
# KP_Insert 小键板插入
# KP_Equal 小键板等于
# KP_Multiply 小键板乘号
# KP_Add 小键板加号
# KP_Subtract 小键板减号
# KP_Divide 小键板除号
# KP_Decimal 小键板小数点
# KP_0 小键板0
# KP_1 小键板1
# KP_2 小键板2
# KP_3 小键板3
# KP_4 小键板4
# KP_5 小键板5
# KP_6 小键板6
# KP_7 小键板7
# KP_8 小键板8
# KP_9 小键板9

914
en_dicts/cn_en.txt Normal file
View File

@@ -0,0 +1,914 @@
# Rime table
# coding: utf-8
#@/db_name cn_en.txt
#@/db_type tabledb
#
# https://github.com/iDvel/rime-ice
# ------- 中英混输词库 for 全拼 -------
# 由 others/cn_en.txt 自动生成
#
# 此行之后不能写注释
X光 Xguang
X光 xguang
X光片 Xguangpian
X光片 xguangpian
X射线 Xshexian
X射线 xshexian
T恤 Txu
T恤 txu
T恤衫 Txushan
T恤衫 txushan
AD钙奶 ADgainai
AD钙奶 adgainai
UU加速器 UUjiasuqi
UU加速器 uujiasuqi
Cinity厅 Cinityting
Cinity厅 cinityting
Eul的神圣法杖 Euldeshenshengfazhang
Eul的神圣法杖 euldeshenshengfazhang
A杖 Azhang
A杖 azhang
红Buff hongBuff
红Buff hongbuff
蓝Buff lanBuff
蓝Buff lanbuff
老Baby laoBaby
老Baby laobaby
小Baby xiaoBaby
小Baby xiaobaby
艾AA aiAA
艾AA aiaa
炒CP chaoCP
炒CP chaocp
嗑CP keCP
嗑CP kecp
U盘 Upan
U盘 upan
B站 Bzhan
B站 bzhan
V站 Vzhan
V站 vzhan
P站 Pzhan
P站 pzhan
大V daV
大V dav
Q币 Qbi
Q币 qbi
QQ号 QQhao
QQ号 qqhao
QQ号码 QQhaoma
QQ号码 qqhaoma
QQ空间 QQkongjian
QQ空间 qqkongjian
QQ群 QQqun
QQ群 qqqun
QQ邮箱 QQyouxiang
QQ邮箱 qqyouxiang
QQ音乐 QQyinyue
QQ音乐 qqyinyue
QQ拼音 QQpinyin
QQ拼音 qqpinyin
QQ会员 QQhuiyuan
QQ会员 qqhuiyuan
QQ好友 QQhaoyou
QQ好友 qqhaoyou
QQ输入法 QQshurufa
QQ输入法 qqshurufa
Dock栏 Docklan
Dock栏 docklan
阿Q精神 aQjingshen
阿Q精神 aqjingshen
Win版 Winban
Win版 winban
Win版本 Winbanben
Win版本 winbanben
Windows版 Windowsban
Windows版 windowsban
Windows版本 Windowsbanben
Windows版本 windowsbanben
Mac版 Macban
Mac版 macban
Mac版本 Macbanben
Mac版本 macbanben
macOS版 macOSban
macOS版 macosban
macOS版本 macOSbanben
macOS版本 macosbanben
iOS版 iOSban
iOS版 iosban
iOS版本 iOSbanben
iOS版本 iosbanben
Android版 Androidban
Android版 androidban
Android版本 Androidbanben
Android版本 androidbanben
Web版 Webban
Web版 webban
Web版本 Webbanben
Web版本 webbanben
PC端 PCduan
PC端 pcduan
Win端 Winduan
Win端 winduan
Windows端 Windowsduan
Windows端 windowsduan
Mac端 Macduan
Mac端 macduan
macOS端 macOSduan
macOS端 macosduan
Web端 Webduan
Web端 webduan
iOS端 iOSduan
iOS端 iosduan
Android端 Androidduan
Android端 androidduan
e招贷 ezhaodai
G胖 Gpang
G胖 gpang
Up主 Upzhu
Up主 upzhu
BOSS直聘 BOSSzhipin
BOSS直聘 bosszhipin
P社 Pshe
P社 pshe
V社 Vshe
V社 vshe
Go语言 Goyuyan
Go语言 goyuyan
维生素A weishengsuA
维生素A weishengsua
维生素B weishengsuB
维生素B weishengsub
维生素C weishengsuC
维生素C weishengsuc
维生素D weishengsuD
维生素D weishengsud
维生素E weishengsuE
维生素E weishengsue
维生素K weishengsuK
维生素K weishengsuk
维A weiA
维A weia
维B weiB
维B weib
维C weiC
维C weic
维D weiD
维D weid
维E weiE
维E weie
维K weiK
维K weik
维E乳 weiEru
维E乳 weieru
维生素E乳 weishengsuEru
维生素E乳 weishengsueru
阿Q aQ
阿Q aq
阿Q正传 aQzhengzhuan
阿Q正传 aqzhengzhuan
单边z变换 danbianzbianhuan
逗B douB
逗B doub
哆啦A梦 duolaAmeng
哆啦A梦 duolaameng
二B erB
二B erb
卡拉OK kalaOK
卡拉OK kalaok
牛B niuB
牛B niub
三K党 sanKdang
三K党 sankdang
傻B shaB
傻B shab
傻X shaX
傻X shax
智能ABC zhinengABC
智能ABC zhinengabc
智能ABC双拼 zhinengABCshuangpin
智能ABC双拼 zhinengabcshuangpin
智能ABC双拼方案 zhinengABCshuangpinfangan
智能ABC双拼方案 zhinengabcshuangpinfangan
智能ABC输入法 zhinengABCshurufa
智能ABC输入法 zhinengabcshurufa
装B zhuangB
装B zhuangb
A股 Agu
A股 agu
B股 Bgu
B股 bgu
H股 Hgu
H股 hgu
N股 Ngu
N股 ngu
S股 Sgu
S股 sgu
A盘 Apan
A盘 apan
A片 Apian
A片 apian
AA制 AAzhi
AA制 aazhi
ATM机 ATMji
ATM机 atmji
B超 Bchao
B超 bchao
B淋巴细胞 Blinbaxibao
B淋巴细胞 blinbaxibao
B盘 Bpan
B盘 bpan
B细胞 Bxibao
B细胞 bxibao
C盘 Cpan
C盘 cpan
C语言 Cyuyan
C语言 cyuyan
D盘 Dpan
D盘 dpan
E盘 Epan
E盘 epan
F盘 Fpan
F盘 fpan
G点 Gdian
G点 gdian
G盘 Gpan
G盘 gpan
IP地址 IPdizhi
IP地址 ipdizhi
IP电话 IPdianhua
IP电话 ipdianhua
IP卡 IPka
IP卡 ipka
J盘 Jpan
J盘 jpan
K宝 Kbao
K宝 kbao
K粉 Kfen
K粉 kfen
K歌 Kge
K歌 kge
K歌王 Kgewang
K歌王 kgewang
POS机 POSji
POS机 posji
SIM卡 SIMka
SIM卡 simka
T淋巴细胞 Tlinbaxibao
T淋巴细胞 tlinbaxibao
T细胞 Txibao
T细胞 txibao
T型台 Txingtai
T型台 txingtai
U盾 Udun
U盾 udun
S形 Sxing
S形 sxing
U形 Uxing
U形 uxing
U形管 Uxingguan
U形管 uxingguan
UIM卡 UIMka
UIM卡 uimka
USIM卡 USIMka
USIM卡 usimka
X刀 Xdao
X刀 xdao
X染色体 Xranseti
X染色体 xranseti
Y染色体 Yranseti
Y染色体 yranseti
z变换 zbianhuan
z逆变换 znibianhuan
D之国 Dzhiguo
D之国 dzhiguo
D之一族 Dzhiyizu
D之一族 dzhiyizu
Beta版 Betaban
Beta版 betaban
Beta版本 Betabanben
Beta版本 betabanben
AV女优 AVnvyou
AV女优 avnvyou
X战警 Xzhanjing
X战警 xzhanjing
YY语音 YYyuyin
YY语音 yyyuyin
A4纸 Asizhi
A4纸 asizhi
A4腰 Asiyao
A4腰 asiyao
N多 Nduo
N多 nduo
N多个 Nduoge
N多个 nduoge
N次 Nci
N次 nci
N遍 Nbian
N遍 nbian
蒙奇·D·路飞 mengqiDlufei
蒙奇·D·路飞 mengqidlufei
蒙奇·D·龙 mengqiDlong
蒙奇·D·龙 mengqidlong
乔治·R·R·马丁 qiaozhiRRmading
乔治·R·R·马丁 qiaozhirrmading
哥尔·D·罗杰 geerDluojie
哥尔·D·罗杰 geerdluojie
马歇尔·D·蒂奇 maxieerDdiqi
马歇尔·D·蒂奇 maxieerddiqi
X·德雷克 Xdeleike
X·德雷克 xdeleike
蒙奇·D·卡普 mengqiDkapu
蒙奇·D·卡普 mengqidkapu
波特卡斯·D·艾斯 botekasiDaisi
波特卡斯·D·艾斯 botekasidaisi
VIP中P VIPzhongP
VIP中P vipzhongp
QQ秀 QQxiu
QQ秀 qqxiu
Big胆 Bigdan
Big胆 bigdan
我叫MT wojiaoMT
我叫MT wojiaomt
谜拟Q miniQ
谜拟Q miniq
多边兽Z duobianshouZ
多边兽Z duobianshouz
藤子·F·不二雄 tengziFbuerxiong
藤子·F·不二雄 tengzifbuerxiong
PC版 PCban
PC版 pcban
PC版本 PCbanben
PC版本 pcbanben
A塔 Ata
A塔 ata
平A pingA
平A pinga
立Flag liFlag
立Flag liflag
C罗 Cluo
C罗 cluo
IE浏览器 IEliulanqi
IE浏览器 ieliulanqi
A壳 Ake
A壳 ake
B壳 Bke
B壳 bke
C壳 Cke
C壳 cke
D壳 Dke
D壳 dke
A面 Amian
A面 amian
B面 Bmian
B面 bmian
C面 Cmian
C面 cmian
D面 Dmian
D面 dmian
Server酱 Serverjiang
Server酱 serverjiang
P图 Ptu
P图 ptu
P个图 Pgetu
P个图 pgetu
P一下 Pyixia
P一下 pyixia
芭比Q babiQ
芭比Q babiq
芭比Q了 babiQle
芭比Q了 babiqle
QQ堂 QQtang
QQ堂 qqtang
PIN码 PINma
PIN码 pinma
PUK码 PUKma
PUK码 pukma
关底BOSS guandiBOSS
关底BOSS guandiboss
AA吧 AAba
AA吧 aaba
喊cut hancut
ASCII码 ASCIIma
ASCII码 asciima
Go圣经 Goshengjing
Go圣经 goshengjing
江南Style jiangnanStyle
江南Style jiangnanstyle
头文字D touwenziD
头文字D touwenzid
三无Marblue sanwuMarblue
三无Marblue sanwumarblue
A罩杯 Azhaobei
A罩杯 azhaobei
B罩杯 Bzhaobei
B罩杯 bzhaobei
C罩杯 Czhaobei
C罩杯 czhaobei
D罩杯 Dzhaobei
D罩杯 dzhaobei
E罩杯 Ezhaobei
E罩杯 ezhaobei
F罩杯 Fzhaobei
F罩杯 fzhaobei
G罩杯 Gzhaobei
G罩杯 gzhaobei
H罩杯 Hzhaobei
H罩杯 hzhaobei
A罩 Azhao
A罩 azhao
B罩 Bzhao
B罩 bzhao
C罩 Czhao
C罩 czhao
D罩 Dzhao
D罩 dzhao
E罩 Ezhao
E罩 ezhao
F罩 Fzhao
F罩 fzhao
G罩 Gzhao
G罩 gzhao
H罩 Hzhao
H罩 hzhao
A杯 Abei
A杯 abei
B杯 Bbei
B杯 bbei
C杯 Cbei
C杯 cbei
D杯 Dbei
D杯 dbei
E杯 Ebei
E杯 ebei
F杯 Fbei
F杯 fbei
G杯 Gbei
G杯 gbei
H杯 Hbei
H杯 hbei
TV版 TVban
TV版 tvban
TV版本 TVbanben
TV版本 tvbanben
芒果TV mangguoTV
芒果TV mangguotv
V字仇杀队 Vzichoushadui
V字仇杀队 vzichoushadui
V怪客 Vguaike
V怪客 vguaike
V煞 Vsha
V煞 vsha
Q弹 Qtan
Q弹 qtan
Steam云 Steamyun
Steam云 steamyun
M系列 Mxilie
M系列 mxilie
阿Sir aSir
阿Sir asir
Pro版 Proban
Pro版 proban
Pro版本 Probanben
Pro版本 probanben
Lite版 Liteban
Lite版 liteban
Lite版本 Litebanben
Lite版本 litebanben
X教授 Xjiaoshou
X教授 xjiaoshou
Papi酱 Papijiang
Papi酱 papijiang
MAC地址 MACdizhi
MAC地址 macdizhi
DNS劫持 DNSjiechi
DNS劫持 dnsjiechi
DNS污染 DNSwuran
DNS污染 dnswuran
OK了 OKle
OK了 okle
OK啦 OKla
OK啦 okla
OK啊 OKa
OK啊 oka
我OK啊 woOKa
我OK啊 wooka
OK了吗 OKlema
OK了吗 oklema
腾讯QQ tengxunQQ
腾讯QQ tengxunqq
公网IP gongwangIP
公网IP gongwangip
Web开发 Webkaifa
Web开发 webkaifa
圈X quanX
圈X quanx
Switch版 Switchban
Switch版 switchban
Switch版本 Switchbanben
Switch版本 switchbanben
A型血 Axingxue
A型血 axingxue
A血型 Axuexing
A血型 axuexing
B型血 Bxingxue
B型血 bxingxue
B血型 Bxuexing
B血型 bxuexing
AB型 ABxing
AB型 abxing
AB型血 ABxingxue
AB型血 abxingxue
AB血型 ABxuexing
AB血型 abxuexing
O型 Oxing
O型 oxing
O型血 Oxingxue
O型血 oxingxue
O血型 Oxuexing
O血型 oxuexing
IT界 ITjie
IT界 itjie
Fn键 Fnjian
Fn键 fnjian
Cmd键 Cmdjian
Cmd键 cmdjian
Command键 Commandjian
Command键 commandjian
Ctrl键 Ctrljian
Ctrl键 ctrljian
Control键 Controljian
Control键 controljian
Opt键 Optjian
Opt键 optjian
Option键 Optionjian
Option键 optionjian
Shift键 Shiftjian
Shift键 shiftjian
Tab键 Tabjian
Tab键 tabjian
Caps键 Capsjian
Caps键 capsjian
CapsLock键 CapsLockjian
CapsLock键 capslockjian
Return键 Returnjian
Return键 returnjian
Enter键 Enterjian
Enter键 enterjian
Space键 Spacejian
Space键 spacejian
Backspace键 Backspacejian
Backspace键 backspacejian
Del键 Deljian
Del键 deljian
Delete键 Deletejian
Delete键 deletejian
Esc键 Escjian
Esc键 escjian
Eject键 Ejectjian
Eject键 ejectjian
J·K·罗琳 JKluolin
J·K·罗琳 jkluolin
周刊少年Jump zhoukanshaonianJump
周刊少年Jump zhoukanshaonianjump
ICP备案 ICPbeian
ICP备案 icpbeian
啥bug shabug
有bug youbug
没bug meibug
没有bug meiyoubug
卡bug kabug
提bug tibug
写bug xiebug
改bug gaibug
查bug chabug
找bug zhaobug
J·R·R·托尔金 JRRtuoerjin
J·R·R·托尔金 jrrtuoerjin
异维A酸 yiweiAsuan
异维A酸 yiweiasuan
互fo hufo
减CD jianCD
减CD jiancd
随身Wi-Fi suishenWiFi
随身Wi-Fi suishenwifi
U型锁 Uxingsuo
U型锁 uxingsuo
Go程 Gocheng
Go程 gocheng
TG群 TGqun
TG群 tgqun
Telegram群 Telegramqun
Telegram群 telegramqun
Wi-Fi密码 WiFimima
Wi-Fi密码 wifimima
DNA检测 DNAjiance
DNA检测 dnajiance
A级 Aji
A级 aji
B级 Bji
B级 bji
C级 Cji
C级 cji
D级 Dji
D级 dji
S级 Sji
S级 sji
拍CT paiCT
拍CT paict
CT检查 CTjiancha
CT检查 ctjiancha
PVC管 PVCguan
PVC管 pvcguan
DoS攻击 DoSgongji
DoS攻击 dosgongji
DDoS攻击 DDoSgongji
DDoS攻击 ddosgongji
N卡 Nka
N卡 nka
A卡 Aka
A卡 aka
M码 Mma
M码 mma
S码 Sma
S码 sma
L码 Lma
L码 lma
Q我 Qwo
Q我 qwo
R级 Rji
R级 rji
A区 Aqu
A区 aqu
B区 Bqu
B区 bqu
C区 Cqu
C区 cqu
D区 Dqu
D区 dqu
E区 Equ
E区 equ
F区 Fqu
F区 fqu
A组 Azu
A组 azu
B组 Bzu
B组 bzu
C组 Czu
C组 czu
D组 Dzu
D组 dzu
E组 Ezu
E组 ezu
F组 Fzu
F组 fzu
B哥 Bge
B哥 bge
Q版 Qban
Q版 qban
A班 Aban
A班 aban
B班 Bban
B班 bban
C班 Cban
C班 cban
D班 Dban
D班 dban
老K laoK
老K laok
加Q jiaQ
加Q jiaq
加QQ jiaQQ
加QQ jiaqq
A座 Azuo
A座 azuo
B座 Bzuo
B座 bzuo
C座 Czuo
C座 czuo
D座 Dzuo
D座 dzuo
E座 Ezuo
E座 ezuo
F座 Fzuo
F座 fzuo
H版 Hban
H版 hban
A口 Akou
A口 akou
B口 Bkou
B口 bkou
C口 Ckou
C口 ckou
D口 Dkou
D口 dkou
E口 Ekou
E口 ekou
F口 Fkou
F口 fkou
A出口 Achukou
A出口 achukou
B出口 Bchukou
B出口 bchukou
C出口 Cchukou
C出口 cchukou
D出口 Dchukou
D出口 dchukou
E出口 Echukou
E出口 echukou
F出口 Fchukou
F出口 fchukou
A楼 Alou
A楼 alou
B楼 Blou
B楼 blou
C楼 Clou
C楼 clou
D楼 Dlou
D楼 dlou
E楼 Elou
E楼 elou
F楼 Flou
F楼 flou
A型号 Axinghao
A型号 axinghao
B型号 Bxinghao
B型号 bxinghao
C型号 Cxinghao
C型号 cxinghao
D型号 Dxinghao
D型号 dxinghao
E型号 Exinghao
E型号 exinghao
F型号 Fxinghao
F型号 fxinghao
A型 Axing
A型 axing
B型 Bxing
B型 bxing
C型 Cxing
C型 cxing
D型 Dxing
D型 dxing
E型 Exing
E型 exing
F型 Fxing
F型 fxing
A款 Akuan
A款 akuan
B款 Bkuan
B款 bkuan
C款 Ckuan
C款 ckuan
D款 Dkuan
D款 dkuan
E款 Ekuan
E款 ekuan
F款 Fkuan
F款 fkuan
A栋 Adong
A栋 adong
B栋 Bdong
B栋 bdong
C栋 Cdong
C栋 cdong
D栋 Ddong
D栋 ddong
E栋 Edong
E栋 edong
F栋 Fdong
F栋 fdong
X轴 Xzhou
X轴 xzhou
Y轴 Yzhou
Y轴 yzhou
Z轴 Zzhou
Z轴 zzhou
V领 Vling
V领 vling
V字领 Vziling
V字领 vziling
V字形 Vzixing
V字形 vzixing
IT业 ITye
IT业 itye
IT行业 IThangye
IT行业 ithangye
K线 Kxian
K线 kxian
K线图 Kxiantu
K线图 kxiantu
日K线 riKxian
日K线 rikxian
周K线 zhouKxian
周K线 zhoukxian
月K线 yueKxian
月K线 yuekxian
T台 Ttai
T台 ttai
TF卡 TFka
TF卡 tfka
N年 Nnian
N年 nnian
A点 Adian
A点 adian
B点 Bdian
B点 bdian
A屏 Aping
A屏 aping
OK吗 OKma
OK吗 okma
OK嘛 OKma
OK嘛 okma
OK么 OKme
OK么 okme
OK呀 OKya
OK呀 okya
OK不 OKbu
OK不 okbu
BB机 BBji
BB机 bbji
做B超 zuoBchao
做B超 zuobchao
DJ版 DJban
DJ版 djban
唱K changK
唱K changk
PK赛 PKsai
PK赛 pksai
A和B AheB
A和B aheb
X和Y XheY
X和Y xhey
查IP chaIP
查IP chaip
封IP fengIP
封IP fengip
换IP huanIP
换IP huanip
VIP卡 VIPka
VIP卡 vipka
VIP会员 VIPhuiyuan
VIP会员 viphuiyuan
AAA级 AAAji
AAA级 aaaji
第N次 diNci
第N次 dinci
发EMS faEMS
发EMS faems
DVD版 DVDban
DVD版 dvdban
USB线 USBxian
USB线 usbxian
USB口 USBkou
USB口 usbkou
USB接口 USBjiekou
USB接口 usbjiekou
X档案 Xdangan
X档案 xdangan
n次方 ncifang
N多人 Nduoren
N多人 nduoren
S曲线 Squxian
S曲线 squxian
DJ舞曲 DJwuqu
DJ舞曲 djwuqu
充Q币 chongQbi
充Q币 chongqbi
就OK jiuOK
就OK jiuok
不OK buOK
不OK buok
很OK henOK
很OK henok
特拉法尔加·D·瓦铁尔·罗 telafaerjiaDwatieerluo
特拉法尔加·D·瓦铁尔·罗 telafaerjiadwatieerluo
开party kaiparty
Chromium系 Chromiumxi
Chromium系 chromiumxi
Chrome系 Chromexi
Chrome系 chromexi
QQ游戏 QQyouxi
QQ游戏 qqyouxi
QQ游戏大厅 QQyouxidating
QQ游戏大厅 qqyouxidating
QQ音速 QQyinsu
QQ音速 qqyinsu
QQ飞车 QQfeiche
QQ飞车 qqfeiche
QQ三国 QQsanguo
QQ三国 qqsanguo
4S店 siSdian
4S店 sisdian
丰田AE86 fengtianAEbaliu
丰田AE86 fengtianaebaliu
TF版 TFban
TF版 tfban
TF版本 TFbanben
TF版本 tfbanben
O不OK ObuOK
O不OK obuok
人均GDP renjunGDP
人均GDP renjungdp
V8引擎 Vbayinqing
V8引擎 vbayinqing

914
en_dicts/cn_en_abc.txt Normal file
View File

@@ -0,0 +1,914 @@
# Rime table
# coding: utf-8
#@/db_name cn_en_abc.txt
#@/db_type tabledb
#
# https://github.com/iDvel/rime-ice
# ------- 中英混输词库 for 智能 ABC 双拼 -------
# 由 others/cn_en.txt 自动生成
#
# 此行之后不能写注释
X光 Xgt
X光 xgt
X光片 Xgtpw
X光片 xgtpw
X射线 Xvexw
X射线 xvexw
T恤 Txu
T恤 txu
T恤衫 Txuvj
T恤衫 txuvj
AD钙奶 ADglnl
AD钙奶 adglnl
UU加速器 UUjdsuqi
UU加速器 uujdsuqi
Cinity厅 Cinityty
Cinity厅 cinityty
Eul的神圣法杖 Euldevfvgfaah
Eul的神圣法杖 euldevfvgfaah
A杖 Aah
A杖 aah
红Buff hsBuff
红Buff hsbuff
蓝Buff ljBuff
蓝Buff ljbuff
老Baby lkBaby
老Baby lkbaby
小Baby xzBaby
小Baby xzbaby
艾AA olAA
艾AA olaa
炒CP ekCP
炒CP ekcp
嗑CP keCP
嗑CP kecp
U盘 Upj
U盘 upj
B站 Baj
B站 baj
V站 Vaj
V站 vaj
P站 Paj
P站 paj
大V daV
大V dav
Q币 Qbi
Q币 qbi
QQ号 QQhk
QQ号 qqhk
QQ号码 QQhkma
QQ号码 qqhkma
QQ空间 QQksjw
QQ空间 qqksjw
QQ群 QQqn
QQ群 qqqn
QQ邮箱 QQybxt
QQ邮箱 qqybxt
QQ音乐 QQycym
QQ音乐 qqycym
QQ拼音 QQpcyc
QQ拼音 qqpcyc
QQ会员 QQhmyp
QQ会员 qqhmyp
QQ好友 QQhkyb
QQ好友 qqhkyb
QQ输入法 QQvurufa
QQ输入法 qqvurufa
Dock栏 Docklj
Dock栏 docklj
阿Q精神 oaQjyvf
阿Q精神 oaqjyvf
Win版 Winbj
Win版 winbj
Win版本 Winbjbf
Win版本 winbjbf
Windows版 Windowsbj
Windows版 windowsbj
Windows版本 Windowsbjbf
Windows版本 windowsbjbf
Mac版 Macbj
Mac版 macbj
Mac版本 Macbjbf
Mac版本 macbjbf
macOS版 macOSbj
macOS版 macosbj
macOS版本 macOSbjbf
macOS版本 macosbjbf
iOS版 iOSbj
iOS版 iosbj
iOS版本 iOSbjbf
iOS版本 iosbjbf
Android版 Androidbj
Android版 androidbj
Android版本 Androidbjbf
Android版本 androidbjbf
Web版 Webbj
Web版 webbj
Web版本 Webbjbf
Web版本 webbjbf
PC端 PCdp
PC端 pcdp
Win端 Windp
Win端 windp
Windows端 Windowsdp
Windows端 windowsdp
Mac端 Macdp
Mac端 macdp
macOS端 macOSdp
macOS端 macosdp
Web端 Webdp
Web端 webdp
iOS端 iOSdp
iOS端 iosdp
Android端 Androiddp
Android端 androiddp
e招贷 eakdl
G胖 Gph
G胖 gph
Up主 Upau
Up主 upau
BOSS直聘 BOSSaipc
BOSS直聘 bossaipc
P社 Pve
P社 pve
V社 Vve
V社 vve
Go语言 Goyuyj
Go语言 goyuyj
维生素A wqvgsuA
维生素A wqvgsua
维生素B wqvgsuB
维生素B wqvgsub
维生素C wqvgsuC
维生素C wqvgsuc
维生素D wqvgsuD
维生素D wqvgsud
维生素E wqvgsuE
维生素E wqvgsue
维生素K wqvgsuK
维生素K wqvgsuk
维A wqA
维A wqa
维B wqB
维B wqb
维C wqC
维C wqc
维D wqD
维D wqd
维E wqE
维E wqe
维K wqK
维K wqk
维E乳 wqEru
维E乳 wqeru
维生素E乳 wqvgsuEru
维生素E乳 wqvgsueru
阿Q oaQ
阿Q oaq
阿Q正传 oaQagap
阿Q正传 oaqagap
单边z变换 djbwzbwhp
逗B dbB
逗B dbb
哆啦A梦 dolaAmg
哆啦A梦 dolaamg
二B orB
二B orb
卡拉OK kalaOK
卡拉OK kalaok
牛B nrB
牛B nrb
三K党 sjKdh
三K党 sjkdh
傻B vaB
傻B vab
傻X vaX
傻X vax
智能ABC aingABC
智能ABC aingabc
智能ABC双拼 aingABCvtpc
智能ABC双拼 aingabcvtpc
智能ABC双拼方案 aingABCvtpcfhoj
智能ABC双拼方案 aingabcvtpcfhoj
智能ABC输入法 aingABCvurufa
智能ABC输入法 aingabcvurufa
装B atB
装B atb
A股 Agu
A股 agu
B股 Bgu
B股 bgu
H股 Hgu
H股 hgu
N股 Ngu
N股 ngu
S股 Sgu
S股 sgu
A盘 Apj
A盘 apj
A片 Apw
A片 apw
AA制 AAai
AA制 aaai
ATM机 ATMji
ATM机 atmji
B超 Bek
B超 bek
B淋巴细胞 Blcbaxibk
B淋巴细胞 blcbaxibk
B盘 Bpj
B盘 bpj
B细胞 Bxibk
B细胞 bxibk
C盘 Cpj
C盘 cpj
C语言 Cyuyj
C语言 cyuyj
D盘 Dpj
D盘 dpj
E盘 Epj
E盘 epj
F盘 Fpj
F盘 fpj
G点 Gdw
G点 gdw
G盘 Gpj
G盘 gpj
IP地址 IPdiai
IP地址 ipdiai
IP电话 IPdwhd
IP电话 ipdwhd
IP卡 IPka
IP卡 ipka
J盘 Jpj
J盘 jpj
K宝 Kbk
K宝 kbk
K粉 Kff
K粉 kff
K歌 Kge
K歌 kge
K歌王 Kgewh
K歌王 kgewh
POS机 POSji
POS机 posji
SIM卡 SIMka
SIM卡 simka
T淋巴细胞 Tlcbaxibk
T淋巴细胞 tlcbaxibk
T细胞 Txibk
T细胞 txibk
T型台 Txytl
T型台 txytl
U盾 Udn
U盾 udn
S形 Sxy
S形 sxy
U形 Uxy
U形 uxy
U形管 Uxygp
U形管 uxygp
UIM卡 UIMka
UIM卡 uimka
USIM卡 USIMka
USIM卡 usimka
X刀 Xdk
X刀 xdk
X染色体 Xrjseti
X染色体 xrjseti
Y染色体 Yrjseti
Y染色体 yrjseti
z变换 zbwhp
z逆变换 znibwhp
D之国 Daigo
D之国 daigo
D之一族 Daiyizu
D之一族 daiyizu
Beta版 Betabj
Beta版 betabj
Beta版本 Betabjbf
Beta版本 betabjbf
AV女优 AVnvyb
AV女优 avnvyb
X战警 Xajjy
X战警 xajjy
YY语音 YYyuyc
YY语音 yyyuyc
A4纸 Asiai
A4纸 asiai
A4腰 Asiyk
A4腰 asiyk
N多 Ndo
N多 ndo
N多个 Ndoge
N多个 ndoge
N次 Nci
N次 nci
N遍 Nbw
N遍 nbw
蒙奇·D·路飞 mgqiDlufq
蒙奇·D·路飞 mgqidlufq
蒙奇·D·龙 mgqiDls
蒙奇·D·龙 mgqidls
乔治·R·R·马丁 qzaiRRmady
乔治·R·R·马丁 qzairrmady
哥尔·D·罗杰 georDlojx
哥尔·D·罗杰 geordlojx
马歇尔·D·蒂奇 maxxorDdiqi
马歇尔·D·蒂奇 maxxorddiqi
X·德雷克 Xdelqke
X·德雷克 xdelqke
蒙奇·D·卡普 mgqiDkapu
蒙奇·D·卡普 mgqidkapu
波特卡斯·D·艾斯 botekasiDolsi
波特卡斯·D·艾斯 botekasidolsi
VIP中P VIPasP
VIP中P vipasp
QQ秀 QQxr
QQ秀 qqxr
Big胆 Bigdj
Big胆 bigdj
我叫MT wojzMT
我叫MT wojzmt
谜拟Q miniQ
谜拟Q miniq
多边兽Z dobwvbZ
多边兽Z dobwvbz
藤子·F·不二雄 tgziFbuorxs
藤子·F·不二雄 tgzifbuorxs
PC版 PCbj
PC版 pcbj
PC版本 PCbjbf
PC版本 pcbjbf
A塔 Ata
A塔 ata
平A pyA
平A pya
立Flag liFlag
立Flag liflag
C罗 Clo
C罗 clo
IE浏览器 IElrljqi
IE浏览器 ielrljqi
A壳 Ake
A壳 ake
B壳 Bke
B壳 bke
C壳 Cke
C壳 cke
D壳 Dke
D壳 dke
A面 Amw
A面 amw
B面 Bmw
B面 bmw
C面 Cmw
C面 cmw
D面 Dmw
D面 dmw
Server酱 Serverjt
Server酱 serverjt
P图 Ptu
P图 ptu
P个图 Pgetu
P个图 pgetu
P一下 Pyixd
P一下 pyixd
芭比Q babiQ
芭比Q babiq
芭比Q了 babiQle
芭比Q了 babiqle
QQ堂 QQth
QQ堂 qqth
PIN码 PINma
PIN码 pinma
PUK码 PUKma
PUK码 pukma
关底BOSS gpdiBOSS
关底BOSS gpdiboss
AA吧 AAba
AA吧 aaba
喊cut hjcut
ASCII码 ASCIIma
ASCII码 asciima
Go圣经 Govgjy
Go圣经 govgjy
江南Style jtnjStyle
江南Style jtnjstyle
头文字D tbwfziD
头文字D tbwfzid
三无Marblue sjwuMarblue
三无Marblue sjwumarblue
A罩杯 Aakbq
A罩杯 aakbq
B罩杯 Bakbq
B罩杯 bakbq
C罩杯 Cakbq
C罩杯 cakbq
D罩杯 Dakbq
D罩杯 dakbq
E罩杯 Eakbq
E罩杯 eakbq
F罩杯 Fakbq
F罩杯 fakbq
G罩杯 Gakbq
G罩杯 gakbq
H罩杯 Hakbq
H罩杯 hakbq
A罩 Aak
A罩 aak
B罩 Bak
B罩 bak
C罩 Cak
C罩 cak
D罩 Dak
D罩 dak
E罩 Eak
E罩 eak
F罩 Fak
F罩 fak
G罩 Gak
G罩 gak
H罩 Hak
H罩 hak
A杯 Abq
A杯 abq
B杯 Bbq
B杯 bbq
C杯 Cbq
C杯 cbq
D杯 Dbq
D杯 dbq
E杯 Ebq
E杯 ebq
F杯 Fbq
F杯 fbq
G杯 Gbq
G杯 gbq
H杯 Hbq
H杯 hbq
TV版 TVbj
TV版 tvbj
TV版本 TVbjbf
TV版本 tvbjbf
芒果TV mhgoTV
芒果TV mhgotv
V字仇杀队 Vziebvadm
V字仇杀队 vziebvadm
V怪客 Vgcke
V怪客 vgcke
V煞 Vva
V煞 vva
Q弹 Qtj
Q弹 qtj
Steam云 Steamyn
Steam云 steamyn
M系列 Mxilx
M系列 mxilx
阿Sir oaSir
阿Sir oasir
Pro版 Probj
Pro版 probj
Pro版本 Probjbf
Pro版本 probjbf
Lite版 Litebj
Lite版 litebj
Lite版本 Litebjbf
Lite版本 litebjbf
X教授 Xjzvb
X教授 xjzvb
Papi酱 Papijt
Papi酱 papijt
MAC地址 MACdiai
MAC地址 macdiai
DNS劫持 DNSjxei
DNS劫持 dnsjxei
DNS污染 DNSwurj
DNS污染 dnswurj
OK了 OKle
OK了 okle
OK啦 OKla
OK啦 okla
OK啊 OKoa
OK啊 okoa
我OK啊 woOKoa
我OK啊 wookoa
OK了吗 OKlema
OK了吗 oklema
腾讯QQ tgxnQQ
腾讯QQ tgxnqq
公网IP gswhIP
公网IP gswhip
Web开发 Webklfa
Web开发 webklfa
圈X qpX
圈X qpx
Switch版 Switchbj
Switch版 switchbj
Switch版本 Switchbjbf
Switch版本 switchbjbf
A型血 Axyxm
A型血 axyxm
A血型 Axmxy
A血型 axmxy
B型血 Bxyxm
B型血 bxyxm
B血型 Bxmxy
B血型 bxmxy
AB型 ABxy
AB型 abxy
AB型血 ABxyxm
AB型血 abxyxm
AB血型 ABxmxy
AB血型 abxmxy
O型 Oxy
O型 oxy
O型血 Oxyxm
O型血 oxyxm
O血型 Oxmxy
O血型 oxmxy
IT界 ITjx
IT界 itjx
Fn键 Fnjw
Fn键 fnjw
Cmd键 Cmdjw
Cmd键 cmdjw
Command键 Commandjw
Command键 commandjw
Ctrl键 Ctrljw
Ctrl键 ctrljw
Control键 Controljw
Control键 controljw
Opt键 Optjw
Opt键 optjw
Option键 Optionjw
Option键 optionjw
Shift键 Shiftjw
Shift键 shiftjw
Tab键 Tabjw
Tab键 tabjw
Caps键 Capsjw
Caps键 capsjw
CapsLock键 CapsLockjw
CapsLock键 capslockjw
Return键 Returnjw
Return键 returnjw
Enter键 Enterjw
Enter键 enterjw
Space键 Spacejw
Space键 spacejw
Backspace键 Backspacejw
Backspace键 backspacejw
Del键 Deljw
Del键 deljw
Delete键 Deletejw
Delete键 deletejw
Esc键 Escjw
Esc键 escjw
Eject键 Ejectjw
Eject键 ejectjw
J·K·罗琳 JKlolc
J·K·罗琳 jklolc
周刊少年Jump abkjvknwJump
周刊少年Jump abkjvknwjump
ICP备案 ICPbqoj
ICP备案 icpbqoj
啥bug vabug
有bug ybbug
没bug mqbug
没有bug mqybbug
卡bug kabug
提bug tibug
写bug xxbug
改bug glbug
查bug eabug
找bug akbug
J·R·R·托尔金 JRRtoorjc
J·R·R·托尔金 jrrtoorjc
异维A酸 yiwqAsp
异维A酸 yiwqasp
互fo hufo
减CD jwCD
减CD jwcd
随身Wi-Fi smvfWiFi
随身Wi-Fi smvfwifi
U型锁 Uxyso
U型锁 uxyso
Go程 Goeg
Go程 goeg
TG群 TGqn
TG群 tgqn
Telegram群 Telegramqn
Telegram群 telegramqn
Wi-Fi密码 WiFimima
Wi-Fi密码 wifimima
DNA检测 DNAjwce
DNA检测 dnajwce
A级 Aji
A级 aji
B级 Bji
B级 bji
C级 Cji
C级 cji
D级 Dji
D级 dji
S级 Sji
S级 sji
拍CT plCT
拍CT plct
CT检查 CTjwea
CT检查 ctjwea
PVC管 PVCgp
PVC管 pvcgp
DoS攻击 DoSgsji
DoS攻击 dosgsji
DDoS攻击 DDoSgsji
DDoS攻击 ddosgsji
N卡 Nka
N卡 nka
A卡 Aka
A卡 aka
M码 Mma
M码 mma
S码 Sma
S码 sma
L码 Lma
L码 lma
Q我 Qwo
Q我 qwo
R级 Rji
R级 rji
A区 Aqu
A区 aqu
B区 Bqu
B区 bqu
C区 Cqu
C区 cqu
D区 Dqu
D区 dqu
E区 Equ
E区 equ
F区 Fqu
F区 fqu
A组 Azu
A组 azu
B组 Bzu
B组 bzu
C组 Czu
C组 czu
D组 Dzu
D组 dzu
E组 Ezu
E组 ezu
F组 Fzu
F组 fzu
B哥 Bge
B哥 bge
Q版 Qbj
Q版 qbj
A班 Abj
A班 abj
B班 Bbj
B班 bbj
C班 Cbj
C班 cbj
D班 Dbj
D班 dbj
老K lkK
老K lkk
加Q jdQ
加Q jdq
加QQ jdQQ
加QQ jdqq
A座 Azo
A座 azo
B座 Bzo
B座 bzo
C座 Czo
C座 czo
D座 Dzo
D座 dzo
E座 Ezo
E座 ezo
F座 Fzo
F座 fzo
H版 Hbj
H版 hbj
A口 Akb
A口 akb
B口 Bkb
B口 bkb
C口 Ckb
C口 ckb
D口 Dkb
D口 dkb
E口 Ekb
E口 ekb
F口 Fkb
F口 fkb
A出口 Aeukb
A出口 aeukb
B出口 Beukb
B出口 beukb
C出口 Ceukb
C出口 ceukb
D出口 Deukb
D出口 deukb
E出口 Eeukb
E出口 eeukb
F出口 Feukb
F出口 feukb
A楼 Alb
A楼 alb
B楼 Blb
B楼 blb
C楼 Clb
C楼 clb
D楼 Dlb
D楼 dlb
E楼 Elb
E楼 elb
F楼 Flb
F楼 flb
A型号 Axyhk
A型号 axyhk
B型号 Bxyhk
B型号 bxyhk
C型号 Cxyhk
C型号 cxyhk
D型号 Dxyhk
D型号 dxyhk
E型号 Exyhk
E型号 exyhk
F型号 Fxyhk
F型号 fxyhk
A型 Axy
A型 axy
B型 Bxy
B型 bxy
C型 Cxy
C型 cxy
D型 Dxy
D型 dxy
E型 Exy
E型 exy
F型 Fxy
F型 fxy
A款 Akp
A款 akp
B款 Bkp
B款 bkp
C款 Ckp
C款 ckp
D款 Dkp
D款 dkp
E款 Ekp
E款 ekp
F款 Fkp
F款 fkp
A栋 Ads
A栋 ads
B栋 Bds
B栋 bds
C栋 Cds
C栋 cds
D栋 Dds
D栋 dds
E栋 Eds
E栋 eds
F栋 Fds
F栋 fds
X轴 Xab
X轴 xab
Y轴 Yab
Y轴 yab
Z轴 Zab
Z轴 zab
V领 Vly
V领 vly
V字领 Vzily
V字领 vzily
V字形 Vzixy
V字形 vzixy
IT业 ITye
IT业 itye
IT行业 IThhye
IT行业 ithhye
K线 Kxw
K线 kxw
K线图 Kxwtu
K线图 kxwtu
日K线 riKxw
日K线 rikxw
周K线 abKxw
周K线 abkxw
月K线 ymKxw
月K线 ymkxw
T台 Ttl
T台 ttl
TF卡 TFka
TF卡 tfka
N年 Nnw
N年 nnw
A点 Adw
A点 adw
B点 Bdw
B点 bdw
A屏 Apy
A屏 apy
OK吗 OKma
OK吗 okma
OK嘛 OKma
OK嘛 okma
OK么 OKme
OK么 okme
OK呀 OKya
OK呀 okya
OK不 OKbu
OK不 okbu
BB机 BBji
BB机 bbji
做B超 zoBek
做B超 zobek
DJ版 DJbj
DJ版 djbj
唱K ehK
唱K ehk
PK赛 PKsl
PK赛 pksl
A和B AheB
A和B aheb
X和Y XheY
X和Y xhey
查IP eaIP
查IP eaip
封IP fgIP
封IP fgip
换IP hpIP
换IP hpip
VIP卡 VIPka
VIP卡 vipka
VIP会员 VIPhmyp
VIP会员 viphmyp
AAA级 AAAji
AAA级 aaaji
第N次 diNci
第N次 dinci
发EMS faEMS
发EMS faems
DVD版 DVDbj
DVD版 dvdbj
USB线 USBxw
USB线 usbxw
USB口 USBkb
USB口 usbkb
USB接口 USBjxkb
USB接口 usbjxkb
X档案 Xdhoj
X档案 xdhoj
n次方 ncifh
N多人 Ndorf
N多人 ndorf
S曲线 Squxw
S曲线 squxw
DJ舞曲 DJwuqu
DJ舞曲 djwuqu
充Q币 esQbi
充Q币 esqbi
就OK jrOK
就OK jrok
不OK buOK
不OK buok
很OK hfOK
很OK hfok
特拉法尔加·D·瓦铁尔·罗 telafaorjdDwatxorlo
特拉法尔加·D·瓦铁尔·罗 telafaorjddwatxorlo
开party klparty
Chromium系 Chromiumxi
Chromium系 chromiumxi
Chrome系 Chromexi
Chrome系 chromexi
QQ游戏 QQybxi
QQ游戏 qqybxi
QQ游戏大厅 QQybxidaty
QQ游戏大厅 qqybxidaty
QQ音速 QQycsu
QQ音速 qqycsu
QQ飞车 QQfqee
QQ飞车 qqfqee
QQ三国 QQsjgo
QQ三国 qqsjgo
4S店 siSdw
4S店 sisdw
丰田AE86 fgtwAEbalr
丰田AE86 fgtwaebalr
TF版 TFbj
TF版 tfbj
TF版本 TFbjbf
TF版本 tfbjbf
O不OK ObuOK
O不OK obuok
人均GDP rfjnGDP
人均GDP rfjngdp
V8引擎 Vbaycqy
V8引擎 vbaycqy

View File

@@ -0,0 +1,914 @@
# Rime table
# coding: utf-8
#@/db_name cn_en_double_pinyin.txt
#@/db_type tabledb
#
# https://github.com/iDvel/rime-ice
# ------- 中英混输词库 for 自然码双拼 -------
# 由 others/cn_en.txt 自动生成
#
# 此行之后不能写注释
X光 Xgd
X光 xgd
X光片 Xgdpm
X光片 xgdpm
X射线 Xuexm
X射线 xuexm
T恤 Txu
T恤 txu
T恤衫 Txuuj
T恤衫 txuuj
AD钙奶 ADglnl
AD钙奶 adglnl
UU加速器 UUjwsuqi
UU加速器 uujwsuqi
Cinity厅 Cinityty
Cinity厅 cinityty
Eul的神圣法杖 Euldeufugfavh
Eul的神圣法杖 euldeufugfavh
A杖 Avh
A杖 avh
红Buff hsBuff
红Buff hsbuff
蓝Buff ljBuff
蓝Buff ljbuff
老Baby lkBaby
老Baby lkbaby
小Baby xcBaby
小Baby xcbaby
艾AA aiAA
艾AA aiaa
炒CP ikCP
炒CP ikcp
嗑CP keCP
嗑CP kecp
U盘 Upj
U盘 upj
B站 Bvj
B站 bvj
V站 Vvj
V站 vvj
P站 Pvj
P站 pvj
大V daV
大V dav
Q币 Qbi
Q币 qbi
QQ号 QQhk
QQ号 qqhk
QQ号码 QQhkma
QQ号码 qqhkma
QQ空间 QQksjm
QQ空间 qqksjm
QQ群 QQqp
QQ群 qqqp
QQ邮箱 QQybxd
QQ邮箱 qqybxd
QQ音乐 QQynyt
QQ音乐 qqynyt
QQ拼音 QQpnyn
QQ拼音 qqpnyn
QQ会员 QQhvyr
QQ会员 qqhvyr
QQ好友 QQhkyb
QQ好友 qqhkyb
QQ输入法 QQuurufa
QQ输入法 qquurufa
Dock栏 Docklj
Dock栏 docklj
阿Q精神 aaQjyuf
阿Q精神 aaqjyuf
Win版 Winbj
Win版 winbj
Win版本 Winbjbf
Win版本 winbjbf
Windows版 Windowsbj
Windows版 windowsbj
Windows版本 Windowsbjbf
Windows版本 windowsbjbf
Mac版 Macbj
Mac版 macbj
Mac版本 Macbjbf
Mac版本 macbjbf
macOS版 macOSbj
macOS版 macosbj
macOS版本 macOSbjbf
macOS版本 macosbjbf
iOS版 iOSbj
iOS版 iosbj
iOS版本 iOSbjbf
iOS版本 iosbjbf
Android版 Androidbj
Android版 androidbj
Android版本 Androidbjbf
Android版本 androidbjbf
Web版 Webbj
Web版 webbj
Web版本 Webbjbf
Web版本 webbjbf
PC端 PCdr
PC端 pcdr
Win端 Windr
Win端 windr
Windows端 Windowsdr
Windows端 windowsdr
Mac端 Macdr
Mac端 macdr
macOS端 macOSdr
macOS端 macosdr
Web端 Webdr
Web端 webdr
iOS端 iOSdr
iOS端 iosdr
Android端 Androiddr
Android端 androiddr
e招贷 evkdl
G胖 Gph
G胖 gph
Up主 Upvu
Up主 upvu
BOSS直聘 BOSSvipn
BOSS直聘 bossvipn
P社 Pue
P社 pue
V社 Vue
V社 vue
Go语言 Goyuyj
Go语言 goyuyj
维生素A wzugsuA
维生素A wzugsua
维生素B wzugsuB
维生素B wzugsub
维生素C wzugsuC
维生素C wzugsuc
维生素D wzugsuD
维生素D wzugsud
维生素E wzugsuE
维生素E wzugsue
维生素K wzugsuK
维生素K wzugsuk
维A wzA
维A wza
维B wzB
维B wzb
维C wzC
维C wzc
维D wzD
维D wzd
维E wzE
维E wze
维K wzK
维K wzk
维E乳 wzEru
维E乳 wzeru
维生素E乳 wzugsuEru
维生素E乳 wzugsueru
阿Q aaQ
阿Q aaq
阿Q正传 aaQvgvr
阿Q正传 aaqvgvr
单边z变换 djbmzbmhr
逗B dbB
逗B dbb
哆啦A梦 dolaAmg
哆啦A梦 dolaamg
二B erB
二B erb
卡拉OK kalaOK
卡拉OK kalaok
牛B nqB
牛B nqb
三K党 sjKdh
三K党 sjkdh
傻B uaB
傻B uab
傻X uaX
傻X uax
智能ABC vingABC
智能ABC vingabc
智能ABC双拼 vingABCudpn
智能ABC双拼 vingabcudpn
智能ABC双拼方案 vingABCudpnfhan
智能ABC双拼方案 vingabcudpnfhan
智能ABC输入法 vingABCuurufa
智能ABC输入法 vingabcuurufa
装B vdB
装B vdb
A股 Agu
A股 agu
B股 Bgu
B股 bgu
H股 Hgu
H股 hgu
N股 Ngu
N股 ngu
S股 Sgu
S股 sgu
A盘 Apj
A盘 apj
A片 Apm
A片 apm
AA制 AAvi
AA制 aavi
ATM机 ATMji
ATM机 atmji
B超 Bik
B超 bik
B淋巴细胞 Blnbaxibk
B淋巴细胞 blnbaxibk
B盘 Bpj
B盘 bpj
B细胞 Bxibk
B细胞 bxibk
C盘 Cpj
C盘 cpj
C语言 Cyuyj
C语言 cyuyj
D盘 Dpj
D盘 dpj
E盘 Epj
E盘 epj
F盘 Fpj
F盘 fpj
G点 Gdm
G点 gdm
G盘 Gpj
G盘 gpj
IP地址 IPdivi
IP地址 ipdivi
IP电话 IPdmhw
IP电话 ipdmhw
IP卡 IPka
IP卡 ipka
J盘 Jpj
J盘 jpj
K宝 Kbk
K宝 kbk
K粉 Kff
K粉 kff
K歌 Kge
K歌 kge
K歌王 Kgewh
K歌王 kgewh
POS机 POSji
POS机 posji
SIM卡 SIMka
SIM卡 simka
T淋巴细胞 Tlnbaxibk
T淋巴细胞 tlnbaxibk
T细胞 Txibk
T细胞 txibk
T型台 Txytl
T型台 txytl
U盾 Udp
U盾 udp
S形 Sxy
S形 sxy
U形 Uxy
U形 uxy
U形管 Uxygr
U形管 uxygr
UIM卡 UIMka
UIM卡 uimka
USIM卡 USIMka
USIM卡 usimka
X刀 Xdk
X刀 xdk
X染色体 Xrjseti
X染色体 xrjseti
Y染色体 Yrjseti
Y染色体 yrjseti
z变换 zbmhr
z逆变换 znibmhr
D之国 Dvigo
D之国 dvigo
D之一族 Dviyizu
D之一族 dviyizu
Beta版 Betabj
Beta版 betabj
Beta版本 Betabjbf
Beta版本 betabjbf
AV女优 AVnvyb
AV女优 avnvyb
X战警 Xvjjy
X战警 xvjjy
YY语音 YYyuyn
YY语音 yyyuyn
A4纸 Asivi
A4纸 asivi
A4腰 Asiyk
A4腰 asiyk
N多 Ndo
N多 ndo
N多个 Ndoge
N多个 ndoge
N次 Nci
N次 nci
N遍 Nbm
N遍 nbm
蒙奇·D·路飞 mgqiDlufz
蒙奇·D·路飞 mgqidlufz
蒙奇·D·龙 mgqiDls
蒙奇·D·龙 mgqidls
乔治·R·R·马丁 qcviRRmady
乔治·R·R·马丁 qcvirrmady
哥尔·D·罗杰 geerDlojx
哥尔·D·罗杰 geerdlojx
马歇尔·D·蒂奇 maxxerDdiqi
马歇尔·D·蒂奇 maxxerddiqi
X·德雷克 Xdelzke
X·德雷克 xdelzke
蒙奇·D·卡普 mgqiDkapu
蒙奇·D·卡普 mgqidkapu
波特卡斯·D·艾斯 botekasiDaisi
波特卡斯·D·艾斯 botekasidaisi
VIP中P VIPvsP
VIP中P vipvsp
QQ秀 QQxq
QQ秀 qqxq
Big胆 Bigdj
Big胆 bigdj
我叫MT wojcMT
我叫MT wojcmt
谜拟Q miniQ
谜拟Q miniq
多边兽Z dobmubZ
多边兽Z dobmubz
藤子·F·不二雄 tgziFbuerxs
藤子·F·不二雄 tgzifbuerxs
PC版 PCbj
PC版 pcbj
PC版本 PCbjbf
PC版本 pcbjbf
A塔 Ata
A塔 ata
平A pyA
平A pya
立Flag liFlag
立Flag liflag
C罗 Clo
C罗 clo
IE浏览器 IElqljqi
IE浏览器 ielqljqi
A壳 Ake
A壳 ake
B壳 Bke
B壳 bke
C壳 Cke
C壳 cke
D壳 Dke
D壳 dke
A面 Amm
A面 amm
B面 Bmm
B面 bmm
C面 Cmm
C面 cmm
D面 Dmm
D面 dmm
Server酱 Serverjd
Server酱 serverjd
P图 Ptu
P图 ptu
P个图 Pgetu
P个图 pgetu
P一下 Pyixw
P一下 pyixw
芭比Q babiQ
芭比Q babiq
芭比Q了 babiQle
芭比Q了 babiqle
QQ堂 QQth
QQ堂 qqth
PIN码 PINma
PIN码 pinma
PUK码 PUKma
PUK码 pukma
关底BOSS grdiBOSS
关底BOSS grdiboss
AA吧 AAba
AA吧 aaba
喊cut hjcut
ASCII码 ASCIIma
ASCII码 asciima
Go圣经 Gougjy
Go圣经 gougjy
江南Style jdnjStyle
江南Style jdnjstyle
头文字D tbwfziD
头文字D tbwfzid
三无Marblue sjwuMarblue
三无Marblue sjwumarblue
A罩杯 Avkbz
A罩杯 avkbz
B罩杯 Bvkbz
B罩杯 bvkbz
C罩杯 Cvkbz
C罩杯 cvkbz
D罩杯 Dvkbz
D罩杯 dvkbz
E罩杯 Evkbz
E罩杯 evkbz
F罩杯 Fvkbz
F罩杯 fvkbz
G罩杯 Gvkbz
G罩杯 gvkbz
H罩杯 Hvkbz
H罩杯 hvkbz
A罩 Avk
A罩 avk
B罩 Bvk
B罩 bvk
C罩 Cvk
C罩 cvk
D罩 Dvk
D罩 dvk
E罩 Evk
E罩 evk
F罩 Fvk
F罩 fvk
G罩 Gvk
G罩 gvk
H罩 Hvk
H罩 hvk
A杯 Abz
A杯 abz
B杯 Bbz
B杯 bbz
C杯 Cbz
C杯 cbz
D杯 Dbz
D杯 dbz
E杯 Ebz
E杯 ebz
F杯 Fbz
F杯 fbz
G杯 Gbz
G杯 gbz
H杯 Hbz
H杯 hbz
TV版 TVbj
TV版 tvbj
TV版本 TVbjbf
TV版本 tvbjbf
芒果TV mhgoTV
芒果TV mhgotv
V字仇杀队 Vziibuadv
V字仇杀队 vziibuadv
V怪客 Vgyke
V怪客 vgyke
V煞 Vua
V煞 vua
Q弹 Qtj
Q弹 qtj
Steam云 Steamyp
Steam云 steamyp
M系列 Mxilx
M系列 mxilx
阿Sir aaSir
阿Sir aasir
Pro版 Probj
Pro版 probj
Pro版本 Probjbf
Pro版本 probjbf
Lite版 Litebj
Lite版 litebj
Lite版本 Litebjbf
Lite版本 litebjbf
X教授 Xjcub
X教授 xjcub
Papi酱 Papijd
Papi酱 papijd
MAC地址 MACdivi
MAC地址 macdivi
DNS劫持 DNSjxii
DNS劫持 dnsjxii
DNS污染 DNSwurj
DNS污染 dnswurj
OK了 OKle
OK了 okle
OK啦 OKla
OK啦 okla
OK啊 OKaa
OK啊 okaa
我OK啊 woOKaa
我OK啊 wookaa
OK了吗 OKlema
OK了吗 oklema
腾讯QQ tgxpQQ
腾讯QQ tgxpqq
公网IP gswhIP
公网IP gswhip
Web开发 Webklfa
Web开发 webklfa
圈X qrX
圈X qrx
Switch版 Switchbj
Switch版 switchbj
Switch版本 Switchbjbf
Switch版本 switchbjbf
A型血 Axyxt
A型血 axyxt
A血型 Axtxy
A血型 axtxy
B型血 Bxyxt
B型血 bxyxt
B血型 Bxtxy
B血型 bxtxy
AB型 ABxy
AB型 abxy
AB型血 ABxyxt
AB型血 abxyxt
AB血型 ABxtxy
AB血型 abxtxy
O型 Oxy
O型 oxy
O型血 Oxyxt
O型血 oxyxt
O血型 Oxtxy
O血型 oxtxy
IT界 ITjx
IT界 itjx
Fn键 Fnjm
Fn键 fnjm
Cmd键 Cmdjm
Cmd键 cmdjm
Command键 Commandjm
Command键 commandjm
Ctrl键 Ctrljm
Ctrl键 ctrljm
Control键 Controljm
Control键 controljm
Opt键 Optjm
Opt键 optjm
Option键 Optionjm
Option键 optionjm
Shift键 Shiftjm
Shift键 shiftjm
Tab键 Tabjm
Tab键 tabjm
Caps键 Capsjm
Caps键 capsjm
CapsLock键 CapsLockjm
CapsLock键 capslockjm
Return键 Returnjm
Return键 returnjm
Enter键 Enterjm
Enter键 enterjm
Space键 Spacejm
Space键 spacejm
Backspace键 Backspacejm
Backspace键 backspacejm
Del键 Deljm
Del键 deljm
Delete键 Deletejm
Delete键 deletejm
Esc键 Escjm
Esc键 escjm
Eject键 Ejectjm
Eject键 ejectjm
J·K·罗琳 JKloln
J·K·罗琳 jkloln
周刊少年Jump vbkjuknmJump
周刊少年Jump vbkjuknmjump
ICP备案 ICPbzan
ICP备案 icpbzan
啥bug uabug
有bug ybbug
没bug mzbug
没有bug mzybbug
卡bug kabug
提bug tibug
写bug xxbug
改bug glbug
查bug iabug
找bug vkbug
J·R·R·托尔金 JRRtoerjn
J·R·R·托尔金 jrrtoerjn
异维A酸 yiwzAsr
异维A酸 yiwzasr
互fo hufo
减CD jmCD
减CD jmcd
随身Wi-Fi svufWiFi
随身Wi-Fi svufwifi
U型锁 Uxyso
U型锁 uxyso
Go程 Goig
Go程 goig
TG群 TGqp
TG群 tgqp
Telegram群 Telegramqp
Telegram群 telegramqp
Wi-Fi密码 WiFimima
Wi-Fi密码 wifimima
DNA检测 DNAjmce
DNA检测 dnajmce
A级 Aji
A级 aji
B级 Bji
B级 bji
C级 Cji
C级 cji
D级 Dji
D级 dji
S级 Sji
S级 sji
拍CT plCT
拍CT plct
CT检查 CTjmia
CT检查 ctjmia
PVC管 PVCgr
PVC管 pvcgr
DoS攻击 DoSgsji
DoS攻击 dosgsji
DDoS攻击 DDoSgsji
DDoS攻击 ddosgsji
N卡 Nka
N卡 nka
A卡 Aka
A卡 aka
M码 Mma
M码 mma
S码 Sma
S码 sma
L码 Lma
L码 lma
Q我 Qwo
Q我 qwo
R级 Rji
R级 rji
A区 Aqu
A区 aqu
B区 Bqu
B区 bqu
C区 Cqu
C区 cqu
D区 Dqu
D区 dqu
E区 Equ
E区 equ
F区 Fqu
F区 fqu
A组 Azu
A组 azu
B组 Bzu
B组 bzu
C组 Czu
C组 czu
D组 Dzu
D组 dzu
E组 Ezu
E组 ezu
F组 Fzu
F组 fzu
B哥 Bge
B哥 bge
Q版 Qbj
Q版 qbj
A班 Abj
A班 abj
B班 Bbj
B班 bbj
C班 Cbj
C班 cbj
D班 Dbj
D班 dbj
老K lkK
老K lkk
加Q jwQ
加Q jwq
加QQ jwQQ
加QQ jwqq
A座 Azo
A座 azo
B座 Bzo
B座 bzo
C座 Czo
C座 czo
D座 Dzo
D座 dzo
E座 Ezo
E座 ezo
F座 Fzo
F座 fzo
H版 Hbj
H版 hbj
A口 Akb
A口 akb
B口 Bkb
B口 bkb
C口 Ckb
C口 ckb
D口 Dkb
D口 dkb
E口 Ekb
E口 ekb
F口 Fkb
F口 fkb
A出口 Aiukb
A出口 aiukb
B出口 Biukb
B出口 biukb
C出口 Ciukb
C出口 ciukb
D出口 Diukb
D出口 diukb
E出口 Eiukb
E出口 eiukb
F出口 Fiukb
F出口 fiukb
A楼 Alb
A楼 alb
B楼 Blb
B楼 blb
C楼 Clb
C楼 clb
D楼 Dlb
D楼 dlb
E楼 Elb
E楼 elb
F楼 Flb
F楼 flb
A型号 Axyhk
A型号 axyhk
B型号 Bxyhk
B型号 bxyhk
C型号 Cxyhk
C型号 cxyhk
D型号 Dxyhk
D型号 dxyhk
E型号 Exyhk
E型号 exyhk
F型号 Fxyhk
F型号 fxyhk
A型 Axy
A型 axy
B型 Bxy
B型 bxy
C型 Cxy
C型 cxy
D型 Dxy
D型 dxy
E型 Exy
E型 exy
F型 Fxy
F型 fxy
A款 Akr
A款 akr
B款 Bkr
B款 bkr
C款 Ckr
C款 ckr
D款 Dkr
D款 dkr
E款 Ekr
E款 ekr
F款 Fkr
F款 fkr
A栋 Ads
A栋 ads
B栋 Bds
B栋 bds
C栋 Cds
C栋 cds
D栋 Dds
D栋 dds
E栋 Eds
E栋 eds
F栋 Fds
F栋 fds
X轴 Xvb
X轴 xvb
Y轴 Yvb
Y轴 yvb
Z轴 Zvb
Z轴 zvb
V领 Vly
V领 vly
V字领 Vzily
V字领 vzily
V字形 Vzixy
V字形 vzixy
IT业 ITye
IT业 itye
IT行业 IThhye
IT行业 ithhye
K线 Kxm
K线 kxm
K线图 Kxmtu
K线图 kxmtu
日K线 riKxm
日K线 rikxm
周K线 vbKxm
周K线 vbkxm
月K线 ytKxm
月K线 ytkxm
T台 Ttl
T台 ttl
TF卡 TFka
TF卡 tfka
N年 Nnm
N年 nnm
A点 Adm
A点 adm
B点 Bdm
B点 bdm
A屏 Apy
A屏 apy
OK吗 OKma
OK吗 okma
OK嘛 OKma
OK嘛 okma
OK么 OKme
OK么 okme
OK呀 OKya
OK呀 okya
OK不 OKbu
OK不 okbu
BB机 BBji
BB机 bbji
做B超 zoBik
做B超 zobik
DJ版 DJbj
DJ版 djbj
唱K ihK
唱K ihk
PK赛 PKsl
PK赛 pksl
A和B AheB
A和B aheb
X和Y XheY
X和Y xhey
查IP iaIP
查IP iaip
封IP fgIP
封IP fgip
换IP hrIP
换IP hrip
VIP卡 VIPka
VIP卡 vipka
VIP会员 VIPhvyr
VIP会员 viphvyr
AAA级 AAAji
AAA级 aaaji
第N次 diNci
第N次 dinci
发EMS faEMS
发EMS faems
DVD版 DVDbj
DVD版 dvdbj
USB线 USBxm
USB线 usbxm
USB口 USBkb
USB口 usbkb
USB接口 USBjxkb
USB接口 usbjxkb
X档案 Xdhan
X档案 xdhan
n次方 ncifh
N多人 Ndorf
N多人 ndorf
S曲线 Squxm
S曲线 squxm
DJ舞曲 DJwuqu
DJ舞曲 djwuqu
充Q币 isQbi
充Q币 isqbi
就OK jqOK
就OK jqok
不OK buOK
不OK buok
很OK hfOK
很OK hfok
特拉法尔加·D·瓦铁尔·罗 telafaerjwDwatxerlo
特拉法尔加·D·瓦铁尔·罗 telafaerjwdwatxerlo
开party klparty
Chromium系 Chromiumxi
Chromium系 chromiumxi
Chrome系 Chromexi
Chrome系 chromexi
QQ游戏 QQybxi
QQ游戏 qqybxi
QQ游戏大厅 QQybxidaty
QQ游戏大厅 qqybxidaty
QQ音速 QQynsu
QQ音速 qqynsu
QQ飞车 QQfzie
QQ飞车 qqfzie
QQ三国 QQsjgo
QQ三国 qqsjgo
4S店 siSdm
4S店 sisdm
丰田AE86 fgtmAEbalq
丰田AE86 fgtmaebalq
TF版 TFbj
TF版 tfbj
TF版本 TFbjbf
TF版本 tfbjbf
O不OK ObuOK
O不OK obuok
人均GDP rfjpGDP
人均GDP rfjpgdp
V8引擎 Vbaynqy
V8引擎 vbaynqy

914
en_dicts/cn_en_flypy.txt Normal file
View File

@@ -0,0 +1,914 @@
# Rime table
# coding: utf-8
#@/db_name cn_en_flypy.txt
#@/db_type tabledb
#
# https://github.com/iDvel/rime-ice
# ------- 中英混输词库 for 小鹤双拼 -------
# 由 others/cn_en.txt 自动生成
#
# 此行之后不能写注释
X光 Xgl
X光 xgl
X光片 Xglpm
X光片 xglpm
X射线 Xuexm
X射线 xuexm
T恤 Txu
T恤 txu
T恤衫 Txuuj
T恤衫 txuuj
AD钙奶 ADgdnd
AD钙奶 adgdnd
UU加速器 UUjxsuqi
UU加速器 uujxsuqi
Cinity厅 Cinitytk
Cinity厅 cinitytk
Eul的神圣法杖 Euldeufugfavh
Eul的神圣法杖 euldeufugfavh
A杖 Avh
A杖 avh
红Buff hsBuff
红Buff hsbuff
蓝Buff ljBuff
蓝Buff ljbuff
老Baby lcBaby
老Baby lcbaby
小Baby xnBaby
小Baby xnbaby
艾AA aiAA
艾AA aiaa
炒CP icCP
炒CP iccp
嗑CP keCP
嗑CP kecp
U盘 Upj
U盘 upj
B站 Bvj
B站 bvj
V站 Vvj
V站 vvj
P站 Pvj
P站 pvj
大V daV
大V dav
Q币 Qbi
Q币 qbi
QQ号 QQhc
QQ号 qqhc
QQ号码 QQhcma
QQ号码 qqhcma
QQ空间 QQksjm
QQ空间 qqksjm
QQ群 QQqy
QQ群 qqqy
QQ邮箱 QQyzxl
QQ邮箱 qqyzxl
QQ音乐 QQybyt
QQ音乐 qqybyt
QQ拼音 QQpbyb
QQ拼音 qqpbyb
QQ会员 QQhvyr
QQ会员 qqhvyr
QQ好友 QQhcyz
QQ好友 qqhcyz
QQ输入法 QQuurufa
QQ输入法 qquurufa
Dock栏 Docklj
Dock栏 docklj
阿Q精神 aaQjkuf
阿Q精神 aaqjkuf
Win版 Winbj
Win版 winbj
Win版本 Winbjbf
Win版本 winbjbf
Windows版 Windowsbj
Windows版 windowsbj
Windows版本 Windowsbjbf
Windows版本 windowsbjbf
Mac版 Macbj
Mac版 macbj
Mac版本 Macbjbf
Mac版本 macbjbf
macOS版 macOSbj
macOS版 macosbj
macOS版本 macOSbjbf
macOS版本 macosbjbf
iOS版 iOSbj
iOS版 iosbj
iOS版本 iOSbjbf
iOS版本 iosbjbf
Android版 Androidbj
Android版 androidbj
Android版本 Androidbjbf
Android版本 androidbjbf
Web版 Webbj
Web版 webbj
Web版本 Webbjbf
Web版本 webbjbf
PC端 PCdr
PC端 pcdr
Win端 Windr
Win端 windr
Windows端 Windowsdr
Windows端 windowsdr
Mac端 Macdr
Mac端 macdr
macOS端 macOSdr
macOS端 macosdr
Web端 Webdr
Web端 webdr
iOS端 iOSdr
iOS端 iosdr
Android端 Androiddr
Android端 androiddr
e招贷 evcdd
G胖 Gph
G胖 gph
Up主 Upvu
Up主 upvu
BOSS直聘 BOSSvipb
BOSS直聘 bossvipb
P社 Pue
P社 pue
V社 Vue
V社 vue
Go语言 Goyuyj
Go语言 goyuyj
维生素A wwugsuA
维生素A wwugsua
维生素B wwugsuB
维生素B wwugsub
维生素C wwugsuC
维生素C wwugsuc
维生素D wwugsuD
维生素D wwugsud
维生素E wwugsuE
维生素E wwugsue
维生素K wwugsuK
维生素K wwugsuk
维A wwA
维A wwa
维B wwB
维B wwb
维C wwC
维C wwc
维D wwD
维D wwd
维E wwE
维E wwe
维K wwK
维K wwk
维E乳 wwEru
维E乳 wweru
维生素E乳 wwugsuEru
维生素E乳 wwugsueru
阿Q aaQ
阿Q aaq
阿Q正传 aaQvgvr
阿Q正传 aaqvgvr
单边z变换 djbmzbmhr
逗B dzB
逗B dzb
哆啦A梦 dolaAmg
哆啦A梦 dolaamg
二B erB
二B erb
卡拉OK kalaOK
卡拉OK kalaok
牛B nqB
牛B nqb
三K党 sjKdh
三K党 sjkdh
傻B uaB
傻B uab
傻X uaX
傻X uax
智能ABC vingABC
智能ABC vingabc
智能ABC双拼 vingABCulpb
智能ABC双拼 vingabculpb
智能ABC双拼方案 vingABCulpbfhan
智能ABC双拼方案 vingabculpbfhan
智能ABC输入法 vingABCuurufa
智能ABC输入法 vingabcuurufa
装B vlB
装B vlb
A股 Agu
A股 agu
B股 Bgu
B股 bgu
H股 Hgu
H股 hgu
N股 Ngu
N股 ngu
S股 Sgu
S股 sgu
A盘 Apj
A盘 apj
A片 Apm
A片 apm
AA制 AAvi
AA制 aavi
ATM机 ATMji
ATM机 atmji
B超 Bic
B超 bic
B淋巴细胞 Blbbaxibc
B淋巴细胞 blbbaxibc
B盘 Bpj
B盘 bpj
B细胞 Bxibc
B细胞 bxibc
C盘 Cpj
C盘 cpj
C语言 Cyuyj
C语言 cyuyj
D盘 Dpj
D盘 dpj
E盘 Epj
E盘 epj
F盘 Fpj
F盘 fpj
G点 Gdm
G点 gdm
G盘 Gpj
G盘 gpj
IP地址 IPdivi
IP地址 ipdivi
IP电话 IPdmhx
IP电话 ipdmhx
IP卡 IPka
IP卡 ipka
J盘 Jpj
J盘 jpj
K宝 Kbc
K宝 kbc
K粉 Kff
K粉 kff
K歌 Kge
K歌 kge
K歌王 Kgewh
K歌王 kgewh
POS机 POSji
POS机 posji
SIM卡 SIMka
SIM卡 simka
T淋巴细胞 Tlbbaxibc
T淋巴细胞 tlbbaxibc
T细胞 Txibc
T细胞 txibc
T型台 Txktd
T型台 txktd
U盾 Udy
U盾 udy
S形 Sxk
S形 sxk
U形 Uxk
U形 uxk
U形管 Uxkgr
U形管 uxkgr
UIM卡 UIMka
UIM卡 uimka
USIM卡 USIMka
USIM卡 usimka
X刀 Xdc
X刀 xdc
X染色体 Xrjseti
X染色体 xrjseti
Y染色体 Yrjseti
Y染色体 yrjseti
z变换 zbmhr
z逆变换 znibmhr
D之国 Dvigo
D之国 dvigo
D之一族 Dviyizu
D之一族 dviyizu
Beta版 Betabj
Beta版 betabj
Beta版本 Betabjbf
Beta版本 betabjbf
AV女优 AVnvyz
AV女优 avnvyz
X战警 Xvjjk
X战警 xvjjk
YY语音 YYyuyb
YY语音 yyyuyb
A4纸 Asivi
A4纸 asivi
A4腰 Asiyc
A4腰 asiyc
N多 Ndo
N多 ndo
N多个 Ndoge
N多个 ndoge
N次 Nci
N次 nci
N遍 Nbm
N遍 nbm
蒙奇·D·路飞 mgqiDlufw
蒙奇·D·路飞 mgqidlufw
蒙奇·D·龙 mgqiDls
蒙奇·D·龙 mgqidls
乔治·R·R·马丁 qnviRRmadk
乔治·R·R·马丁 qnvirrmadk
哥尔·D·罗杰 geerDlojp
哥尔·D·罗杰 geerdlojp
马歇尔·D·蒂奇 maxperDdiqi
马歇尔·D·蒂奇 maxperddiqi
X·德雷克 Xdelwke
X·德雷克 xdelwke
蒙奇·D·卡普 mgqiDkapu
蒙奇·D·卡普 mgqidkapu
波特卡斯·D·艾斯 botekasiDaisi
波特卡斯·D·艾斯 botekasidaisi
VIP中P VIPvsP
VIP中P vipvsp
QQ秀 QQxq
QQ秀 qqxq
Big胆 Bigdj
Big胆 bigdj
我叫MT wojnMT
我叫MT wojnmt
谜拟Q miniQ
谜拟Q miniq
多边兽Z dobmuzZ
多边兽Z dobmuzz
藤子·F·不二雄 tgziFbuerxs
藤子·F·不二雄 tgzifbuerxs
PC版 PCbj
PC版 pcbj
PC版本 PCbjbf
PC版本 pcbjbf
A塔 Ata
A塔 ata
平A pkA
平A pka
立Flag liFlag
立Flag liflag
C罗 Clo
C罗 clo
IE浏览器 IElqljqi
IE浏览器 ielqljqi
A壳 Ake
A壳 ake
B壳 Bke
B壳 bke
C壳 Cke
C壳 cke
D壳 Dke
D壳 dke
A面 Amm
A面 amm
B面 Bmm
B面 bmm
C面 Cmm
C面 cmm
D面 Dmm
D面 dmm
Server酱 Serverjl
Server酱 serverjl
P图 Ptu
P图 ptu
P个图 Pgetu
P个图 pgetu
P一下 Pyixx
P一下 pyixx
芭比Q babiQ
芭比Q babiq
芭比Q了 babiQle
芭比Q了 babiqle
QQ堂 QQth
QQ堂 qqth
PIN码 PINma
PIN码 pinma
PUK码 PUKma
PUK码 pukma
关底BOSS grdiBOSS
关底BOSS grdiboss
AA吧 AAba
AA吧 aaba
喊cut hjcut
ASCII码 ASCIIma
ASCII码 asciima
Go圣经 Gougjk
Go圣经 gougjk
江南Style jlnjStyle
江南Style jlnjstyle
头文字D tzwfziD
头文字D tzwfzid
三无Marblue sjwuMarblue
三无Marblue sjwumarblue
A罩杯 Avcbw
A罩杯 avcbw
B罩杯 Bvcbw
B罩杯 bvcbw
C罩杯 Cvcbw
C罩杯 cvcbw
D罩杯 Dvcbw
D罩杯 dvcbw
E罩杯 Evcbw
E罩杯 evcbw
F罩杯 Fvcbw
F罩杯 fvcbw
G罩杯 Gvcbw
G罩杯 gvcbw
H罩杯 Hvcbw
H罩杯 hvcbw
A罩 Avc
A罩 avc
B罩 Bvc
B罩 bvc
C罩 Cvc
C罩 cvc
D罩 Dvc
D罩 dvc
E罩 Evc
E罩 evc
F罩 Fvc
F罩 fvc
G罩 Gvc
G罩 gvc
H罩 Hvc
H罩 hvc
A杯 Abw
A杯 abw
B杯 Bbw
B杯 bbw
C杯 Cbw
C杯 cbw
D杯 Dbw
D杯 dbw
E杯 Ebw
E杯 ebw
F杯 Fbw
F杯 fbw
G杯 Gbw
G杯 gbw
H杯 Hbw
H杯 hbw
TV版 TVbj
TV版 tvbj
TV版本 TVbjbf
TV版本 tvbjbf
芒果TV mhgoTV
芒果TV mhgotv
V字仇杀队 Vziizuadv
V字仇杀队 vziizuadv
V怪客 Vgkke
V怪客 vgkke
V煞 Vua
V煞 vua
Q弹 Qtj
Q弹 qtj
Steam云 Steamyy
Steam云 steamyy
M系列 Mxilp
M系列 mxilp
阿Sir aaSir
阿Sir aasir
Pro版 Probj
Pro版 probj
Pro版本 Probjbf
Pro版本 probjbf
Lite版 Litebj
Lite版 litebj
Lite版本 Litebjbf
Lite版本 litebjbf
X教授 Xjnuz
X教授 xjnuz
Papi酱 Papijl
Papi酱 papijl
MAC地址 MACdivi
MAC地址 macdivi
DNS劫持 DNSjpii
DNS劫持 dnsjpii
DNS污染 DNSwurj
DNS污染 dnswurj
OK了 OKle
OK了 okle
OK啦 OKla
OK啦 okla
OK啊 OKaa
OK啊 okaa
我OK啊 woOKaa
我OK啊 wookaa
OK了吗 OKlema
OK了吗 oklema
腾讯QQ tgxyQQ
腾讯QQ tgxyqq
公网IP gswhIP
公网IP gswhip
Web开发 Webkdfa
Web开发 webkdfa
圈X qrX
圈X qrx
Switch版 Switchbj
Switch版 switchbj
Switch版本 Switchbjbf
Switch版本 switchbjbf
A型血 Axkxt
A型血 axkxt
A血型 Axtxk
A血型 axtxk
B型血 Bxkxt
B型血 bxkxt
B血型 Bxtxk
B血型 bxtxk
AB型 ABxk
AB型 abxk
AB型血 ABxkxt
AB型血 abxkxt
AB血型 ABxtxk
AB血型 abxtxk
O型 Oxk
O型 oxk
O型血 Oxkxt
O型血 oxkxt
O血型 Oxtxk
O血型 oxtxk
IT界 ITjp
IT界 itjp
Fn键 Fnjm
Fn键 fnjm
Cmd键 Cmdjm
Cmd键 cmdjm
Command键 Commandjm
Command键 commandjm
Ctrl键 Ctrljm
Ctrl键 ctrljm
Control键 Controljm
Control键 controljm
Opt键 Optjm
Opt键 optjm
Option键 Optionjm
Option键 optionjm
Shift键 Shiftjm
Shift键 shiftjm
Tab键 Tabjm
Tab键 tabjm
Caps键 Capsjm
Caps键 capsjm
CapsLock键 CapsLockjm
CapsLock键 capslockjm
Return键 Returnjm
Return键 returnjm
Enter键 Enterjm
Enter键 enterjm
Space键 Spacejm
Space键 spacejm
Backspace键 Backspacejm
Backspace键 backspacejm
Del键 Deljm
Del键 deljm
Delete键 Deletejm
Delete键 deletejm
Esc键 Escjm
Esc键 escjm
Eject键 Ejectjm
Eject键 ejectjm
J·K·罗琳 JKlolb
J·K·罗琳 jklolb
周刊少年Jump vzkjucnmJump
周刊少年Jump vzkjucnmjump
ICP备案 ICPbwan
ICP备案 icpbwan
啥bug uabug
有bug yzbug
没bug mwbug
没有bug mwyzbug
卡bug kabug
提bug tibug
写bug xpbug
改bug gdbug
查bug iabug
找bug vcbug
J·R·R·托尔金 JRRtoerjb
J·R·R·托尔金 jrrtoerjb
异维A酸 yiwwAsr
异维A酸 yiwwasr
互fo hufo
减CD jmCD
减CD jmcd
随身Wi-Fi svufWiFi
随身Wi-Fi svufwifi
U型锁 Uxkso
U型锁 uxkso
Go程 Goig
Go程 goig
TG群 TGqy
TG群 tgqy
Telegram群 Telegramqy
Telegram群 telegramqy
Wi-Fi密码 WiFimima
Wi-Fi密码 wifimima
DNA检测 DNAjmce
DNA检测 dnajmce
A级 Aji
A级 aji
B级 Bji
B级 bji
C级 Cji
C级 cji
D级 Dji
D级 dji
S级 Sji
S级 sji
拍CT pdCT
拍CT pdct
CT检查 CTjmia
CT检查 ctjmia
PVC管 PVCgr
PVC管 pvcgr
DoS攻击 DoSgsji
DoS攻击 dosgsji
DDoS攻击 DDoSgsji
DDoS攻击 ddosgsji
N卡 Nka
N卡 nka
A卡 Aka
A卡 aka
M码 Mma
M码 mma
S码 Sma
S码 sma
L码 Lma
L码 lma
Q我 Qwo
Q我 qwo
R级 Rji
R级 rji
A区 Aqu
A区 aqu
B区 Bqu
B区 bqu
C区 Cqu
C区 cqu
D区 Dqu
D区 dqu
E区 Equ
E区 equ
F区 Fqu
F区 fqu
A组 Azu
A组 azu
B组 Bzu
B组 bzu
C组 Czu
C组 czu
D组 Dzu
D组 dzu
E组 Ezu
E组 ezu
F组 Fzu
F组 fzu
B哥 Bge
B哥 bge
Q版 Qbj
Q版 qbj
A班 Abj
A班 abj
B班 Bbj
B班 bbj
C班 Cbj
C班 cbj
D班 Dbj
D班 dbj
老K lcK
老K lck
加Q jxQ
加Q jxq
加QQ jxQQ
加QQ jxqq
A座 Azo
A座 azo
B座 Bzo
B座 bzo
C座 Czo
C座 czo
D座 Dzo
D座 dzo
E座 Ezo
E座 ezo
F座 Fzo
F座 fzo
H版 Hbj
H版 hbj
A口 Akz
A口 akz
B口 Bkz
B口 bkz
C口 Ckz
C口 ckz
D口 Dkz
D口 dkz
E口 Ekz
E口 ekz
F口 Fkz
F口 fkz
A出口 Aiukz
A出口 aiukz
B出口 Biukz
B出口 biukz
C出口 Ciukz
C出口 ciukz
D出口 Diukz
D出口 diukz
E出口 Eiukz
E出口 eiukz
F出口 Fiukz
F出口 fiukz
A楼 Alz
A楼 alz
B楼 Blz
B楼 blz
C楼 Clz
C楼 clz
D楼 Dlz
D楼 dlz
E楼 Elz
E楼 elz
F楼 Flz
F楼 flz
A型号 Axkhc
A型号 axkhc
B型号 Bxkhc
B型号 bxkhc
C型号 Cxkhc
C型号 cxkhc
D型号 Dxkhc
D型号 dxkhc
E型号 Exkhc
E型号 exkhc
F型号 Fxkhc
F型号 fxkhc
A型 Axk
A型 axk
B型 Bxk
B型 bxk
C型 Cxk
C型 cxk
D型 Dxk
D型 dxk
E型 Exk
E型 exk
F型 Fxk
F型 fxk
A款 Akr
A款 akr
B款 Bkr
B款 bkr
C款 Ckr
C款 ckr
D款 Dkr
D款 dkr
E款 Ekr
E款 ekr
F款 Fkr
F款 fkr
A栋 Ads
A栋 ads
B栋 Bds
B栋 bds
C栋 Cds
C栋 cds
D栋 Dds
D栋 dds
E栋 Eds
E栋 eds
F栋 Fds
F栋 fds
X轴 Xvz
X轴 xvz
Y轴 Yvz
Y轴 yvz
Z轴 Zvz
Z轴 zvz
V领 Vlk
V领 vlk
V字领 Vzilk
V字领 vzilk
V字形 Vzixk
V字形 vzixk
IT业 ITye
IT业 itye
IT行业 IThhye
IT行业 ithhye
K线 Kxm
K线 kxm
K线图 Kxmtu
K线图 kxmtu
日K线 riKxm
日K线 rikxm
周K线 vzKxm
周K线 vzkxm
月K线 ytKxm
月K线 ytkxm
T台 Ttd
T台 ttd
TF卡 TFka
TF卡 tfka
N年 Nnm
N年 nnm
A点 Adm
A点 adm
B点 Bdm
B点 bdm
A屏 Apk
A屏 apk
OK吗 OKma
OK吗 okma
OK嘛 OKma
OK嘛 okma
OK么 OKme
OK么 okme
OK呀 OKya
OK呀 okya
OK不 OKbu
OK不 okbu
BB机 BBji
BB机 bbji
做B超 zoBic
做B超 zobic
DJ版 DJbj
DJ版 djbj
唱K ihK
唱K ihk
PK赛 PKsd
PK赛 pksd
A和B AheB
A和B aheb
X和Y XheY
X和Y xhey
查IP iaIP
查IP iaip
封IP fgIP
封IP fgip
换IP hrIP
换IP hrip
VIP卡 VIPka
VIP卡 vipka
VIP会员 VIPhvyr
VIP会员 viphvyr
AAA级 AAAji
AAA级 aaaji
第N次 diNci
第N次 dinci
发EMS faEMS
发EMS faems
DVD版 DVDbj
DVD版 dvdbj
USB线 USBxm
USB线 usbxm
USB口 USBkz
USB口 usbkz
USB接口 USBjpkz
USB接口 usbjpkz
X档案 Xdhan
X档案 xdhan
n次方 ncifh
N多人 Ndorf
N多人 ndorf
S曲线 Squxm
S曲线 squxm
DJ舞曲 DJwuqu
DJ舞曲 djwuqu
充Q币 isQbi
充Q币 isqbi
就OK jqOK
就OK jqok
不OK buOK
不OK buok
很OK hfOK
很OK hfok
特拉法尔加·D·瓦铁尔·罗 telafaerjxDwatperlo
特拉法尔加·D·瓦铁尔·罗 telafaerjxdwatperlo
开party kdparty
Chromium系 Chromiumxi
Chromium系 chromiumxi
Chrome系 Chromexi
Chrome系 chromexi
QQ游戏 QQyzxi
QQ游戏 qqyzxi
QQ游戏大厅 QQyzxidatk
QQ游戏大厅 qqyzxidatk
QQ音速 QQybsu
QQ音速 qqybsu
QQ飞车 QQfwie
QQ飞车 qqfwie
QQ三国 QQsjgo
QQ三国 qqsjgo
4S店 siSdm
4S店 sisdm
丰田AE86 fgtmAEbalq
丰田AE86 fgtmaebalq
TF版 TFbj
TF版 tfbj
TF版本 TFbjbf
TF版本 tfbjbf
O不OK ObuOK
O不OK obuok
人均GDP rfjyGDP
人均GDP rfjygdp
V8引擎 Vbaybqk
V8引擎 vbaybqk

914
en_dicts/cn_en_mspy.txt Normal file
View File

@@ -0,0 +1,914 @@
# Rime table
# coding: utf-8
#@/db_name cn_en_mspy.txt
#@/db_type tabledb
#
# https://github.com/iDvel/rime-ice
# ------- 中英混输词库 for 微软双拼 -------
# 由 others/cn_en.txt 自动生成
#
# 此行之后不能写注释
X光 Xgd
X光 xgd
X光片 Xgdpm
X光片 xgdpm
X射线 Xuexm
X射线 xuexm
T恤 Txu
T恤 txu
T恤衫 Txuuj
T恤衫 txuuj
AD钙奶 ADglnl
AD钙奶 adglnl
UU加速器 UUjwsuqi
UU加速器 uujwsuqi
Cinity厅 Cinityt;
Cinity厅 cinityt;
Eul的神圣法杖 Euldeufugfavh
Eul的神圣法杖 euldeufugfavh
A杖 Avh
A杖 avh
红Buff hsBuff
红Buff hsbuff
蓝Buff ljBuff
蓝Buff ljbuff
老Baby lkBaby
老Baby lkbaby
小Baby xcBaby
小Baby xcbaby
艾AA olAA
艾AA olaa
炒CP ikCP
炒CP ikcp
嗑CP keCP
嗑CP kecp
U盘 Upj
U盘 upj
B站 Bvj
B站 bvj
V站 Vvj
V站 vvj
P站 Pvj
P站 pvj
大V daV
大V dav
Q币 Qbi
Q币 qbi
QQ号 QQhk
QQ号 qqhk
QQ号码 QQhkma
QQ号码 qqhkma
QQ空间 QQksjm
QQ空间 qqksjm
QQ群 QQqp
QQ群 qqqp
QQ邮箱 QQybxd
QQ邮箱 qqybxd
QQ音乐 QQynyt
QQ音乐 qqynyt
QQ拼音 QQpnyn
QQ拼音 qqpnyn
QQ会员 QQhvyr
QQ会员 qqhvyr
QQ好友 QQhkyb
QQ好友 qqhkyb
QQ输入法 QQuurufa
QQ输入法 qquurufa
Dock栏 Docklj
Dock栏 docklj
阿Q精神 oaQj;uf
阿Q精神 oaqj;uf
Win版 Winbj
Win版 winbj
Win版本 Winbjbf
Win版本 winbjbf
Windows版 Windowsbj
Windows版 windowsbj
Windows版本 Windowsbjbf
Windows版本 windowsbjbf
Mac版 Macbj
Mac版 macbj
Mac版本 Macbjbf
Mac版本 macbjbf
macOS版 macOSbj
macOS版 macosbj
macOS版本 macOSbjbf
macOS版本 macosbjbf
iOS版 iOSbj
iOS版 iosbj
iOS版本 iOSbjbf
iOS版本 iosbjbf
Android版 Androidbj
Android版 androidbj
Android版本 Androidbjbf
Android版本 androidbjbf
Web版 Webbj
Web版 webbj
Web版本 Webbjbf
Web版本 webbjbf
PC端 PCdr
PC端 pcdr
Win端 Windr
Win端 windr
Windows端 Windowsdr
Windows端 windowsdr
Mac端 Macdr
Mac端 macdr
macOS端 macOSdr
macOS端 macosdr
Web端 Webdr
Web端 webdr
iOS端 iOSdr
iOS端 iosdr
Android端 Androiddr
Android端 androiddr
e招贷 evkdl
G胖 Gph
G胖 gph
Up主 Upvu
Up主 upvu
BOSS直聘 BOSSvipn
BOSS直聘 bossvipn
P社 Pue
P社 pue
V社 Vue
V社 vue
Go语言 Goyuyj
Go语言 goyuyj
维生素A wzugsuA
维生素A wzugsua
维生素B wzugsuB
维生素B wzugsub
维生素C wzugsuC
维生素C wzugsuc
维生素D wzugsuD
维生素D wzugsud
维生素E wzugsuE
维生素E wzugsue
维生素K wzugsuK
维生素K wzugsuk
维A wzA
维A wza
维B wzB
维B wzb
维C wzC
维C wzc
维D wzD
维D wzd
维E wzE
维E wze
维K wzK
维K wzk
维E乳 wzEru
维E乳 wzeru
维生素E乳 wzugsuEru
维生素E乳 wzugsueru
阿Q oaQ
阿Q oaq
阿Q正传 oaQvgvr
阿Q正传 oaqvgvr
单边z变换 djbmzbmhr
逗B dbB
逗B dbb
哆啦A梦 dolaAmg
哆啦A梦 dolaamg
二B orB
二B orb
卡拉OK kalaOK
卡拉OK kalaok
牛B nqB
牛B nqb
三K党 sjKdh
三K党 sjkdh
傻B uaB
傻B uab
傻X uaX
傻X uax
智能ABC vingABC
智能ABC vingabc
智能ABC双拼 vingABCudpn
智能ABC双拼 vingabcudpn
智能ABC双拼方案 vingABCudpnfhoj
智能ABC双拼方案 vingabcudpnfhoj
智能ABC输入法 vingABCuurufa
智能ABC输入法 vingabcuurufa
装B vdB
装B vdb
A股 Agu
A股 agu
B股 Bgu
B股 bgu
H股 Hgu
H股 hgu
N股 Ngu
N股 ngu
S股 Sgu
S股 sgu
A盘 Apj
A盘 apj
A片 Apm
A片 apm
AA制 AAvi
AA制 aavi
ATM机 ATMji
ATM机 atmji
B超 Bik
B超 bik
B淋巴细胞 Blnbaxibk
B淋巴细胞 blnbaxibk
B盘 Bpj
B盘 bpj
B细胞 Bxibk
B细胞 bxibk
C盘 Cpj
C盘 cpj
C语言 Cyuyj
C语言 cyuyj
D盘 Dpj
D盘 dpj
E盘 Epj
E盘 epj
F盘 Fpj
F盘 fpj
G点 Gdm
G点 gdm
G盘 Gpj
G盘 gpj
IP地址 IPdivi
IP地址 ipdivi
IP电话 IPdmhw
IP电话 ipdmhw
IP卡 IPka
IP卡 ipka
J盘 Jpj
J盘 jpj
K宝 Kbk
K宝 kbk
K粉 Kff
K粉 kff
K歌 Kge
K歌 kge
K歌王 Kgewh
K歌王 kgewh
POS机 POSji
POS机 posji
SIM卡 SIMka
SIM卡 simka
T淋巴细胞 Tlnbaxibk
T淋巴细胞 tlnbaxibk
T细胞 Txibk
T细胞 txibk
T型台 Tx;tl
T型台 tx;tl
U盾 Udp
U盾 udp
S形 Sx;
S形 sx;
U形 Ux;
U形 ux;
U形管 Ux;gr
U形管 ux;gr
UIM卡 UIMka
UIM卡 uimka
USIM卡 USIMka
USIM卡 usimka
X刀 Xdk
X刀 xdk
X染色体 Xrjseti
X染色体 xrjseti
Y染色体 Yrjseti
Y染色体 yrjseti
z变换 zbmhr
z逆变换 znibmhr
D之国 Dvigo
D之国 dvigo
D之一族 Dviyizu
D之一族 dviyizu
Beta版 Betabj
Beta版 betabj
Beta版本 Betabjbf
Beta版本 betabjbf
AV女优 AVnvyb
AV女优 avnvyb
X战警 Xvjj;
X战警 xvjj;
YY语音 YYyuyn
YY语音 yyyuyn
A4纸 Asivi
A4纸 asivi
A4腰 Asiyk
A4腰 asiyk
N多 Ndo
N多 ndo
N多个 Ndoge
N多个 ndoge
N次 Nci
N次 nci
N遍 Nbm
N遍 nbm
蒙奇·D·路飞 mgqiDlufz
蒙奇·D·路飞 mgqidlufz
蒙奇·D·龙 mgqiDls
蒙奇·D·龙 mgqidls
乔治·R·R·马丁 qcviRRmad;
乔治·R·R·马丁 qcvirrmad;
哥尔·D·罗杰 georDlojx
哥尔·D·罗杰 geordlojx
马歇尔·D·蒂奇 maxxorDdiqi
马歇尔·D·蒂奇 maxxorddiqi
X·德雷克 Xdelzke
X·德雷克 xdelzke
蒙奇·D·卡普 mgqiDkapu
蒙奇·D·卡普 mgqidkapu
波特卡斯·D·艾斯 botekasiDolsi
波特卡斯·D·艾斯 botekasidolsi
VIP中P VIPvsP
VIP中P vipvsp
QQ秀 QQxq
QQ秀 qqxq
Big胆 Bigdj
Big胆 bigdj
我叫MT wojcMT
我叫MT wojcmt
谜拟Q miniQ
谜拟Q miniq
多边兽Z dobmubZ
多边兽Z dobmubz
藤子·F·不二雄 tgziFbuorxs
藤子·F·不二雄 tgzifbuorxs
PC版 PCbj
PC版 pcbj
PC版本 PCbjbf
PC版本 pcbjbf
A塔 Ata
A塔 ata
平A p;A
平A p;a
立Flag liFlag
立Flag liflag
C罗 Clo
C罗 clo
IE浏览器 IElqljqi
IE浏览器 ielqljqi
A壳 Ake
A壳 ake
B壳 Bke
B壳 bke
C壳 Cke
C壳 cke
D壳 Dke
D壳 dke
A面 Amm
A面 amm
B面 Bmm
B面 bmm
C面 Cmm
C面 cmm
D面 Dmm
D面 dmm
Server酱 Serverjd
Server酱 serverjd
P图 Ptu
P图 ptu
P个图 Pgetu
P个图 pgetu
P一下 Pyixw
P一下 pyixw
芭比Q babiQ
芭比Q babiq
芭比Q了 babiQle
芭比Q了 babiqle
QQ堂 QQth
QQ堂 qqth
PIN码 PINma
PIN码 pinma
PUK码 PUKma
PUK码 pukma
关底BOSS grdiBOSS
关底BOSS grdiboss
AA吧 AAba
AA吧 aaba
喊cut hjcut
ASCII码 ASCIIma
ASCII码 asciima
Go圣经 Gougj;
Go圣经 gougj;
江南Style jdnjStyle
江南Style jdnjstyle
头文字D tbwfziD
头文字D tbwfzid
三无Marblue sjwuMarblue
三无Marblue sjwumarblue
A罩杯 Avkbz
A罩杯 avkbz
B罩杯 Bvkbz
B罩杯 bvkbz
C罩杯 Cvkbz
C罩杯 cvkbz
D罩杯 Dvkbz
D罩杯 dvkbz
E罩杯 Evkbz
E罩杯 evkbz
F罩杯 Fvkbz
F罩杯 fvkbz
G罩杯 Gvkbz
G罩杯 gvkbz
H罩杯 Hvkbz
H罩杯 hvkbz
A罩 Avk
A罩 avk
B罩 Bvk
B罩 bvk
C罩 Cvk
C罩 cvk
D罩 Dvk
D罩 dvk
E罩 Evk
E罩 evk
F罩 Fvk
F罩 fvk
G罩 Gvk
G罩 gvk
H罩 Hvk
H罩 hvk
A杯 Abz
A杯 abz
B杯 Bbz
B杯 bbz
C杯 Cbz
C杯 cbz
D杯 Dbz
D杯 dbz
E杯 Ebz
E杯 ebz
F杯 Fbz
F杯 fbz
G杯 Gbz
G杯 gbz
H杯 Hbz
H杯 hbz
TV版 TVbj
TV版 tvbj
TV版本 TVbjbf
TV版本 tvbjbf
芒果TV mhgoTV
芒果TV mhgotv
V字仇杀队 Vziibuadv
V字仇杀队 vziibuadv
V怪客 Vgyke
V怪客 vgyke
V煞 Vua
V煞 vua
Q弹 Qtj
Q弹 qtj
Steam云 Steamyp
Steam云 steamyp
M系列 Mxilx
M系列 mxilx
阿Sir oaSir
阿Sir oasir
Pro版 Probj
Pro版 probj
Pro版本 Probjbf
Pro版本 probjbf
Lite版 Litebj
Lite版 litebj
Lite版本 Litebjbf
Lite版本 litebjbf
X教授 Xjcub
X教授 xjcub
Papi酱 Papijd
Papi酱 papijd
MAC地址 MACdivi
MAC地址 macdivi
DNS劫持 DNSjxii
DNS劫持 dnsjxii
DNS污染 DNSwurj
DNS污染 dnswurj
OK了 OKle
OK了 okle
OK啦 OKla
OK啦 okla
OK啊 OKoa
OK啊 okoa
我OK啊 woOKoa
我OK啊 wookoa
OK了吗 OKlema
OK了吗 oklema
腾讯QQ tgxpQQ
腾讯QQ tgxpqq
公网IP gswhIP
公网IP gswhip
Web开发 Webklfa
Web开发 webklfa
圈X qrX
圈X qrx
Switch版 Switchbj
Switch版 switchbj
Switch版本 Switchbjbf
Switch版本 switchbjbf
A型血 Ax;xt
A型血 ax;xt
A血型 Axtx;
A血型 axtx;
B型血 Bx;xt
B型血 bx;xt
B血型 Bxtx;
B血型 bxtx;
AB型 ABx;
AB型 abx;
AB型血 ABx;xt
AB型血 abx;xt
AB血型 ABxtx;
AB血型 abxtx;
O型 Ox;
O型 ox;
O型血 Ox;xt
O型血 ox;xt
O血型 Oxtx;
O血型 oxtx;
IT界 ITjx
IT界 itjx
Fn键 Fnjm
Fn键 fnjm
Cmd键 Cmdjm
Cmd键 cmdjm
Command键 Commandjm
Command键 commandjm
Ctrl键 Ctrljm
Ctrl键 ctrljm
Control键 Controljm
Control键 controljm
Opt键 Optjm
Opt键 optjm
Option键 Optionjm
Option键 optionjm
Shift键 Shiftjm
Shift键 shiftjm
Tab键 Tabjm
Tab键 tabjm
Caps键 Capsjm
Caps键 capsjm
CapsLock键 CapsLockjm
CapsLock键 capslockjm
Return键 Returnjm
Return键 returnjm
Enter键 Enterjm
Enter键 enterjm
Space键 Spacejm
Space键 spacejm
Backspace键 Backspacejm
Backspace键 backspacejm
Del键 Deljm
Del键 deljm
Delete键 Deletejm
Delete键 deletejm
Esc键 Escjm
Esc键 escjm
Eject键 Ejectjm
Eject键 ejectjm
J·K·罗琳 JKloln
J·K·罗琳 jkloln
周刊少年Jump vbkjuknmJump
周刊少年Jump vbkjuknmjump
ICP备案 ICPbzoj
ICP备案 icpbzoj
啥bug uabug
有bug ybbug
没bug mzbug
没有bug mzybbug
卡bug kabug
提bug tibug
写bug xxbug
改bug glbug
查bug iabug
找bug vkbug
J·R·R·托尔金 JRRtoorjn
J·R·R·托尔金 jrrtoorjn
异维A酸 yiwzAsr
异维A酸 yiwzasr
互fo hufo
减CD jmCD
减CD jmcd
随身Wi-Fi svufWiFi
随身Wi-Fi svufwifi
U型锁 Ux;so
U型锁 ux;so
Go程 Goig
Go程 goig
TG群 TGqp
TG群 tgqp
Telegram群 Telegramqp
Telegram群 telegramqp
Wi-Fi密码 WiFimima
Wi-Fi密码 wifimima
DNA检测 DNAjmce
DNA检测 dnajmce
A级 Aji
A级 aji
B级 Bji
B级 bji
C级 Cji
C级 cji
D级 Dji
D级 dji
S级 Sji
S级 sji
拍CT plCT
拍CT plct
CT检查 CTjmia
CT检查 ctjmia
PVC管 PVCgr
PVC管 pvcgr
DoS攻击 DoSgsji
DoS攻击 dosgsji
DDoS攻击 DDoSgsji
DDoS攻击 ddosgsji
N卡 Nka
N卡 nka
A卡 Aka
A卡 aka
M码 Mma
M码 mma
S码 Sma
S码 sma
L码 Lma
L码 lma
Q我 Qwo
Q我 qwo
R级 Rji
R级 rji
A区 Aqu
A区 aqu
B区 Bqu
B区 bqu
C区 Cqu
C区 cqu
D区 Dqu
D区 dqu
E区 Equ
E区 equ
F区 Fqu
F区 fqu
A组 Azu
A组 azu
B组 Bzu
B组 bzu
C组 Czu
C组 czu
D组 Dzu
D组 dzu
E组 Ezu
E组 ezu
F组 Fzu
F组 fzu
B哥 Bge
B哥 bge
Q版 Qbj
Q版 qbj
A班 Abj
A班 abj
B班 Bbj
B班 bbj
C班 Cbj
C班 cbj
D班 Dbj
D班 dbj
老K lkK
老K lkk
加Q jwQ
加Q jwq
加QQ jwQQ
加QQ jwqq
A座 Azo
A座 azo
B座 Bzo
B座 bzo
C座 Czo
C座 czo
D座 Dzo
D座 dzo
E座 Ezo
E座 ezo
F座 Fzo
F座 fzo
H版 Hbj
H版 hbj
A口 Akb
A口 akb
B口 Bkb
B口 bkb
C口 Ckb
C口 ckb
D口 Dkb
D口 dkb
E口 Ekb
E口 ekb
F口 Fkb
F口 fkb
A出口 Aiukb
A出口 aiukb
B出口 Biukb
B出口 biukb
C出口 Ciukb
C出口 ciukb
D出口 Diukb
D出口 diukb
E出口 Eiukb
E出口 eiukb
F出口 Fiukb
F出口 fiukb
A楼 Alb
A楼 alb
B楼 Blb
B楼 blb
C楼 Clb
C楼 clb
D楼 Dlb
D楼 dlb
E楼 Elb
E楼 elb
F楼 Flb
F楼 flb
A型号 Ax;hk
A型号 ax;hk
B型号 Bx;hk
B型号 bx;hk
C型号 Cx;hk
C型号 cx;hk
D型号 Dx;hk
D型号 dx;hk
E型号 Ex;hk
E型号 ex;hk
F型号 Fx;hk
F型号 fx;hk
A型 Ax;
A型 ax;
B型 Bx;
B型 bx;
C型 Cx;
C型 cx;
D型 Dx;
D型 dx;
E型 Ex;
E型 ex;
F型 Fx;
F型 fx;
A款 Akr
A款 akr
B款 Bkr
B款 bkr
C款 Ckr
C款 ckr
D款 Dkr
D款 dkr
E款 Ekr
E款 ekr
F款 Fkr
F款 fkr
A栋 Ads
A栋 ads
B栋 Bds
B栋 bds
C栋 Cds
C栋 cds
D栋 Dds
D栋 dds
E栋 Eds
E栋 eds
F栋 Fds
F栋 fds
X轴 Xvb
X轴 xvb
Y轴 Yvb
Y轴 yvb
Z轴 Zvb
Z轴 zvb
V领 Vl;
V领 vl;
V字领 Vzil;
V字领 vzil;
V字形 Vzix;
V字形 vzix;
IT业 ITye
IT业 itye
IT行业 IThhye
IT行业 ithhye
K线 Kxm
K线 kxm
K线图 Kxmtu
K线图 kxmtu
日K线 riKxm
日K线 rikxm
周K线 vbKxm
周K线 vbkxm
月K线 ytKxm
月K线 ytkxm
T台 Ttl
T台 ttl
TF卡 TFka
TF卡 tfka
N年 Nnm
N年 nnm
A点 Adm
A点 adm
B点 Bdm
B点 bdm
A屏 Ap;
A屏 ap;
OK吗 OKma
OK吗 okma
OK嘛 OKma
OK嘛 okma
OK么 OKme
OK么 okme
OK呀 OKya
OK呀 okya
OK不 OKbu
OK不 okbu
BB机 BBji
BB机 bbji
做B超 zoBik
做B超 zobik
DJ版 DJbj
DJ版 djbj
唱K ihK
唱K ihk
PK赛 PKsl
PK赛 pksl
A和B AheB
A和B aheb
X和Y XheY
X和Y xhey
查IP iaIP
查IP iaip
封IP fgIP
封IP fgip
换IP hrIP
换IP hrip
VIP卡 VIPka
VIP卡 vipka
VIP会员 VIPhvyr
VIP会员 viphvyr
AAA级 AAAji
AAA级 aaaji
第N次 diNci
第N次 dinci
发EMS faEMS
发EMS faems
DVD版 DVDbj
DVD版 dvdbj
USB线 USBxm
USB线 usbxm
USB口 USBkb
USB口 usbkb
USB接口 USBjxkb
USB接口 usbjxkb
X档案 Xdhoj
X档案 xdhoj
n次方 ncifh
N多人 Ndorf
N多人 ndorf
S曲线 Squxm
S曲线 squxm
DJ舞曲 DJwuqu
DJ舞曲 djwuqu
充Q币 isQbi
充Q币 isqbi
就OK jqOK
就OK jqok
不OK buOK
不OK buok
很OK hfOK
很OK hfok
特拉法尔加·D·瓦铁尔·罗 telafaorjwDwatxorlo
特拉法尔加·D·瓦铁尔·罗 telafaorjwdwatxorlo
开party klparty
Chromium系 Chromiumxi
Chromium系 chromiumxi
Chrome系 Chromexi
Chrome系 chromexi
QQ游戏 QQybxi
QQ游戏 qqybxi
QQ游戏大厅 QQybxidat;
QQ游戏大厅 qqybxidat;
QQ音速 QQynsu
QQ音速 qqynsu
QQ飞车 QQfzie
QQ飞车 qqfzie
QQ三国 QQsjgo
QQ三国 qqsjgo
4S店 siSdm
4S店 sisdm
丰田AE86 fgtmAEbalq
丰田AE86 fgtmaebalq
TF版 TFbj
TF版 tfbj
TF版本 TFbjbf
TF版本 tfbjbf
O不OK ObuOK
O不OK obuok
人均GDP rfjpGDP
人均GDP rfjpgdp
V8引擎 Vbaynq;
V8引擎 vbaynq;

914
en_dicts/cn_en_sogou.txt Normal file
View File

@@ -0,0 +1,914 @@
# Rime table
# coding: utf-8
#@/db_name cn_en_sogou.txt
#@/db_type tabledb
#
# https://github.com/iDvel/rime-ice
# ------- 中英混输词库 for 搜狗双拼 -------
# 由 others/cn_en.txt 自动生成
#
# 此行之后不能写注释
X光 Xgd
X光 xgd
X光片 Xgdpm
X光片 xgdpm
X射线 Xuexm
X射线 xuexm
T恤 Txu
T恤 txu
T恤衫 Txuuj
T恤衫 txuuj
AD钙奶 ADglnl
AD钙奶 adglnl
UU加速器 UUjwsuqi
UU加速器 uujwsuqi
Cinity厅 Cinityt;
Cinity厅 cinityt;
Eul的神圣法杖 Euldeufugfavh
Eul的神圣法杖 euldeufugfavh
A杖 Avh
A杖 avh
红Buff hsBuff
红Buff hsbuff
蓝Buff ljBuff
蓝Buff ljbuff
老Baby lkBaby
老Baby lkbaby
小Baby xcBaby
小Baby xcbaby
艾AA olAA
艾AA olaa
炒CP ikCP
炒CP ikcp
嗑CP keCP
嗑CP kecp
U盘 Upj
U盘 upj
B站 Bvj
B站 bvj
V站 Vvj
V站 vvj
P站 Pvj
P站 pvj
大V daV
大V dav
Q币 Qbi
Q币 qbi
QQ号 QQhk
QQ号 qqhk
QQ号码 QQhkma
QQ号码 qqhkma
QQ空间 QQksjm
QQ空间 qqksjm
QQ群 QQqp
QQ群 qqqp
QQ邮箱 QQybxd
QQ邮箱 qqybxd
QQ音乐 QQynyt
QQ音乐 qqynyt
QQ拼音 QQpnyn
QQ拼音 qqpnyn
QQ会员 QQhvyr
QQ会员 qqhvyr
QQ好友 QQhkyb
QQ好友 qqhkyb
QQ输入法 QQuurufa
QQ输入法 qquurufa
Dock栏 Docklj
Dock栏 docklj
阿Q精神 oaQj;uf
阿Q精神 oaqj;uf
Win版 Winbj
Win版 winbj
Win版本 Winbjbf
Win版本 winbjbf
Windows版 Windowsbj
Windows版 windowsbj
Windows版本 Windowsbjbf
Windows版本 windowsbjbf
Mac版 Macbj
Mac版 macbj
Mac版本 Macbjbf
Mac版本 macbjbf
macOS版 macOSbj
macOS版 macosbj
macOS版本 macOSbjbf
macOS版本 macosbjbf
iOS版 iOSbj
iOS版 iosbj
iOS版本 iOSbjbf
iOS版本 iosbjbf
Android版 Androidbj
Android版 androidbj
Android版本 Androidbjbf
Android版本 androidbjbf
Web版 Webbj
Web版 webbj
Web版本 Webbjbf
Web版本 webbjbf
PC端 PCdr
PC端 pcdr
Win端 Windr
Win端 windr
Windows端 Windowsdr
Windows端 windowsdr
Mac端 Macdr
Mac端 macdr
macOS端 macOSdr
macOS端 macosdr
Web端 Webdr
Web端 webdr
iOS端 iOSdr
iOS端 iosdr
Android端 Androiddr
Android端 androiddr
e招贷 evkdl
G胖 Gph
G胖 gph
Up主 Upvu
Up主 upvu
BOSS直聘 BOSSvipn
BOSS直聘 bossvipn
P社 Pue
P社 pue
V社 Vue
V社 vue
Go语言 Goyuyj
Go语言 goyuyj
维生素A wzugsuA
维生素A wzugsua
维生素B wzugsuB
维生素B wzugsub
维生素C wzugsuC
维生素C wzugsuc
维生素D wzugsuD
维生素D wzugsud
维生素E wzugsuE
维生素E wzugsue
维生素K wzugsuK
维生素K wzugsuk
维A wzA
维A wza
维B wzB
维B wzb
维C wzC
维C wzc
维D wzD
维D wzd
维E wzE
维E wze
维K wzK
维K wzk
维E乳 wzEru
维E乳 wzeru
维生素E乳 wzugsuEru
维生素E乳 wzugsueru
阿Q oaQ
阿Q oaq
阿Q正传 oaQvgvr
阿Q正传 oaqvgvr
单边z变换 djbmzbmhr
逗B dbB
逗B dbb
哆啦A梦 dolaAmg
哆啦A梦 dolaamg
二B orB
二B orb
卡拉OK kalaOK
卡拉OK kalaok
牛B nqB
牛B nqb
三K党 sjKdh
三K党 sjkdh
傻B uaB
傻B uab
傻X uaX
傻X uax
智能ABC vingABC
智能ABC vingabc
智能ABC双拼 vingABCudpn
智能ABC双拼 vingabcudpn
智能ABC双拼方案 vingABCudpnfhoj
智能ABC双拼方案 vingabcudpnfhoj
智能ABC输入法 vingABCuurufa
智能ABC输入法 vingabcuurufa
装B vdB
装B vdb
A股 Agu
A股 agu
B股 Bgu
B股 bgu
H股 Hgu
H股 hgu
N股 Ngu
N股 ngu
S股 Sgu
S股 sgu
A盘 Apj
A盘 apj
A片 Apm
A片 apm
AA制 AAvi
AA制 aavi
ATM机 ATMji
ATM机 atmji
B超 Bik
B超 bik
B淋巴细胞 Blnbaxibk
B淋巴细胞 blnbaxibk
B盘 Bpj
B盘 bpj
B细胞 Bxibk
B细胞 bxibk
C盘 Cpj
C盘 cpj
C语言 Cyuyj
C语言 cyuyj
D盘 Dpj
D盘 dpj
E盘 Epj
E盘 epj
F盘 Fpj
F盘 fpj
G点 Gdm
G点 gdm
G盘 Gpj
G盘 gpj
IP地址 IPdivi
IP地址 ipdivi
IP电话 IPdmhw
IP电话 ipdmhw
IP卡 IPka
IP卡 ipka
J盘 Jpj
J盘 jpj
K宝 Kbk
K宝 kbk
K粉 Kff
K粉 kff
K歌 Kge
K歌 kge
K歌王 Kgewh
K歌王 kgewh
POS机 POSji
POS机 posji
SIM卡 SIMka
SIM卡 simka
T淋巴细胞 Tlnbaxibk
T淋巴细胞 tlnbaxibk
T细胞 Txibk
T细胞 txibk
T型台 Tx;tl
T型台 tx;tl
U盾 Udp
U盾 udp
S形 Sx;
S形 sx;
U形 Ux;
U形 ux;
U形管 Ux;gr
U形管 ux;gr
UIM卡 UIMka
UIM卡 uimka
USIM卡 USIMka
USIM卡 usimka
X刀 Xdk
X刀 xdk
X染色体 Xrjseti
X染色体 xrjseti
Y染色体 Yrjseti
Y染色体 yrjseti
z变换 zbmhr
z逆变换 znibmhr
D之国 Dvigo
D之国 dvigo
D之一族 Dviyizu
D之一族 dviyizu
Beta版 Betabj
Beta版 betabj
Beta版本 Betabjbf
Beta版本 betabjbf
AV女优 AVnvyb
AV女优 avnvyb
X战警 Xvjj;
X战警 xvjj;
YY语音 YYyuyn
YY语音 yyyuyn
A4纸 Asivi
A4纸 asivi
A4腰 Asiyk
A4腰 asiyk
N多 Ndo
N多 ndo
N多个 Ndoge
N多个 ndoge
N次 Nci
N次 nci
N遍 Nbm
N遍 nbm
蒙奇·D·路飞 mgqiDlufz
蒙奇·D·路飞 mgqidlufz
蒙奇·D·龙 mgqiDls
蒙奇·D·龙 mgqidls
乔治·R·R·马丁 qcviRRmad;
乔治·R·R·马丁 qcvirrmad;
哥尔·D·罗杰 georDlojx
哥尔·D·罗杰 geordlojx
马歇尔·D·蒂奇 maxxorDdiqi
马歇尔·D·蒂奇 maxxorddiqi
X·德雷克 Xdelzke
X·德雷克 xdelzke
蒙奇·D·卡普 mgqiDkapu
蒙奇·D·卡普 mgqidkapu
波特卡斯·D·艾斯 botekasiDolsi
波特卡斯·D·艾斯 botekasidolsi
VIP中P VIPvsP
VIP中P vipvsp
QQ秀 QQxq
QQ秀 qqxq
Big胆 Bigdj
Big胆 bigdj
我叫MT wojcMT
我叫MT wojcmt
谜拟Q miniQ
谜拟Q miniq
多边兽Z dobmubZ
多边兽Z dobmubz
藤子·F·不二雄 tgziFbuorxs
藤子·F·不二雄 tgzifbuorxs
PC版 PCbj
PC版 pcbj
PC版本 PCbjbf
PC版本 pcbjbf
A塔 Ata
A塔 ata
平A p;A
平A p;a
立Flag liFlag
立Flag liflag
C罗 Clo
C罗 clo
IE浏览器 IElqljqi
IE浏览器 ielqljqi
A壳 Ake
A壳 ake
B壳 Bke
B壳 bke
C壳 Cke
C壳 cke
D壳 Dke
D壳 dke
A面 Amm
A面 amm
B面 Bmm
B面 bmm
C面 Cmm
C面 cmm
D面 Dmm
D面 dmm
Server酱 Serverjd
Server酱 serverjd
P图 Ptu
P图 ptu
P个图 Pgetu
P个图 pgetu
P一下 Pyixw
P一下 pyixw
芭比Q babiQ
芭比Q babiq
芭比Q了 babiQle
芭比Q了 babiqle
QQ堂 QQth
QQ堂 qqth
PIN码 PINma
PIN码 pinma
PUK码 PUKma
PUK码 pukma
关底BOSS grdiBOSS
关底BOSS grdiboss
AA吧 AAba
AA吧 aaba
喊cut hjcut
ASCII码 ASCIIma
ASCII码 asciima
Go圣经 Gougj;
Go圣经 gougj;
江南Style jdnjStyle
江南Style jdnjstyle
头文字D tbwfziD
头文字D tbwfzid
三无Marblue sjwuMarblue
三无Marblue sjwumarblue
A罩杯 Avkbz
A罩杯 avkbz
B罩杯 Bvkbz
B罩杯 bvkbz
C罩杯 Cvkbz
C罩杯 cvkbz
D罩杯 Dvkbz
D罩杯 dvkbz
E罩杯 Evkbz
E罩杯 evkbz
F罩杯 Fvkbz
F罩杯 fvkbz
G罩杯 Gvkbz
G罩杯 gvkbz
H罩杯 Hvkbz
H罩杯 hvkbz
A罩 Avk
A罩 avk
B罩 Bvk
B罩 bvk
C罩 Cvk
C罩 cvk
D罩 Dvk
D罩 dvk
E罩 Evk
E罩 evk
F罩 Fvk
F罩 fvk
G罩 Gvk
G罩 gvk
H罩 Hvk
H罩 hvk
A杯 Abz
A杯 abz
B杯 Bbz
B杯 bbz
C杯 Cbz
C杯 cbz
D杯 Dbz
D杯 dbz
E杯 Ebz
E杯 ebz
F杯 Fbz
F杯 fbz
G杯 Gbz
G杯 gbz
H杯 Hbz
H杯 hbz
TV版 TVbj
TV版 tvbj
TV版本 TVbjbf
TV版本 tvbjbf
芒果TV mhgoTV
芒果TV mhgotv
V字仇杀队 Vziibuadv
V字仇杀队 vziibuadv
V怪客 Vgyke
V怪客 vgyke
V煞 Vua
V煞 vua
Q弹 Qtj
Q弹 qtj
Steam云 Steamyp
Steam云 steamyp
M系列 Mxilx
M系列 mxilx
阿Sir oaSir
阿Sir oasir
Pro版 Probj
Pro版 probj
Pro版本 Probjbf
Pro版本 probjbf
Lite版 Litebj
Lite版 litebj
Lite版本 Litebjbf
Lite版本 litebjbf
X教授 Xjcub
X教授 xjcub
Papi酱 Papijd
Papi酱 papijd
MAC地址 MACdivi
MAC地址 macdivi
DNS劫持 DNSjxii
DNS劫持 dnsjxii
DNS污染 DNSwurj
DNS污染 dnswurj
OK了 OKle
OK了 okle
OK啦 OKla
OK啦 okla
OK啊 OKoa
OK啊 okoa
我OK啊 woOKoa
我OK啊 wookoa
OK了吗 OKlema
OK了吗 oklema
腾讯QQ tgxpQQ
腾讯QQ tgxpqq
公网IP gswhIP
公网IP gswhip
Web开发 Webklfa
Web开发 webklfa
圈X qrX
圈X qrx
Switch版 Switchbj
Switch版 switchbj
Switch版本 Switchbjbf
Switch版本 switchbjbf
A型血 Ax;xt
A型血 ax;xt
A血型 Axtx;
A血型 axtx;
B型血 Bx;xt
B型血 bx;xt
B血型 Bxtx;
B血型 bxtx;
AB型 ABx;
AB型 abx;
AB型血 ABx;xt
AB型血 abx;xt
AB血型 ABxtx;
AB血型 abxtx;
O型 Ox;
O型 ox;
O型血 Ox;xt
O型血 ox;xt
O血型 Oxtx;
O血型 oxtx;
IT界 ITjx
IT界 itjx
Fn键 Fnjm
Fn键 fnjm
Cmd键 Cmdjm
Cmd键 cmdjm
Command键 Commandjm
Command键 commandjm
Ctrl键 Ctrljm
Ctrl键 ctrljm
Control键 Controljm
Control键 controljm
Opt键 Optjm
Opt键 optjm
Option键 Optionjm
Option键 optionjm
Shift键 Shiftjm
Shift键 shiftjm
Tab键 Tabjm
Tab键 tabjm
Caps键 Capsjm
Caps键 capsjm
CapsLock键 CapsLockjm
CapsLock键 capslockjm
Return键 Returnjm
Return键 returnjm
Enter键 Enterjm
Enter键 enterjm
Space键 Spacejm
Space键 spacejm
Backspace键 Backspacejm
Backspace键 backspacejm
Del键 Deljm
Del键 deljm
Delete键 Deletejm
Delete键 deletejm
Esc键 Escjm
Esc键 escjm
Eject键 Ejectjm
Eject键 ejectjm
J·K·罗琳 JKloln
J·K·罗琳 jkloln
周刊少年Jump vbkjuknmJump
周刊少年Jump vbkjuknmjump
ICP备案 ICPbzoj
ICP备案 icpbzoj
啥bug uabug
有bug ybbug
没bug mzbug
没有bug mzybbug
卡bug kabug
提bug tibug
写bug xxbug
改bug glbug
查bug iabug
找bug vkbug
J·R·R·托尔金 JRRtoorjn
J·R·R·托尔金 jrrtoorjn
异维A酸 yiwzAsr
异维A酸 yiwzasr
互fo hufo
减CD jmCD
减CD jmcd
随身Wi-Fi svufWiFi
随身Wi-Fi svufwifi
U型锁 Ux;so
U型锁 ux;so
Go程 Goig
Go程 goig
TG群 TGqp
TG群 tgqp
Telegram群 Telegramqp
Telegram群 telegramqp
Wi-Fi密码 WiFimima
Wi-Fi密码 wifimima
DNA检测 DNAjmce
DNA检测 dnajmce
A级 Aji
A级 aji
B级 Bji
B级 bji
C级 Cji
C级 cji
D级 Dji
D级 dji
S级 Sji
S级 sji
拍CT plCT
拍CT plct
CT检查 CTjmia
CT检查 ctjmia
PVC管 PVCgr
PVC管 pvcgr
DoS攻击 DoSgsji
DoS攻击 dosgsji
DDoS攻击 DDoSgsji
DDoS攻击 ddosgsji
N卡 Nka
N卡 nka
A卡 Aka
A卡 aka
M码 Mma
M码 mma
S码 Sma
S码 sma
L码 Lma
L码 lma
Q我 Qwo
Q我 qwo
R级 Rji
R级 rji
A区 Aqu
A区 aqu
B区 Bqu
B区 bqu
C区 Cqu
C区 cqu
D区 Dqu
D区 dqu
E区 Equ
E区 equ
F区 Fqu
F区 fqu
A组 Azu
A组 azu
B组 Bzu
B组 bzu
C组 Czu
C组 czu
D组 Dzu
D组 dzu
E组 Ezu
E组 ezu
F组 Fzu
F组 fzu
B哥 Bge
B哥 bge
Q版 Qbj
Q版 qbj
A班 Abj
A班 abj
B班 Bbj
B班 bbj
C班 Cbj
C班 cbj
D班 Dbj
D班 dbj
老K lkK
老K lkk
加Q jwQ
加Q jwq
加QQ jwQQ
加QQ jwqq
A座 Azo
A座 azo
B座 Bzo
B座 bzo
C座 Czo
C座 czo
D座 Dzo
D座 dzo
E座 Ezo
E座 ezo
F座 Fzo
F座 fzo
H版 Hbj
H版 hbj
A口 Akb
A口 akb
B口 Bkb
B口 bkb
C口 Ckb
C口 ckb
D口 Dkb
D口 dkb
E口 Ekb
E口 ekb
F口 Fkb
F口 fkb
A出口 Aiukb
A出口 aiukb
B出口 Biukb
B出口 biukb
C出口 Ciukb
C出口 ciukb
D出口 Diukb
D出口 diukb
E出口 Eiukb
E出口 eiukb
F出口 Fiukb
F出口 fiukb
A楼 Alb
A楼 alb
B楼 Blb
B楼 blb
C楼 Clb
C楼 clb
D楼 Dlb
D楼 dlb
E楼 Elb
E楼 elb
F楼 Flb
F楼 flb
A型号 Ax;hk
A型号 ax;hk
B型号 Bx;hk
B型号 bx;hk
C型号 Cx;hk
C型号 cx;hk
D型号 Dx;hk
D型号 dx;hk
E型号 Ex;hk
E型号 ex;hk
F型号 Fx;hk
F型号 fx;hk
A型 Ax;
A型 ax;
B型 Bx;
B型 bx;
C型 Cx;
C型 cx;
D型 Dx;
D型 dx;
E型 Ex;
E型 ex;
F型 Fx;
F型 fx;
A款 Akr
A款 akr
B款 Bkr
B款 bkr
C款 Ckr
C款 ckr
D款 Dkr
D款 dkr
E款 Ekr
E款 ekr
F款 Fkr
F款 fkr
A栋 Ads
A栋 ads
B栋 Bds
B栋 bds
C栋 Cds
C栋 cds
D栋 Dds
D栋 dds
E栋 Eds
E栋 eds
F栋 Fds
F栋 fds
X轴 Xvb
X轴 xvb
Y轴 Yvb
Y轴 yvb
Z轴 Zvb
Z轴 zvb
V领 Vl;
V领 vl;
V字领 Vzil;
V字领 vzil;
V字形 Vzix;
V字形 vzix;
IT业 ITye
IT业 itye
IT行业 IThhye
IT行业 ithhye
K线 Kxm
K线 kxm
K线图 Kxmtu
K线图 kxmtu
日K线 riKxm
日K线 rikxm
周K线 vbKxm
周K线 vbkxm
月K线 ytKxm
月K线 ytkxm
T台 Ttl
T台 ttl
TF卡 TFka
TF卡 tfka
N年 Nnm
N年 nnm
A点 Adm
A点 adm
B点 Bdm
B点 bdm
A屏 Ap;
A屏 ap;
OK吗 OKma
OK吗 okma
OK嘛 OKma
OK嘛 okma
OK么 OKme
OK么 okme
OK呀 OKya
OK呀 okya
OK不 OKbu
OK不 okbu
BB机 BBji
BB机 bbji
做B超 zoBik
做B超 zobik
DJ版 DJbj
DJ版 djbj
唱K ihK
唱K ihk
PK赛 PKsl
PK赛 pksl
A和B AheB
A和B aheb
X和Y XheY
X和Y xhey
查IP iaIP
查IP iaip
封IP fgIP
封IP fgip
换IP hrIP
换IP hrip
VIP卡 VIPka
VIP卡 vipka
VIP会员 VIPhvyr
VIP会员 viphvyr
AAA级 AAAji
AAA级 aaaji
第N次 diNci
第N次 dinci
发EMS faEMS
发EMS faems
DVD版 DVDbj
DVD版 dvdbj
USB线 USBxm
USB线 usbxm
USB口 USBkb
USB口 usbkb
USB接口 USBjxkb
USB接口 usbjxkb
X档案 Xdhoj
X档案 xdhoj
n次方 ncifh
N多人 Ndorf
N多人 ndorf
S曲线 Squxm
S曲线 squxm
DJ舞曲 DJwuqu
DJ舞曲 djwuqu
充Q币 isQbi
充Q币 isqbi
就OK jqOK
就OK jqok
不OK buOK
不OK buok
很OK hfOK
很OK hfok
特拉法尔加·D·瓦铁尔·罗 telafaorjwDwatxorlo
特拉法尔加·D·瓦铁尔·罗 telafaorjwdwatxorlo
开party klparty
Chromium系 Chromiumxi
Chromium系 chromiumxi
Chrome系 Chromexi
Chrome系 chromexi
QQ游戏 QQybxi
QQ游戏 qqybxi
QQ游戏大厅 QQybxidat;
QQ游戏大厅 qqybxidat;
QQ音速 QQynsu
QQ音速 qqynsu
QQ飞车 QQfzie
QQ飞车 qqfzie
QQ三国 QQsjgo
QQ三国 qqsjgo
4S店 siSdm
4S店 sisdm
丰田AE86 fgtmAEbalq
丰田AE86 fgtmaebalq
TF版 TFbj
TF版 tfbj
TF版本 TFbjbf
TF版本 tfbjbf
O不OK ObuOK
O不OK obuok
人均GDP rfjpGDP
人均GDP rfjpgdp
V8引擎 Vbaynq;
V8引擎 vbaynq;

914
en_dicts/cn_en_ziguang.txt Normal file
View File

@@ -0,0 +1,914 @@
# Rime table
# coding: utf-8
#@/db_name cn_en_ziguang.txt
#@/db_type tabledb
#
# https://github.com/iDvel/rime-ice
# ------- 中英混输词库 for 紫光双拼 -------
# 由 others/cn_en.txt 自动生成
#
# 此行之后不能写注释
X光 Xgg
X光 xgg
X光片 Xggpf
X光片 xggpf
X射线 Xiexf
X射线 xiexf
T恤 Txu
T恤 txu
T恤衫 Txuir
T恤衫 txuir
AD钙奶 ADgpnp
AD钙奶 adgpnp
UU加速器 UUjxsuqi
UU加速器 uujxsuqi
Cinity厅 Cinityt;
Cinity厅 cinityt;
Eul的神圣法杖 Euldeiwitfaus
Eul的神圣法杖 euldeiwitfaus
A杖 Aus
A杖 aus
红Buff hhBuff
红Buff hhbuff
蓝Buff lrBuff
蓝Buff lrbuff
老Baby lqBaby
老Baby lqbaby
小Baby xbBaby
小Baby xbbaby
艾AA opAA
艾AA opaa
炒CP aqCP
炒CP aqcp
嗑CP keCP
嗑CP kecp
U盘 Upr
U盘 upr
B站 Bur
B站 bur
V站 Vur
V站 vur
P站 Pur
P站 pur
大V daV
大V dav
Q币 Qbi
Q币 qbi
QQ号 QQhq
QQ号 qqhq
QQ号码 QQhqma
QQ号码 qqhqma
QQ空间 QQkhjf
QQ空间 qqkhjf
QQ群 QQqm
QQ群 qqqm
QQ邮箱 QQyzxg
QQ邮箱 qqyzxg
QQ音乐 QQyyyn
QQ音乐 qqyyyn
QQ拼音 QQpyyy
QQ拼音 qqpyyy
QQ会员 QQhnyl
QQ会员 qqhnyl
QQ好友 QQhqyz
QQ好友 qqhqyz
QQ输入法 QQiurufa
QQ输入法 qqiurufa
Dock栏 Docklr
Dock栏 docklr
阿Q精神 oaQj;iw
阿Q精神 oaqj;iw
Win版 Winbr
Win版 winbr
Win版本 Winbrbw
Win版本 winbrbw
Windows版 Windowsbr
Windows版 windowsbr
Windows版本 Windowsbrbw
Windows版本 windowsbrbw
Mac版 Macbr
Mac版 macbr
Mac版本 Macbrbw
Mac版本 macbrbw
macOS版 macOSbr
macOS版 macosbr
macOS版本 macOSbrbw
macOS版本 macosbrbw
iOS版 iOSbr
iOS版 iosbr
iOS版本 iOSbrbw
iOS版本 iosbrbw
Android版 Androidbr
Android版 androidbr
Android版本 Androidbrbw
Android版本 androidbrbw
Web版 Webbr
Web版 webbr
Web版本 Webbrbw
Web版本 webbrbw
PC端 PCdl
PC端 pcdl
Win端 Windl
Win端 windl
Windows端 Windowsdl
Windows端 windowsdl
Mac端 Macdl
Mac端 macdl
macOS端 macOSdl
macOS端 macosdl
Web端 Webdl
Web端 webdl
iOS端 iOSdl
iOS端 iosdl
Android端 Androiddl
Android端 androiddl
e招贷 euqdp
G胖 Gps
G胖 gps
Up主 Upuu
Up主 upuu
BOSS直聘 BOSSuipy
BOSS直聘 bossuipy
P社 Pie
P社 pie
V社 Vie
V社 vie
Go语言 Goyuyr
Go语言 goyuyr
维生素A wkitsuA
维生素A wkitsua
维生素B wkitsuB
维生素B wkitsub
维生素C wkitsuC
维生素C wkitsuc
维生素D wkitsuD
维生素D wkitsud
维生素E wkitsuE
维生素E wkitsue
维生素K wkitsuK
维生素K wkitsuk
维A wkA
维A wka
维B wkB
维B wkb
维C wkC
维C wkc
维D wkD
维D wkd
维E wkE
维E wke
维K wkK
维K wkk
维E乳 wkEru
维E乳 wkeru
维生素E乳 wkitsuEru
维生素E乳 wkitsueru
阿Q oaQ
阿Q oaq
阿Q正传 oaQutul
阿Q正传 oaqutul
单边z变换 drbfzbfhl
逗B dzB
逗B dzb
哆啦A梦 dolaAmt
哆啦A梦 dolaamt
二B ojB
二B ojb
卡拉OK kalaOK
卡拉OK kalaok
牛B njB
牛B njb
三K党 srKds
三K党 srkds
傻B iaB
傻B iab
傻X iaX
傻X iax
智能ABC uintABC
智能ABC uintabc
智能ABC双拼 uintABCigpy
智能ABC双拼 uintabcigpy
智能ABC双拼方案 uintABCigpyfsor
智能ABC双拼方案 uintabcigpyfsor
智能ABC输入法 uintABCiurufa
智能ABC输入法 uintabciurufa
装B ugB
装B ugb
A股 Agu
A股 agu
B股 Bgu
B股 bgu
H股 Hgu
H股 hgu
N股 Ngu
N股 ngu
S股 Sgu
S股 sgu
A盘 Apr
A盘 apr
A片 Apf
A片 apf
AA制 AAui
AA制 aaui
ATM机 ATMji
ATM机 atmji
B超 Baq
B超 baq
B淋巴细胞 Blybaxibq
B淋巴细胞 blybaxibq
B盘 Bpr
B盘 bpr
B细胞 Bxibq
B细胞 bxibq
C盘 Cpr
C盘 cpr
C语言 Cyuyr
C语言 cyuyr
D盘 Dpr
D盘 dpr
E盘 Epr
E盘 epr
F盘 Fpr
F盘 fpr
G点 Gdf
G点 gdf
G盘 Gpr
G盘 gpr
IP地址 IPdiui
IP地址 ipdiui
IP电话 IPdfhx
IP电话 ipdfhx
IP卡 IPka
IP卡 ipka
J盘 Jpr
J盘 jpr
K宝 Kbq
K宝 kbq
K粉 Kfw
K粉 kfw
K歌 Kge
K歌 kge
K歌王 Kgews
K歌王 kgews
POS机 POSji
POS机 posji
SIM卡 SIMka
SIM卡 simka
T淋巴细胞 Tlybaxibq
T淋巴细胞 tlybaxibq
T细胞 Txibq
T细胞 txibq
T型台 Tx;tp
T型台 tx;tp
U盾 Udm
U盾 udm
S形 Sx;
S形 sx;
U形 Ux;
U形 ux;
U形管 Ux;gl
U形管 ux;gl
UIM卡 UIMka
UIM卡 uimka
USIM卡 USIMka
USIM卡 usimka
X刀 Xdq
X刀 xdq
X染色体 Xrrseti
X染色体 xrrseti
Y染色体 Yrrseti
Y染色体 yrrseti
z变换 zbfhl
z逆变换 znibfhl
D之国 Duigo
D之国 duigo
D之一族 Duiyizu
D之一族 duiyizu
Beta版 Betabr
Beta版 betabr
Beta版本 Betabrbw
Beta版本 betabrbw
AV女优 AVnvyz
AV女优 avnvyz
X战警 Xurj;
X战警 xurj;
YY语音 YYyuyy
YY语音 yyyuyy
A4纸 Asiui
A4纸 asiui
A4腰 Asiyq
A4腰 asiyq
N多 Ndo
N多 ndo
N多个 Ndoge
N多个 ndoge
N次 Nci
N次 nci
N遍 Nbf
N遍 nbf
蒙奇·D·路飞 mtqiDlufk
蒙奇·D·路飞 mtqidlufk
蒙奇·D·龙 mtqiDlh
蒙奇·D·龙 mtqidlh
乔治·R·R·马丁 qbuiRRmad;
乔治·R·R·马丁 qbuirrmad;
哥尔·D·罗杰 geojDlojd
哥尔·D·罗杰 geojdlojd
马歇尔·D·蒂奇 maxdojDdiqi
马歇尔·D·蒂奇 maxdojddiqi
X·德雷克 Xdelkke
X·德雷克 xdelkke
蒙奇·D·卡普 mtqiDkapu
蒙奇·D·卡普 mtqidkapu
波特卡斯·D·艾斯 botekasiDopsi
波特卡斯·D·艾斯 botekasidopsi
VIP中P VIPuhP
VIP中P vipuhp
QQ秀 QQxj
QQ秀 qqxj
Big胆 Bigdr
Big胆 bigdr
我叫MT wojbMT
我叫MT wojbmt
谜拟Q miniQ
谜拟Q miniq
多边兽Z dobfizZ
多边兽Z dobfizz
藤子·F·不二雄 ttziFbuojxh
藤子·F·不二雄 ttzifbuojxh
PC版 PCbr
PC版 pcbr
PC版本 PCbrbw
PC版本 pcbrbw
A塔 Ata
A塔 ata
平A p;A
平A p;a
立Flag liFlag
立Flag liflag
C罗 Clo
C罗 clo
IE浏览器 IEljlrqi
IE浏览器 ieljlrqi
A壳 Ake
A壳 ake
B壳 Bke
B壳 bke
C壳 Cke
C壳 cke
D壳 Dke
D壳 dke
A面 Amf
A面 amf
B面 Bmf
B面 bmf
C面 Cmf
C面 cmf
D面 Dmf
D面 dmf
Server酱 Serverjg
Server酱 serverjg
P图 Ptu
P图 ptu
P个图 Pgetu
P个图 pgetu
P一下 Pyixx
P一下 pyixx
芭比Q babiQ
芭比Q babiq
芭比Q了 babiQle
芭比Q了 babiqle
QQ堂 QQts
QQ堂 qqts
PIN码 PINma
PIN码 pinma
PUK码 PUKma
PUK码 pukma
关底BOSS gldiBOSS
关底BOSS gldiboss
AA吧 AAba
AA吧 aaba
喊cut hrcut
ASCII码 ASCIIma
ASCII码 asciima
Go圣经 Goitj;
Go圣经 goitj;
江南Style jgnrStyle
江南Style jgnrstyle
头文字D tzwwziD
头文字D tzwwzid
三无Marblue srwuMarblue
三无Marblue srwumarblue
A罩杯 Auqbk
A罩杯 auqbk
B罩杯 Buqbk
B罩杯 buqbk
C罩杯 Cuqbk
C罩杯 cuqbk
D罩杯 Duqbk
D罩杯 duqbk
E罩杯 Euqbk
E罩杯 euqbk
F罩杯 Fuqbk
F罩杯 fuqbk
G罩杯 Guqbk
G罩杯 guqbk
H罩杯 Huqbk
H罩杯 huqbk
A罩 Auq
A罩 auq
B罩 Buq
B罩 buq
C罩 Cuq
C罩 cuq
D罩 Duq
D罩 duq
E罩 Euq
E罩 euq
F罩 Fuq
F罩 fuq
G罩 Guq
G罩 guq
H罩 Huq
H罩 huq
A杯 Abk
A杯 abk
B杯 Bbk
B杯 bbk
C杯 Cbk
C杯 cbk
D杯 Dbk
D杯 dbk
E杯 Ebk
E杯 ebk
F杯 Fbk
F杯 fbk
G杯 Gbk
G杯 gbk
H杯 Hbk
H杯 hbk
TV版 TVbr
TV版 tvbr
TV版本 TVbrbw
TV版本 tvbrbw
芒果TV msgoTV
芒果TV msgotv
V字仇杀队 Vziaziadn
V字仇杀队 vziaziadn
V怪客 Vgyke
V怪客 vgyke
V煞 Via
V煞 via
Q弹 Qtr
Q弹 qtr
Steam云 Steamym
Steam云 steamym
M系列 Mxild
M系列 mxild
阿Sir oaSir
阿Sir oasir
Pro版 Probr
Pro版 probr
Pro版本 Probrbw
Pro版本 probrbw
Lite版 Litebr
Lite版 litebr
Lite版本 Litebrbw
Lite版本 litebrbw
X教授 Xjbiz
X教授 xjbiz
Papi酱 Papijg
Papi酱 papijg
MAC地址 MACdiui
MAC地址 macdiui
DNS劫持 DNSjdai
DNS劫持 dnsjdai
DNS污染 DNSwurr
DNS污染 dnswurr
OK了 OKle
OK了 okle
OK啦 OKla
OK啦 okla
OK啊 OKoa
OK啊 okoa
我OK啊 woOKoa
我OK啊 wookoa
OK了吗 OKlema
OK了吗 oklema
腾讯QQ ttxmQQ
腾讯QQ ttxmqq
公网IP ghwsIP
公网IP ghwsip
Web开发 Webkpfa
Web开发 webkpfa
圈X qlX
圈X qlx
Switch版 Switchbr
Switch版 switchbr
Switch版本 Switchbrbw
Switch版本 switchbrbw
A型血 Ax;xn
A型血 ax;xn
A血型 Axnx;
A血型 axnx;
B型血 Bx;xn
B型血 bx;xn
B血型 Bxnx;
B血型 bxnx;
AB型 ABx;
AB型 abx;
AB型血 ABx;xn
AB型血 abx;xn
AB血型 ABxnx;
AB血型 abxnx;
O型 Ox;
O型 ox;
O型血 Ox;xn
O型血 ox;xn
O血型 Oxnx;
O血型 oxnx;
IT界 ITjd
IT界 itjd
Fn键 Fnjf
Fn键 fnjf
Cmd键 Cmdjf
Cmd键 cmdjf
Command键 Commandjf
Command键 commandjf
Ctrl键 Ctrljf
Ctrl键 ctrljf
Control键 Controljf
Control键 controljf
Opt键 Optjf
Opt键 optjf
Option键 Optionjf
Option键 optionjf
Shift键 Shiftjf
Shift键 shiftjf
Tab键 Tabjf
Tab键 tabjf
Caps键 Capsjf
Caps键 capsjf
CapsLock键 CapsLockjf
CapsLock键 capslockjf
Return键 Returnjf
Return键 returnjf
Enter键 Enterjf
Enter键 enterjf
Space键 Spacejf
Space键 spacejf
Backspace键 Backspacejf
Backspace键 backspacejf
Del键 Deljf
Del键 deljf
Delete键 Deletejf
Delete键 deletejf
Esc键 Escjf
Esc键 escjf
Eject键 Ejectjf
Eject键 ejectjf
J·K·罗琳 JKloly
J·K·罗琳 jkloly
周刊少年Jump uzkriqnfJump
周刊少年Jump uzkriqnfjump
ICP备案 ICPbkor
ICP备案 icpbkor
啥bug iabug
有bug yzbug
没bug mkbug
没有bug mkyzbug
卡bug kabug
提bug tibug
写bug xdbug
改bug gpbug
查bug aabug
找bug uqbug
J·R·R·托尔金 JRRtoojjy
J·R·R·托尔金 jrrtoojjy
异维A酸 yiwkAsl
异维A酸 yiwkasl
互fo hufo
减CD jfCD
减CD jfcd
随身Wi-Fi sniwWiFi
随身Wi-Fi sniwwifi
U型锁 Ux;so
U型锁 ux;so
Go程 Goat
Go程 goat
TG群 TGqm
TG群 tgqm
Telegram群 Telegramqm
Telegram群 telegramqm
Wi-Fi密码 WiFimima
Wi-Fi密码 wifimima
DNA检测 DNAjfce
DNA检测 dnajfce
A级 Aji
A级 aji
B级 Bji
B级 bji
C级 Cji
C级 cji
D级 Dji
D级 dji
S级 Sji
S级 sji
拍CT ppCT
拍CT ppct
CT检查 CTjfaa
CT检查 ctjfaa
PVC管 PVCgl
PVC管 pvcgl
DoS攻击 DoSghji
DoS攻击 dosghji
DDoS攻击 DDoSghji
DDoS攻击 ddosghji
N卡 Nka
N卡 nka
A卡 Aka
A卡 aka
M码 Mma
M码 mma
S码 Sma
S码 sma
L码 Lma
L码 lma
Q我 Qwo
Q我 qwo
R级 Rji
R级 rji
A区 Aqu
A区 aqu
B区 Bqu
B区 bqu
C区 Cqu
C区 cqu
D区 Dqu
D区 dqu
E区 Equ
E区 equ
F区 Fqu
F区 fqu
A组 Azu
A组 azu
B组 Bzu
B组 bzu
C组 Czu
C组 czu
D组 Dzu
D组 dzu
E组 Ezu
E组 ezu
F组 Fzu
F组 fzu
B哥 Bge
B哥 bge
Q版 Qbr
Q版 qbr
A班 Abr
A班 abr
B班 Bbr
B班 bbr
C班 Cbr
C班 cbr
D班 Dbr
D班 dbr
老K lqK
老K lqk
加Q jxQ
加Q jxq
加QQ jxQQ
加QQ jxqq
A座 Azo
A座 azo
B座 Bzo
B座 bzo
C座 Czo
C座 czo
D座 Dzo
D座 dzo
E座 Ezo
E座 ezo
F座 Fzo
F座 fzo
H版 Hbr
H版 hbr
A口 Akz
A口 akz
B口 Bkz
B口 bkz
C口 Ckz
C口 ckz
D口 Dkz
D口 dkz
E口 Ekz
E口 ekz
F口 Fkz
F口 fkz
A出口 Aaukz
A出口 aaukz
B出口 Baukz
B出口 baukz
C出口 Caukz
C出口 caukz
D出口 Daukz
D出口 daukz
E出口 Eaukz
E出口 eaukz
F出口 Faukz
F出口 faukz
A楼 Alz
A楼 alz
B楼 Blz
B楼 blz
C楼 Clz
C楼 clz
D楼 Dlz
D楼 dlz
E楼 Elz
E楼 elz
F楼 Flz
F楼 flz
A型号 Ax;hq
A型号 ax;hq
B型号 Bx;hq
B型号 bx;hq
C型号 Cx;hq
C型号 cx;hq
D型号 Dx;hq
D型号 dx;hq
E型号 Ex;hq
E型号 ex;hq
F型号 Fx;hq
F型号 fx;hq
A型 Ax;
A型 ax;
B型 Bx;
B型 bx;
C型 Cx;
C型 cx;
D型 Dx;
D型 dx;
E型 Ex;
E型 ex;
F型 Fx;
F型 fx;
A款 Akl
A款 akl
B款 Bkl
B款 bkl
C款 Ckl
C款 ckl
D款 Dkl
D款 dkl
E款 Ekl
E款 ekl
F款 Fkl
F款 fkl
A栋 Adh
A栋 adh
B栋 Bdh
B栋 bdh
C栋 Cdh
C栋 cdh
D栋 Ddh
D栋 ddh
E栋 Edh
E栋 edh
F栋 Fdh
F栋 fdh
X轴 Xuz
X轴 xuz
Y轴 Yuz
Y轴 yuz
Z轴 Zuz
Z轴 zuz
V领 Vl;
V领 vl;
V字领 Vzil;
V字领 vzil;
V字形 Vzix;
V字形 vzix;
IT业 ITye
IT业 itye
IT行业 IThsye
IT行业 ithsye
K线 Kxf
K线 kxf
K线图 Kxftu
K线图 kxftu
日K线 riKxf
日K线 rikxf
周K线 uzKxf
周K线 uzkxf
月K线 ynKxf
月K线 ynkxf
T台 Ttp
T台 ttp
TF卡 TFka
TF卡 tfka
N年 Nnf
N年 nnf
A点 Adf
A点 adf
B点 Bdf
B点 bdf
A屏 Ap;
A屏 ap;
OK吗 OKma
OK吗 okma
OK嘛 OKma
OK嘛 okma
OK么 OKme
OK么 okme
OK呀 OKya
OK呀 okya
OK不 OKbu
OK不 okbu
BB机 BBji
BB机 bbji
做B超 zoBaq
做B超 zobaq
DJ版 DJbr
DJ版 djbr
唱K asK
唱K ask
PK赛 PKsp
PK赛 pksp
A和B AheB
A和B aheb
X和Y XheY
X和Y xhey
查IP aaIP
查IP aaip
封IP ftIP
封IP ftip
换IP hlIP
换IP hlip
VIP卡 VIPka
VIP卡 vipka
VIP会员 VIPhnyl
VIP会员 viphnyl
AAA级 AAAji
AAA级 aaaji
第N次 diNci
第N次 dinci
发EMS faEMS
发EMS faems
DVD版 DVDbr
DVD版 dvdbr
USB线 USBxf
USB线 usbxf
USB口 USBkz
USB口 usbkz
USB接口 USBjdkz
USB接口 usbjdkz
X档案 Xdsor
X档案 xdsor
n次方 ncifs
N多人 Ndorw
N多人 ndorw
S曲线 Squxf
S曲线 squxf
DJ舞曲 DJwuqu
DJ舞曲 djwuqu
充Q币 ahQbi
充Q币 ahqbi
就OK jjOK
就OK jjok
不OK buOK
不OK buok
很OK hwOK
很OK hwok
特拉法尔加·D·瓦铁尔·罗 telafaojjxDwatdojlo
特拉法尔加·D·瓦铁尔·罗 telafaojjxdwatdojlo
开party kpparty
Chromium系 Chromiumxi
Chromium系 chromiumxi
Chrome系 Chromexi
Chrome系 chromexi
QQ游戏 QQyzxi
QQ游戏 qqyzxi
QQ游戏大厅 QQyzxidat;
QQ游戏大厅 qqyzxidat;
QQ音速 QQyysu
QQ音速 qqyysu
QQ飞车 QQfkae
QQ飞车 qqfkae
QQ三国 QQsrgo
QQ三国 qqsrgo
4S店 siSdf
4S店 sisdf
丰田AE86 fttfAEbalj
丰田AE86 fttfaebalj
TF版 TFbr
TF版 tfbr
TF版本 TFbrbw
TF版本 tfbrbw
O不OK ObuOK
O不OK obuok
人均GDP rwjmGDP
人均GDP rwjmgdp
V8引擎 Vbayyq;
V8引擎 vbayyq;

21472
en_dicts/en.dict.yaml Normal file

File diff suppressed because it is too large Load Diff

2229
en_dicts/en_ext.dict.yaml Normal file

File diff suppressed because it is too large Load Diff

62
lua/autocap_filter.lua Normal file
View File

@@ -0,0 +1,62 @@
--[[
#302@abcdefg233 #305@Mirtle
自动大写英文词汇:
- 部分规则不做转换
- 输入首字母大写,候选词转换为首字母大写: Hello → Hello
- 输入至少前 2 个字母大写,候选词转换为全部大写: HEllo → HELLO
大写时无法动态调整词频
--]]
local function autocap_filter(input, env)
local code = env.engine.context.input -- 输入码
local codeLen = #code
local codeAllUCase = false
local codeUCase = false
-- 不转换:
if codeLen == 1 or -- 码长为 1
code:find("^[%l%p]") -- 输入码首位为小写字母或标点
then -- 输入码不满足条件不判断候选项
for cand in input:iter() do
yield(cand)
end
return
---- 输入码全大写
-- elseif code == code:upper() then
-- codeAllUCase = true
-- 输入码前 2 - n 位大写
elseif code:find("^%u%u+.*") then
codeAllUCase = true
-- 输入码首位大写
elseif code:find("^%u.*") then
codeUCase = true
end
local pureCode = code:gsub("[%s%p]", "") -- 删除标点和空格的输入码
for cand in input:iter() do
local text = cand.text -- 候选词
local pureText = text:gsub("[%s%p]", "") -- 删除标点和空格的候选词
-- 不转换:
if
text:find("[^%w%p%s]") or -- 候选词包含非字母和数字、非标点符号、非空格的字符
text:find("%s") or -- 候选词中包含空格
pureText:find("^" .. code) or -- 输入码完全匹配候选词
(cand.type ~= "completion" and -- 单词与其对应的编码不一致
pureCode:lower() ~= pureText:lower()) -- 例如 PS - Photoshop
then
yield(cand)
-- 输入码前 2~10 位大写,候选词转换为全大写
elseif codeAllUCase then
text = text:upper()
yield(Candidate(cand.type, 0, codeLen, text, cand.comment))
-- 输入码首位大写,候选词转换为首位大写
elseif codeUCase then
text = text:gsub("^%a", string.upper)
yield(Candidate(cand.type, 0, codeLen, text, cand.comment))
else
yield(cand)
end
end
end
return autocap_filter

275
lua/aux_code.lua Normal file
View File

@@ -0,0 +1,275 @@
-- https://github.com/HowcanoeWang/rime-lua-aux-code
local AuxFilter = {}
-- local log = require 'log'
-- log.outfile = "aux_code.log"
function AuxFilter.init(env)
-- log.info("** AuxCode filter", env.name_space)
AuxFilter.aux_code = AuxFilter.readAuxTxt(env.name_space)
local engine = env.engine
local config = engine.schema.config
-- 設定預設觸發鍵為分號,並從配置中讀取自訂的觸發鍵
env.trigger_key = config:get_string("key_binder/aux_code_trigger") or "`"
-- 设定是否显示辅助码,默认为显示
env.show_aux_notice = config:get_string("key_binder/show_aux_notice") or 'true'
if env.show_aux_notice == "false" then
env.show_aux_notice = false
else
env.show_aux_notice = true
end
----------------------------
-- 持續選詞上屏,保持輔助碼分隔符存在 --
----------------------------
env.notifier = engine.context.select_notifier:connect(function(ctx)
-- 含有輔助碼分隔符才處理
if not string.find(ctx.input, env.trigger_key) then
return
end
local preedit = ctx:get_preedit()
local removeAuxInput = ctx.input:match("([^,]+)" .. env.trigger_key)
local reeditTextFront = preedit.text:match("([^,]+)" .. env.trigger_key)
-- ctx.text 隨著選字的進行oaoaoa 有如下的輸出:
-- ---- 有輔助碼 ----
-- >>> 啊 oaoaau
-- >>> 啊吖 oaau
-- >>> 啊吖啊au
-- ---- 無輔助碼 ----
-- >>> 啊 oaoa
-- >>> 啊吖 oa
-- >>> 啊吖啊;
-- 這邊把已經上屏的字段 (preedit:text) 進行分割;
-- 如果已經全部選完了,分割後的結果就是 nil否則都是 吖卡 a 這種字符串
-- 驗證方式:
-- log.info('select_notifier', ctx.input, removeAuxInput, preedit.text, reeditTextFront)
-- 當最終不含有任何字母時 (候選),就跳出分割模式,並把輔助碼分隔符刪掉
ctx.input = removeAuxInput
if reeditTextFront and reeditTextFront:match("[a-z]") then
-- 給詞尾自動添加分隔符,上面的 re.match 會把分隔符刪掉
ctx.input = ctx.input .. env.trigger_key
else
-- 剩下的直接上屏
ctx:commit()
end
end)
end
----------------
-- 閱讀輔碼文件 --
----------------
function AuxFilter.readAuxTxt(txtpath)
-- log.info("** AuxCode filter", 'read Aux code txt:', txtpath)
if AuxFilter.cache then
return AuxFilter.cache
end
local defaultFile = 'moqi_aux_code.txt'
local userPath = rime_api.get_user_data_dir() .. "/lua/aux_code/"
local fileAbsolutePath = userPath .. txtpath .. ".txt"
local file = io.open(fileAbsolutePath, "r") or io.open(userPath .. defaultFile, "r")
if not file then
log.info("Unable to open auxiliary code file.")
return {}
end
local auxCodes = {}
for line in file:lines() do
if line ~= nil and line ~= "" then -- 检查 line 是否为空
line = line:match("[^\r\n]+") -- 去掉換行符,不然 value 是帶著 \n 的
local key, value = line:match("([^=]+)=(.+)") -- 分割 = 左右的變數
if key and value then
auxCodes[key] = auxCodes[key] or {}
table.insert(auxCodes[key], value)
end
end
end
file:close()
-- 確認 code 能打印出來
-- for key, value in pairs(AuxFilter.aux_code) do
-- log.info(key, table.concat(value, ','))
-- end
AuxFilter.cache = auxCodes
return AuxFilter.cache
end
-- local function getUtf8CharLength(byte)
-- if byte < 128 then
-- return 1
-- elseif byte < 224 then
-- return 2
-- elseif byte < 240 then
-- return 3
-- else
-- return 4
-- end
-- end
-- 輔助函數,用於獲取表格的所有鍵
local function table_keys(t)
local keys = {}
for key, _ in pairs(t) do
table.insert(keys, key)
end
return keys
end
-----------------------------------------------
-- 計算詞語整體的輔助碼
-- 目前定義為
-- 把字或词组的所有辅码,第一个键堆到一起,第二个键堆到一起
-- 例子:
-- 候选(word) = 拜日
-- 【拜】 的辅码有 charAuxCodes=
-- p a
-- p u
-- u a
-- u f
-- u u
-- 【日】 的辅码有 charAuxCodes=
-- o r
-- r i
-- a a
-- u h
-- (竖着拍成左右两个字符串)
-- 第一个辅码键的不重复列表为fullAuxCodes[1]= urpao
-- 第二个辅码键的不重复列表为fullAuxCodes[2]= urhafi
-- -----------------------------------------------
function AuxFilter.fullAux(env, word)
local fullAuxCodes = {}
-- log.info('候选词:', word)
for _, codePoint in utf8.codes(word) do
local char = utf8.char(codePoint)
local charAuxCodes = AuxFilter.aux_code[char] -- 每個字的輔助碼組
if charAuxCodes then -- 輔助碼存在
for _, code in ipairs(charAuxCodes) do
for i = 1, #code do
fullAuxCodes[i] = fullAuxCodes[i] or {}
fullAuxCodes[i][code:sub(i, i)] = true
end
end
end
end
-- 將表格轉換為字符串
for i, chars in pairs(fullAuxCodes) do
fullAuxCodes[i] = table.concat(table_keys(chars), "")
end
return fullAuxCodes
end
-----------------------------------------------
-- 判斷 auxStr 是否匹配 fullAux
-----------------------------------------------
function AuxFilter.match(fullAux, auxStr)
if #fullAux == 0 then
return false
end
local firstKeyMatched = fullAux[1]:find(auxStr:sub(1, 1)) ~= nil
-- 如果辅助码只有一个键,且第一个键匹配,则返回 true
if #auxStr == 1 then
return firstKeyMatched
end
-- 如果辅助码有两个或更多键,检查第二个键是否匹配
local secondKeyMatched = fullAux[2] and fullAux[2]:find(auxStr:sub(2, 2)) ~= nil
-- 只有当第一个键和第二个键都匹配时,才返回 true
return firstKeyMatched and secondKeyMatched
end
------------------
-- filter 主函數 --
------------------
function AuxFilter.func(input, env)
local context = env.engine.context
local inputCode = context.input
-- 分割部分正式開始
local auxStr = ''
-- 判断字符串中是否包含輔助碼分隔符
if not string.find(inputCode, env.trigger_key) then
-- 没有输入辅助码引导符则直接yield所有待选项不进入后续迭代提升性能
for cand in input:iter() do
yield(cand)
end
return
else
-- 字符串中包含輔助碼分隔符
local trigger_pattern = env.trigger_key:gsub("%W", "%%%1") -- 處理特殊字符
local localSplit = inputCode:match(trigger_pattern .. "([^,]+)")
if localSplit then
auxStr = string.sub(localSplit, 1, 2)
-- log.info('re.match ' .. local_split)
end
-- 更新逻辑:没有匹配上就不出现再候选框里,提升性能
-- local insertLater = {}
-- 遍歷每一個待選項
for cand in input:iter() do
local auxCodes = AuxFilter.aux_code[cand.text] -- 僅單字非 nil
local fullAuxCodes = AuxFilter.fullAux(env, cand.text)
-- 查看 auxCodes
-- log.info(cand.text, #auxCodes)
-- for i, cl in ipairs(auxCodes) do
-- log.info(i, table.concat(cl, ',', 1, #cl))
-- end
-- 給待選項加上輔助碼提示
if env.show_aux_notice and auxCodes and #auxCodes > 0 then
local codeComment = table.concat(auxCodes, ',')
-- 處理 simplifier
if cand:get_dynamic_type() == "Shadow" then
local shadowText = cand.text
local shadowComment = cand.comment
local originalCand = cand:get_genuine()
cand = ShadowCandidate(originalCand, originalCand.type, shadowText,
originalCand.comment .. shadowComment .. '(' .. codeComment .. ')')
else
cand.comment = '(' .. codeComment .. ')'
end
end
-- 過濾輔助碼
if #auxStr == 0 then
-- 沒有輔助碼、不需篩選,直接返回待選項
yield(cand)
elseif #auxStr > 0 and fullAuxCodes and (cand.type == 'user_phrase' or cand.type == 'phrase') and
AuxFilter.match(fullAuxCodes, auxStr) then
-- 匹配到辅助码的待选项,直接插入到候选框中( 获得靠前的位置 )
yield(cand)
else
-- 待选项字词 没有 匹配到当前的辅助码,插入到列表中,最后插入到候选框里( 获得靠后的位置 )
-- table.insert(insertLater, cand)
-- 更新逻辑:没有匹配上就不出现再候选框里,提升性能
end
end
-- 把沒有匹配上的待選給添加上
-- for _, cand in ipairs(insertLater) do
-- yield(cand)
-- end
-- 更新逻辑:没有匹配上就不出现再候选框里,提升性能
end
end
function AuxFilter.fini(env)
env.notifier:disconnect()
end
return AuxFilter

90
lua/aux_code/log.lua Normal file
View File

@@ -0,0 +1,90 @@
--
-- log.lua
--
-- Copyright (c) 2016 rxi
--
-- This library is free software; you can redistribute it and/or modify it
-- under the terms of the MIT license. See LICENSE for details.
--
local log = { _version = "0.1.0" }
log.usecolor = true
log.outfile = nil
log.level = "trace"
local modes = {
{ name = "trace", color = "\27[34m", },
{ name = "debug", color = "\27[36m", },
{ name = "info", color = "\27[32m", },
{ name = "warn", color = "\27[33m", },
{ name = "error", color = "\27[31m", },
{ name = "fatal", color = "\27[35m", },
}
local levels = {}
for i, v in ipairs(modes) do
levels[v.name] = i
end
local round = function(x, increment)
increment = increment or 1
x = x / increment
return (x > 0 and math.floor(x + .5) or math.ceil(x - .5)) * increment
end
local _tostring = tostring
local tostring = function(...)
local t = {}
for i = 1, select('#', ...) do
local x = select(i, ...)
if type(x) == "number" then
x = round(x, .01)
end
t[#t + 1] = _tostring(x)
end
return table.concat(t, " ")
end
for i, x in ipairs(modes) do
local nameupper = x.name:upper()
log[x.name] = function(...)
-- Return early if we're below the log level
if i < levels[log.level] then
return
end
local msg = tostring(...)
local info = debug.getinfo(2, "Sl")
local lineinfo = info.short_src .. ":" .. info.currentline
-- Output to console
print(string.format("%s[%-6s%s]%s %s: %s",
log.usecolor and x.color or "",
nameupper,
os.date("%H:%M:%S"),
log.usecolor and "\27[0m" or "",
lineinfo,
msg))
-- Output to log file
if log.outfile then
local fp = io.open(log.outfile, "a")
local str = string.format("[%-6s%s] %s: %s\n",
nameupper, os.date(), lineinfo, msg)
fp:write(str)
fp:close()
end
end
end
return log

40502
lua/aux_code/moqi_aux_code.txt Normal file

File diff suppressed because it is too large Load Diff

209
lua/calc_translator.lua Normal file
View File

@@ -0,0 +1,209 @@
-- 计算器插件
-- author: https://github.com/ChaosAlphard
local calc = {}
function calc.init( env )
local config = env.engine.schema.config
env.prefix = config:get_string( 'calculator/prefix' ) or 'cC'
env.show_prefix = config:get_bool( 'calculator/show_prefix' ) -- set to true to show prefix in preedit area
-- env.decimalPlaces = config:get_string('calculator/decimalPlaces') or '4'
end
local function startsWith( str, start ) return string.sub( str, 1, string.len( start ) ) == start end
local function truncateFromStart( str, truncateStr ) return string.sub( str, string.len( truncateStr ) + 1 ) end
local function yield_calc_cand( seg, cand_text, cand_comment, cand_preedit, show_prefix )
local cand = Candidate( 'calc', seg.start, seg._end, cand_text, cand_comment )
cand.quality = 99999
if not show_prefix then cand.preedit = cand_preedit end
yield( cand )
end
-- 函数表
local calcPlugin = {
-- e, exp(1) = e^1 = e
e = math.exp( 1 ),
-- π
pi = math.pi,
}
-- random([m [,n ]]) 返回m-n之间的随机数, n为空则返回1-m之间, 都为空则返回0-1之间的小数
local function random( ... ) return math.random( ... ) end
-- 注册到函数表中
calcPlugin['rdm'] = random
calcPlugin['random'] = random
-- 正弦
local function sin( x ) return math.sin( x ) end
calcPlugin['sin'] = sin
-- 双曲正弦
local function sinh( x ) return math.sinh( x ) end
calcPlugin['sinh'] = sinh
-- 反正弦
local function asin( x ) return math.asin( x ) end
calcPlugin['asin'] = asin
-- 余弦
local function cos( x ) return math.cos( x ) end
calcPlugin['cos'] = cos
-- 双曲余弦
local function cosh( x ) return math.cosh( x ) end
calcPlugin['cosh'] = cosh
-- 反余弦
local function acos( x ) return math.acos( x ) end
calcPlugin['acos'] = acos
-- 正切
local function tan( x ) return math.tan( x ) end
calcPlugin['tan'] = tan
-- 双曲正切
local function tanh( x ) return math.tanh( x ) end
calcPlugin['tanh'] = tanh
-- 反正切
-- 返回以弧度为单位的点相对于x轴的逆时针角度。x是点的横纵坐标比值
-- 返回范围从−π到π (以弧度为单位),其中负角度表示向下旋转,正角度表示向上旋转
local function atan( x ) return math.atan( x ) end
calcPlugin['atan'] = atan
-- 反正切
-- atan( y/x ) = atan2(y, x)
-- 返回以弧度为单位的点相对于x轴的逆时针角度。y是点的纵坐标x是点的横坐标
-- 返回范围从−π到π (以弧度为单位),其中负角度表示向下旋转,正角度表示向上旋转
-- 与 math.atan(y/x) 函数相比具有更好的数学定义因为它能够正确处理边界情况例如x=0
local function atan2( y, x ) return math.atan2( y, x ) end
calcPlugin['atan2'] = atan2
-- 将角度从弧度转换为度 e.g. deg(π) = 180
local function deg( x ) return math.deg( x ) end
calcPlugin['deg'] = deg
-- 将角度从度转换为弧度 e.g. rad(180) = π
local function rad( x ) return math.rad( x ) end
calcPlugin['rad'] = rad
-- 返回两个值, 无法参与运算后续, 只能单独使用
-- 返回m,e 使得x = m * 2^e
local function frexp( x )
local m, e = math.frexp( x )
return m .. ' * 2^' .. e
end
calcPlugin['frexp'] = frexp
-- 返回 x * 2^y
local function ldexp( x, y ) return math.ldexp( x, y ) end
calcPlugin['ldexp'] = ldexp
-- 返回 e^x
local function exp( x ) return math.exp( x ) end
calcPlugin['exp'] = exp
-- 返回x的平方根 e.g. sqrt(x) = x^0.5
local function sqrt( x ) return math.sqrt( x ) end
calcPlugin['sqrt'] = sqrt
-- y为底x的对数, 使用换底公式实现
local function log( y, x )
-- 不能为负数或0
if x <= 0 or y <= 0 then return nil end
return math.log( x ) / math.log( y )
end
calcPlugin['log'] = log
-- e为底x的对数
local function loge( x )
-- 不能为负数或0
if x <= 0 then return nil end
return math.log( x )
end
calcPlugin['loge'] = loge
-- 10为底x的对数
local function log10( x )
-- 不能为负数或0
if x <= 0 then return nil end
return math.log10( x )
end
calcPlugin['log10'] = log10
-- 平均值
local function avg( ... )
local data = { ... }
local n = select( '#', ... )
-- 样本数量不能为0
if n == 0 then return nil end
-- 计算总和
local sum = 0
for _, value in ipairs( data ) do sum = sum + value end
return sum / n
end
calcPlugin['avg'] = avg
-- 方差
local function variance( ... )
local data = { ... }
local n = select( '#', ... )
-- 样本数量不能为0
if n == 0 then return nil end
-- 计算均值
local sum = 0
for _, value in ipairs( data ) do sum = sum + value end
local mean = sum / n
-- 计算方差
local sum_squared_diff = 0
for _, value in ipairs( data ) do sum_squared_diff = sum_squared_diff + (value - mean) ^ 2 end
return sum_squared_diff / n
end
calcPlugin['var'] = variance
-- 阶乘
local function factorial( x )
-- 不能为负数
if x < 0 then return nil end
if x == 0 or x == 1 then return 1 end
local result = 1
for i = 1, x do result = result * i end
return result
end
calcPlugin['fact'] = factorial
-- 实现阶乘计算(!)
local function replaceToFactorial( str )
-- 替换[0-9]!字符为fact([0-9])以实现阶乘
return str:gsub( '([0-9]+)!', 'fact(%1)' )
end
-- 简单计算器
function calc.func( input, seg, env )
if not seg:has_tag( 'calculator' ) or input == '' then return end
-- 提取算式
local express = truncateFromStart( input, env.prefix )
if express == '' then return end -- 防止用户写错了正则表达式造成错误
local code = replaceToFactorial( express )
local success, result = pcall( load( 'return ' .. code, 'calculate', 't', calcPlugin ) )
if success and result and (type( result ) == 'string' or type( result ) == 'number') and #tostring( result ) > 0 then
yield_calc_cand( seg, result, '', express, env.show_prefix )
yield_calc_cand( seg, express .. '=' .. result, '', express, env.show_prefix )
else
yield_calc_cand( seg, express, '解析失败', express, env.show_prefix )
yield_calc_cand( seg, code, '入参', express, env.show_prefix )
end
end
return calc

251
lua/calculator.lua Normal file
View File

@@ -0,0 +1,251 @@
-- author: https://github.com/ChaosAlphard
-- 说明 https://github.com/gaboolic/rime-shuangpin-fuzhuma/pull/41
local M = {}
function M.init(env)
local config = env.engine.schema.config
env.name_space = env.name_space:gsub('^*', '')
M.prefix = config:get_string(env.name_space .. '/trigger') or 'V'
end
local function startsWith(str, start)
return string.sub(str, 1, string.len(start)) == start
end
local function truncateFromStart(str, truncateStr)
return string.sub(str, string.len(truncateStr) + 1)
end
-- 函数表
local calcPlugin = {
-- e, exp(1) = e^1 = e
e = math.exp(1),
-- π
pi = math.pi
}
-- random([m [,n ]]) 返回m-n之间的随机数, n为空则返回1-m之间, 都为空则返回0-1之间的小数
local function random(...)
return math.random(...)
end
-- 注册到函数表中
calcPlugin["rdm"] = random
-- 正弦
local function sin(x)
return math.sin(x)
end
calcPlugin["sin"] = sin
-- 双曲正弦
local function sinh(x)
return math.sinh(x)
end
calcPlugin["sinh"] = sinh
-- 反正弦
local function asin(x)
return math.asin(x)
end
calcPlugin["asin"] = asin
-- 余弦
local function cos(x)
return math.cos(x)
end
calcPlugin["cos"] = cos
-- 双曲余弦
local function cosh(x)
return math.cosh(x)
end
calcPlugin["cosh"] = cosh
-- 反余弦
local function acos(x)
return math.acos(x)
end
calcPlugin["acos"] = acos
-- 正切
local function tan(x)
return math.tan(x)
end
calcPlugin["tan"] = tan
-- 双曲正切
local function tanh(x)
return math.tanh(x)
end
calcPlugin["tanh"] = tanh
-- 反正切
local function atan(x)
return math.atan(x)
end
calcPlugin["atan"] = atan
-- 返回以弧度为单位的点(x,y)相对于x轴的逆时针角度。y是点的纵坐标x是点的横坐标
-- 返回范围从−π到π (以弧度为单位),其中负角度表示向下旋转,正角度表示向上旋转
-- 它与传统的 math.atan(y/x) 函数相比具有更好的数学定义因为它能够正确处理边界情况例如x=0
local function atan2(y, x)
return math.atan2(y, x)
end
calcPlugin["atan2"] = atan2
-- 将角度从弧度转换为度 e.g. deg(π) = 180
local function deg(x)
return math.deg(x)
end
calcPlugin["deg"] = deg
-- 将角度从度转换为弧度 e.g. rad(180) = π
local function rad(x)
return math.rad(x)
end
calcPlugin["rad"] = rad
-- 返回两个值, 无法参与运算后续
-- 返回m,e 使得x = m*2^e
-- local function frexp(x)
-- return math.frexp(x)
-- end
-- calcPlugin["frexp"] = frexp
-- 返回 x*2^y
local function ldexp(x, y)
return math.ldexp(x, y)
end
calcPlugin["ldexp"] = ldexp
-- 返回 e^x
local function exp(x)
return math.exp(x)
end
calcPlugin["exp"] = exp
-- 返回x的平方根 e.g. sqrt(x) = x^0.5
local function sqrt(x)
return math.sqrt(x)
end
calcPlugin["sqrt"] = sqrt
-- x为底的对数, log(10, 100) = log(100) / log(10) = 2
local function log(x, y)
-- 不能为负数或0
if x <= 0 or y <= 0 then return nil end
return math.log(y) / math.log(x)
end
calcPlugin["log"] = log
-- 自然数e为底的对数
local function loge(x)
-- 不能为负数或0
if x <= 0 then return nil end
return math.log(x)
end
calcPlugin["loge"] = loge
-- 10为底的对数
local function log10(x)
-- 不能为负数或0
if x <= 0 then return nil end
return math.log10(x)
end
calcPlugin["log10"] = log10
-- 平均值
local function avg(...)
local data = {...}
local n = select("#", ...)
-- 样本数量不能为0
if n == 0 then return nil end
-- 计算总和
local sum = 0
for _, value in ipairs(data) do
sum = sum + value
end
return sum / n
end
calcPlugin["avg"] = avg
-- 方差
local function variance(...)
local data = {...}
local n = select("#", ...)
-- 样本数量不能为0
if n == 0 then return nil end
-- 计算均值
local sum = 0
for _, value in ipairs(data) do
sum = sum + value
end
local mean = sum / n
-- 计算方差
local sum_squared_diff = 0
for _, value in ipairs(data) do
sum_squared_diff = sum_squared_diff + (value - mean)^2
end
return sum_squared_diff / n
end
calcPlugin["var"] = variance
-- 阶乘
local function factorial(x)
-- 不能为负数
if x < 0 then return nil end
if x == 0 or x == 1 then return 1 end
local result = 1
for i = 1, x do
result = result * i
end
return result
end
calcPlugin["fact"] = factorial
-- 实现阶乘计算(!)
local function replaceToFactorial(str)
-- 替换[0-9]!字符为fact([0-9])以实现阶乘
return str:gsub("([0-9]+)!", "fact(%1)")
end
-- 简单计算器
function M.func(input, seg, env)
if not startsWith(input, M.prefix) then return end
-- 提取算式
local express = truncateFromStart(input, M.prefix)
-- 算式长度 < 2 直接终止(没有计算意义)
if (string.len(express) < 2) then return end
-- pcall()的原因需要控制一下 . 符号的位置
-- 现在不需要了
-- if (string.match(express, "[^0-9]%.")) then
-- yield(Candidate(input, seg.start, seg._end, express, "小数点不能在非数字字符后面"))
-- return
-- end
local code = replaceToFactorial(express)
local success, result = pcall(load("return " .. code, "calculate", "t", calcPlugin))
if success then
yield(Candidate(input, seg.start, seg._end, result, ""))
yield(Candidate(input, seg.start, seg._end, express .. "=" .. result, ""))
else
yield(Candidate(input, seg.start, seg._end, express, "解析失败"))
yield(Candidate(input, seg.start, seg._end, code, "入参"))
-- TODO: 错误信息记录到日志中
-- print("express: " .. express)
-- print("code: " .. code)
-- print("result: " .. result)
end
end
return M

31
lua/cn_en_spacer.lua Normal file
View File

@@ -0,0 +1,31 @@
-- 中英混输词条自动空格
-- 在 engine/filters 增加 - lua_filter@cn_en_spacer
--
-- 为中英混输词条cn_en.dict.yaml自动空格
-- 示例:`VIP中P` → `VIP 中 P`
--
-- ChatGPT 写的
local function add_spaces(s)
-- 在中文字符后和英文字符前插入空格
s = s:gsub("([\228-\233][\128-\191]-)([%w%p])", "%1 %2")
-- 在英文字符后和中文字符前插入空格
s = s:gsub("([%w%p])([\228-\233][\128-\191]-)", "%1 %2")
return s
end
-- 是否同时包含中文和英文数字
local function is_mixed_cn_en_num(s)
return s:find("([\228-\233][\128-\191]-)") and s:find("[%a%d]")
end
local function cn_en_spacer(input, env)
for cand in input:iter() do
if is_mixed_cn_en_num(cand.text) then
cand = cand:to_shadow_candidate(cand.type, add_spaces(cand.text), cand.comment)
end
yield(cand)
end
end
return cn_en_spacer

View File

@@ -0,0 +1,11 @@
-- 临时用的
function debug_checker(input, env)
for cand in input:iter() do
yield(ShadowCandidate(
cand,
cand.type,
cand.text,
env.engine.context.input .. " - " .. env.engine.context:get_preedit().text .. " - " .. cand.preedit
))
end
end

View File

@@ -0,0 +1,92 @@
#! /usr/bin/env lua
--
-- debugtool.lua
-- Copyright (C) 2021 Shewer Lu <shewer@gmail.com>
--
-- Distributed under terms of the MIT license.
--
-- puts(tag,...)
-- DEBUG --> log.error
-- WARN --> log.warning
-- INFO --> log.info
-- CONSOLE --> print
--
-- ex:
-- test.lua
--
-- local puts = require 'tools/debugtool'
-- --set tag D103 C102
-- local D103= DEBUG .. "103"
-- local C102= CONSOLE .. "102"
-- local C103= nil
--
--
-- puts(ERROR,__FILE__(),__LINE__(),__FUNC__(), 1, 2 , 3 )
-- --> log.error( "error" .. tran_msg(...))
--
-- puts(DEBUG,__FILE__(),__LINE__(),__FUNC__(), 1, 2 , 3 )
-- --> log.error( DEBUG .. tran_msg(...))
--
-- puts(D103,__FILE__(),__LINE__(),__FUNC__(), 1 2 3)
-- --> log.error("trace103" .. tran_msg(...)
--
-- puts(C102,__FILE__(),__LINE__(),__FUNC__(), 1 2 3)
-- --> print("console103" .. tran_msg(...)
--
-- puts(C103,__FILE__(),__LINE__(),__FUNC__(), 1 2 3)
-- --> pass
--
--
--
-- puts(DEBUG,__FILE__(),__LINE__(),__FUNC__() , ...)
-- puts(INFO,__FILE__(),__LINE__(),__FUNC__() , ...)
--
-- global variable
function __FILE__(n)
n = n or 2
return debug.getinfo(n, 'S').source
end
function __LINE__(n)
n = n or 2
return debug.getinfo(n, 'l').currentline
end
function __FUNC__(n)
n = n or 2
return debug.getinfo(n, 'n').name
end
INFO = "log"
WARN = "warn"
ERROR = "error"
DEBUG = "trace"
CONSOLE = "console"
local function tran_msg(...)
local msg = "\t"
for i, k in next, { ... } do msg = msg .. ": " .. tostring(k) end
return msg
end
local function puts(tag, ...)
if type(tag) ~= "string" then return end
if INFO and tag:match("^" .. INFO) then
(log and log.info or print)(tag .. tran_msg(...))
elseif WARN and tag:match("^" .. WARN) then
(log and log.warning or print)(tag .. tran_msg(...))
elseif ERROR and tag:match("^" .. ERROR) then
(log and log.error or print)(tag .. tran_msg(...))
elseif DEBUG and tag:match("^" .. DEBUG) then
(log and log.error or print)(tag .. tran_msg(...))
elseif CONSOLE and tag:match("^" .. CONSOLE) then
(print)(tag .. tran_msg(...))
else
return
end
end
return puts

View File

@@ -0,0 +1,4 @@
local drop_words =
{ "示~例~",
}
return drop_words

View File

@@ -0,0 +1,54 @@
local drop_list = require("cold_word_drop.drop_words")
local hide_list = require("cold_word_drop.hide_words")
local turndown_freq_list = require("cold_word_drop.turndown_freq_words")
local function filter(input, env)
local idx = 3 -- 降频的词条放到第三个后面, 即第四位, 可在 yaml 里配置
local i = 1
local cands = {}
local context = env.engine.context
local preedit_code = context.input
for cand in input:iter() do
local cpreedit_code = string.gsub(cand.preedit, ' ', '')
if (i <= idx) then
local tfl = turndown_freq_list[cand.text] or nil
-- 前三个 候选项排除 要调整词频的词条, 要删的(实际假性删词, 彻底隐藏罢了) 和要隐藏的词条
if not
((tfl and table.find_index(tfl, cpreedit_code)) or
table.find_index(drop_list, cand.text) or
(hide_list[cand.text] and table.find_index(hide_list[cand.text], cpreedit_code))
)
then
i = i + 1
---@diagnostic disable-next-line: undefined-global
yield(cand)
else
table.insert(cands, cand)
end
else
table.insert(cands, cand)
end
if (#cands > 50) then
break
end
end
for _, cand in ipairs(cands) do
local cpreedit_code = string.gsub(cand.preedit, ' ', '')
if not
-- 要删的 和要隐藏的词条不显示
(
table.find_index(drop_list, cand.text) or
(hide_list[cand.text] and table.find_index(hide_list[cand.text], cpreedit_code))
)
then
---@diagnostic disable-next-line: undefined-global
yield(cand)
end
end
for cand in input:iter() do
yield(cand)
end
end
return filter

View File

@@ -0,0 +1,4 @@
local hide_words =
{ ["示~例~"] = { "shil", "shili", },
}
return hide_words

View File

@@ -0,0 +1,163 @@
-- create metatable
orgtype = type
function type(obj)
local _type = orgtype(obj)
if "table" == _type and obj._cname then
return obj._cname
end
return _type
end
function metatable(...)
if ... and type(...) == "table" then
return setmetatable(..., { __index = table })
else
return setmetatable({ ... }, { __index = table })
end
end
-- chech metatble
function metatable_chk(tab)
if "table" == type(tab)
then
return (tab.each and tab) or metatable(tab)
else
return tab
end
end
table.eachi = function(tab, func)
for i = 1, #tab do
func(tab[i], i)
end
return tab
end
table.eacha = function(tab, func)
for i, v in ipairs(tab) do
func(v, i)
end
return tab
end
table.each = function(tab, func)
for k, v in pairs(tab) do
func(v, k)
end
return tab
end
table.find_index = function(tab, elm, ...)
local _, i = table.find(tab, elm, ...)
return i
end
table.find = function(tab, elm, func)
for i, v in ipairs(tab) do
if elm == v then
return v, i
end
end
end
table.find_with_func = function(tab, elm, ...)
local i, v = table.find(tab, elm)
end
table.delete = function(tab, elm, ...)
local index = table.find_index(tab, elm)
return index and table.remove(tab, index)
end
table.find_all = function(tab, elm, ...)
local tmptab = setmetatable({}, { __index = table })
local _func = (type(elm) == "function" and elm) or function(v, k, ...) return v == elm end
for k, v in pairs(tab) do
if _func(v, k, ...) then
tmptab:insert(v)
end
end
return tmptab
end
table.select = table.find_all
table.reduce = function(tab, func, arg)
local new, old = arg, arg
for i, v in ipairs(tab) do
new, old = func(v, new)
end
return new, arg
end
table.map = function(tab, func)
local newtab = setmetatable({}, { __index = table })
func = func or function(v, i) return v, i end
for i, v in ipairs(tab) do
newtab[i] = func(v, i)
end
return newtab
end
table.map_hash = function(tab, func) -- table to list of array { key, v}
local newtab = setmetatable({}, { __index = table })
func = func or function(k, v) return { k, v } end
for k, v in pairs(tab) do
newtab:insert(func(k, v))
end
return newtab
end
function table:push(elm)
self:insert(elm)
end
table.append = table.push
function table:pop()
return self:remove(#self)
end
function table:shift()
self:remove(1)
end
function table:unshift(elm)
self:insert(1, elm)
end
function table.len(t)
local leng = 0
for k, v in pairs(t) do
leng = leng + 1
end
return leng;
end
-- table to string 序列化
function table.serialize(obj)
local serialize_str = ""
local t = type(obj)
if t == "number" then
serialize_str = serialize_str .. obj
elseif t == "boolean" then
serialize_str = serialize_str .. tostring(obj)
elseif t == "string" then
serialize_str = serialize_str .. string.format("%q", obj)
elseif t == "table" then
serialize_str = serialize_str .. "{ "
local record_sep = #obj < 4 and ", " or ",\n"
local record_prefix = #obj < 4 and "" or "\t"
for k, v in pairs(obj) do
if type(k) == "number" then
serialize_str = serialize_str .. record_prefix .. '"' .. v .. '"' .. record_sep
else
serialize_str = serialize_str .. "\t[" .. table.serialize(k) .. "] = " .. table.serialize(v) .. ",\n"
end
end
-- local metatable = getmetatable(obj)
-- if metatable ~= nil and type(metatable.__index) == "table" then
-- for k, v in pairs(metatable.__index) do
-- serialize_str = serialize_str .. "[" .. table.serialize(k) .. "]=" .. table.serialize(v) .. ",\n"
-- end
-- end
serialize_str = serialize_str .. "}"
elseif t == "nil" then
return nil
else
error("can not serialize a " .. t .. " type.")
end
return serialize_str
end

View File

@@ -0,0 +1,151 @@
require('cold_word_drop.string')
require("cold_word_drop.metatable")
-- local puts = require("tools/debugtool")
local drop_list = require("cold_word_drop.drop_words")
local hide_list = require("cold_word_drop.hide_words")
local turndown_freq_list = require("cold_word_drop.turndown_freq_words")
local tbls = {
['drop_list'] = drop_list,
['hide_list'] = hide_list,
['turndown_freq_list'] = turndown_freq_list
}
-- local cold_word_drop = {}
local function get_record_filername(record_type)
local user_distribute_name = rime_api:get_distribution_name()
if user_distribute_name == '小狼毫' then
return string.format("%s\\Rime\\lua\\cold_word_drop\\%s_words.lua", os.getenv("APPDATA"), record_type)
end
local system = io.popen("uname -s"):read("*l")
local filename = nil
-- body
if system == "Darwin" then
filename = string.format("%s/Library/Rime/lua/cold_word_drop/%s_words.lua", os.getenv('HOME'), record_type)
elseif system == "Linux" then
filename = string.format("%s/%s/rime/lua/cold_word_drop/%s_words.lua",
os.getenv('HOME'),
(string.find(os.getenv('GTK_IM_MODULE'), 'fcitx') and '.local/share/fcitx5' or '.config/ibus'),
record_type)
end
return filename
end
local function write_word_to_file(record_type)
-- local filename = string.format("%s/Library/Rime/lua/cold_word_drop/%s_words.lua", os.getenv('HOME'), record_type)
local filename = get_record_filername(record_type)
local record_header = string.format("local %s_words =\n", record_type)
local record_tailer = string.format("\nreturn %s_words", record_type)
local fd = assert(io.open(filename, "w")) --打开
fd:setvbuf("line")
fd:write(record_header) --写入文件头部
-- df:flush() --刷新
local x = string.format("%s_list", record_type)
local record = table.serialize(tbls[x]) -- lua 的 table 对象 序列化为字符串
fd:write(record) --写入 序列化的字符串
fd:write(record_tailer) --写入文件尾部, 结束记录
fd:close() --关闭
end
local function check_encode_matched(cand_code, word, input_code_tbl, reversedb)
if #cand_code < 1 and utf8.len(word) > 1 then -- 二字词以上的词条反查, 需要逐个字去反查
local word_cand_code = string.split(word, "")
for i, v in ipairs(word_cand_code) do
-- 如有 `[` 引导的辅助码情况, 去掉引导符及之后的所有形码字符
local char_code = string.gsub(reversedb:lookup(v), '%[%l%l', '')
local _char_preedit_code = input_code_tbl[i] or " "
-- 如有 `[` 引导的辅助码情况, 同上, 去掉之
local char_preedit_code = string.gsub(_char_preedit_code, '%[%l+', '')
if not string.match(char_code, char_preedit_code) then
-- 输入编码串和词条反查结果不匹配(考虑到多音字, 开启了模糊音, 纠错音), 返回false, 表示隐藏这个词条
return false
end
end
end
-- 输入编码串和词条反查结果匹配, 返回true, 表示对这个词条降频
return true
end
local function append_word_to_droplist(ctx, action_type, reversedb)
local word = ctx.word
local input_code = ctx.code
if action_type == 'drop' then
table.insert(drop_list, word) -- 高亮选中的词条插入到 drop_list
return true
end
local input_code_tbl = string.split(input_code, " ")
local cand_code = reversedb:lookup(word) or "" -- 反查候选项文字编码
-- 二字词 的匹配检查, 匹配返回true, 不匹配返回false
local match_result = check_encode_matched(cand_code, word, input_code_tbl, reversedb)
local ccand_code = string.gsub(cand_code, '%[%l%l', '')
-- 如有 `[` 引导的辅助码情况, 去掉引导符及之后的所有形码字符
local input_str = string.gsub(input_code, '%[%l+', '')
local input_code_str = table.concat(input_code_tbl, '')
-- 单字和二字词 的匹配检查, 如果匹配, 降频
if string.match(ccand_code, input_str) or match_result then
if turndown_freq_list[word] then
table.insert(turndown_freq_list[word], input_code_str)
else
turndown_freq_list[word] = { input_code_str }
end
return 'turndown_freq'
end
-- 单字和二字词 如果不匹配 就隐藏
if not hide_list[word] then
hide_list[word] = { input_code_str }
return true
else
-- 隐藏的词条如果已经在 hide_list 中, 则将输入串追加到 值表中, 如: ['藏'] = {'chang', 'zhang'}
if not table.find_index(hide_list[word], input_code_str) then
table.insert(hide_list[word], input_code_str)
return true
else
return false
end
end
end
local function processor(key, env)
local engine = env.engine
local config = engine.schema.config
local context = engine.context
-- local top_cand_text = context:get_commit_text()
-- local preedit_code = context.input
local preedit_code = context:get_script_text()
local turndown_cand_key = config:get_string("key_binder/turn_down_cand") or "Control+j"
local drop_cand_key = config:get_string("key_binder/drop_cand") or "Control+d"
local action_map = {
[turndown_cand_key] = 'hide',
[drop_cand_key] = 'drop'
}
-- local schema_id = config:get_string("schema/schema_id")
local schema_id = config:get_string("translator/dictionary") -- 多方案共用字典取主方案名称
---@diagnostic disable-next-line: undefined-global
local reversedb = ReverseLookup(schema_id)
if key:repr() == turndown_cand_key or key:repr() == drop_cand_key then
local cand = context:get_selected_candidate()
local action_type = action_map[key:repr()]
local ctx_map = {
['word'] = cand.text,
['code'] = preedit_code
}
local res = append_word_to_droplist(ctx_map, action_type, reversedb)
context:refresh_non_confirmed_composition() -- 刷新当前输入法候选菜单, 实现看到实时效果
if type(res) == "boolean" then
-- 期望被删的词和隐藏的词条写入文件(drop_words.lua, hide_words.lua)
write_word_to_file(action_type)
else
-- 期望 要调整词频的词条写入 turndown_freq_words.lua 文件
write_word_to_file(res)
end
return 1 -- kAccept
end
return 2 -- kNoop, 不做任何操作, 交给下个组件处理
end
return processor

View File

@@ -0,0 +1,41 @@
-- wrap utf8.sub(str,head_index, tail_index)
-- wrap string.split(str,sp,sp1)
-- string.utf8_len = utf8.len
-- string.utf8_offset= utf8.offset
-- string.utf8_sub= utf8.sub
function string.split(str, sp, sp1)
sp = type(sp) == "string" and sp or " "
if #sp == 0 then
sp = "([%z\1-\127\194-\244][\128-\191]*)"
elseif #sp == 1 then
sp = "[^" .. (sp == "%" and "%%" or sp) .. "]*"
else
sp1 = sp1 or "^"
str = str:gsub(sp, sp1)
sp = "[^" .. sp1 .. "]*"
end
local tab = {}
for v in str:gmatch(sp) do
table.insert(tab, v)
end
return tab
end
function utf8.gsub(str, si, ei)
local function index(ustr, i)
return i >= 0 and (ustr:utf8_offset(i) or ustr:len() + 1)
or (ustr:utf8_offset(i) or 1)
end
local u_si = index(str, si)
ei = ei or str:utf8_len()
ei = ei >= 0 and ei + 1 or ei
local u_ei = index(str, ei) - 1
return str:sub(u_si, u_ei)
end
string.utf8_len = utf8.len
string.utf8_offset = utf8.offset
string.utf8_sub = utf8.gsub
return true

View File

@@ -0,0 +1,4 @@
local turndown_freq_words =
{ ["示~例~"] = { "shili", },
}
return turndown_freq_words

188
lua/corrector.lua Normal file
View File

@@ -0,0 +1,188 @@
--[[
错音错字提示。
示例:「给予」的正确读音是 ji yu当用户输入 gei yu 时,在候选项的 comment 显示正确读音
示例:「按耐」的正确写法是「按捺」,当用户输入「按耐」时,在候选项的 comment 显示正确写法
关闭此 Lua 时,同时需要关闭 translator/spelling_hints否则 comment 里都是拼音
为了让这个 Lua 同时适配全拼与双拼,使用 `spelling_hints` 生成的 comment全拼拼音作为通用的判断条件。
感谢大佬@[Shewer Lu](https://github.com/shewer)提供的思路。
容错词在 cn_dicts/others.dict.yaml 中,有新增建议可以提个 issue
--]]
local M = {}
function M.init(env)
local config = env.engine.schema.config
env.keep_comment = config:get_bool('translator/keep_comments')
local delimiter = config:get_string('speller/delimiter')
if delimiter and #delimiter > 0 and delimiter:sub(1,1) ~= ' ' then
env.delimiter = delimiter:sub(1,1)
end
env.name_space = env.name_space:gsub('^*', '')
M.style = config:get_string(env.name_space) or '{comment}'
M.corrections = {
-- 错音
["hun dun"] = { text = "馄饨", comment = "hún tun" },
["zhu jiao"] = { text = "主角", comment = "zhǔ jué" },
["jiao se"] = { text = "角色", comment = "jué sè" },
["chi pi sa"] = { text = "吃比萨", comment = "chī bǐ sà" },
["pi sa bing"] = { text = "比萨饼", comment = "bǐ sà bǐng" },
["shui fu"] = { text = "说服", comment = "shuō fú" },
["dao hang"] = { text = "道行", comment = "dào heng" },
["mo yang"] = { text = "模样", comment = "mú yàng" },
["you mo you yang"] = { text = "有模有样", comment = "yǒu mú yǒu yàng" },
["yi mo yi yang"] = { text = "一模一样", comment = "yī mú yī yàng" },
["zhuang mo zuo yang"] = { text = "装模作样", comment = "zhuāng mú zuò yàng" },
["ren mo gou yang"] = { text = "人模狗样", comment = "rén mú gǒu yàng" },
["mo ban"] = { text = "模板", comment = "mú bǎn" },
["a mi tuo fo"] = { text = "阿弥陀佛", comment = "ē mí tuó fó" },
["na mo a mi tuo fo"] = { text = "南无阿弥陀佛", comment = "nā mó ē mí tuó fó" },
["nan wu a mi tuo fo"] = { text = "南无阿弥陀佛", comment = "nā mó ē mí tuó fó" },
["nan wu e mi tuo fo"] = { text = "南无阿弥陀佛", comment = "nā mó ē mí tuó fó" },
["gei yu"] = { text = "给予", comment = "jǐ yǔ" },
["bin lang"] = { text = "槟榔", comment = "bīng láng" },
["zhang bai zhi"] = { text = "张柏芝", comment = "zhāng bó zhī" },
["teng man"] = { text = "藤蔓", comment = "téng wàn" },
["nong tang"] = { text = "弄堂", comment = "lòng táng" },
["xin kuan ti pang"] = { text = "心宽体胖", comment = "xīn kuān tǐ pán" },
["mai yuan"] = { text = "埋怨", comment = "mán yuàn" },
["xu yu wei she"] = { text = "虚与委蛇", comment = "xū yǔ wēi yí" },
["mu na"] = { text = "木讷", comment = "mù nè" },
["du le le"] = { text = "独乐乐", comment = "dú yuè lè" },
["zhong le le"] = { text = "众乐乐", comment = "zhòng yuè lè" },
["xun ma"] = { text = "荨麻", comment = "qián má" },
["qian ma zhen"] = { text = "荨麻疹", comment = "xún má zhěn" },
["mo ju"] = { text = "模具", comment = "mú jù" },
["cao zhi"] = { text = "草薙", comment = "cǎo tì" },
["cao zhi jing"] = { text = "草薙京", comment = "cǎo tì jīng" },
["cao zhi jian"] = { text = "草薙剑", comment = "cǎo tì jiàn" },
["jia ping ao"] = { text = "贾平凹", comment = "jiǎ píng wā" },
["xue fo lan"] = { text = "雪佛兰", comment = "xuě fú lán" },
["qiang jin"] = { text = "强劲", comment = "qiáng jìng" },
["tong ti"] = { text = "胴体", comment = "dòng tǐ" },
["li neng kang ding"] = { text = "力能扛鼎", comment = "lì néng gāng dǐng" },
["ya lv jiang"] = { text = "鸭绿江", comment = "yā lù jiāng" },
["da fu bian bian"] = { text = "大腹便便", comment = "dà fù pián pián" },
["ka bo zi"] = { text = "卡脖子", comment = "qiǎ bó zi" },
["zhi sheng"] = { text = "吱声", comment = "zī shēng" },
["chan he"] = { text = "掺和", comment = "chān huo" },
["can huo"] = { text = "掺和", comment = "chān huo" },
["can he"] = { text = "掺和", comment = "chān huo" },
["cheng zhi"] = { text = "称职", comment = "chèn zhí" },
["luo shi fen"] = { text = "螺蛳粉", comment = "luó sī fěn" },
["tiao huan"] = { text = "调换", comment = "diào huàn" },
["tai xing shan"] = { text = "太行山", comment = "tài háng shān" },
["jie si di li"] = { text = "歇斯底里", comment = "xiē sī dǐ lǐ" },
["fa xiao"] = { text = "发酵", comment = "fā jiào" },
["xiao mu jun"] = { text = "酵母菌", comment = "jiào mǔ jūn" },
["yin hong"] = { text = "殷红", comment = "yān hóng" },
["nuan he"] = { text = "暖和", comment = "nuǎn huo" },
["mo ling liang ke"] = { text = "模棱两可", comment = "mó léng liǎng kě" },
["pan yang hu"] = { text = "鄱阳湖", comment = "pó yáng hú" },
["bo jing"] = { text = "脖颈", comment = "bó gěng" },
["bo jing er"] = { text = "脖颈儿", comment = "bó gěng er" },
["niu pi xian"] = { text = "牛皮癣", comment = "niú pí xuǎn" },
["hua ban xian"] = { text = "花斑癣", comment = "huā bān xuǎn" },
["ti xian"] = { text = "体癣", comment = "tǐ xuǎn" },
["gu xian"] = { text = "股癣", comment = "gǔ xuǎn" },
["jiao xian"] = { text = "脚癣", comment = "jiǎo xuǎn" },
["zu xian"] = { text = "足癣", comment = "zú xuǎn" },
["jie zha"] = { text = "结扎", comment = "jié zā" },
["hai shen wei"] = { text = "海参崴", comment = "hǎi shēn wǎi" },
["hou pu"] = { text = "厚朴", comment = "hòu pò " },
["da wan ma"] = { text = "大宛马", comment = "dà yuān mǎ" },
["ci ya"] = { text = "龇牙", comment = "zī yá" },
["ci zhe ya"] = { text = "龇着牙", comment = "zī zhe yá" },
["ci ya lie zui"] = { text = "龇牙咧嘴", comment = "zī yá liě zuǐ" },
["tou pi xue"] = { text = "头皮屑", comment = "tóu pí xiè" },
["liu an shi"] = { text = "六安市", comment = "lù ān shì" },
["liu an xian"] = { text = "六安县", comment = "lù ān xiàn" },
["an hui sheng liu an shi"] = { text = "安徽省六安市", comment = "ān huī shěng lù ān shì" },
["an hui liu an"] = { text = "安徽六安", comment = "ān huī lù ān" },
["an hui liu an shi"] = { text = "安徽六安市", comment = "ān huī lù ān shì" },
["nan jing liu he"] = { text = "南京六合", comment = "nán jīng lù hé" },
["nan jing shi liu he"] = { text = "南京六合区", comment = "nán jīng lù hé qū" },
["nan jing shi liu he qu"] = { text = "南京市六合区", comment = "nán jīng shì lù hé qū" },
["nuo da"] = { text = "偌大", comment = "偌(ruò)大" },
["yin jiu zhi ke"] = { text = "饮鸩止渴", comment = "饮鸩(zhèn)止渴" },
["yin jiu jie ke"] = { text = "饮鸩解渴", comment = "饮鸩(zhèn)解渴" },
["gong shang jiao zhi yu"] = { text = "宫商角徵羽", comment = "宫商角(jué)徵羽" },
["shan qi deng"] = { text = "氙气灯", comment = "氙(xiān)气灯" },
["shan qi da deng"] = { text = "氙气大灯", comment = "氙(xiān)气大灯" },
["shan qi shou dian tong"] = { text = "氙气手电筒", comment = "氙(xiān)气手电筒" },
["yin gai"] = { text = "应该", comment = "应(yīng)该" },
["nian tie"] = { text = "粘贴", comment = "粘(zhān)贴" },
["gao ju li"] = { text = "高句丽", comment = "高句(gōu)丽" },
["jiao dou shi"] = { text = "角斗士", comment = "角(jué)斗士" },
["suo sha mi"] = { text = "缩砂密", comment = "缩(sù)砂密" },
["po ji pao"] = { text = "迫击炮", comment = "迫(pǎi)击炮" },
["wen bo"] = { text = "榅桲", comment = "wēn po" },
["bi ji"] = { text = "荸荠", comment = "bí qi" },
["rou yi"] = { text = "柔荑", comment = "柔荑(tí)" },
["rou yi hua xu"] = { text = "柔荑花序", comment = "柔荑(tí)花序" },
["shou ru rou yi"] = { text = "手如柔荑", comment = "手如柔荑(tí)" },
["wen ting jun"] = { text = "温庭筠", comment = "温庭筠(yún)" },
["guan ka"] = { text = "关卡", comment = "guān qiǎ" },
["san wei zhen huo"] = { text = "三昧真火", comment = "三昧(mèi)真火" },
["qing ping zhi mo"] = { text = "青𬞟之末", comment = "青𬞟(pín)之末" },
["qi yu qing ping zhi mo"] = { text = "起于青𬞟之末", comment = "起于青𬞟(pín)之末" },
["feng qi yu qing ping zhi mo"] = { text = "风起于青𬞟之末", comment = "风起于青𬞟(pín)之末" },
["you hui juan"] = { text = "优惠券", comment = "优惠券(quàn)" },
["gong quan"] = { text = "拱券", comment = "gǒng xuàn" },
["pu ru"] = { text = "哺乳", comment = "bǔ rǔ" },
["nao zu zhong"] = { text = "脑卒中", comment = "nǎo cù zhòng" },
["xie hu"] = { text = "潟湖", comment = "xì hú" },
["guo pu"] = { text = "果脯", comment = "guǒ fǔ" },
["rou pu"] = { text = "肉脯", comment = "ròu fǔ" },
["bai qi tun"] = { text = "白𬶨豚", comment = "bái jì tún" },
-- 错字
["pu jie"] = { text = "扑街", comment = "仆街" },
["pu gai"] = { text = "扑街", comment = "仆街" },
["pu jie zai"] = { text = "扑街仔", comment = "仆街仔" },
["pu gai zai"] = { text = "扑街仔", comment = "仆街仔" },
["ceng jin"] = { text = "曾今", comment = "曾经" },
["an nai"] = { text = "按耐", comment = "按捺(nà)" },
["an nai bu zhu"] = { text = "按耐不住", comment = "按捺(nà)不住" },
["bie jie"] = { text = "别介", comment = "别价(jie)" },
["beng jie"] = { text = "甭介", comment = "甭价(jie)" },
["xue mai pen zhang"] = { text = "血脉喷张", comment = "血脉贲(bēn)张 | 血脉偾(fèn)张" },
["qi ke fu"] = { text = "契科夫", comment = "契诃(hē)夫" },
["zhao cha"] = { text = "找茬", comment = "找碴" },
["zhao cha er"] = { text = "找茬儿", comment = "找碴儿" },
["da jia lai zhao cha"] = { text = "大家来找茬", comment = "大家来找碴" },
["da jia lai zhao cha er"] = { text = "大家来找茬儿", comment = "大家来找碴儿" },
["cou huo"] = { text = "凑活", comment = "凑合(he)" },
["ju hui"] = { text = "钜惠", comment = "巨惠" },
["mo xie zuo"] = { text = "魔蝎座", comment = "摩羯(jié)座" },
["pi sa"] = { text = "披萨", comment = "比(bǐ)萨" },
["geng quan"] = { text = "梗犬", comment = "㹴犬" },
}
end
function M.func(input, env)
for cand in input:iter() do
-- cand.comment 是目前输入的词汇的完整拼音
local pinyin = cand.comment:match("^(.-)$")
if pinyin and #pinyin > 0 then
local correction_pinyin = pinyin
if env.delimiter then
correction_pinyin = correction_pinyin:gsub(env.delimiter,' ')
end
local c = M.corrections[correction_pinyin]
if c and cand.text == c.text then
cand:get_genuine().comment = string.gsub(M.style, "{comment}", c.comment)
else
if env.keep_comment then
cand:get_genuine().comment = string.gsub(M.style, "{comment}", pinyin)
else
cand:get_genuine().comment = ""
end
end
end
yield(cand)
end
end
return M

72
lua/date_translator.lua Normal file
View File

@@ -0,0 +1,72 @@
-- 日期时间,可在方案中配置触发关键字。
-- 提高权重的原因:因为在方案中设置了大于 1 的 initial_quality导致 rq sj xq dt ts 产出的候选项在所有词语的最后。
local function yield_cand(seg, text)
local cand = Candidate('', seg.start, seg._end, text, '')
cand.quality = 100
yield(cand)
end
local M = {}
function M.init(env)
local config = env.engine.schema.config
env.name_space = env.name_space:gsub('^*', '')
M.date = config:get_string(env.name_space .. '/date') or 'rq'
M.time = config:get_string(env.name_space .. '/time') or 'sj'
M.week = config:get_string(env.name_space .. '/week') or 'xq'
M.datetime = config:get_string(env.name_space .. '/datetime') or 'dt'
M.timestamp = config:get_string(env.name_space .. '/timestamp') or 'ts'
end
function M.func(input, seg, env)
-- 日期
if (input == M.date) then
local current_time = os.time()
yield_cand(seg, os.date('%Y-%m-%d', current_time))
yield_cand(seg, os.date('%Y/%m/%d', current_time))
yield_cand(seg, os.date('%Y.%m.%d', current_time))
yield_cand(seg, os.date('%Y%m%d', current_time))
yield_cand(seg, os.date('%Y年%m月%d日', current_time):gsub('年0', ''):gsub('月0',''))
-- 时间
elseif (input == M.time) then
local current_time = os.time()
yield_cand(seg, os.date('%H:%M', current_time))
yield_cand(seg, os.date('%H:%M:%S', current_time))
-- 星期
elseif (input == M.week) then
local current_time = os.time()
local week_tab = {'', '', '', '', '', '', ''}
local text = week_tab[tonumber(os.date('%w', current_time) + 1)]
yield_cand(seg, '星期' .. text)
yield_cand(seg, '礼拜' .. text)
yield_cand(seg, '' .. text)
-- ISO 8601/RFC 3339 的时间格式 (固定东八区)(示例 2022-01-07T20:42:51+08:00
elseif (input == M.datetime) then
local current_time = os.time()
yield_cand(seg, os.date('%Y-%m-%dT%H:%M:%S+08:00', current_time))
yield_cand(seg, os.date('%Y-%m-%d %H:%M:%S', current_time))
yield_cand(seg, os.date('%Y%m%d%H%M%S', current_time))
-- 时间戳(十位数,到秒,示例 1650861664
elseif (input == M.timestamp) then
local current_time = os.time()
yield_cand(seg, string.format('%d', current_time))
end
-- -- 显示内存
-- local cand = Candidate("date", seg.start, seg._end, ("%.f"):format(collectgarbage('count')), "")
-- cand.quality = 100
-- yield(cand)
-- if input == "xxx" then
-- collectgarbage()
-- local cand = Candidate("date", seg.start, seg._end, "collectgarbage()", "")
-- cand.quality = 100
-- yield(cand)
-- end
end
return M

12
lua/debuger.lua Normal file
View File

@@ -0,0 +1,12 @@
local function debuger(input, env)
for cand in input:iter() do
yield(ShadowCandidate(
cand,
cand.type,
cand.text,
env.engine.context.input .. " - " .. env.engine.context:get_preedit().text .. " - " .. cand.preedit
))
end
end
return debuger

18
lua/en_spacer.lua Normal file
View File

@@ -0,0 +1,18 @@
-- 英文词条上屏自动添加空格
-- 在 engine/filters 的倒数第二个位置,增加 - lua_filter@en_spacer
--
-- 英文后,再输入英文单词(必须为候选项)自动添加空格
local F = {}
function F.func( input, env )
local latest_text = env.engine.context.commit_history:latest_text()
for cand in input:iter() do
if cand.text:match( '^[%a\']+[%a\']*$' ) and latest_text and #latest_text > 0 and
latest_text:find( '^ ?[%a\']+[%a\']*$' ) then
cand = cand:to_shadow_candidate( 'en_spacer', cand.text:gsub( '(%a+\'?%a*)', ' %1' ), cand.comment )
end
yield( cand )
end
end
return F

11
lua/force_gc.lua Normal file
View File

@@ -0,0 +1,11 @@
-- 暴力 GC
-- 详情 https://github.com/hchunhui/librime-lua/issues/307
-- collectgarbage():默认调用,等同于 collectgarbage("collect"),触发完整的垃圾回收。
-- collectgarbage("step"):执行垃圾回收的一小步。这个函数会返回一个布尔值,表示这一步是否完成了整个收集周期。
-- 这样也不会导致卡顿,那就每次都调用一下吧,内存稳稳的
local function force_gc()
-- collectgarbage()
collectgarbage("step")
end
return force_gc

32
lua/is_in_user_dict.lua Normal file
View File

@@ -0,0 +1,32 @@
-- 根据是否在用户词典,在结尾加上一个星号 *
-- is_in_user_dict: true 输入过的内容
-- is_in_user_dict: false 或不写 未输入过的内容
local M = {}
function M.init(env)
local config = env.engine.schema.config
env.name_space = env.name_space:gsub('^*', '')
M.is_in_user_dict = config:get_bool(env.name_space) or true
end
function M.func(input, env)
for cand in input:iter() do
-- 用户词库,加上*号
if cand.type == "user_phrase" then
cand.comment = '*'
end
-- 用户置顶词
-- if cand.type == "user_table" then
-- cand.comment = cand.comment .. '⚡️'
-- end
-- 整句联想,加上𑄗符号
if cand.type == 'sentence' then
cand.comment = ''
end
yield(cand)
end
end
return M

52
lua/long_word_filter.lua Normal file
View File

@@ -0,0 +1,52 @@
-- 长词优先(提升「西安」「提案」「图案」「饥饿」等词汇的优先级)
-- 感谢&参考于: https://github.com/tumuyan/rime-melt
-- 不提升包含英文、数字的候选项
-- 不提升包含 emoji、假名的候选项通过将此 Lua 放到 simplifier@emoji 前面来实现)
local M = {}
function M.init(env)
-- 提升 count 个词语,插入到第 idx 个位置,默认 2、4。
local config = env.engine.schema.config
env.name_space = env.name_space:gsub("^*", "")
M.count = config:get_int(env.name_space .. "/count") or 2
M.idx = config:get_int(env.name_space .. "/idx") or 4
end
function M.func(input)
local l = {}
local firstWordLength = 0 -- 记录第一个候选词的长度,提前的候选词至少要比第一个候选词长
local done = 0 -- 记录筛选了多少个词条(只提升 count 个词的权重)
local i = 1
for cand in input:iter() do
local leng = utf8.len(cand.text)
-- 只以第一个候选项的长度作为参考
if firstWordLength < 1 then
firstWordLength = leng
end
-- 不处理 M.idx 之前的候选项
if i < M.idx then
i = i + 1
yield(cand)
-- 长词直接 yield其余的放到 l 里
elseif leng <= firstWordLength or cand.text:find("[%a%d]") then
table.insert(l, cand)
else
yield(cand)
done = done + 1
end
-- 找齐了或者 l 太大了,就不找了,一般前 50 个就够了
if done == M.count or #l > 50 then
break
end
end
-- yield l 及后续的候选项
for _, cand in ipairs(l) do
yield(cand)
end
for cand in input:iter() do
yield(cand)
end
end
return M

689
lua/lunar.lua Executable file
View File

@@ -0,0 +1,689 @@
--[[
Lua 阿拉伯数字转中文实现 https://blog.csdn.net/lp12345678910/article/details/121396243
农历功能复制自 https://github.com/boomker/rime-fast-xhup
--]]
--
-- 农历,可在方案中配置触发关键字。
-- 数字转中文:
local numerical_units = {
"",
"",
"",
"",
"",
"",
"",
"",
"亿",
"",
"",
"",
"",
"",
"",
"",
}
local numerical_names = {
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
}
local function convert_arab_to_chinese(number)
local n_number = tonumber(number)
assert(n_number, "传入参数非正确number类型!")
-- 0 ~ 9
if n_number < 10 then
return numerical_names[n_number + 1]
end
-- 一十九 => 十九
if n_number < 20 then
local digit = string.sub(n_number, 2, 2)
if digit == "0" then
return ""
else
return "" .. numerical_names[digit + 1]
end
end
--[[
1. 最大输入9位
超过9位string的len加2位因为有.0的两位)
零 ~ 九亿九千九百九十九万九千九百九十九
0 ~ 999999999
2. 最大输入14位超过14位会四舍五入
零 ~ 九十九兆九千九百九十九亿九千九百九十九万九千九百九十九万
0 ~ 99999999999999
--]]
local len_max = 9
local len_number = string.len(number)
assert(
len_number > 0 and len_number <= len_max,
"传入参数位数" .. len_number .. "必须在(0, " .. len_max .. "]之间!"
)
-- 01数字转成表结构存储
local numerical_tbl = {}
for i = 1, len_number do
numerical_tbl[i] = tonumber(string.sub(n_number, i, i))
end
local pre_zero = false
local result = ""
for index, digit in ipairs(numerical_tbl) do
local curr_unit = numerical_units[len_number - index + 1]
local curr_name = numerical_names[digit + 1]
if digit == 0 then
if not pre_zero then
result = result .. curr_name
end
pre_zero = true
else
result = result .. curr_name .. curr_unit
pre_zero = false
end
end
result = string.gsub(result, "零+$", "")
return result
end
-- 农历:
-- 天干名称
local cTianGan = {
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
}
-- 地支名称
local cDiZhi = {
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
}
-- 属相名称
local cShuXiang = {
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
}
-- 农历日期名
local cDayName = {
"初一",
"初二",
"初三",
"初四",
"初五",
"初六",
"初七",
"初八",
"初九",
"初十",
"十一",
"十二",
"十三",
"十四",
"十五",
"十六",
"十七",
"十八",
"十九",
"二十",
"廿一",
"廿二",
"廿三",
"廿四",
"廿五",
"廿六",
"廿七",
"廿八",
"廿九",
"三十",
}
-- 农历月份名
local cMonName = {
"正月",
"二月",
"三月",
"四月",
"五月",
"六月",
"七月",
"八月",
"九月",
"十月",
"冬月",
"腊月",
}
-- 农历数据
local wNongliData = {
"AB500D2",
"4BD0883",
"4AE00DB",
"A5700D0",
"54D0581",
"D2600D8",
"D9500CC",
"655147D",
"56A00D5",
"9AD00CA",
"55D027A",
"4AE00D2",
"A5B0682",
"A4D00DA",
"D2500CE",
"D25157E",
"B5500D6",
"56A00CC",
"ADA027B",
"95B00D3",
"49717C9",
"49B00DC",
"A4B00D0",
"B4B0580",
"6A500D8",
"6D400CD",
"AB5147C",
"2B600D5",
"95700CA",
"52F027B",
"49700D2",
"6560682",
"D4A00D9",
"EA500CE",
"6A9157E",
"5AD00D6",
"2B600CC",
"86E137C",
"92E00D3",
"C8D1783",
"C9500DB",
"D4A00D0",
"D8A167F",
"B5500D7",
"56A00CD",
"A5B147D",
"25D00D5",
"92D00CA",
"D2B027A",
"A9500D2",
"B550781",
"6CA00D9",
"B5500CE",
"535157F",
"4DA00D6",
"A5B00CB",
"457037C",
"52B00D4",
"A9A0883",
"E9500DA",
"6AA00D0",
"AEA0680",
"AB500D7",
"4B600CD",
"AAE047D",
"A5700D5",
"52600CA",
"F260379",
"D9500D1",
"5B50782",
"56A00D9",
"96D00CE",
"4DD057F",
"4AD00D7",
"A4D00CB",
"D4D047B",
"D2500D3",
"D550883",
"B5400DA",
"B6A00CF",
"95A1680",
"95B00D8",
"49B00CD",
"A97047D",
"A4B00D5",
"B270ACA",
"6A500DC",
"6D400D1",
"AF40681",
"AB600D9",
"93700CE",
"4AF057F",
"49700D7",
"64B00CC",
"74A037B",
"EA500D2",
"6B50883",
"5AC00DB",
"AB600CF",
"96D0580",
"92E00D8",
"C9600CD",
"D95047C",
"D4A00D4",
"DA500C9",
"755027A",
"56A00D1",
"ABB0781",
"25D00DA",
"92D00CF",
"CAB057E",
"A9500D6",
"B4A00CB",
"BAA047B",
"AD500D2",
"55D0983",
"4BA00DB",
"A5B00D0",
"5171680",
"52B00D8",
"A9300CD",
"795047D",
"6AA00D4",
"AD500C9",
"5B5027A",
"4B600D2",
"96E0681",
"A4E00D9",
"D2600CE",
"EA6057E",
"D5300D5",
"5AA00CB",
"76A037B",
"96D00D3",
"4AB0B83",
"4AD00DB",
"A4D00D0",
"D0B1680",
"D2500D7",
"D5200CC",
"DD4057C",
"B5A00D4",
"56D00C9",
"55B027A",
"49B00D2",
"A570782",
"A4B00D9",
"AA500CE",
"B25157E",
"6D200D6",
"ADA00CA",
"4B6137B",
"93700D3",
"49F08C9",
"49700DB",
"64B00D0",
"68A1680",
"EA500D7",
"6AA00CC",
"A6C147C",
"AAE00D4",
"92E00CA",
"D2E0379",
"C9600D1",
"D550781",
"D4A00D9",
"DA400CD",
"5D5057E",
"56A00D6",
"A6C00CB",
"55D047B",
"52D00D3",
"A9B0883",
"A9500DB",
"B4A00CF",
"B6A067F",
"AD500D7",
"55A00CD",
"ABA047C",
"A5A00D4",
"52B00CA",
"B27037A",
"69300D1",
"7330781",
"6AA00D9",
"AD500CE",
"4B5157E",
"4B600D6",
"A5700CB",
"54E047C",
"D1600D2",
"E960882",
"D5200DA",
"DAA00CF",
"6AA167F",
"56D00D7",
"4AE00CD",
"A9D047D",
"A2D00D4",
"D1500C9",
"F250279",
"D5200D1",
}
-- 十进制转二进制
local function Dec2bin(n)
local t, t1
local tables = {}
t = tonumber(n)
while math.floor(t / 2) >= 1 do
t1 = t and math.fmod(t, 2)
if t1 > 0 then
if #tables > 0 then
table.insert(tables, 1, 1)
else
tables[1] = 1
end
else
if #tables > 0 then
table.insert(tables, 1, 0)
else
tables[1] = 0
end
end
t = math.floor(t / 2)
if t == 1 then
if #tables > 0 then
table.insert(tables, 1, 1)
else
tables[1] = 1
end
end
end
return string.gsub(table.concat(tables), "^[0]+", "")
end
-- 2/10/16进制互转
local function Atoi(x, inPuttype, outputtype)
local r
if tonumber(inPuttype) == 2 then
if tonumber(outputtype) == 10 then -- 2进制-->10进制
r = tonumber(tostring(x), 2)
-- elseif tonumber(outputtype) == 16 then -- 2进制-->16进制
-- r = bin2hex(tostring(x))
end
elseif tonumber(inPuttype) == 10 then
if tonumber(outputtype) == 2 then -- 10进制-->2进制
r = Dec2bin(tonumber(x))
elseif tonumber(outputtype) == 16 then -- 10进制-->16进制
r = string.format("%x", x)
end
elseif tonumber(inPuttype) == 16 then
if tonumber(outputtype) == 2 then -- 16进制-->2进制
r = Dec2bin(tonumber(tostring(x), 16))
elseif tonumber(outputtype) == 10 then -- 16进制-->10进制
r = tonumber(tostring(x), 16)
end
end
return r
end
-- 农历16进制数据分解
local function Analyze(Data)
local rtn1, rtn2, rtn3, rtn4
rtn1 = Atoi(string.sub(Data, 1, 3), 16, 2)
if string.len(rtn1) < 12 then
rtn1 = "0" .. rtn1
end
rtn2 = string.sub(Data, 4, 4)
rtn3 = Atoi(string.sub(Data, 5, 5), 16, 10)
rtn4 = Atoi(string.sub(Data, -2, -1), 16, 10)
if string.len(rtn4) == 3 then
rtn4 = "0" .. Atoi(string.sub(Data, -2, -1), 16, 10)
end
-- string.gsub(rtn1, "^[0]*", "")
return { rtn1, rtn2, rtn3, rtn4 }
end
-- 年天数判断
local function IsLeap(y)
local year = tonumber(y)
if not year then
return nil
end
if math.fmod(year, 400) ~= 0 and math.fmod(year, 4) == 0 or math.fmod(year, 400) == 0 then
return 366
else
return 365
end
end
-- 返回当年过了多少天
local function leaveDate(y)
local day, total
total = 0
if IsLeap(tonumber(string.sub(y, 1, 4))) > 365 then
day = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
else
day = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
end
if tonumber(string.sub(y, 5, 6)) > 1 then
for i = 1, tonumber(string.sub(y, 5, 6)) - 1 do
total = total + day[i]
end
total = total + tonumber(string.sub(y, 7, 8))
else
return tonumber(string.sub(y, 7, 8))
end
return tonumber(total)
end
-- 计算日期差两个8位数日期之间相隔的天数date2>date1
local function diffDate(date1, date2)
local n, total
total = 0
date1 = tostring(date1)
date2 = tostring(date2)
if tonumber(date2) > tonumber(date1) then
n = tonumber(string.sub(date2, 1, 4)) - tonumber(string.sub(date1, 1, 4))
if n > 1 then
for i = 1, n - 1 do
total = total + IsLeap(tonumber(string.sub(date1, 1, 4)) + i)
end
total = total
+ leaveDate(tonumber(string.sub(date2, 1, 8)))
+ IsLeap(tonumber(string.sub(date1, 1, 4)))
- leaveDate(tonumber(string.sub(date1, 1, 8)))
elseif n == 1 then
total = IsLeap(tonumber(string.sub(date1, 1, 4)))
- leaveDate(tonumber(string.sub(date1, 1, 8)))
+ leaveDate(tonumber(string.sub(date2, 1, 8)))
else
total = leaveDate(tonumber(string.sub(date2, 1, 8))) - leaveDate(tonumber(string.sub(date1, 1, 8)))
-- print(date1 .. "-" .. date2)
end
elseif tonumber(date2) == tonumber(date1) then
return 0
else
return -1
end
return total
end
-- 公历转农历支持转化范围公元1900-2100年
-- 公历日期 Gregorian:格式 YYYYMMDD
-- <返回值>农历日期 中文 天干地支属相
local function Date2LunarDate(Gregorian)
Gregorian = tostring(Gregorian)
local Year, Month, Day, Pos, Data0, Data1, MonthInfo, LeapInfo, Leap, Newyear, LYear, thisMonthInfo
Year = tonumber(Gregorian.sub(Gregorian, 1, 4))
Month = tonumber(Gregorian.sub(Gregorian, 5, 6))
Day = tonumber(Gregorian.sub(Gregorian, 7, 8))
LunarDate3 = Year .. "" .. Month .."".. Day .. ""
if Year > 2100 or Year < 1899 or Month > 12 or Month < 1 or Day < 1 or Day > 31 or string.len(Gregorian) < 8 then
-- 2024.07.27 这个不能判断不存在的日期,例如 02.31 04.30 等,会显示农历,但不存在 by Mirtle
return "无效日期", "无效日期"
end
-- 获取两百年内的农历数据
Pos = Year - 1900 + 2
Data0 = wNongliData[Pos - 1]
Data1 = wNongliData[Pos]
-- 判断农历年份
local tb1 = Analyze(Data1)
MonthInfo = tb1[1]
LeapInfo = tb1[2]
Leap = tb1[3]
Newyear = tb1[4]
local Date1 = Year .. Newyear
local Date2 = Gregorian
local Date3 = diffDate(Date1, Date2) -- 和当年农历新年相差的天数
if Date3 < 0 then
-- print(Data0 .. "-2")
tb1 = Analyze(Data0)
Year = Year - 1
MonthInfo = tb1[1]
LeapInfo = tb1[2]
Leap = tb1[3]
Newyear = tb1[4]
Date1 = Year .. Newyear
Date2 = Gregorian
Date3 = diffDate(Date1, Date2)
-- print(Date2 .. "--" .. Date1 .. "--" .. Date3)
end
Date3 = Date3 + 1
LYear = Year -- 农历年份,就是上面计算后的值
if Leap > 0 then -- 有闰月
thisMonthInfo = string.sub(MonthInfo, 1, tonumber(Leap)) .. LeapInfo .. string.sub(MonthInfo, Leap + 1)
else
thisMonthInfo = MonthInfo
end
local thisMonth, thisDays, LMonth, LDay, Isleap, LunarDate, LunarDate2, LunarYear, LunarMonth
for i = 1, 13 do
thisMonth = string.sub(thisMonthInfo, i, i)
thisDays = 29 + thisMonth
if Date3 > thisDays then
Date3 = Date3 - thisDays
else
if Leap > 0 then
if Leap >= i then
LMonth = i
Isleap = 0
else
LMonth = i - 1
if i - Leap == 1 then
Isleap = 1
else
Isleap = 0
end
end
else
LMonth = i
Isleap = 0
end
LDay = math.floor(Date3)
break
end
end
if Isleap > 0 then
LunarMonth = "" .. cMonName[LMonth]
else
LunarMonth = cMonName[LMonth]
end
local _nis = tostring(LYear)
local _LunarYears = ""
for i = 1, _nis:len() do
local _ni_digit = tonumber(_nis:sub(i, i))
_LunarYears = _LunarYears .. convert_arab_to_chinese(_ni_digit)
end
LunarYear = string.gsub(_LunarYears, "", "")
LunarDate = cTianGan[math.fmod(LYear - 4, 10) + 1]
.. cDiZhi[math.fmod(LYear - 4, 12) + 1]
.. "年("
.. cShuXiang[math.fmod(LYear - 4, 12) + 1]
.. ""
.. LunarMonth
.. cDayName[LDay]
LunarDate2 = LunarYear .. "" .. LunarMonth .. cDayName[LDay]
return LunarDate, LunarDate2, LunarDate3
end
-- 农历
-- 从 lunar: nl 获取农历触发关键字(双拼默认为 lunar
-- 从 recognizer/patterns/gregorian_to_lunar 获取第 2 个字符作为公历转农历的触发前缀,默认为 N
local function translator(input, seg, env)
env.lunar_key_word = env.lunar_key_word or
(env.engine.schema.config:get_string(env.name_space:gsub('^*', '')) or 'nl')
env.gregorian_to_lunar = env.gregorian_to_lunar or
(env.engine.schema.config:get_string('recognizer/patterns/gregorian_to_lunar'):sub(2, 2) or 'N')
if input == env.lunar_key_word then
local date1, date2,date3 = Date2LunarDate(os.date("%Y%m%d"))
local lunar_ymd = (Candidate("", seg.start, seg._end, date2, ""))
lunar_ymd.quality = 999
yield(lunar_ymd)
local lunar_date = Candidate("", seg.start, seg._end, date1, "")
lunar_date.quality = 999
yield(lunar_date)
local date = Candidate("", seg.start, seg._end, date3, "")
date.quality = 999
yield(date)
elseif env.gregorian_to_lunar ~= '' and input:sub(1, 1) == env.gregorian_to_lunar then
local date1, date2, date3 = Date2LunarDate(input:sub(2))
local lunar_ymd = (Candidate("", seg.start, seg._end, date2, ""))
lunar_ymd.quality = 999
yield(lunar_ymd)
local lunar_date = Candidate("", seg.start, seg._end, date1, "")
lunar_date.quality = 999
yield(lunar_date)
local date = Candidate("", seg.start, seg._end, date3, "")
date.quality = 999
yield(date)
end
end
local function yield_cand(seg, text)
local cand = Candidate('', seg.start, seg._end, text, '')
cand.quality = 1000000
yield(cand)
end
return translator

163
lua/number_translator.lua Normal file
View File

@@ -0,0 +1,163 @@
-- 来源 https://github.com/yanhuacuo/98wubi-tables > http://98wb.ysepan.com/
-- 数字、金额大写
-- 触发前缀默认为 recognizer/patterns/number 的第 2 个字符,即 R
local function splitNumPart(str)
local part = {}
part.int, part.dot, part.dec = string.match(str, "^(%d*)(%.?)(%d*)")
return part
end
local function GetPreciseDecimal(nNum, n)
if type(nNum) ~= "number" then nNum = tonumber(nNum) end
n = n or 0;
n = math.floor(n)
if n < 0 then n = 0 end
local nDecimal = 10 ^ n
local nTemp = math.floor(nNum * nDecimal);
local nRet = nTemp / nDecimal;
return nRet;
end
local function decimal_func(str, posMap, valMap)
local dec
posMap = posMap or { [1] = "", [2] = "", [3] = "", [4] = "" }
valMap = valMap or { [0] = "", "", "", "", "", "", "", "", "", "" }
if #str > 4 then dec = string.sub(tostring(str), 1, 4) else dec = tostring(str) end
dec = string.gsub(dec, "0+$", "")
if dec == "" then return "" end
local result = ""
for pos = 1, #dec do
local val = tonumber(string.sub(dec, pos, pos))
if val ~= 0 then result = result .. valMap[val] .. posMap[pos] else result = result .. valMap[val] end
end
result = result:gsub(valMap[0] .. valMap[0], valMap[0])
return result:gsub(valMap[0] .. valMap[0], valMap[0])
end
-- 把数字串按千分位四位数分割,进行转换为中文
local function formatNum(num, t)
local digitUnit, wordFigure
local result = ""
num = tostring(num)
if tonumber(t) < 1 then digitUnit = { "", "", "", "" } else digitUnit = { "", "", "", "" } end
if tonumber(t) < 1 then
wordFigure = { "", "", "", "", "", "", "", "", "", "" }
else
wordFigure = { "", "", "", "", "", "", "", "", "", "" }
end
if string.len(num) > 4 or tonumber(num) == 0 then return wordFigure[1] end
local lens = string.len(num)
for i = 1, lens do
local n = wordFigure[tonumber(string.sub(num, -i, -i)) + 1]
if n ~= wordFigure[1] then result = n .. digitUnit[i] .. result else result = n .. result end
end
result = result:gsub(wordFigure[1] .. wordFigure[1], wordFigure[1])
result = result:gsub(wordFigure[1] .. "$", "")
result = result:gsub(wordFigure[1] .. "$", "")
return result
end
-- 数值转换为中文
local function number2cnChar(num, flag, digitUnit, wordFigure) --flag=0中文小写反之为大写
local result = ""
if tonumber(flag) < 1 then
digitUnit = digitUnit or { [1] = "", [2] = "亿" }
wordFigure = wordFigure or { [1] = "", [2] = "", [3] = "", [4] = "" }
else
digitUnit = digitUnit or { [1] = "", [2] = "亿" }
wordFigure = wordFigure or { [1] = "", [2] = "", [3] = "", [4] = "" }
end
local lens = string.len(num)
if lens < 5 then
result = formatNum(num, flag)
elseif lens < 9 then
result = formatNum(string.sub(num, 1, -5), flag) .. digitUnit[1] .. formatNum(string.sub(num, -4, -1), flag)
elseif lens < 13 then
result = formatNum(string.sub(num, 1, -9), flag) ..
digitUnit[2] ..
formatNum(string.sub(num, -8, -5), flag) .. digitUnit[1] .. formatNum(string.sub(num, -4, -1), flag)
else
result = ""
end
result = result:gsub("^" .. wordFigure[1], "")
result = result:gsub(wordFigure[1] .. digitUnit[1], "")
result = result:gsub(wordFigure[1] .. digitUnit[2], "")
result = result:gsub(wordFigure[1] .. wordFigure[1], wordFigure[1])
result = result:gsub(wordFigure[1] .. "$", "")
if lens > 4 then result = result:gsub("^" .. wordFigure[2] .. wordFigure[3], wordFigure[3]) end
if result ~= "" then result = result .. wordFigure[4] else result = "数值超限!" end
return result
end
local function number2zh(num, t)
local result, wordFigure
result = ""
if tonumber(t) < 1 then
wordFigure = { "", "", "", "", "", "", "", "", "", "" }
else
wordFigure = { "", "", "", "", "", "", "", "", "", "" }
end
if tostring(num) == nil then return "" end
for pos = 1, string.len(num) do
result = result .. wordFigure[tonumber(string.sub(num, pos, pos) + 1)]
end
result = result:gsub(wordFigure[1] .. wordFigure[1], wordFigure[1])
return result:gsub(wordFigure[1] .. wordFigure[1], wordFigure[1])
end
local function number_translatorFunc(num)
local numberPart = splitNumPart(num)
local result = {}
if numberPart.dot ~= "" then
table.insert(result,
{ number2cnChar(numberPart.int, 0, { "", "亿" }, { "", "", "", "" }) .. number2zh(numberPart.dec, 0),
"〔数字小写〕" })
table.insert(result,
{ number2cnChar(numberPart.int, 1, { "", "" }, { "", "", "", "" }) .. number2zh(numberPart.dec, 1),
"〔数字大写〕" })
else
table.insert(result, { number2cnChar(numberPart.int, 0, { "", "亿" }, { "", "", "", "" }), "〔数字小写〕" })
table.insert(result, { number2cnChar(numberPart.int, 1, { "", "" }, { "", "", "", "" }), "〔数字大写〕" })
end
table.insert(result,
{ number2cnChar(numberPart.int, 0) ..
decimal_func(numberPart.dec, { [1] = "", [2] = "", [3] = "", [4] = "" },
{ [0] = "", "", "", "", "", "", "", "", "", "" }), "〔金额小写〕" })
local number2cnCharInt = number2cnChar(numberPart.int, 1)
local number2cnCharDec = decimal_func(numberPart.dec, { [1] = "", [2] = "", [3] = "", [4] = "" }, { [0] = "", "", "", "", "", "", "", "", "", "" })
if string.len(numberPart.int) > 4 and number2cnCharInt:find('^拾[壹贰叁肆伍陆柒捌玖]?') and number2cnCharInt:find('[万亿]') then -- 简易地规避 utf8 匹配问题
local number2cnCharInt_var = number2cnCharInt:gsub('^拾', '壹拾')
table.insert(result, { number2cnCharInt_var .. number2cnCharDec , "〔金额大写〕"})
-- 会计书写要求 https://github.com/iDvel/rime-ice/issues/989
else
table.insert(result, { number2cnCharInt .. number2cnCharDec , "〔金额大写〕"})
end
return result
end
local function number_translator(input, seg, env)
-- 获取 recognizer/patterns/number 的第 2 个字符作为触发前缀
env.number_keyword = env.number_keyword or
env.engine.schema.config:get_string('recognizer/patterns/number'):sub(2, 2)
local str, num, numberPart
if env.number_keyword ~= '' and input:sub(1, 1) == env.number_keyword then
str = string.gsub(input, "^(%a+)", "")
numberPart = number_translatorFunc(str)
if str and #str > 0 and #numberPart > 0 then
for i = 1, #numberPart do
yield(Candidate(input, seg.start, seg._end, numberPart[i][1], numberPart[i][2]))
end
end
end
end
-- print(#number_translatorFunc(3355.433))
return number_translator

238
lua/pin_cand_filter.lua Normal file
View File

@@ -0,0 +1,238 @@
-- 置顶候选项
--[[
《说明书》
符合左边的编码(preedit)时,按顺序置顶右边的候选项。只是提升已有候选项的顺序,没有自创编码的功能。
脚本对比的是去掉空格的 cand.preedit配置里写空格可以生成额外的编码参考示例。
cand.preedit 是经过 translator/preedit_format 转换后的编码
⚠️ 注意方案的 preedit_format 设定,如果 v 显示为 ü,那么左边也要写 ü
⚠️ 双拼:显示为全拼拼写就要写全拼,如 'shuang pin',显示为双拼拼写就要写双拼,如 'ul pb'
格式:编码<Tab>字词1<Space>字词2……
按照 YAML 语法,加不加引号都行,也可以这么写 pin_cand_filter: [l 了, 'de 的', "ni hao 你好"]
示例:
- 'le 了' # 输入 le 时,置顶「了」
- 'ta 他 她 它' # 可以置顶多个字,按顺序排列
- 'l 了 啦' # 支持单编码,输入 l 时,置顶「了、啦」
- 'l 了 > 啦' # 右边的字词如果包含空格,用 > 分割也行(大于号左右必须有空格)
- 'ta 啊' # ❌ 编码不会产生的字词,不会生效且影响查找效率。自创编码的字词句可以写到 custom_phrase 中。
- 'hao 好 👌' # ❌ 不要写 emoji
### 简拼
支持简拼,简拼加不加空格都行。但需要方案开启简拼,雾凇全拼是默认开启的,双拼默认没开启
- s m 什么
- wsm 为什么
### 空格的作用:
- nihao 你好
无空格,生成原样;
生成 nihao输入 nihao 时首位是「你好」,但输入 nih 时首位可能是「你会 你还」等其他词语。
- ni hao 你好
包含空格,额外生成最后一个空格后的拼音的首字母简码;
生成 nihao nih ,现在输入 nih 时首位也会是「你好」。
- bu hao chi 不好吃
包含空格且结尾以 zh ch sh 开头,再额外生成最后一个空格后的拼音的 zh ch sh 简码;
生成 buhaochi buhaoc buhaoch
### 优先级:
- da zhuang 大专
- da zhong 大众
上面两行,会额外生成 'da z' 'da zh' 的置顶,前两个候选项是「大专、大众」,先写的排在前面
- da z 打字
如果明确定义了简码形式,则完全使用简码形式
此时输入 daz 首位为「打字」,输入 dazh 首位仍为「大专、大众」
--]]
local function find_index(list, str)
for i, v in ipairs(list) do
if v == str then
return i
end
end
return 0
end
local M = {}
function M.init(env)
env.name_space = env.name_space:gsub("^*", "")
if env.pin_cands ~= nil then return end
local list = env.engine.schema.config:get_list(env.name_space)
if not list or list.size == 0 then return end
-- 如果定义了 'da zhuan' 或 'da zhong' ,会自动生成 'daz' 和 'dazh' 的键。
-- 然而,如果明确定义了 'da z' 或 'da zh',则会优先使用这些明确自定义的简码,用 set 来做判断。
local set = {}
for i = 0, list.size - 1 do
local preedit, texts = list:get_value_at(i).value:match("([^\t]+)\t(.+)")
if #preedit > 0 and #texts > 0 then
set[preedit:gsub(" ", "")] = true
end
end
-- 遍历要置顶的候选项列表,将其转换为 table 存储到 env.pin_cands
-- 'l 了 啦' → env.pin_cands["l"] = {"了", "啦"}
-- 'ta 他 她 它' → env.pin_cands["ta"] = {"他", "她", "它"}
--
-- 无空格的键,如 `nihao 你好` → env.pin_cands["nihao"] = {"你好"}
--
-- 包含空格的的键,同时生成简码的拼写(最后一个空格后的首字母),如:
-- 'ni hao 你好 拟好' → env.pin_cands["nihao"] = {"你好", "拟好"}
-- → env.pin_cands["nih"] = {"你好", "拟好"}
--
-- 如果最后一个空格后以 zh ch sh 开头,额外再生成 zh, ch, sh 的拼写,如:
-- 'zhi chi 支持' → env.pin_cands["zhichi"] = {"支持"}
-- → env.pin_cands["zhic"] = {"支持"}
-- → env.pin_cands["zhich"] = {"支持"}
--
-- 如果同时定义了 'da zhuan 大专' 'da zhong 大众',会生成:
-- env.pin_cands["dazhuan"] = {"大专"}
-- env.pin_cands["dazhong"] = {"大众"}
-- env.pin_cands["daz"] = {"大专", "大众"} -- 先写的排在前面
-- env.pin_cands["dazh"] = {"大专", "大众"} -- 先写的排在前面
--
-- 如果同时定义了 'da zhuan 大专' 'da zhong 大众' 且明确定义了简码形式 'da z 打字',会生成:
-- env.pin_cands["dazhuan"] = {"大专"}
-- env.pin_cands["dazhong"] = {"大众"}
-- env.pin_cands["daz"] = {"打字"} -- 明确定义的优先级更高
-- env.pin_cands["dazh"] = {"大专", "大众"} -- 没明确定义的,仍然按上面的方式,先写的排在前面
env.pin_cands = {}
for i = 0, list.size - 1 do
local preedit, texts = list:get_value_at(i).value:match("([^\t]+)\t(.+)")
if #preedit > 0 and #texts > 0 then
-- 按照 " > " 或 " " 分割词汇
local delimiter = "\0"
if texts:find(" > ") then
texts = texts:gsub(" > ", delimiter)
else
texts = texts:gsub(" ", delimiter)
end
-- 按照键生成完整的拼写
local preedit_no_spaces = preedit:gsub(" ", "")
env.pin_cands[preedit_no_spaces] = {}
for text in texts:gmatch("[^" .. delimiter .. "]+") do
table.insert(env.pin_cands[preedit_no_spaces], text)
end
-- 额外处理包含空格的 preedit增加最后一个拼音的首字母和 zh, ch, sh 的简码
if preedit:find(" ") then
local preceding_part, last_part = preedit:match("^(.+)%s(%S+)$")
local p1, p2 = "", ""
-- p1 生成最后一个拼音的首字母简码拼写(最后一个空格后的首字母),如 ni hao 生成 nih
p1 = preceding_part:gsub(" ", "") .. last_part:sub(1, 1)
-- p2 生成最后一个拼音的 zh, ch, sh 的简码拼写(最后一个空格后以 zh ch sh 开头),如 zhi chi 生成 zhich
if last_part:match("^[zcs]h") then
p2 = preceding_part:gsub(" ", "") .. last_part:sub(1, 2)
end
for _, p in ipairs({ p1, p2 }) do
-- 只在没有明确定义此简码时才生成,已有的追加,没有的直接赋值
if p ~= "" and not set[p] then
if env.pin_cands[p] ~= nil then
for text in texts:gmatch("[^" .. delimiter .. "]+") do
table.insert(env.pin_cands[p], text)
end
else
env.pin_cands[p] = env.pin_cands[preedit_no_spaces]
end
end
end
end
end
end
end
function M.func(input, env)
-- 当前输入框的 preedit未经过方案 translator/preedit_format 转换
-- 输入 nihaoshij 则为 nihaoshij选择了「你好」后变成 你好shij
local full_preedit = env.engine.context:get_preedit().text
-- 非汉字部分的 preedit如 shij
local letter_only_preedit = string.gsub(full_preedit, "[^a-zA-Z]", "")
if env.pin_cands == nil or next(env.pin_cands) == nil or #letter_only_preedit == 0 then
for cand in input:iter() do yield(cand) end
return
end
--[[
full_preedit 与候选项的情况
hao 好、号、毫 ... 哈、蛤、铪
你hao 好、号、毫 ... 哈、蛤、铪
haobu 好不、毫不 ... 好、号、毫 ... 哈、蛤、铪
你haobu 好不、毫不 ... 好、号、毫 ... 哈、蛤、铪
简化为 letter_only_preedit 与候选项的情况
hao 好、号、毫 ... 哈、蛤、铪
haobu 好不、毫不 ... 好、号、毫 ... 哈、蛤、铪
在循环中随着候选项的变化cand.preedit 也跟着变化:
letter_only_preedit cand.preedit
--------------------------------------------------
dian dian ... di
ha ha
hao hao ... ha
haobu hao bu ... hao ... ha
--]]
-- 用 pined 和 others 调整顺序,找齐后先遍历 pined 再遍历 others
local pined = {} -- 提升的候选项
local others = {} -- 其余候选项
local pined_count = 0
for cand in input:iter() do
local preedit = cand.preedit:gsub(" ", "") -- 对比去掉空格的 cand.preedit
local texts = env.pin_cands[preedit]
if texts == nil then
-- 当前候选项无须排序,直接 yield 并结束循环
-- 当前候选项正在排序,例如要置顶某个 `hao`,但从 `hao` 查到 `ha` 了还没找齐,不能直接 yield要先输出 pined 和 others 中的 `hao`
if letter_only_preedit == preedit then
yield(cand)
else
table.insert(others, cand)
end
break
else
-- 给 pined 几个空字符串占位元素,后面直接 pined[idx] = cand 确保 pined 与 texts 顺序一致
if #pined < #texts then
for _ = 1, #texts do
table.insert(pined, "")
end
end
-- 要置顶的放到 pined 中,其余的放到 others
local idx = find_index(texts, cand.text)
if idx ~= 0 then
pined[idx] = cand
pined_count = pined_count + 1
else
table.insert(others, cand)
end
-- 找齐了或查询超过 100 个就不找了(如果要提升的候选项不在前 100 则不会被提升)
if pined_count == #texts or #others > 100 then
break
end
end
end
-- yield pined others 及后续的候选项
for _, cand in ipairs(pined) do
if cand ~= "" then
yield(cand)
end
end
for _, cand in ipairs(others) do
yield(cand)
end
for cand in input:iter() do
yield(cand)
end
end
return M

View File

@@ -0,0 +1,114 @@
-- 降低部分英语单词在候选项的位置,可在方案中配置要降低的模式和单词
-- https://dvel.me/posts/make-rime-en-better/#短单词置顶的问题
-- 感谢大佬 @[Shewer Lu](https://github.com/shewer) 指点
-- Mintimate 修改:
-- 1. 在不设置 mode 情况下,调整为默认全降模式(原本为 none 模式);
-- 2. all 会合并默认全降内容和自定义内容。
local M = {}
function M.init(env)
local config = env.engine.schema.config
env.name_space = env.name_space:gsub("^*", "")
-- 要降低到的位置
M.idx = config:get_int(env.name_space .. "/idx")
-- 所有 3~4 位长度、前 2~3 位是完整拼音、最后一位是声母的单词
local all = { "aid", "aim", "air", "and", "ann", "ant", "any", "bad", "bag", "bail", "bait", "bam", "ban", "band",
"bang", "bank", "bans", "bar", "bat", "bay", "bend", "benq", "bent", "benz", "bib", "bid", "bien", "big", "bin",
"bind", "bit", "biz", "bob", "boc", "bop", "bos", "bot", "bow", "box", "boy", "bud", "buf", "bug", "bus",
"but", "buy", "cab", "cad", "cain", "cam", "can", "cans", "cant", "cap", "car", "cat", "cef", "cen",
"cent", "chad", "chan", "chap", "char", "chat", "chef", "chen", "cher", "chew", "chic", "chin", "chip", "chit",
"coup", "cum", "cunt", "cup", "cur", "cut", "dab", "dad", "dag", "dal", "dam", "day", "def", "del", "den",
"dent", "deny", "der", "dew", "dial", "did", "died", "dies", "diet", "dig", "dim", "din", "dip", "dir", "dis",
"dit", "diy", "doug", "dub", "dug", "dun", "dunn", "don", "end", "err", "fab", "fan", "fans", "faq", "far", "fat",
"fax", "fob", "fog", "for", "foul", "four", "fox", "fun", "fur", "gag", "gail", "gain", "gal", "gam", "gan",
"gang", "gank", "gaol", "gap", "gas", "gay", "ged", "gel", "gem", "gen", "ger", "get", "guam", "guid", "gum",
"gun", "guns", "gus", "gut", "guy", "had", "hail", "hair", "ham", "han", "hand", "hang", "hank", "hans", "has",
"hat", "hay", "heil", "heir", "hem", "hen", "hep", "her", "hex", "hey", "hour", "hub", "hud", "hug", "huh",
"hum", "hung", "hunk", "hunt", "hut", "jim", "jug", "junk", "kat", "kent", "key", "lab", "lad", "lag", "laid",
"lam", "lan", "land", "lang", "laos", "lap", "lat", "law", "lax", "lay", "led", "leg", "len", "let", "lex",
"liam", "liar", "lib", "lid", "lied", "lien", "lies", "ling", "link", "linn", "lip", "lit", "liz", "lob", "log",
"lol", "lot", "loud", "low", "lug", "lund", "lung", "lux", "mac", "mad", "mag", "maid", "mail", "main", "man",
"mann", "many", "map", "mar", "mat", "max", "may", "med", "mel", "men", "mend", "mens", "ment", "met", "mic",
"mid", "mil", "min", "mind", "ming", "mins", "mint", "mit", "mix", "mob", "moc", "mod", "mom", "mop", "mos",
"mot", "mud", "mug", "mum", "nad", "nail", "nan", "nap", "nas", "nat", "nay", "neil", "net", "new", "nib", "nil",
"nip", "noun", "nous", "nun", "nut", "nvm", "our", "out", "pac", "pad", "paid", "pail", "pain", "pair", "pak", "pal",
"pam", "pan", "pans", "pant", "pap", "par", "pat", "paw", "pax", "pay", "pens", "pic", "pier", "pies", "pig",
"pin", "ping", "pink", "pins", "pint", "pit", "pix", "pod", "pop", "por", "pos", "pot", "pour", "pow", "pub",
"put", "rand", "rang", "rank", "rant", "red", "rent", "rep", "res", "ret", "rex", "rib", "rid", "rig", "rim",
"rip", "rub", "rug", "ruin", "rum", "run", "runc", "runs", "sac", "sad", "said", "sail", "sal", "sam", "san",
"sand", "sang", "sans", "sap", "sat", "saw", "sax", "say", "sec", "send", "sent", "set", "sew", "sex", "sham",
"shaw", "shed", "shin", "ship", "shit", "shut", "sig", "sim", "sin", "sip", "sir", "sis", "sit", "six", "soul",
"soup", "sour", "sub", "suit", "sum", "sun", "sung", "suns", "sup", "sur", "sus", "tab", "tad", "tag", "tail",
"taj", "tan", "tang", "tank", "tap", "tar", "tax", "tec", "ted", "tel", "ten", "ter", "tex", "tic", "tied",
"tier", "ties", "tim", "tin", "tip", "tit", "tour", "tout", "tum", "wag", "wait", "wail", "wan", "wand", "womens",
"want", "wap", "war", "was", "wax", "way", "weir", "went", "won", "wow", "yan", "yang", "yen", "yep", "yes",
"yet", "yin", "your", "yum", "zen", "zip",
-- 后面是 zh ch sh 的
"bach", "bash", "bench", "bush", "cash", "couch", "dash", "dish", "hash", "hush", "lash", "loch", "lunch",
"lush", "mesh", "much", "nash", "pinch", "pouch", "push", "ranch", "rich", "rush", "such", "tech", "touch",
"wash", "zach",
-- 其他
"eg",
"my", "mt", "dj", "as", "js", "cs", "ak", "ps", "cd", "cn", "hk", "bt", "pk", "ml"
}
M.all = {}
for _, v in ipairs(all) do
M.all[v] = true
end
-- 自定义
M.words = {}
local list = config:get_list(env.name_space .. "/words")
local listSize = list and list.size or 0
for i = 0, listSize - 1 do
local word = list:get_value_at(i).value
M.words[word] = true
end
-- 模式
local mode = config:get_string(env.name_space .. "/mode")
if mode == "custom" then
M.map = M.words
elseif mode == "none" then
M.map = {}
else -- 默认 mode 为 all 且合并 M.all 和 words
for key in pairs(M.words) do
M.all[key] = true
end
M.map = M.all
end
end
function M.func(input, env)
-- filter start
local code = env.engine.context.input
if M.map[code] then
local pending_cands = {}
local index = 0
for cand in input:iter() do
index = index + 1
-- 找到要降低的英文词,加入 pending_cands
if cand.preedit:find(" ") or not cand.text:match("[a-zA-Z]") or cand.type == "user_table" then
yield(cand)
else
table.insert(pending_cands, cand)
end
if index >= M.idx + #pending_cands - 1 then
for _, cand in ipairs(pending_cands) do
yield(cand)
end
break
end
end
end
-- yield other
for cand in input:iter() do
yield(cand)
end
end
return M

311
lua/search.lua Executable file
View File

@@ -0,0 +1,311 @@
-- 辅码https://github.com/mirtlecn/rime-radical-pinyin/blob/master/search.lua.md
--
-- Copyright (C) [Mirtle](https://github.com/mirtlecn)
-- License: CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/)
-- 使用说明:<https://github.com/mirtlecn/rime-radical-pinyin/blob/master/search.lua.md>
-- 处理 lua 中的特殊字符用于匹配
local function alt_lua_punc( s )
if s then
return s:gsub( '([%.%+%-%*%?%[%]%^%$%(%)%%])', '%%%1' )
else
return ''
end
end
-- 获取指定字符在文本中的位置
local function get_pos( text, char )
local pos = {}
if text:find( char ) then
local tmp = text
for i = 1, utf8.len( tmp ) do
local first_char = tmp:sub( 1, utf8.offset( tmp, 2 ) - 1 )
if first_char == char then pos[i] = true end
tmp = tmp:gsub( '^' .. first_char, '' )
i = i + 1
end
end
return pos
end
-- 此函数用于手动写入用户词库,目前仅对双拼有效
local function update_dict_entry( s, code, mem, proj )
if #s == 0 or utf8.len( s ) == #s or (#code % 2 ~= 0) then
log.info( '[search.lua]: Ignored' .. s )
return 0
end
local e = DictEntry()
s = s:gsub( '^%s+', '' ):gsub( '%s+$', '' )
e.text = s
local pos = {}
if s:find( '·' ) and (utf8.len( s ) > 1) then pos = get_pos( s, '·' ) end
local custom_code = {}
local loop = 1
for i = 1, #code, 2 do
local code_convert = code:sub( i, i + 1 )
local p = proj:apply( code_convert, true )
if p and #p > 0 then code_convert = p end
if code_convert == 'dian' and pos[loop] then
-- Ignored
else
table.insert( custom_code, code_convert )
end
loop = loop + 1
end
e.custom_code = table.concat( custom_code, ' ' ) .. ' '
if mem.start_session then mem:start_session() end -- new on librime 2024.05
mem:update_userdict( e, 1, '' )
if mem.finish_session then mem:finish_session() end -- new on librime 2024.05
end
-- 通过 schema 的方式查询(以辅码查字,然后对比候选,慢,但能够匹配到算法转换过的码)
-- 查询方案中的匹配项,并返回字表
local function dict_init( search_string, mem, search_limit, code_projection )
local dict_table = {}
if code_projection then
-- old librime(<= 2023.06) do not return original string when apply failed
local p = code_projection:apply( search_string, true )
if p and #p > 0 then search_string = p end
end
if mem:dict_lookup( search_string, true, search_limit ) then
for entry in mem:iter_dict() do dict_table[entry.text] = true end
end
return dict_table
end
-- 匹配候选
local function dict_match( table, text )
if table[text] == true then return true end
return false
end
-- 通过 reverse db 查询(以字查码,然后比对辅码是否相同,快,但只能匹配未经算法转换的码)
local function reverse_lookup( code_projection, db_table, wildcard, text, s, global_match )
if wildcard then s = s:gsub( wildcard, '.*' ) end
if code_projection then
-- old librime do not return original string when apply failed
local p = code_projection:apply( s, true )
if p and #p > 0 then s = p end
end
-- log.error(s)
for _, db in ipairs( db_table ) do
local code = db:lookup( text )
if code and #code > 0 then
for part in code:gmatch( '%S+' ) do
if global_match then
if part:find( s ) then return true end
else
if part:find( '^' .. s ) then return true end -- an error pointing at this line. do not know why. so I'll keep an eye.
end
end
end
end
return false
end
-- 处理单字优先
local function handle_long_cand( if_single_char_first, cand, long_word_cands )
if if_single_char_first and utf8.len( cand.text ) > 1 then
table.insert( long_word_cands, cand )
else
yield( cand )
end
end
local f = {}
function f.init( env )
local config = env.engine.schema.config
local ns = 'search'
env.if_schema_lookup = false
env.if_reverse_lookup = false
-- 配置:仅限 script_translator 引擎
-- local engine = config:get_list( 'engine/translators' )
-- local engine_table = {}
-- for i = 0, engine.size - 1 do engine_table[engine:get_value_at( i ).value] = true end
-- if not engine_table['script_translator'] then
-- log.error( '[search.lua]: script_translator not found in engine/translators, search.lua will not work' )
-- return
-- end
-- 配置:辅码查字方法
-- --
-- 当在 engine 出直接指定了 namespace 则使用该 namespace 进行 schema 匹配
-- 当在 search_in_cand 节点下指定了 schema 和 db 则进行相应匹配
-- 当该节点下 schema 为 0 或者 false或者不存在时不进行相应匹配
-- --
local schema_name = config:get_string( ns .. '/schema' )
if not env.name_space:find( '^%*' ) then schema_name = env.name_space end
if not schema_name or schema_name == 'false' or schema_name == '0' or #schema_name == 0 then goto checkdb end
env.search = Memory( env.engine, Schema( schema_name ) )
if schema_name and env.search then
env.if_schema_lookup = true
env.search_limit = config:get_int( ns .. '/schema_search_limit' ) or 1000
end
::checkdb::
local db = config:get_list( ns .. '/db' )
if db and db.size > 0 then
env.wildcard = alt_lua_punc( config:get_string( ns .. '/wildcard' ) ) or '*'
env.db_table = {}
for i = 0, db.size - 1 do table.insert( env.db_table, ReverseLookup( db:get_value_at( i ).value ) ) end
env.if_reverse_lookup = true
end
if not env.if_reverse_lookup and not env.if_schema_lookup then return end
-- 配置:辅码转换规则
-- --
-- 例如:- xlit/ABCD/1234/ 就可以用 ABCD 来输入 1234地球拼音音调
local fuma_format = config:get_list( ns .. '/fuma_format' )
if fuma_format and fuma_format.size > 0 then
env.code_projection = Projection()
env.code_projection:load( fuma_format )
else
env.code_projection = nil
end
-- 配置:是否显示不符合辅码的候选
env.show_other_cands = config:get_bool( ns .. '/show_other_cands' )
-- 配置:辅码引导符号,默认为反引号 `
local search_key = config:get_string( 'key_binder/search' ) or config:get_string( ns .. '/key' ) or '`'
env.search_key_alt = alt_lua_punc( search_key )
local code_pattern = config:get_string( ns .. '/code_pattern' ) or '[a-z;]'
-- 配置seg tag
local tag = config:get_list( ns .. '/tags' )
if tag and tag.size > 0 then
env.tag = {}
for i = 0, tag.size - 1 do table.insert( env.tag, tag:get_value_at( i ).value ) end
else
env.tag = { 'abc' }
end
-- 配置:手动写入用户词库
local rules = config:get_list( ns .. '/input2code_format' )
if rules and rules.size > 0 then
env.projection = Projection()
env.projection:load( rules )
env.mem = Memory( env.engine, env.engine.schema )
end
-- 推入输入历史,并手动(如果设定了按键到编码的转换规则)写入用户词库
env.commit_notifier = env.engine.context.commit_notifier:connect(
function( ctx )
if env.have_select_commit and env.commit_code then
local commit_text = ctx:get_commit_text()
if env.mem then
update_dict_entry( commit_text, env.commit_code, env.mem, env.projection )
end
ctx.commit_history:push( 'search.lua', commit_text )
env.have_select_commit = false
else
return
end
end
)
-- 接管选词逻辑,是词组则始终保留引导码,否则直接上屏
env.notifier = env.engine.context.select_notifier:connect(
function( ctx )
local input = ctx.input
local code = input:match( '^(.-)' .. env.search_key_alt )
if (not code or #code == 0) then return end
local preedit = ctx:get_preedit()
local no_search_string = ctx.input:match( '^(.-)' .. env.search_key_alt )
local edit = preedit.text:match( '^(.-)' .. env.search_key_alt )
env.have_select_commit = true
if edit and edit:match( code_pattern ) then
ctx.input = no_search_string .. search_key
else
ctx.input = no_search_string
env.commit_code = no_search_string
ctx:commit()
end
end
)
end
function f.func( input, env )
-- 当且仅当当输入码中含有辅码引导符号,并有有辅码存在,进入匹配逻辑
local code, fuma = env.engine.context.input:match( '^(.-)' .. env.search_key_alt .. '(.+)$' )
if (not code or #code == 0) or (not fuma or #fuma == 0) or (not env.if_reverse_lookup and not env.if_schema_lookup) then
for cand in input:iter() do yield( cand ) end
return
end
local if_single_char_first = env.engine.context:get_option( 'search_single_char' )
local dict_table
local fuma_2
local other_cand = {}
local long_word_cands = {}
if env.if_schema_lookup then dict_table = dict_init( fuma, env.search, env.search_limit, env.code_projection ) end
if fuma:find( env.search_key_alt ) then fuma, fuma_2 = fuma:match( '^(.-)' .. env.search_key_alt .. '(.*)$' ) end
for cand in input:iter() do
if cand.type == 'sentence' then goto skip end
local cand_text = cand.text
local text = cand_text
local text_2 = nil
-- 当候选多于一个字,则取第一个匹配
if utf8.len( cand_text ) and utf8.len( cand_text ) > 1 then
text = cand_text:sub( 1, utf8.offset( cand_text, 2 ) - 1 )
local cand_text_2 = cand_text:gsub( '^' .. text, '' )
text_2 = cand_text_2:sub( 1, utf8.offset( cand_text_2, 2 ) - 1 )
end
if fuma_2 and #fuma_2 > 0 and env.if_reverse_lookup and not env.if_schema_lookup then
if -- 第一个辅码匹配第一个字,第二个辅码正则匹配第一个字**或者**匹配第二个字
reverse_lookup( env.code_projection, env.db_table, env.wildcard, text, fuma ) and
((text_2 and reverse_lookup( env.code_projection, env.db_table, env.wildcard, text_2, fuma_2 )) or
reverse_lookup( env.code_projection, env.db_table, env.wildcard, text, fuma_2, true )) then
handle_long_cand( if_single_char_first, cand, long_word_cands )
else
table.insert( other_cand, cand )
end
else
if -- 用辅码匹配第一个字
(env.if_reverse_lookup and reverse_lookup( env.code_projection, env.db_table, env.wildcard, text, fuma )) or
(env.if_schema_lookup and dict_match( dict_table, text )) then
handle_long_cand( if_single_char_first, cand, long_word_cands )
else
table.insert( other_cand, cand )
end
end
::skip::
end
-- 上屏其余的候选
for i, cand in ipairs( long_word_cands ) do yield( cand ) end
if env.show_other_cands then for i, cand in ipairs( other_cand ) do yield( cand ) end end
end
function f.tags_match( seg, env )
for i, v in ipairs( env.tag ) do if seg.tags[v] then return true end end
return false
end
function f.fini( env )
if env.if_reverse_lookup or env.if_schema_lookup then
env.notifier:disconnect()
env.commit_notifier:disconnect()
if env.mem and env.mem.disconnect then env.mem:disconnect() end
if env.search and env.search.disconnect then env.search:disconnect() end
if env.mem or env.search or env.db_table then
env.db_table = nil
env.mem = nil
env.search = nil
collectgarbage( 'collect' )
end
end
end
return f

50
lua/select_character.lua Normal file
View File

@@ -0,0 +1,50 @@
-- 以词定字
-- 原脚本 https://github.com/BlindingDark/rime-lua-select-character
-- 删除了默认按键 [ ],和方括号翻页冲突,需要在 key_binder 下指定才能生效
-- 20230526195910 不再错误地获取commit_text而是直接获取get_selected_candidate().text
-- 20240128141207 重写:将读取设置移动到 init 方法中;简化中文取字方法;预先判断候选存在与否,无候选取 input
-- 20240508111725 当候选字数为 1 时,快捷键使该字上屏
local select = {}
function select.init(env)
local config = env.engine.schema.config
env.first_key = config:get_string('key_binder/select_first_character')
env.last_key = config:get_string('key_binder/select_last_character')
end
function select.func(key, env)
local engine = env.engine
local context = env.engine.context
if
not key:release()
and (context:is_composing() or context:has_menu())
and (env.first_key or env.last_key)
then
local text = context.input
if context:get_selected_candidate() then
text = context:get_selected_candidate().text
end
if utf8.len(text) > 1 then
if (key:repr() == env.first_key) then
engine:commit_text(text:sub(1, utf8.offset(text, 2) - 1))
context:clear()
return 1
elseif (key:repr() == env.last_key) then
engine:commit_text(text:sub(utf8.offset(text, -1)))
context:clear()
return 1
end
else
if key:repr() == env.first_key or key:repr() == env.last_key then
engine:commit_text(text)
context:clear()
return 1
end
end
end
return 2
end
return select

18
lua/t9_preedit.lua Normal file
View File

@@ -0,0 +1,18 @@
-- 九宫格将输入框的数字转为对应的拼音或英文iRime 用Hamster 不需要。
-- 在 engine/filters 增加 - lua_filter@t9_preedit
--
-- 九宫格专用iRime 用,仓输入法不用
-- 拼写规则通过 xlit 转写: xlit/abcdefghijklmnopqrstuvwxyz/22233344455566677778889999/
-- 然后通过此 Lua 将输入框的数字转为对应的拼音或英文
local function t9_preedit(input, env)
for cand in input:iter() do
if (string.find(cand.text, "%w+") ~= nil) then
cand:get_genuine().preedit = cand.text
else
cand:get_genuine().preedit = cand.comment
end
yield(cand)
end
end
return t9_preedit

36
lua/unicode.lua Normal file
View File

@@ -0,0 +1,36 @@
-- Unicode
-- 复制自: https://github.com/shewer/librime-lua-script/blob/main/lua/component/unicode.lua
-- 示例:输入 U62fc 得到「拼」
-- 触发前缀默认为 recognizer/patterns/unicode 的第 2 个字符,即 U
-- 2024.02.26: 限定编码最大值
-- 2024.06.01: 部分变量初始化,条件语句调整。
local path = 'recognizer/patterns/unicode'
local function unicode(input, seg, env)
if not seg:has_tag("unicode") or input == '' then return end
-- 获取 recognizer/patterns/unicode 的第 2 个字符作为触发前缀
-- config:get_string(path) 可能取得 nil 造成error
if not env.unicode_keyword then
local pattern = env.engine.schema.config:get_string(path) or "UU"
env.unicode_keyword = pattern:sub(2,2)
end
local ucodestr = input:match(env.unicode_keyword .. "(%x+)")
if ucodestr and #ucodestr > 1 then
local code = tonumber(ucodestr, 16)
if code > 0x10FFFF then
yield(Candidate("unicode", seg.start, seg._end, "数值超限!", ""))
return
end
local text = utf8.char(code)
yield(Candidate("unicode", seg.start, seg._end, text, string.format("U%x", code)))
if code < 0x10000 then
for i = 0, 15 do
local text = utf8.char(code * 16 + i)
yield(Candidate("unicode", seg.start, seg._end, text, string.format("U%x~%x", code, i)))
end
end
end
end
return unicode

32
lua/v_filter.lua Normal file
View File

@@ -0,0 +1,32 @@
-- v 模式,单个字符优先
-- 因为设置了英文翻译器的 initial_quality 大于 1导致输入「va」时候选项是「van vain …… ā á ǎ à」
-- 把候选项应改为「ā á ǎ à …… van vain」让单个字符的排在前面
-- 感谢改进 @[t123yh](https://github.com/t123yh) @[Shewer Lu](https://github.com/shewer)
local function v_filter(input, env)
local code = env.engine.context.input -- 当前编码
env.v_spec_arr = env.v_spec_arr or Set({ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "Vs." })
-- 仅当当前输入以 v 开头,并且编码长度为 2才进行处理
if (string.len(code) == 2 and string.find(code, "^v")) then
local l = {}
for cand in input:iter() do
-- 特殊情况处理
if (env.v_spec_arr[cand.text]) then
yield(cand)
-- 候选项为单个字符的,提到前面来。
elseif (utf8.len(cand.text) == 1) then
yield(cand)
else
table.insert(l, cand)
end
end
for _, cand in ipairs(l) do
yield(cand)
end
else
for cand in input:iter() do
yield(cand)
end
end
end
return v_filter

70830
luna_pinyin.dict.yaml Normal file

File diff suppressed because it is too large Load Diff

13
melt_eng.dict.yaml Normal file
View File

@@ -0,0 +1,13 @@
# Rime dictionary
# encoding: utf-8
#
# 挂载英文输入方案的词库
#
---
name: melt_eng
version: "2023-05-09"
import_tables:
- en_dicts/en_ext # 补充(里面有些许带权重的,且和 en 重复,需要把 en_ext 放在上面)
- en_dicts/en # 英文主词库
...

314
melt_eng.schema.yaml Normal file
View File

@@ -0,0 +1,314 @@
# Rime schema
# vim: set sw=2 sts=2 et:
# encoding: utf-8
#
# 复制自 https://github.com/tumuyan/rime-melt修改了拼写派生
# 感谢 @[Mirtle](https://github.com/mirtlecn) 贡献的极其好用的拼写派生
# 全拼和各个双拼有部分拼写规则不通用,需要修改 speller/algebra 下的 __include: algebra_rime_frost 为你所使用的方案
schema:
schema_id: melt_eng
name: Easy English Nano
version: "2023-10-17"
author:
- Patrick <ipatrickmac@gmail.com>
- tumuyan <tumuyan@21cn.com>
description: Easy English Nano只包含少量常用词汇方便中英文混合输入度方案调用。
switches:
- name: ascii_mode
reset: 0
states: [ASCII-OFF, ASCII-ON]
engine:
processors:
- ascii_composer
- key_binder
- speller
- recognizer
#關閉標點符號轉換對應symbols.yaml - punctuator
- selector
- navigator
- express_editor
segmentors:
- matcher
- ascii_segmentor
- abc_segmentor
- punct_segmentor
- fallback_segmentor
translators:
- table_translator
- punct_translator
filters:
- uniquifier
speller:
alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
delimiter: " '"
algebra:
# 根据当前所用拼音方案选择 __include 的值
# 如果要在补丁中melt_eng.custom.yaml修改 algebra 以适配双拼,请参考 [常见问题](https://github.com/iDvel/rime-ice/issues/133)
__include: algebra_rime_frost # 全拼
# __include: algebra_double_pinyin # 自然码双拼
# __include: algebra_flypy # 小鹤双拼
# __include: algebra_mspy # 微软双拼
# __include: algebra_sogou # 搜狗双拼
# __include: algebra_abc # 智能ABC双拼
# __include: algebra_ziguang # 紫光双拼
translator:
dictionary: melt_eng
spelling_hints: 9
key_binder:
import_preset: default
punctuator:
import_preset: default
recognizer:
import_preset: default
# 通用的派生规则
algebra_common:
# 数字派生
- derive/1([4-7|9])/$1teen/
- derive/11/eleven/
- derive/12/twelve/
- derive/13/thirteen/
- derive/15/fifteen/
- derive/18/eighteen/
- derive/0/o/ # 如 1000 -> oneOOO
- derive/0/O/
- derive/0/zero/
- derive/1/one/
- derive/10/ten/
- derive/2/to/
- derive/2/two/
- derive/3/three/
- derive/4/for/
- derive/4/four/
- derive/5/five/
- derive/6/six/
- derive/7/seven/
- derive/8/eight/
- derive/9/nine/
# 符号派生
- derive/\+/plus/
- derive/\./dot/
- derive/@/at/
- derive/-/hyphen/
- derive/#/hash/
- derive/#/number/
- derive/#/sharp/
- derive/♯/sharp/
- derive / slash
- derive/&/and/
- derive/%/percent/
# 派生无单个特殊字符的拼写
- derive/[.]//
- derive/[+]//
- derive/[@]//
- derive/[-]//
- derive/[_]//
# 派生无任何非字母数字字符的拼写
- derive/[^a-zA-Z0-9]//
# 禁用非英文、数字开头的编码
- erase/^[^a-zA-Z0-9].+$/
# 全小写
- derive/^.+$/\L$0/
# 全大写
- derive/^.+$/\U$0/
# 首字母大写
- derive/^./\U$0/
# 前 2~10 个字母大写
- derive/^([a-z]{2})/\U$1/
- derive/^([a-z]{3})/\U$1/
- derive/^([a-z]{4})/\U$1/
- derive/^([a-z]{5})/\U$1/
- derive/^([a-z]{6})/\U$1/
- derive/^([a-z]{7})/\U$1/
- derive/^([a-z]{8})/\U$1/
- derive/^([a-z]{9})/\U$1/
- derive/^([a-z]{10})/\U$1/
# 全拼
algebra_rime_frost:
__include: algebra_common
__append:
- derive/(?<!\d)1([1-9])(?!\d)/shi$1/
- derive/([1-9])0000(?!0)/$1wan/
- derive/([1-9])000(?!0)/$1qian/
- derive/([1-9])00(?!0)/$1bai/
- derive/([2-9])0(?!0)/$1shi/
- derive/(?<!\d)([2-9])([1-9])(?!\d)/$1shi$2/
- derive/\./dian/
- derive/10/shi/
- derive/0/ling/
- derive/1/yi/
- derive/2/er/
- derive/2/liang/
- derive/3/san/
- derive/4/si/
- derive/5/wu/
- derive/6/liu/
- derive/7/qi/
- derive/8/ba/
- derive/9/jiu/
- derive/\+/jia/
- derive/#/jing/
# 自然码双拼
algebra_double_pinyin:
__include: algebra_common
__append:
- derive/(?<!\d)1([1-9])(?!\d)/ui$1/
- derive/([1-9])0000(?!0)/$1wj/
- derive/([1-9])000(?!0)/$1qm/
- derive/([1-9])00(?!0)/$1bl/
- derive/([2-9])0(?!0)/$1ui/
- derive/(?<!\d)([2-9])([1-9])(?!\d)/$1ui$2/
- derive/\./dm/
- derive/10/ui/
- derive/0/ly/
- derive/1/yi/
- derive/2/er/
- derive/2/ld/
- derive/3/sj/
- derive/4/si/
- derive/5/wu/
- derive/6/lq/
- derive/7/qi/
- derive/8/ba/
- derive/9/jq/
- derive/\+/jw/
- derive/#/jy/
# 小鹤双拼
algebra_flypy:
__include: algebra_common
__append:
- derive/(?<!\d)1([1-9])(?!\d)/ui$1/
- derive/([1-9])0000(?!0)/$1wj/
- derive/([1-9])000(?!0)/$1qm/
- derive/([1-9])00(?!0)/$1bd/
- derive/([2-9])0(?!0)/$1ui/
- derive/(?<!\d)([2-9])([1-9])(?!\d)/$1ui$2/
- derive/\./dm/
- derive/10/ui/
- derive/0/lk/
- derive/1/yi/
- derive/2/er/
- derive/2/ll/
- derive/3/sj/
- derive/4/si/
- derive/5/wu/
- derive/6/lq/
- derive/7/qi/
- derive/8/ba/
- derive/9/jq/
- derive/\+/jx/
- derive/#/jk/
# 微软双拼
algebra_mspy:
__include: algebra_common
__append:
- derive/(?<!\d)1([1-9])(?!\d)/ui$1/
- derive/([1-9])0000(?!0)/$1wj/
- derive/([1-9])000(?!0)/$1qm/
- derive/([1-9])00(?!0)/$1bl/
- derive/([2-9])0(?!0)/$1ui/
- derive/(?<!\d)([2-9])([1-9])(?!\d)/$1ui$2/
- derive/\./dm/
- derive/10/ui/
- derive/0/l;/
- derive/1/yi/
- derive/2/er/
- derive/2/or/
- derive/2/ld/
- derive/3/sj/
- derive/4/si/
- derive/5/wu/
- derive/6/lq/
- derive/7/qi/
- derive/8/ba/
- derive/9/jq/
- derive/\+/jw/
- derive/#/j;/
# 搜狗双拼
algebra_sogou:
__include: algebra_common
__append:
- derive/(?<!\d)1([1-9])(?!\d)/ui$1/
- derive/([1-9])0000(?!0)/$1wj/
- derive/([1-9])000(?!0)/$1qm/
- derive/([1-9])00(?!0)/$1bl/
- derive/([2-9])0(?!0)/$1ui/
- derive/(?<!\d)([2-9])([1-9])(?!\d)/$1ui$2/
- derive/\./dm/
- derive/10/ui/
- derive/0/l;/
- derive/1/yi/
- derive/2/er/
- derive/2/or/
- derive/2/ld/
- derive/3/sj/
- derive/4/si/
- derive/5/wu/
- derive/6/lq/
- derive/7/qi/
- derive/8/ba/
- derive/9/jq/
- derive/\+/jw/
- derive/#/jy/
# 智能ABC双拼
algebra_abc:
__include: algebra_common
__append:
- derive/(?<!\d)1([1-9])(?!\d)/vi$1/
- derive/([1-9])0000(?!0)/$1wj/
- derive/([1-9])000(?!0)/$1qw/
- derive/([1-9])00(?!0)/$1bl/
- derive/([2-9])0(?!0)/$1vi/
- derive/(?<!\d)([2-9])([1-9])(?!\d)/$1vi$2/
- derive/\./dw/
- derive/10/vi/
- derive/0/ly/
- derive/1/yi/
- derive/2/er/
- derive/2/or/
- derive/2/lt/
- derive/3/sj/
- derive/4/si/
- derive/5/wu/
- derive/6/lr/
- derive/7/qi/
- derive/8/ba/
- derive/9/jr/
- derive/\+/jd/
- derive/#/jy/
# 紫光双拼
algebra_ziguang:
__include: algebra_common
__append:
- derive/(?<!\d)1([1-9])(?!\d)/ii$1/
- derive/([1-9])0000(?!0)/$1wr/
- derive/([1-9])000(?!0)/$1qf/
- derive/([1-9])00(?!0)/$1bp/
- derive/([2-9])0(?!0)/$1ii/
- derive/(?<!\d)([2-9])([1-9])(?!\d)/$1ii$2/
- derive/\./df/
- derive/10/ii/
- derive/0/l;/
- derive/1/yi/
- derive/2/er/
- derive/2/oj/
- derive/2/lg/
- derive/3/sr/
- derive/4/si/
- derive/5/wu/
- derive/6/lj/
- derive/7/qi/
- derive/8/ba/
- derive/9/jj/
- derive/\+/jx/
- derive/#/j;/

27
opencc/emoji.json Normal file
View File

@@ -0,0 +1,27 @@
{
"name": "Chinese to Emoji",
"segmentation": {
"type": "mmseg",
"dict": {
"type": "text",
"file": "emoji.txt"
}
},
"conversion_chain": [
{
"dict": {
"type": "group",
"dicts": [
{
"type": "text",
"file": "emoji.txt"
},
{
"type": "text",
"file": "others.txt"
}
]
}
}
]
}

4694
opencc/emoji.txt Normal file

File diff suppressed because it is too large Load Diff

1484
opencc/others.txt Normal file

File diff suppressed because it is too large Load Diff

40201
radical_pinyin.dict.yaml Normal file

File diff suppressed because it is too large Load Diff

273
radical_pinyin.schema.yaml Normal file
View File

@@ -0,0 +1,273 @@
# Rime schema settings
# encoding: utf-8
schema:
schema_id: radical_pinyin
name: "部件拆字 | 全拼双拼"
version: "1.1.0"
author: Mirtle
description: |
用拼音按顺序打出偏旁部件,组合出汉字
码表:开放词典 / henrysting / Mirtle
注音、校对、方案Mirtle
仓库https://github.com/mirtlecn/rime_radical_pinyin
engine:
processors:
- key_binder
- speller
- selector
- navigator
- express_editor
segmentors:
- abc_segmentor
translators:
- echo_translator
- table_translator
filters:
- uniquifier
key_binder:
__include: default:/key_binder?
speller:
alphabet: "abcdefghijklmnopqrstuvwxyz;"
delimiter: " '"
algebra:
# 根据当前所用拼音方案选择 __include 的值
__include: algebra_pinyin # 全拼
# __include: algebra_double_pinyin # 自然码双拼
# __include: algebra_flypy # 小鹤双拼
# __include: algebra_mspy # 微软双拼
# __include: algebra_sogou # 搜狗双拼
# __include: algebra_abc # 智能ABC双拼
# __include: algebra_ziguang # 紫光双拼
translator:
dictionary: radical_pinyin
enable_user_dict: false
algebra_pinyin:
- xform/'//
- derive/^([nl])ue$/$1ve/
- derive/'([nl])ue$/'$1ve/
- derive/^([jqxy])u/$1v/
- derive/'([jqxy])u/'$1v/
algebra_double_pinyin:
- derive/^([jqxy])u(?=^|$|')/$1v/
- derive/'([jqxy])u(?=^|$|')/'$1v/
- derive/^([aoe])([ioun])(?=^|$|')/$1$1$2/
- derive/'([aoe])([ioun])(?=^|$|')/'$1$1$2/
- xform/^([aoe])(ng)?(?=^|$|')/$1$1$2/
- xform/'([aoe])(ng)?(?=^|$|')/'$1$1$2/
- xform/iu(?=^|$|')/<q>/
- xform/[iu]a(?=^|$|')/<w>/
- xform/[uv]an(?=^|$|')/<r>/
- xform/[uv]e(?=^|$|')/<t>/
- xform/ing(?=^|$|')|uai(?=^|$|')/<y>/
- xform/^sh/<u>/
- xform/^ch/<i>/
- xform/^zh/<v>/
- xform/'sh/'<u>/
- xform/'ch/'<i>/
- xform/'zh/'<v>/
- xform/uo(?=^|$|')/<o>/
- xform/[uv]n(?=^|$|')/<p>/
- xform/([a-z>])i?ong(?=^|$|')/$1<s>/
- xform/[iu]ang(?=^|$|')/<d>/
- xform/([a-z>])en(?=^|$|')/$1<f>/
- xform/([a-z>])eng(?=^|$|')/$1<g>/
- xform/([a-z>])ang(?=^|$|')/$1<h>/
- xform/ian(?=^|$|')/<m>/
- xform/([a-z>])an(?=^|$|')/$1<j>/
- xform/iao(?=^|$|')/<c>/
- xform/([a-z>])ao(?=^|$|')/$1<k>/
- xform/([a-z>])ai(?=^|$|')/$1<l>/
- xform/([a-z>])ei(?=^|$|')/$1<z>/
- xform/ie(?=^|$|')/<x>/
- xform/ui(?=^|$|')/<v>/
- xform/([a-z>])ou(?=^|$|')/$1<b>/
- xform/in(?=^|$|')/<n>/
- xform/'|<|>//
algebra_flypy:
- derive/^([jqxy])u(?=^|$|')/$1v/
- derive/'([jqxy])u(?=^|$|')/'$1v/
- derive/^([aoe])([ioun])(?=^|$|')/$1$1$2/
- derive/'([aoe])([ioun])(?=^|$|')/'$1$1$2/
- xform/^([aoe])(ng)?(?=^|$|')/$1$1$2/
- xform/'([aoe])(ng)?(?=^|$|')/'$1$1$2/
- xform/iu(?=^|$|')/<q>/
- xform/(.)ei(?=^|$|')/$1<w>/
- xform/uan(?=^|$|')/<r>/
- xform/[uv]e(?=^|$|')/<t>/
- xform/un(?=^|$|')/<y>/
- xform/^sh/<u>/
- xform/^ch/<i>/
- xform/^zh/<v>/
- xform/'sh/'<u>/
- xform/'ch/'<i>/
- xform/'zh/'<v>/
- xform/uo(?=^|$|')/<o>/
- xform/ie(?=^|$|')/<p>/
- xform/([a-z>])i?ong(?=^|$|')/$1<s>/
- xform/ing(?=^|$|')|uai(?=^|$|')/<k>/
- xform/([a-z>])ai(?=^|$|')/$1<d>/
- xform/([a-z>])en(?=^|$|')/$1<f>/
- xform/([a-z>])eng(?=^|$|')/$1<g>/
- xform/[iu]ang(?=^|$|')/<l>/
- xform/([a-z>])ang(?=^|$|')/$1<h>/
- xform/ian(?=^|$|')/<m>/
- xform/([a-z>])an(?=^|$|')/$1<j>/
- xform/([a-z>])ou(?=^|$|')/$1<z>/
- xform/[iu]a(?=^|$|')/<x>/
- xform/iao(?=^|$|')/<n>/
- xform/([a-z>])ao(?=^|$|')/$1<c>/
- xform/ui(?=^|$|')/<v>/
- xform/in(?=^|$|')/<b>/
- xform/'|<|>//
algebra_mspy:
- derive/^([jqxy])u(?=^|$|')/$1v/
- derive/'([jqxy])u(?=^|$|')/'$1v/
- derive/^([aoe].*)(?=^|$|')/o$1/
- derive/'([aoe].*)(?=^|$|')/'o$1/
- xform/^([ae])(.*)(?=^|$|')/$1$1$2/
- xform/'([ae])(.*)(?=^|$|')/'$1$1$2/
- xform/iu(?=^|$|')/<q>/
- xform/[iu]a(?=^|$|')/<w>/
- xform/er(?=^|$|')|[uv]an(?=^|$|')/<r>/
- xform/[uv]e(?=^|$|')/<t>/
- xform/v(?=^|$|')|uai(?=^|$|')/<y>/
- xform/^sh/<u>/
- xform/^ch/<i>/
- xform/^zh/<v>/
- xform/'sh/'<u>/
- xform/'ch/'<i>/
- xform/'zh/'<v>/
- xform/uo(?=^|$|')/<o>/
- xform/[uv]n(?=^|$|')/<p>/
- xform/([a-z>])i?ong(?=^|$|')/$1<s>/
- xform/[iu]ang(?=^|$|')/<d>/
- xform/([a-z>])en(?=^|$|')/$1<f>/
- xform/([a-z>])eng(?=^|$|')/$1<g>/
- xform/([a-z>])ang(?=^|$|')/$1<h>/
- xform/ian(?=^|$|')/<m>/
- xform/([a-z>])an(?=^|$|')/$1<j>/
- xform/iao(?=^|$|')/<c>/
- xform/([a-z>])ao(?=^|$|')/$1<k>/
- xform/([a-z>])ai(?=^|$|')/$1<l>/
- xform/([a-z>])ei(?=^|$|')/$1<z>/
- xform/ie(?=^|$|')/<x>/
- xform/ui(?=^|$|')/<v>/
- derive/<t>(?=^|$|')/<v>/
- xform/([a-z>])ou(?=^|$|')/$1<b>/
- xform/in(?=^|$|')/<n>/
- xform/ing(?=^|$|')/;/
- xform/'|<|>//
algebra_sogou:
- derive/^([jqxy])u(?=^|$|')/$1v/
- derive/'([jqxy])u(?=^|$|')/'$1v/
- derive/^([aoe].*)(?=^|$|')/o$1/
- derive/'([aoe].*)(?=^|$|')/'o$1/
- xform/^([ae])(.*)(?=^|$|')/$1$1$2/
- xform/'([ae])(.*)(?=^|$|')/'$1$1$2/
- xform/iu(?=^|$|')/<q>/
- xform/[iu]a(?=^|$|')/<w>/
- xform/er(?=^|$|')|[uv]an(?=^|$|')/<r>/
- xform/[uv]e(?=^|$|')/<t>/
- xform/v(?=^|$|')|uai(?=^|$|')/<y>/
- xform/^sh/<u>/
- xform/^ch/<i>/
- xform/^zh/<v>/
- xform/'sh/'<u>/
- xform/'ch/'<i>/
- xform/'zh/'<v>/
- xform/uo(?=^|$|')/<o>/
- xform/[uv]n(?=^|$|')/<p>/
- xform/([a-z>])i?ong(?=^|$|')/$1<s>/
- xform/[iu]ang(?=^|$|')/<d>/
- xform/([a-z>])en(?=^|$|')/$1<f>/
- xform/([a-z>])eng(?=^|$|')/$1<g>/
- xform/([a-z>])ang(?=^|$|')/$1<h>/
- xform/ian(?=^|$|')/<m>/
- xform/([a-z>])an(?=^|$|')/$1<j>/
- xform/iao(?=^|$|')/<c>/
- xform/([a-z>])ao(?=^|$|')/$1<k>/
- xform/([a-z>])ai(?=^|$|')/$1<l>/
- xform/([a-z>])ei(?=^|$|')/$1<z>/
- xform/ie(?=^|$|')/<x>/
- xform/ui(?=^|$|')/<v>/
- xform/([a-z>])ou(?=^|$|')/$1<b>/
- xform/in(?=^|$|')/<n>/
- xform/ing(?=^|$|')/;/
- xform/'|<|>//
algebra_abc:
- xform/^zh/<a>/
- xform/^ch/<e>/
- xform/^sh/<v>/
- xform/'zh/'<a>/
- xform/'ch/'<e>/
- xform/'sh/'<v>/
- xform/^([aoe].*)(?=^|$|')/<o>$1/
- xform/'([aoe].*)(?=^|$|')/'<o>$1/
- xform/ei(?=^|$|')/<q>/
- xform/ian(?=^|$|')/<w>/
- xform/er(?=^|$|')|iu(?=^|$|')/<r>/
- xform/[iu]ang(?=^|$|')/<t>/
- xform/ing(?=^|$|')/<y>/
- xform/uo(?=^|$|')/<o>/
- xform/uan(?=^|$|')/<p>/
- xform/([a-z>])i?ong(?=^|$|')/$1<s>/
- xform/[iu]a(?=^|$|')/<d>/
- xform/en(?=^|$|')/<f>/
- xform/eng(?=^|$|')/<g>/
- xform/ang(?=^|$|')/<h>/
- xform/an(?=^|$|')/<j>/
- xform/iao(?=^|$|')/<z>/
- xform/ao(?=^|$|')/<k>/
- xform/in(?=^|$|')|uai(?=^|$|')/<c>/
- xform/ai(?=^|$|')/<l>/
- xform/ie(?=^|$|')/<x>/
- xform/ou(?=^|$|')/<b>/
- xform/un(?=^|$|')/<n>/
- xform/[uv]e(?=^|$|')|ui(?=^|$|')/<m>/
- xform/'|<|>//
algebra_ziguang:
- derive/^([jqxy])u(?=^|$|')/$1v/
- derive/'([jqxy])u(?=^|$|')/'$1v/
- xform/'([aoe].*)(?=^|$|')/'<o>$1/
- xform/^([aoe].*)(?=^|$|')/<o>$1/
- xform/en(?=^|$|')/<w>/
- xform/eng(?=^|$|')/<t>/
- xform/in(?=^|$|')|uai(?=^|$|')/<y>/
- xform/^zh/<u>/
- xform/^sh/<i>/
- xform/'zh/'<u>/
- xform/'sh/'<i>/
- xform/uo(?=^|$|')/<o>/
- xform/ai(?=^|$|')/<p>/
- xform/^ch/<a>/
- xform/'ch/'<a>/
- xform/[iu]ang(?=^|$|')/<g>/
- xform/ang(?=^|$|')/<s>/
- xform/ie(?=^|$|')/<d>/
- xform/ian(?=^|$|')/<f>/
- xform/([a-z>])i?ong(?=^|$|')/$1<h>/
- xform/er(?=^|$|')|iu(?=^|$|')/<j>/
- xform/ei(?=^|$|')/<k>/
- xform/uan(?=^|$|')/<l>/
- xform/ing(?=^|$|')/;/
- xform/ou(?=^|$|')/<z>/
- xform/[iu]a(?=^|$|')/<x>/
- xform/iao(?=^|$|')/<b>/
- xform/ue(?=^|$|')|ui(?=^|$|')|ve(?=^|$|')/<n>/
- xform/un(?=^|$|')/<m>/
- xform/ao(?=^|$|')/<q>/
- xform/an(?=^|$|')/<r>/
- xform/'|<|>//

251
rime_frost.dict.yaml Normal file
View File

@@ -0,0 +1,251 @@
# Rime dictionary
# encoding: utf-8
---
name: rime_frost
version: "2023-11-13"
import_tables:
- cn_dicts/8105 # 字表
- cn_dicts/41448 # 大字表(按需启用)
- cn_dicts/base # 基础词库
- cn_dicts/ext # 扩展词库
# - cn_dicts/tencent # 腾讯词向量(大词库,部署时间较长)
- cn_dicts/others # 一些杂项
# 细胞词库
- cn_dicts_cell/medication
- cn_dicts_cell/industry_product
- cn_dicts_cell/exthot
- cn_dicts_cell/chess
- cn_dicts_cell/chess2
- cn_dicts_cell/animal
- cn_dicts_cell/game
- cn_dicts_cell/idiom
- cn_dicts_cell/sport
- cn_dicts_cell/media
- cn_dicts_cell/shulihua
- cn_dicts_cell/food
- cn_dicts_cell/inputmethod
- cn_dicts_cell/history
- cn_dicts_cell/place
- cn_dicts_cell/geography
- cn_dicts_cell/name2
- cn_dicts_cell/literature
- cn_dicts_cell/music
- cn_dicts_cell/computer
- cn_dicts_cell/composite
- cn_dicts_cell/name
...
# 按需启用:
# 大写字母
# 可在拼音方案下直接输入大写字母Shift + 字母),大写字母参与造句。
# 示例:输入 `nihaoASDFzaijian` 得到 `你好ASDF再见`
# (非雾凇方案的双拼如果要启用,需要参考双拼方案下的 speller/algebra 将大写字母搭桥改成一些特殊字符)
A A
B B
C C
D D
E E
F F
G G
H H
I I
J J
K K
L L
M M
N N
O O
P P
Q Q
R R
S S
T T
U U
V V
W W
X X
Y Y
Z Z
# 数字参与中文造词,方便输入一些特殊的 ID。配合大写字母造词可以自动为 `5G网络``3D打印` 等词汇注音
0 ling
1 yi
1 yao
2 er
3 san
4 si
5 wu
6 liu
7 qi
8 ba
9 jiu
# 示例:输入 siSdian 得到 4S店
3G
4G
5G
3G网络
4G网络
5G网络
3G流量
4G流量
5G流量
2D
3D
4D
3D打印
2D电影
3D电影
4S店
AE86
M1
M2
M3
M4
M4A1
# 加入词典,响应 opencc/others.txt 的 emoji 集合
V动物
V国旗
V手势
V表情
V分数
V按键
V星号
V特殊
V常用
V中华
V中餐
V串串
V亚裔
V亚裔女
V亚裔男
V运动
V运动员
V元素
V公交
V动物脸
V包
V午餐
V饭
V景点
V器官
V圆形
V地铁
V交通
V坚果
V外汇
V钞票
V纸币
V货币
V多媒体
V夜晚
V夜空
V大自然
V自然
V气象
V天气
V娱乐
V宗教
V家禽
V冷
V寒冷
V工具
V帽
V帽子
V心心
V快餐
V怪物
V拉丁
V拉丁裔
V拉美
V拉美人
V拉美裔
V卷
V数码
V方形
V正方形
V日料
V日式料理
V日本菜
V日用
V早餐
V早点
V星座
V时钟
V月亮
V有毒
V服装
V服饰
V东亚人
V东亚裔
V果
V水果
V棕色人
V棕色人种
V植物
V乐器
V机械
V正餐
V武器
V车
V汽车
V火车
V热饮
V牲畜
V奖
V奖项
V奖牌
V球
V甜食
V甜点
V生肖
V畜生
V白人
V白种人
V眼镜
V科学
V穆斯林
V节日
V粗粮
V精灵
V肉
V肤色
V船
V花
V花朵
V菜
V蔬菜
V叶子
V虫
V血型
V衣服
V西餐
V调料
V游乐园
V酒
V野味
V野生动物
V阿拉伯
V阿拉伯人
V雪
V零食
V电器
V电子
V鞋
V鞋子
V颜色
V飞行器
V饮料
V餐具
V发型
V发色
V鱼
V鸟
V面包
V黄种人
V黑人
V点心

554
rime_frost.schema.yaml Normal file
View File

@@ -0,0 +1,554 @@
# Rime schema
# encoding: utf-8
# 方案说明
schema:
schema_id: rime_frost
name: 白霜拼音
version: "2024-02-25"
author:
- Dvel
- gaboolic
description: |
白霜拼音
https://github.com/gaboolic/rime-frost
dependencies:
- melt_eng # 英文输入,作为次翻译器挂载到拼音方案
- radical_pinyin # 部件拆字,反查及辅码
# 开关
# reset: 默认状态。注释掉后,切换窗口时不会重置到默认状态。
# states: 方案选单显示的名称。可以注释掉,仍可以通过快捷键切换。
# abbrev: 默认的缩写取 states 的第一个字符abbrev 可自定义一个字符
switches:
- name: ascii_mode
states: [ 中, ]
- name: ascii_punct # 中英标点
states: [ ¥, $ ]
- name: traditionalization
states: [ 简, 繁 ]
- name: emoji
states: [ 💀, 😄 ]
- name: full_shape
states: [ 半角, 全角 ]
- name: search_single_char # search.lua 的功能开关,辅码查词时是否单字优先
abbrev: [词, 单]
states: [正常, 单字]
# 输入引擎
engine:
processors:
- lua_processor@*select_character # 以词定字
- ascii_composer
- recognizer
- key_binder
- speller
- punctuator
- selector
- navigator
- express_editor
segmentors:
- ascii_segmentor
- matcher
- abc_segmentor
- affix_segmentor@radical_lookup # 部件拆字自定义 tag
- punct_segmentor
- fallback_segmentor
translators:
- punct_translator
- script_translator
- lua_translator@*date_translator # 时间、日期、星期
- lua_translator@*lunar # 农历
- table_translator@custom_phrase # 自定义短语 custom_phrase.txt
- table_translator@melt_eng # 英文输入
- table_translator@cn_en # 中英混合词汇
- table_translator@radical_lookup # 部件拆字反查
- lua_translator@*unicode # Unicode
- lua_translator@*number_translator # 数字、金额大写
- lua_translator@*force_gc # 暴力 GC
- lua_translator@*calculator # 计算器
filters:
- lua_filter@*is_in_user_dict # 用户词典的词加上一个*
- lua_filter@*corrector # 错音错字提示
- reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜
- lua_filter@*autocap_filter # 英文自动大写
- lua_filter@*v_filter # v 模式 symbols 优先
- lua_filter@*pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换)
- lua_filter@*long_word_filter # 长词优先(顺序要求:长词优先 > Emoji
- lua_filter@*reduce_english_filter # 降低部分英语单词在候选项的位置
- simplifier@emoji # Emoji
- simplifier@traditionalize # 简繁切换
- lua_filter@*aux_code # 墨奇辅助码
- uniquifier # 去重
# Lua 配置: 日期、时间、星期、ISO 8601、时间戳的触发关键字
date_translator:
date: rq # 日期: 2022-11-29
time: sj # 时间: 18:13
week: xq # 星期: 星期二
datetime: dt # ISO 8601 2022-11-29T18:13:11+08:00
timestamp: ts # 时间戳: 1669716794
# Lua 配置:农历的触发关键字
lunar: nl # 农历: 二〇二三年冬月二十 癸卯年(兔)冬月二十
# Lua 配置:长词优先
# 提升 count 个词语,插入到第 idx 个位置。
# 示例:将 2 个词插入到第 4、5 个候选项,输入 jie 得到「1接 2解 3姐 4饥饿 5极恶」
long_word_filter:
count: 2
idx: 4
# Lua 配置:为 corrector 格式化 comment占位符为 {comment}
# 默认 "{comment}" 输入 hun dun 时会在「馄饨」旁边生成 hún tun 的 comment
# 例如左右加个括号 "({comment})" 就会变成 (hún tun)
corrector: "{comment}"
# Lua 配置: 降低部分英语单词在候选项的位置。
# 详细介绍 https://dvel.me/posts/make-rime-en-better/#短单词置顶的问题
# 正常情况: 输入 rug 得到 「1.rug 2.如果 …… 」
# 降低之后: 输入 rug 得到 「1.如果 2.rug …… 」
# 几种模式:
# all 降低脚本内置的单词(所有 3~4 位长度、前 2~3 位是完整拼音、最后一位是声母words 作为自定义的额外补充
# custom 完全自定义,只降低 words 里的
# none 不降低任何单词,相当于没有启用这个 Lua
# (匹配的是编码,不是单词)
reduce_english_filter:
mode: custom # all | custom | none
idx: 2 # 降低到第 idx 个位置
# 自定义的单词列表,示例列表没有降低部分常用单词,如 and cat mail Mac but bad shit ……
words: [
aid, ann,
bail, bait, bam, band, bans, bat, bay, bend, bent, benz, bib, bid, bien, biz, boc, bop, bos, bud, buf, bach, bench, bush,
cab, cad, cain, cam, cans, cap, cas, cef, chad, chan, chap, chef, cher, chew, chic, chin, chip, chit, coup, cum, cunt, cur, couch,
dab, dag, dal, dam, dent, dew, dial, diet, dim, din, dip, dis, dit, doug, dub, dug, dunn, don,
fab, fax, fob, fog, foul, fur,
gag, gail, gain, gal, gam, gaol, ged, gel, ger, guam, gus, gut,
hail, ham, hank, hans, hat, hay, heil, heir, hem, hep, hud, hum, hung, hunk, hut, hush,
jim, jug,
kat,
lab, lad, lag, laid, lam, laos, lap, lat, lax, lay, led, leg, lex, liam, lib, lid, lied, lien, lies, linn, lip, lit, liz, lob, lug, lund, lung, lux, lash, loch, lush,
mag, maid, mann, mar, mat, med, mel, mend, mens, ment, mil, mins, mint, mob, moc, mop, mos, mot, mud, mug, mum, mesh,
nap, nat, nay, neil, nib, nip, noun, nous, nun, nut, nail, nash,
pac, paid, pail, pain, pair, pak, pal, pam, pans, pant, pap, par, pat, paw, pax, pens, pic, pier, pies, pins, pint, pit, pix, pod, pop, pos, pot, pour, pow, pub, pinch, pouch,
rand, rant, rent, rep, res, ret, rex, rib, rid, rig, rim, rub, rug, rum, runc, runs, ranch,
sac, sail, sal, sam, sans, sap, saw, sax, sew, sham, shaw, shin, sig, sin, sip, sis, suit, sung, suns, sup, sur, sus,
tad, tail, taj, tar, tax, tec, ted, tel, ter, tex, tic, tied, tier, ties, tim, tin, tit, tour, tout, tum,
wag, wand, womens, wap, wax, weir, won,
yan, yen,
zach
]
# Lua 配置: 置顶候选项
# 注释太长了,请参考 pin_cand_filter.lua 开头的说明书。
pin_cand_filter:
# 格式:编码<Tab>字词1<Space>字词2……
# ⚙️ 以下是个人习惯,仅供参考,推荐打补丁用自己的习惯覆盖。
# 单编码
# - q 去 千
# - w 我 万 往
# - e 呃
# - r 让 人
# - t 他 她 它 祂
# - y 与 于
# - u 在 custom_phrase 置顶了 有 🈶 又 由
# - i 在 custom_phrase 置顶了 一 以 已 亦
# - o 哦
# - p 片 篇
# - a 啊
# - s 是 时 使 式
# - d 的 地 得
# - f 发 放 分
# - g 个 各
# - h 和 或
# - j 及 将 即 既 继
# - k 可
# - l 了 啦 喽 嘞
# - z 在 再 自
# - x 想 像 向
# - c 才 从
# - v
# - b 吧 把 呗 百
# - n 那 哪 拿 呐
# - m 吗 嘛 呣 呒
# 常用单字
# - qing 请
# - qu 去
# - wo 我
# - wei 为
# - er 而 儿 二
# - en 嗯
# - rang 让
# - ta 他 她 它 祂
# - tai 太
# - tong 同
# - yu 与 于
# - you 有 又 由
# - yao 要
# - ye 也
# - shi 是 时 使 式
# - suo 所
# - shang 上
# - shuo 说
# - de 的 地 得
# - dan 但
# - dou 都
# - dao 到 倒
# - dian 点
# - dang 当
# - dui 对
# - fa 发
# - ge 个 各
# - gang 刚
# - he 和
# - huo 或
# - hui 会
# - hai 还
# - hao 好
# - ji 及 即 既
# - jiu 就
# - jiang 将
# - ke 可
# - kan 看
# - kai 开
# - le 了
# - la 啦 拉
# - lai 来
# - li 里
# - zai 在 再
# - zhi 只
# - zhe 这 着
# - zhen 真
# - zui 最
# - zheng 正
# - zuo 做 坐 左
# - ze 则
# - xiang 想 像 向
# - xian 先
# - xia 下
# - xing 行
# - cai 才
# - cong 从
# - chu 出
# - ba 把 吧
# - bu 不
# - bing 并
# - bei 被
# - bie 别
# - bi 比
# - bing 并
# - na 那 哪 拿 呐
# - ni 你
# - ma 吗 嘛 妈
# - mei 没
# - mai 买 卖
# - reng 仍 扔
# ta、na
# - ta men 他们 她们 它们
# - tm 他们 她们 它们
# - ta de 他的 她的 它的
# - td 他的 她的 它的
# - ta men de 他们的 她们的 它们的
# - na er 那儿 哪儿
# - na ge 那个 哪个
# - ng 那个 哪个 拿个
# - na xie 那些 哪些
# - na li 那里 哪里
# - na bian 那边 哪边
# - na bian er 那边儿 哪边儿
# - na wei 那位 哪位
# 简码
# - zh 这
# - dd 等等
# - dddd 等等等等
# - gg 刚刚
# - cgg 才刚刚
# - zd 知道
# - bzd 不知道
# - ww 往往
# - hh 哈哈
# - kk 看看
# - cc 常常
# - xx 想想 想象
# - yw 因为
# - sm 什么
# - wsm 为什么
# - sbs 是不是
# - msm 没什么
# - smd 什么的
# - sms 什么是
# - sma 什么啊
# 主翻译器,拼音
translator:
dictionary: rime_frost # 挂载词库 rime_frost.dict.yaml
spelling_hints: 8 # corrector.lua :为了让错音错字提示的 Lua 同时适配全拼双拼,将拼音显示在 comment 中
always_show_comments: true # corrector.lua Rime 默认在 preedit 等于 comment 时取消显示 comment这里强制一直显示供 corrector.lua 做判断用。
initial_quality: 1.2 # 拼音的权重应该比英文大
comment_format: # 标记拼音注释,供 corrector.lua 做判断用
- xform/^//
- xform/$//
preedit_format: # preedit_format 影响到输入框的显示和“Shift+回车”上屏的字符
- xform/([jqxy])v/$1u/ # 显示为 ju qu xu yu
# - xform/([nl])v/$1ü/ # 显示为 nü lü
# - xform/([nl])ue/$1üe/ # 显示为 nüe lüe
- xform/([nl])v/$1v/ # 显示为 nv lv
- xform/([nl])ue/$1ve/ # 显示为 nve lve
# 次翻译器,英文
melt_eng:
dictionary: melt_eng # 挂载词库 melt_eng.dict.yaml
enable_sentence: false # 禁止造句
enable_user_dict: false # 禁用用户词典
initial_quality: 0.7 # 初始权重
comment_format: # 自定义提示码
- xform/.*// # 清空提示码
# 中英混合词汇
cn_en:
dictionary: ""
user_dict: en_dicts/cn_en
db_class: stabledb
enable_completion: true
enable_sentence: false
initial_quality: 0.1
comment_format:
- xform/^.+$//
# 自定义短语custom_phrase.txt
custom_phrase:
dictionary: ""
user_dict: custom_phrase # 可以修改这里,改成自己的 txt 文件
db_class: stabledb # 只读数据库,无法动态调频;设为 tabledb 可以动态调频
enable_completion: false # 补全提示
enable_sentence: false # 禁止造句
initial_quality: 99 # custom_phrase 的权重应该比 pinyin 和 melt_eng 大
# Emoji
emoji:
option_name: emoji
opencc_config: emoji.json
inherit_comment: false # 在 corrector.lua 及反查中emoji 返回空注释
# 简繁切换
traditionalize:
option_name: traditionalization
opencc_config: s2t.json # s2t.json | s2hk.json | s2tw.json | s2twp.json
tips: none # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。
tags: [ abc, number, gregorian_to_lunar ] # 限制在对应 tag不对其他如反查的内容做简繁转换
# 标点符号
# punctuator 下面有三个子项:
# full_shape 全角标点映射
# half_shape 半角标点映射
# symbols Rime 的预设配置是以 '/' 前缀开头输出一系列字符,自定义的 symbols_v.yaml 修改成了 'v' 开头。
punctuator:
full_shape:
__include: default:/punctuator/full_shape # 从 default.yaml 导入配置
half_shape:
__include: default:/punctuator/half_shape # 从 default.yaml 导入配置
symbols:
__include: symbols_v:/symbols # 从 symbols_v.yaml 导入配置
# 部件拆字反查
radical_lookup:
tag: radical_lookup
dictionary: radical_pinyin
enable_user_dict: false
prefix: "uU" # 反查前缀(反查时前缀会消失影响打英文所以设定为两个字母,或可改成一个非字母符号),与 recognizer/patterns/radical_lookup 匹配
tips: " 〔拆字〕"
comment_format:
- erase/^.*$//
# 部件拆字滤镜
radical_reverse_lookup:
tags: [ radical_lookup ]
# dictionary 为拼音标注来源。目前是显示本方案词库的注音,可去部件拆字方案下载更全的、带声调的、已编译好的词典
# https://github.com/mirtlecn/rime-radical-pinyin?tab=readme-ov-file#%E5%8F%8D%E6%9F%A5%E5%B8%A6%E5%A3%B0%E8%B0%83%E6%B3%A8%E9%9F%B3
dictionary: rime_frost
# comment_format: # 自定义 comment例如在左右加上括号
# - xform/^/(/
# - xform/$/)/
# 处理符合特定规则的输入码,如网址、反查
recognizer:
import_preset: default # 从 default.yaml 继承通用的
patterns: # 再增加方案专有的:
punct: "^/([0-9]|10|[A-Za-z]+)$" # 响应 symbols_v.yaml 的 symbols用 'v' 替换 '/'
radical_lookup: "^uU[a-z]+$" # 响应部件拆字的反查,与 radical_lookup/prefix 匹配
unicode: "^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀,响应 lua_translator@*unicode输出 Unicode 字符
number: "^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀,响应 lua_translator@*number_translator数字金额大写
gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@*lunar公历转农历输入 N20240115 得到「二〇二三年腊月初五」
calculator: "^V.*$" #计算器功能引导
# 从 default 继承快捷键
key_binder:
import_preset: default # 从 default.yaml 继承通用的
aux_code_trigger: "`" # 辅码引导符,要添加到 speller/alphabet
# bindings: # 也可以再增加方案专有的快捷键
# 拼写设定
speller:
# 如果不想让什么标点直接上屏,可以加在 alphabet或者编辑标点符号为两个及以上的映射
alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA`/
# initials 定义仅作为始码的按键,排除 ` 让单个的 ` 可以直接上屏
initials: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
delimiter: " '" # 第一位<空格>是拼音之间的分隔符;第二位<'>表示可以手动输入单引号来分割拼音。
algebra:
### 模糊音
# 声母
# - derive/^([zcs])h/$1/ # zh* ch* sh* 派生出 z* c* s*
# - derive/^([zcs])([^h])/$1h$2/ # z* c* s* 派生出 zh* ch* sh*
# - derive/^l/n/ # 解释:为 l 开头的拼写派生出 n 开头,即 nai 也可以输出 lai来、莱、赖……
# - derive/^n/l/ # lai 可输出 nai奶、乃、奈……。 可以单向或成对儿启用模糊音
# - derive/^f/h/
# - derive/^h/f/
# - derive/^l/r/
# - derive/^r/l/
# - derive/^g/k/
# - derive/^k/g/
# 韵母
# - derive/ang$/an/
# - derive/an$/ang/
# - derive/eng$/en/
# - derive/en$/eng/
# - derive/in$/ing/
# - derive/ing$/in/
# - derive/ian$/iang/
# - derive/iang$/ian/
# - derive/uan$/uang/
# - derive/uang$/uan/
# - derive/ai$/an/
# - derive/an$/ai/
# - derive/ong$/un/
# - derive/un$/ong/
# - derive/ong$/on/
# - derive/iong$/un/
# - derive/un$/iong/
# - derive/ong$/eng/
# - derive/eng$/ong/
# 拼音音节
# - derive/^fei$/hui/
# - derive/^hui$/fei/
# - derive/^hu$/fu/
# - derive/^fu$/hu/
# - derive/^wang$/huang/
# - derive/^huang$/wang/
### 旧时的拼写规则
# - derive/un$/uen/
# - derive/ui$/uei/
# - derive/iu$/iou/
### 超级简拼
- erase/^hm$/ # 响应超级简拼,取消「噷 hm」的独占如果拼音词库有这个音节的话雾凇里没有
- erase/^m$/ # 响应超级简拼,取消「呣 m」的独占如果拼音词库有这个音节的话雾凇里没有
- erase/^n$/ # 响应超级简拼,取消「嗯 n」的独占如果拼音词库有这个音节的话雾凇里没有
- erase/^ng$/ # 响应超级简拼,取消「嗯 ng」的独占如果拼音词库有这个音节的话雾凇里没有
- abbrev/^([a-z]).+$/$1/ # 超级简拼
- abbrev/^([zcs]h).+$/$1/ # 超级简拼中zh ch sh 视为整体ch'sh → 城市而不是像这样分开c'h's'h → 吃好睡好)。
### v u 转换
# 雾凇的词库严格按照正确的 u v(ü) 注音的,支持使用 qu/qv nue/nve 来输入 qu nve
- derive/^([nl])ve$/$1ue/
- derive/^([jqxy])u/$1v/
# 以防引入的其他词库没按照正确方式注音,也做一个转换
- derive/^([nl])ue$/$1ve/
- derive/^([jqxy])v/$1u/
### 自动纠错
########## START 这几个有副作用的规则圈起来,方便取舍
# 这些规则对全拼简拼混输有副作用如「x'ai 喜爱」被纠错为「xia 下」
# zh、ch、sh
- derive/([zcs])h(a|e|i|u|ai|ei|an|en|ou|uo|ua|un|ui|uan|uai|uang|ang|eng|ong)$/h$1$2/ # hzi → zhi
- derive/([zcs])h([aeiu])$/$1$2h/ # zih → zhi
# # ia
# - derive/([qjx])ia$/$1ai/ # qai → qia
# # an
# - derive/([wrtypsdfghklzcbnm])an$/$1na/ # dna → dan
# # en
# - derive/([wrpsdfghklzcbnm])en$/$1ne/ # rne → ren
# # in
# - derive/([qypjlxbnm])in$/$1ni/ # qni → qin
# # un
# - derive/([qrtysdghjklzxc])un$/$1nu/ # qnu → qun
# # ian
# - derive/([qtpdjlxbnm])ian$/$1ain/
########## END
# ai
- derive/^([wghk])ai$/$1ia/ # wia → wai
# ei
- derive/([wfghkz])ei$/$1ie/ # wie → wei
# ie
- derive/([jqx])ie$/$1ei/ # jei → jie
# ao
- derive/([rtypsdghklzcbnm])ao$/$1oa/
# ou
- derive/([ypfm])ou$/$1uo/
# uo
# ang
- derive/([wrtypsdfghklzcbnm])ang$/$1nag/
- derive/([wrtypsdfghklzcbnm])ang$/$1agn/
# eng
- derive/([wrtpsdfghklzcbnm])eng$/$1neg/
- derive/([wrtpsdfghklzcbnm])eng$/$1egn/
# ing
- derive/([qtypdjlxbnm])ing$/$1nig/
- derive/([qtypdjlxbnm])ing$/$1ign/
# ong
- derive/([rtysdghklzcn])ong$/$1nog/
- derive/([rtysdghklzcn])ong$/$1ogn/
# iao
- derive/([qtpdjlxbnm])iao$/$1ioa/
- derive/([qtpdjlxbnm])iao$/$1oia/
# ui
- derive/([rtsghkzc])ui$/$1iu/
# iu
- derive/([qjlxnm])iu$/$1ui/
# iang
- derive/([qjlxn])iang$/$1aing/
- derive/([qjlxn])iang$/$1inag/
# ua
- derive/([g|k|h|zh|sh])ua$/$1au/
# uai
- derive/([g|h|k|zh|ch|sh])uai$/$1aui/
# - derive/([g|h|k|zh|ch|sh])uai$/$1uia/ # 和「会啊、追啊」等常用词有冲突
# uan
- derive/([qrtysdghjklzxcn])uan$/$1aun/
# - derive/([qrtysdghjklzxcn])uan$/$1una/ # 和「去哪、露娜」等常用词有冲突
# ue
- derive/([nlyjqx])ue$/$1eu/
# uang
- derive/([g|h|k|zh|ch|sh])uang$/$1aung/
- derive/([g|h|k|zh|ch|sh])uang$/$1uagn/
- derive/([g|h|k|zh|ch|sh])uang$/$1unag/
- derive/([g|h|k|zh|ch|sh])uang$/$1augn/
# iong
- derive/([jqx])iong$/$1inog/
- derive/([jqx])iong$/$1oing/
- derive/([jqx])iong$/$1iogn/
- derive/([jqx])iong$/$1oign/
# 其他
- derive/([rtsdghkzc])o(u|ng)$/$1o/ # do → dou|dong
- derive/(.+)ong$/$1on/ # lon → long
- derive/([tl])eng$/$1en/ # ten → teng
- derive/([qwrtypsdfghjklzxcbnm])([aeio])ng$/$1ng/ # lng → lang、leng、ling、long

View File

@@ -0,0 +1,343 @@
# Rime schema
# encoding: utf-8
# 复制自 rime_frost.schema.yaml ,适配了双拼。
# 双拼键位映射复制自 https://github.com/rime/rime-double-pinyin
# 双拼之间主要就是 speller/algebra 和 translator/preedit_format 这里有区别。
#
# 全拼的自定义文本和双拼有些冲突,改成了 custom_phrase_double ,需要创建 custom_phrase_double.txt 文件。
#
# 目前配置中有个别功能仍然是全拼拼写,不能自动适配,所以需要手动修改一下:
# - 英文中部分符号的派生规则:在英文方案文件 melt_eng.schema.yaml > speller > algebra 修改为对应的双拼拼写运算
# - 部件拆字的拼写规则:在部件拆字方案 radical_pinyin.schema.yaml > speller > algebra 修改为对应的双拼拼写运算
# 打个补丁一劳永逸,补丁写法参考 [常见问题](https://github.com/iDvel/rime-ice/issues/133)
# 方案说明
schema:
schema_id: rime_frost_double_pinyin
name: 自然码双拼
version: "1"
author:
- Dvel
description: |
雾凇拼音 - 自然码双拼
https://github.com/iDvel/rime-ice
dependencies:
- melt_eng # 英文输入,作为次翻译器挂载到拼音方案
- radical_pinyin # 部件拆字,反查及辅码
# 开关
# reset: 默认状态。注释掉后,切换窗口时不会重置到默认状态。
# states: 方案选单显示的名称。可以注释掉,仍可以通过快捷键切换。
# abbrev: 默认的缩写取 states 的第一个字符abbrev 可自定义一个字符
switches:
- name: ascii_mode
states: [ 中, ]
- name: ascii_punct # 中英标点
states: [ ¥, $ ]
- name: traditionalization
states: [ 简, 繁 ]
- name: emoji
states: [ 💀, 😄 ]
reset: 1
- name: full_shape
states: [ 半角, 全角 ]
- name: search_single_char # search.lua 的功能开关,辅码查词时是否单字优先
abbrev: [词, 单]
states: [正常, 单字]
# 输入引擎
engine:
processors:
- lua_processor@*select_character # 以词定字
- ascii_composer
- recognizer
- key_binder
- speller
- punctuator
- selector
- navigator
- express_editor
segmentors:
- ascii_segmentor
- matcher
- abc_segmentor
- affix_segmentor@radical_lookup # 部件拆字自定义 tag
- punct_segmentor
- fallback_segmentor
translators:
- punct_translator
- script_translator
- lua_translator@*date_translator # 时间、日期、星期
- lua_translator@*lunar # 农历
- table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
- table_translator@melt_eng # 英文输入
- table_translator@cn_en # 中英混合词汇
- table_translator@radical_lookup # 部件拆字反查
- lua_translator@*unicode # Unicode
- lua_translator@*number_translator # 数字、金额大写
- lua_translator@*force_gc # 暴力 GC
- lua_translator@*calculator # 计算器
filters:
- lua_filter@*is_in_user_dict # 用户词典的词加上一个*
- lua_filter@*corrector # 错音错字提示
- reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜
- lua_filter@*autocap_filter # 英文自动大写
- lua_filter@*pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换)
- lua_filter@*reduce_english_filter # 降低部分英语单词在候选项的位置
- simplifier@emoji # Emoji
- simplifier@traditionalize # 简繁切换
- lua_filter@*aux_code # 墨奇辅助码
- uniquifier # 去重
# Lua 配置: 日期、时间、星期、ISO 8601、时间戳的触发关键字
date_translator:
date: date # 日期: 2022-11-29
time: time # 时间: 18:13
week: week # 星期: 星期二
datetime: datetime # ISO 8601 2022-11-29T18:13:11+08:00
timestamp: timestamp # 时间戳: 1669716794
# Lua 配置:农历的触发关键字
lunar: lunar # 农历: 二〇二三年冬月二十 癸卯年(兔)冬月二十
# Lua 配置:为 corrector 格式化 comment占位符为 {comment}
# 默认 "{comment}" 输入 hun dun 时会在「馄饨」旁边生成 hún tun 的 comment
# 例如左右加个括号 "({comment})" 就会变成 (hún tun)
corrector: "{comment}"
# Lua 配置: 降低部分英语单词在候选项的位置。
# 详细介绍 https://dvel.me/posts/make-rime-en-better/#短单词置顶的问题
# 正常情况: 输入 rug 得到 「1.rug 2.如果 …… 」
# 降低之后: 输入 rug 得到 「1.如果 2.rug …… 」
# 几种模式:
# all 降低脚本内置的单词(所有 3~4 位长度、前 2~3 位是完整拼音、最后一位是声母words 作为自定义的额外补充
# custom 完全自定义,只降低 words 里的
# none 不降低任何单词,相当于没有启用这个 Lua
# (匹配的是编码,不是单词)
reduce_english_filter:
mode: custom # all | custom | none
idx: 2 # 降低到第 idx 个位置
# 自定义的单词列表,示例列表没有降低部分常用单词,如 and cat mail Mac but bad shit ……
words: [
aid, ann,
bail, bait, bam, band, bans, bat, bay, bend, bent, benz, bib, bid, bien, biz, boc, bop, bos, bud, buf, bach, bench, bush,
cab, cad, cain, cam, cans, cap, cas, cef, chad, chan, chap, chef, cher, chew, chic, chin, chip, chit, coup, cum, cunt, cur, couch,
dab, dag, dal, dam, dent, dew, dial, diet, dim, din, dip, dis, dit, doug, dub, dug, dunn,
fab, fax, fob, fog, foul, fur,
gag, gail, gain, gal, gam, gaol, ged, gel, ger, guam, gus, gut,
hail, ham, hank, hans, hat, hay, heil, heir, hem, hep, hud, hum, hung, hunk, hut, hush,
jim, jug,
kat,
lab, lad, lag, laid, lam, laos, lap, lat, lax, lay, led, leg, lex, liam, lib, lid, lied, lien, lies, linn, lip, lit, liz, lob, lug, lund, lung, lux, lash, loch, lush,
mag, maid, mann, mar, mat, med, mel, mend, mens, ment, mil, mins, mint, mob, moc, mop, mos, mot, mud, mug, mum, mesh,
nap, nat, nay, neil, nib, nip, noun, nous, nun, nut, nail, nash,
pac, paid, pail, pain, pair, pak, pal, pam, pans, pant, pap, par, pat, paw, pax, pens, pic, pier, pies, pins, pint, pit, pix, pod, pop, pos, pot, pour, pow, pub, pinch, pouch,
rand, rant, rent, rep, res, ret, rex, rib, rid, rig, rim, rub, rug, rum, runc, runs, ranch,
sac, sail, sal, sam, sans, sap, saw, sax, sew, sham, shaw, shin, sig, sin, sip, sis, suit, sung, suns, sup, sur, sus,
tad, tail, taj, tar, tax, tec, ted, tel, ter, tex, tic, tied, tier, ties, tim, tin, tit, tour, tout, tum,
wag, wand, womens, wap, wax, weir, won,
yan, yen,
zach
]
# Lua 配置: 置顶候选项
# 注释太长了,请参考 pin_cand_filter.lua 开头的说明书。
pin_cand_filter:
# 格式:编码<Tab>字词1<Space>字词2……
- d 的
# 主翻译器,拼音
translator:
dictionary: rime_frost # 挂载词库 rime_frost.dict.yaml
prism: rime_frost_double_pinyin # 多方案共用一个词库时,为避免冲突,需要用 prism 指定一个名字。
spelling_hints: 8 # corrector.lua :为了让错音错字提示的 Lua 同时适配全拼双拼,将拼音显示在 comment 中
always_show_comments: true # corrector.lua Rime 默认在 preedit 等于 comment 时取消显示 comment这里强制一直显示供 corrector.lua 做判断用。
initial_quality: 1.2 # 拼音的权重应该比英文大
comment_format: # 标记拼音注释,供 corrector.lua 做判断用
- xform/^//
- xform/$//
preedit_format: # preedit_format 影响到输入框的显示和“Shift+回车”上屏的字符
- xform/([bpmnljqxy])n/$1in/
- xform/(\w)g/$1eng/
- xform/(\w)q/$1iu/
- xform/([gkhvuirzcs])w/$1ua/
- xform/(\w)w/$1ia/
- xform/([dtnlgkhjqxyvuirzcs])r/$1uan/
- xform/(\w)t/$1ve/
- xform/([gkhvuirzcs])y/$1uai/
- xform/(\w)y/$1ing/
- xform/([dtnlgkhvuirzcs])o/$1uo/
- xform/(\w)p/$1un/
- xform/([jqx])s/$1iong/
- xform/(\w)s/$1ong/
- xform/([jqxnlb])d/$1iang/
- xform/(\w)d/$1uang/
- xform/(\w)f/$1en/
- xform/(\w)h/$1ang/
- xform/(\w)j/$1an/
- xform/(\w)k/$1ao/
- xform/(\w)l/$1ai/
- xform/(\w)z/$1ei/
- xform/(\w)x/$1ie/
- xform/(\w)c/$1iao/
- xform/([dtgkhvuirzcs])v/$1ui/
- xform/(\w)b/$1ou/
- xform/(\w)m/$1ian/
- xform/([aoe])\1(\w)/$1$2/
- "xform/(^|[ '])v/$1zh/"
- "xform/(^|[ '])i/$1ch/"
- "xform/(^|[ '])u/$1sh/"
- xform/([jqxy])v/$1u/
- xform/([nl])v/$1ü/
- xform/ü/v/ # ü 显示为 v
# 次翻译器,英文
melt_eng:
dictionary: melt_eng # 挂载词库 melt_eng.dict.yaml
enable_sentence: false # 禁止造句
enable_user_dict: false # 禁用用户词典
initial_quality: 1.1 # 初始权重
comment_format: # 自定义提示码
- xform/.*// # 清空提示码
# 中英混合词汇
cn_en:
dictionary: ""
user_dict: en_dicts/cn_en_double_pinyin
db_class: stabledb
enable_completion: true
enable_sentence: false
initial_quality: 0.5
comment_format:
- xform/^.+$//
# 自定义短语
custom_phrase:
dictionary: ""
user_dict: custom_phrase_double # 需要手动创建 custom_phrase_double.txt 文件
db_class: stabledb
enable_completion: false # 补全提示
enable_sentence: false # 禁止造句
initial_quality: 99 # custom_phrase 的权重应该比 pinyin 和 melt_eng 大
# Emoji
emoji:
option_name: emoji
opencc_config: emoji.json
inherit_comment: false # 在 corrector.lua 及反查中emoji 返回空注释
# 简繁切换
traditionalize:
option_name: traditionalization
opencc_config: s2t.json # s2t.json | s2hk.json | s2tw.json | s2twp.json
tips: none # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。
tags: [ abc, number, gregorian_to_lunar ] # 限制在对应 tag不对其他如反查的内容做简繁转换
# 标点符号
# punctuator 下面有三个子项:
# full_shape 全角标点映射
# half_shape 半角标点映射
# symbols Rime 的预设配置是以 '/' 前缀开头输出一系列字符
punctuator:
full_shape:
__include: default:/punctuator/full_shape # 从 default.yaml 导入配置
half_shape:
__include: default:/punctuator/half_shape # 从 default.yaml 导入配置
symbols:
__include: symbols_v:/symbols # 从 symbols_v.yaml 导入配置
# 部件拆字反查
radical_lookup:
tag: radical_lookup
dictionary: radical_pinyin
enable_user_dict: false
prefix: "uU" # 反查前缀(反查时前缀会消失影响打英文所以设定为两个字母,或可改成一个非字母符号),与 recognizer/patterns/radical_lookup 匹配
tips: " 〔拆字〕"
comment_format:
- erase/^.*$//
# 部件拆字滤镜
radical_reverse_lookup:
tags: [ radical_lookup ]
# dictionary 为拼音标注来源。目前是显示本方案词库的注音,可去部件拆字方案下载更全的、带声调的、已编译好的词典
# https://github.com/mirtlecn/rime-radical-pinyin?tab=readme-ov-file#%E5%8F%8D%E6%9F%A5%E5%B8%A6%E5%A3%B0%E8%B0%83%E6%B3%A8%E9%9F%B3
dictionary: rime_frost
# comment_format: # 自定义 comment例如在左右加上括号
# - xform/^/(/
# - xform/$/)/
# 处理符合特定规则的输入码,如网址、反查
recognizer:
import_preset: default # 从 default.yaml 继承通用的
patterns: # 再增加方案专有的:
punct: "^/([0-9]|10|[A-Za-z]+)$" # 响应 symbols_v.yaml 的 symbols
radical_lookup: "^uU[a-z]+$" # 响应部件拆字的反查,与 radical_lookup/prefix 匹配
unicode: "^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀,响应 lua_translator@*unicode输出 Unicode 字符
number: "^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀,响应 lua_translator@*number_translator数字金额大写
gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@*lunar公历转农历输入 N20240115 得到「二〇二三年腊月初五」
calculator: "^V.*$" #计算器功能引导
# 从 default 继承快捷键
key_binder:
import_preset: default # 从 default.yaml 继承通用的
aux_code_trigger: "`" # 辅码引导符,要添加到 speller/alphabet
# bindings: # 也可以再增加方案专有的
# 拼写设定
speller:
# 如果不想让什么标点直接上屏,可以加在 alphabet或者编辑标点符号为两个及以上的映射
alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA`/
# initials 定义仅作为始码的按键,排除 ` 让单个的 ` 可以直接上屏
initials: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
delimiter: " '" # 第一位<空格>是拼音之间的分隔符;第二位<'>表示可以手动输入单引号来分割拼音。
algebra:
- erase/^xx$/
- derive/^([jqxy])u$/$1v/
- derive/^([aoe])([ioun])$/$1$1$2/
- xform/^([aoe])(ng)?$/$1$1$2/
- xform/iu$/Ⓠ/
- xform/[iu]a$/Ⓦ/
- xform/[uv]an$/Ⓡ/
- xform/[uv]e$/Ⓣ/
- xform/ing$|uai$/Ⓨ/
- xform/^sh/Ⓤ/
- xform/^ch/Ⓘ/
- xform/^zh/Ⓥ/
- xform/uo$/Ⓞ/
- xform/[uv]n$/Ⓟ/
- xform/(.)i?ong$/$1Ⓢ/
- xform/[iu]ang$/Ⓓ/
- xform/(.)en$/$1Ⓕ/
- xform/(.)eng$/$1Ⓖ/
- xform/(.)ang$/$1Ⓗ/
- xform/ian$/Ⓜ/
- xform/(.)an$/$1Ⓙ/
- xform/iao$/Ⓒ/
- xform/(.)ao$/$1Ⓚ/
- xform/(.)ai$/$1Ⓛ/
- xform/(.)ei$/$1Ⓩ/
- xform/ie$/Ⓧ/
- xform/ui$/Ⓥ/
- xform/(.)ou$/$1Ⓑ/
- xform/in$/Ⓝ/
- xlit/ⓆⓌⓇⓉⓎⓊⒾⓄⓅⓈⒹⒻⒼⒽⓂⒿⒸⓀⓁⓏⓍⓋⒷⓃ/qwrtyuiopsdfghmjcklzxvbn/
# - abbrev/^(.).+$/$1/ # 首字母简拼,开启后会导致 3 个字母时 kj'x 变成 k'jx 的问题

View File

@@ -0,0 +1,343 @@
# Rime schema
# encoding: utf-8
# 复制自 rime_frost.schema.yaml ,适配了双拼。
# 双拼键位映射复制自 https://github.com/rime/rime-double-pinyin
# 双拼之间主要就是 speller/algebra 和 translator/preedit_format 这里有区别。
#
# 全拼的自定义文本和双拼有些冲突,改成了 custom_phrase_double ,需要创建 custom_phrase_double.txt 文件。
#
# 目前配置中有个别功能仍然是全拼拼写,不能自动适配,所以需要手动修改一下:
# - 英文中部分符号的派生规则:在英文方案文件 melt_eng.schema.yaml > speller > algebra 修改为对应的双拼拼写运算
# - 部件拆字的拼写规则:在部件拆字方案 radical_pinyin.schema.yaml > speller > algebra 修改为对应的双拼拼写运算
# 打个补丁一劳永逸,补丁写法参考 [常见问题](https://github.com/iDvel/rime-ice/issues/133)
# 方案说明
schema:
schema_id: rime_frost_double_pinyin_abc
name: 智能 ABC 双拼
version: "1"
author:
- Dvel
description: |
雾凇拼音 - 智能 ABC 双拼
https://github.com/iDvel/rime-ice
dependencies:
- melt_eng # 英文输入,作为次翻译器挂载到拼音方案
- radical_pinyin # 部件拆字,反查及辅码
# 开关
# reset: 默认状态。注释掉后,切换窗口时不会重置到默认状态。
# states: 方案选单显示的名称。可以注释掉,仍可以通过快捷键切换。
# abbrev: 默认的缩写取 states 的第一个字符abbrev 可自定义一个字符
switches:
- name: ascii_mode
states: [ 中, ]
- name: ascii_punct # 中英标点
states: [ ¥, $ ]
- name: traditionalization
states: [ 简, 繁 ]
- name: emoji
states: [ 💀, 😄 ]
reset: 1
- name: full_shape
states: [ 半角, 全角 ]
- name: search_single_char # search.lua 的功能开关,辅码查词时是否单字优先
abbrev: [词, 单]
states: [正常, 单字]
# 输入引擎
engine:
processors:
- lua_processor@*select_character # 以词定字
- ascii_composer
- recognizer
- key_binder
- speller
- punctuator
- selector
- navigator
- express_editor
segmentors:
- ascii_segmentor
- matcher
- abc_segmentor
- affix_segmentor@radical_lookup # 部件拆字自定义 tag
- punct_segmentor
- fallback_segmentor
translators:
- punct_translator
- script_translator
- lua_translator@*date_translator # 时间、日期、星期
- lua_translator@*lunar # 农历
- table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
- table_translator@melt_eng # 英文输入
- table_translator@cn_en # 中英混合词汇
- table_translator@radical_lookup # 部件拆字反查
- lua_translator@*unicode # Unicode
- lua_translator@*number_translator # 数字、金额大写
- lua_translator@*force_gc # 暴力 GC
- lua_translator@*calculator # 计算器
filters:
- lua_filter@*is_in_user_dict # 用户词典的词加上一个*
- lua_filter@*corrector # 错音错字提示
- reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜
- lua_filter@*autocap_filter # 英文自动大写
- lua_filter@*pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换)
- lua_filter@*reduce_english_filter # 降低部分英语单词在候选项的位置
- simplifier@emoji # Emoji
- simplifier@traditionalize # 简繁切换
- lua_filter@*aux_code # 墨奇辅助码
- uniquifier # 去重
# Lua 配置: 日期、时间、星期、ISO 8601、时间戳的触发关键字
date_translator:
date: date # 日期: 2022-11-29
time: time # 时间: 18:13
week: week # 星期: 星期二
datetime: datetime # ISO 8601 2022-11-29T18:13:11+08:00
timestamp: timestamp # 时间戳: 1669716794
# Lua 配置:农历的触发关键字
lunar: lunar # 农历: 二〇二三年冬月二十 癸卯年(兔)冬月二十
# Lua 配置:为 corrector 格式化 comment占位符为 {comment}
# 默认 "{comment}" 输入 hun dun 时会在「馄饨」旁边生成 hún tun 的 comment
# 例如左右加个括号 "({comment})" 就会变成 (hún tun)
corrector: "{comment}"
# Lua 配置: 降低部分英语单词在候选项的位置。
# 详细介绍 https://dvel.me/posts/make-rime-en-better/#短单词置顶的问题
# 正常情况: 输入 rug 得到 「1.rug 2.如果 …… 」
# 降低之后: 输入 rug 得到 「1.如果 2.rug …… 」
# 几种模式:
# all 降低脚本内置的单词(所有 3~4 位长度、前 2~3 位是完整拼音、最后一位是声母words 作为自定义的额外补充
# custom 完全自定义,只降低 words 里的
# none 不降低任何单词,相当于没有启用这个 Lua
# (匹配的是编码,不是单词)
reduce_english_filter:
mode: custom # all | custom | none
idx: 2 # 降低到第 idx 个位置
# 自定义的单词列表,示例列表没有降低部分常用单词,如 and cat mail Mac but bad shit ……
words: [
aid, ann,
bail, bait, bam, band, bans, bat, bay, bend, bent, benz, bib, bid, bien, biz, boc, bop, bos, bud, buf, bach, bench, bush,
cab, cad, cain, cam, cans, cap, cas, cef, chad, chan, chap, chef, cher, chew, chic, chin, chip, chit, coup, cum, cunt, cur, couch,
dab, dag, dal, dam, dent, dew, dial, diet, dim, din, dip, dis, dit, doug, dub, dug, dunn,
fab, fax, fob, fog, foul, fur,
gag, gail, gain, gal, gam, gaol, ged, gel, ger, guam, gus, gut,
hail, ham, hank, hans, hat, hay, heil, heir, hem, hep, hud, hum, hung, hunk, hut, hush,
jim, jug,
kat,
lab, lad, lag, laid, lam, laos, lap, lat, lax, lay, led, leg, lex, liam, lib, lid, lied, lien, lies, linn, lip, lit, liz, lob, lug, lund, lung, lux, lash, loch, lush,
mag, maid, mann, mar, mat, med, mel, mend, mens, ment, mil, mins, mint, mob, moc, mop, mos, mot, mud, mug, mum, mesh,
nap, nat, nay, neil, nib, nip, noun, nous, nun, nut, nail, nash,
pac, paid, pail, pain, pair, pak, pal, pam, pans, pant, pap, par, pat, paw, pax, pens, pic, pier, pies, pins, pint, pit, pix, pod, pop, pos, pot, pour, pow, pub, pinch, pouch,
rand, rant, rent, rep, res, ret, rex, rib, rid, rig, rim, rub, rug, rum, runc, runs, ranch,
sac, sail, sal, sam, sans, sap, saw, sax, sew, sham, shaw, shin, sig, sin, sip, sis, suit, sung, suns, sup, sur, sus,
tad, tail, taj, tar, tax, tec, ted, tel, ter, tex, tic, tied, tier, ties, tim, tin, tit, tour, tout, tum,
wag, wand, womens, wap, wax, weir, won,
yan, yen,
zach
]
# Lua 配置: 置顶候选项
# 注释太长了,请参考 pin_cand_filter.lua 开头的说明书。
pin_cand_filter:
# 格式:编码<Tab>字词1<Space>字词2……
- d 的
# 主翻译器,拼音
translator:
dictionary: rime_frost # 挂载词库 rime_frost.dict.yaml
prism: rime_frost_double_pinyin_abc # 多方案共用一个词库时,为避免冲突,需要用 prism 指定一个名字。
spelling_hints: 8 # corrector.lua :为了让错音错字提示的 Lua 同时适配全拼双拼,将拼音显示在 comment 中
always_show_comments: true # corrector.lua Rime 默认在 preedit 等于 comment 时取消显示 comment这里强制一直显示供 corrector.lua 做判断用。
initial_quality: 1.2 # 拼音的权重应该比英文大
comment_format: # 标记拼音注释,供 corrector.lua 做判断用
- xform/^//
- xform/$//
preedit_format: # preedit_format 影响到输入框的显示和“Shift+回车”上屏的字符
- xform/o(\w)/0$1/
- xform/(\w)q/$1ei/
- xform/(\w)n/$1un/
- xform/(\w)g/$1eng/
- xform/(\w)w/$1ian/
- xform/([dtnljqx])r/$1iu/
- xform/0r/0er/
- xform/([nljqxb])t/$1iang/
- xform/(\w)t/$1uang/
- xform/(\w)y/$1ing/
- xform/([dtnlgkhaevrzcs])o/$1uo/
- xform/(\w)p/$1uan/
- xform/([jqx])s/$1iong/
- xform/(\w)s/$1ong/
- xform/([gkhaevrzcs])d/$1ua/
- xform/(\w)d/$1ia/
- xform/(\w)f/$1en/
- xform/(\w)h/$1ang/
- xform/(\w)j/$1an/
- xform/(\w)k/$1ao/
- xform/(\w)l/$1ai/
- xform/(\w)z/$1iao/
- xform/(\w)x/$1ie/
- xform/([gkhaev])c/$1uai/
- xform/(\w)c/$1in/
- xform/(\w)b/$1ou/
- xform/([nl])m/$1ve/
- xform/([jqxy])m/$1ue/
- xform/(\w)m/$1ui/
- "xform/(^|[ '])a/$1zh/"
- "xform/(^|[ '])e/$1ch/"
- "xform/(^|[ '])v/$1sh/"
- xform/0(\w)/$1/
- xform/([nl])v/$1ü/
- xform/([jqxy])v/$1u/
- xform/ü/v/ # ü 显示为 v
# 次翻译器,英文
melt_eng:
dictionary: melt_eng # 挂载词库 melt_eng.dict.yaml
enable_sentence: false # 禁止造句
enable_user_dict: false # 禁用用户词典
initial_quality: 1.1 # 初始权重
comment_format: # 自定义提示码
- xform/.*// # 清空提示码
# 中英混合词汇
cn_en:
dictionary: ""
user_dict: en_dicts/cn_en_abc
db_class: stabledb
enable_completion: true
enable_sentence: false
initial_quality: 0.5
comment_format:
- xform/^.+$//
# 自定义短语
custom_phrase:
dictionary: ""
user_dict: custom_phrase_double # 需要手动创建 custom_phrase_double.txt 文件
db_class: stabledb
enable_completion: false # 补全提示
enable_sentence: false # 禁止造句
initial_quality: 99 # custom_phrase 的权重应该比 pinyin 和 melt_eng 大
# Emoji
emoji:
option_name: emoji
opencc_config: emoji.json
inherit_comment: false # 在 corrector.lua 及反查中emoji 返回空注释
# 简繁切换
traditionalize:
option_name: traditionalization
opencc_config: s2t.json # s2t.json | s2hk.json | s2tw.json | s2twp.json
tips: none # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。
tags: [ abc, number, gregorian_to_lunar ] # 限制在对应 tag不对其他如反查的内容做简繁转换
# 标点符号
# punctuator 下面有三个子项:
# full_shape 全角标点映射
# half_shape 半角标点映射
# symbols Rime 的预设配置是以 '/' 前缀开头输出一系列字符
punctuator:
full_shape:
__include: default:/punctuator/full_shape # 从 default.yaml 导入配置
half_shape:
__include: default:/punctuator/half_shape # 从 default.yaml 导入配置
symbols:
__include: symbols_v:/symbols # 从 symbols_v.yaml 导入配置
# 部件拆字反查
radical_lookup:
tag: radical_lookup
dictionary: radical_pinyin
enable_user_dict: false
prefix: "uU" # 反查前缀(反查时前缀会消失影响打英文所以设定为两个字母,或可改成一个非字母符号),与 recognizer/patterns/radical_lookup 匹配
tips: " 〔拆字〕"
comment_format:
- erase/^.*$//
# 部件拆字滤镜
radical_reverse_lookup:
tags: [ radical_lookup ]
# dictionary 为拼音标注来源。目前是显示本方案词库的注音,可去部件拆字方案下载更全的、带声调的、已编译好的词典
# https://github.com/mirtlecn/rime-radical-pinyin?tab=readme-ov-file#%E5%8F%8D%E6%9F%A5%E5%B8%A6%E5%A3%B0%E8%B0%83%E6%B3%A8%E9%9F%B3
dictionary: rime_frost
# comment_format: # 自定义 comment例如在左右加上括号
# - xform/^/(/
# - xform/$/)/
# 处理符合特定规则的输入码,如网址、反查
recognizer:
import_preset: default # 从 default.yaml 继承通用的
patterns: # 再增加方案专有的:
punct: "^/([0-9]|10|[A-Za-z]+)$" # 响应 symbols_v.yaml 的 symbols
radical_lookup: "^uU[a-z]+$" # 响应部件拆字的反查,与 radical_lookup/prefix 匹配
unicode: "^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀,响应 lua_translator@*unicode输出 Unicode 字符
number: "^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀,响应 lua_translator@*number_translator数字金额大写
gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@*lunar公历转农历输入 N20240115 得到「二〇二三年腊月初五」
calculator: "^V.*$" #计算器功能引导
# 从 default 继承快捷键
key_binder:
import_preset: default # 从 default.yaml 继承通用的
aux_code_trigger: "`" # 辅码引导符,要添加到 speller/alphabet
# bindings: # 也可以再增加方案专有的
# 拼写设定
speller:
# 如果不想让什么标点直接上屏,可以加在 alphabet或者编辑标点符号为两个及以上的映射
alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA`/
# initials 定义仅作为始码的按键,排除 ` 让单个的 ` 可以直接上屏
initials: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
delimiter: " '" # 第一位<空格>是拼音之间的分隔符;第二位<'>表示可以手动输入单引号来分割拼音。
algebra:
- erase/^xx$/
- xform/^zh/Ⓐ/
- xform/^ch/Ⓔ/
- xform/^sh/Ⓥ/
- xform/^([aoe].*)$/Ⓞ$1/
- xform/ei$/Ⓠ/
- xform/ian$/Ⓦ/
- xform/er$|iu$/Ⓡ/
- xform/[iu]ang$/Ⓣ/
- xform/ing$/Ⓨ/
- xform/uo$/Ⓞ/
- xform/uan$/Ⓟ/
- xform/(.)i?ong$/$1Ⓢ/
- xform/[iu]a$/Ⓓ/
- xform/en$/Ⓕ/
- xform/eng$/Ⓖ/
- xform/ang$/Ⓗ/
- xform/an$/Ⓙ/
- xform/iao$/Ⓩ/
- xform/ao$/Ⓚ/
- xform/in$|uai$/Ⓒ/
- xform/ai$/Ⓛ/
- xform/ie$/Ⓧ/
- xform/ou$/Ⓑ/
- xform/un$/Ⓝ/
- xform/[uv]e$|ui$/Ⓜ/
- xlit/ⓆⓌⒺⓇⓉⓎⓄⓅⒶⓈⒹⒻⒼⒽⒿⓀⓁⓏⓍⒸⓋⒷⓃⓂ/qwertyopasdfghjklzxcvbnm/
# - abbrev/^(.).+$/$1/ # 首字母简拼,开启后会导致 3 个字母时 kj'x 变成 k'jx 的问题

View File

@@ -0,0 +1,343 @@
# Rime schema
# encoding: utf-8
# 复制自 rime_frost.schema.yaml ,适配了双拼。
# 双拼键位映射复制自 https://github.com/rime/rime-double-pinyin
# 双拼之间主要就是 speller/algebra 和 translator/preedit_format 这里有区别。
#
# 全拼的自定义文本和双拼有些冲突,改成了 custom_phrase_double ,需要创建 custom_phrase_double.txt 文件。
#
# 目前配置中有个别功能仍然是全拼拼写,不能自动适配,所以需要手动修改一下:
# - 英文中部分符号的派生规则:在英文方案文件 melt_eng.schema.yaml > speller > algebra 修改为对应的双拼拼写运算
# - 部件拆字的拼写规则:在部件拆字方案 radical_pinyin.schema.yaml > speller > algebra 修改为对应的双拼拼写运算
# 打个补丁一劳永逸,补丁写法参考 [常见问题](https://github.com/iDvel/rime-ice/issues/133)
# 方案说明
schema:
schema_id: rime_frost_double_pinyin_flypy
name: 小鹤双拼
version: "1"
author:
- Dvel
description: |
雾凇拼音 - 小鹤双拼
https://github.com/iDvel/rime-ice
dependencies:
- melt_eng # 英文输入,作为次翻译器挂载到拼音方案
- radical_pinyin # 部件拆字,反查及辅码
# 开关
# reset: 默认状态。注释掉后,切换窗口时不会重置到默认状态。
# states: 方案选单显示的名称。可以注释掉,仍可以通过快捷键切换。
# abbrev: 默认的缩写取 states 的第一个字符abbrev 可自定义一个字符
switches:
- name: ascii_mode
states: [ 中, ]
- name: ascii_punct # 中英标点
states: [ ¥, $ ]
- name: traditionalization
states: [ 简, 繁 ]
- name: emoji
states: [ 💀, 😄 ]
reset: 1
- name: full_shape
states: [ 半角, 全角 ]
- name: search_single_char # search.lua 的功能开关,辅码查词时是否单字优先
abbrev: [词, 单]
states: [正常, 单字]
# 输入引擎
engine:
processors:
- lua_processor@*select_character # 以词定字
- ascii_composer
- recognizer
- key_binder
- speller
- punctuator
- selector
- navigator
- express_editor
segmentors:
- ascii_segmentor
- matcher
- abc_segmentor
- affix_segmentor@radical_lookup # 部件拆字自定义 tag
- punct_segmentor
- fallback_segmentor
translators:
- punct_translator
- script_translator
- lua_translator@*date_translator # 时间、日期、星期
- lua_translator@*lunar # 农历
- table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
- table_translator@melt_eng # 英文输入
- table_translator@cn_en # 中英混合词汇
- table_translator@radical_lookup # 部件拆字反查
- lua_translator@*unicode # Unicode
- lua_translator@*number_translator # 数字、金额大写
- lua_translator@*calculator # 计算器
- lua_translator@*force_gc # 暴力 GC
filters:
- lua_filter@*is_in_user_dict # 用户词典的词加上一个*
- lua_filter@*corrector # 错音错字提示
- reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜
- lua_filter@*autocap_filter # 英文自动大写
- lua_filter@*pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换)
- lua_filter@*reduce_english_filter # 降低部分英语单词在候选项的位置
- simplifier@emoji # Emoji
- simplifier@traditionalize # 简繁切换
- lua_filter@*aux_code # 墨奇辅助码
- uniquifier # 去重
# Lua 配置: 日期、时间、星期、ISO 8601、时间戳的触发关键字
date_translator:
date: date # 日期: 2022-11-29
time: time # 时间: 18:13
week: week # 星期: 星期二
datetime: datetime # ISO 8601 2022-11-29T18:13:11+08:00
timestamp: timestamp # 时间戳: 1669716794
# Lua 配置:农历的触发关键字
lunar: lunar # 农历: 二〇二三年冬月二十 癸卯年(兔)冬月二十
# Lua 配置:为 corrector 格式化 comment占位符为 {comment}
# 默认 "{comment}" 输入 hun dun 时会在「馄饨」旁边生成 hún tun 的 comment
# 例如左右加个括号 "({comment})" 就会变成 (hún tun)
corrector: "{comment}"
# Lua 配置: 降低部分英语单词在候选项的位置。
# 详细介绍 https://dvel.me/posts/make-rime-en-better/#短单词置顶的问题
# 正常情况: 输入 rug 得到 「1.rug 2.如果 …… 」
# 降低之后: 输入 rug 得到 「1.如果 2.rug …… 」
# 几种模式:
# all 降低脚本内置的单词(所有 3~4 位长度、前 2~3 位是完整拼音、最后一位是声母words 作为自定义的额外补充
# custom 完全自定义,只降低 words 里的
# none 不降低任何单词,相当于没有启用这个 Lua
# (匹配的是编码,不是单词)
reduce_english_filter:
mode: custom # all | custom | none
idx: 2 # 降低到第 idx 个位置
# 自定义的单词列表,示例列表没有降低部分常用单词,如 and cat mail Mac but bad shit ……
words: [
aid, ann,
bail, bait, bam, band, bans, bat, bay, bend, bent, benz, bib, bid, bien, biz, boc, bop, bos, bud, buf, bach, bench, bush,
cab, cad, cain, cam, cans, cap, cas, cef, chad, chan, chap, chef, cher, chew, chic, chin, chip, chit, coup, cum, cunt, cur, couch,
dab, dag, dal, dam, dent, dew, dial, diet, dim, din, dip, dis, dit, doug, dub, dug, dunn,
fab, fax, fob, fog, foul, fur,
gag, gail, gain, gal, gam, gaol, ged, gel, ger, guam, gus, gut,
hail, ham, hank, hans, hat, hay, heil, heir, hem, hep, hud, hum, hung, hunk, hut, hush,
jim, jug,
kat,
lab, lad, lag, laid, lam, laos, lap, lat, lax, lay, led, leg, lex, liam, lib, lid, lied, lien, lies, linn, lip, lit, liz, lob, lug, lund, lung, lux, lash, loch, lush,
mag, maid, mann, mar, mat, med, mel, mend, mens, ment, mil, mins, mint, mob, moc, mop, mos, mot, mud, mug, mum, mesh,
nap, nat, nay, neil, nib, nip, noun, nous, nun, nut, nail, nash,
pac, paid, pail, pain, pair, pak, pal, pam, pans, pant, pap, par, pat, paw, pax, pens, pic, pier, pies, pins, pint, pit, pix, pod, pop, pos, pot, pour, pow, pub, pinch, pouch,
rand, rant, rent, rep, res, ret, rex, rib, rid, rig, rim, rub, rug, rum, runc, runs, ranch,
sac, sail, sal, sam, sans, sap, saw, sax, sew, sham, shaw, shin, sig, sin, sip, sis, suit, sung, suns, sup, sur, sus,
tad, tail, taj, tar, tax, tec, ted, tel, ter, tex, tic, tied, tier, ties, tim, tin, tit, tour, tout, tum,
wag, wand, womens, wap, wax, weir, won,
yan, yen,
zach
]
# Lua 配置: 置顶候选项
# 注释太长了,请参考 pin_cand_filter.lua 开头的说明书。
pin_cand_filter:
# 格式:编码<Tab>字词1<Space>字词2……
- d 的
# 主翻译器,拼音
translator:
dictionary: rime_frost # 挂载词库 rime_frost.dict.yaml
prism: rime_frost_double_pinyin_flypy # 多方案共用一个词库时,为避免冲突,需要用 prism 指定一个名字。
spelling_hints: 8 # corrector.lua :为了让错音错字提示的 Lua 同时适配全拼双拼,将拼音显示在 comment 中
always_show_comments: true # corrector.lua Rime 默认在 preedit 等于 comment 时取消显示 comment这里强制一直显示供 corrector.lua 做判断用。
initial_quality: 1.2 # 拼音的权重应该比英文大
comment_format: # 标记拼音注释,供 corrector.lua 做判断用
- xform/^//
- xform/$//
preedit_format: # preedit_format 影响到输入框的显示和“Shift+回车”上屏的字符
- xform/([bpmfdtnljqx])n/$1iao/
- xform/(\w)g/$1eng/
- xform/(\w)q/$1iu/
- xform/(\w)w/$1ei/
- xform/([dtnlgkhjqxyvuirzcs])r/$1uan/
- xform/(\w)t/$1ve/
- xform/(\w)y/$1un/
- xform/([dtnlgkhvuirzcs])o/$1uo/
- xform/(\w)p/$1ie/
- xform/([jqx])s/$1iong/
- xform/(\w)s/$1ong/
- xform/(\w)d/$1ai/
- xform/(\w)f/$1en/
- xform/(\w)h/$1ang/
- xform/(\w)j/$1an/
- xform/([gkhvuirzcs])k/$1uai/
- xform/(\w)k/$1ing/
- xform/([jqxnlb])l/$1iang/
- xform/(\w)l/$1uang/
- xform/(\w)z/$1ou/
- xform/([gkhvuirzcs])x/$1ua/
- xform/(\w)x/$1ia/
- xform/(\w)c/$1ao/
- xform/([dtgkhvuirzcs])v/$1ui/
- xform/(\w)b/$1in/
- xform/(\w)m/$1ian/
- xform/([aoe])\1(\w)/$1$2/
- "xform/(^|[ '])v/$1zh/"
- "xform/(^|[ '])i/$1ch/"
- "xform/(^|[ '])u/$1sh/"
- xform/([jqxy])v/$1u/
- xform/([nl])v/$1ü/
- xform/ü/v/ # ü 显示为 v
# 次翻译器,英文
melt_eng:
dictionary: melt_eng # 挂载词库 melt_eng.dict.yaml
enable_sentence: false # 禁止造句
enable_user_dict: false # 禁用用户词典
initial_quality: 1.1 # 初始权重
comment_format: # 自定义提示码
- xform/.*// # 清空提示码
# 中英混合词汇
cn_en:
dictionary: ""
user_dict: en_dicts/cn_en_flypy
db_class: stabledb
enable_completion: true
enable_sentence: false
initial_quality: 0.5
comment_format:
- xform/^.+$//
# 自定义短语
custom_phrase:
dictionary: ""
user_dict: custom_phrase_double # 需要手动创建 custom_phrase_double.txt 文件
db_class: stabledb
enable_completion: false # 补全提示
enable_sentence: false # 禁止造句
initial_quality: 99 # custom_phrase 的权重应该比 pinyin 和 melt_eng 大
# Emoji
emoji:
option_name: emoji
opencc_config: emoji.json
inherit_comment: false # 在 corrector.lua 及反查中emoji 返回空注释
# 简繁切换
traditionalize:
option_name: traditionalization
opencc_config: s2t.json # s2t.json | s2hk.json | s2tw.json | s2twp.json
tips: none # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。
tags: [ abc, number, gregorian_to_lunar ] # 限制在对应 tag不对其他如反查的内容做简繁转换
# 标点符号
# punctuator 下面有三个子项:
# full_shape 全角标点映射
# half_shape 半角标点映射
# symbols Rime 的预设配置是以 '/' 前缀开头输出一系列字符
punctuator:
full_shape:
__include: default:/punctuator/full_shape # 从 default.yaml 导入配置
half_shape:
__include: default:/punctuator/half_shape # 从 default.yaml 导入配置
symbols:
__include: symbols_v:/symbols # 从 symbols_v.yaml 导入配置
# 部件拆字反查
radical_lookup:
tag: radical_lookup
dictionary: radical_pinyin
enable_user_dict: false
prefix: "uU" # 反查前缀(反查时前缀会消失影响打英文所以设定为两个字母,或可改成一个非字母符号),与 recognizer/patterns/radical_lookup 匹配
tips: " 〔拆字〕"
comment_format:
- erase/^.*$//
# 部件拆字滤镜
radical_reverse_lookup:
tags: [ radical_lookup ]
# dictionary 为拼音标注来源。目前是显示本方案词库的注音,可去部件拆字方案下载更全的、带声调的、已编译好的词典
# https://github.com/mirtlecn/rime-radical-pinyin?tab=readme-ov-file#%E5%8F%8D%E6%9F%A5%E5%B8%A6%E5%A3%B0%E8%B0%83%E6%B3%A8%E9%9F%B3
dictionary: rime_frost
# comment_format: # 自定义 comment例如在左右加上括号
# - xform/^/(/
# - xform/$/)/
# 处理符合特定规则的输入码,如网址、反查
recognizer:
import_preset: default # 从 default.yaml 继承通用的
patterns: # 再增加方案专有的:
punct: "^/([0-9]|10|[A-Za-z]+)$" # 响应 symbols_v.yaml 的 symbols
radical_lookup: "^uU[a-z]+$" # 响应部件拆字的反查,与 radical_lookup/prefix 匹配
unicode: "^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀,响应 lua_translator@*unicode输出 Unicode 字符
number: "^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀,响应 lua_translator@*number_translator数字金额大写
gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@*lunar公历转农历输入 N20240115 得到「二〇二三年腊月初五」
calculator: "^V.*$" #计算器功能引导
# 从 default 继承快捷键
key_binder:
import_preset: default # 从 default.yaml 继承通用的
aux_code_trigger: "`" # 辅码引导符,要添加到 speller/alphabet
# bindings: # 也可以再增加方案专有的
# 拼写设定
speller:
# 如果不想让什么标点直接上屏,可以加在 alphabet或者编辑标点符号为两个及以上的映射
alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA`/
# initials 定义仅作为始码的按键,排除 ` 让单个的 ` 可以直接上屏
initials: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
delimiter: " '" # 第一位<空格>是拼音之间的分隔符;第二位<'>表示可以手动输入单引号来分割拼音。
algebra:
- erase/^xx$/
- derive/^([jqxy])u$/$1v/
- derive/^([aoe])([ioun])$/$1$1$2/
- xform/^([aoe])(ng)?$/$1$1$2/
- xform/iu$/Ⓠ/
- xform/(.)ei$/$1Ⓦ/
- xform/uan$/Ⓡ/
- xform/[uv]e$/Ⓣ/
- xform/un$/Ⓨ/
- xform/^sh/Ⓤ/
- xform/^ch/Ⓘ/
- xform/^zh/Ⓥ/
- xform/uo$/Ⓞ/
- xform/ie$/Ⓟ/
- xform/(.)i?ong$/$1Ⓢ/
- xform/ing$|uai$/Ⓚ/
- xform/(.)ai$/$1Ⓓ/
- xform/(.)en$/$1Ⓕ/
- xform/(.)eng$/$1Ⓖ/
- xform/[iu]ang$/Ⓛ/
- xform/(.)ang$/$1Ⓗ/
- xform/ian$/Ⓜ/
- xform/(.)an$/$1Ⓙ/
- xform/(.)ou$/$1Ⓩ/
- xform/[iu]a$/Ⓧ/
- xform/iao$/Ⓝ/
- xform/(.)ao$/$1Ⓒ/
- xform/ui$/Ⓥ/
- xform/in$/Ⓑ/
- xlit/ⓆⓌⓇⓉⓎⓊⒾⓄⓅⓈⒹⒻⒼⒽⒿⓀⓁⓏⓍⒸⓋⒷⓃⓂ/qwrtyuiopsdfghjklzxcvbnm/
# - abbrev/^(.).+$/$1/ # 首字母简拼,开启后会导致 3 个字母时 kj'x 变成 k'jx 的问题

View File

@@ -0,0 +1,349 @@
# Rime schema
# encoding: utf-8
# 复制自 rime_frost.schema.yaml ,适配了双拼。
# 双拼键位映射复制自 https://github.com/rime/rime-double-pinyin
# 双拼之间主要就是 speller/algebra 和 translator/preedit_format 这里有区别。
#
# 全拼的自定义文本和双拼有些冲突,改成了 custom_phrase_double ,需要创建 custom_phrase_double.txt 文件。
#
# 目前配置中有个别功能仍然是全拼拼写,不能自动适配,所以需要手动修改一下:
# - 英文中部分符号的派生规则:在英文方案文件 melt_eng.schema.yaml > speller > algebra 修改为对应的双拼拼写运算
# - 部件拆字的拼写规则:在部件拆字方案 radical_pinyin.schema.yaml > speller > algebra 修改为对应的双拼拼写运算
# 打个补丁一劳永逸,补丁写法参考 [常见问题](https://github.com/iDvel/rime-ice/issues/133)
# 方案说明
schema:
schema_id: rime_frost_double_pinyin_mspy
name: 微软双拼
version: "1"
author:
- Dvel
description: |
雾凇拼音 - 微软双拼
https://github.com/iDvel/rime-ice
dependencies:
- melt_eng # 英文输入,作为次翻译器挂载到拼音方案
- radical_pinyin # 部件拆字,反查及辅码
# 开关
# reset: 默认状态。注释掉后,切换窗口时不会重置到默认状态。
# states: 方案选单显示的名称。可以注释掉,仍可以通过快捷键切换。
# abbrev: 默认的缩写取 states 的第一个字符abbrev 可自定义一个字符
switches:
- name: ascii_mode
states: [ 中, ]
- name: ascii_punct # 中英标点
states: [ ¥, $ ]
- name: traditionalization
states: [ 简, 繁 ]
- name: emoji
states: [ 💀, 😄 ]
reset: 1
- name: full_shape
states: [ 半角, 全角 ]
- name: search_single_char # search.lua 的功能开关,辅码查词时是否单字优先
abbrev: [词, 单]
states: [正常, 单字]
# 输入引擎
engine:
processors:
- lua_processor@*select_character # 以词定字
- ascii_composer
- recognizer
- key_binder
- speller
- punctuator
- selector
- navigator
- express_editor
segmentors:
- ascii_segmentor
- matcher
- abc_segmentor
- affix_segmentor@radical_lookup # 部件拆字自定义 tag
- punct_segmentor
- fallback_segmentor
translators:
- punct_translator
- script_translator
- lua_translator@*date_translator # 时间、日期、星期
- lua_translator@*lunar # 农历
- table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
- table_translator@melt_eng # 英文输入
- table_translator@cn_en # 中英混合词汇
- table_translator@radical_lookup # 部件拆字反查
- lua_translator@*unicode # Unicode
- lua_translator@*number_translator # 数字、金额大写
- lua_translator@*force_gc # 暴力 GC
- lua_translator@*calculator # 计算器
filters:
- lua_filter@*is_in_user_dict # 用户词典的词加上一个*
- lua_filter@*corrector # 错音错字提示
- reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜
- lua_filter@*autocap_filter # 英文自动大写
- lua_filter@*pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换)
- lua_filter@*reduce_english_filter # 降低部分英语单词在候选项的位置
- simplifier@emoji # Emoji
- simplifier@traditionalize # 简繁切换
- lua_filter@*aux_code # 墨奇辅助码
- uniquifier # 去重
# Lua 配置: 日期、时间、星期、ISO 8601、时间戳的触发关键字
date_translator:
date: date # 日期: 2022-11-29
time: time # 时间: 18:13
week: week # 星期: 星期二
datetime: datetime # ISO 8601 2022-11-29T18:13:11+08:00
timestamp: timestamp # 时间戳: 1669716794
# Lua 配置:农历的触发关键字
lunar: lunar # 农历: 二〇二三年冬月二十 癸卯年(兔)冬月二十
# Lua 配置:为 corrector 格式化 comment占位符为 {comment}
# 默认 "{comment}" 输入 hun dun 时会在「馄饨」旁边生成 hún tun 的 comment
# 例如左右加个括号 "({comment})" 就会变成 (hún tun)
corrector: "{comment}"
# Lua 配置: 降低部分英语单词在候选项的位置。
# 详细介绍 https://dvel.me/posts/make-rime-en-better/#短单词置顶的问题
# 正常情况: 输入 rug 得到 「1.rug 2.如果 …… 」
# 降低之后: 输入 rug 得到 「1.如果 2.rug …… 」
# 几种模式:
# all 降低脚本内置的单词(所有 3~4 位长度、前 2~3 位是完整拼音、最后一位是声母words 作为自定义的额外补充
# custom 完全自定义,只降低 words 里的
# none 不降低任何单词,相当于没有启用这个 Lua
# (匹配的是编码,不是单词)
reduce_english_filter:
mode: custom # all | custom | none
idx: 2 # 降低到第 idx 个位置
# 自定义的单词列表,示例列表没有降低部分常用单词,如 and cat mail Mac but bad shit ……
words: [
aid, ann,
bail, bait, bam, band, bans, bat, bay, bend, bent, benz, bib, bid, bien, biz, boc, bop, bos, bud, buf, bach, bench, bush,
cab, cad, cain, cam, cans, cap, cas, cef, chad, chan, chap, chef, cher, chew, chic, chin, chip, chit, coup, cum, cunt, cur, couch,
dab, dag, dal, dam, dent, dew, dial, diet, dim, din, dip, dis, dit, doug, dub, dug, dunn,
fab, fax, fob, fog, foul, fur,
gag, gail, gain, gal, gam, gaol, ged, gel, ger, guam, gus, gut,
hail, ham, hank, hans, hat, hay, heil, heir, hem, hep, hud, hum, hung, hunk, hut, hush,
jim, jug,
kat,
lab, lad, lag, laid, lam, laos, lap, lat, lax, lay, led, leg, lex, liam, lib, lid, lied, lien, lies, linn, lip, lit, liz, lob, lug, lund, lung, lux, lash, loch, lush,
mag, maid, mann, mar, mat, med, mel, mend, mens, ment, mil, mins, mint, mob, moc, mop, mos, mot, mud, mug, mum, mesh,
nap, nat, nay, neil, nib, nip, noun, nous, nun, nut, nail, nash,
pac, paid, pail, pain, pair, pak, pal, pam, pans, pant, pap, par, pat, paw, pax, pens, pic, pier, pies, pins, pint, pit, pix, pod, pop, pos, pot, pour, pow, pub, pinch, pouch,
rand, rant, rent, rep, res, ret, rex, rib, rid, rig, rim, rub, rug, rum, runc, runs, ranch,
sac, sail, sal, sam, sans, sap, saw, sax, sew, sham, shaw, shin, sig, sin, sip, sis, suit, sung, suns, sup, sur, sus,
tad, tail, taj, tar, tax, tec, ted, tel, ter, tex, tic, tied, tier, ties, tim, tin, tit, tour, tout, tum,
wag, wand, womens, wap, wax, weir, won,
yan, yen,
zach
]
# Lua 配置: 置顶候选项
# 注释太长了,请参考 pin_cand_filter.lua 开头的说明书。
pin_cand_filter:
# 格式:编码<Tab>字词1<Space>字词2……
- d 的
# 主翻译器,拼音
translator:
dictionary: rime_frost # 挂载词库 rime_frost.dict.yaml
prism: rime_frost_double_pinyin_mspy # 多方案共用一个词库时,为避免冲突,需要用 prism 指定一个名字。
spelling_hints: 8 # corrector.lua :为了让错音错字提示的 Lua 同时适配全拼双拼,将拼音显示在 comment 中
always_show_comments: true # corrector.lua Rime 默认在 preedit 等于 comment 时取消显示 comment这里强制一直显示供 corrector.lua 做判断用。
initial_quality: 1.2 # 拼音的权重应该比英文大
comment_format: # 标记拼音注释,供 corrector.lua 做判断用
- xform/^//
- xform/$//
preedit_format: # preedit_format 影响到输入框的显示和“Shift+回车”上屏的字符
- xform/([aoe])(\w)/0$2/
- xform/([bpmnljqxy])n/$1in/
- xform/(\w)g/$1eng/
- xform/(\w)q/$1iu/
- xform/([gkhvuirzcs])w/$1ua/
- xform/(\w)w/$1ia/
- xform/([dtnlgkhjqxyvuirzcs])r/$1uan/
- xform/0r/er/
- xform/([dtgkhvuirzcs])v/$1ui/
- xform/(\w)v/$1ve/
- xform/(\w)t/$1ve/
- xform/([gkhvuirzcs])y/$1uai/
- xform/(\w)y/$1v/
- xform/([dtnlgkhvuirzcs])o/$1uo/
- xform/(\w)p/$1un/
- xform/([jqx])s/$1iong/
- xform/(\w)s/$1ong/
- xform/([jqxnlb])d/$1iang/
- xform/(\w)d/$1uang/
- xform/(\w)f/$1en/
- xform/(\w)h/$1ang/
- xform/(\w)j/$1an/
- xform/(\w)k/$1ao/
- xform/(\w)l/$1ai/
- xform/(\w)z/$1ei/
- xform/(\w)x/$1ie/
- xform/(\w)c/$1iao/
- xform/(\w)b/$1ou/
- xform/(\w)m/$1ian/
- xform/(\w);/$1ing/
- xform/0(\w)/$1/
- "xform/(^|[ '])v/$1zh/"
- "xform/(^|[ '])i/$1ch/"
- "xform/(^|[ '])u/$1sh/"
- xform/([jqxy])v/$1u/
- xform/([nl])v/$1ü/
- xform/ü/v/ # ü 显示为 v
# 次翻译器,英文
melt_eng:
dictionary: melt_eng # 挂载词库 melt_eng.dict.yaml
enable_sentence: false # 禁止造句
enable_user_dict: false # 禁用用户词典
initial_quality: 1.1 # 初始权重
comment_format: # 自定义提示码
- xform/.*// # 清空提示码
# 中英混合词汇
cn_en:
dictionary: ""
user_dict: en_dicts/cn_en_mspy
db_class: stabledb
enable_completion: true
enable_sentence: false
initial_quality: 0.5
comment_format:
- xform/^.+$//
# 自定义短语
custom_phrase:
dictionary: ""
user_dict: custom_phrase_double # 需要手动创建 custom_phrase_double.txt 文件
db_class: stabledb
enable_completion: false # 补全提示
enable_sentence: false # 禁止造句
initial_quality: 99 # custom_phrase 的权重应该比 pinyin 和 melt_eng 大
# Emoji
emoji:
option_name: emoji
opencc_config: emoji.json
inherit_comment: false # 在 corrector.lua 及反查中emoji 返回空注释
# 简繁切换
traditionalize:
option_name: traditionalization
opencc_config: s2t.json # s2t.json | s2hk.json | s2tw.json | s2twp.json
tips: none # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。
tags: [ abc, number, gregorian_to_lunar ] # 限制在对应 tag不对其他如反查的内容做简繁转换
# 标点符号
# punctuator 下面有三个子项:
# full_shape 全角标点映射
# half_shape 半角标点映射
# symbols Rime 的预设配置是以 '/' 前缀开头输出一系列字符
punctuator:
full_shape:
__include: default:/punctuator/full_shape # 从 default.yaml 导入配置
half_shape:
__include: default:/punctuator/half_shape # 从 default.yaml 导入配置
symbols:
__include: symbols_v:/symbols # 从 symbols_v.yaml 导入配置
# 部件拆字反查
radical_lookup:
tag: radical_lookup
dictionary: radical_pinyin
enable_user_dict: false
prefix: "uU" # 反查前缀(反查时前缀会消失影响打英文所以设定为两个字母,或可改成一个非字母符号),与 recognizer/patterns/radical_lookup 匹配
tips: " 〔拆字〕"
comment_format:
- erase/^.*$//
# 部件拆字滤镜
radical_reverse_lookup:
tags: [ radical_lookup ]
# dictionary 为拼音标注来源。目前是显示本方案词库的注音,可去部件拆字方案下载更全的、带声调的、已编译好的词典
# https://github.com/mirtlecn/rime-radical-pinyin?tab=readme-ov-file#%E5%8F%8D%E6%9F%A5%E5%B8%A6%E5%A3%B0%E8%B0%83%E6%B3%A8%E9%9F%B3
dictionary: rime_frost
# comment_format: # 自定义 comment例如在左右加上括号
# - xform/^/(/
# - xform/$/)/
# 处理符合特定规则的输入码,如网址、反查
recognizer:
import_preset: default # 从 default.yaml 继承通用的
patterns: # 再增加方案专有的:
punct: "^/([0-9]|10|[A-Za-z]+)$" # 响应 symbols_v.yaml 的 symbols
radical_lookup: "^uU[a-z;]+$" # 响应部件拆字的反查,与 radical_lookup/prefix 匹配
unicode: "^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀,响应 lua_translator@*unicode输出 Unicode 字符
number: "^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀,响应 lua_translator@*number_translator数字金额大写
gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@*lunar公历转农历输入 N20240115 得到「二〇二三年腊月初五」
calculator: "^V.*$" #计算器功能引导
# 从 default 继承快捷键
key_binder:
import_preset: default # 从 default.yaml 继承通用的
aux_code_trigger: "`" # 辅码引导符,要添加到 speller/alphabet
# bindings: # 也可以再增加方案专有的
# 拼写设定
speller:
# 如果不想让什么标点直接上屏,可以加在 alphabet或者编辑标点符号为两个及以上的映射
alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA;`/
# initials 定义仅作为始码的按键,排除 ` ; 让单个的 ` ; 可以直接上屏
initials: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
delimiter: " '" # 第一位<空格>是拼音之间的分隔符;第二位<'>表示可以手动输入单引号来分割拼音。
algebra:
- erase/^xx$/
- derive/^([jqxy])u$/$1v/
- derive/^([aoe].*)$/o$1/
- xform/^([ae])(.*)$/$1$1$2/
- xform/iu$/Ⓠ/
- xform/[iu]a$/Ⓦ/
- xform/er$|[uv]an$/Ⓡ/
- xform/[uv]e$/Ⓣ/
- xform/v$|uai$/Ⓨ/
- xform/^sh/Ⓤ/
- xform/^ch/Ⓘ/
- xform/^zh/Ⓥ/
- xform/uo$/Ⓞ/
- xform/[uv]n$/Ⓟ/
- xform/(.)i?ong$/$1Ⓢ/
- xform/[iu]ang$/Ⓓ/
- xform/(.)en$/$1Ⓕ/
- xform/(.)eng$/$1Ⓖ/
- xform/(.)ang$/$1Ⓗ/
- xform/ian$/Ⓜ/
- xform/(.)an$/$1Ⓙ/
- xform/iao$/Ⓒ/
- xform/(.)ao$/$1Ⓚ/
- xform/(.)ai$/$1Ⓛ/
- xform/(.)ei$/$1Ⓩ/
- xform/ie$/Ⓧ/
- xform/ui$/Ⓥ/
- derive/Ⓣ$/Ⓥ/
- xform/(.)ou$/$1Ⓑ/
- xform/in$/Ⓝ/
- xform/ing$/;/
- xlit/ⓆⓌⓇⓉⓎⓊⒾⓄⓅⓈⒹⒻⒼⒽⓂⒿⒸⓀⓁⓏⓍⓋⒷⓃ/qwrtyuiopsdfghmjcklzxvbn/
# - abbrev/^(.).+$/$1/ # 首字母简拼,开启后会导致 3 个字母时 kj'x 变成 k'jx 的问题

View File

@@ -0,0 +1,348 @@
# Rime schema
# encoding: utf-8
# 复制自 rime_frost.schema.yaml ,适配了双拼。
# 双拼键位映射复制自 https://github.com/rime/rime-double-pinyin
# 双拼之间主要就是 speller/algebra 和 translator/preedit_format 这里有区别。
#
# 全拼的自定义文本和双拼有些冲突,改成了 custom_phrase_double ,需要创建 custom_phrase_double.txt 文件。
#
# 目前配置中有个别功能仍然是全拼拼写,不能自动适配,所以需要手动修改一下:
# - 英文中部分符号的派生规则:在英文方案文件 melt_eng.schema.yaml > speller > algebra 修改为对应的双拼拼写运算
# - 部件拆字的拼写规则:在部件拆字方案 radical_pinyin.schema.yaml > speller > algebra 修改为对应的双拼拼写运算
# 打个补丁一劳永逸,补丁写法参考 [常见问题](https://github.com/iDvel/rime-ice/issues/133)
# 方案说明
schema:
schema_id: rime_frost_double_pinyin_sogou
name: 搜狗双拼
version: "1"
author:
- Dvel
description: |
雾凇拼音 - 搜狗双拼
https://github.com/iDvel/rime-ice
dependencies:
- melt_eng # 英文输入,作为次翻译器挂载到拼音方案
- radical_pinyin # 部件拆字,反查及辅码
# 开关
# reset: 默认状态。注释掉后,切换窗口时不会重置到默认状态。
# states: 方案选单显示的名称。可以注释掉,仍可以通过快捷键切换。
# abbrev: 默认的缩写取 states 的第一个字符abbrev 可自定义一个字符
switches:
- name: ascii_mode
states: [ 中, ]
- name: ascii_punct # 中英标点
states: [ ¥, $ ]
- name: traditionalization
states: [ 简, 繁 ]
- name: emoji
states: [ 💀, 😄 ]
reset: 1
- name: full_shape
states: [ 半角, 全角 ]
- name: search_single_char # search.lua 的功能开关,辅码查词时是否单字优先
abbrev: [词, 单]
states: [正常, 单字]
# 输入引擎
engine:
processors:
- lua_processor@*select_character # 以词定字
- ascii_composer
- recognizer
- key_binder
- speller
- punctuator
- selector
- navigator
- express_editor
segmentors:
- ascii_segmentor
- matcher
- abc_segmentor
- affix_segmentor@radical_lookup # 部件拆字自定义 tag
- punct_segmentor
- fallback_segmentor
translators:
- punct_translator
- script_translator
- lua_translator@*date_translator # 时间、日期、星期
- lua_translator@*lunar # 农历
- table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
- table_translator@cn_en # 中英混合词汇
- table_translator@melt_eng # 英文输入
- table_translator@radical_lookup # 部件拆字反查
- lua_translator@*unicode # Unicode
- lua_translator@*number_translator # 数字、金额大写
- lua_translator@*force_gc # 暴力 GC
- lua_translator@*calculator # 计算器
filters:
- lua_filter@*is_in_user_dict # 用户词典的词加上一个*
- lua_filter@*corrector # 错音错字提示
- reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜
- lua_filter@*autocap_filter # 英文自动大写
- lua_filter@*pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换)
- lua_filter@*reduce_english_filter # 降低部分英语单词在候选项的位置
- simplifier@emoji # Emoji
- simplifier@traditionalize # 简繁切换
- lua_filter@*aux_code # 墨奇辅助码
- uniquifier # 去重
# Lua 配置: 日期、时间、星期、ISO 8601、时间戳的触发关键字
date_translator:
date: date # 日期: 2022-11-29
time: time # 时间: 18:13
week: week # 星期: 星期二
datetime: datetime # ISO 8601 2022-11-29T18:13:11+08:00
timestamp: timestamp # 时间戳: 1669716794
# Lua 配置:农历的触发关键字
lunar: lunar # 农历: 二〇二三年冬月二十 癸卯年(兔)冬月二十
# Lua 配置:为 corrector 格式化 comment占位符为 {comment}
# 默认 "{comment}" 输入 hun dun 时会在「馄饨」旁边生成 hún tun 的 comment
# 例如左右加个括号 "({comment})" 就会变成 (hún tun)
corrector: "{comment}"
# Lua 配置: 降低部分英语单词在候选项的位置。
# 详细介绍 https://dvel.me/posts/make-rime-en-better/#短单词置顶的问题
# 正常情况: 输入 rug 得到 「1.rug 2.如果 …… 」
# 降低之后: 输入 rug 得到 「1.如果 2.rug …… 」
# 几种模式:
# all 降低脚本内置的单词(所有 3~4 位长度、前 2~3 位是完整拼音、最后一位是声母words 作为自定义的额外补充
# custom 完全自定义,只降低 words 里的
# none 不降低任何单词,相当于没有启用这个 Lua
# (匹配的是编码,不是单词)
reduce_english_filter:
mode: custom # all | custom | none
idx: 2 # 降低到第 idx 个位置
# 自定义的单词列表,示例列表没有降低部分常用单词,如 and cat mail Mac but bad shit ……
words: [
aid, ann,
bail, bait, bam, band, bans, bat, bay, bend, bent, benz, bib, bid, bien, biz, boc, bop, bos, bud, buf, bach, bench, bush,
cab, cad, cain, cam, cans, cap, cas, cef, chad, chan, chap, chef, cher, chew, chic, chin, chip, chit, coup, cum, cunt, cur, couch,
dab, dag, dal, dam, dent, dew, dial, diet, dim, din, dip, dis, dit, doug, dub, dug, dunn,
fab, fax, fob, fog, foul, fur,
gag, gail, gain, gal, gam, gaol, ged, gel, ger, guam, gus, gut,
hail, ham, hank, hans, hat, hay, heil, heir, hem, hep, hud, hum, hung, hunk, hut, hush,
jim, jug,
kat,
lab, lad, lag, laid, lam, laos, lap, lat, lax, lay, led, leg, lex, liam, lib, lid, lied, lien, lies, linn, lip, lit, liz, lob, lug, lund, lung, lux, lash, loch, lush,
mag, maid, mann, mar, mat, med, mel, mend, mens, ment, mil, mins, mint, mob, moc, mop, mos, mot, mud, mug, mum, mesh,
nap, nat, nay, neil, nib, nip, noun, nous, nun, nut, nail, nash,
pac, paid, pail, pain, pair, pak, pal, pam, pans, pant, pap, par, pat, paw, pax, pens, pic, pier, pies, pins, pint, pit, pix, pod, pop, pos, pot, pour, pow, pub, pinch, pouch,
rand, rant, rent, rep, res, ret, rex, rib, rid, rig, rim, rub, rug, rum, runc, runs, ranch,
sac, sail, sal, sam, sans, sap, saw, sax, sew, sham, shaw, shin, sig, sin, sip, sis, suit, sung, suns, sup, sur, sus,
tad, tail, taj, tar, tax, tec, ted, tel, ter, tex, tic, tied, tier, ties, tim, tin, tit, tour, tout, tum,
wag, wand, womens, wap, wax, weir, won,
yan, yen,
zach
]
# Lua 配置: 置顶候选项
# 注释太长了,请参考 pin_cand_filter.lua 开头的说明书。
pin_cand_filter:
# 格式:编码<Tab>字词1<Space>字词2……
- d 的
# 主翻译器,拼音
translator:
dictionary: rime_frost # 挂载词库 rime_frost.dict.yaml
prism: rime_frost_double_pinyin_sogou # 多方案共用一个词库时,为避免冲突,需要用 prism 指定一个名字。
spelling_hints: 8 # corrector.lua :为了让错音错字提示的 Lua 同时适配全拼双拼,将拼音显示在 comment 中
always_show_comments: true # corrector.lua Rime 默认在 preedit 等于 comment 时取消显示 comment这里强制一直显示供 corrector.lua 做判断用。
initial_quality: 1.2 # 拼音的权重应该比英文大
comment_format: # 标记拼音注释,供 corrector.lua 做判断用
- xform/^//
- xform/$//
preedit_format: # preedit_format 影响到输入框的显示和“Shift+回车”上屏的字符
- xform/([aoe])(\w)/0$2/
- xform/([bpmnljqxy])n/$1in/
- xform/(\w)g/$1eng/
- xform/(\w)q/$1iu/
- xform/([gkhvuirzcs])w/$1ua/
- xform/(\w)w/$1ia/
- xform/([dtnlgkhjqxyvuirzcs])r/$1uan/
- xform/0r/er/
- xform/([dtgkhvuirzcs])v/$1ui/
- xform/(\w)v/$1ve/
- xform/(\w)t/$1ve/
- xform/([gkhvuirzcs])y/$1uai/
- xform/(\w)y/$1v/
- xform/([dtnlgkhvuirzcs])o/$1uo/
- xform/(\w)p/$1un/
- xform/([jqx])s/$1iong/
- xform/(\w)s/$1ong/
- xform/([jqxnlb])d/$1iang/
- xform/(\w)d/$1uang/
- xform/(\w)f/$1en/
- xform/(\w)h/$1ang/
- xform/(\w)j/$1an/
- xform/(\w)k/$1ao/
- xform/(\w)l/$1ai/
- xform/(\w)z/$1ei/
- xform/(\w)x/$1ie/
- xform/(\w)c/$1iao/
- xform/(\w)b/$1ou/
- xform/(\w)m/$1ian/
- xform/(\w);/$1ing/
- xform/0(\w)/$1/
- "xform/(^|[ '])v/$1zh/"
- "xform/(^|[ '])i/$1ch/"
- "xform/(^|[ '])u/$1sh/"
- xform/([jqxy])v/$1u/
- xform/([nl])v/$1ü/
- xform/ü/v/ # ü 显示为 v
# 次翻译器,英文
melt_eng:
dictionary: melt_eng # 挂载词库 melt_eng.dict.yaml
enable_sentence: false # 禁止造句
enable_user_dict: false # 禁用用户词典
initial_quality: 1.1 # 初始权重
comment_format: # 自定义提示码
- xform/.*// # 清空提示码
# 中英混合词汇
cn_en:
dictionary: ""
user_dict: en_dicts/cn_en_sogou
db_class: stabledb
enable_completion: true
enable_sentence: false
initial_quality: 0.5
comment_format:
- xform/^.+$//
# 自定义短语
custom_phrase:
dictionary: ""
user_dict: custom_phrase_double # 需要手动创建 custom_phrase_double.txt 文件
db_class: stabledb
enable_completion: false # 补全提示
enable_sentence: false # 禁止造句
initial_quality: 99 # custom_phrase 的权重应该比 pinyin 和 melt_eng 大
# Emoji
emoji:
option_name: emoji
opencc_config: emoji.json
inherit_comment: false # 在 corrector.lua 及反查中emoji 返回空注释
# 简繁切换
traditionalize:
option_name: traditionalization
opencc_config: s2t.json # s2t.json | s2hk.json | s2tw.json | s2twp.json
tips: none # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。
tags: [ abc, number, gregorian_to_lunar ] # 限制在对应 tag不对其他如反查的内容做简繁转换
# 标点符号
# punctuator 下面有三个子项:
# full_shape 全角标点映射
# half_shape 半角标点映射
# symbols Rime 的预设配置是以 '/' 前缀开头输出一系列字符。
punctuator:
full_shape:
__include: default:/punctuator/full_shape # 从 default.yaml 导入配置
half_shape:
__include: default:/punctuator/half_shape # 从 default.yaml 导入配置
symbols:
__include: symbols_v:/symbols # 从 symbols_v.yaml 导入配置
# 部件拆字反查
radical_lookup:
tag: radical_lookup
dictionary: radical_pinyin
enable_user_dict: false
prefix: "uU" # 反查前缀(反查时前缀会消失影响打英文所以设定为两个字母,或可改成一个非字母符号),与 recognizer/patterns/radical_lookup 匹配
tips: " 〔拆字〕"
comment_format:
- erase/^.*$//
# 部件拆字滤镜
radical_reverse_lookup:
tags: [ radical_lookup ]
# dictionary 为拼音标注来源。目前是显示本方案词库的注音,可去部件拆字方案下载更全的、带声调的、已编译好的词典
# https://github.com/mirtlecn/rime-radical-pinyin?tab=readme-ov-file#%E5%8F%8D%E6%9F%A5%E5%B8%A6%E5%A3%B0%E8%B0%83%E6%B3%A8%E9%9F%B3
dictionary: rime_frost
# comment_format: # 自定义 comment例如在左右加上括号
# - xform/^/(/
# - xform/$/)/
# 处理符合特定规则的输入码,如网址、反查
recognizer:
import_preset: default # 从 default.yaml 继承通用的
patterns: # 再增加方案专有的:
punct: "^/([0-9]|10|[A-Za-z]+)$" # 响应 symbols_v.yaml 的 symbols
radical_lookup: "^uU[a-z;]+$" # 响应部件拆字的反查,与 radical_lookup/prefix 匹配
unicode: "^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀,响应 lua_translator@*unicode输出 Unicode 字符
number: "^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀,响应 lua_translator@*number_translator数字金额大写
gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@*lunar公历转农历输入 N20240115 得到「二〇二三年腊月初五」
calculator: "^V.*$" #计算器功能引导
# 从 default 继承快捷键
key_binder:
import_preset: default # 从 default.yaml 继承通用的
aux_code_trigger: "`" # 辅码引导符,要添加到 speller/alphabet
# bindings: # 也可以再增加方案专有的
# 拼写设定
speller:
# 如果不想让什么标点直接上屏,可以加在 alphabet或者编辑标点符号为两个及以上的映射
alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA;`/
# initials 定义仅作为始码的按键,排除 ` ; 让单个的 ` ; 可以直接上屏
initials: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
delimiter: " '" # 第一位<空格>是拼音之间的分隔符;第二位<'>表示可以手动输入单引号来分割拼音。
algebra:
- erase/^xx$/
- derive/^([jqxy])u$/$1v/
- derive/^([aoe].*)$/o$1/
- xform/^([ae])(.*)$/$1$1$2/
- xform/iu$/Ⓠ/
- xform/[iu]a$/Ⓦ/
- xform/er$|[uv]an$/Ⓡ/
- xform/[uv]e$/Ⓣ/
- xform/v$|uai$/Ⓨ/
- xform/^sh/Ⓤ/
- xform/^ch/Ⓘ/
- xform/^zh/Ⓥ/
- xform/uo$/Ⓞ/
- xform/[uv]n$/Ⓟ/
- xform/(.)i?ong$/$1Ⓢ/
- xform/[iu]ang$/Ⓓ/
- xform/(.)en$/$1Ⓕ/
- xform/(.)eng$/$1Ⓖ/
- xform/(.)ang$/$1Ⓗ/
- xform/ian$/Ⓜ/
- xform/(.)an$/$1Ⓙ/
- xform/iao$/Ⓒ/
- xform/(.)ao$/$1Ⓚ/
- xform/(.)ai$/$1Ⓛ/
- xform/(.)ei$/$1Ⓩ/
- xform/ie$/Ⓧ/
- xform/ui$/Ⓥ/
- xform/(.)ou$/$1Ⓑ/
- xform/in$/Ⓝ/
- xform/ing$/;/
- xlit/ⓆⓌⓇⓉⓎⓊⒾⓄⓅⓈⒹⒻⒼⒽⓂⒿⒸⓀⓁⓏⓍⓋⒷⓃ/qwrtyuiopsdfghmjcklzxvbn/
# - abbrev/^(.).+$/$1/ # 首字母简拼,开启后会导致 3 个字母时 kj'x 变成 k'jx 的问题

View File

@@ -0,0 +1,343 @@
# Rime schema
# encoding: utf-8
# 复制自 rime_frost.schema.yaml ,适配了双拼。
# 双拼键位映射复制自 https://github.com/rime/rime-double-pinyin
# 双拼之间主要就是 speller/algebra 和 translator/preedit_format 这里有区别。
#
# 全拼的自定义文本和双拼有些冲突,改成了 custom_phrase_double ,需要创建 custom_phrase_double.txt 文件。
#
# 目前配置中有个别功能仍然是全拼拼写,不能自动适配,所以需要手动修改一下:
# - 英文中部分符号的派生规则:在英文方案文件 melt_eng.schema.yaml > speller > algebra 修改为对应的双拼拼写运算
# - 部件拆字的拼写规则:在部件拆字方案 radical_pinyin.schema.yaml > speller > algebra 修改为对应的双拼拼写运算
# 打个补丁一劳永逸,补丁写法参考 [常见问题](https://github.com/iDvel/rime-ice/issues/133)
# 方案说明
schema:
schema_id: rime_frost_double_pinyin_ziguang
name: 紫光双拼
version: "1"
author:
- Dvel
description: |
雾凇拼音 - 紫光双拼
https://github.com/iDvel/rime-ice
dependencies:
- melt_eng # 英文输入,作为次翻译器挂载到拼音方案
- radical_pinyin # 部件拆字,反查及辅码
# 开关
# reset: 默认状态。注释掉后,切换窗口时不会重置到默认状态。
# states: 方案选单显示的名称。可以注释掉,仍可以通过快捷键切换。
# abbrev: 默认的缩写取 states 的第一个字符abbrev 可自定义一个字符
switches:
- name: ascii_mode
states: [ 中, ]
- name: ascii_punct # 中英标点
states: [ ¥, $ ]
- name: traditionalization
states: [ 简, 繁 ]
- name: emoji
states: [ 💀, 😄 ]
reset: 1
- name: full_shape
states: [ 半角, 全角 ]
- name: search_single_char # search.lua 的功能开关,辅码查词时是否单字优先
abbrev: [词, 单]
states: [正常, 单字]
# 输入引擎
engine:
processors:
- lua_processor@*select_character # 以词定字
- ascii_composer
- recognizer
- key_binder
- speller
- punctuator
- selector
- navigator
- express_editor
segmentors:
- ascii_segmentor
- matcher
- abc_segmentor
- affix_segmentor@radical_lookup # 部件拆字自定义 tag
- punct_segmentor
- fallback_segmentor
translators:
- punct_translator
- script_translator
- lua_translator@*date_translator # 时间、日期、星期
- lua_translator@*lunar # 农历
- table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
- table_translator@melt_eng # 英文输入
- table_translator@cn_en # 中英混合词汇
- table_translator@radical_lookup # 部件拆字反查
- lua_translator@*unicode # Unicode
- lua_translator@*number_translator # 数字、金额大写
- lua_translator@*force_gc # 暴力 GC
- lua_translator@*calculator # 计算器
filters:
- lua_filter@*is_in_user_dict # 用户词典的词加上一个*
- lua_filter@*corrector # 错音错字提示
- reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜
- lua_filter@*autocap_filter # 英文自动大写
- lua_filter@*pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换)
- lua_filter@*reduce_english_filter # 降低部分英语单词在候选项的位置
- simplifier@emoji # Emoji
- simplifier@traditionalize # 简繁切换
- lua_filter@*aux_code # 墨奇辅助码
- uniquifier # 去重
# Lua 配置: 日期、时间、星期、ISO 8601、时间戳的触发关键字
date_translator:
date: date # 日期: 2022-11-29
time: time # 时间: 18:13
week: week # 星期: 星期二
datetime: datetime # ISO 8601 2022-11-29T18:13:11+08:00
timestamp: timestamp # 时间戳: 1669716794
# Lua 配置:农历的触发关键字
lunar: lunar # 农历: 二〇二三年冬月二十 癸卯年(兔)冬月二十
# Lua 配置:为 corrector 格式化 comment占位符为 {comment}
# 默认 "{comment}" 输入 hun dun 时会在「馄饨」旁边生成 hún tun 的 comment
# 例如左右加个括号 "({comment})" 就会变成 (hún tun)
corrector: "{comment}"
# Lua 配置: 降低部分英语单词在候选项的位置。
# 详细介绍 https://dvel.me/posts/make-rime-en-better/#短单词置顶的问题
# 正常情况: 输入 rug 得到 「1.rug 2.如果 …… 」
# 降低之后: 输入 rug 得到 「1.如果 2.rug …… 」
# 几种模式:
# all 降低脚本内置的单词(所有 3~4 位长度、前 2~3 位是完整拼音、最后一位是声母words 作为自定义的额外补充
# custom 完全自定义,只降低 words 里的
# none 不降低任何单词,相当于没有启用这个 Lua
# (匹配的是编码,不是单词)
reduce_english_filter:
mode: custom # all | custom | none
idx: 2 # 降低到第 idx 个位置
# 自定义的单词列表,示例列表没有降低部分常用单词,如 and cat mail Mac but bad shit ……
words: [
aid, ann,
bail, bait, bam, band, bans, bat, bay, bend, bent, benz, bib, bid, bien, biz, boc, bop, bos, bud, buf, bach, bench, bush,
cab, cad, cain, cam, cans, cap, cas, cef, chad, chan, chap, chef, cher, chew, chic, chin, chip, chit, coup, cum, cunt, cur, couch,
dab, dag, dal, dam, dent, dew, dial, diet, dim, din, dip, dis, dit, doug, dub, dug, dunn,
fab, fax, fob, fog, foul, fur,
gag, gail, gain, gal, gam, gaol, ged, gel, ger, guam, gus, gut,
hail, ham, hank, hans, hat, hay, heil, heir, hem, hep, hud, hum, hung, hunk, hut, hush,
jim, jug,
kat,
lab, lad, lag, laid, lam, laos, lap, lat, lax, lay, led, leg, lex, liam, lib, lid, lied, lien, lies, linn, lip, lit, liz, lob, lug, lund, lung, lux, lash, loch, lush,
mag, maid, mann, mar, mat, med, mel, mend, mens, ment, mil, mins, mint, mob, moc, mop, mos, mot, mud, mug, mum, mesh,
nap, nat, nay, neil, nib, nip, noun, nous, nun, nut, nail, nash,
pac, paid, pail, pain, pair, pak, pal, pam, pans, pant, pap, par, pat, paw, pax, pens, pic, pier, pies, pins, pint, pit, pix, pod, pop, pos, pot, pour, pow, pub, pinch, pouch,
rand, rant, rent, rep, res, ret, rex, rib, rid, rig, rim, rub, rug, rum, runc, runs, ranch,
sac, sail, sal, sam, sans, sap, saw, sax, sew, sham, shaw, shin, sig, sin, sip, sis, suit, sung, suns, sup, sur, sus,
tad, tail, taj, tar, tax, tec, ted, tel, ter, tex, tic, tied, tier, ties, tim, tin, tit, tour, tout, tum,
wag, wand, womens, wap, wax, weir, won,
yan, yen,
zach
]
# Lua 配置: 置顶候选项
# 注释太长了,请参考 pin_cand_filter.lua 开头的说明书。
pin_cand_filter:
# 格式:编码<Tab>字词1<Space>字词2……
- d 的
# 主翻译器,拼音
translator:
dictionary: rime_frost # 挂载词库 rime_frost.dict.yaml
prism: rime_frost_double_pinyin_ziguang # 多方案共用一个词库时,为避免冲突,需要用 prism 指定一个名字。
spelling_hints: 8 # corrector.lua :为了让错音错字提示的 Lua 同时适配全拼双拼,将拼音显示在 comment 中
always_show_comments: true # corrector.lua Rime 默认在 preedit 等于 comment 时取消显示 comment这里强制一直显示供 corrector.lua 做判断用。
initial_quality: 1.2 # 拼音的权重应该比英文大
comment_format: # 标记拼音注释,供 corrector.lua 做判断用
- xform/^//
- xform/$//
preedit_format: # preedit_format 影响到输入框的显示和“Shift+回车”上屏的字符
- xform/o(\w)/0$1/ # 零聲母先改爲0以方便後面的轉換
- xform/([jqxy])n/$1ue/ # 提前轉換雙拼碼 n 和 g因爲轉換後的拼音裏就快要出現這兩個字母了那時將難以分辨出雙拼碼
- xform/([nl])n/$1ve/
- xform/([dtgkhzcsuai])n/$1ui/
- xform/([nljqxb])g/$1iang/
- xform/([gkhuai])g/$1uang/
- xform/(\w)w/$1en/
- xform/(\w)r/$1an/
- xform/(\w)t/$1eng/
- xform/([jqxylmnbp])y/$1in/
- xform/([zcsuaigkh])y/$1uai/
- xform/([dtnlgkhrzcsuai])o/$1uo/
- xform/(\w)q/$1ao/
- xform/(\w)p/$1ai/
- xform/(\w)s/$1ang/
- xform/(\w)d/$1ie/
- xform/(\w)f/$1ian/
- xform/([jqx])h/$1iong/
- xform/([dtnlgkhrzcsuai])h/$1ong/
- xform/0j/0er/
- xform/([dnlmjqx])j/$1iu/
- xform/(\w)k/$1ei/
- xform/(\w)l/$1uan/
- xform/(\w)z/$1ou/
- xform/([jqxl])x/$1ia/
- xform/([gkhuai])x/$1ua/
- xform/(\w);/$1ing/
- xform/(\w)b/$1iao/
- xform/(\w)m/$1un/
- "xform/(^|[ '])u/$1zh/" # 復原聲母音節開始處的雙拼字母a改寫爲zh其他位置的才真正是a
- "xform/(^|[ '])a/$1ch/"
- "xform/(^|[ '])i/$1sh/"
- xform/0(\w)/$1/ # 好了,現在可以把零聲母拿掉啦
- xform/([nljqxy])v/$1ü/ # 這樣纔是漢語拼音 :-)
- xform/ü/v/ # ü 显示为 v
# 次翻译器,英文
melt_eng:
dictionary: melt_eng # 挂载词库 melt_eng.dict.yaml
enable_sentence: false # 禁止造句
enable_user_dict: false # 禁用用户词典
initial_quality: 1.1 # 初始权重
comment_format: # 自定义提示码
- xform/.*// # 清空提示码
# 中英混合词汇
cn_en:
dictionary: ""
user_dict: en_dicts/cn_en_ziguang
db_class: stabledb
enable_completion: true
enable_sentence: false
initial_quality: 0.5
comment_format:
- xform/^.+$//
# 自定义短语
custom_phrase:
dictionary: ""
user_dict: custom_phrase_double # 需要手动创建 custom_phrase_double.txt 文件
db_class: stabledb
enable_completion: false # 补全提示
enable_sentence: false # 禁止造句
initial_quality: 99 # custom_phrase 的权重应该比 pinyin 和 melt_eng 大
# Emoji
emoji:
option_name: emoji
opencc_config: emoji.json
inherit_comment: false # 在 corrector.lua 及反查中emoji 返回空注释
# 简繁切换
traditionalize:
option_name: traditionalization
opencc_config: s2t.json # s2t.json | s2hk.json | s2tw.json | s2twp.json
tips: none # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。
tags: [ abc, number, gregorian_to_lunar ] # 限制在对应 tag不对其他如反查的内容做简繁转换
# 标点符号
# punctuator 下面有三个子项:
# full_shape 全角标点映射
# half_shape 半角标点映射
# symbols Rime 的预设配置是以 '/' 前缀开头输出一系列字符
punctuator:
full_shape:
__include: default:/punctuator/full_shape # 从 default.yaml 导入配置
half_shape:
__include: default:/punctuator/half_shape # 从 default.yaml 导入配置
symbols:
__include: symbols_v:/symbols # 从 symbols_v.yaml 导入配置
# 部件拆字反查
radical_lookup:
tag: radical_lookup
dictionary: radical_pinyin
enable_user_dict: false
prefix: "uU" # 反查前缀(反查时前缀会消失影响打英文所以设定为两个字母,或可改成一个非字母符号),与 recognizer/patterns/radical_lookup 匹配
tips: " 〔拆字〕"
comment_format:
- erase/^.*$//
# 部件拆字滤镜
radical_reverse_lookup:
tags: [ radical_lookup ]
# dictionary 为拼音标注来源。目前是显示本方案词库的注音,可去部件拆字方案下载更全的、带声调的、已编译好的词典
# https://github.com/mirtlecn/rime-radical-pinyin?tab=readme-ov-file#%E5%8F%8D%E6%9F%A5%E5%B8%A6%E5%A3%B0%E8%B0%83%E6%B3%A8%E9%9F%B3
dictionary: rime_frost
# comment_format: # 自定义 comment例如在左右加上括号
# - xform/^/(/
# - xform/$/)/
# 处理符合特定规则的输入码,如网址、反查
recognizer:
import_preset: default # 从 default.yaml 继承通用的
patterns: # 再增加方案专有的:
punct: "^/([0-9]|10|[A-Za-z]+)$" # 响应 symbols_v.yaml 的 symbols
radical_lookup: "^uU[a-z;]+$" # 响应部件拆字的反查,与 radical_lookup/prefix 匹配
unicode: "^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀,响应 lua_translator@*unicode输出 Unicode 字符
number: "^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀,响应 lua_translator@*number_translator数字金额大写
gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@*lunar公历转农历输入 N20240115 得到「二〇二三年腊月初五」
calculator: "^V.*$" #计算器功能引导
# 从 default 继承快捷键
key_binder:
import_preset: default # 从 default.yaml 继承通用的
aux_code_trigger: "`" # 辅码引导符,要添加到 speller/alphabet
# bindings: # 也可以再增加方案专有的
# 拼写设定
speller:
# 如果不想让什么标点直接上屏,可以加在 alphabet或者编辑标点符号为两个及以上的映射
alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA;`/
# initials 定义仅作为始码的按键,排除 ` ; 让单个的 ` ; 可以直接上屏
initials: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
delimiter: " '" # 第一位<空格>是拼音之间的分隔符;第二位<'>表示可以手动输入单引号来分割拼音。
algebra:
- erase/^xx$/
- derive/^([jqxy])u$/$1v/
- xform/^([aoe].*)$/Ⓞ$1/ # 添上固定的零聲母o先標記爲大寫O
- xform/en$/Ⓦ/
- xform/eng$/Ⓣ/
- xform/in$|uai$/Ⓨ/
- xform/^zh/Ⓤ/
- xform/^sh/Ⓘ/
- xform/uo$/Ⓞ/
- xform/ai$/Ⓟ/
- xform/^ch/Ⓐ/
- xform/[iu]ang$/Ⓖ/
- xform/ang$/Ⓢ/ # ang should be placed after iang/uang
- xform/ie$/Ⓓ/
- xform/ian$/Ⓕ/
- xform/(.)i?ong$/$1Ⓗ/
- xform/er$|iu$/Ⓙ/
- xform/ei$/Ⓚ/
- xform/uan$/Ⓛ/
- xform/ing$/;/
- xform/ou$/Ⓩ/
- xform/[iu]a$/Ⓧ/
- xform/iao$/Ⓑ/
- xform/ue$|ui$|ve$/Ⓝ/
- xform/un$/Ⓜ/
- xform/ao$/Ⓠ/ # ao should be placed after iao
- xform/an$/Ⓡ/ # an should be placed after uan/ian
- xlit/ⓌⓉⓎⓊⒾⓄⓅⒶⒼⓈⒹⒻⒽⒿⓀⓁⓏⓍⒷⓃⓂⓆⓇ/wtyuiopagsdfhjklzxbnmqr/
# - abbrev/^(.).+$/$1/ # 首字母简拼,开启后会导致 3 个字母时 kj'x 变成 k'jx 的问题

462
symbols_v.yaml Normal file
View File

@@ -0,0 +1,462 @@
# Rime's symbols
# encoding: utf-8
#
# copy from /Library/Input Methods/Squirrel.app/Contents/SharedSupport/symbols.yaml
#
# 原「/」模式 改为了「v」模式
# 映射的汉字改为简体,
# 一些韵母前四位顺序改为「一声、二声、三声、四声、其他...」如输入 va 得到 ā á ǎ à
#
# version: 2023-12-24
symbols:
#符号、电脑
'/fh': [ ©, ®, ℗, ℠, ™, ℡, ℻, ☇, ☈, ☉, ☊, ☋, ☌, ☍, ☎, ☏, ☐, ☑, ☒, ☓, ☕, ☖, ☗, ⛉, ⛊, ☘, ☙, ☚, ☛, ☜, ☝, ☞, ☟, ☠, ☡, ☢, ☣, ☤, ☥, ☦, ☧, ☨, ☩, ☪, ☫, ☬, ☭, ☮, ☯, ☸, ♨, ♰, ♱, ♲, ♳, ♴, ♵, ♶, ♷, ♸, ♹, ♺, ♻, ♼, ♽, ♾, ♿, ⚆, ⚇, ⚈, ⚉, ⚐, ⚑, ⚒, ⚓, ⚔, ⚕, ⚖, ⚗, ⚘, ⚙, ⚚, ⚛, ⚜, ⚝, ⚞, ⚟, ⚠, ⚡, ⚰, ⚱, ⚲, ⚳, ⚴, ⚵, ⚶, ⚷, ⚸, ⚹, ⚺, ⚻, ⚼, ⚽, ⚾, ⚿, ⛀, ⛁, ⛂, ⛃, ⛋, ⛌, ⛍, ⛎, ⛏, ⛐, ⛑, ⛒, ⛓, ⛔, ⛕, ⛖, ⛗, ⛘, ⛙, ⛚, ⛛, ⛜, ⛝, ⛞, ⛟, ⛠, ⛡, ⛢, ⛣, ⛨, ⛩, ⛪, ⛫, ⛬, ⛭, ⛮, ⛯, ⛰, ⛱, ⛲, ⛳, ⛴, ⛵, ⛶, ⛷, ⛸, ⛹, ⛺, ⛻, ⛼, ⛽, ⛾, ⛿ ]
'/dn': [ ❖, ⌘, ⌃, ⌥, ⎇, ⇧, ⇪, ␣, ⇥, ⇤, ↩, ⌅, ⌤, ⌫, ⌦, ⌧, ⎋, ⌨, ◁, ⌀, ⌖, ⌗, ⏏, ↖, ↘, ⇞, ⇟, ⌚, ⏰, ⏱, ⏲, ⏳, ⌛, ⌜, ⌝⌞⌟, ⍑, ⏩, ⏪, ⏫, ⏬, ⏭, ⏮, ⏯ ]
#象棋、麻将、色子、扑克
'/xq': [ ♔, ♕, ♖, ♗, ♘, ♙, ♚, ♛, ♜, ♝, ♞, ♟ ]
'/mj': [ 🀀, 🀁, 🀂, 🀃, 🀄, 🀅, 🀆, 🀇, 🀈, 🀉, 🀊, 🀋, 🀌, 🀍, 🀎, 🀏, 🀐, 🀑, 🀒, 🀓, 🀔, 🀕, 🀖, 🀗, 🀘, 🀙, 🀚, 🀛, 🀜, 🀝, 🀞, 🀟, 🀠, 🀡, 🀢, 🀣, 🀤, 🀥, 🀦, 🀧, 🀨, 🀩, 🀪, 🀫 ]
'/sz': [ ⚀, ⚁, ⚂, ⚃, ⚄, ⚅ ]
'/pk': [ ♠, ♥, ♣, ♦, ♤, ♡, ♧, ♢ ]
#表情
'/bq': [ ☻, ☺, ☹ ]
#天气
'/tq': [ ☀, ☁, ⛅, ⛈, ⛆, ☂, ☔, ☃, ⛄, ⛇ ]
#音乐
'/yy': [ 𝄞, ♩, ♪, ♫, ♬, ♭, ♮, ♯ ]
#两性
'/lx': [ ♂, ♀, ⚢, ⚣, ⚤, ⚥, ⚦, ⚧, ⚨, ⚩, ⚪, ⚫, ⚬, ⚭, ⚮, ⚯ ]
#八卦、八卦名、六十四卦、六十四卦名、太玄经
'/bg': [ ☰, ☱, ☲, ☳, ☴, ☵, ☶, ☷ ]
'/bgm': [ 乾, 兑, 离, 震, 巽, 坎, 艮, 坤 ]
'/lssg': [ ䷀, ䷁, ䷂, ䷃, ䷄, ䷅, ䷆, ䷇, ䷈, ䷉, ䷊, ䷋, ䷌, ䷍, ䷎, ䷏, ䷐, ䷑, ䷒, ䷓, ䷔, ䷕, ䷖, ䷗, ䷘, ䷙, ䷚, ䷛, ䷜, ䷝, ䷞, ䷟, ䷠, ䷡, ䷢, ䷣, ䷤, ䷥, ䷦, ䷧, ䷨, ䷩, ䷪, ䷫, ䷬, ䷭, ䷮, ䷯, ䷰, ䷱, ䷲, ䷳, ䷴, ䷵, ䷶, ䷷, ䷸, ䷹, ䷺, ䷻, ䷼, ䷽, ䷾, ䷿ ]
'/lssgm': [ 乾, 坤, 屯, 蒙, 需, 讼, 师, 比, 小畜, 履, 泰, 否, 同人, 大有, 谦, 豫, 随, 蛊, 临, 观, 噬嗑, 贲, 剥, 复, 无妄, 大畜, 颐, 大过, 坎, 离, 咸, 恒, 遯, 大壮, 晋, 明夷, 家人, 睽, 蹇, 解, 损, 益, 夬, 姤, 萃, 升, 困, 井, 革, 鼎, 震, 艮, 渐, 归妹, 丰, 旅, 巽, 兑, 涣, 节, 中孚, 小过, 既济, 未济 ]
'/txj': [ ⚊, ⚋, ⚌, ⚍, ⚎, ⚏, 𝌀, 𝌁, 𝌂, 𝌃, 𝌄, 𝌅, 𝌆, 𝌇, 𝌈, 𝌉, 𝌊, 𝌋, 𝌌, 𝌍, 𝌎, 𝌏, 𝌐, 𝌑, 𝌒, 𝌓, 𝌔, 𝌕, 𝌖, 𝌗, 𝌘, 𝌙, 𝌚, 𝌛, 𝌜, 𝌝, 𝌞, 𝌟, 𝌠, 𝌡, 𝌢, 𝌣, 𝌤, 𝌥, 𝌦, 𝌧, 𝌨, 𝌩, 𝌪, 𝌫, 𝌬, 𝌭, 𝌮, 𝌯, 𝌰, 𝌱, 𝌲, 𝌳, 𝌴, 𝌵, 𝌶, 𝌷, 𝌸, 𝌹, 𝌺, 𝌻, 𝌼, 𝌽, 𝌾, 𝌿, 𝍀, 𝍁, 𝍂, 𝍃, 𝍄, 𝍅, 𝍆, 𝍇, 𝍈, 𝍉, 𝍊, 𝍋, 𝍌, 𝍍, 𝍎, 𝍏, 𝍐, 𝍑, 𝍒, 𝍓, 𝍔, 𝍕, 𝍖 ]
#天体、星座、星座名、十二宫
'/tt': [ ☄, ☼, ☽, ☾, ☿, ♀, ♁, ♂, ♃, ♄, ♅, ♆, ♇ ]
'/xz': [ ♈, ♉, ♊, ♋, ♌, ♍, ♎, ♏, ♐, ♑, ♒, ♓ ]
'/xzm': [ 白羊座, 金牛座, 双子座, 巨蟹座, 狮子座, 室女座, 天秤座, 天蝎座, 人马座, 摩羯座, 宝瓶座, 双鱼座 ]
'/xzg': [ 白羊宫, 金牛宫, 双子宫, 巨蟹宫, 狮子宫, 室女宫, 天秤宫, 天蝎宫, 人马宫, 摩羯宫, 宝瓶宫, 双鱼宫 ]
#星号
'/xh': [ ★, ☆, ⛤, ⛥, ⛦, ⛧, ✡, ❋, ❊, ❉, ❈, ❇, ❆, ❅, ❄, ❃, ❂, ❁, ❀, ✿, ✾, ✽, ✼, ✻, ✺, ✹, ✸, ✷, ✶, ✵, ✴, ✳, ✲, ✱, ✰, ✯, ✮, ✭, ✬, ✫, ✪, ✩, ✧, ✦, ✥, ✤, ✣, ✢ ]
#方块
'/fk': [ ▀, ▁, ▂, ▃, ▄, ▅, ▆, ▇, █, ▉, ▊, ▋, ▌, ▍, ▎, ▏, ▐, ░, ▒, ▓, ▔, ▕, ▖, ▗, ▘, ▙, ▚, ▛, ▜, ▝, ▞, ▟ ]
#几何
'/jh': [ ■, □, ▢, ▣, ▤, ▥, ▦, ▧, ▨, ▩, ▪, ▫, ▬, ▭, ▮, ▯, ▰, ▱, ▲, △, ▴, ▵, ▶, ▷, ▸, ▹, ►, ▻, ▼, ▽, ▾, ▿, ◀, ◁, ◂, ◃, ◄, ◅, ◆, ◇, ◈, ◉, ◊, ○, ◌, ◍, ◎, ●, ◐, ◑, ◒, ◓, ◔, ◕, ◖, ◗, ◘, ◙, ◚, ◛, ◜, ◝, ◞, ◟, ◠, ◡, ◢, ◣, ◤, ◥, ◦, ◧, ◨, ◩, ◪, ◫, ◬, ◭, ◮, ◯, ◰, ◱, ◲, ◳, ◴, ◵, ◶, ◷, ◸, ◹, ◺, ◻, ◼, ◽, ◾, ◿ ]
#箭头
'/jt': [ ↑, ↓, ←, →, ↕, ↔, ↖, ↗, ↙, ↘, ↚, ↛, ↮, ↜, ↝, ↞, ↟, ↠, ↡, ↢, ↣, ↤, ↥, ↦, ↧, ↨, ↩, ↪, ↫, ↬, ↭, ↯, ↰, ↱, ↲, ↳, ↴, ↵, ↶, ↷, ↸, ↹, ↺, ↻, ↼, ↽, ↾, ↿, ⇀, ⇁, ⇂, ⇃, ⇄, ⇅, ⇆, ⇇, ⇈, ⇉, ⇊, ⇋, ⇌, ⇐, ⇍, ⇑, ⇒, ⇏, ⇓, ⇔, ⇎, ⇕, ⇖, ⇗, ⇘, ⇙, ⇚, ⇛, ⇜, ⇝, ⇞, ⇟, ⇠, ⇡, ⇢, ⇣, ⇤, ⇥, ⇦, ⇧, ⇨, ⇩, ⇪, ⇫, ⇬, ⇭, ⇮, ⇯, ⇰, ⇱, ⇲, ⇳, ⇴, ⇵, ⇶, ⇷, ⇸, ⇹, ⇺, ⇻, ⇼, ⇽, ➔, ➘, ➙, ➚, ➛, ➜, ➝, ➞, ➟, ➠, ➡, ➢, ➣, ➤, ➥, ➦, ➧, ➨, ➩, ➪, ➫, ➬, ➭, ➮, ➱, ➲, ➳, ➴, ➵, ➶, ➷, ➸, ➹, ➺, ➻, ➼, ➽, ➾ ]
#数学
'/sx': [ ±, ÷, ×, ∈, ∏, ∑, , , , ≮, , ≠, , ≯, , √, ∝, ∞, ∟, ∠, ∥, ∧, , ∩, , ∫, ∮, ∴, ∵, ∷, ∽, ≈, ≌, ≒, ≡, ≤, ≥, ≦, ≧, ⊕, ⊙, ⊥, ⊿, ㏑, ㏒ ]
#数字+圆v弧v点
'/szq': [ ⓪, ①, ②, ③, ④, ⑤, ⑥, ⑦, ⑧, ⑨, ⑩, ⑪, ⑫, ⑬, ⑭, ⑮, ⑯, ⑰, ⑱, ⑲, ⑳, ㉑, ㉒, ㉓, ㉔, ㉕, ㉖, ㉗, ㉘, ㉙, ㉚, ㉛, ㉜, ㉝, ㉞, ㉟, ㊱, ㊲, ㊳, ㊴, ㊵, ㊶, ㊷, ㊸, ㊹, ㊺, ㊻, ㊼, ㊽, ㊾, ㊿, ⓿, ❶, ❷, ❸, ❹, ❺, ❻, ❼, ❽, ❾, ❿, ⓫, ⓬, ⓭, ⓮, ⓯, ⓰, ⓱, ⓲, ⓳, ⓴ ]
'/szh': [ ⑴, ⑵, ⑶, ⑷, ⑸, ⑹, ⑺, ⑻, ⑼, ⑽, ⑾, ⑿, ⒀, ⒁, ⒂, ⒃, ⒄, ⒅, ⒆, ⒇ ]
'/szd': [ ⒈, ⒉, ⒊, ⒋, ⒌, ⒍, ⒎, ⒏, ⒐, ⒑, ⒒, ⒓, ⒔, ⒕, ⒖, ⒗, ⒘, ⒙, ⒚, ⒛ ]
#字母+圈v弧
'/zmq': [ ⓐ, Ⓐ, ⓑ, Ⓑ, ⓒ, Ⓒ, ⓓ, Ⓓ, ⓔ, Ⓔ, ⓕ, Ⓕ, ⓖ, Ⓖ, ⓗ, Ⓗ, ⓘ, Ⓘ, ⓙ, Ⓙ, ⓚ, Ⓚ, ⓛ, Ⓛ, ⓜ, Ⓜ, ⓝ, Ⓝ, ⓞ, Ⓞ, ⓟ, Ⓟ, ⓠ, Ⓠ, ⓡ, Ⓡ, ⓢ, Ⓢ, ⓣ, Ⓣ, ⓤ, Ⓤ, ⓥ, Ⓥ, ⓦ, Ⓦ, ⓧ, Ⓧ, ⓨ, Ⓨ, ⓩ, Ⓩ ]
'/zmh': [ ⒜, ⒝, ⒞, ⒟, ⒠, ⒡, ⒢, ⒣, ⒤, ⒥, ⒦, ⒧, ⒨, ⒩, ⒪, ⒫, ⒬, ⒭, ⒮, ⒯, ⒰, ⒱, ⒲, ⒳, ⒴, ⒵ ]
#数字、分数
'/0': [ 零, , ⁰, ₀, ⓪, ⓿ , ]
'/1': [ 一, 壹, ¹, ₁, , , ①, ➀, ❶, ➊, ⓵, ⑴, ⒈, , ㊀, ㈠, 弌, 壱, 幺, ㆒ ]
'/2': [ 二, 贰, ², ₂, Ⅱ, ⅱ, ②, ➁, ❷, ➋, ⓶, ⑵, ⒉, , ㊁, ㈡, 弍, 弐, 貮, 㒃, 㒳, 两, 俩, ㆓]
'/3': [ 三, 叁, ³, ₃, Ⅲ, ⅲ, ③, ➂, ❸, ➌, ⓷, ⑶, ⒊, , ㊂, ㈢, 参, 参, 叁, 弎, 仨, ㆔]
'/4': [ 四, 肆, ⁴, ₄, Ⅳ, ⅳ, ④, ➃, ❹, ➍, ⓸, ⑷, ⒋, , ㊃, ㈣, 亖]
'/5': [ 五, 伍, ⁵, ₅, , , ⑤, ➄, ❺, ➎, ⓹, ⑸, ⒌, , ㊄, ㈤, 㐅, 㠪, 𠄡 ]
'/6': [ 六, 陆, ⁶, ₆, Ⅵ, ⅵ, ⑥, ➅, ❻, ➏, ⓺, ⑹, ⒍, , ㊅, ㈥, ↅ]
'/7': [ 七, 柒, ⁷, ₇, Ⅶ, ⅶ, ⑦, ➆, ❼, ➐, ⓻, ⑺, ⒎, , ㊆, ㈦, 漆]
'/8': [ 八, 捌, ⁸, ₈, Ⅷ, ⅷ, ⑧, ➇, ❽, ➑, ⓼, ⑻, ⒏, , ㊇, ㈧ ]
'/9': [ 九, 玖, ⁹, ₉, Ⅸ, ⅸ, ⑨, ➈, ❾, ➒, ⓽, ⑼, ⒐, , ㊈, ㈨ ]
'/10': [ 十, 拾, ¹⁰, ₁₀, , , ⑩, ➉, ❿, ➓, ⓾, ⑽, ⒑, , ㊉, ㈩, 什 ]
'/fs': [ ⅟, ½, ↉, ⅓, ⅔, ¼, ⅕, ⅖, ⅗, ⅘, ⅙, ⅚, ⅐, ⅛, ⅜, ⅝, ⅞, ⅑, ⅒ ]
#苏州码
'/szm': [ 〡, 〢, 〣, 〤, 〥, 〦, 〧, 〨, 〩, 〸, 〹, 〺 ]
#罗马数字
'/lm': [ , ⅱ, ⅲ, ⅳ, , ⅵ, ⅶ, ⅷ, ⅸ, , ⅺ, ⅻ, , , , ⅿ ]
'/lmd': [ , Ⅱ, Ⅲ, Ⅳ, , Ⅵ, Ⅶ, Ⅷ, Ⅸ, , Ⅺ, Ⅻ, , , , ]
#拉丁
'/a': [ā, á, ǎ, à, ȁ, â, ă, ȃ, ȧ, ä, å, ã, ₐ, ᵃ, ª, ⱥ, ꬰ, ả, ą, ạ, ḁ, ẚ, ấ, ầ, ẫ, ẩ, ắ, ằ, ẵ, ẳ, ǡ, ǟ, ǻ, ậ, ặ, ᶏ, ɐ, ᵄ, ɑ, ᵅ, ᶐ, ɒ, ᶛ]
'/A': [Ā, Á, Ǎ, À, Ȁ, Â, Ă, Ȃ, Ȧ, Ä, Å, Ã, ᴀ, ᴬ, Ⱥ, Ả, Ą, Ạ, Ḁ, Ấ, Ầ, Ẫ, Ẩ, Ắ, Ằ, Ẵ, Ẳ, Ǡ, Ǟ, Ǻ, Ậ, Ặ, Ɐ, Ɑ, Ɒ ]
'/b': [ḃ, ḅ, ᵇ, ƀ, ƃ, ḇ, ɓ, ᵬ, ᶀ, ꞗ]
'/B': [Ḃ, Ḅ, ʙ, ᴃ, ᴮ, ᴯ, Ƀ, Ƃ, Ḇ, Ɓ, Ꞗ]
'/c': [ç, ć, č, ĉ, ċ, ᶜ, ȼ, ꞓ, ƈ, ḉ, ꞔ, ɕ, ᶝ, ꜿ]
'/C': [Ç, Ć, Č, Ĉ, Ċ, , Ȼ, Ꞓ, Ƈ, Ḉ, Ꜿ]
'/d': [ď, ḋ, ᵈ, đ, ƌ, ᵭ, ḑ, ḓ, ḏ, ḍ, ɖ, ɗ, ᶑ, ᶁ, ð, ᶞ, ꝱ, ʤ, ʣ, ʥ, ȡ, ƍ, dz, dž, ẟ]
'/D': [Ď, Ḋ, ᴅ, ᴆ, ᴰ, Đ, Ƌ, Ḑ, Ḓ, Ḏ, Ḍ, Ɖ, Ɗ, Ð, DZ, Dz, DŽ, Dž ]
'/e': [ē, é, ě, è, ȅ, ê, ĕ, ȇ, ė, ë, ẽ, ₑ, ᵉ, ɇ, ꬳ, ẻ, ȩ, ę, ḙ, ẹ, ḛ, ḗ, ḕ, ế, ề, ễ, ể, ḝ, ệ, ᶒ, ꬴ, ɘ, ə, ɚ, ᶕ, ɛ, ᵋ, ᶓ, ɜ, ᵌ, ᴈ, ᶟ, ɝ, ᶔ, ɞ, ʚ, ǝ, ₔ, ᵊ, ȝ, ⱸ]
'/E': [Ē, É, Ě, È, Ȅ, Ê, Ĕ, Ȇ, Ė, Ë, Ẽ, ᴇ, ᴱ, Ɇ, Ẻ, Ȩ, Ę, Ḙ, Ẹ, Ḛ, Ḗ, Ḕ, Ế, Ề, Ễ, Ể, Ḝ, Ệ, Ə, Ɛ, , Ǝ, ⱻ, ᴲ, Ȝ ]
'/f': [ḟ, ᶠ, ƒ, ᵮ, ᶂ, ]
'/F': [Ḟ, ꜰ, Ƒ, , ꟻ]
'/g': [ḡ, ǵ, ǧ, ĝ, ğ, ġ, ᵍ, ǥ, ꞡ, ģ, ɠ, ᵷ, , ɡ, ꬶ, ᶢ, ɣ, ˠ, ɤ, ᵹ]
'/G': [Ḡ, Ǵ, Ǧ, Ĝ, Ğ, Ġ, ʛ, ᴳ, Ǥ, Ꞡ, Ģ, Ɠ, Ɡ, Ɣ ]
'/h': [ĥ, ȟ, ḣ, ḧ, ͪ, ħ, ɦ, ʱ, ꜧ, ꭜ, ɧ, ḩ, ẖ, ḫ, ḥ, ⱨ, ꞕ, ɥ, ᶣ, ʮ, ʯ, ⱶ]
'/H': [Ĥ, Ȟ, Ḣ, Ḧ, ʜ, ᴴ, Ħ, Ɦ, Ꜧ, Ḩ, Ḫ, Ḥ, Ⱨ, Ɥ, Ⱶ]
'/i': [ī, í, ǐ, ì, ȉ, î, ĭ, ȋ, ï, ĩ, ᵢ, ı, ɨ, ᶤ, ỉ, į, ị, ḭ, ᴉ, ᵎ, ḯ, ᶖ, ɩ, ᶥ, ᵼ]
'/I': [Ī, Í, Ǐ, Ì, Ȉ, Î, Ĭ, Ȋ, Ï, Ĩ, ɪ, ᴵ, ᶦ, Ɨ, ᵻ, ᶧ, Ỉ, Į, Ị, Ḭ, Ḯ, ꟾ, Ɩ ]
'/j': [ĵ, ǰ, ⱼ, ʲ, ɉ, ȷ, ɟ, ᶡ, ʄ, ʝ, ᶨ]
'/J': [Ĵ, ᴊ, ᴶ, Ɉ, ]
'/k': [ḱ, ǩ, ₖ, ᵏ, ꝁ, ꝃ, ꞣ, ꝅ, ķ, ḵ, ḳ, ƙ, ᶄ, ⱪ, ʞ, ĸ]
'/K': [Ḱ, Ǩ, ᴋ, ᴷ, Ꝁ, Ꝃ, Ꞣ, Ꝅ, Ķ, Ḵ, Ḳ, Ƙ, Ⱪ, Ʞ ]
'/l': [ĺ, ˡ, ł, ꝉ, ƚ, ⱡ, ɫ, ꭞ, ꬸ, ɬ, ľ, ļ, ḻ, ḽ, ḷ, ŀ, ꝲ, ƛ, ᶅ, ᶪ, ɭ, ᶩ, ḹ, ꬷ, ꭝ, ꬹ, ȴ, ꝇ]
'/L': [Ĺ, ʟ, ᶫ, Ƚ, Ꝉ, Ł, ᴌ, Ⱡ, Ɫ, Ɬ, Ľ, Ļ, Ḻ, Ḽ, Ḷ, Ŀ, Ꝇ]
'/m': [ḿ, ṁ, ᵐ, ₘ, ṃ, ᵯ, ɱ, ᶬ, ꬺ, ᶆ, ꝳ, ɯ, ᵚ, ɰ, ᶭ, ᴟ]
'/M': [Ḿ, Ṁ, ᴍ, ᴹ, Ṃ, Ɱ, Ɯ, ꟽ, ꟿ ]
'/n': [ń, ň, ǹ, ṅ, ñ, ₙ, ⁿ, ɲ, ᶮ, ɳ, ᶯ, ȵ, ƞ, ŋ, ᵑ, ꬻ, ꬼ, ꝴ, ʼn, ꞥ, ņ, ṉ, ṋ, ṇ, ᵰ, ꞑ, ᶇ]
'/N': [Ń, Ň, Ǹ, Ṅ, Ñ, ɴ, ᴺ, ᴻ, ᶰ, Ɲ, Ƞ, Ŋ, Ņ, Ṉ, Ṋ, Ṇ, Ꞑ ]
'/o': [ō, ó, ǒ, ò, ő, ô, ŏ, ȯ, ö, õ, ₒ, ᵒ, º, ɔ, ᵓ, ᶗ, ꬿ, ø, ǫ, ọ, ơ, ɵ, ᶱ, , ᴒ, ᴓ, ꝋ, ꝍ, ṓ, ṑ, ố, ồ, ỗ, ổ, ȱ, ȫ, ȭ, ṍ, ṏ, ộ, ǭ, ǿ, ớ, ờ, ỡ, ở, ợ, ɷ, ⱺ, ᴖ, ᵔ, ᴗ, ᵕ]
'/O': [Ō, Ó, Ő, Ǒ, Ò, Ô, Ŏ, Ȯ, Ö, Õ, , ᴼ, Ɔ, ᴐ, Ø, Ǫ, Ọ, Ơ, Ɵ, Ꝋ, Ꝍ, Ṓ, Ṑ, Ố, Ồ, Ỗ, Ổ, Ȱ, Ȫ, Ȭ, Ṍ, Ṏ, Ộ, Ǭ, Ǿ, Ớ, Ờ, Ỡ, Ở, Ợ ]
'/p': [ṕ, ṗ, ᵖ, ᵽ, ꝑ, ᵱ, ƥ, ᶈ, ꝓ, ꝕ, ɸ, ᶲ, ⱷ ]
'/P': [Ṕ, Ṗ, ᴘ, ᴾ, Ᵽ, Ꝑ, Ƥ, Ꝓ, Ꝕ, ꟼ]
'/q': [ɋ, ꝗ, ꝙ, ʠ]
'/Q': [Ɋ, Ꝗ, Ꝙ ]
'/r': [ŕ, ř, ȑ, ȓ, ṙ, ᵣ, ɍ, ꞧ, ᵲ, ŗ, ṟ, ṛ, ṝ, ᵳ, ɽ, ᶉ, , , ꭊ, ꭉ, ꝵ, ꭋ, ꭌ, ɹ, ʴ, ɺ, ɻ, ʵ, ⱹ, ɼ, ʳ, ɾ, ɿ, ꝛ, ꝝ]
'/R': [Ŕ, Ř, Ȑ, Ȓ, Ṙ, ʀ, ᴙ, ᴿ, Ʀ, ꭆ, Ɍ, Ꞧ, Ŗ, Ṟ, Ṛ, Ṝ, Ɽ, ꝶ, ʶ, ʁ, , Ꝝ]
'/s': [Vs., 🆚, ś, ŝ, š, ṡ, ˢ, ʂ, ᶳ, ᵴ, ꞩ, ᶊ, ş, ṣ, ș, ȿ, ṥ, ṧ, ṩ, ʃ, ᶴ, ʆ, ᶘ, ʅ, ƪ, ß, ſ, ẛ, ẜ, ]
'/S': [Ś, Ŝ, Š, Ṡ, , Ꞩ, Ş, Ṣ, Ș, Ṥ, Ṧ, Ṩ, Ʃ, ẞ, ]
'/t': [ť, ṫ, ẗ, ᵗ, ₜ, ʈ, þ, ꝥ, ꝧ, ŧ, ⱦ, ţ, ṯ, ṱ, ṭ, ț, ƭ, ᵵ, ƫ, ᶵ, ʇ, ȶ, ꝷ]
'/T': [Ť, Ṫ, ᴛ, ᵀ, Ʈ, Þ, Ꝥ, Ꝧ, Ŧ, Ⱦ, Ţ, Ṯ, Ṱ, Ṭ, Ț, Ƭ, Ʇ ]
'/u': [ū, ú, ǔ, ù, ű, ȕ, û, ŭ, ȗ, ü, ǖ, ǘ, ǚ, ǜ, ů, ũ, ᵤ, ᵘ, ʉ, ᶶ, ủ, ų, ṷ, ụ, ṳ, ṵ, ư, ʊ, ᶷ, ᵿ, ᶙ, ṻ, ṹ, ứ, ừ, ữ, ử, ự, , ꭟ, , , ꭏ, ᴝ, ᵙ, ᴞ]
'/U': [Ū, Ú, Ű, Ǔ, Ù, Ȕ, Û, Ŭ, Ȗ, Ü, Ǖ, Ǘ, Ǚ, Ǜ, Ů, Ũ, , ᵁ, ᶸ, Ʉ, Ủ, Ų, Ṷ, Ụ, Ṳ, Ṵ, Ư, Ʊ, Ṻ, Ṹ, Ứ, Ừ, Ữ, Ử, Ự ]
'/v': [ü, ǖ, ǘ, ǚ, ǜ, ṽ, ᵛ, ᵥ, ṿ, ꝟ, ʋ, ᶹ, , ⱴ, ⱱ, ỽ, ʌ, ᶺ]
'/V': [Ü, Ǖ, Ǘ, Ǚ, Ǜ, Ṽ, , ⱽ, Ṿ, Ꝟ, Ʋ, Ỽ, Ʌ ]
'/w': [ẃ, ẁ, ŵ, ẇ, ẅ, ẘ, ʷ, ẉ, ƿ, ʍ, ⱳ]
'/W': [Ẃ, Ẁ, Ŵ, Ẇ, Ẅ, W̊, , ᵂ, Ẉ, Ƿ, Ⱳ]
'/x': [ẋ, ẍ, ᶍ, ˣ, ₓ, ꭖ, ꭗ, ꭘ, ꭙ]
'/X': [Ẋ, Ẍ ]
'/y': [ȳ, ý, ỳ, ŷ, ẏ, ÿ, ẙ, ỹ, ʸ, ɏ, ỷ, ỵ, ƴ, ʎ, ỿ, ]
'/Y': [Ȳ, Ý, Ỳ, Ŷ, Ẏ, Ÿ, Ỹ, ʏ, Ɏ, Ỷ, Ỵ, Ƴ, Ỿ ]
'/z': [ź, ž, ẑ, ż, ᶻ, ʐ, ᶼ, ʑ, ᶽ, ƶ, ẕ, ẓ, ᵶ, ȥ, ⱬ, ᶎ, ʒ, ᶾ, ǯ, ʓ, ƹ, ƺ, ᶚ, θ, ᶿ, ɀ, ꝣ]
'/Z': [Ź, Ž, Ẑ, Ż, , Ƶ, Ẕ, Ẓ, Ȥ, Ⱬ, Ʒ, ᴣ, Ǯ, Ƹ, Ɀ, Ꝣ]
'/aa': [ꜳ]
'/AA': [Ꜳ]
'/ae': [æ, ǣ, ǽ, ᵆ, ᴂ]
'/AE': [Æ, Ǣ, Ǽ, ᴭ, ᴁ ]
'/ao': [ꜵ]
'/AO': [Ꜵ]
'/au': [ꜷ]
'/AU': [Ꜷ]
'/av': [ꜹ, ꜻ]
'/AV': [Ꜹ, Ꜻ]
'/ay': [ꜽ]
'/AY': [Ꜽ]
'/db': [ȸ]
'/ff': [ff]
'/ffi': [ffi]
'/ffl': [ffl]
'/fi': [fi]
'/fl': [fl]
'/fn': [ʩ]
'/hv': [ƕ]
'/HV': [Ƕ]
'/ij': [ij]
'/IJ': [IJ]
'/lj': [lj]
'/ll': [ỻ]
'/LL': [Ỻ]
'/ls': [ʪ]
'/lz': [ʫ, ɮ]
'/nj': [nj]
'/Nj': [Nj]
'/NJ': [NJ]
'/oe': [œ, ᴔ]
'/OE': [Œ, ɶ ]
'/oi': [ƣ]
'/OI': [Ƣ]
'/oo': [ꝏ]
'/OO': [Ꝏ]
'/ou': [ȣ ]
'/OU': [Ȣ, ᴽ]
'/qp': [ȹ]
'/Rx': [℞]
'/tc': [ʨ]
'/th': [ᵺ]
'/ts': [ʦ, ʧ]
'/tz': [ꜩ]
'/TZ': [Ꜩ]
'/ue': [ᵫ]
'/vy': [ꝡ]
'/VY': [Ꝡ]
'/ww': [ʬ]
#上标、下标
'/sb': [ ⁰, ¹, ², ³, ⁴, ⁵, ⁶, ⁷, ⁸, ⁹, ˜, ⁺, ⁻, ⁼, ⁽, ⁾, ᴬ, ᵃ, ᵄ, ᵅ, ᶛ, ᴭ, ᵆ, ᴮ, ᴯ, ᵇ, ᵝ, ᶜ, ᵓ, ᶝ, ᴰ, ᵈ, ᶞ, ᵟ, ᴱ, ᵉ, ᴲ, ᵊ, ᵋ, ᶟ, ᵌ, ᶠ, ᶡ, ᶲ, ᵠ, ᴳ, ᵍ, ᶢ, ˠ, ᵞ, ᴴ, ʰ, ᶣ, ʱ, ᴵ, ⁱ, ᶤ, ᵎ, ᶥ, ᴶ, ʲ, ᶨ, ᴷ, ᵏ, ᴸ, ᶫ, ˡ, ᶩ, ᶪ, ᴹ, ᵐ, ᶬ, ᵚ, ᶭ, ᴺ, ᴻ, ⁿ, ᵑ, ᶮ, ᶯ, ᴼ, ᵒ, ᶱ, ᴽ, ᴾ, ᵖ, ᴿ, ʳ, ʶ, ʴ, ʵ, ˢ, ᶴ, ᶳ, ᵀ, ᵗ, ᶵ, ᶿ, ᵁ, ᵘ, ᶶ, ᶷ, ᵙ, ⱽ, ᵛ, ᶺ, ᶹ, ᵂ, ʷ, ˣ, ᵡ, ʸ, ᶻ, ᶾ, ᶽ, ᶼ ]
'/xb': [ ₀, ₁, ₂, ₃, ₄, ₅, ₆, ₇, ₈, ₉, ₊, ₋, ₌, ₍, ₎, ‸, ᴀ, ₐ, ᴁ, ʙ, ᴃ, ᵦ, , ᴐ, ᴒ, ᴅ, ᴆ, ᴇ, ₑ, ₔ, ᵩ, ɢ, ʛ, , ᵧ, ʜ, ₕ, ɪ, ᵻ, ᵢ, ᴊ, ⱼ, ᴋ, ₖ, ʟ, ₗ, ᴌ, ᴧ, ᴍ, ₘ, ꟺ, ɴ, ᴎ, ₙ, , ₒ, ɶ, ʘ, ᴓ, , ᴘ, ₚ, ᴨ, ᴪ, ʀ, ᵣ, ᴙ, ʁ, ᴚ, ᵨ, ₛ, ᴛ, ₜ, , ᵤ, ᵾ, , ᵥ, , ₓ, ᵪ, ʏ, , ᴣ ]
#希腊
'/xl': [ α, β, γ, δ, ε, ζ, η, θ, ι, κ, λ, μ, ν, ξ, ο, π, ρ, σ, τ, υ, φ, χ, ψ, ω ]
'/xld': [ Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω ]
#俄语
'/ey': [ а, б, в, г, д, е, ё, ж, з, и, й, к, л, м, н, о, п, р, с, т, у, ф, х, ц, ч, ш, щ, ъ, ы, ь, э, ю, я ]
'/eyd': [ А, Б, В, Г, Д, Е, Ё, Ж, З, И, Й, К, Л, М, Н, О, П, Р, С, Т, У, Ф, Х, Ц, Ч, Ш, Щ, Ъ, Ы, Ь, Э, Ю, Я ]
#月份、日期、曜日等
'/yf': [ ㋀, ㋁, ㋂, ㋃, ㋄, ㋅, ㋆, ㋇, ㋈, ㋉, ㋊, ㋋ ]
'/rq': [ ㏠, ㏡, ㏢, ㏣, ㏤, ㏥, ㏦, ㏧, ㏨, ㏩, ㏪, ㏫, ㏬, ㏭, ㏮, ㏯, ㏰, ㏱, ㏲, ㏳, ㏴, ㏵, ㏶, ㏷, ㏸, ㏹, ㏺, ㏻, ㏼, ㏽, ㏾ ]
'/yr': [ 月, 火, 水, 木, 金, 土, 日, ㊊, ㊋, ㊌, ㊍, ㊎, ㊏, ㊐, ㊗, ㊡, ㈪, ㈫, ㈬, ㈭, ㈮, ㈯, ㈰, ㈷, ㉁, ㉀ ]
#时间
'/sj': [ ㍘, ㍙, ㍚, ㍛, ㍜, ㍝, ㍞, ㍟, ㍠, ㍡, ㍢, ㍣, ㍤, ㍥, ㍦, ㍧, ㍨, ㍩, ㍪, ㍫, ㍬, ㍭, ㍮, ㍯, ㍰ ]
#天干、地支、干支
'/tg': [ 甲, 乙, 丙, 丁, 戊, 己, 庚, 辛, 壬, 癸 ]
'/dz': [ 子, 丑, 寅, 卯, 辰, 巳, 午, 未, 申, 酉, 戌, 亥 ]
'/gz': [ 甲子, 乙丑, 丙寅, 丁卯, 戊辰, 己巳, 庚午, 辛未, 壬申, 癸酉, 甲戌, 乙亥, 丙子, 丁丑, 戊寅, 己卯, 庚辰, 辛巳, 壬午, 癸未, 甲申, 乙酉, 丙戌, 丁亥, 戊子, 己丑, 庚寅, 辛卯, 壬辰, 癸巳, 甲午, 乙未, 丙申, 丁酉, 戊戌, 己亥, 庚子, 辛丑, 壬寅, 癸卯, 甲辰, 乙巳, 丙午, 丁未, 戊申, 己酉, 庚戌, 辛亥, 壬子, 癸丑, 甲寅, 乙卯, 丙辰, 丁巳, 戊午, 己未, 庚申, 辛酉, 壬戌, 癸亥 ]
#节气
'/jq': [ 立春, 雨水, 惊蛰, 春分, 清明, 谷雨, 立夏, 小满, 芒种, 夏至, 小暑, 大暑, 立秋, 处暑, 白露, 秋分, 寒露, 霜降, 立冬, 小雪, 大雪, 冬至, 小寒, 大寒 ]
#单位
'/dw': [ Å, ℃, , ‰, ‱, °, ℉, ㏃, ㏆, ㎈, ㏄, ㏅, ㎝, ㎠, ㎤, ㏈, ㎗, ㎙, ㎓, ㎬, ㏉, ㏊, ㏋, ㎐, ㏌, ㎄, ㎅, ㎉, ㎏, ㎑, ㏍, ㎘, ㎞, ㏎, ㎢, ㎦, ㎪, ㏏, ㎸, ㎾, ㏀, ㏐, ㏓, ㎧, ㎨, ㎡, ㎥, ㎃, ㏔, ㎆, ㎎, ㎒, ㏕, ㎖, ㎜, ㎟, ㎣, ㏖, ㎫, ㎳, ㎷, ㎹, ㎽, ㎿, ㏁, ㎁, ㎋, ㎚, ㎱, ㎵, ㎻, ㏘, ㎩, ㎀, ㎊, ㏗, ㏙, ㏚, ㎰, ㎴, ㎺, ㎭, ㎮, ㎯, ㏛, ㏜, ㎔, ㏝, ㎂, ㎌, ㎍, ㎕, ㎛, ㎲, ㎶, ㎼ ]
#货币
'/hb': [ ¥, ¥, ¤, ¢, , $, £, £, ৳, ฿, ₠, ₡, ₢, ₣, ₤, ₥, ₦, ₧, ₩, ₪, ₫, €, ₭, ₮, ₯, ₰, ₱, ₲, ₳, ₴, ₵, ₶, ₷, ₸, ₹, ₺, ₨, ﷼ ]
#结构、偏旁、康熙(部首)、笔画、标点
'/jg': [ ⿰, ⿱, ⿲, ⿳, ⿴, ⿵, ⿶, ⿷, ⿸, ⿹, ⿺, ⿻, 〾 ]
'/pp': [ 乛, 冫, 丷, 龹, ⺌, 龸, 亻, 亼, 亽, 仒, 冖, 冂, 冃, 冄, 宀, 罒, 㓁, 罓, 冈, 凵, 厶, 刂, 勹, 匚, 匸, 卩, 阝, 厂, 丆, 广, 壬, 訁, 讠, 釒, 钅, 飠, 饣, 龺, 攵, 夂, 夊, 尢, 尣, 兂, 旡, 巜, 巛, 彐, 彑, 彡, 彳, 龰, 辶, 廴, 㞢, 忄, 㣺, 扌, 爫, 龵, 廾, 歺, 癶, 氵, 氺, 火, 灬, 爿, 丬, 疒, 牜, ⺶, 犭, 豕, 豸, 虍, 艹, 卝, 龷, 丗, 龶, 芈, 丵, 菐, 黹, 礻, 衤, 糸, 糹, 纟, 龻, 镸, 髟, 襾, 覀, 吅, 㗊, 㠭, 㸚, 叕]
'/kx': [ 一, 丨, , 丿, 乙, 亅, 二, 亠, 人, 儿, 入, 八, 冂, 冖, 冫, 几, 凵, 刀, 力, 勹, 匕, 匚, 匸, 十, 卜, 卩, 厂, 厶, 又, 口, 囗, 土, 士, 夂, 夊, 夕, 大, 女, 子, 宀, 寸, 小, 尢, 尸, 屮, 山, 巛, 工, 己, 巾, 干, 幺, 广, 廴, 廾, 弋, 弓, 彐, 彡, 彳, 心, 戈, 戶, 手, 支, 攴, 文, 斗, 斤, 方, 无, 日, 曰, 月, 木, 欠, 止, 歹, 殳, 毋, 比, 毛, 氏, 气, 水, 火, 爪, 父, 爻, 爿, 片, 牙, 牛, 犬, 玄, 玉, 瓜, 瓦, 甘, 生, 用, 田, 疋, 疒, 癶, 白, 皮, 皿, 目, 矛, 矢, 石, 示, 禸, 禾, 穴, 立, 竹, 米, 糸, 缶, 网, 羊, 羽, 老, 而, 耒, 耳, 聿, 肉, 臣, 自, 至, 臼, 舌, 舛, 舟, 艮, 色, 艸, 虍, 虫, 血, 行, 衣, 襾, 見, 角, 言, 谷, 豆, 豕, 豸, 貝, 赤, 走, 足, 身, 車, 辛, 辰, 辵, 邑, 酉, 釆, 里, 金, 長, 門, 阜, 隶, 隹, 雨, 靑, 非, 面, 革, 韋, 韭, 音, 頁, 風, 飛, 食, 首, 香, 馬, 骨, 高, 髟, 鬥, 鬯, 鬲, 鬼, 魚, 鳥, 鹵, 鹿, 麥, 麻, 黃, 黍, 黑, 黹, 黽, 鼎, 鼓, 鼠, 鼻, 齊, 齒, 龍, 龜, 龠 ]
'/bh': [ ㇀, ㇁, ㇂, ㇃, ㇄, ㇅, ㇆, ㇇, ㇈, ㇉, ㇊, ㇋, ㇌, ㇍, ㇎, ㇏, ㇐, ㇑, ㇒, , , ㇕, ㇖, ㇗, ㇘, ㇙, ㇚, ㇛, ㇜, ㇝, ㇞, ㇟, ㇠, ㇡, ㇢, ㇣ ]
'/bd': [ 、, 。, 「, 」, 『, 』, 【, 】, 〈, 〉, 《, 》, ₋, ⁻, ―, ˗, ˉ, _, , , , ¡, ‼, ⁉, ¿, ؟, ⁈, ⁇, 、, 。, 〃, 〄, 々, 〆, , 〒, 〓, , , 〖, 〗, 〘, 〙, 〚, 〛, 〜, 〝, 〞, 〟, 〠, 〰, 〱, 〲, , 〴, 〵, 〶, 〷, 〻, 〼, 〽 ]
'/bdz': [ ﹅, ﹆, ﹁, ﹂, ﹃, ﹄, ︙, ︱, ︻, ︼, ︗, ︘, ︵, ︶, ︷, ︸, ︹, ︺, ︿, ﹀, ︽, ︾, , ︲, ︳, ︴, ﹉, ﹊, ﹋, ﹌, , , , ﹇, ﹈, ︐, ︑, ︒, ︔, ︕, ︖ ]
#拼音、注音、声调
'/py': [ ā, á, ǎ, à, ō, ó, ǒ, ò, ê, ê̄, ế, ê̌, ề, ē, é, ě, è, ī, í, ǐ, ì, ū, ú, ǔ, ù, ü, ǖ, ǘ, ǚ, ǜ, ḿ, m̀, ń, ň, ǹ, ẑ, ĉ, ŝ, ŋ ]
'/pyd': [ Ā, Á, Ǎ, À, Ō, Ó, Ǒ, Ò, Ê, Ê̄, Ế, Ê̌, Ề, Ē, É, Ě, È, Ī, Í, Ǐ, Ì, Ū, Ú, Ǔ, Ù, Ü, Ǖ, Ǘ, Ǚ, Ǜ, Ḿ, M̀, Ń, Ň, Ǹ, Ẑ, Ĉ, Ŝ, Ŋ ]
'/zy': [ ㄅ, ㄆ, ㄇ, ㄈ, ㄉ, ㄊ, ㄋ, ㄌ, ㄍ, ㄎ, ㄏ, ㄐ, ㄑ, ㄒ, ㄓ, ㄔ, ㄕ, ㄖ, ㄗ, ㄘ, ㄙ, ㄧ, ㄨ, ㄩ, ㄚ, ㄛ, ㄜ, ㄝ, ㄞ, ㄟ, ㄠ, ㄡ, ㄢ, ㄣ, ㄤ, ㄥ, ㄦ, ㄪ, ㄫ, ㄬ, ㄭ, ㆠ, ㆡ, ㆢ, ㆣ, ㆤ, ㆥ, ㆦ, ㆧ, ㆨ, ㆩ, ㆪ, ㆫ, ㆬ, ㆭ, ㆮ, ㆯ, ㆰ, ㆱ, ㆲ, ㆳ, ㆴ, ㆵ, ㆶ, ㆷ ]
'/sd': [ ˉ, ˊ, ˇ, ˋ, ˆ, ˙, ˜, ˥, ˦, ˧, ˨, ˩, ꜀, ꜁, ꜂, ꜃, ꜄, ꜅, ꜆, ꜇, '〪', '〫', '〬', '〭' ]
#汉字+圈v弧
'/hzq': [ ㊀, ㊁, ㊂, ㊃, ㊄, ㊅, ㊆, ㊇, ㊈, ㊉, ㊊, ㊋, ㊌, ㊍, ㊎, ㊏, ㊐, ㊑, ㊒, ㊓, ㊔, ㊕, ㊖, ㊗, ㊘, ㊙, ㊚, ㊛, ㊜, ㊝, ㊞, ㊟, ㊠, ㊡, ㊢, ㊣, ㊤, ㊥, ㊦, ㊧, ㊨, ㊩, ㊪, ㊫, ㊬, ㊭, ㊮, ㊯, ㊰, ㉄, ㉅, ㉆, ㉇ ]
'/hzh': [ ㈠, ㈡, ㈢, ㈣, ㈤, ㈥, ㈦, ㈧, ㈨, ㈩, ㈪, ㈫, ㈬, ㈭, ㈮, ㈯, ㈰, ㈱, ㈲, ㈳, ㈴, ㈵, ㈶, ㈷, ㈸, ㈹, ㈺, ㈻, ㈼, ㈽, ㈾, ㈿, ㉀, ㉁, ㉂, ㉃ ]
#いろは順
'/iro': [ い, ろ, は, に, ほ, へ, と, ち, り, ぬ, る, を, わ, か, よ, た, れ, そ, つ, ね, な, ら, む, う, ゐ, の, お, く, や, ま, け, ふ, こ, え, て, あ, さ, き, ゆ, め, み, し, ゑ, ひ, も, せ, す ]
#假名
'/jm': [ あ, ぁ, い, ぃ, う, ぅ, え, ぇ, お, ぉ, か, ゕ, が, き, ぎ, く, ぐ, け, ゖ, げ, こ, ご, さ, ざ, し, じ, す, ず, せ, ぜ, そ, ぞ, た, だ, ち, ぢ, つ, っ, づ, て, で, と, ど, な, に, ぬ, ね, の, は, ば, ぱ, ひ, び, ぴ, ふ, ぶ, ぷ, へ, べ, ぺ, ほ, ぼ, ぽ, ま, み, む, め, も, や, ゃ, ゆ, ゅ, よ, ょ, ら, り, る, れ, ろ, わ, ゎ, ゐ, ゔ, ゑ, を, ん, ・, ー, ゝ, ゞ, ゟ ]
'/pjm': [ ア, ァ, イ, ィ, ウ, ゥ, エ, ェ, オ, ォ, カ, ヵ, ガ, キ, ギ, ク, グ, ケ, ヶ, ゲ, コ, ゴ, サ, ザ, シ, ジ, ス, ズ, セ, ゼ, ソ, ゾ, タ, ダ, チ, ヂ, ツ, ッ, ヅ, テ, デ, ト, ド, ナ, ニ, ヌ, ネ, , ハ, バ, パ, ヒ, ビ, ピ, フ, ブ, プ, ヘ, ベ, ペ, ホ, ボ, ポ, マ, ミ, ム, メ, モ, ヤ, ャ, ユ, ュ, ヨ, ョ, ラ, リ, ル, レ, ロ, ワ, ヮ, ヰ, ヸ, ヴ, ヱ, ヹ, ヲ, ヺ, ン, ・, ー, ヽ, ヾ, ヿ, ㇰ, ㇱ, ㇲ, ㇳ, ㇴ, ㇵ, ㇶ, ㇷ, ㇸ, ㇹ, ㇺ, ㇻ, ㇼ, ㇽ, ㇾ, ㇿ ]
'/jmk': [ か, ゕ, き, く, け, ゖ, こ, カ, ヵ, キ, ク, ケ, ヶ, コ ]
'/jmg': [ が, ぎ, ぐ, げ, ご, ガ, ギ, グ, ゲ, ゴ ]
'/jms': [ さ, し, す, せ, そ, サ, シ, ス, セ, ソ ]
'/jmz': [ ざ, じ, ず, ぜ, ぞ, ザ, ジ, ズ, ゼ, ゾ ]
'/jmt': [ た, ち, つ, っ, て, と, タ, チ, ツ, ッ, テ, ト ]
'/jmd': [ だ, ぢ, づ, で, ど, ダ, ヂ, ヅ, デ, ド ]
'/jmn': [ な, に, ぬ, ね, の, ん, ナ, ニ, ヌ, ネ, , ン ]
'/jmh': [ は, ひ, ふ, へ, ほ, ハ, ヒ, フ, ヘ, ホ ]
'/jmb': [ ば, び, ぶ, べ, ぼ, バ, ビ, ブ, ベ, ボ ]
'/jmp': [ ぱ, ぴ, ぷ, ぺ, ぽ, パ, ピ, プ, ペ, ポ ]
'/jmm': [ ま, み, む, め, も, マ, ミ, ム, メ, モ ]
'/jmy': [ や, ゃ, ゆ, ゅ, よ, ょ, ヤ, ャ, ユ, ュ, ヨ, ョ ]
'/jmr': [ ら, り, る, れ, ろ, ラ, リ, ル, レ, ロ ]
'/jmw': [ わ, ゐ, ゑ, を, ワ, ヰ, ヱ, ヲ ]
'/jma': [ あ, か, が, さ, ざ, た, だ, な, は, ば, ぱ, ま, や, ら, わ, ア, カ, ガ, サ, ザ, タ, ダ, ナ, ハ, バ, パ, マ, ヤ, ラ, ワ ]
'/jmi': [ い, き, ぎ, し, じ, ち, ぢ, に, ひ, び, ぴ, み, り, ゐ, イ, キ, ギ, シ, ジ, チ, ヂ, ニ, ヒ, ビ, ピ, ミ, リ, ヰ ]
'/jmu': [ う, く, ぐ, す, ず, つ, づ, ぬ, ふ, ぶ, ぷ, む, る, ウ, ク, グ, ス, ズ, ツ, ヅ, ヌ, フ, ブ, プ, ム, ル ]
'/jme': [ え, け, げ, せ, ぜ, て, で, ね, へ, べ, ぺ, め, れ, ゑ, エ, ケ, ゲ, セ, ゼ, テ, デ, ネ, ヘ, ベ, ペ, メ, レ, ヱ ]
'/jmo': [ お, こ, ご, そ, ぞ, と, ど, の, ほ, ぼ, ぽ, も, ろ, を, オ, コ, ゴ, ソ, ゾ, ト, ド, , ホ, ボ, ポ, モ, ロ, ヲ ]
#假名+圈
'/jmq': [ ㋐, ㋑, ㋒, ㋓, ㋔, ㋕, ㋖, ㋗, ㋘, ㋙, ㋚, ㋛, ㋜, ㋝, ㋞, ㋟, ㋠, ㋡, ㋢, ㋣, ㋤, ㋥, ㋦, ㋧, ㋨, ㋩, ㋪, ㋫, ㋬, ㋭, ㋮, ㋯, ㋰, ㋱, ㋲, ㋳, ㋴, ㋵, ㋶, ㋷, ㋸, ㋹, ㋺, ㋻, ㋼, ㋽, ㋾ ]
#假名+半角
'/jmbj': [ ア, ァ, イ, ィ, ウ, ゥ, エ, ェ, オ, ォ, カ, キ, ク, ケ, コ, サ, シ, ス, セ, ソ, タ, チ, ツ, ッ, テ, ト, ナ, ニ, ヌ, ネ, ノ, ハ, ヒ, フ, ヘ, ホ, マ, ミ, ム, メ, モ, ヤ, ャ, ユ, ュ, ヨ, ョ, ラ, リ, ル, レ, ロ, ワ, ヲ, ン, ・, ー, ゙, ゚ ]
#韩文
'/hw': [ ㄱ, ㄴ, ㄷ, ㄹ, ㅁ, ㅂ, ㅅ, ㅇ, ㅈ, ㅊ, ㅋ, ㅌ, ㅍ, ㅎ ]
#韩文+圈v弧
'/hwq': [ ㉠, ㉡, ㉢, ㉣, ㉤, ㉥, ㉦, ㉧, ㉨, ㉩, ㉪, ㉫, ㉬, ㉭, ㉮, ㉯, ㉰, ㉱, ㉲, ㉳, ㉴, ㉵, ㉶, ㉷, ㉸, ㉹, ㉺, ㉻, ㉼, ㉽, ㉾, ㉿ ]
'/hwh': [ ㈀, ㈁, ㈂, ㈃, ㈄, ㈅, ㈆, ㈇, ㈈, ㈉, ㈊, ㈋, ㈌, ㈍, ㈎, ㈏, ㈐, ㈑, ㈒, ㈓, ㈔, ㈕, ㈖, ㈗, ㈘, ㈙, ㈚, ㈛, ㈜, ㈝, ㈞ ]
# 中文标点符号表,来自 https://www.w3.org/TR/clreq/#tables_of_chinese_punctuation_marks
# 将点号、非夹、夹注、行间四个类别放在不同的列表中
'/dh': [。, , , 、, , , , ‼, , ⁇]
'/fj': [⸺, ——, ……, ⋯⋯, , -, , —, ·, ・, ‧, /, ]
'/jz': [「, 」, 『, 』, “, ”, , , , , 《, 》, 〈, 〉, 【, 】, 〖, 〗, , , , , , ]
'/hj': [_, , ●, •]
# Unicode General Punctuation https://www.unicode.org/charts/PDF/U2000.pdf
# 将 Unicdoe 中的非 ASCII 英文标点列在此处,而实际上对应的中文标点与其共享码位
# 中英标点
'/bdzy': [, , , , —, ―, ‖, ‗, , , , , “, ”, „, ‟, †, ‡, •, ‣, , ‥, …, ‧, ‰, ‱, , ″, ‴, , ‶, ‷, ‸, , , ※, ‼, ‽, ‾, ‿, ⁀, , ⁂, , , ⁅, ⁆, ⁇, ⁈, ⁉, ⁊, ⁋, ⁌, ⁍, , ⁏, ⁐, ⁑, ⁒, , ⁔, ⁕, ⁖, ⁗, ⁘, ⁙, , ⁛, ⁜, ⁝, ⁞]
# Unicode CJK Symbols and Punctuation https://www.unicode.org/charts/PDF/U3000.pdf 该区块中的标点已包含在 vbd 定义的列表中。
# 以下开始为自己添加的
'/aa': [🐶, 🐮, 🐵, 🙈, 🙉, 🙊, 🐒, 🐔, 🐴, 🐷, 🐽, 🐭, 🦐, 🦀, 🐢, 🐱, 🐹, 🐰, 🐻, 🐼, 🐨, 🐧, 🐦, 🐤, 🐣, 🐥, 🐯, 🦁, 🐸, 🐙, 🦆, 🦅, 🦉, 🦇, 🐺, 🐗, 🦄, 🐝, 🐛, 🦋, 🐌, 🐞, 🐜, 🕷, 🦂, 🐍, 🦎, 🦑, 🐠, 🐟, 🐡, 🐬, 🐳, 🐊, 🐆, 🐅, 🐃, 🐂, 🐄, 🐪, 🐫, 🐘, 🦏, 🦍, 🐐, 🐏, 🐑, 🐎, 🐖, 🐀, 🐁, 🐓, 🦃, 🕊, 🐕, 🐩, 🐈, 🐇, 🐿]
'/ss': [👌, 👍, 👎, 👊, 🤝, ✌️, 💪, 🙏, ✊, 👏, 👋, 🤞, ✋, 🤚, 🖖, 🤙, 🖕, 🤟, ☝️, 👆, 👇, 👈, 👉, 🤛, 🤜, 🤲, 🤘, 🙌, 👐, ✍️, 💅]
'/dd': [😂, ☺️, 😏, 😒, 🤔, 😳, 😔, 😱, 😭, 🙈️, 💩, 😀, 😁, 🤣, 😄, 😅, 😆, 😇, 😉, 😊, 🙂, 🙃, 😋, 😌, 😍, 😘, 😙, 😜, 😝, 🤑, 🤓, 😎, 🤗, 😶, 😑, 🙄, 😞, 😟, 😠, 😡, 😕, ☹️, 😣, 😖, 😫, 😤, 😮, 😨, 😰, 😯, 😦, 😢, 😥, 😪, 😓, 🤤, 😲, 🤥, 🤢, 🤧, 🤐, 😷, 🤒, 🤕, 😴, 😃, 😗, 😚, 😛, 🙁, 😩, 😐, 😧, 😵, 😬, 🤪, 🤨, 🧐, 🤩, 🤬, 🤯, 🤭, 🤫, 🤮, 🤡, 🤠, 😈, 👿, 👻, 💀, 👽]
'/ff': [½, ⅓, ⅔, ¼, ¾, ⅒, ‰]
'/zz': [⌘, ⌥, ⇧, ⌃, ⎋, ⇪, , ⌫, ⌦, ↩︎, ⏎, ␣, ⏏, ⇟, ⇞]
'/xx': [, ×, ✱, ★, ☆, ✩, ✧, ❋, ❊, ❉, ❈, ❅, ✿, ✲]
'/cc': [©, ®, ℗, ⓘ, ℠, ™, ℡, ␡, ♂, ♀, ☉, ☊, ☋, ☌, ☍, ☐, ☑︎, ☒, ☜, ☝, ☞, ☟, ✎, ✄, ♻, ⚐, ⚑, ⚠]
'/vv': [👌, 👍, 😂, 😅, 😡, 😮, 😱, 😭, 😘, 😰, 💩]
# emoji_category 来源: https://github.com/rime/rime-emoji/blob/master/opencc/emoji_category.txt
'/zhonghua': [🧧, 🥮, 🧨, 🧮]
'/zhongcan': [🍜, 🍚, 🍲, 🥘, 🥟, 🥠, 🥡, 🥢]
'/chuandian': [🍢, 🍡]
'/yayi': [🧓🏻, 🧑🏻, 🧒🏻, 👶🏻]
'/yayinv': [👵🏻, 👩🏻, 👧🏻]
'/yayinan': [👴🏻, 👨🏻, 👦🏻]
'/yundong': [🏒, 🏸, 🏓, 🏑, 🏏, ⛳️, 🏹, ⚽️, 🏀, 🏈, ⚾️, 🥎️, 🎾, 🏐, 🏉, 🎱, ⛸️, 🛼, 🎿, 🎳, 🥏, 🥍, 🛹, 🤿, 🪂, 🛷, 🥌, 🪃, 🪁]
'/yundongyuan': [⛷️, 🏂🏻, 🏋🏻, 🤺, 🤼🏻, 🤸🏻, ⛹🏻, 🤾🏻, 🏌🏻, 🏄🏻, 🏊🏻, 🤽🏻, 🚣🏻, 🏇🏻, 🚴🏻, 🚵🏻, 🧗🏻, 🤹🏻]
'/yuansu': [💧, 🔥, 🌪️, 🪨, 🪵, ⚡️, 🧊]
'/gongjiao': [🚌, 🚎, 🚍, 🚈, 🚇, 🚊]
'/dongwu': [🦆, 🦅, 🦉, 🦇, 🐺, 🐗, 🦄, 🐴, 🐝, 🐛, 🐞, 🪲, 🦟, 🐚, 🐌, 🦋, 🐜, 🕷️, 🐢, 🐍, 🦎, 🦂, 🦀, 🦑, 🐙, 🦐, 🦞, 🦪, 🐠, 🐟, 🐡, 🪼, 🐬, 🦈, 🐋, 🐊, 🐆, 🐅, 🐃, 🐂, 🐄, 🦬, 🦌, 🐪, 🐫, 🐘, 🦏, 🦍, 🦧, 🦣, 🐎, 🐖, 🐐, 🐏, 🐑, 🐕, 🐩, 🐈, 🐈‍⬛️, 🐇, 🐁, 🐀, 🐿️, 🐉, 🐒, 🦙, 🦛, 🫏, 🫎, 🦖, 🦕, 🦡, 🦝, 🦨, 🦫, 🦦, 🦭, 🦥, 🐓, 🦃, 🕊️, 🦩, 🪿, 🦢, 🦜, 🦤, 🦚, 🐦‍⬛]
'/dongwulian': [🐶, 🐱, 🐭, 🐹, 🐰, 🦊, 🐻, 🐻‍❄️, 🐼, 🐨, 🐯, 🦁, 🐮, 🐷, 🐽, 🐸, 🐵]
'/bao': [👝, 👛, 👜, 💼, 🧳, 🎒]
'/wucan': [🍛, 🍲, 🍝, 🍜, 🥘, 🍣, 🍱, 🍘, 🍙, 🍚, 🥡]
'/fan': [🍛, 🍲, 🍝, 🍜, 🥘, 🍣, 🍱, 🍘, 🍙, 🍚, 🥡]
'/mingsheng': [🗽, 🏰, 🗼, 🗻, 🏯, 🏝️, 🏖️, 🌁, 🌉, 🏞️]
'/qiguan': [👁️, 👂🏻, 👃🏻, 👄, 🦷, 🧠, 🫁, 🫀, 🦵🏻, 🦶🏻, 🖐🏻, 👅]
'/yuan': [🔴, 🟠, 🟡, 🟢, 🔵, 🟣, 🟤, ⚫️, ⚪️]
'/yuanxing': [🔴, 🟠, 🟡, 🟢, 🔵, 🟣, 🟤, ⚫️, ⚪️]
'/ditie': [🚈, 🚇, 🚊, 🚞, 🚋, 🚃, 🚟]
'/chenggui': [🚈, 🚇, 🚊, 🚞, 🚋, 🚃, 🚟]
'/jianguo': [🥜, 🌰️]
'/waihui': [💵, 💶, 💷, 💴]
'/qian': [💵, 💶, 💷, 💴]
'/zhibi': [💵, 💶, 💷, 💴]
'/huobi': [💵, 💶, 💷, 💴]
'/duomeiti': [📽️, 🎥, 📹, 📷, 🎙️, 📡]
'/ye': [🌙, 💫, ⭐️, 🌟, ✨, 🌛, 🌜]
'/yekong': [🌙, 💫, ⭐️, 🌟, ✨, 🌛, 🌜]
'/daziran': [🔥, 💧, 🌬️, 🫧, ☀️, 🌤️, ⛅️, 🌦️, 🌥️, ☁️, 🌨️, 🌧️, 🌩️, ⛈️, ❄️, 💨, 🌪️, 🌫️, 🌊, 🧊, 🪨]
'/ziran': [🔥, 💧, 🌬️, 🫧, ☀️, 🌤️, ⛅️, 🌦️, 🌥️, ☁️, 🌨️, 🌧️, 🌩️, ⛈️, ❄️, 💨, 🌪️, 🌫️, 🌊, 🧊, 🪨]
'/qixiang': [☀️, 🌤️, ⛅️, 🌦️, 🌥️, ☁️, 🌨️, 🌧️, 🌩️, ⛈️, ❄️, 💨, 🌪️, 🌫️, 🌊]
'/tianqi': [☀️, 🌤️, ⛅️, 🌦️, 🌥️, ☁️, 🌨️, 🌧️, 🌩️, ⛈️, ❄️, 💨, 🌪️, 🌫️, 🌊]
'/yule': [🎮, 🎰, 🎲, 🎯, 🎳, 🎧, 🎤️, 🎪, 🎫, 🎟️, ♟️, 🕹️, 🖲️, 🪀, 🪩]
'/zongjiao': [✝️, ☪️, 🕉️, ☸️, 🔯, 🕎, ☯️, ☦️, 🪯, 🛐, ⛪️, 🕌, 🕍, 🕋, ⛩️, 🛕]
'/jiaqin': [🦆, 🐓, 🦃, 🐔, 🐤, 🐣, 🐥, 🦚, 🪿]
'/leng': [❄️, 🌨️, ☃️, ⛄️, 🧊]
'/hanleng': [❄️, 🌨️, ☃️, ⛄️, 🧊]
'/gongju': [⚙️, 🔩, ⛏️, 🛠️, ⚒️, 🔨, 🔧, ⛓️, 🧰, 🪒, 🪚, 🪛, 🪜, 🪡]
'/mao': [👒, 🧢, 🎩, 🎓, ⛑️, 🪖]
'/maozi': [👒, 🧢, 🎩, 🎓, ⛑️, 🪖]
'/xinxing': [❤️, 🧡, 💛, 💚, 💙, 🩵, 🩷, 💜, 🤎, 🖤, 🩶, 🤍]
'/kuaican': [🍔, 🌭, 🍟, 🥞, 🥡, 🥫]
'/guaiwu': [🦄, 🤖, 👾, 👹, 👺]
'/lading': [🧓🏽, 🧑🏽, 🧒🏽, 👶🏽]
'/ladingyi': [🧓🏽, 🧑🏽, 🧒🏽, 👶🏽]
'/lamei': [🧓🏽, 🧑🏽, 🧒🏽, 👶🏽]
'/lameiren': [🧓🏽, 🧑🏽, 🧒🏽, 👶🏽]
'/lameiyi': [🧓🏽, 🧑🏽, 🧒🏽, 👶🏽]
'/juan': [🥙, 🌮, 🌯, 🫔]
'/shuma': [⌚️, 📱, 💻, ⌨️, 🖥️, 🖨️, 🖱️, 📷, 📹, 💾, 💽, 💿, 📀]
'/fangxing': [🟥, 🟧, 🟨, 🟩, 🟦, 🟪, 🟫, ⬛️, ⬜️]
'/zhengfangxing': [🟥, 🟧, 🟨, 🟩, 🟦, 🟪, 🟫, ⬛️, ⬜️]
'/riliao': [🍥, 🍣, 🍱, 🍙, 🍘]
'/rishiliaoli': [🍥, 🍣, 🍱, 🍙, 🍘]
'/ribencai': [🍥, 🍣, 🍱, 🍙, 🍘]
'/riyong': [🧴, 🧼, 🧻, 🧽, 🪥, 🪒, 💄, 🪣]
'/zaocan': [🍳, 🥚, 🧀, 🥖, 🥛, 🍯, 🥪, 🥫, 🥯, 🧇, 🫓]
'/zaodian': [🍳, 🥚, 🧀, 🥖, 🥛, 🍯, 🥪, 🥫, 🥯, 🧇, 🫓]
'/xingzuo': [♒️, ♓️, ♈️, ♉️, ♊️, ♋️, ♌️, ♍️, ♎️, ♏️, ♐️, ♑️]
'/shizhong': [🕛, 🕧, 🕐, 🕜, 🕑, 🕝, 🕒, 🕞, 🕓, 🕟, 🕔, 🕠, 🕕, 🕡, 🕖, 🕢, 🕗, 🕣, 🕘, 🕤, 🕙, 🕥, 🕚, 🕦]
'/jingdian': [🗽, 🏰, 🗼, 🗻, 🏯, 🏝️, 🏖️, 🌁, 🌉, 🏞️]
'/yuexiang': [🌕, 🌖, 🌗, 🌘, 🌑, 🌒, 🌓, 🌔]
'/youhai': [☢️, ☣️, 🦠]
'/fuzhuang': [🧥, 👚, 👕, 👖, 🩳, 👔, 👗, 👘, 🥻, 🩲, 👙, 🩱, 🥼]
'/fushi': [🧥, 👚, 👕, 👖, 🩳, 👔, 👗, 👘, 🥻, 🩲, 👙, 🩱, 🥼]
'/dongyaren': [🧓🏻, 🧑🏻, 🧒🏻, 👶🏻]
'/dongyayi': [🧓🏻, 🧑🏻, 🧒🏻, 👶🏻]
'/guo': [🍏, 🍎, 🍐, 🍊, 🍋, 🍌, 🍉, 🍇, 🍓, 🫐, 🍈, 🍒, 🍑, 🍍, 🥝, 🥑, 🥥, 🥭]
'/shuiguo': [🍏, 🍎, 🍐, 🍊, 🍋, 🍌, 🍉, 🍇, 🍓, 🫐, 🍈, 🍒, 🍑, 🍍, 🥝, 🥑, 🥥, 🥭]
'/zongseren': [🧓🏽, 🧑🏽, 🧒🏽, 👶🏽]
'/zongserenzhong': [🧓🏽, 🧑🏽, 🧒🏽, 👶🏽]
'/zhiwu': [🌲, 🌳, 🎄, 🌵, 🌴, 🌱, 🌿, ☘️, 🍀, 🎍, 🪴, 🌾, 🥬, 🪻]
'/yueqi': [🎻, 🎸, 🎹, 🎷, 🎺, 🥁, 🪕, 🪘, 🪗, 🪈, 🪇]
'/jixie': [⚙️, 🔩, ⛏️, 🛠️, ⚒️, 🔨, 🔧, ⛓️, 🧰, 🪒, 🪚, 🪛, 🪜, 🪡]
'/zhengcan': [🥘, 🍜, 🍲, 🍛, 🍝, 🍱, 🍚, 🥗]
'/wuqi': [🔫, 🗡️, ⚔️, 🔪, 🛡️, 🪓, 🚀]
'/che': [🚗, 🚕, 🚙, 🚌, 🚎, 🏎️, 🚓, 🚑, 🚒, 🚐, 🚚, 🚛, 🎢, 🛻, 🚔, 🚍, 🚘, 🚖, 🛺]
'/qiche': [🚗, 🚕, 🚙, 🚌, 🚎, 🏎️, 🚓, 🚑, 🚒, 🚐, 🚚, 🚛, 🎢, 🛻, 🚔, 🚍, 🚘, 🚖, 🛺]
'/huoche': [🚄, 🚅, 🚝, 🚆, 🚂, 🚉]
'/reyin': [☕️, 🍵]
'/shengchu': [🐄, 🐃, 🐂, 🦬, 🐐, 🐏, 🐖, 🐑, 🐕, 🦮, 🐕‍🦺, 🐩, 🐈, 🐈‍⬛️, 🫏, 🫎]
'/jiang': [🏅, 🎖️, 🥇, 🥈, 🥉, 🏆]
'/jiangxiang': [🏅, 🎖️, 🥇, 🥈, 🥉, 🏆]
'/jiangpai': [🏅, 🎖️, 🥇, 🥈, 🥉, 🏆]
'/qiu': [⚽️, 🏀, 🏈, 🏐, 🏉, ⚾️, 🥎️, 🎾, 🎱, 🪀, 🏓, 🏸, 🏒, 🏑, 🏏, 🛹, 🥍]
'/tianshi': [🍯, 🍰, 🍮, 🎂, 🍭, 🍬, 🍫, 🍩, 🍪, 🍦, 🧁]
'/tiandian': [🍮, 🍩, 🍪, 🍧, 🍨, 🍦, 🍰, 🧁, 🧇, 🧆]
'/shengxiao': [🐁, 🐀, 🐂, 🐃, 🐄, 🦬, 🐅, 🐆, 🐇, 🐉, 🐍, 🐎, 🐏, 🐐, 🐑, 🐒, 🦧, 🦍, 🦃, 🐓, 🐕, 🦮, 🐕‍🦺, 🐖, 🐗]
'/chusheng': [🐄, 🐃, 🐂, 🦬, 🐐, 🐏, 🐖, 🐑, 🐕, 🦮, 🐕‍🦺, 🐩, 🐈, 🐈‍⬛️, 🫏, 🫎]
'/bairen': [🧓🏼, 🧑🏼, 👱🏼, 🧒🏼, 👶🏼]
'/baizhongren': [🧓🏼, 🧑🏼, 👱🏼, 🧒🏼, 👶🏼]
'/yanjing': [👓, 🕶️, 🥽]
'/kexue': [🔬, 🔭, ⚗️, ⚛️, 🧑🏻‍🔬, 🧬, 🧪, 🧫, 🩺, 🩻]
'/musilin': [👳🏽]
'/jieri': [🎊, 🎉, 🪅, 🎏, 🎎, 🏮, 🎐, 🧧, 🎁, 🧨, 🎇, 🎆, 🎑, 🎄, 🧑🏻‍🎄]
'/culiang': [🌽, 🥔, 🍠, 🥜, 🌰]
'/jingguai': [🧙🏻, 🧝🏻, 🧛🏻, 🧟, 🧞, 🧜🏻, 🧚🏻, 🦹🏻]
'/liang': [🌽, 🥔, 🍠, 🥜, 🌰]
'/rou': [🥩, 🥓, 🍗, 🍖, 🍤]
'/fuse': [🏻, 🏼, 🏽, 🏾, 🏿]
'/ziran': [🔥, 💧, 🌬️, 🫧, ☀️, 🌤️, ⛅️, 🌦️, 🌥️, ☁️, 🌨️, 🌧️, 🌩️, ⛈️, ❄️, 💨, 🌪️, 🌫️, 🌊, 🧊, 🪨]
'/chuan': [🚢, ⛴️, 🛳️, 🛥️, 🚤, ⛵️, 🛶, ⚓️]
'/hua': [🌸, 🌺, 🌼, 🌻, 🌷, 🌹, 💐, 🥀, 🪷, 🪻]
'/huaduo': [🌸, 🌺, 🌼, 🌻, 🌷, 🌹, 💐, 🥀, 🪷, 🪻]
'/cai': [🍅, 🍆, 🥒, 🥕, 🌶️, 🥦, 🥗, 🥬, 🫒, 🫑, 🫘, 🫛]
'/shucai': [🍅, 🍆, 🥒, 🥕, 🌶️, 🥦, 🥗, 🥬, 🫒, 🫑, 🫘, 🫛]
'/ye': [🍃, 🍂, 🍁, 🌱, 🌿, 🥬]
'/chong': [🐛, 🪱, 🐞, 🪲, 🪳, 🦗, 🦟, 🐜, 🪰, 🐌, 🐝]
'/xuexing': [🅰️, 🅱️, 🅾️, 🆎️]
'/yifu': [🧥, 👚, 👕, 👖, 🩳, 👔, 👗, 👘, 🥻, 🩲, 👙, 🩱, 🥼]
'/xican': [🍕, 🥓, 🧀, 🥖, 🥐, 🍝, 🌯, 🌮, 🥙, 🍟, 🍔, 🌭, 🥞, 🥪, 🥯, 🧇, 🫕]
'/tiaoliao': [🧄, 🫚, 🧅, 🧂, 🧀]
'/youleyuan': [🏟️, 🎡, 🎢, 🎠, 🛝]
'/jiu': [🍷, 🥃, 🍺, 🍶, 🍾, 🍸]
'/yewei': [🦉, 🦇, 🐍, 🐢, 🦝, 🦨, 🦡, 🦫, 🐿️, 🦦, 🦥, 🦔, 🐺, 🐗, 🐡, 🐬, 🐳, 🐋, 🦈, 🦭, 🐊, 🐅, 🐆, 🦓, 🦍, 🦧, 🐘, 🦛, 🦏, 🦒, 🦘, 🦩, 🫏, 🫎]
'/weishengdongwu': [🦉, 🦇, 🐍, 🐢, 🦝, 🦨, 🦡, 🦫, 🐿️, 🦦, 🦥, 🦔, 🐺, 🐗, 🐡, 🐬, 🐳, 🐋, 🦈, 🦭, 🐊, 🐅, 🐆, 🦓, 🦍, 🦧, 🐘, 🦛, 🦏, 🦒, 🦘, 🦩, 🫏, 🫎]
'/alabo': [👳🏽, 🧔🏽, 🧕🏽]
'/alaboren': [👳🏽, 🧔🏽, 🧕🏽]
'/xue': [❄️, 🌨️, ☃️, ⛄️, 🧊]
'/lingshi': [🍭, 🍬, 🍫, 🍿, 🍩, 🍪]
'/dianqi': [💡, 📺, ☎️, 📟, 📞, 📠, 📻, 🕰️, 📡, 🔦]
'/dianzi': [⌚️, 📱, 💻, ⌨️, 🖥️, 🖨️, 🖱️, 📷, 📹, 💾, 💽, 💿, 📀]
'/xie': [👡, 👢, 👞, 👟, 🥾, 🥿, 👠, 🛼, ⛸️]
'/xiezi': [👡, 👢, 👞, 👟, 🥾, 🥿, 👠, 🛼, ⛸️]
'/yanse': [🟥, 🟧, 🟨, 🟩, 🟦, 🟪, 🟫, ⬛️, ⬜️, 🔴, 🟠, 🟡, 🟢, 🔵, 🟣, 🟤, ⚫️, ⚪️, ❤️, 🧡, 💛, 💚, 💙, 🩵, 🩷, 💜, 🤎, 🖤, 🩶, 🤍]
'/feixingqi': [🛩️, ✈️, 🚁, 🚀, 🛸]
'/yinliao': [🧋, 🍹, 🧃, 🍸, 🍵, ☕️, 🥛, 🍷, 🥃, 🍶, 🥂, 🍾, 🍻, 🍺, 🧉]
'/canju': [🥄, 🍴, 🍽️, 🥣, 🥢, 🫖]
'/faxing': [🦲, 🦰, 🦱, 🦳]
'/fase': [🦲, 🦰, 🦱, 🦳]
'/yu': [🐠, 🐟, 🐡, 🪼, 🐬, 🐳, 🐋, 🦈, 🦭, 🦦]
'/niao': [🦆, 🦅, 🦉, 🦇, 🐓, 🦃, 🕊️, 🐧, 🐦, 🦚, 🦜, 🦩, 🦤, 🦢, 🪿, 🐦‍⬛]
'/mianbao': [🍞, 🥐, 🥖, 🥨, 🥯, 🍩, 🥮]
'/huangzhongren': [🧓🏻, 🧑🏻, 🧒🏻, 👶🏻]
'/heiren': [🧓🏿, 🧑🏿, 🧒🏿, 👶🏿]
'/dianxin': [🍮, 🍩, 🍪, 🍧, 🍨, 🍦, 🍰, 🧁, 🧇, 🧆]
# 键盘符号
'/cmd': [⌘] # 单个的可以不加[]
'/ctrl': [⌃]
'/opt': [⌥]
'/shift': [⇧]
'/cap': [⇪]
'/caps': [⇪]
'/return': [⏎]
'/enter': [⏎]
'/space': [␣]
'/backspace': [⌫]
'/del': [⌦]
'/escape': [⎋]
'/eject': [⏏]
# 其他
'/shang': [↑, ⬆️]
'/xia': [↓, ⬇️]
'/zuo': [←, ⬅️]
'/you': [→, ➡️, '/ 友']
'/zuoshang': [↖]
'/youshang': [↗]
'/zuoxia': [↙]
'/youxia': [↘]
'/zuoyou': [↔︎, ⇔, ⇋]
'/dian': [·]
'/jgh': [·]
'/genhao': [√]
'/dui': [✓, ✔, ✅]
'/cuo': [✗, ✘, ❎, ❌]
'/cheng': [×]
'/chu': [÷]
'/xiaoyu': [<, ≤]
'/dayu': ['>', ≥]
'/budeng': [≠]
'/budengyu': [≠]
'/ssd': [°C]
'/hsd': [°F]
'/du': [°, °C, °F]
'/pi': [π]
'/pai': [π]
'/wanzi': [卍]
'/nacui': [卐]
'/zhengfu': [±]
'/zhengfuhao': [±]
'/nian': [廿]
'/sa': [卅]
'/xi': [卌]
'/bai': [佰]
'/qian': [仟]
'/yuan': [圆]
'/yinwei': [∵]
'/suoyi': [∴]

325
t9.schema.yaml Normal file
View File

@@ -0,0 +1,325 @@
# Rime schema
# encoding: utf-8
# 适配了仓输入法 [Hamster](https://github.com/imfuxiao/Hamster/) 九宫格布局。
# 参考于仓老师 [morse.hsiao](https://github.com/imfuxiao) 的示例
#
# 可选,支持英文:
# 1. 解开 `engine/translators` 下的注释
# 2. 将 `others/Hamster/melt_eng.custom.yaml` 里的文件拷贝至配置目录,该补丁转写了英文的拼写规则到九宫格;
__include: rime_frost.schema.yaml:/
schema:
schema_id: t9
name: 仓·九宫格
version: "1"
author:
- Dvel
- '[morse.hsiao](https://github.com/imfuxiao)'
description: |
九宫格 for 仓输入法
dependencies:
- melt_eng # 英文输入,作为次翻译器挂载到拼音方案
engine:
processors:
- ascii_composer
- recognizer
- key_binder
- speller
- punctuator
- selector
- navigator
- express_editor
segmentors:
- ascii_segmentor
- matcher
- abc_segmentor
- punct_segmentor
- fallback_segmentor
translators:
- punct_translator
- script_translator
- lua_translator@*date_translator # 时间、日期、星期
- table_translator@custom_phrase # 自定义短语 custom_phrase_t9.txt
# - table_translator@melt_eng # 英文输入
filters:
- simplifier@emoji # Emoji
- simplifier@traditionalize # 简繁切换
- uniquifier # 去重
translator:
prism: t9
spelling_hints: 100
comment_format: []
# 自定义短语custom_phrase_t9.txt
# ⚠️ 编码要用数字
custom_phrase:
dictionary: ""
user_dict: custom_phrase_t9
db_class: stabledb
enable_completion: false
enable_sentence: false
initial_quality: 99
# 九宫格 1 键上的符号序列
punctuator:
half_shape:
"@": [1, "@", ".", "/", ":", "_", "-", "#"]
# 输入时按 1 可以分词
key_binder:
bindings:
- { when: has_menu, accept: at, send: apostrophe }
speller:
alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA987654321
initials: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA987654321
algebra:
# 如果需要模糊音,可参考 rime_frost.schema.yaml 下的示例,放到最前面来就行,但不会正常显示模糊后的拼音。
# - derive/^([zcs])h/$1/
# - derive/^([zcs])([^h])/$1h$2/
# - derive/^l/n/
# - derive/^n/l/
# ……
# T9拼音穷举感谢仓老师 [morse.hsiao](https://github.com/imfuxiao) 勤劳的小手。
- derive/[abc]/2/
- derive/[bc]a/22/
- derive/[bc]ai/224/
- derive/[bc]an|[bc]ao/226/
- derive/[bc]ang/2264/
- derive/ce/23/
- derive/cei/234/
- derive/bei/234/
- derive/[bc]en/236/
- derive/[bc]eng/2364/
- derive/[abc]i/24/
- derive/cha/242/
- derive/chai/2424/
- derive/bia[no]|cha[no]/2426/
- derive/biang/24264/
- derive/chang/24264/
- derive/bie|che/243/
- derive/chen/2436/
- derive/cheng/24364/
- derive/chi/244/
- derive/bin/246/
- derive/bing/2464/
- derive/chong/24664/
- derive/chou/2468/
- derive/chu/248/
- derive/chua/2482/
- derive/chuai/24824/
- derive/chuan/24826/
- derive/chuang/248264/
- derive/chui/2484/
- derive/chu[no]/2486/
- derive/a[no]|bo/26/
- derive/ang/264/
- derive/cong/2664/
- derive/cou/268/
- derive/[bc]u/28/
- derive/cuan/2826/
- derive/cui/284/
- derive/cu[no]/286/
- derive/[def]/3/
- derive/[df]a/32/
- derive/dai/324/
- derive/[df]an|dao/326/
- derive/[df]ang/3264/
- derive/de/33/
- derive/[df]ei/334/
- derive/[df]en/336/
- derive/[df]eng/3364/
- derive/[de]i/34/
- derive/dia/342/
- derive/dia[no]/3426/
- derive/die/343/
- derive/ding/3464/
- derive/diu/348/
- derive/en|fo/36/
- derive/eng/364/
- derive/dong/3664/
- derive/[df]ou/368/
- derive/er/37/
- derive/[df]u/38/
- derive/duan/3826/
- derive/dui/384/
- derive/du[no]/386/
- derive/[ghi]/4/
- derive/[gh]a/42/
- derive/[gh]ai/424/
- derive/[gh]an|[gh]ao/426/
- derive/[gh]ang/4264/
- derive/[gh]e/43/
- derive/[gh]ei/434/
- derive/[gh]en/436/
- derive/[gh]eng/4364/
- derive/hm/46/
- derive/[gh]ong/4664/
- derive/[gh]ou/468/
- derive/[gh]u/48/
- derive/[gh]ua/482/
- derive/[gh]uai/4824/
- derive/[gh]uan/4826/
- derive/[gh]uang/48264/
- derive/[gh]ui/484/
- derive/[gh]un|[gh]uo/486/
- derive/[jkl]/5/
- derive/[kl]a/52/
- derive/[kl]ai/524/
- derive/[kl]an|[kl]ao/526/
- derive/[kl]ang/5264/
- derive/[kl]e/53/
- derive/[kl]ei/534/
- derive/ken/536/
- derive/[kl]eng/5364/
- derive/[jl]i/54/
- derive/[jl]ia/542/
- derive/[jl]ian|[jl]iao/5426/
- derive/[jl]iang/54264/
- derive/[jl]ie/543/
- derive/[jl]in/546/
- derive/[jl]ing/5464/
- derive/jiong/54664/
- derive/[jl]iu/548/
- derive/lo/56/
- derive/[kl]ong/5664/
- derive/[kl]ou/568/
- derive/[jkl]u|lv/58/
- derive/kua/582/
- derive/kuai/5824/
- derive/[jkl]uan/5826/
- derive/kuang/58264/
- derive/jue|lve/583/
- derive/kui/584/
- derive/[jkl]un|[kl]uo/586/
- derive/[mno]/6/
- derive/[mn]a/62/
- derive/[mn]ai/624/
- derive/[mn]an|[mn]ao/626/
- derive/[mn]ang/6264/
- derive/[mn]e/63/
- derive/[mn]ei/634/
- derive/[mn]en/636/
- derive/[mn]eng/6364/
- derive/[mn]i/64/
- derive/nia/642/
- derive/[mn]ian|[mn]iao/6426/
- derive/niang/64264/
- derive/[mn]ie/643/
- derive/[mn]in/646/
- derive/[mn]ing/6464/
- derive/[mn]iu/648/
- derive/mo/66/
- derive/nong/6664/
- derive/[mn]ou/668/
- derive/[mn]u|nv|ou/68/
- derive/nuan/6826/
- derive/nve/683/
- derive/nuo/686/
- derive/[pqrs]/7/
- derive/[ps]a/72/
- derive/[ps]ai/724/
- derive/[prs]an|[prs]ao/726/
- derive/[prs]ang/7264/
- derive/[rs]e/73/
- derive/pei/734/
- derive/[prs]en/736/
- derive/[prs]eng/7364/
- derive/[pqrs]i/74/
- derive/pia|sha/742/
- derive/shai/7424/
- derive/[pq]ian|[pq]iao|sha[no]/7426/
- derive/qiang|shang/74264/
- derive/[pq]ie|she/743/
- derive/shei/7434/
- derive/shen/7436/
- derive/sheng/74364/
- derive/shi/744/
- derive/[pq]in/746/
- derive/[pq]ing/7464/
- derive/qiong/74664/
- derive/shou/7468/
- derive/qiu|shu/748/
- derive/shua/7482/
- derive/shuai/74824/
- derive/shuan/74826/
- derive/shuang/748264/
- derive/shui/7484/
- derive/shu[no]/7486/
- derive/po/76/
- derive/[rs]ong/7664/
- derive/[prs]ou/768/
- derive/[pqrs]u/78/
- derive/[prs]uan/7826/
- derive/que/783/
- derive/[rs]ui/784/
- derive/[qrs]un|[rs]uo/786/
- derive/[tuv]/8/
- derive/ta/82/
- derive/tai/824/
- derive/ta[no]/826/
- derive/tang/8264/
- derive/te/83/
- derive/tei/834/
- derive/teng/8364/
- derive/ti/84/
- derive/tia[no]/8426/
- derive/tie/843/
- derive/ting/8464/
- derive/tong/8664/
- derive/tou/868/
- derive/tu/88/
- derive/tuan/8826/
- derive/tui/884/
- derive/tu[no]/886/
- derive/[wxyz]/9/
- derive/[wyz]a/92/
- derive/[wz]ai/924/
- derive/[wyz]an|[yz]ao/926/
- derive/[wyz]ang/9264/
- derive/[yz]e/93/
- derive/[wz]ei/934/
- derive/[wz]en/936/
- derive/[wz]eng/9364/
- derive/[wyz]i/94/
- derive/xia|zha/942/
- derive/zhai/9424/
- derive/xia[no]|zha[no]/9426/
- derive/xiang|zhang/94264/
- derive/xie|zhe/943/
- derive/zhei/9434/
- derive/zhen/9436/
- derive/zheng/94364/
- derive/zhi/944/
- derive/[xy]in/946/
- derive/[xy]ing/9464/
- derive/xiong|zhong/94664/
- derive/zhou/9468/
- derive/xiu|zhu/948/
- derive/zhua/9482/
- derive/zhuai/94824/
- derive/zhuan/94826/
- derive/zhuang/948264/
- derive/zhui/9484/
- derive/zhu[no]/9486/
- derive/[wy]o/96/
- derive/[yz]ong/9664/
- derive/[yz]ou/968/
- derive/[wxyz]u/98/
- derive/[wyz]uan/9826/
- derive/[xy]ue/983/
- derive/zui/984/
- derive/[xyz]un|zuo/986/