凌韵ar-26620的任务罢了
This commit is contained in:
parent
1b51271978
commit
75ca09270c
23
.gitignore
vendored
Normal file
23
.gitignore
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
.DS_Store
|
||||
**/.idea/
|
||||
.vscode/
|
||||
dist/
|
||||
|
||||
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
|
674
LICENSE
Normal file
674
LICENSE
Normal 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>.
|
45956
cn_dicts/41448.dict.yaml
Normal file
45956
cn_dicts/41448.dict.yaml
Normal file
File diff suppressed because it is too large
Load Diff
8619
cn_dicts/8105.dict.yaml
Normal file
8619
cn_dicts/8105.dict.yaml
Normal file
File diff suppressed because it is too large
Load Diff
549357
cn_dicts/base.dict.yaml
Normal file
549357
cn_dicts/base.dict.yaml
Normal file
File diff suppressed because it is too large
Load Diff
337425
cn_dicts/ext.dict.yaml
Normal file
337425
cn_dicts/ext.dict.yaml
Normal file
File diff suppressed because it is too large
Load Diff
767
cn_dicts/others.dict.yaml
Normal file
767
cn_dicts/others.dict.yaml
Normal file
@ -0,0 +1,767 @@
|
||||
# Rime dictionary
|
||||
# encoding: utf-8
|
||||
#
|
||||
#
|
||||
# https://github.com/iDvel/rime-ice
|
||||
# ------- 一些杂项,按需选择 -------
|
||||
#
|
||||
#
|
||||
---
|
||||
name: others
|
||||
version: "2025-03-06"
|
||||
sort: by_weight
|
||||
...
|
||||
##### 容错词
|
||||
# 一些口语读音
|
||||
空落落 kong luo luo
|
||||
空落落 kong lao lao
|
||||
空落落的 kong luo luo de
|
||||
空落落的 kong lao lao de
|
||||
# 「阿房宫」的注音争议比较大
|
||||
阿房宫 e pang gong
|
||||
阿房宫 a pang gong
|
||||
阿房宫 e fang gong
|
||||
阿房宫 a fang gong
|
||||
阿房宫赋 e pang gong fu
|
||||
阿房宫赋 a pang gong fu
|
||||
阿房宫赋 e fang gong fu
|
||||
阿房宫赋 a fang gong fu
|
||||
# 「伯伯」方言
|
||||
伯伯 bo bo
|
||||
伯伯 bai bai
|
||||
# 「还」的旧读
|
||||
欲就还推 yu jiu hai tui
|
||||
欲就还推 yu jiu huan tui
|
||||
欲拒还迎 yu ju hai ying
|
||||
欲拒还迎 yu ju huan ying
|
||||
欲说还休 yu shuo hai xiu
|
||||
欲说还休 yu shuo huan xiu
|
||||
欲说还休梦已阑 yu shuo hai xiu meng yi lan
|
||||
欲说还休梦已阑 yu shuo huan xiu meng yi lan
|
||||
欲言还止 yu yan hai zhi
|
||||
欲言还止 yu yan huan zhi
|
||||
欲迎还拒 yu ying hai ju
|
||||
欲迎还拒 yu ying huan ju
|
||||
欲语还休 yu yu hai xiu
|
||||
欲语还休 yu yu huan xiu
|
||||
欲语还羞 yu yu hai xiu
|
||||
欲语还羞 yu yu huan xiu
|
||||
欲走还留 yu zou hai liu
|
||||
欲走还留 yu zou huan liu
|
||||
# 「斜」的协音读法
|
||||
远上寒山石径斜 yuan shang han shan shi jing xie
|
||||
远上寒山石径斜 yuan shang han shan shi jing xia
|
||||
# 「骑」目前统读 qi
|
||||
坐骑 zuo qi
|
||||
坐骑 zuo ji
|
||||
铁骑 tie qi
|
||||
铁骑 tie ji
|
||||
铁骑突出刀枪鸣 tie qi tu chu dao qiang ming
|
||||
铁骑突出刀枪鸣 tie ji tu chu dao qiang ming
|
||||
一骑绝尘 yi qi jue chen
|
||||
一骑绝尘 yi ji jue chen
|
||||
一骑当千 yi qi dang qian
|
||||
一骑当千 yi ji dang qian
|
||||
一骑红尘妃子笑 yi qi hong chen fei zi xiao
|
||||
一骑红尘妃子笑 yi ji hong chen fei zi xiao
|
||||
走单骑 zou dan qi
|
||||
走单骑 zou dan ji
|
||||
千里走单骑 qian li zou dan qi
|
||||
千里走单骑 qian li zou dan ji
|
||||
# 「街」的粤语和东北话读音及常见的两种写法
|
||||
仆街 pu jie
|
||||
仆街 pu gai
|
||||
扑街 pu jie
|
||||
扑街 pu gai
|
||||
扑街仔 pu jie zai
|
||||
扑街仔 pu gai zai
|
||||
仆街仔 pu jie zai
|
||||
仆街仔 pu gai zai
|
||||
街溜子 jie liu zi
|
||||
街溜子 gai liu zi
|
||||
# 「錤」这个字念 ji,但是台湾媒体都会念成 qi,他的英文名 Ming-Chi Kuo 也是接近 qi
|
||||
郭明錤 guo ming ji
|
||||
郭明錤 guo ming qi
|
||||
# 「镐 gao hao」的发音,多为韩国人名,不知道 🤷♂️,词库里为 gao,这里额外加上 hao 音
|
||||
李昌镐 li chang hao
|
||||
曹世镐 cao shi hao
|
||||
张镐哲 zhang gao zhe
|
||||
姜成镐 jiang cheng hao
|
||||
姜镐童 jiang hao tong
|
||||
张镐濂 zhang hao lian
|
||||
李敏镐 li min hao
|
||||
李陈镐 li chen hao
|
||||
赵亮镐 zhao liang hao
|
||||
郑俊镐 zheng jun hao
|
||||
|
||||
|
||||
##### 错音错字提示。与 corrector.lua 配合,上面的是正确的,下面是错误的
|
||||
### 错音
|
||||
馄饨 hun tun
|
||||
馄饨 hun dun
|
||||
主角 zhu jue
|
||||
主角 zhu jiao
|
||||
角色 jue se
|
||||
角色 jiao se
|
||||
比萨饼 bi sa bing
|
||||
比萨饼 pi sa bing
|
||||
吃比萨 chi bi sa
|
||||
吃比萨 chi pi sa
|
||||
说服 shuo fu
|
||||
说服 shui fu
|
||||
道行 dao heng
|
||||
道行 dao hang
|
||||
模样 mu yang
|
||||
模样 mo yang
|
||||
有模有样 you mu you yang
|
||||
有模有样 you mo you yang
|
||||
一模一样 yi mu yi yang
|
||||
一模一样 yi mo yi yang
|
||||
装模作样 zhuang mu zuo yang
|
||||
装模作样 zhuang mo zuo yang
|
||||
人模狗样 ren mu gou yang
|
||||
人模狗样 ren mo gou yang
|
||||
模板 mu ban
|
||||
模板 mo ban
|
||||
阿弥陀佛 e mi tuo fo
|
||||
阿弥陀佛 a mi tuo fo
|
||||
南无阿弥陀佛 na mo e mi tuo fo
|
||||
南无阿弥陀佛 na mo a mi tuo fo
|
||||
南无阿弥陀佛 nan wu e mi tuo fo
|
||||
南无阿弥陀佛 nan wu a mi tuo fo
|
||||
给予 ji yu
|
||||
给予 gei yu
|
||||
槟榔 bing lang
|
||||
槟榔 bin lang
|
||||
张柏芝 zhang bo zhi
|
||||
张柏芝 zhang bai zhi
|
||||
藤蔓 teng wan
|
||||
藤蔓 teng man
|
||||
弄堂 long tang
|
||||
弄堂 nong tang
|
||||
心宽体胖 xin kuan ti pan
|
||||
心宽体胖 xin kuan ti pang
|
||||
埋怨 man yuan
|
||||
埋怨 mai yuan
|
||||
虚与委蛇 xu yu wei yi
|
||||
虚与委蛇 xu yu wei she
|
||||
木讷 mu ne
|
||||
木讷 mu na
|
||||
独乐乐 du yue le
|
||||
独乐乐 du le le
|
||||
众乐乐 zhong yue le
|
||||
众乐乐 zhong le le
|
||||
荨麻 qian ma
|
||||
荨麻 xun ma
|
||||
荨麻疹 xun ma zhen
|
||||
荨麻疹 qian ma zhen
|
||||
模具 mu ju
|
||||
模具 mo ju
|
||||
草薙 cao ti
|
||||
草薙 cao zhi
|
||||
草薙京 cao ti jing
|
||||
草薙京 cao zhi jing
|
||||
草薙剑 cao ti jian
|
||||
草薙剑 cao zhi jian
|
||||
贾平凹 jia ping wa
|
||||
贾平凹 jia ping ao
|
||||
雪佛兰 xue fu lan
|
||||
雪佛兰 xue fo lan
|
||||
强劲 qiang jing
|
||||
强劲 qiang jin
|
||||
胴体 dong ti
|
||||
胴体 tong ti
|
||||
力能扛鼎 li neng gang ding
|
||||
力能扛鼎 li neng kang ding
|
||||
鸭绿江 ya lu jiang
|
||||
鸭绿江 ya lv jiang
|
||||
大腹便便 da fu pian pian
|
||||
大腹便便 da fu bian bian
|
||||
卡脖子 qia bo zi
|
||||
卡脖子 ka bo zi
|
||||
吱声 zi sheng
|
||||
吱声 zhi sheng
|
||||
掺和 chan huo
|
||||
掺和 chan he
|
||||
掺和 can huo
|
||||
掺和 can he
|
||||
称职 chen zhi
|
||||
称职 cheng zhi
|
||||
螺蛳粉 luo si fen
|
||||
螺蛳粉 luo shi fen
|
||||
调换 diao huan
|
||||
调换 tiao huan
|
||||
太行山 tai hang shan
|
||||
太行山 tai xing shan
|
||||
歇斯底里 xie si di li
|
||||
歇斯底里 jie si di li
|
||||
发酵 fa jiao
|
||||
发酵 fa xiao
|
||||
酵母菌 jiao mu jun
|
||||
酵母菌 xiao mu jun
|
||||
殷红 yan hong
|
||||
殷红 yin hong
|
||||
暖和 nuan huo
|
||||
暖和 nuan he
|
||||
模棱两可 mo leng liang ke
|
||||
模棱两可 mo ling liang ke
|
||||
鄱阳湖 po yang hu
|
||||
鄱阳湖 pan yang hu
|
||||
脖颈 bo geng
|
||||
脖颈 bo jing
|
||||
脖颈儿 bo geng er
|
||||
脖颈儿 bo jing er
|
||||
牛皮癣 niu pi xuan
|
||||
牛皮癣 niu pi xian
|
||||
花斑癣 hua ban xuan
|
||||
花斑癣 hua ban xian
|
||||
体癣 ti xuan
|
||||
体癣 ti xian
|
||||
股癣 gu xuan
|
||||
股癣 gu xian
|
||||
脚癣 jiao xuan
|
||||
脚癣 jiao xian
|
||||
足癣 zu xuan
|
||||
足癣 zu xian
|
||||
结扎 jie za
|
||||
结扎 jie zha
|
||||
海参崴 hai shen wai
|
||||
海参崴 hai shen wei
|
||||
厚朴 hou po
|
||||
厚朴 hou pu
|
||||
大宛马 da yuan ma
|
||||
大宛马 da wan ma
|
||||
龇牙 zi ya
|
||||
龇牙 ci ya
|
||||
龇着牙 zi zhe ya
|
||||
龇着牙 ci zhe ya
|
||||
龇牙咧嘴 zi ya lie zui
|
||||
龇牙咧嘴 ci ya lie zui
|
||||
头皮屑 tou pi xie
|
||||
头皮屑 tou pi xue
|
||||
六安 lu an
|
||||
六安 liu an
|
||||
六安县 lu an xian
|
||||
六安县 liu an xian
|
||||
六安市 lu an shi
|
||||
六安市 liu an shi
|
||||
六合区 lu he qu
|
||||
六合区 liu he qu
|
||||
安徽六安 an hui lu an
|
||||
安徽六安 an hui liu an
|
||||
安徽六安市 an hui lu an shi
|
||||
安徽六安市 an hui liu an shi
|
||||
安徽省六安市 an hui sheng lu an shi
|
||||
安徽省六安市 an hui sheng liu an shi
|
||||
南京六合 nan jing lu he
|
||||
南京六合 nan jing liu he
|
||||
南京六合区 nan jing lu he qu
|
||||
南京六合区 nan jing liu he qu
|
||||
南京市六合区 nan jing shi lu he qu
|
||||
南京市六合区 nan jing shi liu he qu
|
||||
偌大 ruo da
|
||||
偌大 nuo da
|
||||
饮鸩止渴 yin zhen zhi ke
|
||||
饮鸩止渴 yin jiu zhi ke
|
||||
饮鸩解渴 yin zhen jie ke
|
||||
饮鸩解渴 yin jiu jie ke
|
||||
宫商角徵羽 gong shang jue zhi yu
|
||||
宫商角徵羽 gong shang jiao zhi yu
|
||||
氙气灯 xian qi deng
|
||||
氙气灯 shan qi deng
|
||||
氙气大灯 xian qi da deng
|
||||
氙气大灯 shan qi da deng
|
||||
氙气手电筒 xian qi shou dian tong
|
||||
氙气手电筒 shan qi shou dian tong
|
||||
应该 ying gai
|
||||
应该 yin gai
|
||||
粘贴 zhan tie
|
||||
粘贴 nian tie
|
||||
高句丽 gao gou li
|
||||
高句丽 gao ju li
|
||||
角斗士 jue dou shi
|
||||
角斗士 jiao dou shi
|
||||
缩砂密 su sha mi
|
||||
缩砂密 suo sha mi
|
||||
迫击炮 pai ji pao
|
||||
迫击炮 po ji pao
|
||||
榅桲 wen po
|
||||
榅桲 wen bo
|
||||
荸荠 bi qi
|
||||
荸荠 bi ji
|
||||
柔荑 rou ti
|
||||
柔荑 rou yi
|
||||
柔荑花序 rou ti hua xu
|
||||
柔荑花序 rou yi hua xu
|
||||
手如柔荑 shou ru rou ti
|
||||
手如柔荑 shou ru rou yi
|
||||
温庭筠 wen ting yun
|
||||
温庭筠 wen ting jun
|
||||
朱祐樘 zhu you cheng
|
||||
朱祐樘 zhu you tang
|
||||
关卡 guan qia
|
||||
关卡 guan ka 1000
|
||||
三昧真火 san mei zhen huo
|
||||
三昧真火 san wei zhen huo
|
||||
青𬞟之末 qing pin zhi mo
|
||||
青𬞟之末 qing ping zhi mo
|
||||
起于青𬞟之末 qi yu qing pin zhi mo
|
||||
起于青𬞟之末 qi yu qing ping zhi mo
|
||||
风起于青𬞟之末 feng qi yu qing pin zhi mo
|
||||
风起于青𬞟之末 feng qi yu qing ping zhi mo
|
||||
优惠券 you hui quan
|
||||
优惠券 you hui juan
|
||||
拱券 gong xuan
|
||||
拱券 gong quan
|
||||
哺乳 bu ru
|
||||
哺乳 pu ru
|
||||
脑卒中 nao cu zhong
|
||||
脑卒中 nao zu zhong
|
||||
潟湖 xi hu
|
||||
潟湖 xie hu
|
||||
果脯 guo fu
|
||||
果脯 guo pu
|
||||
肉脯 rou fu
|
||||
肉脯 rou pu
|
||||
脯氨酸 fu an suan
|
||||
脯氨酸 pu an suan
|
||||
酪氨酸 lao an suan
|
||||
酪氨酸 luo an suan
|
||||
没食子 mo shi zi
|
||||
没食子 mei shi zi
|
||||
裳凤蝶 chang feng die
|
||||
裳凤蝶 shang feng die
|
||||
白𬶨豚 bai ji tun
|
||||
白𬶨豚 bai qi tun
|
||||
桡骨 rao gu
|
||||
桡骨 nao gu
|
||||
百折不挠 bai zhe bu nao
|
||||
百折不挠 bai zhe bu rao
|
||||
椎心泣血 chui xin qi xie
|
||||
椎心泣血 zhui xin qi xie
|
||||
椎心泣血 chui xin qi xue
|
||||
椎心泣血 zhui xin qi xue
|
||||
挟持 xie chi
|
||||
挟持 xia chi
|
||||
亳州 bo zhou
|
||||
亳州 hao zhou
|
||||
牛丼 niu dan
|
||||
牛丼 niu jing
|
||||
牛丼饭 niu dan fan
|
||||
牛丼饭 niu jing fan
|
||||
安瓿 an bu
|
||||
安瓿 an pou
|
||||
安瓿瓶 an bu ping
|
||||
安瓿瓶 an pou ping
|
||||
解剖 jie pou
|
||||
解剖 jie pao
|
||||
剖分 pou fen
|
||||
剖分 pao fen
|
||||
剖腹产 pou fu chan
|
||||
剖腹产 pao fu chan
|
||||
剖宫产 pou gong chan
|
||||
剖宫产 pao gong chan
|
||||
金匮 jin gui
|
||||
金匮 jin kui
|
||||
清平乐 qing ping yue
|
||||
清平乐 qing ping le
|
||||
踏莎行 ta suo xing
|
||||
踏莎行 ta sha xing
|
||||
莎草 suo cao
|
||||
莎草 sha cao
|
||||
杉木 sha mu
|
||||
杉木 shan mu
|
||||
道在屎溺 dao zai shi niao
|
||||
道在屎溺 dao zai shi ni
|
||||
### 错字
|
||||
曾经 ceng jing
|
||||
曾今 ceng jin
|
||||
按捺 an na
|
||||
按耐 an nai
|
||||
按捺不住 an na bu zhu
|
||||
按耐不住 an nai bu zhu
|
||||
别价 bie jie
|
||||
别介 bie jie
|
||||
甭价 beng jie
|
||||
甭介 beng jie
|
||||
血脉贲张 xue mai ben zhang
|
||||
血脉偾张 xue mai fen zhang
|
||||
血脉喷张 xue mai pen zhang
|
||||
契诃夫 qi he fu
|
||||
契科夫 qi ke fu
|
||||
凑合 cou he
|
||||
凑活 cou huo
|
||||
巨惠 ju hui
|
||||
钜惠 ju hui
|
||||
摩羯座 mo jie zuo
|
||||
魔蝎座 mo xie zuo
|
||||
比萨 bi sa
|
||||
披萨 pi sa
|
||||
㹴犬 geng quan
|
||||
梗犬 geng quan
|
||||
|
||||
|
||||
##### 叠字
|
||||
# 数据来源: 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 si
|
||||
两个厶 liang ge mou
|
||||
两个又
|
||||
两个香
|
||||
两个面
|
||||
两个兀
|
||||
两个女
|
||||
两个𡥦 liang ge ni
|
||||
两个臣
|
||||
两个巾
|
||||
两个左
|
||||
两个母
|
||||
两个来
|
||||
两个凡
|
||||
两个夕
|
||||
两个彐 liang ge ji
|
||||
两个𢎘 liang ge han
|
||||
两个魚 liang ge yu
|
||||
两个明
|
||||
两个朿 liang ge ci
|
||||
两个乂
|
||||
两个曰
|
||||
两个尸
|
||||
两个户
|
||||
两个大
|
||||
两个八
|
||||
两个而
|
||||
两个羊
|
||||
两个吉
|
||||
两个马
|
||||
两个卅
|
||||
两个巛 liang ge chuan
|
||||
两个止
|
||||
两个比
|
||||
两个言
|
||||
两个申
|
||||
两个牛
|
||||
两个余
|
||||
两个束
|
||||
两个罒 liang ge mu
|
||||
两个㐅 liang ge wu
|
||||
两个金
|
||||
两个木
|
||||
两个水
|
||||
两个火
|
||||
两个風 liang ge feng
|
||||
两个石
|
||||
两个口
|
||||
两个日
|
||||
两个月
|
||||
两个目
|
||||
两个白
|
||||
两个百
|
||||
两个耳
|
||||
两个山
|
||||
两个屮 liang ge che
|
||||
两个屮 liang ge cao
|
||||
两个廿
|
||||
两个卄 liang ge nian
|
||||
两个虫
|
||||
两个虎
|
||||
两个龍 liang ge long
|
||||
两个馬 liang ge ma
|
||||
两个犬
|
||||
两个人
|
||||
两个入
|
||||
两个习
|
||||
两个卪 liang ge jie
|
||||
两个㔾 liang ge jie
|
||||
两个几
|
||||
两个乙
|
||||
两个大
|
||||
两个夫
|
||||
两个禾
|
||||
两个干
|
||||
两个井
|
||||
两个斤
|
||||
两个片
|
||||
两个牙
|
||||
两个炎
|
||||
两个弓
|
||||
两个永
|
||||
两个亦
|
||||
两个手
|
||||
两个毛
|
||||
两个王
|
||||
两个男
|
||||
两个女
|
||||
两个又
|
||||
两个支
|
||||
两个隻 liang ge zhi
|
||||
两个古
|
||||
两个吉
|
||||
两个舌
|
||||
两个言
|
||||
两个户
|
||||
两个启
|
||||
两个來 liang ge lai
|
||||
两个桼 liang ge qi
|
||||
两个旡 liang ge ji
|
||||
两个夕
|
||||
两个歹
|
||||
两个匕
|
||||
两个幺
|
||||
两个玄
|
||||
两个心
|
||||
两个力
|
||||
两个欠
|
||||
两个子
|
||||
两个予
|
||||
两个享
|
||||
两个立
|
||||
两个音
|
||||
两个竟
|
||||
两个竞
|
||||
两个兄
|
||||
两个見 liang ge jian
|
||||
两个貝 liang ge bei
|
||||
两个辛
|
||||
两个瓜
|
||||
两个呆
|
||||
两个果
|
||||
两个鸟
|
||||
两个巢
|
||||
两个禺 liang ge yu
|
||||
两个巿 liang ge fu
|
||||
两个句
|
||||
两个奇
|
||||
两个真
|
||||
两个尹
|
||||
两个昔
|
||||
两个易
|
||||
两个臣
|
||||
两个面
|
||||
两个先
|
||||
两个老
|
||||
两个示
|
||||
两个至
|
||||
两个生
|
||||
两个車 liang ge che
|
||||
两个車 liang ge ju
|
||||
两个足
|
||||
两个區 liang ge qu
|
||||
两个香
|
||||
两个隹 liang ge zhui
|
||||
两个牟
|
||||
两个豕
|
||||
两个𠂢 liang ge pai
|
||||
两个畐 liang ge fu
|
||||
两个㣇 liang ge yi
|
||||
两个邑
|
||||
两个堯 liang ge yao
|
||||
两个秉
|
||||
两个倉 liang ge cang
|
||||
两个東 liang ge dong
|
||||
两个善
|
||||
两个僉 liang ge qian
|
||||
两个齒 liang ge chi
|
||||
两个喜
|
||||
两个走
|
||||
两个止
|
||||
两个昌
|
||||
两个串
|
||||
两个米
|
||||
两个束
|
||||
两个隶
|
||||
两个不
|
||||
两个龙
|
||||
两个乞
|
||||
两个夋 liang ge qun
|
||||
两个天
|
||||
# 三叠字
|
||||
三个生
|
||||
三个秦
|
||||
三个若
|
||||
三个雲 san ge yun
|
||||
三个人
|
||||
三个刀
|
||||
三个十
|
||||
三个力
|
||||
三个原
|
||||
三个厶 san ge si
|
||||
三个厶 san ge mou
|
||||
三个又
|
||||
三个口
|
||||
三个七
|
||||
三个吉
|
||||
三个土
|
||||
三个士
|
||||
三个女
|
||||
三个子
|
||||
三个小
|
||||
三个心
|
||||
三个手
|
||||
三个日
|
||||
三个木
|
||||
三个止
|
||||
三个毛
|
||||
三个水
|
||||
三个泉
|
||||
三个火
|
||||
三个牛
|
||||
三个犬
|
||||
三个田
|
||||
三个白
|
||||
三个目
|
||||
三个直
|
||||
三个石
|
||||
三个羊
|
||||
三个耳
|
||||
三个舌
|
||||
三个屮 san ge che
|
||||
三个屮 san ge cao
|
||||
三个虫
|
||||
三个言
|
||||
三个贝
|
||||
三个車 san ge che
|
||||
三个金
|
||||
三个隹 san ge zhui
|
||||
三个雷
|
||||
三个風 san ge feng
|
||||
三个飛 san ge fei
|
||||
三个香
|
||||
三个马
|
||||
三个魚 san ge yu
|
||||
三个鹿
|
||||
三个龍 san ge long
|
||||
三个个
|
||||
三个丶 san ge zhu
|
||||
三个丶 san ge dian
|
||||
三个了
|
||||
三个介
|
||||
三个企
|
||||
三个舍
|
||||
三个圥 san ge lu
|
||||
三个光
|
||||
三个兔
|
||||
三个全
|
||||
三个𠙽 san ge kuai
|
||||
三个𠧪 san ge tiao
|
||||
三个𠧪 san ge you
|
||||
三个㔾 san ge jie
|
||||
三个厡 san ge yuan
|
||||
三个可
|
||||
三个因
|
||||
三个夏
|
||||
三个大
|
||||
三个天
|
||||
三个太
|
||||
三个𦉼 san ge ku
|
||||
三个宝
|
||||
三个宜
|
||||
三个客
|
||||
三个寒
|
||||
三个少
|
||||
三个山
|
||||
三个市
|
||||
三个文
|
||||
三个斗
|
||||
三个朿 san ge ci
|
||||
三个束
|
||||
三个林
|
||||
三个果
|
||||
三个欠
|
||||
三个𣥚 san ge zou
|
||||
三个爪
|
||||
三个妥
|
||||
三个用
|
||||
三个甲
|
||||
三个百
|
||||
三个盖
|
||||
三个県 san ge xian
|
||||
三个空
|
||||
三个亇 san ge ge
|
||||
三个竹
|
||||
三个罒 san ge mu
|
||||
三个羗 san ge qiang
|
||||
三个老
|
||||
三个月
|
||||
三个至
|
||||
三个興 san ge xing
|
||||
三个足
|
||||
三个㖖 san ge nie
|
||||
三个門 san ge men
|
||||
三个面
|
||||
三个頁 san ge ye
|
||||
三个鳥 san ge niao
|
||||
三个男
|
||||
三个立
|
||||
三个九
|
||||
三个也
|
||||
三个加
|
||||
三个動 san ge dong
|
||||
三个千
|
||||
三个方
|
||||
三个朔
|
||||
三个玉
|
||||
三个申
|
||||
三个𡿨 san ge quan
|
||||
三个去
|
||||
三个弓
|
||||
三个䖝 san ge chong
|
||||
三个丿 san ge pie
|
||||
三个户
|
||||
三个瓜
|
||||
三个鸟
|
||||
三个米
|
||||
# 四叠字
|
||||
四个乂 si ge yi
|
||||
四个人
|
||||
四个厶 si ge si
|
||||
四个厶 si ge mou
|
||||
四个又
|
||||
四个匕
|
||||
四个工
|
||||
四个口
|
||||
四个天
|
||||
四个小
|
||||
四个屮 si ge che
|
||||
四个屮 si ge cao
|
||||
四个火
|
||||
四个牛
|
||||
四个魚 si ge yu
|
||||
四个月
|
||||
四个日
|
||||
四个林
|
||||
四个水
|
||||
四个石
|
||||
四个田
|
||||
四个甲
|
||||
四个且
|
||||
四个囚
|
||||
四个困
|
||||
四个竹
|
||||
四个老
|
||||
四个朿 si ge ci
|
||||
四个先
|
||||
四个金
|
||||
四个泉
|
||||
四个言
|
||||
四个門 si ge men
|
||||
四个果
|
||||
四个春
|
||||
四个車 si ge che
|
||||
四个風 si ge feng
|
||||
四个雷
|
||||
四个雲 si ge yun
|
||||
四个興 si ge xing
|
||||
四个龍 si ge long
|
||||
四个土
|
980935
cn_dicts/tencent.dict.yaml
Normal file
980935
cn_dicts/tencent.dict.yaml
Normal file
File diff suppressed because it is too large
Load Diff
64
custom_phrase.txt
Normal file
64
custom_phrase.txt
Normal file
@ -0,0 +1,64 @@
|
||||
# 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"
|
||||
#
|
||||
# 此行之后不能写注释
|
||||
|
||||
噷 hm
|
||||
呣 m
|
||||
呒 m
|
||||
|
||||
有 u 3
|
||||
又 u 2
|
||||
由 u 1
|
||||
|
||||
一 i 4
|
||||
以 i 3
|
||||
已 i 2
|
||||
亦 i 1
|
||||
|
||||
一个 ig
|
||||
有个 ug
|
||||
是一个 sig
|
||||
有一个 uig
|
||||
有一个 uyig
|
||||
有一个 uyige
|
||||
有没有 umu
|
||||
有没有 umeiu
|
||||
又有 uu
|
||||
又又又 uuu
|
||||
又双叒叕 uuuu
|
||||
|
||||
go go
|
||||
Golang golang
|
||||
Hugo hugo
|
||||
goto goto
|
||||
domain domain
|
||||
TODO todo
|
||||
Dota dota
|
||||
main main
|
||||
Amazon amazon
|
||||
NASA nasa
|
||||
gone gone
|
||||
Go程 gocheng
|
||||
code code
|
||||
SOHO soho
|
367
default.yaml
Normal file
367
default.yaml
Normal file
@ -0,0 +1,367 @@
|
||||
# Rime default settings
|
||||
# encoding: utf-8
|
||||
|
||||
|
||||
# 要比共享目录的同名文件的 config_version 大才可以生效
|
||||
config_version: '2025-02-24'
|
||||
|
||||
|
||||
# 方案列表
|
||||
schema_list:
|
||||
# 可以直接删除或注释不需要的方案,对应的 *.schema.yaml 方案文件也可以直接删除
|
||||
# 除了 t9,它依赖于 rime_ice,用九宫格别删 rime_ice.schema.yaml
|
||||
- schema: rime_ice # 雾凇拼音(全拼)
|
||||
- schema: t9 # 九宫格(仓输入法)
|
||||
- schema: double_pinyin # 自然码双拼
|
||||
- schema: double_pinyin_abc # 智能 ABC 双拼
|
||||
- schema: double_pinyin_mspy # 微软双拼
|
||||
- schema: double_pinyin_sogou # 搜狗双拼
|
||||
- schema: double_pinyin_flypy # 小鹤双拼
|
||||
- schema: double_pinyin_ziguang # 紫光双拼
|
||||
|
||||
|
||||
# 菜单
|
||||
menu:
|
||||
page_size: 5 # 候选词个数
|
||||
# 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:
|
||||
digit_separators: ",.:" # 在此处指定的字符,在数字后被输入,若再次输入数字,则连同数字直接上屏;若双击,则恢复映射。 # librime >= 28a234f
|
||||
# digit_separator_action: commit # 关闭上述行为 librime >= 1.13.1
|
||||
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 } # 上一页设置为 paging 时会导致直接上屏并输出减号
|
||||
- { 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}
|
||||
# 将小键盘 + - * / 映射到主键盘,使计算器 如 1+2-3*4 可使用小键盘输入
|
||||
- {accept: KP_Multiply, send: asterisk, when: composing}
|
||||
- {accept: KP_Add, send: plus, when: composing}
|
||||
- {accept: KP_Subtract, send: minus, when: composing}
|
||||
- {accept: KP_Divide, send: slash, 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
|
358
double_pinyin.schema.yaml
Normal file
358
double_pinyin.schema.yaml
Normal file
@ -0,0 +1,358 @@
|
||||
# Rime schema
|
||||
# encoding: utf-8
|
||||
|
||||
# 复制自 rime_ice.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) 或 others/双拼补丁示例/ 文件夹
|
||||
|
||||
|
||||
# 方案说明
|
||||
schema:
|
||||
schema_id: 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: [ 中, A ]
|
||||
- name: ascii_punct # 中英标点
|
||||
states: [ ¥, $ ]
|
||||
- name: traditionalization
|
||||
states: [ 简, 繁 ]
|
||||
- name: emoji
|
||||
states: [ 💀, 😄 ]
|
||||
reset: 1
|
||||
- name: full_shape
|
||||
states: [ 半角, 全角 ]
|
||||
- name: search_single_char # search.lua 的功能开关,辅码查词时是否单字优先
|
||||
states: [正常, 单字]
|
||||
abbrev: [词, 单]
|
||||
|
||||
|
||||
# 输入引擎
|
||||
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@*calc_translator # 计算器
|
||||
- lua_translator@*force_gc # 暴力 GC
|
||||
filters:
|
||||
- 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@*search@radical_pinyin # 部件拆字辅码
|
||||
- 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 配置: 降低部分英语单词在候选项的位置。
|
||||
# 详细介绍 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, 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_ice # 挂载词库 rime_ice.dict.yaml
|
||||
enable_word_completion: true # 大于 4 音节的词条自动补全,librime > 1.11.2
|
||||
prism: 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/(^|[ '])aa/$1a/
|
||||
- xform/(^|[ '])ee/$1e/
|
||||
- xform/(^|[ '])oo/$1o/
|
||||
- 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
|
||||
- xform/(?<=[A-Z])\s(?=[A-Z])// # 消除大写字母之间的空格
|
||||
|
||||
|
||||
# 次翻译器,英文
|
||||
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 # 对应 switches 中的 name
|
||||
opencc_config: emoji.json # 选择要加载的 OpenCC 配置
|
||||
inherit_comment: false # 在 corrector.lua 及反查中,emoji 的 comment 显示为空
|
||||
|
||||
|
||||
# 简繁切换
|
||||
traditionalize:
|
||||
option_name: traditionalization # 对应 switches 中的 name
|
||||
opencc_config: s2t.json # s2t.json | s2hk.json | s2tw.json | s2twp.json (Rime 内置配置,在程序目录可找到)
|
||||
tips: none # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。
|
||||
tags: [ abc, number, gregorian_to_lunar ] # 限制在对应 tag,不对其他如反查的内容做简繁转换
|
||||
|
||||
|
||||
# 标点符号
|
||||
# punctuator 下面的三个子项:
|
||||
# full_shape 全角标点映射
|
||||
# half_shape 半角标点映射
|
||||
# symbols Rime 的预设配置是以 '/' 前缀开头输出一系列字符,自定义的 symbols_caps_v.yaml 修改成了 'V' 开头。
|
||||
# 以及新版 digit_separators 相关的属性
|
||||
punctuator:
|
||||
__include: default:/punctuator # 从 default.yaml 导入 punctuator 的所有配置,为了引用 digit_separators 等属性
|
||||
full_shape:
|
||||
__include: default:/punctuator/full_shape # 从 default.yaml 导入配置
|
||||
half_shape:
|
||||
__include: default:/punctuator/half_shape # 从 default.yaml 导入配置
|
||||
symbols:
|
||||
__include: symbols_caps_v:/symbols # 从 symbols_caps_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#反查带声调注音
|
||||
dictionary: rime_ice
|
||||
# comment_format: # 自定义 comment,例如在左右加上括号
|
||||
# - xform/^/(/
|
||||
# - xform/$/)/
|
||||
|
||||
|
||||
# 处理符合特定规则的输入码,如网址、反查
|
||||
|
||||
recognizer:
|
||||
import_preset: default # 从 default.yaml 继承通用的
|
||||
patterns: # 再增加方案专有的:
|
||||
punct: "^V([0-9]|10|[A-Za-z]+)$" # 响应 symbols_caps_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,数字金额大写
|
||||
calculator: "^cC.+" # 响应 lua_translator@*calc_translator,计算器。前缀设定项 calculator/prefix
|
||||
gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@*lunar,公历转农历,输入 N20240115 得到「二〇二三年腊月初五」
|
||||
|
||||
|
||||
# 从 default 继承快捷键
|
||||
key_binder:
|
||||
import_preset: default # 从 default.yaml 继承通用的
|
||||
search: "`" # 辅码引导符,要添加到 speller/alphabet
|
||||
# bindings: # 也可以再增加方案专有的
|
||||
|
||||
|
||||
# editor 用来定制操作键的行为,以下是默认行为 https://github.com/rime/librime/blob/master/src/rime/gear/editor.cc
|
||||
editor:
|
||||
bindings:
|
||||
space: confirm # 空格键:上屏候选项
|
||||
Return: commit_raw_input # 回车键:上屏原始输入
|
||||
Control+Return: commit_script_text # Ctrl+回车键:上屏变换后输入(经过 preedit_format 转换的)
|
||||
Control+Shift+Return: commit_comment # Ctrl+Shift+回车键:上屏 comment
|
||||
BackSpace: revert # 退格键:向前删除(撤消上次输入)
|
||||
Delete: delete # Delete 键:向后删除
|
||||
Control+BackSpace: back_syllable # Ctrl+退格键:删除一个音节
|
||||
Control+Delete: delete_candidate # Ctrl+Delete键:删除或降权候选项
|
||||
Escape: cancel # Esc 键:取消输入
|
||||
|
||||
|
||||
# 拼写设定
|
||||
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 的问题
|
355
double_pinyin_abc.schema.yaml
Normal file
355
double_pinyin_abc.schema.yaml
Normal file
@ -0,0 +1,355 @@
|
||||
# Rime schema
|
||||
# encoding: utf-8
|
||||
|
||||
# 复制自 rime_ice.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) 或 others/双拼补丁示例/ 文件夹
|
||||
|
||||
|
||||
# 方案说明
|
||||
schema:
|
||||
schema_id: 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: [ 中, A ]
|
||||
- name: ascii_punct # 中英标点
|
||||
states: [ ¥, $ ]
|
||||
- name: traditionalization
|
||||
states: [ 简, 繁 ]
|
||||
- name: emoji
|
||||
states: [ 💀, 😄 ]
|
||||
reset: 1
|
||||
- name: full_shape
|
||||
states: [ 半角, 全角 ]
|
||||
- name: search_single_char # search.lua 的功能开关,辅码查词时是否单字优先
|
||||
states: [正常, 单字]
|
||||
abbrev: [词, 单]
|
||||
|
||||
|
||||
# 输入引擎
|
||||
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@*calc_translator # 计算器
|
||||
- lua_translator@*force_gc # 暴力 GC
|
||||
filters:
|
||||
- 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@*search@radical_pinyin # 部件拆字辅码
|
||||
- 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 配置: 降低部分英语单词在候选项的位置。
|
||||
# 详细介绍 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, 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_ice # 挂载词库 rime_ice.dict.yaml
|
||||
enable_word_completion: true # 大于 4 音节的词条自动补全,librime > 1.11.2
|
||||
prism: 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
|
||||
- xform/(?<=[A-Z])\s(?=[A-Z])// # 消除大写字母之间的空格
|
||||
|
||||
|
||||
# 次翻译器,英文
|
||||
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 # 对应 switches 中的 name
|
||||
opencc_config: emoji.json # 选择要加载的 OpenCC 配置
|
||||
inherit_comment: false # 在 corrector.lua 及反查中,emoji 的 comment 显示为空
|
||||
|
||||
|
||||
# 简繁切换
|
||||
traditionalize:
|
||||
option_name: traditionalization # 对应 switches 中的 name
|
||||
opencc_config: s2t.json # s2t.json | s2hk.json | s2tw.json | s2twp.json (Rime 内置配置,在程序目录可找到)
|
||||
tips: none # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。
|
||||
tags: [ abc, number, gregorian_to_lunar ] # 限制在对应 tag,不对其他如反查的内容做简繁转换
|
||||
|
||||
|
||||
# 标点符号
|
||||
# punctuator 下面的三个子项:
|
||||
# full_shape 全角标点映射
|
||||
# half_shape 半角标点映射
|
||||
# symbols Rime 的预设配置是以 '/' 前缀开头输出一系列字符,自定义的 symbols_caps_v.yaml 修改成了 'V' 开头。
|
||||
# 以及新版 digit_separators 相关的属性
|
||||
punctuator:
|
||||
__include: default:/punctuator # 从 default.yaml 导入 punctuator 的所有配置,为了引用 digit_separators 等属性
|
||||
full_shape:
|
||||
__include: default:/punctuator/full_shape # 从 default.yaml 导入配置
|
||||
half_shape:
|
||||
__include: default:/punctuator/half_shape # 从 default.yaml 导入配置
|
||||
symbols:
|
||||
__include: symbols_caps_v:/symbols # 从 symbols_caps_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#反查带声调注音
|
||||
dictionary: rime_ice
|
||||
# comment_format: # 自定义 comment,例如在左右加上括号
|
||||
# - xform/^/(/
|
||||
# - xform/$/)/
|
||||
|
||||
|
||||
# 处理符合特定规则的输入码,如网址、反查
|
||||
|
||||
recognizer:
|
||||
import_preset: default # 从 default.yaml 继承通用的
|
||||
patterns: # 再增加方案专有的:
|
||||
punct: "^V([0-9]|10|[A-Za-z]+)$" # 响应 symbols_caps_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,数字金额大写
|
||||
calculator: "^cC.+" # 响应 lua_translator@*calc_translator,计算器。前缀设定项 calculator/prefix
|
||||
gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@*lunar,公历转农历,输入 N20240115 得到「二〇二三年腊月初五」
|
||||
|
||||
|
||||
# 从 default 继承快捷键
|
||||
key_binder:
|
||||
import_preset: default # 从 default.yaml 继承通用的
|
||||
search: "`" # 辅码引导符,要添加到 speller/alphabet
|
||||
# bindings: # 也可以再增加方案专有的
|
||||
|
||||
|
||||
# editor 用来定制操作键的行为,以下是默认行为 https://github.com/rime/librime/blob/master/src/rime/gear/editor.cc
|
||||
editor:
|
||||
bindings:
|
||||
space: confirm # 空格键:上屏候选项
|
||||
Return: commit_raw_input # 回车键:上屏原始输入
|
||||
Control+Return: commit_script_text # Ctrl+回车键:上屏变换后输入(经过 preedit_format 转换的)
|
||||
Control+Shift+Return: commit_comment # Ctrl+Shift+回车键:上屏 comment
|
||||
BackSpace: revert # 退格键:向前删除(撤消上次输入)
|
||||
Delete: delete # Delete 键:向后删除
|
||||
Control+BackSpace: back_syllable # Ctrl+退格键:删除一个音节
|
||||
Control+Delete: delete_candidate # Ctrl+Delete键:删除或降权候选项
|
||||
Escape: cancel # Esc 键:取消输入
|
||||
|
||||
|
||||
# 拼写设定
|
||||
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 的问题
|
358
double_pinyin_flypy.schema.yaml
Normal file
358
double_pinyin_flypy.schema.yaml
Normal file
@ -0,0 +1,358 @@
|
||||
# Rime schema
|
||||
# encoding: utf-8
|
||||
|
||||
# 复制自 rime_ice.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) 或 others/双拼补丁示例/ 文件夹
|
||||
|
||||
|
||||
# 方案说明
|
||||
schema:
|
||||
schema_id: 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: [ 中, A ]
|
||||
- name: ascii_punct # 中英标点
|
||||
states: [ ¥, $ ]
|
||||
- name: traditionalization
|
||||
states: [ 简, 繁 ]
|
||||
- name: emoji
|
||||
states: [ 💀, 😄 ]
|
||||
reset: 1
|
||||
- name: full_shape
|
||||
states: [ 半角, 全角 ]
|
||||
- name: search_single_char # search.lua 的功能开关,辅码查词时是否单字优先
|
||||
states: [正常, 单字]
|
||||
abbrev: [词, 单]
|
||||
|
||||
|
||||
# 输入引擎
|
||||
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@*calc_translator # 计算器
|
||||
- lua_translator@*force_gc # 暴力 GC
|
||||
filters:
|
||||
- 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@*search@radical_pinyin # 部件拆字辅码
|
||||
- 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 配置: 降低部分英语单词在候选项的位置。
|
||||
# 详细介绍 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, 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_ice # 挂载词库 rime_ice.dict.yaml
|
||||
enable_word_completion: true # 大于 4 音节的词条自动补全,librime > 1.11.2
|
||||
prism: 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/(^|[ '])aa/$1a/
|
||||
- xform/(^|[ '])ee/$1e/
|
||||
- xform/(^|[ '])oo/$1o/
|
||||
- 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
|
||||
- xform/(?<=[A-Z])\s(?=[A-Z])// # 消除大写字母之间的空格
|
||||
|
||||
|
||||
# 次翻译器,英文
|
||||
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 # 对应 switches 中的 name
|
||||
opencc_config: emoji.json # 选择要加载的 OpenCC 配置
|
||||
inherit_comment: false # 在 corrector.lua 及反查中,emoji 的 comment 显示为空
|
||||
|
||||
|
||||
# 简繁切换
|
||||
traditionalize:
|
||||
option_name: traditionalization # 对应 switches 中的 name
|
||||
opencc_config: s2t.json # s2t.json | s2hk.json | s2tw.json | s2twp.json (Rime 内置配置,在程序目录可找到)
|
||||
tips: none # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。
|
||||
tags: [ abc, number, gregorian_to_lunar ] # 限制在对应 tag,不对其他如反查的内容做简繁转换
|
||||
|
||||
|
||||
# 标点符号
|
||||
# punctuator 下面的三个子项:
|
||||
# full_shape 全角标点映射
|
||||
# half_shape 半角标点映射
|
||||
# symbols Rime 的预设配置是以 '/' 前缀开头输出一系列字符,自定义的 symbols_caps_v.yaml 修改成了 'V' 开头。
|
||||
# 以及新版 digit_separators 相关的属性
|
||||
punctuator:
|
||||
__include: default:/punctuator # 从 default.yaml 导入 punctuator 的所有配置,为了引用 digit_separators 等属性
|
||||
full_shape:
|
||||
__include: default:/punctuator/full_shape # 从 default.yaml 导入配置
|
||||
half_shape:
|
||||
__include: default:/punctuator/half_shape # 从 default.yaml 导入配置
|
||||
symbols:
|
||||
__include: symbols_caps_v:/symbols # 从 symbols_caps_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#反查带声调注音
|
||||
dictionary: rime_ice
|
||||
# comment_format: # 自定义 comment,例如在左右加上括号
|
||||
# - xform/^/(/
|
||||
# - xform/$/)/
|
||||
|
||||
|
||||
# 处理符合特定规则的输入码,如网址、反查
|
||||
|
||||
recognizer:
|
||||
import_preset: default # 从 default.yaml 继承通用的
|
||||
patterns: # 再增加方案专有的:
|
||||
punct: "^V([0-9]|10|[A-Za-z]+)$" # 响应 symbols_caps_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,数字金额大写
|
||||
calculator: "^cC.+" # 响应 lua_translator@*calc_translator,计算器。前缀设定项 calculator/prefix
|
||||
gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@*lunar,公历转农历,输入 N20240115 得到「二〇二三年腊月初五」
|
||||
|
||||
|
||||
# 从 default 继承快捷键
|
||||
key_binder:
|
||||
import_preset: default # 从 default.yaml 继承通用的
|
||||
search: "`" # 辅码引导符,要添加到 speller/alphabet
|
||||
# bindings: # 也可以再增加方案专有的
|
||||
|
||||
|
||||
# editor 用来定制操作键的行为,以下是默认行为 https://github.com/rime/librime/blob/master/src/rime/gear/editor.cc
|
||||
editor:
|
||||
bindings:
|
||||
space: confirm # 空格键:上屏候选项
|
||||
Return: commit_raw_input # 回车键:上屏原始输入
|
||||
Control+Return: commit_script_text # Ctrl+回车键:上屏变换后输入(经过 preedit_format 转换的)
|
||||
Control+Shift+Return: commit_comment # Ctrl+Shift+回车键:上屏 comment
|
||||
BackSpace: revert # 退格键:向前删除(撤消上次输入)
|
||||
Delete: delete # Delete 键:向后删除
|
||||
Control+BackSpace: back_syllable # Ctrl+退格键:删除一个音节
|
||||
Control+Delete: delete_candidate # Ctrl+Delete键:删除或降权候选项
|
||||
Escape: cancel # Esc 键:取消输入
|
||||
|
||||
|
||||
# 拼写设定
|
||||
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 的问题
|
361
double_pinyin_mspy.schema.yaml
Normal file
361
double_pinyin_mspy.schema.yaml
Normal file
@ -0,0 +1,361 @@
|
||||
# Rime schema
|
||||
# encoding: utf-8
|
||||
|
||||
# 复制自 rime_ice.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) 或 others/双拼补丁示例/ 文件夹
|
||||
|
||||
|
||||
# 方案说明
|
||||
schema:
|
||||
schema_id: 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: [ 中, A ]
|
||||
- name: ascii_punct # 中英标点
|
||||
states: [ ¥, $ ]
|
||||
- name: traditionalization
|
||||
states: [ 简, 繁 ]
|
||||
- name: emoji
|
||||
states: [ 💀, 😄 ]
|
||||
reset: 1
|
||||
- name: full_shape
|
||||
states: [ 半角, 全角 ]
|
||||
- name: search_single_char # search.lua 的功能开关,辅码查词时是否单字优先
|
||||
states: [正常, 单字]
|
||||
abbrev: [词, 单]
|
||||
|
||||
|
||||
# 输入引擎
|
||||
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@*calc_translator # 计算器
|
||||
- lua_translator@*force_gc # 暴力 GC
|
||||
filters:
|
||||
- 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@*search@radical_pinyin # 部件拆字辅码
|
||||
- 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 配置: 降低部分英语单词在候选项的位置。
|
||||
# 详细介绍 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, 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_ice # 挂载词库 rime_ice.dict.yaml
|
||||
enable_word_completion: true # 大于 4 音节的词条自动补全,librime > 1.11.2
|
||||
prism: 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
|
||||
- xform/(?<=[A-Z])\s(?=[A-Z])// # 消除大写字母之间的空格
|
||||
|
||||
|
||||
# 次翻译器,英文
|
||||
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 # 对应 switches 中的 name
|
||||
opencc_config: emoji.json # 选择要加载的 OpenCC 配置
|
||||
inherit_comment: false # 在 corrector.lua 及反查中,emoji 的 comment 显示为空
|
||||
|
||||
|
||||
# 简繁切换
|
||||
traditionalize:
|
||||
option_name: traditionalization # 对应 switches 中的 name
|
||||
opencc_config: s2t.json # s2t.json | s2hk.json | s2tw.json | s2twp.json (Rime 内置配置,在程序目录可找到)
|
||||
tips: none # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。
|
||||
tags: [ abc, number, gregorian_to_lunar ] # 限制在对应 tag,不对其他如反查的内容做简繁转换
|
||||
|
||||
|
||||
# 标点符号
|
||||
# punctuator 下面的三个子项:
|
||||
# full_shape 全角标点映射
|
||||
# half_shape 半角标点映射
|
||||
# symbols Rime 的预设配置是以 '/' 前缀开头输出一系列字符,自定义的 symbols_caps_v.yaml 修改成了 'V' 开头。
|
||||
# 以及新版 digit_separators 相关的属性
|
||||
punctuator:
|
||||
__include: default:/punctuator # 从 default.yaml 导入 punctuator 的所有配置,为了引用 digit_separators 等属性
|
||||
full_shape:
|
||||
__include: default:/punctuator/full_shape # 从 default.yaml 导入配置
|
||||
half_shape:
|
||||
__include: default:/punctuator/half_shape # 从 default.yaml 导入配置
|
||||
symbols:
|
||||
__include: symbols_caps_v:/symbols # 从 symbols_caps_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#反查带声调注音
|
||||
dictionary: rime_ice
|
||||
# comment_format: # 自定义 comment,例如在左右加上括号
|
||||
# - xform/^/(/
|
||||
# - xform/$/)/
|
||||
|
||||
|
||||
# 处理符合特定规则的输入码,如网址、反查
|
||||
|
||||
recognizer:
|
||||
import_preset: default # 从 default.yaml 继承通用的
|
||||
patterns: # 再增加方案专有的:
|
||||
punct: "^V([0-9]|10|[A-Za-z]+)$" # 响应 symbols_caps_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,数字金额大写
|
||||
calculator: "^cC.+" # 响应 lua_translator@*calc_translator,计算器。前缀设定项 calculator/prefix
|
||||
gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@*lunar,公历转农历,输入 N20240115 得到「二〇二三年腊月初五」
|
||||
|
||||
|
||||
# 从 default 继承快捷键
|
||||
key_binder:
|
||||
import_preset: default # 从 default.yaml 继承通用的
|
||||
search: "`" # 辅码引导符,要添加到 speller/alphabet
|
||||
# bindings: # 也可以再增加方案专有的
|
||||
|
||||
|
||||
# editor 用来定制操作键的行为,以下是默认行为 https://github.com/rime/librime/blob/master/src/rime/gear/editor.cc
|
||||
editor:
|
||||
bindings:
|
||||
space: confirm # 空格键:上屏候选项
|
||||
Return: commit_raw_input # 回车键:上屏原始输入
|
||||
Control+Return: commit_script_text # Ctrl+回车键:上屏变换后输入(经过 preedit_format 转换的)
|
||||
Control+Shift+Return: commit_comment # Ctrl+Shift+回车键:上屏 comment
|
||||
BackSpace: revert # 退格键:向前删除(撤消上次输入)
|
||||
Delete: delete # Delete 键:向后删除
|
||||
Control+BackSpace: back_syllable # Ctrl+退格键:删除一个音节
|
||||
Control+Delete: delete_candidate # Ctrl+Delete键:删除或降权候选项
|
||||
Escape: cancel # Esc 键:取消输入
|
||||
|
||||
|
||||
# 拼写设定
|
||||
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 的问题
|
360
double_pinyin_sogou.schema.yaml
Normal file
360
double_pinyin_sogou.schema.yaml
Normal file
@ -0,0 +1,360 @@
|
||||
# Rime schema
|
||||
# encoding: utf-8
|
||||
|
||||
# 复制自 rime_ice.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) 或 others/双拼补丁示例/ 文件夹
|
||||
|
||||
|
||||
# 方案说明
|
||||
schema:
|
||||
schema_id: 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: [ 中, A ]
|
||||
- name: ascii_punct # 中英标点
|
||||
states: [ ¥, $ ]
|
||||
- name: traditionalization
|
||||
states: [ 简, 繁 ]
|
||||
- name: emoji
|
||||
states: [ 💀, 😄 ]
|
||||
reset: 1
|
||||
- name: full_shape
|
||||
states: [ 半角, 全角 ]
|
||||
- name: search_single_char # search.lua 的功能开关,辅码查词时是否单字优先
|
||||
states: [正常, 单字]
|
||||
abbrev: [词, 单]
|
||||
|
||||
|
||||
# 输入引擎
|
||||
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@*calc_translator # 计算器
|
||||
- lua_translator@*force_gc # 暴力 GC
|
||||
filters:
|
||||
- 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@*search@radical_pinyin # 部件拆字辅码
|
||||
- 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 配置: 降低部分英语单词在候选项的位置。
|
||||
# 详细介绍 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, 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_ice # 挂载词库 rime_ice.dict.yaml
|
||||
enable_word_completion: true # 大于 4 音节的词条自动补全,librime > 1.11.2
|
||||
prism: 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
|
||||
- xform/(?<=[A-Z])\s(?=[A-Z])// # 消除大写字母之间的空格
|
||||
|
||||
|
||||
# 次翻译器,英文
|
||||
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 # 对应 switches 中的 name
|
||||
opencc_config: emoji.json # 选择要加载的 OpenCC 配置
|
||||
inherit_comment: false # 在 corrector.lua 及反查中,emoji 的 comment 显示为空
|
||||
|
||||
|
||||
# 简繁切换
|
||||
traditionalize:
|
||||
option_name: traditionalization # 对应 switches 中的 name
|
||||
opencc_config: s2t.json # s2t.json | s2hk.json | s2tw.json | s2twp.json (Rime 内置配置,在程序目录可找到)
|
||||
tips: none # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。
|
||||
tags: [ abc, number, gregorian_to_lunar ] # 限制在对应 tag,不对其他如反查的内容做简繁转换
|
||||
|
||||
|
||||
# 标点符号
|
||||
# punctuator 下面的三个子项:
|
||||
# full_shape 全角标点映射
|
||||
# half_shape 半角标点映射
|
||||
# symbols Rime 的预设配置是以 '/' 前缀开头输出一系列字符,自定义的 symbols_caps_v.yaml 修改成了 'V' 开头。
|
||||
# 以及新版 digit_separators 相关的属性
|
||||
punctuator:
|
||||
__include: default:/punctuator # 从 default.yaml 导入 punctuator 的所有配置,为了引用 digit_separators 等属性
|
||||
full_shape:
|
||||
__include: default:/punctuator/full_shape # 从 default.yaml 导入配置
|
||||
half_shape:
|
||||
__include: default:/punctuator/half_shape # 从 default.yaml 导入配置
|
||||
symbols:
|
||||
__include: symbols_caps_v:/symbols # 从 symbols_caps_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#反查带声调注音
|
||||
dictionary: rime_ice
|
||||
# comment_format: # 自定义 comment,例如在左右加上括号
|
||||
# - xform/^/(/
|
||||
# - xform/$/)/
|
||||
|
||||
|
||||
# 处理符合特定规则的输入码,如网址、反查
|
||||
|
||||
recognizer:
|
||||
import_preset: default # 从 default.yaml 继承通用的
|
||||
patterns: # 再增加方案专有的:
|
||||
punct: "^V([0-9]|10|[A-Za-z]+)$" # 响应 symbols_caps_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,数字金额大写
|
||||
calculator: "^cC.+" # 响应 lua_translator@*calc_translator,计算器。前缀设定项 calculator/prefix
|
||||
gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@*lunar,公历转农历,输入 N20240115 得到「二〇二三年腊月初五」
|
||||
|
||||
|
||||
# 从 default 继承快捷键
|
||||
key_binder:
|
||||
import_preset: default # 从 default.yaml 继承通用的
|
||||
search: "`" # 辅码引导符,要添加到 speller/alphabet
|
||||
# bindings: # 也可以再增加方案专有的
|
||||
|
||||
|
||||
# editor 用来定制操作键的行为,以下是默认行为 https://github.com/rime/librime/blob/master/src/rime/gear/editor.cc
|
||||
editor:
|
||||
bindings:
|
||||
space: confirm # 空格键:上屏候选项
|
||||
Return: commit_raw_input # 回车键:上屏原始输入
|
||||
Control+Return: commit_script_text # Ctrl+回车键:上屏变换后输入(经过 preedit_format 转换的)
|
||||
Control+Shift+Return: commit_comment # Ctrl+Shift+回车键:上屏 comment
|
||||
BackSpace: revert # 退格键:向前删除(撤消上次输入)
|
||||
Delete: delete # Delete 键:向后删除
|
||||
Control+BackSpace: back_syllable # Ctrl+退格键:删除一个音节
|
||||
Control+Delete: delete_candidate # Ctrl+Delete键:删除或降权候选项
|
||||
Escape: cancel # Esc 键:取消输入
|
||||
|
||||
|
||||
# 拼写设定
|
||||
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 的问题
|
355
double_pinyin_ziguang.schema.yaml
Normal file
355
double_pinyin_ziguang.schema.yaml
Normal file
@ -0,0 +1,355 @@
|
||||
# Rime schema
|
||||
# encoding: utf-8
|
||||
|
||||
# 复制自 rime_ice.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) 或 others/双拼补丁示例/ 文件夹
|
||||
|
||||
|
||||
# 方案说明
|
||||
schema:
|
||||
schema_id: 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: [ 中, A ]
|
||||
- name: ascii_punct # 中英标点
|
||||
states: [ ¥, $ ]
|
||||
- name: traditionalization
|
||||
states: [ 简, 繁 ]
|
||||
- name: emoji
|
||||
states: [ 💀, 😄 ]
|
||||
reset: 1
|
||||
- name: full_shape
|
||||
states: [ 半角, 全角 ]
|
||||
- name: search_single_char # search.lua 的功能开关,辅码查词时是否单字优先
|
||||
states: [正常, 单字]
|
||||
abbrev: [词, 单]
|
||||
|
||||
|
||||
# 输入引擎
|
||||
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@*calc_translator # 计算器
|
||||
- lua_translator@*force_gc # 暴力 GC
|
||||
filters:
|
||||
- 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@*search@radical_pinyin # 部件拆字辅码
|
||||
- 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 配置: 降低部分英语单词在候选项的位置。
|
||||
# 详细介绍 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, 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_ice # 挂载词库 rime_ice.dict.yaml
|
||||
enable_word_completion: true # 大于 4 音节的词条自动补全,librime > 1.11.2
|
||||
prism: 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
|
||||
- xform/(?<=[A-Z])\s(?=[A-Z])// # 消除大写字母之间的空格
|
||||
|
||||
|
||||
# 次翻译器,英文
|
||||
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 # 对应 switches 中的 name
|
||||
opencc_config: emoji.json # 选择要加载的 OpenCC 配置
|
||||
inherit_comment: false # 在 corrector.lua 及反查中,emoji 的 comment 显示为空
|
||||
|
||||
|
||||
# 简繁切换
|
||||
traditionalize:
|
||||
option_name: traditionalization # 对应 switches 中的 name
|
||||
opencc_config: s2t.json # s2t.json | s2hk.json | s2tw.json | s2twp.json (Rime 内置配置,在程序目录可找到)
|
||||
tips: none # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。
|
||||
tags: [ abc, number, gregorian_to_lunar ] # 限制在对应 tag,不对其他如反查的内容做简繁转换
|
||||
|
||||
|
||||
# 标点符号
|
||||
# punctuator 下面的三个子项:
|
||||
# full_shape 全角标点映射
|
||||
# half_shape 半角标点映射
|
||||
# symbols Rime 的预设配置是以 '/' 前缀开头输出一系列字符,自定义的 symbols_caps_v.yaml 修改成了 'V' 开头。
|
||||
# 以及新版 digit_separators 相关的属性
|
||||
punctuator:
|
||||
__include: default:/punctuator # 从 default.yaml 导入 punctuator 的所有配置,为了引用 digit_separators 等属性
|
||||
full_shape:
|
||||
__include: default:/punctuator/full_shape # 从 default.yaml 导入配置
|
||||
half_shape:
|
||||
__include: default:/punctuator/half_shape # 从 default.yaml 导入配置
|
||||
symbols:
|
||||
__include: symbols_caps_v:/symbols # 从 symbols_caps_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#反查带声调注音
|
||||
dictionary: rime_ice
|
||||
# comment_format: # 自定义 comment,例如在左右加上括号
|
||||
# - xform/^/(/
|
||||
# - xform/$/)/
|
||||
|
||||
|
||||
# 处理符合特定规则的输入码,如网址、反查
|
||||
|
||||
recognizer:
|
||||
import_preset: default # 从 default.yaml 继承通用的
|
||||
patterns: # 再增加方案专有的:
|
||||
punct: "^V([0-9]|10|[A-Za-z]+)$" # 响应 symbols_caps_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,数字金额大写
|
||||
calculator: "^cC.+" # 响应 lua_translator@*calc_translator,计算器。前缀设定项 calculator/prefix
|
||||
gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@*lunar,公历转农历,输入 N20240115 得到「二〇二三年腊月初五」
|
||||
|
||||
|
||||
# 从 default 继承快捷键
|
||||
key_binder:
|
||||
import_preset: default # 从 default.yaml 继承通用的
|
||||
search: "`" # 辅码引导符,要添加到 speller/alphabet
|
||||
# bindings: # 也可以再增加方案专有的
|
||||
|
||||
|
||||
# editor 用来定制操作键的行为,以下是默认行为 https://github.com/rime/librime/blob/master/src/rime/gear/editor.cc
|
||||
editor:
|
||||
bindings:
|
||||
space: confirm # 空格键:上屏候选项
|
||||
Return: commit_raw_input # 回车键:上屏原始输入
|
||||
Control+Return: commit_script_text # Ctrl+回车键:上屏变换后输入(经过 preedit_format 转换的)
|
||||
Control+Shift+Return: commit_comment # Ctrl+Shift+回车键:上屏 comment
|
||||
BackSpace: revert # 退格键:向前删除(撤消上次输入)
|
||||
Delete: delete # Delete 键:向后删除
|
||||
Control+BackSpace: back_syllable # Ctrl+退格键:删除一个音节
|
||||
Control+Delete: delete_candidate # Ctrl+Delete键:删除或降权候选项
|
||||
Escape: cancel # Esc 键:取消输入
|
||||
|
||||
|
||||
# 拼写设定
|
||||
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 的问题
|
941
en_dicts/cn_en.txt
Normal file
941
en_dicts/cn_en.txt
Normal file
@ -0,0 +1,941 @@
|
||||
# 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
|
||||
Nabla算子 Nablasuanzi
|
||||
Nabla算子 nablasuanzi
|
||||
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
|
||||
哥尔·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
|
||||
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
|
||||
周刊少年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.K.罗琳 JKluolin
|
||||
J.K.罗琳 jkluolin
|
||||
J.R.R.托尔金 JRRtuoerjin
|
||||
J.R.R.托尔金 jrrtuoerjin
|
||||
乔治·R.R.马丁 qiaozhiRRmading
|
||||
乔治·R.R.马丁 qiaozhirrmading
|
||||
异维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
|
||||
4A级 siAji
|
||||
4A级 siaji
|
||||
5A级 wuAji
|
||||
5A级 wuaji
|
||||
2G网络 erGwangluo
|
||||
2G网络 ergwangluo
|
||||
3G网络 sanGwangluo
|
||||
3G网络 sangwangluo
|
||||
4G网络 siGwangluo
|
||||
4G网络 sigwangluo
|
||||
5G网络 wuGwangluo
|
||||
5G网络 wugwangluo
|
||||
3G流量 sanGliuliang
|
||||
3G流量 sangliuliang
|
||||
4G流量 siGliuliang
|
||||
4G流量 sigliuliang
|
||||
5G流量 wuGliuliang
|
||||
5G流量 wugliuliang
|
||||
3D打印 sanDdayin
|
||||
3D打印 sanddayin
|
||||
2D电影 erDdianying
|
||||
2D电影 erddianying
|
||||
3D电影 sanDdianying
|
||||
3D电影 sanddianying
|
||||
city不city citybucity
|
||||
打call dacall
|
||||
hold住 holdzhu
|
941
en_dicts/cn_en_abc.txt
Normal file
941
en_dicts/cn_en_abc.txt
Normal file
@ -0,0 +1,941 @@
|
||||
# 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
|
||||
Nabla算子 Nablaspzi
|
||||
Nabla算子 nablaspzi
|
||||
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
|
||||
哥尔·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
|
||||
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
|
||||
周刊少年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.K.罗琳 JKlolc
|
||||
J.K.罗琳 jklolc
|
||||
J.R.R.托尔金 JRRtoorjc
|
||||
J.R.R.托尔金 jrrtoorjc
|
||||
乔治·R.R.马丁 qzaiRRmady
|
||||
乔治·R.R.马丁 qzairrmady
|
||||
异维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
|
||||
4A级 siAji
|
||||
4A级 siaji
|
||||
5A级 wuAji
|
||||
5A级 wuaji
|
||||
2G网络 orGwhlo
|
||||
2G网络 orgwhlo
|
||||
3G网络 sjGwhlo
|
||||
3G网络 sjgwhlo
|
||||
4G网络 siGwhlo
|
||||
4G网络 sigwhlo
|
||||
5G网络 wuGwhlo
|
||||
5G网络 wugwhlo
|
||||
3G流量 sjGlrlt
|
||||
3G流量 sjglrlt
|
||||
4G流量 siGlrlt
|
||||
4G流量 siglrlt
|
||||
5G流量 wuGlrlt
|
||||
5G流量 wuglrlt
|
||||
3D打印 sjDdayc
|
||||
3D打印 sjddayc
|
||||
2D电影 orDdwyy
|
||||
2D电影 orddwyy
|
||||
3D电影 sjDdwyy
|
||||
3D电影 sjddwyy
|
||||
city不city citybucity
|
||||
打call dacall
|
||||
hold住 holdau
|
941
en_dicts/cn_en_double_pinyin.txt
Normal file
941
en_dicts/cn_en_double_pinyin.txt
Normal file
@ -0,0 +1,941 @@
|
||||
# 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
|
||||
Nabla算子 Nablasrzi
|
||||
Nabla算子 nablasrzi
|
||||
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
|
||||
哥尔·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
|
||||
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
|
||||
周刊少年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.K.罗琳 JKloln
|
||||
J.K.罗琳 jkloln
|
||||
J.R.R.托尔金 JRRtoerjn
|
||||
J.R.R.托尔金 jrrtoerjn
|
||||
乔治·R.R.马丁 qcviRRmady
|
||||
乔治·R.R.马丁 qcvirrmady
|
||||
异维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
|
||||
4A级 siAji
|
||||
4A级 siaji
|
||||
5A级 wuAji
|
||||
5A级 wuaji
|
||||
2G网络 erGwhlo
|
||||
2G网络 ergwhlo
|
||||
3G网络 sjGwhlo
|
||||
3G网络 sjgwhlo
|
||||
4G网络 siGwhlo
|
||||
4G网络 sigwhlo
|
||||
5G网络 wuGwhlo
|
||||
5G网络 wugwhlo
|
||||
3G流量 sjGlqld
|
||||
3G流量 sjglqld
|
||||
4G流量 siGlqld
|
||||
4G流量 siglqld
|
||||
5G流量 wuGlqld
|
||||
5G流量 wuglqld
|
||||
3D打印 sjDdayn
|
||||
3D打印 sjddayn
|
||||
2D电影 erDdmyy
|
||||
2D电影 erddmyy
|
||||
3D电影 sjDdmyy
|
||||
3D电影 sjddmyy
|
||||
city不city citybucity
|
||||
打call dacall
|
||||
hold住 holdvu
|
941
en_dicts/cn_en_flypy.txt
Normal file
941
en_dicts/cn_en_flypy.txt
Normal file
@ -0,0 +1,941 @@
|
||||
# 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
|
||||
Nabla算子 Nablasrzi
|
||||
Nabla算子 nablasrzi
|
||||
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
|
||||
哥尔·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
|
||||
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
|
||||
周刊少年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.K.罗琳 JKlolb
|
||||
J.K.罗琳 jklolb
|
||||
J.R.R.托尔金 JRRtoerjb
|
||||
J.R.R.托尔金 jrrtoerjb
|
||||
乔治·R.R.马丁 qnviRRmadk
|
||||
乔治·R.R.马丁 qnvirrmadk
|
||||
异维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
|
||||
4A级 siAji
|
||||
4A级 siaji
|
||||
5A级 wuAji
|
||||
5A级 wuaji
|
||||
2G网络 erGwhlo
|
||||
2G网络 ergwhlo
|
||||
3G网络 sjGwhlo
|
||||
3G网络 sjgwhlo
|
||||
4G网络 siGwhlo
|
||||
4G网络 sigwhlo
|
||||
5G网络 wuGwhlo
|
||||
5G网络 wugwhlo
|
||||
3G流量 sjGlqll
|
||||
3G流量 sjglqll
|
||||
4G流量 siGlqll
|
||||
4G流量 siglqll
|
||||
5G流量 wuGlqll
|
||||
5G流量 wuglqll
|
||||
3D打印 sjDdayb
|
||||
3D打印 sjddayb
|
||||
2D电影 erDdmyk
|
||||
2D电影 erddmyk
|
||||
3D电影 sjDdmyk
|
||||
3D电影 sjddmyk
|
||||
city不city citybucity
|
||||
打call dacall
|
||||
hold住 holdvu
|
941
en_dicts/cn_en_mspy.txt
Normal file
941
en_dicts/cn_en_mspy.txt
Normal file
@ -0,0 +1,941 @@
|
||||
# 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
|
||||
Nabla算子 Nablasrzi
|
||||
Nabla算子 nablasrzi
|
||||
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
|
||||
哥尔·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
|
||||
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
|
||||
周刊少年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.K.罗琳 JKloln
|
||||
J.K.罗琳 jkloln
|
||||
J.R.R.托尔金 JRRtoorjn
|
||||
J.R.R.托尔金 jrrtoorjn
|
||||
乔治·R.R.马丁 qcviRRmad;
|
||||
乔治·R.R.马丁 qcvirrmad;
|
||||
异维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;
|
||||
4A级 siAji
|
||||
4A级 siaji
|
||||
5A级 wuAji
|
||||
5A级 wuaji
|
||||
2G网络 orGwhlo
|
||||
2G网络 orgwhlo
|
||||
3G网络 sjGwhlo
|
||||
3G网络 sjgwhlo
|
||||
4G网络 siGwhlo
|
||||
4G网络 sigwhlo
|
||||
5G网络 wuGwhlo
|
||||
5G网络 wugwhlo
|
||||
3G流量 sjGlqld
|
||||
3G流量 sjglqld
|
||||
4G流量 siGlqld
|
||||
4G流量 siglqld
|
||||
5G流量 wuGlqld
|
||||
5G流量 wuglqld
|
||||
3D打印 sjDdayn
|
||||
3D打印 sjddayn
|
||||
2D电影 orDdmy;
|
||||
2D电影 orddmy;
|
||||
3D电影 sjDdmy;
|
||||
3D电影 sjddmy;
|
||||
city不city citybucity
|
||||
打call dacall
|
||||
hold住 holdvu
|
941
en_dicts/cn_en_sogou.txt
Normal file
941
en_dicts/cn_en_sogou.txt
Normal file
@ -0,0 +1,941 @@
|
||||
# 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
|
||||
Nabla算子 Nablasrzi
|
||||
Nabla算子 nablasrzi
|
||||
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
|
||||
哥尔·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
|
||||
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
|
||||
周刊少年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.K.罗琳 JKloln
|
||||
J.K.罗琳 jkloln
|
||||
J.R.R.托尔金 JRRtoorjn
|
||||
J.R.R.托尔金 jrrtoorjn
|
||||
乔治·R.R.马丁 qcviRRmad;
|
||||
乔治·R.R.马丁 qcvirrmad;
|
||||
异维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;
|
||||
4A级 siAji
|
||||
4A级 siaji
|
||||
5A级 wuAji
|
||||
5A级 wuaji
|
||||
2G网络 orGwhlo
|
||||
2G网络 orgwhlo
|
||||
3G网络 sjGwhlo
|
||||
3G网络 sjgwhlo
|
||||
4G网络 siGwhlo
|
||||
4G网络 sigwhlo
|
||||
5G网络 wuGwhlo
|
||||
5G网络 wugwhlo
|
||||
3G流量 sjGlqld
|
||||
3G流量 sjglqld
|
||||
4G流量 siGlqld
|
||||
4G流量 siglqld
|
||||
5G流量 wuGlqld
|
||||
5G流量 wuglqld
|
||||
3D打印 sjDdayn
|
||||
3D打印 sjddayn
|
||||
2D电影 orDdmy;
|
||||
2D电影 orddmy;
|
||||
3D电影 sjDdmy;
|
||||
3D电影 sjddmy;
|
||||
city不city citybucity
|
||||
打call dacall
|
||||
hold住 holdvu
|
941
en_dicts/cn_en_ziguang.txt
Normal file
941
en_dicts/cn_en_ziguang.txt
Normal file
@ -0,0 +1,941 @@
|
||||
# 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
|
||||
Nabla算子 Nablaslzi
|
||||
Nabla算子 nablaslzi
|
||||
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
|
||||
哥尔·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
|
||||
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
|
||||
周刊少年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.K.罗琳 JKloly
|
||||
J.K.罗琳 jkloly
|
||||
J.R.R.托尔金 JRRtoojjy
|
||||
J.R.R.托尔金 jrrtoojjy
|
||||
乔治·R.R.马丁 qbuiRRmad;
|
||||
乔治·R.R.马丁 qbuirrmad;
|
||||
异维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;
|
||||
4A级 siAji
|
||||
4A级 siaji
|
||||
5A级 wuAji
|
||||
5A级 wuaji
|
||||
2G网络 ojGwslo
|
||||
2G网络 ojgwslo
|
||||
3G网络 srGwslo
|
||||
3G网络 srgwslo
|
||||
4G网络 siGwslo
|
||||
4G网络 sigwslo
|
||||
5G网络 wuGwslo
|
||||
5G网络 wugwslo
|
||||
3G流量 srGljlg
|
||||
3G流量 srgljlg
|
||||
4G流量 siGljlg
|
||||
4G流量 sigljlg
|
||||
5G流量 wuGljlg
|
||||
5G流量 wugljlg
|
||||
3D打印 srDdayy
|
||||
3D打印 srddayy
|
||||
2D电影 ojDdfy;
|
||||
2D电影 ojddfy;
|
||||
3D电影 srDdfy;
|
||||
3D电影 srddfy;
|
||||
city不city citybucity
|
||||
打call dacall
|
||||
hold住 holduu
|
21484
en_dicts/en.dict.yaml
Normal file
21484
en_dicts/en.dict.yaml
Normal file
File diff suppressed because it is too large
Load Diff
2172
en_dicts/en_ext.dict.yaml
Normal file
2172
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
62
lua/autocap_filter.lua
Normal 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
|
209
lua/calc_translator.lua
Normal file
209
lua/calc_translator.lua
Normal 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
|
31
lua/cn_en_spacer.lua
Normal file
31
lua/cn_en_spacer.lua
Normal 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
|
3
lua/cold_word_drop/drop_words.lua
Normal file
3
lua/cold_word_drop/drop_words.lua
Normal file
@ -0,0 +1,3 @@
|
||||
local drop_words =
|
||||
{ "示~例~", "肏女人", }
|
||||
return drop_words
|
72
lua/cold_word_drop/filter.lua
Normal file
72
lua/cold_word_drop/filter.lua
Normal file
@ -0,0 +1,72 @@
|
||||
-- 词条隐藏、降频
|
||||
-- 在 engine/processors 增加 - lua_processor@cold_word_drop.processor
|
||||
-- 在 engine/filters 增加 - lua_filter@cold_word_drop.filter
|
||||
-- 在 key_binder 增加快捷键:
|
||||
-- reduce_freq_cand: "Control+j" # 匹配当前输入码后隐藏指定的候选字词 或候选词条放到第四候选位置
|
||||
-- drop_cand: "Control+d" # 强制删词, 无视输入的编码
|
||||
-- get_record_filername() 函数中仅支持了 Windows、macOS、Linux
|
||||
|
||||
local filter = {}
|
||||
|
||||
function filter.init(env)
|
||||
local engine = env.engine
|
||||
local config = engine.schema.config
|
||||
local _sd, drop_words = pcall(require, "cold_word_drop/drop_words")
|
||||
local _sh, hide_words = pcall(require, "cold_word_drop/hide_words")
|
||||
local _st, turn_down_words = pcall(require, "cold_word_drop/turn_down_words")
|
||||
local _sr, reduce_freq_words = pcall(require, "cold_word_drop/reduce_freq_words")
|
||||
env.word_reduce_idx = config:get_int("cold_word_reduce/idx") or 4
|
||||
env.drop_words = _sd and drop_words or {}
|
||||
env.hide_words = _sh and hide_words or {}
|
||||
env.reduce_freq_words = (_st and turn_down_words) or (_sr and reduce_freq_words) or {}
|
||||
end
|
||||
|
||||
function filter.func(input, env)
|
||||
local cands = {}
|
||||
local context = env.engine.context
|
||||
local preedit_str = context.input:gsub(" ", "")
|
||||
local drop_words = env.drop_words
|
||||
local hide_words = env.hide_words
|
||||
local word_reduce_idx = env.word_reduce_idx
|
||||
local reduce_freq_words = env.reduce_freq_words
|
||||
for cand in input:iter() do
|
||||
local cand_text = cand.text:gsub(" ", "")
|
||||
local preedit_code = cand.preedit:gsub(" ", "") or preedit_str
|
||||
|
||||
local reduce_freq_list = reduce_freq_words[cand_text] or {}
|
||||
if word_reduce_idx > 1 then
|
||||
-- 前三个 候选项排除 要调整词频的词条, 要删的(实际假性删词, 彻底隐藏罢了) 和要隐藏的词条
|
||||
if reduce_freq_list and table.find_index(reduce_freq_list, preedit_code) then
|
||||
table.insert(cands, cand)
|
||||
elseif
|
||||
not (
|
||||
table.find_index(drop_words, cand_text)
|
||||
or (hide_words[cand_text] and table.find_index(hide_words[cand_text], preedit_code))
|
||||
|
||||
)
|
||||
then
|
||||
yield(cand)
|
||||
word_reduce_idx = word_reduce_idx - 1
|
||||
end
|
||||
else
|
||||
if
|
||||
not (
|
||||
table.find_index(drop_words, cand_text)
|
||||
or (hide_words[cand_text] and table.find_index(hide_words[cand_text], preedit_code))
|
||||
)
|
||||
then
|
||||
table.insert(cands, cand)
|
||||
end
|
||||
end
|
||||
|
||||
if #cands >= 180 then
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
for _, cand in ipairs(cands) do
|
||||
yield(cand)
|
||||
end
|
||||
end
|
||||
|
||||
return filter
|
5
lua/cold_word_drop/hide_words.lua
Normal file
5
lua/cold_word_drop/hide_words.lua
Normal file
@ -0,0 +1,5 @@
|
||||
local hide_words =
|
||||
{ ["示~例~"] = { "shil", "shili", },
|
||||
["么特瑞"] = { "meter", },
|
||||
}
|
||||
return hide_words
|
48
lua/cold_word_drop/logger.lua
Normal file
48
lua/cold_word_drop/logger.lua
Normal file
@ -0,0 +1,48 @@
|
||||
-- runLog.lua
|
||||
-- Copyright (C) 2023 yaoyuan.dou <douyaoyuan@126.com>
|
||||
|
||||
local M = {}
|
||||
local dbgFlg = true
|
||||
|
||||
--设置 dbg 开关
|
||||
M.setDbg = function(flg)
|
||||
dbgFlg = flg
|
||||
|
||||
print('runLog dbgFlg is ' .. tostring(dbgFlg))
|
||||
end
|
||||
|
||||
local current_path = string.sub(debug.getinfo(1).source, 2, string.len("/runLog.lua") * -1)
|
||||
M.logDoc = current_path .. 'runLog.txt'
|
||||
|
||||
M.writeLog = function(logStr, newLineFlg)
|
||||
logStr = logStr or "nothing"
|
||||
|
||||
if not newLineFlg then newLineFlg = true end
|
||||
|
||||
local f = io.open(M.logDoc, 'a')
|
||||
if f then
|
||||
local timeStamp = os.date("%Y/%m/%d %H:%M:%S")
|
||||
f:write(timeStamp .. '[' .. _VERSION .. ']' .. '\t' .. logStr .. '\n')
|
||||
f:close()
|
||||
end
|
||||
end
|
||||
|
||||
--===========================test========================
|
||||
M.test = function(printPrefix)
|
||||
if nil == printPrefix then
|
||||
printPrefix = ' '
|
||||
end
|
||||
if dbgFlg then
|
||||
M.writeLog('this is a test string on new line', true)
|
||||
M.writeLog('this is a test string appending the last line', false)
|
||||
M.writeLog('runLogDoc is: ' .. M.logDoc, true)
|
||||
end
|
||||
end
|
||||
|
||||
function M.init(...)
|
||||
--如果有需要初始化的动作,可以在这里运行
|
||||
end
|
||||
|
||||
M.init()
|
||||
|
||||
return M
|
168
lua/cold_word_drop/metatable.lua
Normal file
168
lua/cold_word_drop/metatable.lua
Normal file
@ -0,0 +1,168 @@
|
||||
-- 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
|
132
lua/cold_word_drop/processor.lua
Normal file
132
lua/cold_word_drop/processor.lua
Normal file
@ -0,0 +1,132 @@
|
||||
-- 词条隐藏、降频
|
||||
-- 在 engine/processors 增加 - lua_processor@cold_word_drop.processor
|
||||
-- 在 engine/filters 增加 - lua_filter@cold_word_drop.filter
|
||||
-- 在 key_binder 增加快捷键:
|
||||
-- reduce_freq_cand: "Control+j" # 匹配当前输入码后隐藏指定的候选字词 或候选词条放到第四候选位置
|
||||
-- drop_cand: "Control+d" # 强制删词, 无视输入的编码
|
||||
-- get_record_filername() 函数中仅支持了 Windows、macOS、Linux
|
||||
|
||||
require("cold_word_drop.string")
|
||||
require("cold_word_drop.metatable")
|
||||
local processor = {}
|
||||
|
||||
local function get_record_filername(record_type)
|
||||
local path_sep = "/"
|
||||
local user_data_dir = rime_api:get_user_data_dir()
|
||||
local user_distribute_name = rime_api:get_distribution_code_name()
|
||||
if user_distribute_name:lower():match("weasel") then path_sep = [[\]] end
|
||||
if user_distribute_name:lower():match("ibus") then
|
||||
return string.format("%s/rime/lua/cold_word_drop/%s_words.lua",
|
||||
os.getenv("HOME") .. "/.config/ibus",
|
||||
record_type
|
||||
)
|
||||
else
|
||||
local file_path = string.format("%s/lua/cold_word_drop/%s_words.lua", user_data_dir, record_type)
|
||||
return file_path:gsub("/", path_sep)
|
||||
end
|
||||
end
|
||||
|
||||
local function write_word_to_file(env, 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)
|
||||
if not filename then
|
||||
return false
|
||||
end
|
||||
local fd = assert(io.open(filename, "w")) --打开
|
||||
-- fd:flush() --刷新
|
||||
local x = string.format("%s_list", record_type)
|
||||
local record = table.serialize(env.tbls[x]) -- lua 的 table 对象 序列化为字符串
|
||||
fd:setvbuf("line")
|
||||
fd:write(record_header) --写入文件头部
|
||||
fd:write(record) --写入 序列化的字符串
|
||||
fd:write(record_tailer) --写入文件尾部, 结束记录
|
||||
fd:close() --关闭
|
||||
end
|
||||
|
||||
local function append_word_to_droplist(env, ctx, action_type)
|
||||
local word = ctx.word:gsub(" ", "")
|
||||
local input_code = ctx.code:gsub(" ", "")
|
||||
|
||||
if action_type == "drop" then
|
||||
table.insert(env.drop_words, word) -- 高亮选中的词条插入到 drop_list
|
||||
return true
|
||||
end
|
||||
|
||||
if action_type == "hide" then
|
||||
if not env.hide_words[word] then
|
||||
env.hide_words[word] = { input_code }
|
||||
-- 隐藏的词条如果已经在 hide_list 中, 则将输入串追加到 值表中, 如: ['藏'] = {'chang', 'zhang'}
|
||||
elseif not table.find_index(env.hide_words[word], input_code) then
|
||||
table.insert(env.hide_words[word], input_code)
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
if action_type == "reduce_freq" then
|
||||
if env.reduce_freq_words[word] then
|
||||
table.insert(env.reduce_freq_words[word], input_code)
|
||||
else
|
||||
env.reduce_freq_words[word] = { input_code }
|
||||
end
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
function processor.init(env)
|
||||
local engine = env.engine
|
||||
local config = engine.schema.config
|
||||
local _sd, drop_words = pcall(require, "cold_word_drop/drop_words")
|
||||
local _sh, hide_words = pcall(require, "cold_word_drop/hide_words")
|
||||
local _st, turn_down_words = pcall(require, "cold_word_drop/turn_down_words")
|
||||
local _sr, reduce_freq_words = pcall(require, "cold_word_drop/reduce_freq_words")
|
||||
env.drop_words = _sd and drop_words or {}
|
||||
env.hide_words = _sh and hide_words or {}
|
||||
env.reduce_freq_words = (_st and turn_down_words) or (_sr and reduce_freq_words) or {}
|
||||
env.drop_cand_key = config:get_string("key_binder/drop_cand") or "Control+d"
|
||||
env.hide_cand_key = config:get_string("key_binder/hide_cand") or "Control+x"
|
||||
env.turn_down_cand_key = config:get_string("key_binder/turn_down_cand") or nil
|
||||
env.reduce_cand_key = env.turn_down_cand_key or config:get_string("key_binder/reduce_freq_cand") or "Control+j"
|
||||
env.tbls = {
|
||||
["drop_list"] = env.drop_words,
|
||||
["hide_list"] = env.hide_words,
|
||||
["reduce_freq_list"] = env.reduce_freq_words,
|
||||
}
|
||||
end
|
||||
|
||||
function processor.func(key, env)
|
||||
local engine = env.engine
|
||||
local context = engine.context
|
||||
local preedit_code = context:get_script_text()
|
||||
local action_map = {
|
||||
[env.drop_cand_key] = "drop",
|
||||
[env.hide_cand_key] = "hide",
|
||||
[env.reduce_cand_key] = "reduce_freq",
|
||||
}
|
||||
|
||||
if context:has_menu() and action_map[key:repr()] 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(env, ctx_map, action_type)
|
||||
|
||||
context:refresh_non_confirmed_composition() -- 刷新当前输入法候选菜单, 实现看到实时效果
|
||||
if not res then
|
||||
return 2
|
||||
end
|
||||
|
||||
if res then
|
||||
-- 期望被删的词和隐藏的词条写入文件(drop_words.lua, hide_words.lua)
|
||||
write_word_to_file(env, action_type)
|
||||
end
|
||||
|
||||
return 1 -- kAccept
|
||||
end
|
||||
|
||||
return 2 -- kNoop, 不做任何操作, 交给下个组件处理
|
||||
end
|
||||
|
||||
return processor
|
5
lua/cold_word_drop/reduce_freq_words.lua
Normal file
5
lua/cold_word_drop/reduce_freq_words.lua
Normal file
@ -0,0 +1,5 @@
|
||||
local reduce_freq_words =
|
||||
{ ["示~例~"] = { "shili", },
|
||||
["颜射"] = { "yanshe", },
|
||||
}
|
||||
return reduce_freq_words
|
40
lua/cold_word_drop/string.lua
Normal file
40
lua/cold_word_drop/string.lua
Normal file
@ -0,0 +1,40 @@
|
||||
-- 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
|
213
lua/corrector.lua
Normal file
213
lua/corrector.lua
Normal file
@ -0,0 +1,213 @@
|
||||
--[[
|
||||
错音错字提示。
|
||||
示例:「给予」的正确读音是 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)" },
|
||||
["zhu you tang"] = { text = "朱祐樘", comment = "朱祐樘(chēng)" },
|
||||
["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ǔ" },
|
||||
["pu an suan"] = { text = "脯氨酸", comment = "脯(fǔ)氨酸" },
|
||||
["luo an suan"] = { text = "酪氨酸", comment = "酪(lào)氨酸" },
|
||||
["mei shi zi"] = { text = "没食子", comment = "没(mò)食子" },
|
||||
["shang feng die"] = { text = "裳凤蝶", comment = "裳(cháng)凤蝶" },
|
||||
["bai qi tun"] = { text = "白𬶨豚", comment = "bái jì tún" },
|
||||
["nao gu"] = { text = "桡骨", comment = "ráo gǔ" },
|
||||
["bai zhe bu rao"] = { text = "百折不挠", comment = "百折不挠(náo)" },
|
||||
["zhui xin qi xie"] = { text = "椎心泣血", comment = "椎(chuí)心泣血" },
|
||||
["zhui xin qi xue"] = { text = "椎心泣血", comment = "椎(chuí)心泣血" },
|
||||
["xia chi"] = { text = "挟持", comment = "挟(xié)持" },
|
||||
["hao zhou"] = { text = "亳州", comment = "亳(bó)州" },
|
||||
["niu jing"] = { text = "牛丼", comment = "牛丼(dǎn)" },
|
||||
["niu jing fan"] = { text = "牛丼饭", comment = "牛丼(dǎn)饭" },
|
||||
["an pou"] = { text = "安瓿", comment = "安瓿(bù)" },
|
||||
["an pou ping"] = { text = "安瓿瓶", comment = "安瓿(bù)瓶" },
|
||||
["jie pao"] = { text = "解剖", comment = "jiě pōu" },
|
||||
["pao fen"] = { text = "剖分", comment = "pōu fēn" },
|
||||
["pao fu chan"] = { text = "剖腹产", comment = "剖(pōu)腹产" },
|
||||
["pao gong chan"] = { text = "剖宫产", comment = "剖(pōu)宫产" },
|
||||
["jin kui"] = { text = "金匮", comment = "金匮(guì)" },
|
||||
["qing ping le"] = { text = "清平乐", comment = "清平乐(yuè)" },
|
||||
["ta sha xing"] = { text = "踏莎行", comment = "踏莎(suō)行" },
|
||||
["sha cao"] = { text = "莎草", comment = "suō cǎo" },
|
||||
["shan mu"] = { text = "杉木", comment = "shā mù" },
|
||||
["dao zai shi ni"] = { text = "道在屎溺", comment = "道在屎溺(niào)" },
|
||||
-- 错字
|
||||
["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
72
lua/date_translator.lua
Normal 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
12
lua/debuger.lua
Normal 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
18
lua/en_spacer.lua
Normal 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
|
9
lua/force_gc.lua
Normal file
9
lua/force_gc.lua
Normal file
@ -0,0 +1,9 @@
|
||||
-- 暴力 GC
|
||||
-- 详情 https://github.com/hchunhui/librime-lua/issues/307
|
||||
-- 这样也不会导致卡顿,那就每次都调用一下吧,内存稳稳的
|
||||
local function force_gc()
|
||||
-- collectgarbage()
|
||||
collectgarbage("step")
|
||||
end
|
||||
|
||||
return force_gc
|
29
lua/is_in_user_dict.lua
Normal file
29
lua/is_in_user_dict.lua
Normal file
@ -0,0 +1,29 @@
|
||||
-- 根据是否在用户词典,在 comment 上加上一个星号 *
|
||||
-- 在 engine/filters 增加 - lua_filter@is_in_user_dict
|
||||
-- 在方案里写配置项:
|
||||
-- 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 nil
|
||||
end
|
||||
|
||||
local is_user = {
|
||||
user_table = true,
|
||||
user_phrase = true,
|
||||
}
|
||||
|
||||
function M.func(input)
|
||||
for cand in input:iter() do
|
||||
if is_user[cand.type] == M.is_in_user_dict then
|
||||
cand.comment = cand.comment .. '*'
|
||||
end
|
||||
yield(cand)
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
52
lua/long_word_filter.lua
Normal file
52
lua/long_word_filter.lua
Normal 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
|
674
lua/lunar.lua
Normal file
674
lua/lunar.lua
Normal file
@ -0,0 +1,674 @@
|
||||
--[[
|
||||
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))
|
||||
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
|
||||
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 = 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)
|
||||
elseif env.gregorian_to_lunar ~= '' and input:sub(1, 1) == env.gregorian_to_lunar and input:sub(2):find("^%d%d%d%d%d%d%d%d$") then
|
||||
local date1, date2 = 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)
|
||||
end
|
||||
end
|
||||
|
||||
return translator
|
163
lua/number_translator.lua
Normal file
163
lua/number_translator.lua
Normal 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
238
lua/pin_cand_filter.lua
Normal 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
|
114
lua/reduce_english_filter.lua
Normal file
114
lua/reduce_english_filter.lua
Normal 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
Normal file
311
lua/search.lua
Normal 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
50
lua/select_character.lua
Normal file
@ -0,0 +1,50 @@
|
||||
-- 以词定字
|
||||
-- 原脚本 https://github.com/BlindingDark/rime-lua-select-character
|
||||
-- 可在 default.yaml → 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
18
lua/t9_preedit.lua
Normal 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
36
lua/unicode.lua
Normal 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
32
lua/v_filter.lua
Normal 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
|
13
melt_eng.dict.yaml
Normal file
13
melt_eng.dict.yaml
Normal 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
314
melt_eng.schema.yaml
Normal 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_ice 为你所使用的方案
|
||||
|
||||
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_ice # 全拼
|
||||
# __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_ice:
|
||||
__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
27
opencc/emoji.json
Normal 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"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
4752
opencc/emoji.txt
Normal file
4752
opencc/emoji.txt
Normal file
File diff suppressed because it is too large
Load Diff
1478
opencc/others.txt
Normal file
1478
opencc/others.txt
Normal file
File diff suppressed because it is too large
Load Diff
187
others/CHANGELOG.md
Normal file
187
others/CHANGELOG.md
Normal file
@ -0,0 +1,187 @@
|
||||
# 更新日志
|
||||
|
||||
除日常更新词库外的一些主要更新 🆕、破坏性变更 ⚠️。
|
||||
|
||||
## 2025-03-30
|
||||
|
||||
- `editor` 配置示例(定制操作键的行为) [#1131](https://github.com/iDvel/rime-ice/pull/1131)
|
||||
|
||||
## 2025-03-30
|
||||
|
||||
- 所有中文词汇的连接号暂时统一使用 Hyphen-minus `U+002D` [#1194](https://github.com/iDvel/rime-ice/pull/1194)
|
||||
|
||||
## 2025-02-24
|
||||
|
||||
- 适配 `punctuator` 新属性 [#1180](https://github.com/iDvel/rime-ice/issues/1180)
|
||||
|
||||
---
|
||||
|
||||
*2024.12.12 Release*
|
||||
|
||||
## 2024-12-06
|
||||
|
||||
- ⚠️ Lua 模块引用方式变更
|
||||
- 删除了 `rime.lua`
|
||||
- 在方案中引用时添加 `*` 前缀
|
||||
|
||||
---
|
||||
|
||||
*2024.11.29 Release*
|
||||
|
||||
## 2024-11-27
|
||||
|
||||
- `calc_translator.lua` 🆕: 计算器插件,按 `cC` 后输入算式获得结果
|
||||
|
||||
## 2024-11-21
|
||||
|
||||
- ⚙️ 非夹注的 symbol 调用按键从 `vfj` 更改为 `vfjz`
|
||||
|
||||
## 2024-11-04
|
||||
|
||||
- ⚠️ 同步新版鼠须管配置,注意 `candidate_format` 和 1.0.0 之前的版本不兼容,需要手动改回旧版 `candidate_format: '%c. %@'`
|
||||
|
||||
---
|
||||
|
||||
*2024-09-25 Release*
|
||||
|
||||
## 2024-09-25
|
||||
|
||||
- `number_translator.lua`:⚙️ 依会计凭证书写要求,修正万亿的金额大写格式
|
||||
- radical_pinyin: 🆕 拆字词典更新至 v2,包含更多汉字
|
||||
|
||||
## 2024-08-29
|
||||
- `cold_word_drop`:🆕 支持 iOS (#1003)
|
||||
|
||||
## 2024-08-18
|
||||
|
||||
- ci: 词典处理脚本可在 GitHub CI 中运行,提交信息以 ` [build]` 结尾或者手动执行时触发。
|
||||
|
||||
## 2024-07-27
|
||||
|
||||
- `number_translator.lua`: 🆕 转换时,将「拾万」和「壹拾万」作为两个独立的候选。
|
||||
- `en_spacer.lua`:⚠️ 现在不会在中英标点、空字符前添加空格。将在英文后添加空格,修改为在英文前添加空格。
|
||||
|
||||
---
|
||||
|
||||
*2024.05.21 Release*
|
||||
|
||||
## 2024-05-15
|
||||
|
||||
- `select_character.lua`: 🆕 当候选字数为 1 时,快捷键使其上屏(为旧版行为);
|
||||
- `search.lua`:
|
||||
- 重写,使其在 librime 1.85 也能正常工作;
|
||||
- 开启辅码方案的用户字典时(非默认行为,您也不应该这么做),不再造成用户词典锁定
|
||||
- `corrector.lua`:
|
||||
- ⚠️ 使用 translator 中的 comment_format 标记拼音串,以适配 librime 1.11;
|
||||
- 🆕 `translator/keep_comments: true`:可以保留拼音注释
|
||||
|
||||
## 2024-02-09 ♻️
|
||||
|
||||
重构了 `pin_cand_filter.lua` 置顶候选项功能。 [#675](https://github.com/iDvel/rime-ice/issues/675)
|
||||
|
||||
- 调整了方案中 `engine/filters` 的排序
|
||||
- 不再需要在配置中写 emoji,emoji 可自动吸附。
|
||||
|
||||
## 2024-02-04 ⚠️
|
||||
|
||||
⚠️ 中英混输词库由英文方案附属切换到单独的 table_translator ([#662](https://github.com/iDvel/rime-ice/pull/662))
|
||||
|
||||
- 词库文件由 `cn_en*.dict.yaml` 变为 `cn_en*.txt`
|
||||
- 双拼不再需要去 `melt_eng.dict.yaml` 更改引用词库
|
||||
|
||||
## 2024-02-01 🆕
|
||||
|
||||
`pin_cand_filter.lua` 置顶候选项 [#586](https://github.com/iDvel/rime-ice/issues/586)
|
||||
|
||||
## 2024-01-29 🆕 ⚠️
|
||||
|
||||
[部件拆字方案](https://github.com/mirtlecn/rime-radical-pinyin) 反查、辅码 ([#643](https://github.com/iDvel/rime-ice/pull/643))
|
||||
|
||||
- 反查:默认以 `uU` 开头
|
||||
- 辅码:默认以 `` ` ``(反引号)开启查询
|
||||
|
||||
⚠️ 部件拆字方案替换掉了两分方案
|
||||
|
||||
## 2024-01-02 🆕 🐛 ⚠️
|
||||
|
||||
🆕 农历功能 [#565](https://github.com/iDvel/rime-ice/issues/565)
|
||||
|
||||
🐛 长词优先 `long_word_filter.lua` 不提升包含英文、数字、emoji、假名的候选项 [#592](https://github.com/iDvel/rime-ice/issues/592)
|
||||
|
||||
⚠️ 更新并修改 `weasel_style.yaml` 为 `weasel.yaml` ([#584](https://github.com/iDvel/rime-ice/pull/584))
|
||||
|
||||
## 2023-11-29 ⚠️
|
||||
|
||||
九宫格方案 2~9 的映射由 ADGJMPTW 改为 23456789 [a0e0ef8](https://github.com/iDvel/rime-ice/commit/a0e0ef807e4ebc50771563717375f554c9473315)
|
||||
|
||||
全键盘切换到九宫格方案不再需要删除词库中的大写字母。
|
||||
|
||||
(更新至仓输入法商店版 2.1.0 或 TF 119 后可自动适应)
|
||||
|
||||
## 2023-10-30 📖
|
||||
|
||||
完成同义多音字的注音问题 [#353](https://github.com/iDvel/rime-ice/issues/353)
|
||||
|
||||
## 2023-09-08 🆕
|
||||
|
||||
仓输入法九宫格方案 [72acbc7](https://github.com/iDvel/rime-ice/commit/72acbc7a2e53cbac7d6f3ab4a82bc457a7ed8f27)
|
||||
|
||||
## 2023-08-07 🆕
|
||||
|
||||
支持搜狗双拼 [34ab972](https://github.com/iDvel/rime-ice/commit/34ab9725ea9cdf918cbf9f6a4c27d61db7736b07)
|
||||
|
||||
## 2023-08-06 🆕
|
||||
|
||||
`corrector.lua` 错音错字提示 [3c3582e](https://github.com/iDvel/rime-ice/commit/3ce582e1951acb6dc381332d8e61381767d35a36)
|
||||
|
||||
## 2023-07-28 📖
|
||||
|
||||
删除了八股文,因为 [#407](https://github.com/iDvel/rime-ice/issues/407)
|
||||
|
||||
全词库完成注音 🎉 [#317](https://github.com/iDvel/rime-ice/issues/317)
|
||||
|
||||
## 2023-06-13 ⚠️
|
||||
|
||||
中英混输词库不再派生纯大写形式 [6f51bdd](https://github.com/iDvel/rime-ice/commit/6f51bddd1467494c759181a237341f89a1ed3dd1)
|
||||
|
||||
- 修改了 `melt_eng.schema.yaml` 派生规则
|
||||
- 修改了中英混输词库,所有编码前缀加上特殊符号
|
||||
|
||||
## 2023-06-09 ⚠️
|
||||
|
||||
双拼拼写规则以特殊字符搭桥 ([#332](https://github.com/iDvel/rime-ice/pull/332)),[说明:#356](https://github.com/iDvel/rime-ice/issues/356)
|
||||
|
||||
- 修改了全拼及双拼方案的拼写规则
|
||||
|
||||
## 2023-06-07 🆕
|
||||
|
||||
英文词中数字和标点自动转写 ([#326](https://github.com/iDvel/rime-ice/issues/326))
|
||||
|
||||
- 修改了 `melt_eng.schema.yaml` 拼写派生规则
|
||||
- 修改了英文词库部分编码
|
||||
|
||||
## 2023-05-30 🆕
|
||||
|
||||
英文词汇自动大写转换 ([#305](https://github.com/iDvel/rime-ice/pull/305))
|
||||
|
||||
- 增加 Lua 脚本 `autocap_filter.lua`
|
||||
- 修改了 `melt_eng.schema.yaml` 拼写派生规则。
|
||||
|
||||
## 2023-05-24 🐛
|
||||
|
||||
修复全拼方案模糊音派生规则 [6c0618a](https://github.com/iDvel/rime-ice/commit/6c0618aeaf2910482e20ff1c057f482aaa98c051)
|
||||
|
||||
## 2023-05-13 🆕
|
||||
|
||||
数字、金额大写 [#264](https://github.com/iDvel/rime-ice/issues/264)
|
||||
|
||||
- 增加 Lua 脚本 `number_translator.lua`
|
||||
|
||||
## 2023-05-09 🆕
|
||||
|
||||
添加双拼的中英混输词库 [3e24a1e](https://github.com/iDvel/rime-ice/commit/3e24a1ee202054f776f188ba82e86fa30f16ab55)
|
||||
|
||||
## 2023-05-08 ⚠️
|
||||
|
||||
Lua 模块化 [a34c46a](https://github.com/iDvel/rime-ice/commit/a34c46ad34673d535dc1df4ef208ad4c7e3baf80) [b514049](https://github.com/iDvel/rime-ice/commit/b514049e33c7e0c8fccacec49faa3830bd7bdf26)
|
||||
|
7
others/Hamster/README.md
Normal file
7
others/Hamster/README.md
Normal file
@ -0,0 +1,7 @@
|
||||
# Hamster 九宫格
|
||||
|
||||
要在仓输入法中启用九宫格,需要切换到九宫格方案,并启用九宫格布局。
|
||||
|
||||
(可选)解开 `engine/translators` 下的英文翻译器注释,将 `melt_eng.custom.yaml` 复制到配置目录,可以支持九宫格输入英文,方便输入一些短单词,但会导致全键盘方案无法输入英文。
|
||||
|
||||
|
4
others/Hamster/melt_eng.custom.yaml
Normal file
4
others/Hamster/melt_eng.custom.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
# 此补丁可以在仓输入法九宫格布局中输入英文
|
||||
patch:
|
||||
speller/algebra/+:
|
||||
- xlit/abcdefghijklmnopqrstuvwxyz/22233344455566677778889999/
|
479
others/cn_en.txt
Normal file
479
others/cn_en.txt
Normal file
@ -0,0 +1,479 @@
|
||||
# 中英混输词库
|
||||
# 根据此文件生成对应的 en_dicts/ 下的全拼及双拼词库
|
||||
# version: 2024-02-10
|
||||
X光
|
||||
X光片
|
||||
X射线
|
||||
Nabla算子
|
||||
T恤
|
||||
T恤衫
|
||||
AD钙奶
|
||||
UU加速器
|
||||
Cinity厅
|
||||
Eul的神圣法杖
|
||||
A杖
|
||||
红Buff
|
||||
蓝Buff
|
||||
老Baby
|
||||
小Baby
|
||||
艾AA
|
||||
炒CP
|
||||
嗑CP
|
||||
U盘
|
||||
B站
|
||||
V站
|
||||
P站
|
||||
大V
|
||||
Q币
|
||||
QQ号
|
||||
QQ号码
|
||||
QQ空间
|
||||
QQ群
|
||||
QQ邮箱
|
||||
QQ音乐
|
||||
QQ拼音
|
||||
QQ会员
|
||||
QQ好友
|
||||
QQ输入法
|
||||
Dock栏
|
||||
阿Q精神
|
||||
Win版
|
||||
Win版本
|
||||
Windows版
|
||||
Windows版本
|
||||
Mac版
|
||||
Mac版本
|
||||
macOS版
|
||||
macOS版本
|
||||
iOS版
|
||||
iOS版本
|
||||
Android版
|
||||
Android版本
|
||||
Web版
|
||||
Web版本
|
||||
PC端
|
||||
Win端
|
||||
Windows端
|
||||
Mac端
|
||||
macOS端
|
||||
Web端
|
||||
iOS端
|
||||
Android端
|
||||
e招贷
|
||||
G胖
|
||||
Up主
|
||||
BOSS直聘
|
||||
P社
|
||||
V社
|
||||
Go语言
|
||||
维生素A
|
||||
维生素B
|
||||
维生素C
|
||||
维生素D
|
||||
维生素E
|
||||
维生素K
|
||||
维A
|
||||
维B
|
||||
维C
|
||||
维D
|
||||
维E
|
||||
维K
|
||||
维E乳
|
||||
维生素E乳
|
||||
阿Q
|
||||
阿Q正传
|
||||
单边z变换
|
||||
逗B
|
||||
哆啦A梦
|
||||
二B
|
||||
卡拉OK
|
||||
牛B
|
||||
三K党
|
||||
傻B
|
||||
傻X
|
||||
智能ABC
|
||||
智能ABC双拼
|
||||
智能ABC双拼方案
|
||||
智能ABC输入法
|
||||
装B
|
||||
A股
|
||||
B股
|
||||
H股
|
||||
N股
|
||||
S股
|
||||
A盘
|
||||
A片
|
||||
AA制
|
||||
ATM机
|
||||
B超
|
||||
B淋巴细胞
|
||||
B盘
|
||||
B细胞
|
||||
C盘
|
||||
C语言
|
||||
D盘
|
||||
E盘
|
||||
F盘
|
||||
G点
|
||||
G盘
|
||||
IP地址
|
||||
IP电话
|
||||
IP卡
|
||||
J盘
|
||||
K宝
|
||||
K粉
|
||||
K歌
|
||||
K歌王
|
||||
POS机
|
||||
SIM卡
|
||||
T淋巴细胞
|
||||
T细胞
|
||||
T型台
|
||||
U盾
|
||||
S形
|
||||
U形
|
||||
U形管
|
||||
UIM卡
|
||||
USIM卡
|
||||
X刀
|
||||
X染色体
|
||||
Y染色体
|
||||
z变换
|
||||
z逆变换
|
||||
D之国
|
||||
D之一族
|
||||
Beta版
|
||||
Beta版本
|
||||
AV女优
|
||||
X战警
|
||||
YY语音
|
||||
A4纸
|
||||
A4腰
|
||||
N多
|
||||
N多个
|
||||
N次
|
||||
N遍
|
||||
蒙奇·D·路飞
|
||||
蒙奇·D·龙
|
||||
哥尔·D·罗杰
|
||||
马歇尔·D·蒂奇
|
||||
X·德雷克
|
||||
蒙奇·D·卡普
|
||||
波特卡斯·D·艾斯
|
||||
VIP中P
|
||||
QQ秀
|
||||
Big胆
|
||||
我叫MT
|
||||
谜拟Q
|
||||
多边兽Z
|
||||
藤子·F·不二雄
|
||||
PC版
|
||||
PC版本
|
||||
A塔
|
||||
平A
|
||||
立Flag
|
||||
C罗
|
||||
IE浏览器
|
||||
A壳
|
||||
B壳
|
||||
C壳
|
||||
D壳
|
||||
A面
|
||||
B面
|
||||
C面
|
||||
D面
|
||||
Server酱
|
||||
P图
|
||||
P个图
|
||||
P一下
|
||||
芭比Q
|
||||
芭比Q了
|
||||
QQ堂
|
||||
PIN码
|
||||
PUK码
|
||||
关底BOSS
|
||||
AA吧
|
||||
喊cut
|
||||
ASCII码
|
||||
Go圣经
|
||||
江南Style
|
||||
头文字D
|
||||
三无Marblue
|
||||
A罩杯
|
||||
B罩杯
|
||||
C罩杯
|
||||
D罩杯
|
||||
E罩杯
|
||||
F罩杯
|
||||
G罩杯
|
||||
H罩杯
|
||||
A罩
|
||||
B罩
|
||||
C罩
|
||||
D罩
|
||||
E罩
|
||||
F罩
|
||||
G罩
|
||||
H罩
|
||||
A杯
|
||||
B杯
|
||||
C杯
|
||||
D杯
|
||||
E杯
|
||||
F杯
|
||||
G杯
|
||||
H杯
|
||||
TV版
|
||||
TV版本
|
||||
芒果TV
|
||||
V字仇杀队
|
||||
V怪客
|
||||
V煞
|
||||
Q弹
|
||||
Steam云
|
||||
M系列
|
||||
阿Sir
|
||||
Pro版
|
||||
Pro版本
|
||||
Lite版
|
||||
Lite版本
|
||||
X教授
|
||||
Papi酱
|
||||
MAC地址
|
||||
DNS劫持
|
||||
DNS污染
|
||||
OK了
|
||||
OK啦
|
||||
OK啊
|
||||
我OK啊
|
||||
OK了吗
|
||||
腾讯QQ
|
||||
公网IP
|
||||
Web开发
|
||||
Switch版
|
||||
Switch版本
|
||||
A型血
|
||||
A血型
|
||||
B型血
|
||||
B血型
|
||||
AB型
|
||||
AB型血
|
||||
AB血型
|
||||
O型
|
||||
O型血
|
||||
O血型
|
||||
IT界
|
||||
Fn键
|
||||
Cmd键
|
||||
Command键
|
||||
Ctrl键
|
||||
Control键
|
||||
Opt键
|
||||
Option键
|
||||
Shift键
|
||||
Tab键
|
||||
Caps键
|
||||
CapsLock键
|
||||
Return键
|
||||
Enter键
|
||||
Space键
|
||||
Backspace键
|
||||
Del键
|
||||
Delete键
|
||||
Esc键
|
||||
Eject键
|
||||
周刊少年Jump
|
||||
ICP备案
|
||||
啥bug
|
||||
有bug
|
||||
没bug
|
||||
没有bug
|
||||
卡bug
|
||||
提bug
|
||||
写bug
|
||||
改bug
|
||||
查bug
|
||||
找bug
|
||||
J.K.罗琳
|
||||
J.R.R.托尔金
|
||||
乔治·R.R.马丁
|
||||
异维A酸
|
||||
互fo
|
||||
减CD
|
||||
随身Wi-Fi
|
||||
U型锁
|
||||
Go程
|
||||
TG群
|
||||
Telegram群
|
||||
Wi-Fi密码
|
||||
DNA检测
|
||||
A级
|
||||
B级
|
||||
C级
|
||||
D级
|
||||
S级
|
||||
拍CT
|
||||
CT检查
|
||||
PVC管
|
||||
DoS攻击
|
||||
DDoS攻击
|
||||
N卡
|
||||
A卡
|
||||
M码
|
||||
S码
|
||||
L码
|
||||
Q我
|
||||
R级
|
||||
A区
|
||||
B区
|
||||
C区
|
||||
D区
|
||||
E区
|
||||
F区
|
||||
A组
|
||||
B组
|
||||
C组
|
||||
D组
|
||||
E组
|
||||
F组
|
||||
B哥
|
||||
Q版
|
||||
A班
|
||||
B班
|
||||
C班
|
||||
D班
|
||||
老K
|
||||
加Q
|
||||
加QQ
|
||||
A座
|
||||
B座
|
||||
C座
|
||||
D座
|
||||
E座
|
||||
F座
|
||||
H版
|
||||
A口
|
||||
B口
|
||||
C口
|
||||
D口
|
||||
E口
|
||||
F口
|
||||
A出口
|
||||
B出口
|
||||
C出口
|
||||
D出口
|
||||
E出口
|
||||
F出口
|
||||
A楼
|
||||
B楼
|
||||
C楼
|
||||
D楼
|
||||
E楼
|
||||
F楼
|
||||
A型号
|
||||
B型号
|
||||
C型号
|
||||
D型号
|
||||
E型号
|
||||
F型号
|
||||
A型
|
||||
B型
|
||||
C型
|
||||
D型
|
||||
E型
|
||||
F型
|
||||
A款
|
||||
B款
|
||||
C款
|
||||
D款
|
||||
E款
|
||||
F款
|
||||
A栋
|
||||
B栋
|
||||
C栋
|
||||
D栋
|
||||
E栋
|
||||
F栋
|
||||
X轴
|
||||
Y轴
|
||||
Z轴
|
||||
V领
|
||||
V字领
|
||||
V字形
|
||||
IT业
|
||||
IT行业
|
||||
K线
|
||||
K线图
|
||||
日K线
|
||||
周K线
|
||||
月K线
|
||||
T台
|
||||
TF卡
|
||||
N年
|
||||
A点
|
||||
B点
|
||||
A屏
|
||||
OK吗
|
||||
OK嘛
|
||||
OK么
|
||||
OK呀
|
||||
OK不
|
||||
BB机
|
||||
做B超
|
||||
DJ版
|
||||
唱K
|
||||
PK赛
|
||||
A和B
|
||||
X和Y
|
||||
查IP
|
||||
封IP
|
||||
换IP
|
||||
VIP卡
|
||||
VIP会员
|
||||
AAA级
|
||||
第N次
|
||||
发EMS
|
||||
DVD版
|
||||
USB线
|
||||
USB口
|
||||
USB接口
|
||||
X档案
|
||||
n次方
|
||||
N多人
|
||||
S曲线
|
||||
DJ舞曲
|
||||
充Q币
|
||||
就OK
|
||||
不OK
|
||||
很OK
|
||||
特拉法尔加·D·瓦铁尔·罗
|
||||
开party
|
||||
Chromium系
|
||||
Chrome系
|
||||
QQ游戏
|
||||
QQ游戏大厅
|
||||
QQ音速
|
||||
QQ飞车
|
||||
QQ三国
|
||||
4S店
|
||||
丰田AE86
|
||||
TF版
|
||||
TF版本
|
||||
O不OK
|
||||
人均GDP
|
||||
V8引擎
|
||||
4A级
|
||||
5A级
|
||||
2G网络
|
||||
3G网络
|
||||
4G网络
|
||||
5G网络
|
||||
3G流量
|
||||
4G流量
|
||||
5G流量
|
||||
3D打印
|
||||
2D电影
|
||||
3D电影
|
||||
city不city
|
||||
打call
|
||||
hold住
|
BIN
others/demo.webp
Normal file
BIN
others/demo.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 139 KiB |
2054
others/emoji-map.txt
Normal file
2054
others/emoji-map.txt
Normal file
File diff suppressed because it is too large
Load Diff
28
others/iRime/README.md
Normal file
28
others/iRime/README.md
Normal file
@ -0,0 +1,28 @@
|
||||
# iRime 方案
|
||||
|
||||
直接拖进去就是全键盘方案。
|
||||
|
||||
然后有两组补丁。
|
||||
|
||||
<br>
|
||||
|
||||
一组九宫格的:
|
||||
|
||||
九宫格和 iRime 自带的主要区别:能输入英文,即「43556」上屏「hello」。
|
||||
|
||||
九宫格体验:
|
||||
|
||||
重码时不能选拼音,太难受了,要了命了。
|
||||
|
||||
<br>
|
||||
|
||||
一组全键盘的:
|
||||
|
||||
开启模糊拼音,输入单字时比较困扰,不过实在离不开这个功能。
|
||||
|
||||
单引号改为了删除自造词(下滑 L 键)。
|
||||
|
||||
调整了标点符号的键盘映射,一些上下滑时的操作,比如上滑是两个括号,下滑是单个括号。
|
||||
|
||||
「符」按钮直接跳转到「更多」那个页面。
|
||||
|
10
others/iRime/iRime 九宫格/melt_eng.custom.yaml
Normal file
10
others/iRime/iRime 九宫格/melt_eng.custom.yaml
Normal file
@ -0,0 +1,10 @@
|
||||
# Rime schema
|
||||
# vim: set sw=2 sts=2 et:
|
||||
# encoding: utf-8
|
||||
|
||||
patch:
|
||||
|
||||
speller/alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA-_1234567890
|
||||
|
||||
speller/algebra/+:
|
||||
- xlit/abcdefghijklmnopqrstuvwxyz/22233344455566677778889999/
|
34
others/iRime/iRime 九宫格/rime_ice.custom.yaml
Normal file
34
others/iRime/iRime 九宫格/rime_ice.custom.yaml
Normal file
@ -0,0 +1,34 @@
|
||||
# Rime schema
|
||||
# encoding: utf-8
|
||||
|
||||
|
||||
patch:
|
||||
|
||||
# 中文键盘空格键上会显示方案名称
|
||||
# (英文键盘的空格在主题的 `theme.yaml` 文件下的 `space: {label:` 处修改)
|
||||
schema/name: "rime-ice"
|
||||
|
||||
# 增加数字按键
|
||||
speller/alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA1234567890
|
||||
|
||||
# 去掉电脑上的固顶字
|
||||
custom_phrase: ~
|
||||
|
||||
# 九宫格拼写映射,直接覆盖,放弃 26 键的纠错,否则重码太多了
|
||||
speller/algebra:
|
||||
- derive/^[abc].*$/2/
|
||||
- derive/^[def].*$/3/
|
||||
- derive/^[mno].*$/6/
|
||||
- xlit/abcdefghijklmnopqrstuvwxyz/22233344455566677778889999/
|
||||
|
||||
# 让输入框从数字变成字母
|
||||
engine/filters/@before 0: lua_filter@*t9_preedit
|
||||
translator/spelling_hints: 16
|
||||
|
||||
# 重写了,因为需要 @ 和 # 的映射,否则键盘上那俩按钮不起作用。
|
||||
punctuator/half_shape:
|
||||
'@' : [ 1,'@',!,:,、,……,~, ]
|
||||
'#' : [ 0,'#','$','%','^','&','*','(',')' ]
|
||||
|
||||
sytle:
|
||||
theme_name: T9
|
18
others/iRime/iRime 全键盘/rime_ice.custom.yaml
Normal file
18
others/iRime/iRime 全键盘/rime_ice.custom.yaml
Normal file
@ -0,0 +1,18 @@
|
||||
# Rime schema
|
||||
# encoding: utf-8
|
||||
|
||||
|
||||
patch:
|
||||
|
||||
# 中文键盘空格键上会显示方案名称
|
||||
# (英文键盘的空格在主题的 `theme.yaml` 文件下的 `space: {label:` 处修改)
|
||||
schema/name: rime-ice
|
||||
|
||||
# 智能纠错(适用于全键盘全拼)
|
||||
translator/enable_correction: true
|
||||
|
||||
key_binder:
|
||||
import_preset: default
|
||||
bindings/+:
|
||||
# 单引号(相应主题为下滑 L 键),改成删除自造词
|
||||
- { when: composing, accept: "'", send: Shift+Delete }
|
3
others/iRime/iRime 全键盘/theme/iPhone_custom/info.yaml
Normal file
3
others/iRime/iRime 全键盘/theme/iPhone_custom/info.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
Name: iPhone默认键盘_custom
|
||||
Author: 筋斗云
|
||||
SupportPlatform: iOS,iPadOS
|
279
others/iRime/iRime 全键盘/theme/iPhone_custom/port/theme.yaml
Normal file
279
others/iRime/iRime 全键盘/theme/iPhone_custom/port/theme.yaml
Normal file
@ -0,0 +1,279 @@
|
||||
# Trime default style settings
|
||||
# encoding: utf-8
|
||||
#
|
||||
# 以 iRime 自带的「iPhone默认键盘」为模板,修改了一些:
|
||||
#
|
||||
# 按钮调换描述文字:中文键盘显示为「中」,英文键盘显示为「abc」。
|
||||
#
|
||||
# 修改键盘符号的映射,不调用 punctuator/half_shape,直接输出指定标点。
|
||||
# 一般是上滑为全角的,下滑改为半角的。
|
||||
# / @ # - _ 永远是半角的,上下滑都一样。
|
||||
# 右引号上滑为直角引号「」
|
||||
# 括号下滑为输入单个括号,中文的输出全角,英文的输出半角。
|
||||
#
|
||||
# 取消符号键盘,点击「符」直接跳转到「更多」那个界面。
|
||||
|
||||
config_version: "0.9"
|
||||
name: 默认键盘 #方案名称
|
||||
author: 筋斗云#作者资讯
|
||||
|
||||
#键盘高度等
|
||||
height:
|
||||
1: &jpgd1 43.6 #符号键盘
|
||||
2: &jpgd2 46 #主键盘
|
||||
3: &jpgd3 41.5 #数字键盘
|
||||
4: &jpgd4 12 #主键盘圆角
|
||||
5: &jpgd5 36 #候选区高度
|
||||
6: &jpgd6 0.5 #符号键盘行间距
|
||||
7: &jpgd7 0.5 #符号键盘水平间距
|
||||
8: &jpgd8 0.0 #符号键盘圆角
|
||||
9: &jpgd9 11 #主键盘数字键盘行间距
|
||||
10: &jpgd10 4 #主键盘数字键盘水平间距
|
||||
|
||||
style:
|
||||
key_height: *jpgd2 #键高
|
||||
keyboards: [default, number, .symbols, english, .number] #键盘配置,所有跳转键盘都需要在这里配置,不然会出错
|
||||
text_size: 12 #编码字体大小 默认值为:12
|
||||
text_height: 20 #编码框高度 默认值为:20
|
||||
candidate_text_size: 24 #候选字体大小 默认值为:24
|
||||
candidate_view_height: 44 #候选高度 默认值为:44
|
||||
candidate_padding: 14 #候选间距 默认值为:14
|
||||
comment_text_size: 14 #逐码字体大小 默认值为:14
|
||||
comment_height: 16 #逐码高度 默认值为:16
|
||||
show_preview: true #是否显示气泡 默认显示
|
||||
round_corner: 0 #值为0的话默认 iphone为4,ipad为8
|
||||
color_scheme: default #配色方案
|
||||
|
||||
|
||||
|
||||
|
||||
#键盘布局
|
||||
preset_keyboards:
|
||||
default:
|
||||
ascii_mode: 0
|
||||
author: "筋斗云"
|
||||
height: *jpgd2
|
||||
horizontal_gap: *jpgd10
|
||||
vertical_gap: *jpgd9
|
||||
round_corner: *jpgd4
|
||||
#现在只支持配置click,swipe_up,swipe_down键盘
|
||||
keys:
|
||||
- {click: q, label: Q, swipe_up: commit1, swipe_down: "一"}
|
||||
- {click: w, label: W, swipe_up: commit2, swipe_down: "二"}
|
||||
- {click: e, label: E, swipe_up: commit3, swipe_down: "三"}
|
||||
- {click: r, label: R, swipe_up: commit4, swipe_down: "四"}
|
||||
- {click: t, label: T, swipe_up: commit5, swipe_down: "五"}
|
||||
- {click: y, label: Y, swipe_up: commit6, swipe_down: "六"}
|
||||
- {click: u, label: U, swipe_up: commit7, swipe_down: "七"}
|
||||
- {click: i, label: I, swipe_up: commit8, swipe_down: "八"}
|
||||
- {click: o, label: O, swipe_up: commit9, swipe_down: "九"}
|
||||
- {click: p, label: P, swipe_up: commit0, swipe_down: "〇"}
|
||||
- {width: 5}
|
||||
- {click: a, label: A, swipe_up: commit~, swipe_down: commit~half}
|
||||
- {click: s, label: S, swipe_up: commitgan, swipe_down: commitgan}
|
||||
- {click: d, label: D, swipe_up: commit:, swipe_down: commit:half}
|
||||
- {click: f, label: F, swipe_up: commit;, swipe_down: commit;half}
|
||||
- {click: g, label: G, swipe_up: bracket3, swipe_down: commit(}
|
||||
- {click: h, label: H, swipe_up: commit), swipe_down: commit)}
|
||||
- {click: j, label: J, swipe_up: commit@, swipe_down: commit@}
|
||||
- {click: k, label: K, swipe_up: quotationMarkFull2, swipe_down: '"'}
|
||||
- {click: l, label: L, swipe_up: quotationMar「」, swipe_down: "'"}
|
||||
- {width: 5}
|
||||
- {click: Shift, width: 14}
|
||||
- {width: 1}
|
||||
- {click: z, label: Z, swipe_up: commit-, swipe_down: commit-}
|
||||
- {click: x, label: X, swipe_up: commit_, swipe_down: commit_}
|
||||
- {click: c, label: C, swipe_up: commitJin, swipe_down: commitJin}
|
||||
- {click: v, label: V, swipe_up: commit?, swipe_down: commit?half}
|
||||
- {click: b, label: B, swipe_up: commit!, swipe_down: commit!half}
|
||||
- {click: n, label: N, swipe_up: commit,, swipe_down: commaHalf}
|
||||
- {click: m, label: M, swipe_up: commit。, swipe_down: periodHalf}
|
||||
- {width: 1}
|
||||
- {click: BackSpace, width: 14}
|
||||
- {click: symbols, width: 14}
|
||||
- {click: .number, width: 12}
|
||||
- {click: space, width: 42}
|
||||
- {click: english, width: 12}
|
||||
- {click: Return, width: 20}
|
||||
name: "默认键盘"
|
||||
width: 10
|
||||
|
||||
english:
|
||||
ascii_mode: 1
|
||||
author: "筋斗云"
|
||||
height: *jpgd2
|
||||
horizontal_gap: *jpgd10
|
||||
vertical_gap: *jpgd9
|
||||
round_corner: *jpgd4
|
||||
keys:
|
||||
- {click: q, swipe_up: "1", swipe_down: "一"}
|
||||
- {click: w, swipe_up: "2", swipe_down: "二"}
|
||||
- {click: e, swipe_up: "3", swipe_down: "三"}
|
||||
- {click: r, swipe_up: "4", swipe_down: "四"}
|
||||
- {click: t, swipe_up: "5", swipe_down: "五"}
|
||||
- {click: y, swipe_up: "6", swipe_down: "六"}
|
||||
- {click: u, swipe_up: "7", swipe_down: "七"}
|
||||
- {click: i, swipe_up: "8", swipe_down: "八"}
|
||||
- {click: o, swipe_up: "9", swipe_down: "九"}
|
||||
- {click: p, swipe_up: "0", swipe_down: "〇"}
|
||||
- {width: 5}
|
||||
- {click: a, swipe_up: "~", swipe_down: "~"}
|
||||
- {click: s, swipe_up: "/", swipe_down: "/"}
|
||||
- {click: d, swipe_up: ":", swipe_down: ":"}
|
||||
- {click: f, swipe_up: ";", swipe_down: ";"}
|
||||
- {click: g, swipe_up: bracket2, swipe_down: "("}
|
||||
- {click: h, swipe_up: ")", swipe_down: ")"}
|
||||
- {click: j, swipe_up: "@", swipe_down: "@"}
|
||||
- {click: k, swipe_up: quotationMarkHalf2, swipe_down: '"'}
|
||||
- {click: l, swipe_up: quotationMarkHalf1, swipe_down: "'"}
|
||||
- {width: 5}
|
||||
- {click: Shift, width: 14}
|
||||
- {width: 1}
|
||||
- {click: z, swipe_up: "-", swipe_down: "-"}
|
||||
- {click: x, swipe_up: "_", swipe_down: "_"}
|
||||
- {click: c, swipe_up: "#", swipe_down: "#"}
|
||||
- {click: v, swipe_up: "?", swipe_down: "?"}
|
||||
- {click: b, swipe_up: "!", swipe_down: "!"}
|
||||
- {click: n, swipe_up: ",", swipe_down: ","}
|
||||
- {click: m, swipe_up: ".", swipe_down: "."}
|
||||
- {width: 1}
|
||||
- {click: BackSpace, width: 14}
|
||||
- {click: symbols, width: 14}
|
||||
- {click: .number, width: 12}
|
||||
- {click: ., swipe_up: ",", width: 10}
|
||||
- {click: space, width: 34}
|
||||
- {click: DefaultKeyboard2, width: 10}
|
||||
- {click: Return, width: 20}
|
||||
name: "英文键盘"
|
||||
width: 10
|
||||
|
||||
|
||||
number:
|
||||
ascii_mode: 0
|
||||
author: "筋斗云"
|
||||
height: *jpgd2
|
||||
horizontal_gap: *jpgd10
|
||||
vertical_gap: *jpgd9
|
||||
round_corner: *jpgd4
|
||||
keys:
|
||||
- {click: 1}
|
||||
- {click: 2}
|
||||
- {click: 3}
|
||||
- {click: 4}
|
||||
- {click: 5}
|
||||
- {click: 6}
|
||||
- {click: 7}
|
||||
- {click: 8}
|
||||
- {click: 9}
|
||||
- {click: 0}
|
||||
- {click: "-"}
|
||||
- {click: "/"}
|
||||
- {click: ":"}
|
||||
- {click: semicolon}
|
||||
- {click: bracket}
|
||||
- {click: bracket1}
|
||||
- {click: "¥"}
|
||||
- {click: "@"}
|
||||
- {click: quotationMarkFull}
|
||||
- {click: quotationMarkFull1}
|
||||
- {click: .symbols1, width: 14}
|
||||
- {width: 3}
|
||||
- {click: periodFull, width: 11}
|
||||
- {click: commaFull, width: 11}
|
||||
- {click: dunHalf, width: 11}
|
||||
- {click: questionMark, width: 11}
|
||||
- {click: point, width: 11}
|
||||
- {click: ., width: 11}
|
||||
- {width: 3}
|
||||
- {click: BackSpace, width: 14}
|
||||
- {click: DefaultKeyboard, width: 25}
|
||||
- {click: space, width: 50}
|
||||
- {click: Return, width: 25}
|
||||
name: "苹果数字键盘"
|
||||
width: 10
|
||||
|
||||
preset_color_schemes:
|
||||
default:
|
||||
back_color: 0xffffff
|
||||
|
||||
|
||||
preset_keys:
|
||||
# 键盘类型需要在这里跳转,目前只支持下面的配置。
|
||||
# 只支持 Shift Return BackSpace space 特殊键盘配置
|
||||
# 现在text的命令只支持:
|
||||
# 1,Left(光标向左移动一格);
|
||||
# 2,Right(光标向右移动一格)
|
||||
# 3,跳转到指定键盘;
|
||||
# 其它暂时不支持,具体看事例;
|
||||
# 现在支持commit命令,直接上屏指定字符
|
||||
#
|
||||
Shift: {label: Shift, send: Shift_L}
|
||||
Return: {label: Enter, send: Return}
|
||||
BackSpace: {send: BackSpace}
|
||||
space: {label: "␣", send: space}
|
||||
number: {label: 123, send: Eisu_toggle, select: number}
|
||||
# english: {label: "abc", send: Eisu_toggle, select: english}
|
||||
# 修改:中文状态下显示「中」
|
||||
english: {label: "中", send: Eisu_toggle, select: english}
|
||||
# symbols: {label: "符", send: Eisu_toggle, select: number}
|
||||
# 修改:直接跳到「更多」
|
||||
symbols: {label: "符", send: Eisu_toggle, select: .symbols}
|
||||
.symbols: {label: "更多", send: Eisu_toggle, select: .symbols} #默认的符号键盘
|
||||
.symbols1: {label: "更多", text: "{.symbols}{DefaultKeyboard}"} #默认的符号键盘
|
||||
.number: {label: 123, send: Eisu_toggle, select: .number} #默认的9宫格数据键盘
|
||||
DefaultKeyboard: {label: 中, send: Eisu_toggle, select: default}
|
||||
# DefaultKeyboard2: {label: 中, send: Eisu_toggle, select: default}
|
||||
# 修改:英文状态下显示「abc」
|
||||
DefaultKeyboard2: {label: "abc", send: Eisu_toggle, select: default}
|
||||
periodHalf: {label: ".", commit: "."} #直接上屏半角句号
|
||||
periodFull: {label: "。", text: "。{DefaultKeyboard}"} #上屏全角句号再跳转到default键盘
|
||||
commaHalf: {label: ",", commit: ","}
|
||||
commaFull: {label: ",", text: ",{DefaultKeyboard}"}
|
||||
dunHalf: {label: "、", text: "、{DefaultKeyboard}"}
|
||||
questionMark: {label: "?", text: "?{DefaultKeyboard}"}
|
||||
point: {label: "!", text: "!{DefaultKeyboard}"}
|
||||
semicolon: {label: ";", text: ";{DefaultKeyboard}"} #先上屏;再跳转到default键盘
|
||||
bracket: {label: "(", text: "(){Left}{DefaultKeyboard}"} #先上屏()光标往左移动一格再跳转到default键盘
|
||||
bracket3: {label: "(", text: "(){Left}"} #先上屏()光标往左移动一格
|
||||
bracket2: {label: "(", text: "(){Left}"} #先上屏()光标往左移动一格
|
||||
bracket1: {label: ")", text: "){DefaultKeyboard}"} #先上屏)再跳转到default键盘
|
||||
quotationMarkFull: {label: "〝", text: "〝〞{Left}{DefaultKeyboard}"}
|
||||
quotationMarkFull1: {label: "〞", text: "〞"{Left}{DefaultKeyboard}"}
|
||||
quotationMarkFull2: {label: "〝", text: "〝〞{Left}"}
|
||||
quotationMar「」: {label: "「", text: "「」{Left}"}
|
||||
quotationMarkHalf1: {label: "\"", text: "\""}
|
||||
quotationMarkHalf2: {label: "\"", text: "\"\"{Left}"}
|
||||
quotationMarkFull1: {label: "\"", text: ""{DefaultKeyboard}"}
|
||||
commit1: {label: "1", commit: "1"}
|
||||
commit2: {label: "2", commit: "2"}
|
||||
commit3: {label: "3", commit: "3"}
|
||||
commit4: {label: "4", commit: "4"}
|
||||
commit5: {label: "5", commit: "5"}
|
||||
commit6: {label: "6", commit: "6"}
|
||||
commit7: {label: "7", commit: "7"}
|
||||
commit8: {label: "8", commit: "8"}
|
||||
commit9: {label: "9", commit: "9"}
|
||||
commit0: {label: "0", commit: "0"}
|
||||
commit~: {label: "~", commit: "~"}
|
||||
commit~half: {label: "~", commit: "~"}
|
||||
commitgan: {label: "/", commit: "/"}
|
||||
commit:: {label: ":", commit: ":"}
|
||||
commit:half: {label: ":", commit: ":"}
|
||||
commit;: {label: ";", commit: ";"}
|
||||
commit;half: {label: ";", commit: ";"}
|
||||
commit(: {label: "(", commit: "("}
|
||||
commit): {label: ")", commit: ")"}
|
||||
commit@: {label: "@", commit: "@"}
|
||||
commit-: {label: "-", commit: "-"}
|
||||
commit_: {label: "_", commit: "_"}
|
||||
commitJin: {label: "#", commit: "#"}
|
||||
commit?: {label: "?", commit: "?"}
|
||||
commit?half: {label: "?", commit: "?"}
|
||||
commit!: {label: "!", commit: "!"}
|
||||
commit!half: {label: "!", commit: "!"}
|
||||
commit,: {label: ",", commit: ","}
|
||||
commit,half: {label: ",", commit: ","}
|
||||
commit。: {label: "。", commit: "。"}
|
||||
commit。half: {label: ".", commit: "."}
|
||||
commit”: {label: "”", commit: "”"}
|
||||
commit_single_quote: {label: "'", commit: "'"}
|
12
others/pages/index.html
Normal file
12
others/pages/index.html
Normal file
@ -0,0 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head></head>
|
||||
<body>
|
||||
<script type="module">
|
||||
import { loadZip } from "./dist/Fcitx5.js"
|
||||
await loadZip('./rime-ice.zip')
|
||||
</script>
|
||||
<h1>雾凇拼音</h1>
|
||||
<textarea></textarea>
|
||||
</body>
|
||||
</html>
|
12
others/recipes/all_dicts.recipe.yaml
Normal file
12
others/recipes/all_dicts.recipe.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
# encoding: utf-8
|
||||
---
|
||||
recipe:
|
||||
Rx: others/recipes/all_dicts
|
||||
args:
|
||||
description: >-
|
||||
所有词库安装、更新
|
||||
install_files: >-
|
||||
cn_dicts/*.*
|
||||
en_dicts/*.*
|
||||
opencc/*.*
|
||||
radical_pinyin.dict.yaml
|
10
others/recipes/cn_dicts.recipe.yaml
Normal file
10
others/recipes/cn_dicts.recipe.yaml
Normal file
@ -0,0 +1,10 @@
|
||||
# encoding: utf-8
|
||||
---
|
||||
recipe:
|
||||
Rx: others/recipes/cn_dicts
|
||||
args:
|
||||
description: >-
|
||||
拼音词库安装、更新
|
||||
install_files: >-
|
||||
radical_pinyin.dict.yaml
|
||||
cn_dicts/*.*
|
24
others/recipes/config.recipe.yaml
Normal file
24
others/recipes/config.recipe.yaml
Normal file
@ -0,0 +1,24 @@
|
||||
# encoding: utf-8
|
||||
---
|
||||
recipe:
|
||||
Rx: others/recipes/config
|
||||
args:
|
||||
- schema=flypy
|
||||
description: >-
|
||||
Customize input schema to enable double_pinyin.
|
||||
- flypy(小鹤双拼)
|
||||
- double_pinyin(自然码双拼)
|
||||
- mspy(微软双拼)
|
||||
- sogou(搜狗双拼)
|
||||
- abc(智能 ABC 双拼)
|
||||
- ziguang(紫光双拼)
|
||||
|
||||
patch_files:
|
||||
radical_pinyin.custom.yaml:
|
||||
- patch/+:
|
||||
speller/algebra:
|
||||
__include: radical_pinyin.schema.yaml:/algebra_${schema:-flypy}
|
||||
melt_eng.custom.yaml:
|
||||
- patch/+:
|
||||
speller/algebra:
|
||||
__include: melt_eng.schema.yaml:/algebra_${schema:-flypy}
|
9
others/recipes/en_dicts.recipe.yaml
Normal file
9
others/recipes/en_dicts.recipe.yaml
Normal file
@ -0,0 +1,9 @@
|
||||
# encoding: utf-8
|
||||
---
|
||||
recipe:
|
||||
Rx: others/recipes/en_dicts
|
||||
args:
|
||||
description: >-
|
||||
英文词库安装、更新
|
||||
install_files: >-
|
||||
en_dicts/*.*
|
32
others/recipes/full.recipe.yaml
Normal file
32
others/recipes/full.recipe.yaml
Normal file
@ -0,0 +1,32 @@
|
||||
# encoding: utf-8
|
||||
---
|
||||
recipe:
|
||||
Rx: others/recipes/full
|
||||
args:
|
||||
description: >-
|
||||
完整安装、更新
|
||||
install_files: >-
|
||||
cn_dicts/*.*
|
||||
en_dicts/*.*
|
||||
opencc/*.*
|
||||
lua/*.*
|
||||
lua/cold_word_drop/*.*
|
||||
default.yaml
|
||||
squirrel.yaml
|
||||
weasel.yaml
|
||||
rime_ice.schema.yaml
|
||||
rime_ice.dict.yaml
|
||||
t9.schema.yaml
|
||||
double_pinyin.schema.yaml
|
||||
double_pinyin_abc.schema.yaml
|
||||
double_pinyin_mspy.schema.yaml
|
||||
double_pinyin_sogou.schema.yaml
|
||||
double_pinyin_flypy.schema.yaml
|
||||
double_pinyin_ziguang.schema.yaml
|
||||
symbols_v.yaml
|
||||
symbols_caps_v.yaml
|
||||
radical_pinyin.schema.yaml
|
||||
radical_pinyin.dict.yaml
|
||||
melt_eng.schema.yaml
|
||||
melt_eng.dict.yaml
|
||||
custom_phrase.txt
|
9
others/recipes/opencc.recipe.yaml
Normal file
9
others/recipes/opencc.recipe.yaml
Normal file
@ -0,0 +1,9 @@
|
||||
# encoding: utf-8
|
||||
---
|
||||
recipe:
|
||||
Rx: others/recipes/opencc
|
||||
args:
|
||||
description: >-
|
||||
opencc(Emoji)安装、更新
|
||||
install_files: >-
|
||||
opencc/*.*
|
10
others/script/go.mod
Normal file
10
others/script/go.mod
Normal file
@ -0,0 +1,10 @@
|
||||
module script
|
||||
|
||||
go 1.22
|
||||
|
||||
require github.com/deckarep/golang-set/v2 v2.3.0
|
||||
|
||||
require (
|
||||
github.com/yanyiwu/gojieba v1.3.0
|
||||
golang.org/x/sys v0.19.0
|
||||
)
|
6
others/script/go.sum
Normal file
6
others/script/go.sum
Normal file
@ -0,0 +1,6 @@
|
||||
github.com/deckarep/golang-set/v2 v2.3.0 h1:qs18EKUfHm2X9fA50Mr/M5hccg2tNnVqsiBImnyDs0g=
|
||||
github.com/deckarep/golang-set/v2 v2.3.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4=
|
||||
github.com/yanyiwu/gojieba v1.3.0 h1:6VeaPOR+MawnImdeSvWNr7rP4tvUfnGlEKaoBnR33Ds=
|
||||
github.com/yanyiwu/gojieba v1.3.0/go.mod h1:54wkP7sMJ6bklf7yPl6F+JG71dzVUU1WigZbR47nGdY=
|
||||
golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o=
|
||||
golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
83
others/script/main.go
Normal file
83
others/script/main.go
Normal file
@ -0,0 +1,83 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"script/rime"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func main() {
|
||||
log.SetFlags(log.LstdFlags | log.Lshortfile)
|
||||
|
||||
if len(os.Args) > 1 {
|
||||
switch os.Args[1] {
|
||||
case "s":
|
||||
goto SORT
|
||||
case "t":
|
||||
rime.Temp()
|
||||
return
|
||||
case "tp":
|
||||
rime.Pinyin(filepath.Join(rime.RimeDir, "cn_dicts/temp.txt"))
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
// Emoji 检查和更新
|
||||
rime.CheckAndGenerateEmoji()
|
||||
fmt.Println("--------------------------------------------------")
|
||||
|
||||
// 从 others/cn_en.txt 更新中英混输词库
|
||||
rime.CnEn()
|
||||
fmt.Println("--------------------------------------------------")
|
||||
|
||||
// 为没注音的词汇半自动注音
|
||||
rime.Pinyin(rime.ExtPath)
|
||||
fmt.Println("--------------------------------------------------")
|
||||
|
||||
// 为 ext、tencent 没权重的词条加上权重,有权重的改为下面设置的权重
|
||||
rime.AddWeight(rime.ExtPath, 100)
|
||||
rime.AddWeight(rime.TencentPath, 100)
|
||||
fmt.Println("--------------------------------------------------")
|
||||
|
||||
// 检查
|
||||
// _type: 1 只有汉字 2 汉字+注音 3 汉字+注音+权重 4 汉字+权重
|
||||
rime.Check(rime.HanziPath, 3)
|
||||
rime.Check(rime.BasePath, 3)
|
||||
rime.Check(rime.ExtPath, 3)
|
||||
rime.Check(rime.TencentPath, 4)
|
||||
fmt.Println("--------------------------------------------------")
|
||||
|
||||
// 检查同义多音字
|
||||
rime.CheckPolyphone(rime.BasePath)
|
||||
rime.CheckPolyphone(rime.ExtPath)
|
||||
fmt.Println("--------------------------------------------------")
|
||||
|
||||
areYouOK()
|
||||
|
||||
SORT:
|
||||
// 排序,顺便去重
|
||||
rime.Sort(rime.HanziPath, 3)
|
||||
rime.Sort(filepath.Join(rime.RimeDir, "cn_dicts/41448.dict.yaml"), 2)
|
||||
rime.Sort(rime.BasePath, 3)
|
||||
rime.Sort(rime.ExtPath, 3)
|
||||
rime.Sort(rime.TencentPath, 4)
|
||||
rime.Sort(filepath.Join(rime.RimeDir, "en_dicts/en.dict.yaml"), 2)
|
||||
}
|
||||
|
||||
func areYouOK() {
|
||||
if rime.AutoConfirm {
|
||||
fmt.Println("Auto confirm enabled. Skipping prompt.")
|
||||
return
|
||||
}
|
||||
|
||||
fmt.Println("Are you OK:")
|
||||
var isOK string
|
||||
_, _ = fmt.Scanf("%s", &isOK)
|
||||
isOK = strings.ToLower(isOK)
|
||||
if isOK != "ok" && isOK != "y" && isOK != "yes" {
|
||||
os.Exit(123)
|
||||
}
|
||||
}
|
317
others/script/rime/check.go
Normal file
317
others/script/rime/check.go
Normal file
@ -0,0 +1,317 @@
|
||||
package rime
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"path"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
"unicode"
|
||||
"unicode/utf8"
|
||||
|
||||
mapset "github.com/deckarep/golang-set/v2"
|
||||
)
|
||||
|
||||
var (
|
||||
specialWords = mapset.NewSet[string]() // 特殊词汇列表,不进行任何检查
|
||||
|
||||
polyphoneWords = mapset.NewSet[string]() // 需要注音的字词
|
||||
|
||||
wrongWords = mapset.NewSet[string]() // 异形词、错别字
|
||||
wrongWordsFilter = mapset.NewSet[string]() // 过滤一部分,包含错别字但不是错别字,如「作爱」是错的,但「叫作爱」是对的
|
||||
|
||||
hanPinyin = make(map[string][]string) // 汉字拼音映射,用于检查注音是否正确
|
||||
hanPinyinFilter = mapset.NewSet[string]() // 过滤一部分,比如「深厉浅揭qi」只在这个词中念qi,并不是错误。
|
||||
)
|
||||
|
||||
// 初始化特殊词汇列表、需要注音列表、错别字列表、拼音列表
|
||||
func initCheck() {
|
||||
// 特殊词汇列表,不进行任何检查
|
||||
specialWords.Add("科科斯(基林)群岛")
|
||||
specialWords.Add("刚果(金)")
|
||||
specialWords.Add("刚果(布)")
|
||||
specialWords.Add("赛博朋克:边缘行者")
|
||||
specialWords.Add("赛博朋克:边缘跑手")
|
||||
specialWords.Add("赛博朋克:命运之轮")
|
||||
|
||||
// 需要注音的列表
|
||||
file1, err := os.Open(需要注音TXT)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
defer file1.Close()
|
||||
sc := bufio.NewScanner(file1)
|
||||
for sc.Scan() {
|
||||
line := sc.Text()
|
||||
if strings.HasPrefix(line, "#") || line == "" {
|
||||
continue
|
||||
}
|
||||
polyphoneWords.Add(line)
|
||||
}
|
||||
|
||||
// 错别字的两个列表: wrongWords wrongWordsFilter
|
||||
file2, err := os.Open(错别字TXT)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
defer file2.Close()
|
||||
sc = bufio.NewScanner(file2)
|
||||
isMark := false
|
||||
for sc.Scan() {
|
||||
line := sc.Text()
|
||||
if strings.HasPrefix(line, "# -_-") {
|
||||
isMark = true
|
||||
continue
|
||||
}
|
||||
if strings.HasPrefix(line, "#") || line == "" {
|
||||
continue
|
||||
}
|
||||
if !isMark {
|
||||
wrongWords.Add(line)
|
||||
} else {
|
||||
wrongWordsFilter.Add(line)
|
||||
}
|
||||
}
|
||||
|
||||
// 汉字拼音映射 hanPinyin hanPinyinFilter
|
||||
// 将所有读音读入 hanPinyin
|
||||
file3, err := os.Open(HanziPath)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
defer file3.Close()
|
||||
isMark = false
|
||||
sc = bufio.NewScanner(file3)
|
||||
for sc.Scan() {
|
||||
line := sc.Text()
|
||||
if !isMark {
|
||||
if strings.Contains(line, mark) {
|
||||
isMark = true
|
||||
}
|
||||
continue
|
||||
}
|
||||
parts := strings.Split(line, "\t")
|
||||
text, code := parts[0], parts[1]
|
||||
hanPinyin[text] = append(hanPinyin[text], code)
|
||||
}
|
||||
hanPinyin["栖"] = []string{"qi"} // 只检查 qi 音,在 hanPinyinFilter 过滤「栖栖xi、栖栖xi遑遑」
|
||||
// 给 hanPinyin 补充不在字表的读音,和过滤列表 hanPinyinFilter
|
||||
file4, err := os.Open(汉字拼音映射TXT)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
defer file4.Close()
|
||||
sc = bufio.NewScanner(file4)
|
||||
isMark = false
|
||||
for sc.Scan() {
|
||||
line := sc.Text()
|
||||
if strings.HasPrefix(line, "#") && !strings.HasPrefix(line, "# -_-") || line == "" {
|
||||
continue
|
||||
}
|
||||
if strings.HasPrefix(line, "# -_-") {
|
||||
isMark = true
|
||||
continue
|
||||
}
|
||||
if !isMark {
|
||||
parts := strings.Split(line, " ")
|
||||
key := parts[0]
|
||||
values := parts[1:]
|
||||
hanPinyin[key] = append(hanPinyin[key], values...)
|
||||
} else {
|
||||
hanPinyinFilter.Add(line)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Check 对传入的词库文件进行检查
|
||||
// dictPath: 词库文件路径
|
||||
// _type: 词库类型 1 只有汉字 2 汉字+注音 3 汉字+注音+权重 4 汉字+权重
|
||||
func Check(dictPath string, _type int) {
|
||||
// 控制台输出
|
||||
defer printlnTimeCost("检查 "+path.Base(dictPath), time.Now())
|
||||
|
||||
// 打开文件
|
||||
file, err := os.Open(dictPath)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
// 开始检查!
|
||||
lineNumber := 0
|
||||
isMark := false
|
||||
sc := bufio.NewScanner(file)
|
||||
var wg sync.WaitGroup
|
||||
for sc.Scan() {
|
||||
lineNumber++
|
||||
line := sc.Text()
|
||||
if !isMark {
|
||||
if strings.HasPrefix(line, mark) {
|
||||
isMark = true
|
||||
}
|
||||
continue
|
||||
}
|
||||
wg.Add(1)
|
||||
go func(line string, lineNumber int) {
|
||||
defer wg.Done()
|
||||
checkLine(dictPath, _type, line, lineNumber)
|
||||
}(line, lineNumber)
|
||||
}
|
||||
|
||||
wg.Wait()
|
||||
|
||||
if err := sc.Err(); err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
}
|
||||
|
||||
// 检查一行
|
||||
func checkLine(dictPath string, _type int, line string, lineNumber int) {
|
||||
// 忽略注释,base 中有很多被注释了的词汇,暂时没有删除
|
||||
if strings.HasPrefix(line, "#") {
|
||||
// 注释以 '#' 开头,但不是以 '# '开头(强迫症晚期)
|
||||
if !strings.HasPrefix(line, "# ") {
|
||||
fmt.Println("has # but not #␣", line)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// 有空行
|
||||
if strings.TrimSpace(line) == "" {
|
||||
fmt.Println("empty line", line)
|
||||
}
|
||||
|
||||
// +---------------------------------------------------------------
|
||||
// | 开始检查分割后的内容,分割为: 词汇text 编码code 权重weight
|
||||
// +---------------------------------------------------------------
|
||||
parts := strings.Split(line, "\t")
|
||||
var text, code, weight string
|
||||
switch {
|
||||
case _type == 1 && len(parts) == 1: // 一列,【汉字】
|
||||
text = parts[0]
|
||||
case _type == 2 && len(parts) == 2: // 两列,【汉字+注音】
|
||||
text, code = parts[0], parts[1]
|
||||
case _type == 3 && len(parts) == 3: // 三列,【汉字+注音+权重】
|
||||
text, code, weight = parts[0], parts[1], parts[2]
|
||||
case _type == 4 && len(parts) == 2: // 两列,【汉字+权重】
|
||||
text, weight = parts[0], parts[1]
|
||||
default:
|
||||
log.Fatalln("❌ 分割错误:", lineNumber, line)
|
||||
}
|
||||
|
||||
// weight 应该是纯数字
|
||||
if weight != "" {
|
||||
_, err := strconv.Atoi(weight)
|
||||
if err != nil {
|
||||
fmt.Println("❌ weight 非数字:", line)
|
||||
}
|
||||
}
|
||||
|
||||
// text 和 weight 不应该含有空格
|
||||
if strings.Contains(text, " ") || strings.Contains(weight, " ") {
|
||||
fmt.Println("❌ text 和 weight 含有空格:", line)
|
||||
}
|
||||
|
||||
// code 前后不应该有空格
|
||||
if strings.HasPrefix(code, " ") || strings.HasSuffix(code, " ") {
|
||||
fmt.Println("❌ code 前后有空格:", line)
|
||||
}
|
||||
|
||||
// code 不应该有非小写字母
|
||||
for _, r := range code {
|
||||
if string(r) != " " && !unicode.IsLower(r) {
|
||||
fmt.Println("❌ code 含有非小写字母:", line)
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
// 过滤特殊词条
|
||||
if specialWords.Contains(text) {
|
||||
return
|
||||
}
|
||||
|
||||
// text 不应该有非汉字内容,除了间隔号 · (Middle Dot: U+00B7)和连接号 - (Hyphen-Minus: U+002D)
|
||||
for _, c := range text {
|
||||
if !unicode.Is(unicode.Han, c) && !strings.ContainsRune("·-", c) {
|
||||
fmt.Println("❌ text 含有非汉字内容:", line)
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
// 除了字表,其他词库不应该含有单个的汉字
|
||||
if dictPath != HanziPath && utf8.RuneCountInString(text) == 1 {
|
||||
fmt.Println("❌ 意外的单个汉字:", line)
|
||||
}
|
||||
|
||||
// 除了 base,其他词库不应该含有两个字的词汇
|
||||
if dictPath != BasePath && utf8.RuneCountInString(text) == 2 {
|
||||
fmt.Println("❌ 意外的两字词:", line)
|
||||
}
|
||||
|
||||
// 汉字个数应该和拼音个数相等
|
||||
if code != "" {
|
||||
codeCount := len(strings.Split(code, " "))
|
||||
textCount := utf8.RuneCountInString(text)
|
||||
if strings.ContainsAny(text, "·-") {
|
||||
textCount -= strings.Count(text, "·")
|
||||
textCount -= strings.Count(text, "-")
|
||||
}
|
||||
if strings.HasPrefix(text, "# ") {
|
||||
textCount -= 2
|
||||
}
|
||||
if textCount != codeCount {
|
||||
fmt.Println("❌ 汉字个数 != 拼音个数:", line)
|
||||
}
|
||||
}
|
||||
|
||||
// +---------------------------------------------------------------
|
||||
// | 其他检查
|
||||
// +---------------------------------------------------------------
|
||||
|
||||
// 需要注音但没有注音的字
|
||||
if dictPath == TencentPath {
|
||||
if !strings.Contains(text, "什么") { // 不处理「什么」
|
||||
for _, word := range polyphoneWords.ToSlice() {
|
||||
if strings.Contains(text, word) {
|
||||
fmt.Println("❌ 需要注音:", line)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 检查拼写错误,如「赞zan」写成了zna;顺便检查是否存在字表中没有注音的字
|
||||
if dictPath != HanziPath && (_type == 2 || _type == 3) && !hanPinyinFilter.Contains(text) {
|
||||
// 把汉字和拼音弄成一一对应关系,「拼音:pin yin」→「拼:pin」「音:yin」
|
||||
textWithoutSpecialChars := strings.NewReplacer("·", "", "-", "").Replace(text) // 去掉间隔号和连接号
|
||||
pinyins := strings.Split(code, " ")
|
||||
i := 0
|
||||
for _, zi := range textWithoutSpecialChars {
|
||||
if !contains(hanPinyin[string(zi)], pinyins[i]) {
|
||||
fmt.Printf("❌ 注音错误 or 字表未包含的汉字及注音: %s - %s.+%s\n", line, string(zi), pinyins[i])
|
||||
}
|
||||
i++
|
||||
}
|
||||
}
|
||||
|
||||
// 错别字检查,最耗时的检查
|
||||
if dictPath != HanziPath && !wrongWordsFilter.Contains(text) {
|
||||
wrongWords.Each(func(wrongWord string) bool {
|
||||
if strings.HasPrefix(wrongWord, "=") {
|
||||
wrongWord = strings.TrimLeft(wrongWord, "= ")
|
||||
if text == wrongWord {
|
||||
fmt.Printf("❌ 错别字: %s = %s\n", text, wrongWord)
|
||||
return true
|
||||
}
|
||||
} else if strings.Contains(text, wrongWord) {
|
||||
fmt.Printf("❌ 错别字: %s - %s\n", text, wrongWord)
|
||||
return true
|
||||
}
|
||||
return false
|
||||
})
|
||||
}
|
||||
}
|
740
others/script/rime/cn_en.go
Normal file
740
others/script/rime/cn_en.go
Normal file
@ -0,0 +1,740 @@
|
||||
package rime
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"regexp"
|
||||
"strings"
|
||||
"time"
|
||||
"unicode"
|
||||
|
||||
mapset "github.com/deckarep/golang-set/v2"
|
||||
)
|
||||
|
||||
// 多音字,手动选择注音
|
||||
var polyphones = map[string]string{
|
||||
"Eul的神圣法杖 > 的": "de",
|
||||
"艾AA > 艾": "ai",
|
||||
"大V > 大": "da",
|
||||
"QQ音乐 > 乐": "yue",
|
||||
"QQ会员 > 会": "hui",
|
||||
"QQ会员 > 员": "yuan",
|
||||
"阿Q精神 > 阿": "a",
|
||||
"G胖 > 胖": "pang",
|
||||
"阿Q > 阿": "a",
|
||||
"阿Q正传 > 阿": "a",
|
||||
"阿Q正传 > 传": "zhuan",
|
||||
"单边z变换 > 单": "dan",
|
||||
"卡拉OK > 卡": "ka",
|
||||
"IP地址 > 地": "di",
|
||||
"IP卡 > 卡": "ka",
|
||||
"SIM卡 > 卡": "ka",
|
||||
"UIM卡 > 卡": "ka",
|
||||
"USIM卡 > 卡": "ka",
|
||||
"X染色体 > 色": "se",
|
||||
"Y染色体 > 色": "se",
|
||||
"蒙奇·D·路飞 > 奇": "qi",
|
||||
"蒙奇·D·龙 > 奇": "qi",
|
||||
"马歇尔·D·蒂奇 > 奇": "qi",
|
||||
"蒙奇·D·卡普 > 奇": "qi",
|
||||
"蒙奇·D·卡普 > 卡": "ka",
|
||||
"波特卡斯·D·艾斯 > 卡": "ka",
|
||||
"波特卡斯·D·艾斯 > 艾": "ai",
|
||||
"A壳 > 壳": "ke",
|
||||
"B壳 > 壳": "ke",
|
||||
"C壳 > 壳": "ke",
|
||||
"D壳 > 壳": "ke",
|
||||
"芭比Q了 > 了": "le",
|
||||
"江南Style > 南": "nan",
|
||||
"三无Marblue > 无": "wu",
|
||||
"V字仇杀队 > 仇": "chou",
|
||||
"Q弹 > 弹": "tan",
|
||||
"M系列 > 系": "xi",
|
||||
"阿Sir > 阿": "a",
|
||||
"MAC地址 > 地": "di",
|
||||
"OK了 > 了": "le",
|
||||
"OK了吗 > 了": "le",
|
||||
"A型血 > 血": "xue",
|
||||
"A血型 > 血": "xue",
|
||||
"B型血 > 血": "xue",
|
||||
"B血型 > 血": "xue",
|
||||
"AB型血 > 血": "xue",
|
||||
"AB血型 > 血": "xue",
|
||||
"O型血 > 血": "xue",
|
||||
"O血型 > 血": "xue",
|
||||
"没bug > 没": "mei",
|
||||
"没有bug > 没": "mei",
|
||||
"卡bug > 卡": "ka",
|
||||
"查bug > 查": "cha",
|
||||
"提bug > 提": "ti",
|
||||
"CT检查 > 查": "cha",
|
||||
"N卡 > 卡": "ka",
|
||||
"A卡 > 卡": "ka",
|
||||
"A区 > 区": "qu",
|
||||
"B区 > 区": "qu",
|
||||
"C区 > 区": "qu",
|
||||
"D区 > 区": "qu",
|
||||
"E区 > 区": "qu",
|
||||
"F区 > 区": "qu",
|
||||
"IT行业 > 行": "hang",
|
||||
"TF卡 > 卡": "ka",
|
||||
"A屏 > 屏": "ping",
|
||||
"A和B > 和": "he",
|
||||
"X和Y > 和": "he",
|
||||
"查IP > 查": "cha",
|
||||
"VIP卡 > 卡": "ka",
|
||||
"VIP会员 > 会": "hui",
|
||||
"VIP会员 > 员": "yuan",
|
||||
"Chromium系 > 系": "xi",
|
||||
"Chrome系 > 系": "xi",
|
||||
"QQ游戏大厅 > 大": "da",
|
||||
"QQ飞车 > 车": "che",
|
||||
"2G网络 > 络": "luo",
|
||||
"3G网络 > 络": "luo",
|
||||
"4G网络 > 络": "luo",
|
||||
"5G网络 > 络": "luo",
|
||||
}
|
||||
|
||||
var digitMap = map[string]string{
|
||||
"0": "零",
|
||||
"1": "一",
|
||||
"2": "二",
|
||||
"3": "三",
|
||||
"4": "四",
|
||||
"5": "五",
|
||||
"6": "六",
|
||||
"7": "七",
|
||||
"8": "八",
|
||||
"9": "九",
|
||||
}
|
||||
|
||||
type schema struct {
|
||||
name string
|
||||
desc string
|
||||
combinationType string
|
||||
path string
|
||||
mapping map[string]string
|
||||
additionalMapping map[string]string
|
||||
excludingMapping map[string]string
|
||||
file *os.File
|
||||
}
|
||||
|
||||
var (
|
||||
doublePinyin schema
|
||||
doublePinyinFlypy schema
|
||||
doublePinyinMSPY schema
|
||||
doublePinyinSogou schema
|
||||
doublePinyinZiGuang schema
|
||||
doublePinyinABC schema
|
||||
)
|
||||
|
||||
func initSchemas() {
|
||||
doublePinyin = schema{
|
||||
name: "cn_en_double_pinyin",
|
||||
desc: "自然码双拼",
|
||||
combinationType: "unique",
|
||||
path: filepath.Join(RimeDir, "en_dicts/cn_en_double_pinyin.txt"),
|
||||
mapping: map[string]string{
|
||||
// 零声母
|
||||
"-a-": "aa",
|
||||
"-e-": "ee",
|
||||
"-o-": "oo",
|
||||
"-ai-": "ai",
|
||||
"-ei-": "ei",
|
||||
"-ou-": "ou",
|
||||
"-an-": "an",
|
||||
"-en-": "en",
|
||||
"-ang-": "ah",
|
||||
"-eng-": "eg",
|
||||
"-ao-": "ao",
|
||||
"-er-": "er",
|
||||
// zh ch sh
|
||||
"zh": "v",
|
||||
"ch": "i",
|
||||
"sh": "u",
|
||||
// 韵母
|
||||
"iu": "q",
|
||||
"ia": "w",
|
||||
"ua": "w",
|
||||
"uan": "r",
|
||||
"ue": "t",
|
||||
"ve": "t",
|
||||
"ing": "y",
|
||||
"uai": "y",
|
||||
"uo": "o",
|
||||
"un": "p",
|
||||
"iong": "s",
|
||||
"ong": "s",
|
||||
"iang": "d",
|
||||
"uang": "d",
|
||||
"en": "f",
|
||||
"eng": "g",
|
||||
"ang": "h",
|
||||
"an": "j",
|
||||
"ao": "k",
|
||||
"ai": "l",
|
||||
"ei": "z",
|
||||
"ie": "x",
|
||||
"iao": "c",
|
||||
"ui": "v",
|
||||
"ou": "b",
|
||||
"in": "n",
|
||||
"ian": "m",
|
||||
},
|
||||
}
|
||||
|
||||
doublePinyinFlypy = schema{
|
||||
name: "cn_en_flypy",
|
||||
desc: "小鹤双拼",
|
||||
combinationType: "unique",
|
||||
path: filepath.Join(RimeDir, "en_dicts/cn_en_flypy.txt"),
|
||||
mapping: map[string]string{
|
||||
// 零声母
|
||||
"-a-": "aa",
|
||||
"-e-": "ee",
|
||||
"-o-": "oo",
|
||||
"-ai-": "ai",
|
||||
"-ei-": "ei",
|
||||
"-ou-": "ou",
|
||||
"-an-": "an",
|
||||
"-en-": "en",
|
||||
"-ang-": "ah",
|
||||
"-eng-": "eg",
|
||||
"-ao-": "ao",
|
||||
"-er-": "er",
|
||||
// zh ch sh
|
||||
"zh": "v",
|
||||
"ch": "i",
|
||||
"sh": "u",
|
||||
// 韵母
|
||||
"iu": "q",
|
||||
"ei": "w",
|
||||
"uan": "r",
|
||||
"ue": "t",
|
||||
"ve": "t",
|
||||
"un": "y",
|
||||
"uo": "o",
|
||||
"ie": "p",
|
||||
"iong": "s",
|
||||
"ong": "s",
|
||||
"ai": "d",
|
||||
"en": "f",
|
||||
"eng": "g",
|
||||
"ang": "h",
|
||||
"an": "j",
|
||||
"ing": "k",
|
||||
"uai": "k",
|
||||
"iang": "l",
|
||||
"uang": "l",
|
||||
"ou": "z",
|
||||
"ia": "x",
|
||||
"ua": "x",
|
||||
"ao": "c",
|
||||
"ui": "v",
|
||||
"in": "b",
|
||||
"iao": "n",
|
||||
"ian": "m",
|
||||
},
|
||||
}
|
||||
|
||||
doublePinyinMSPY = schema{
|
||||
name: "cn_en_mspy",
|
||||
desc: "微软双拼",
|
||||
combinationType: "unique",
|
||||
path: filepath.Join(RimeDir, "en_dicts/cn_en_mspy.txt"),
|
||||
mapping: map[string]string{
|
||||
// 零声母
|
||||
"-a-": "oa",
|
||||
"-e-": "oe",
|
||||
"-o-": "oo",
|
||||
"-ai-": "ol",
|
||||
"-ei-": "oz",
|
||||
"-ou-": "ob",
|
||||
"-an-": "oj",
|
||||
"-en-": "of",
|
||||
"-ang-": "oh",
|
||||
"-eng-": "og",
|
||||
"-ao-": "ok",
|
||||
"-er-": "or",
|
||||
// zh ch sh
|
||||
"zh": "v",
|
||||
"ch": "i",
|
||||
"sh": "u",
|
||||
// 韵母
|
||||
"iu": "q",
|
||||
"ia": "w",
|
||||
"ua": "w",
|
||||
"er": "r",
|
||||
"uan": "r",
|
||||
"ue": "t",
|
||||
"uai": "y",
|
||||
"uo": "o",
|
||||
"un": "p",
|
||||
"iong": "s",
|
||||
"ong": "s",
|
||||
"iang": "d",
|
||||
"uang": "d",
|
||||
"en": "f",
|
||||
"eng": "g",
|
||||
"ang": "h",
|
||||
"an": "j",
|
||||
"ao": "k",
|
||||
"ai": "l",
|
||||
"ing": ";",
|
||||
"ei": "z",
|
||||
"ie": "x",
|
||||
"iao": "c",
|
||||
"ui": "v",
|
||||
"ve": "v",
|
||||
"ou": "b",
|
||||
"in": "n",
|
||||
"ian": "m",
|
||||
},
|
||||
}
|
||||
|
||||
doublePinyinSogou = schema{
|
||||
name: "cn_en_sogou",
|
||||
desc: "搜狗双拼",
|
||||
combinationType: "unique",
|
||||
path: filepath.Join(RimeDir, "en_dicts/cn_en_sogou.txt"),
|
||||
mapping: map[string]string{
|
||||
// 零声母
|
||||
"-a-": "oa",
|
||||
"-e-": "oe",
|
||||
"-o-": "oo",
|
||||
"-ai-": "ol",
|
||||
"-ei-": "oz",
|
||||
"-ou-": "ob",
|
||||
"-an-": "oj",
|
||||
"-en-": "of",
|
||||
"-ang-": "oh",
|
||||
"-eng-": "og",
|
||||
"-ao-": "ok",
|
||||
"-er-": "or",
|
||||
// zh ch sh
|
||||
"zh": "v",
|
||||
"ch": "i",
|
||||
"sh": "u",
|
||||
// 韵母
|
||||
"iu": "q",
|
||||
"ia": "w",
|
||||
"ua": "w",
|
||||
"er": "r",
|
||||
"uan": "r",
|
||||
"ue": "t",
|
||||
"uai": "y",
|
||||
"uo": "o",
|
||||
"un": "p",
|
||||
"iong": "s",
|
||||
"ong": "s",
|
||||
"iang": "d",
|
||||
"uang": "d",
|
||||
"en": "f",
|
||||
"eng": "g",
|
||||
"ang": "h",
|
||||
"an": "j",
|
||||
"ao": "k",
|
||||
"ai": "l",
|
||||
"ing": ";",
|
||||
"ei": "z",
|
||||
"ie": "x",
|
||||
"iao": "c",
|
||||
"ui": "v",
|
||||
"ve": "t",
|
||||
"ou": "b",
|
||||
"in": "n",
|
||||
"ian": "m",
|
||||
},
|
||||
}
|
||||
|
||||
doublePinyinZiGuang = schema{
|
||||
name: "cn_en_ziguang",
|
||||
desc: "紫光双拼",
|
||||
combinationType: "unique",
|
||||
path: filepath.Join(RimeDir, "en_dicts/cn_en_ziguang.txt"),
|
||||
mapping: map[string]string{
|
||||
// 零声母
|
||||
"-a-": "oa",
|
||||
"-e-": "oe",
|
||||
"-o-": "oo",
|
||||
"-ai-": "op",
|
||||
"-ei-": "ok",
|
||||
"-ou-": "oz",
|
||||
"-an-": "or",
|
||||
"-en-": "ow",
|
||||
"-ang-": "os",
|
||||
"-eng-": "ot",
|
||||
"-ao-": "oq",
|
||||
"-er-": "oj",
|
||||
// zh ch sh
|
||||
"zh": "u",
|
||||
"ch": "a",
|
||||
"sh": "i",
|
||||
// 韵母
|
||||
"ao": "q",
|
||||
"en": "w",
|
||||
"an": "r",
|
||||
"eng": "t",
|
||||
"in": "y",
|
||||
"uai": "y",
|
||||
"uo": "o",
|
||||
"ai": "p",
|
||||
"ang": "s",
|
||||
"ie": "d",
|
||||
"ian": "f",
|
||||
"iang": "g",
|
||||
"uang": "g",
|
||||
"iong": "h",
|
||||
"ong": "h",
|
||||
"er": "j",
|
||||
"iu": "j",
|
||||
"ei": "k",
|
||||
"uan": "l",
|
||||
"ing": ";",
|
||||
"ou": "z",
|
||||
"ia": "x",
|
||||
"ua": "x",
|
||||
"iao": "b",
|
||||
"ue": "n",
|
||||
"ui": "n",
|
||||
"un": "m",
|
||||
},
|
||||
}
|
||||
|
||||
doublePinyinABC = schema{
|
||||
name: "cn_en_abc",
|
||||
desc: "智能 ABC 双拼",
|
||||
combinationType: "unique",
|
||||
path: filepath.Join(RimeDir, "en_dicts/cn_en_abc.txt"),
|
||||
mapping: map[string]string{
|
||||
// 零声母
|
||||
"-a-": "oa",
|
||||
"-e-": "oe",
|
||||
"-o-": "oo",
|
||||
"-ai-": "ol",
|
||||
"-ei-": "oq",
|
||||
"-ou-": "ob",
|
||||
"-an-": "oj",
|
||||
"-en-": "of",
|
||||
"-ang-": "oh",
|
||||
"-eng-": "og",
|
||||
"-ao-": "ok",
|
||||
"-er-": "or",
|
||||
// zh ch sh
|
||||
"zh": "a",
|
||||
"ch": "e",
|
||||
"sh": "v",
|
||||
// 韵母
|
||||
"ao": "k",
|
||||
"en": "f",
|
||||
"an": "j",
|
||||
"eng": "g",
|
||||
"in": "c",
|
||||
"uai": "c",
|
||||
"uo": "o",
|
||||
"ai": "l",
|
||||
"ang": "h",
|
||||
"ie": "x",
|
||||
"ian": "w",
|
||||
"iang": "t",
|
||||
"uang": "t",
|
||||
"iong": "s",
|
||||
"ong": "s",
|
||||
"er": "r",
|
||||
"iu": "r",
|
||||
"ei": "q",
|
||||
"uan": "p",
|
||||
"ing": "y",
|
||||
"ou": "b",
|
||||
"ia": "d",
|
||||
"ua": "d",
|
||||
"iao": "z",
|
||||
"ue": "m",
|
||||
"ui": "m",
|
||||
"un": "n",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// CnEn 从 others/cn_en.txt 生成全拼和各个双拼的中英混输词库
|
||||
func CnEn() {
|
||||
// 控制台输出
|
||||
defer printlnTimeCost("更新中英混输 ", time.Now())
|
||||
|
||||
cnEnTXT, err := os.Open(filepath.Join(RimeDir, "others/cn_en.txt"))
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
defer cnEnTXT.Close()
|
||||
|
||||
schemas := []schema{
|
||||
{name: "cn_en", desc: "全拼", combinationType: "unique", path: filepath.Join(RimeDir, "en_dicts/cn_en.txt")},
|
||||
doublePinyin,
|
||||
doublePinyinFlypy,
|
||||
doublePinyinMSPY,
|
||||
doublePinyinSogou,
|
||||
doublePinyinZiGuang,
|
||||
doublePinyinABC,
|
||||
}
|
||||
|
||||
// 写入前缀内容
|
||||
for i := range schemas {
|
||||
schemas[i].file, err = os.OpenFile(schemas[i].path, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
writePrefix(schemas[i])
|
||||
}
|
||||
|
||||
// 转换注音并写入,顺便查重
|
||||
uniq := mapset.NewSet[string]()
|
||||
sc := bufio.NewScanner(cnEnTXT)
|
||||
for sc.Scan() {
|
||||
line := sc.Text()
|
||||
if line == "" || strings.HasPrefix(line, "#") {
|
||||
continue
|
||||
}
|
||||
if strings.TrimSpace(line) != line {
|
||||
fmt.Println("❌ 前后有空格", line)
|
||||
}
|
||||
if uniq.Contains(line) {
|
||||
fmt.Println("❌ 重复", line)
|
||||
continue
|
||||
}
|
||||
uniq.Add(line)
|
||||
for _, schema := range schemas {
|
||||
if schema.combinationType != "multi" {
|
||||
code := textToPinyin(line, schema)
|
||||
_, err := schema.file.WriteString(line + "\t" + code + "\n")
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
lowerCode := strings.ToLower(code)
|
||||
if code != lowerCode {
|
||||
_, err := schema.file.WriteString(line + "\t" + lowerCode + "\n")
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
codes := textToPinyinMulti(line, schema)
|
||||
for _, code := range codes {
|
||||
_, err := schema.file.WriteString(line + "\t" + code + "\n")
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
|
||||
lowerCode := strings.ToLower(code)
|
||||
if code != lowerCode {
|
||||
_, err := schema.file.WriteString(line + "\t" + lowerCode + "\n")
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for i := range schemas {
|
||||
schemas[i].file.Close()
|
||||
}
|
||||
}
|
||||
|
||||
// 写入前缀内容
|
||||
func writePrefix(s schema) {
|
||||
content := fmt.Sprintf(`# Rime table
|
||||
# coding: utf-8
|
||||
#@/db_name %s.txt
|
||||
#@/db_type tabledb
|
||||
#
|
||||
# https://github.com/iDvel/rime-ice
|
||||
# ------- 中英混输词库 for %s -------
|
||||
# 由 others/cn_en.txt 自动生成
|
||||
#
|
||||
# 此行之后不能写注释
|
||||
`, s.name, s.desc)
|
||||
|
||||
_, err := s.file.WriteString(content)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
}
|
||||
|
||||
// 生成编码,返回原大小写
|
||||
func textToPinyin(text string, s schema) string {
|
||||
var code string
|
||||
|
||||
parts := splitMixedWords(text)
|
||||
for _, part := range parts {
|
||||
if digit, ok := digitMap[part]; ok { // 数字
|
||||
if s.desc == "全拼" {
|
||||
code += hanPinyin[digit][0]
|
||||
} else {
|
||||
code += convertToDoublePinyin(hanPinyin[digit][0], s)
|
||||
}
|
||||
} else if len(hanPinyin[part]) == 0 { // 不在字典的就是英文,返回原大小写
|
||||
code += part
|
||||
} else if len(hanPinyin[part]) > 1 { // 多音字,按字典指定的读音
|
||||
if value, ok := polyphones[text+" > "+part]; ok {
|
||||
if s.desc == "全拼" {
|
||||
code += value
|
||||
} else {
|
||||
code += convertToDoublePinyin(value, s)
|
||||
}
|
||||
} else {
|
||||
log.Fatalln("❌ 多音字未指定读音", text, part)
|
||||
}
|
||||
} else { // 其他,按唯一的读音
|
||||
if s.desc == "全拼" {
|
||||
code += hanPinyin[part][0]
|
||||
} else {
|
||||
code += convertToDoublePinyin(hanPinyin[part][0], s)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return code
|
||||
}
|
||||
|
||||
func textToPinyinMulti(text string, s schema) []string {
|
||||
parts := splitMixedWords(text)
|
||||
map4DoublePinyins := make(map[int][]string)
|
||||
for index, part := range parts {
|
||||
if digit, ok := digitMap[part]; ok { // 数字
|
||||
map4DoublePinyins[index] = convertToDoublePinyinMulti(hanPinyin[digit][0], s)
|
||||
} else if len(hanPinyin[part]) > 1 { // 多音字,按字典指定的读音
|
||||
if value, ok := polyphones[text+" > "+part]; ok {
|
||||
map4DoublePinyins[index] = convertToDoublePinyinMulti(value, s)
|
||||
} else {
|
||||
log.Fatalln("❌ 多音字未指定读音", text, part)
|
||||
}
|
||||
} else if len(hanPinyin[part]) == 1 {
|
||||
// 非多音字汉字,按唯一的读音
|
||||
map4DoublePinyins[index] = convertToDoublePinyinMulti(hanPinyin[part][0], s)
|
||||
}
|
||||
}
|
||||
|
||||
var result = make([]string, 0)
|
||||
return stepFurther(parts, 0, "", map4DoublePinyins, result)
|
||||
}
|
||||
|
||||
func stepFurther(parts []string, index int, arranged string, map4DoublePinyins map[int][]string, result []string) []string {
|
||||
if index >= len(parts) {
|
||||
result = append(result, arranged)
|
||||
return result
|
||||
}
|
||||
if combinations, ok := map4DoublePinyins[index]; ok {
|
||||
// 数字或汉字
|
||||
for _, combination := range combinations {
|
||||
result = stepFurther(parts, index+1, arranged+combination, map4DoublePinyins, result)
|
||||
}
|
||||
} else {
|
||||
// 英文字母
|
||||
result = stepFurther(parts, index+1, arranged+parts[index], map4DoublePinyins, result)
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
// 中英文分割,去掉间隔号、句点和横杠
|
||||
// "哆啦A梦" → ["哆", "啦", "A", "梦"]
|
||||
// "QQ号" → ["QQ", "号"]
|
||||
// "Wi-Fi密码" → ["WiFi", "密", "码"]
|
||||
// "乔治·R.R.马丁" → ["乔", "治", "RR", "马", "丁"]
|
||||
// "A4纸" → ["A", "4", "纸"]
|
||||
func splitMixedWords(input string) []string {
|
||||
var result []string
|
||||
word := ""
|
||||
for _, r := range input {
|
||||
if string(r) == "·" || string(r) == "-" || string(r) == "." {
|
||||
continue
|
||||
} else if unicode.Is(unicode.Latin, r) {
|
||||
word += string(r)
|
||||
} else {
|
||||
if word != "" {
|
||||
result = append(result, word)
|
||||
word = ""
|
||||
}
|
||||
result = append(result, string(r))
|
||||
}
|
||||
}
|
||||
if word != "" {
|
||||
result = append(result, word)
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
// 将全拼 code 转为双拼 code
|
||||
func convertToDoublePinyin(code string, s schema) string {
|
||||
// 零声母
|
||||
if contains([]string{"a", "e", "o", "ai", "ei", "ou", "an", "en", "ang", "eng", "ao", "er"}, code) {
|
||||
return s.mapping["-"+code+"-"]
|
||||
}
|
||||
|
||||
// 分割为声母和韵母
|
||||
consonantRegexp := regexp.MustCompile(`^(b|p|m|f|d|t|n|l|g|k|h|j|q|x|zh|ch|sh|r|z|c|s|y|w)`)
|
||||
initial := consonantRegexp.FindString(code)
|
||||
final := consonantRegexp.ReplaceAllString(code, "")
|
||||
// 声母转换
|
||||
if initial == "zh" || initial == "ch" || initial == "sh" {
|
||||
initial = s.mapping[initial]
|
||||
}
|
||||
// 韵母转换
|
||||
if len(final) > 1 {
|
||||
final = s.mapping[final]
|
||||
}
|
||||
// 其余单个的声母和韵母不转换
|
||||
|
||||
return initial + final
|
||||
}
|
||||
|
||||
func convertToDoublePinyinMulti(code string, s schema) []string {
|
||||
// 零声母
|
||||
i := []string{"a", "e", "o", "ai", "ei", "ou", "an", "en", "ang", "eng", "ao", "er"}
|
||||
if contains(i, code) {
|
||||
return []string{s.mapping["-"+code+"-"]}
|
||||
}
|
||||
|
||||
// 分割为声母和韵母
|
||||
consonantRegexp := regexp.MustCompile(`^(b|p|m|f|d|t|n|l|g|k|h|j|q|x|zh|ch|sh|r|z|c|s|y|w)`)
|
||||
initial := consonantRegexp.FindString(code)
|
||||
final := consonantRegexp.ReplaceAllString(code, "")
|
||||
|
||||
// 声母转换
|
||||
isRetroflex := initial == "zh" || initial == "ch" || initial == "sh"
|
||||
if isRetroflex {
|
||||
initial = s.mapping[initial]
|
||||
}
|
||||
// 韵母转换
|
||||
if len(final) > 1 {
|
||||
final = s.mapping[final]
|
||||
}
|
||||
|
||||
var result []string
|
||||
if isRetroflex || len(final) > 1 {
|
||||
leadings := strings.Split(initial, ",")
|
||||
followings := strings.Split(final, ",")
|
||||
for _, leading := range leadings {
|
||||
for _, following := range followings {
|
||||
if exclusion, ok := s.excludingMapping[code]; ok {
|
||||
if exclusion == (leading + following) {
|
||||
continue
|
||||
}
|
||||
}
|
||||
result = append(result, leading+following)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// 其余单个的声母和韵母不转换
|
||||
result = append(result, initial+final)
|
||||
}
|
||||
|
||||
if addition, ok := s.additionalMapping[code]; ok {
|
||||
result = append(result, addition)
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
18
others/script/rime/dir_linux.go
Normal file
18
others/script/rime/dir_linux.go
Normal file
@ -0,0 +1,18 @@
|
||||
//go:build linux
|
||||
// +build linux
|
||||
|
||||
package rime
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os/user"
|
||||
"path/filepath"
|
||||
)
|
||||
|
||||
func getRimeDirForPlatform() string {
|
||||
u, err := user.Current()
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
return filepath.Join(u.HomeDir, ".config", "rime")
|
||||
}
|
19
others/script/rime/dir_mac.go
Normal file
19
others/script/rime/dir_mac.go
Normal file
@ -0,0 +1,19 @@
|
||||
//go:build darwin
|
||||
// +build darwin
|
||||
|
||||
package rime
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os/user"
|
||||
"path/filepath"
|
||||
)
|
||||
|
||||
// 获取 macOS Rime 配置目录
|
||||
func getRimeDirForPlatform() string {
|
||||
u, err := user.Current()
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
return filepath.Join(u.HomeDir, "Library/Rime")
|
||||
}
|
43
others/script/rime/dir_windows.go
Normal file
43
others/script/rime/dir_windows.go
Normal file
@ -0,0 +1,43 @@
|
||||
//go:build windows
|
||||
// +build windows
|
||||
|
||||
package rime
|
||||
|
||||
import (
|
||||
"golang.org/x/sys/windows/registry"
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
)
|
||||
|
||||
// 获取 Windows Rime 配置目录
|
||||
func getRimeDirForPlatform() string {
|
||||
keyPath := `Software\Rime\Weasel`
|
||||
valueName := "RimeUserDir"
|
||||
|
||||
// Get from Windows registry
|
||||
k, err := registry.OpenKey(registry.CURRENT_USER, keyPath, registry.QUERY_VALUE)
|
||||
if err != nil {
|
||||
log.Printf("Failed to open registry key: %v\n", err)
|
||||
// Fallback to default dir
|
||||
return getDefaultWeaselDir()
|
||||
}
|
||||
defer k.Close()
|
||||
|
||||
rimeUserDir, _, err := k.GetStringValue(valueName)
|
||||
if err != nil {
|
||||
log.Printf("Failed to read registry value: %v\n", err)
|
||||
// Fallback to default dir
|
||||
return getDefaultWeaselDir()
|
||||
}
|
||||
|
||||
return rimeUserDir
|
||||
}
|
||||
|
||||
func getDefaultWeaselDir() string {
|
||||
appData := os.Getenv("APPDATA") // AppData\Roaming
|
||||
if appData == "" {
|
||||
log.Fatalln("APPDATA environment variable is not set.")
|
||||
}
|
||||
return filepath.Join(appData, "Rime")
|
||||
}
|
217
others/script/rime/emoji.go
Normal file
217
others/script/rime/emoji.go
Normal file
@ -0,0 +1,217 @@
|
||||
package rime
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
mapset "github.com/deckarep/golang-set/v2"
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"regexp"
|
||||
"strings"
|
||||
"time"
|
||||
"unicode/utf8"
|
||||
)
|
||||
|
||||
// CheckAndGenerateEmoji
|
||||
// 检查 emoji-map.txt 是否合法,检查中文映射是否存在于 base 词库中
|
||||
// 生成 Rime 格式的 emoji.txt
|
||||
// 检查 other.txt 中文映射是否存在于 base 词库中
|
||||
func CheckAndGenerateEmoji() {
|
||||
// 控制台输出
|
||||
defer printlnTimeCost("检查、更新 Emoji", time.Now())
|
||||
|
||||
checkEmoji()
|
||||
generateEmoji()
|
||||
checkOthersTXT()
|
||||
}
|
||||
|
||||
// 检查 emoji-map.txt 是否合法,检查中文映射是否存在于 base 词库中
|
||||
func checkEmoji() {
|
||||
// 打开文件
|
||||
file, err := os.Open(EmojiMapPath)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
// 将 Emoji 加入一个 set,为检测差集做准备
|
||||
emojiSet := mapset.NewSet[string]()
|
||||
sc := bufio.NewScanner(file)
|
||||
for sc.Scan() {
|
||||
line := sc.Text()
|
||||
// 过滤空行
|
||||
if line == "" {
|
||||
continue
|
||||
}
|
||||
// 过滤注释
|
||||
if strings.Contains(line, "#") {
|
||||
continue
|
||||
}
|
||||
// 检查:是否包含 Tab
|
||||
if strings.Contains(line, "\t") {
|
||||
fmt.Println("❌ contains Tab:", line)
|
||||
continue
|
||||
}
|
||||
// 检查:开头结尾无效的空格
|
||||
if strings.HasPrefix(line, " ") || strings.HasSuffix(line, " ") {
|
||||
fmt.Println("❌ unexpected space:", line)
|
||||
continue
|
||||
}
|
||||
// 开始分割
|
||||
parts := strings.Split(line, " ")
|
||||
if len(parts) < 2 {
|
||||
fmt.Println("❌ invalid line:", line)
|
||||
continue
|
||||
}
|
||||
// 加入 emojiSet,顺便用一个 tempSet 查重
|
||||
tempSet := mapset.NewSet[string]()
|
||||
for _, text := range parts[1:] {
|
||||
emojiSet.Add(text)
|
||||
if tempSet.Contains(text) {
|
||||
fmt.Println("❌ duplicate mapping:", text)
|
||||
} else {
|
||||
tempSet.Add(text)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if err := sc.Err(); err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
|
||||
// 检查: emoji-map.txt 中的映射是否存在于 base 词库中,有差集即不存在
|
||||
for _, text := range emojiSet.Difference(BaseSet).ToSlice() {
|
||||
// 不检查英文
|
||||
if match, _ := regexp.MatchString(`[a-zA-Z]`, text); match {
|
||||
continue
|
||||
}
|
||||
// 不检查 1 个字的
|
||||
if utf8.RuneCountInString(text) == 1 {
|
||||
continue
|
||||
}
|
||||
fmt.Println("❌ Emoji 与 base 的差集:", text)
|
||||
}
|
||||
}
|
||||
|
||||
// 从 emoji-map.txt 生成或更新 emoji.txt
|
||||
func generateEmoji() {
|
||||
// 打开文件
|
||||
file, err := os.Open(EmojiMapPath)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
// 模拟有序字典
|
||||
OmKeys := make([]string, 0)
|
||||
OmMap := make(map[string][]string)
|
||||
|
||||
// 将映射读取到字典里
|
||||
sc := bufio.NewScanner(file)
|
||||
for sc.Scan() {
|
||||
line := sc.Text()
|
||||
if strings.HasPrefix(line, "#") && !strings.Contains(line, "井号") { // 井号的 Emoji 被判断为以 # 开头了。。。
|
||||
continue
|
||||
}
|
||||
parts := strings.Split(line, " ")
|
||||
for _, text := range parts[1:] {
|
||||
if !contains(OmKeys, text) {
|
||||
OmKeys = append(OmKeys, text)
|
||||
}
|
||||
OmMap[text] = append(OmMap[text], parts[0])
|
||||
}
|
||||
}
|
||||
|
||||
if err := sc.Err(); err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
|
||||
// 写入 emoji.txt
|
||||
file, err = os.OpenFile(EmojiPath, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0644)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
for _, key := range OmKeys {
|
||||
line := key + "\t" + key + " " + strings.Join(OmMap[key], " ") + "\n"
|
||||
_, err := file.WriteString(line)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
}
|
||||
|
||||
if err := file.Sync(); err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
}
|
||||
|
||||
// 检查 others.txt 里的中文映射是否存在于 base 词库中
|
||||
func checkOthersTXT() {
|
||||
// 打开文件
|
||||
file, err := os.Open(filepath.Join(RimeDir, "opencc/others.txt"))
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
// 将 Emoji 加入一个 set,为检测差集做准备
|
||||
set := mapset.NewSet[string]()
|
||||
sc := bufio.NewScanner(file)
|
||||
for sc.Scan() {
|
||||
line := sc.Text()
|
||||
// 不能有空行
|
||||
if line == "" {
|
||||
fmt.Println("❌ empty line")
|
||||
}
|
||||
// 过滤注释
|
||||
if strings.HasPrefix(line, "----------") {
|
||||
continue
|
||||
}
|
||||
text := strings.Split(line, "\t")[0]
|
||||
if set.Contains(text) {
|
||||
fmt.Println("❌ duplicate key", text)
|
||||
} else {
|
||||
set.Add(text)
|
||||
}
|
||||
}
|
||||
|
||||
// base+cn_dicts/others.dict.yaml
|
||||
othersDictYamlSet := mapset.NewSet[string]()
|
||||
othersDictYaml, err := os.Open(filepath.Join(RimeDir, "cn_dicts/others.dict.yaml"))
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
defer othersDictYaml.Close()
|
||||
sc = bufio.NewScanner(othersDictYaml)
|
||||
isMark := false
|
||||
for sc.Scan() {
|
||||
line := sc.Text()
|
||||
if !isMark {
|
||||
if strings.HasPrefix(line, "##### 叠字") {
|
||||
isMark = true
|
||||
}
|
||||
continue
|
||||
}
|
||||
if strings.HasPrefix(line, "#") {
|
||||
continue
|
||||
}
|
||||
text := strings.Split(line, "\t")[0]
|
||||
othersDictYamlSet.Add(text)
|
||||
}
|
||||
|
||||
// 检查: emoji-map.txt 中的映射是否存在于 base+cn_dicts/others.dict.yaml 词库中,有差集即不存在
|
||||
dictSet := BaseSet.Union(othersDictYamlSet)
|
||||
for _, text := range set.Difference(dictSet).ToSlice() {
|
||||
// 不检查英文
|
||||
if match, _ := regexp.MatchString(`[a-zA-Z]`, text); match {
|
||||
continue
|
||||
}
|
||||
// 不检查 1 个字的
|
||||
if utf8.RuneCountInString(text) == 1 {
|
||||
continue
|
||||
}
|
||||
fmt.Println("❌ others.txt 与 base 的差集:", text)
|
||||
}
|
||||
}
|
147
others/script/rime/others.go
Normal file
147
others/script/rime/others.go
Normal file
@ -0,0 +1,147 @@
|
||||
package rime
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
mapset "github.com/deckarep/golang-set/v2"
|
||||
"log"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
"unicode/utf8"
|
||||
)
|
||||
|
||||
// 一些临时用的函数
|
||||
|
||||
func Temp() {
|
||||
// GeneratePinyinTest("你的行动力")
|
||||
// GeneratePinyinTest("都挺长的")
|
||||
// GeneratePinyinTest("血条长")
|
||||
|
||||
// findP(BasePath, "血")
|
||||
// Pinyin(ExtPath)
|
||||
// AddWeight(ExtPath, 100)
|
||||
}
|
||||
|
||||
// 列出字表中多音字的状况:是否参与自动注音
|
||||
func polyphone() {
|
||||
// open file
|
||||
file, err := os.Open(HanziPath)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
// 将所有读音读入 m
|
||||
type py struct {
|
||||
pinyin string
|
||||
weight int
|
||||
isAuto bool // 是否参与自动注音
|
||||
}
|
||||
m := make(map[string][]py)
|
||||
|
||||
sc := bufio.NewScanner(file)
|
||||
isMark := false
|
||||
for sc.Scan() {
|
||||
line := sc.Text()
|
||||
if !isMark {
|
||||
if line == "..." {
|
||||
isMark = true
|
||||
}
|
||||
continue
|
||||
}
|
||||
if line == "" || strings.HasPrefix(line, "#") {
|
||||
continue
|
||||
}
|
||||
parts := strings.Split(line, "\t")
|
||||
if len(parts) != 3 {
|
||||
log.Fatalln("len(parts) != 3", line)
|
||||
}
|
||||
hanzi, pinyin := parts[0], parts[1]
|
||||
weight, _ := strconv.Atoi(parts[2])
|
||||
m[hanzi] = append(m[hanzi], py{pinyin: pinyin, weight: weight})
|
||||
}
|
||||
|
||||
// 判断是否参与注音
|
||||
for hanzi, pys := range m {
|
||||
if len(pys) == 1 {
|
||||
continue
|
||||
}
|
||||
// 找到最大的权重
|
||||
max := 0
|
||||
for _, py := range pys {
|
||||
if py.weight > max {
|
||||
max = py.weight
|
||||
}
|
||||
}
|
||||
// 计算其他权重相较于 max 的比值,是否大于 0.05
|
||||
for i, py := range pys {
|
||||
if py.weight == max {
|
||||
m[hanzi][i].isAuto = true
|
||||
} else if float64(py.weight)/float64(max) > 0.05 {
|
||||
m[hanzi][i].isAuto = true
|
||||
}
|
||||
}
|
||||
// 输出
|
||||
fmt.Println(hanzi)
|
||||
for _, py := range pys {
|
||||
fmt.Println(py.pinyin, py.weight, py.isAuto)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 在词库中找到此行是否包含同义多音字,如果包含且长度大于等于3,从文件中删除这行,并将所有删除的行写入到 1.txt 中
|
||||
func findP(dictPath string, ch string) {
|
||||
// open file
|
||||
file, err := os.OpenFile(dictPath, os.O_RDWR, 0666)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
outFile, err := os.Create("1.txt")
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
defer outFile.Close()
|
||||
|
||||
lines := make([]string, 0)
|
||||
|
||||
isMark := false
|
||||
sc := bufio.NewScanner(file)
|
||||
set := mapset.NewSet[string]() // 去重用的
|
||||
for sc.Scan() {
|
||||
line := sc.Text()
|
||||
if !isMark {
|
||||
lines = append(lines, line)
|
||||
if line == mark {
|
||||
isMark = true
|
||||
}
|
||||
continue
|
||||
}
|
||||
if line == "" || strings.HasPrefix(line, "#") {
|
||||
lines = append(lines, line)
|
||||
continue
|
||||
}
|
||||
parts := strings.Split(line, "\t")
|
||||
if len(parts) != 3 {
|
||||
log.Fatalln("len(parts) != 3", line)
|
||||
}
|
||||
text := parts[0]
|
||||
if strings.Contains(text, ch) && utf8.RuneCountInString(text) >= 3 && !set.Contains(text) {
|
||||
outFile.WriteString(line + "\n")
|
||||
} else {
|
||||
set.Add(text)
|
||||
lines = append(lines, line)
|
||||
}
|
||||
}
|
||||
|
||||
// 从 lines 重新写入 file
|
||||
file.Truncate(0)
|
||||
file.Seek(0, 0)
|
||||
for _, line := range lines {
|
||||
file.WriteString(line + "\n")
|
||||
}
|
||||
|
||||
fmt.Println("done")
|
||||
}
|
411
others/script/rime/pinyin.go
Normal file
411
others/script/rime/pinyin.go
Normal file
@ -0,0 +1,411 @@
|
||||
package rime
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"path"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
"unicode"
|
||||
"unicode/utf8"
|
||||
|
||||
"github.com/yanyiwu/gojieba"
|
||||
)
|
||||
|
||||
var jieba = gojieba.NewJieba()
|
||||
|
||||
// 汉字-拼音 映射
|
||||
var hanziPinyin = make(map[string][]string) // 使用 check.go 中的 hanPinyin,再经过 onlyOne 替换
|
||||
// 词组-拼音 映射
|
||||
var wordPinyin = make(map[string][]string)
|
||||
|
||||
// 指定唯一读音
|
||||
// 1. 同义多音字
|
||||
// 2. 一般只在特定的词组中发某个音,如「浚xun县」的「浚jun」只在这里念 xun,已经包含了特定的映射,其余的均使用最常见的注音
|
||||
// 3. 还有一些多音字,一个音是主流常用,一个音基本不会使用,如「奘」的 zhuang/zang,只保留 zang
|
||||
var onlyOne = map[string]string{
|
||||
// 同义多音字,但是两种读音是通用的(有的是全部通用,有的是部分含义通用),暂时只选取一种读音,由其他脚本完成多种注音的处理
|
||||
"谁": "shei",
|
||||
"血": "xue",
|
||||
"熟": "shu",
|
||||
"露": "lu",
|
||||
"掴": "guai",
|
||||
"棽": "shen",
|
||||
"爪": "zhua",
|
||||
"薄": "bo",
|
||||
"剥": "bo",
|
||||
"哟": "yo",
|
||||
"嚼": "jiao",
|
||||
"密钥": "mi yao",
|
||||
"公钥": "gong yao",
|
||||
"私钥": "si yao",
|
||||
"甲壳": "jia ke",
|
||||
"掉色": "diao se",
|
||||
"怎么着": "zen me zhe",
|
||||
"这么着": "zhe me zhe",
|
||||
"那么着": "na me zhe",
|
||||
// 其他多音字,指定唯一读音
|
||||
"的": "de",
|
||||
"了": "le",
|
||||
"核儿": "he er",
|
||||
"核": "he",
|
||||
"褪下": "tui xia",
|
||||
"褪": "tui",
|
||||
"便便": "bian bian",
|
||||
"便宜": "pian yi",
|
||||
"便": "bian",
|
||||
"尿尿": "niao niao",
|
||||
"尿": "niao",
|
||||
"衣裳": "yi shang",
|
||||
"裳": "shang",
|
||||
"喳喳": "zha zha",
|
||||
"喳": "zha",
|
||||
"脉脉": "mo mo",
|
||||
"脉": "mai",
|
||||
"呱呱": "gua gua",
|
||||
"呱": "gua",
|
||||
"咀": "ju",
|
||||
"大王": "da wang",
|
||||
"大伯": "da bo",
|
||||
"大": "da",
|
||||
"摩挲": "mo suo",
|
||||
"摩": "mo",
|
||||
"澄清": "cheng qing",
|
||||
"澄": "cheng",
|
||||
"出车": "chu che",
|
||||
"车": "che",
|
||||
"约一约": "yue yi yue",
|
||||
"约": "yue",
|
||||
"绿营": "lv ying",
|
||||
"绿": "lv",
|
||||
"圈里": "quan li",
|
||||
"圈外": "quan wai",
|
||||
"咱家": "zan jia",
|
||||
"圈": "quan",
|
||||
"伯": "bo",
|
||||
"胖": "pang",
|
||||
"南": "nan",
|
||||
"颈": "jing",
|
||||
"氏": "shi",
|
||||
"度": "du",
|
||||
"柜": "gui",
|
||||
"奘": "zang",
|
||||
"叶": "ye",
|
||||
"吭": "keng",
|
||||
"纶": "lun",
|
||||
"莎": "sha",
|
||||
"噌": "ceng",
|
||||
"解": "jie",
|
||||
"价": "jia",
|
||||
"种": "zhong",
|
||||
"嘚": "de",
|
||||
"浚": "jun",
|
||||
"枸": "gou",
|
||||
"拾": "shi",
|
||||
"塞": "sai",
|
||||
"膻": "shan",
|
||||
"数": "shu",
|
||||
"媞": "ti",
|
||||
"哦": "o",
|
||||
"络": "luo",
|
||||
"俩": "lia",
|
||||
"咋": "za",
|
||||
"否": "fou",
|
||||
"尾": "wei",
|
||||
"弄": "nong",
|
||||
"强": "qiang",
|
||||
"烙": "lao",
|
||||
"卜": "bu",
|
||||
"祭": "ji",
|
||||
"缉": "ji",
|
||||
"侥": "jiao",
|
||||
"驮": "tuo",
|
||||
"陆": "lu",
|
||||
"盖": "gai",
|
||||
"色": "se",
|
||||
"涌": "yong",
|
||||
"栅": "zha",
|
||||
"啜": "chuo",
|
||||
"涡": "wo",
|
||||
"券": "quan",
|
||||
"糜": "mi",
|
||||
"焯": "chao",
|
||||
"藉": "ji",
|
||||
"蚌": "bang",
|
||||
"沌": "dun",
|
||||
"殷": "yin",
|
||||
"翟": "zhai",
|
||||
"腌": "yan",
|
||||
"佛": "fo",
|
||||
"合": "he",
|
||||
"乘": "cheng",
|
||||
"溃": "kui",
|
||||
"牟": "mou",
|
||||
"疟": "nve",
|
||||
"雀": "que",
|
||||
"虹": "hong",
|
||||
"碌": "lu",
|
||||
"捋": "lv",
|
||||
"堡": "bao",
|
||||
"读": "du",
|
||||
"蛤": "ha",
|
||||
"繁": "fan",
|
||||
"巷": "xiang",
|
||||
"磅": "bang",
|
||||
"粘": "zhan",
|
||||
"见": "jian",
|
||||
"筠": "yun",
|
||||
"会": "hui",
|
||||
"铅": "qian",
|
||||
"呢": "ne",
|
||||
"栎": "li",
|
||||
"咽": "yan",
|
||||
"殖": "zhi",
|
||||
"泷": "long",
|
||||
"迫": "po",
|
||||
"囤": "tun",
|
||||
"娜": "na",
|
||||
"纤": "xian",
|
||||
"嘘": "xu",
|
||||
"阿": "a",
|
||||
"泌": "mi",
|
||||
"咯": "lo",
|
||||
"扁": "bian",
|
||||
"综": "zong",
|
||||
"哪": "na",
|
||||
"艾": "ai",
|
||||
"期": "qi",
|
||||
"晟": "sheng",
|
||||
"召": "zhao",
|
||||
"瀑": "pu",
|
||||
"棱": "leng",
|
||||
"区": "qu",
|
||||
"蔓": "man",
|
||||
"亟": "ji",
|
||||
"蔚": "wei",
|
||||
"莘": "shen",
|
||||
"石": "shi",
|
||||
"炮": "pao",
|
||||
"喋": "die",
|
||||
"句": "ju",
|
||||
"杉": "shan",
|
||||
"臭": "chou",
|
||||
"禅": "chan",
|
||||
"埋": "mai",
|
||||
"仇": "chou",
|
||||
"和": "he",
|
||||
"折": "zhe",
|
||||
"单": "dan",
|
||||
"臂": "bi",
|
||||
"提": "ti",
|
||||
"贾": "jia",
|
||||
"澹": "dan",
|
||||
"扛": "kang",
|
||||
"员": "yuan",
|
||||
"戌": "xu",
|
||||
"楷": "kai",
|
||||
"卒": "zu",
|
||||
"兹": "zi",
|
||||
"秘": "mi",
|
||||
"洞": "dong",
|
||||
"番": "fan",
|
||||
"亲": "qin",
|
||||
"洗": "xi",
|
||||
"无": "wu",
|
||||
"缩": "suo",
|
||||
"尺": "chi",
|
||||
"差": "cha",
|
||||
"说": "shuo",
|
||||
"貉": "hao",
|
||||
"术": "shu",
|
||||
"龟": "gui",
|
||||
"万": "wan",
|
||||
"没": "mei",
|
||||
"查": "cha",
|
||||
"省": "sheng",
|
||||
"卡": "ka",
|
||||
"奇": "qi",
|
||||
"择": "ze",
|
||||
"峙": "zhi",
|
||||
"戛": "jia",
|
||||
"绰": "chuo",
|
||||
"葚": "shen",
|
||||
"嘞": "lei",
|
||||
"凹": "ao",
|
||||
"给": "gei",
|
||||
"栖": "qi",
|
||||
"窨": "yin",
|
||||
}
|
||||
|
||||
func initPinyin() {
|
||||
// 从 base、ext 准备结巴的词典和词组拼音映射
|
||||
for _, dictPath := range []string{BasePath, ExtPath} {
|
||||
file, err := os.Open(dictPath)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
|
||||
sc := bufio.NewScanner(file)
|
||||
isMark := false
|
||||
for sc.Scan() {
|
||||
line := sc.Text()
|
||||
if !isMark {
|
||||
if strings.HasPrefix(line, mark) {
|
||||
isMark = true
|
||||
}
|
||||
continue
|
||||
}
|
||||
if strings.HasPrefix(line, "#") || line == "" {
|
||||
continue
|
||||
}
|
||||
parts := strings.Split(line, "\t")
|
||||
if len(parts) != 3 || !isAllLower(parts[1]) {
|
||||
continue
|
||||
}
|
||||
text, code := parts[0], parts[1]
|
||||
weight, err := strconv.Atoi(parts[2])
|
||||
if err != nil {
|
||||
log.Fatalln(err, line)
|
||||
}
|
||||
jieba.AddWordEx(text, weight, "")
|
||||
wordPinyin[text] = append(wordPinyin[text], code)
|
||||
}
|
||||
|
||||
file.Close()
|
||||
}
|
||||
|
||||
// 拷贝 hanPinyin 到 hanziPinyin,再从 onlyOne 替换掉映射中的注音
|
||||
for k, v := range hanPinyin {
|
||||
hanziPinyin[k] = v
|
||||
}
|
||||
for text, code := range onlyOne {
|
||||
if utf8.RuneCountInString(text) == 1 {
|
||||
hanziPinyin[text] = []string{code}
|
||||
} else {
|
||||
wordPinyin[text] = []string{code}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Pinyin 半自动的注音
|
||||
// 能准确注音的,注音;拿不准的,留着手动注音
|
||||
func Pinyin(dictPath string) {
|
||||
// 控制台输出
|
||||
defer printlnTimeCost("注音\t"+path.Base(dictPath), time.Now())
|
||||
|
||||
// 读取到 lines 数组
|
||||
file, err := os.ReadFile(dictPath)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
lines := strings.Split(string(file), "\n")
|
||||
|
||||
// 遍历、注音
|
||||
isMark := false
|
||||
for i, line := range lines {
|
||||
if strings.Contains(dictPath, "temp") {
|
||||
isMark = true
|
||||
}
|
||||
if !isMark {
|
||||
if strings.HasPrefix(line, mark) {
|
||||
isMark = true
|
||||
}
|
||||
continue
|
||||
}
|
||||
if line == "" {
|
||||
continue
|
||||
}
|
||||
|
||||
parts := strings.Split(line, "\t")
|
||||
text := parts[0]
|
||||
var code string
|
||||
// parts[1] 可能是:空、已经注音完成、注音到一半(含有未能自动注音的多音字汉字)
|
||||
// 注音完成的,不再注音,其余的进行注音
|
||||
if len(parts) == 1 { // 只有汉字
|
||||
code = generatePinyin(text)
|
||||
} else if len(parts) == 2 || len(parts) == 3 {
|
||||
if isAllLower(parts[1]) { // 全小写,不包含汉字,代表已经注音完成
|
||||
code = parts[1]
|
||||
} else { // 注音到一半(含有汉字),重新注音
|
||||
code = generatePinyin(text)
|
||||
}
|
||||
} else {
|
||||
log.Fatalln("分割错误:", line)
|
||||
}
|
||||
lines[i] = text + "\t" + code
|
||||
}
|
||||
|
||||
// 写入
|
||||
resultString := strings.Join(lines, "\n")
|
||||
err = os.WriteFile(dictPath, []byte(resultString), 0644)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
// 生成拼音
|
||||
// 多音字的处理:
|
||||
// 如果 wordPinyin 没有包含多音字的映射, 返回 []string{"gao xing 地 beng qi lai"} 然后手动注音
|
||||
// 如果 wordPinyin 包含「高兴地 gao xing de」,则将 "高兴地蹦起来" 返回 []string{"gao xing de beng qi lai"}
|
||||
func generatePinyin(s string) string {
|
||||
var r string
|
||||
|
||||
words := jieba.Cut(s, true)
|
||||
for _, word := range words {
|
||||
// 单字,且不是多音字
|
||||
if utf8.RuneCountInString(word) == 1 && len(hanziPinyin[word]) == 1 {
|
||||
r += hanziPinyin[word][0] + " "
|
||||
continue
|
||||
}
|
||||
|
||||
// 词组,且映射中没有多种注音
|
||||
if len(wordPinyin[word]) == 1 {
|
||||
r += wordPinyin[word][0] + " "
|
||||
continue
|
||||
}
|
||||
|
||||
// 词组,未能通过映射进行注音,但本身不包含多音字
|
||||
notPolyphone := false
|
||||
for _, char := range word {
|
||||
if len(hanziPinyin[string(char)]) > 1 {
|
||||
notPolyphone = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if !notPolyphone {
|
||||
for _, char := range word {
|
||||
r += hanziPinyin[string(char)][0] + " "
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
// 其他的不处理,直接返回汉字
|
||||
|
||||
r += word + " "
|
||||
}
|
||||
|
||||
return strings.TrimSpace(r)
|
||||
}
|
||||
|
||||
// GeneratePinyinTest 临时测试一个
|
||||
func GeneratePinyinTest(s string) {
|
||||
words := jieba.Cut(s, true)
|
||||
r := generatePinyin(s)
|
||||
fmt.Printf("%s %q\n", words, r)
|
||||
}
|
||||
|
||||
// 判断 code 是否全小写,不判断空格
|
||||
func isAllLower(s string) bool {
|
||||
for _, ch := range s {
|
||||
if ch == ' ' {
|
||||
continue
|
||||
}
|
||||
if !unicode.IsLower(ch) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
96
others/script/rime/polyphone.go
Normal file
96
others/script/rime/polyphone.go
Normal file
@ -0,0 +1,96 @@
|
||||
package rime
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// 同义多音字
|
||||
var polyphonicWords = []string{
|
||||
"谁",
|
||||
"血",
|
||||
"熟",
|
||||
"掴",
|
||||
"爪",
|
||||
"薄",
|
||||
"剥",
|
||||
"哟",
|
||||
"嚼",
|
||||
"忒", // te 不是,tui 和 tei 是
|
||||
"密钥",
|
||||
"公钥",
|
||||
"私钥",
|
||||
"甲壳",
|
||||
"掉色",
|
||||
}
|
||||
|
||||
// 不检查的词汇
|
||||
var polyphonicWordsFilter = []string{
|
||||
"咀嚼", "倒嚼", "嚼着", "咬文嚼字", "嚼用", "嚼服", "马嚼子", "嚼了", "干嚼", "边嚼边", "嚼舌", "嚼不了", "嚼动", "嚼牙",
|
||||
"淡薄", "姓薄", "微薄", "绵薄", "缘薄", "薄暮", "薄施", "薄言", "儇薄", "鄙薄", "薄的", "薄雾", "薄被", "浇薄", "薄膜", "德薄任重", "德浅行薄", "恶衣薄食", "片长薄技", "薄纸", "硗薄", "薄产", "浅薄", "薄技", "命薄", "薄利", "瘠薄", "凉薄", "薄待", "削薄", "稀薄", "薄地", "喷薄", "薄薪", "薄海", "薄酒", "薄礼", "刻薄", "薄面", "薄命", "磨薄", "薄情", "薄弱", "薄弱地带", "薄弱学校", "薄弱学校改造", "薄志弱行", "薄批细抹", "薄抹灰", "薄伽丘", "薄伽梵", "薄伽梵歌", "薄砂地", "赢得青楼薄幸名", "薄田", "薄物细故", "薄幸", "薄情", "薄葬", "厌薄", "厚积薄发", "履薄临深", "德薄望轻", "菲薄", "履薄", "孤军薄旅", "薄太后", "薄荷", "薄云", "薄鳅",
|
||||
"剥离", "剥夺", "剥削", "剥落", "剥除", "吞剥", "撕剥", "剥茧", "剥蚀", "剥取", "剥脱", "剥啄", "剥开", "椎肤剥髓", "椎肤剥体", "剥肤椎髓", "毕剥", "剥肤之痛", "环剥", "盘剥", "生吞活剥", "山地剥",
|
||||
"熟稔", "黄熟", "谙熟", "熟思", "熟睡", "厮熟", "精熟", "熟虑", "熟字", "熟道", "腐熟", "熟地", "熟手", "熟漆", "熟语", "熟妇", "熟路", "熟识", "熟谙", "熟习", "常熟",
|
||||
"爪哇", "爪儿", "鳞爪", "棘爪", "握爪", "爪子", "爪牙",
|
||||
"差忒", "忒弥斯", "忒修斯", "破忒头", "安菲特里忒", "阿塔兰忒", "阿佛洛狄忒", "阿芙忒娜", "忒伊亚", "得墨忒耳", "欧忒耳佩",
|
||||
}
|
||||
|
||||
// CheckPolyphone 检查 base、ext 中同义多音字是否有两种读音
|
||||
// 例如「谁的」应该同时存在 shei de 与 shui de 两种读音
|
||||
func CheckPolyphone(dictPath string) {
|
||||
file, err := os.Open(dictPath)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
// 将含有同义多音字的词汇放入,key 为词汇,value 为注音
|
||||
// 如果注音数组只有一个,则应该补充其他读音
|
||||
m := make(map[string][]string)
|
||||
|
||||
isMark := false
|
||||
sc := bufio.NewScanner(file)
|
||||
for sc.Scan() {
|
||||
line := sc.Text()
|
||||
if !isMark {
|
||||
if strings.HasPrefix(line, mark) {
|
||||
isMark = true
|
||||
}
|
||||
continue
|
||||
}
|
||||
if line == "" || strings.HasPrefix(line, "#") {
|
||||
continue
|
||||
}
|
||||
parts := strings.Split(line, "\t")
|
||||
if len(parts) != 3 {
|
||||
continue
|
||||
}
|
||||
text, code := parts[0], parts[1]
|
||||
if containsPolyphonicWordsFilter(text) {
|
||||
continue
|
||||
}
|
||||
for _, word := range polyphonicWords {
|
||||
if strings.Contains(text, word) {
|
||||
m[text] = append(m[text], code)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 遍历 m,输出单数读音的词汇
|
||||
for text, codes := range m {
|
||||
if len(codes)%2 != 0 {
|
||||
fmt.Println("⚠️ 同义多音字: " + text)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func containsPolyphonicWordsFilter(text string) bool {
|
||||
for _, filter := range polyphonicWordsFilter {
|
||||
if strings.Contains(text, filter) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
175
others/script/rime/rime.go
Normal file
175
others/script/rime/rime.go
Normal file
@ -0,0 +1,175 @@
|
||||
package rime
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"flag"
|
||||
"fmt"
|
||||
mapset "github.com/deckarep/golang-set/v2"
|
||||
"log"
|
||||
"os"
|
||||
"path"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
// 一个词的组成部分
|
||||
type lemma struct {
|
||||
text string // 汉字
|
||||
code string // 编码
|
||||
weight int // 权重
|
||||
}
|
||||
|
||||
var (
|
||||
mark = "# +_+" // 词库中的标记符号,表示从这行开始进行检查或排序
|
||||
RimeDir string
|
||||
EmojiMapPath string
|
||||
EmojiPath string
|
||||
HanziPath string
|
||||
BasePath string
|
||||
ExtPath string
|
||||
TencentPath string
|
||||
HanziSet mapset.Set[string]
|
||||
BaseSet mapset.Set[string]
|
||||
ExtSet mapset.Set[string]
|
||||
TencentSet mapset.Set[string]
|
||||
需要注音TXT string
|
||||
错别字TXT string
|
||||
汉字拼音映射TXT string
|
||||
AutoConfirm bool
|
||||
)
|
||||
|
||||
func init() {
|
||||
// 定义命令行参数
|
||||
flag.StringVar(&RimeDir, "rime_path", "", "Specify the Rime configuration directory")
|
||||
flag.BoolVar(&AutoConfirm, "auto_confirm", false, "Automatically confirm the prompt")
|
||||
flag.Parse()
|
||||
|
||||
RimeDir = getRimeDir(RimeDir) // Rime 配置目录
|
||||
|
||||
EmojiMapPath = filepath.Join(RimeDir, "others/emoji-map.txt")
|
||||
EmojiPath = filepath.Join(RimeDir, "opencc/emoji.txt")
|
||||
|
||||
HanziPath = filepath.Join(RimeDir, "cn_dicts/8105.dict.yaml")
|
||||
BasePath = filepath.Join(RimeDir, "cn_dicts/base.dict.yaml")
|
||||
ExtPath = filepath.Join(RimeDir, "cn_dicts/ext.dict.yaml")
|
||||
TencentPath = filepath.Join(RimeDir, "cn_dicts/tencent.dict.yaml")
|
||||
|
||||
HanziSet = readToSet(HanziPath)
|
||||
BaseSet = readToSet(BasePath)
|
||||
ExtSet = readToSet(ExtPath)
|
||||
TencentSet = readToSet(TencentPath)
|
||||
|
||||
需要注音TXT = filepath.Join(RimeDir, "others/script/rime/需要注音.txt")
|
||||
错别字TXT = filepath.Join(RimeDir, "others/script/rime/错别字.txt")
|
||||
汉字拼音映射TXT = filepath.Join(RimeDir, "others/script/rime/汉字拼音映射.txt")
|
||||
|
||||
initCheck()
|
||||
initSchemas()
|
||||
initPinyin()
|
||||
}
|
||||
|
||||
func getRimeDir(rimePath string) string {
|
||||
if rimePath != "" {
|
||||
absPath, err := filepath.Abs(rimePath)
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to get absolute path: %v", err)
|
||||
}
|
||||
// 使用传入的路径
|
||||
return absPath
|
||||
}
|
||||
|
||||
return getRimeDirForPlatform()
|
||||
}
|
||||
|
||||
// 将所有词库读入 set,供检查或排序使用
|
||||
func readToSet(dictPath string) mapset.Set[string] {
|
||||
set := mapset.NewSet[string]()
|
||||
|
||||
file, err := os.Open(dictPath)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
sc := bufio.NewScanner(file)
|
||||
isMark := false
|
||||
for sc.Scan() {
|
||||
line := sc.Text()
|
||||
if !isMark {
|
||||
if strings.HasPrefix(line, mark) {
|
||||
isMark = true
|
||||
}
|
||||
continue
|
||||
}
|
||||
parts := strings.Split(line, "\t")
|
||||
set.Add(parts[0])
|
||||
}
|
||||
|
||||
return set
|
||||
}
|
||||
|
||||
// 打印耗时时间
|
||||
func printlnTimeCost(content string, start time.Time) {
|
||||
// fmt.Printf("%s:\t%.2fs\n", content, time.Since(start).Seconds())
|
||||
printfTimeCost(content, start)
|
||||
fmt.Println()
|
||||
}
|
||||
|
||||
// 打印耗时时间
|
||||
func printfTimeCost(content string, start time.Time) {
|
||||
fmt.Printf("%s:\t%.2fs", content, time.Since(start).Seconds())
|
||||
}
|
||||
|
||||
// slice 是否包含 item
|
||||
func contains(arr []string, item string) bool {
|
||||
for _, x := range arr {
|
||||
if item == x {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// AddWeight 为 ext、tencent 没权重的词条加上权重,有权重的改为 weight
|
||||
func AddWeight(dictPath string, weight int) {
|
||||
// 控制台输出
|
||||
printlnTimeCost("加权重\t"+path.Base(dictPath), time.Now())
|
||||
|
||||
// 读取到 lines 数组
|
||||
file, err := os.ReadFile(dictPath)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
lines := strings.Split(string(file), "\n")
|
||||
|
||||
isMark := false
|
||||
for i, line := range lines {
|
||||
if !isMark {
|
||||
if strings.HasPrefix(line, mark) {
|
||||
isMark = true
|
||||
}
|
||||
continue
|
||||
}
|
||||
// 过滤空行
|
||||
if line == "" {
|
||||
continue
|
||||
}
|
||||
// 修改权重为传入的 weight,没有就加上
|
||||
parts := strings.Split(line, "\t")
|
||||
_, err := strconv.Atoi(parts[len(parts)-1])
|
||||
if err != nil {
|
||||
lines[i] = line + "\t" + strconv.Itoa(weight)
|
||||
} else {
|
||||
lines[i] = strings.Join(parts[:len(parts)-1], "\t") + "\t" + strconv.Itoa(weight)
|
||||
}
|
||||
}
|
||||
|
||||
// 写入
|
||||
resultString := strings.Join(lines, "\n")
|
||||
err = os.WriteFile(dictPath, []byte(resultString), 0644)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
301
others/script/rime/sort.go
Normal file
301
others/script/rime/sort.go
Normal file
@ -0,0 +1,301 @@
|
||||
package rime
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"crypto/sha1"
|
||||
"encoding/hex"
|
||||
"fmt"
|
||||
mapset "github.com/deckarep/golang-set/v2"
|
||||
"io"
|
||||
"log"
|
||||
"os"
|
||||
"path"
|
||||
"sort"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
func Sort(dictPath string, _type int) {
|
||||
// 控制台输出
|
||||
defer updateVersion(dictPath, getSha1(dictPath))
|
||||
defer printfTimeCost("排序 "+path.Base(dictPath), time.Now())
|
||||
|
||||
// 打开文件
|
||||
file, err := os.OpenFile(dictPath, os.O_RDWR, 0644)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
// 前缀内容切片、词库切片,前者原封不动写入,后者排序后写入
|
||||
prefixContents := make([]string, 0) // 前置内容
|
||||
contents := make([]lemma, 0) // 词库
|
||||
aSet := mapset.NewSet[string]() // 去重用的的 set
|
||||
|
||||
isMark := false
|
||||
sc := bufio.NewScanner(file)
|
||||
for sc.Scan() {
|
||||
line := sc.Text()
|
||||
|
||||
if !isMark {
|
||||
// mark 之前的写入 prefixContents
|
||||
prefixContents = append(prefixContents, line)
|
||||
if strings.HasPrefix(line, mark) {
|
||||
isMark = true
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
// 分割为 text code weight
|
||||
parts := strings.Split(line, "\t")
|
||||
text, code, weight := parts[0], "", ""
|
||||
|
||||
// 检查分割长度
|
||||
if (_type == 1 || _type == 2 || _type == 3) && len(parts) != _type {
|
||||
log.Println("分割错误123")
|
||||
}
|
||||
if _type == 4 && len(parts) != 2 {
|
||||
fmt.Println("分割错误4")
|
||||
}
|
||||
|
||||
// 将 base 中注释了但没删除的词汇的权重调为 0
|
||||
if dictPath == BasePath && strings.HasPrefix(line, "# ") {
|
||||
parts[2] = "0"
|
||||
}
|
||||
|
||||
// mark 之后的,写入到 contents
|
||||
// 词库自身有重复内容则直接排除,不重复的写入到 contents
|
||||
switch _type {
|
||||
case 1: // 一列 【汉字】
|
||||
if aSet.Contains(text) {
|
||||
fmt.Println("重复:", line)
|
||||
continue
|
||||
}
|
||||
aSet.Add(text)
|
||||
contents = append(contents, lemma{text: text})
|
||||
case 2: // 两列 【汉字+注音】
|
||||
text, code = parts[0], parts[1]
|
||||
if aSet.Contains(text + code) {
|
||||
fmt.Println("重复:", line)
|
||||
continue
|
||||
}
|
||||
aSet.Add(text + code)
|
||||
contents = append(contents, lemma{text: text, code: code})
|
||||
case 3: // 三列 【汉字+注音+权重】
|
||||
text, code, weight = parts[0], parts[1], parts[2]
|
||||
if aSet.Contains(text + code) {
|
||||
fmt.Println("重复:", line)
|
||||
continue
|
||||
}
|
||||
aSet.Add(text + code)
|
||||
weight, _ := strconv.Atoi(weight)
|
||||
contents = append(contents, lemma{text: text, code: code, weight: weight})
|
||||
case 4: // 两列 【汉字+权重】
|
||||
text, weight = parts[0], parts[1]
|
||||
if aSet.Contains(text) {
|
||||
fmt.Println("重复:", line)
|
||||
continue
|
||||
}
|
||||
aSet.Add(text)
|
||||
weight, _ := strconv.Atoi(weight)
|
||||
contents = append(contents, lemma{text: text, weight: weight})
|
||||
}
|
||||
}
|
||||
if err := sc.Err(); err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
|
||||
// 排序:拼音升序,权重降序,最后直接按 Unicode 编码排序
|
||||
// 英文排序不区分大小写
|
||||
if strings.Contains(dictPath, "en.dict.yaml") {
|
||||
sort.SliceStable(contents, func(i, j int) bool {
|
||||
textI, textJ := strings.ToLower(contents[i].text), strings.ToLower(contents[j].text)
|
||||
if strings.HasPrefix(textI, "# ") {
|
||||
textI = textI[2:]
|
||||
}
|
||||
if strings.HasPrefix(textJ, "# ") {
|
||||
textJ = textJ[2:]
|
||||
}
|
||||
if textI != textJ {
|
||||
return textI < textJ
|
||||
}
|
||||
return false
|
||||
})
|
||||
} else {
|
||||
sort.SliceStable(contents, func(i, j int) bool {
|
||||
if contents[i].code != contents[j].code {
|
||||
return contents[i].code < contents[j].code
|
||||
}
|
||||
if contents[i].weight != contents[j].weight {
|
||||
return contents[i].weight > contents[j].weight
|
||||
}
|
||||
if contents[i].text != contents[j].text {
|
||||
return contents[i].text < contents[j].text
|
||||
}
|
||||
return false
|
||||
})
|
||||
}
|
||||
|
||||
// 准备写入,清空文件,移动指针到开头
|
||||
err = file.Truncate(0)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
_, err = file.Seek(0, 0)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
|
||||
// 写入前缀
|
||||
for _, line := range prefixContents {
|
||||
_, err := file.WriteString(line + "\n")
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
}
|
||||
|
||||
// 字表、base 直接写入,不需要从其他词库去重
|
||||
if dictPath == HanziPath || dictPath == BasePath {
|
||||
for _, line := range contents {
|
||||
_, err := file.WriteString(line.text + "\t" + line.code + "\t" + strconv.Itoa(line.weight) + "\n")
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ext tencent 词库需要从一个或多个词库中去重后再写入
|
||||
if dictPath == ExtPath || dictPath == TencentPath {
|
||||
var intersect mapset.Set[string] // 交集,有交集的就是重复的
|
||||
switch dictPath {
|
||||
case ExtPath:
|
||||
intersect = ExtSet.Intersect(BaseSet)
|
||||
case TencentPath:
|
||||
intersect = TencentSet.Intersect(BaseSet.Union(ExtSet))
|
||||
}
|
||||
|
||||
for _, line := range contents {
|
||||
if intersect.Contains(line.text) {
|
||||
fmt.Printf("%s 重复于其他词库:%s\n", strings.Split(path.Base(dictPath), ".")[0], line.text)
|
||||
continue
|
||||
}
|
||||
var s string
|
||||
if line.code != "" {
|
||||
s = line.text + "\t" + line.code + "\t" + strconv.Itoa(line.weight) + "\n"
|
||||
} else {
|
||||
s = line.text + "\t" + strconv.Itoa(line.weight) + "\n"
|
||||
}
|
||||
_, err := file.WriteString(s)
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 外部词库或临时文件,只排序,不去重
|
||||
if !contains([]string{HanziPath, BasePath, ExtPath, TencentPath}, dictPath) {
|
||||
switch _type {
|
||||
case 1:
|
||||
for _, line := range contents {
|
||||
_, err := file.WriteString(line.text + "\n")
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
}
|
||||
case 2:
|
||||
for _, line := range contents {
|
||||
_, err := file.WriteString(line.text + "\t" + line.code + "\n")
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
}
|
||||
case 3:
|
||||
for _, line := range contents {
|
||||
_, err := file.WriteString(line.text + "\t" + line.code + "\t" + strconv.Itoa(line.weight) + "\n")
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
}
|
||||
case 4:
|
||||
for _, line := range contents {
|
||||
_, err := file.WriteString(line.text + "\t" + strconv.Itoa(line.weight) + "\n")
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if err := file.Sync(); err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
}
|
||||
|
||||
// 获取文件 sha1
|
||||
func getSha1(dictPath string) string {
|
||||
f, err := os.Open(dictPath)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
sha1Handle := sha1.New()
|
||||
if _, err := io.Copy(sha1Handle, f); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
return hex.EncodeToString(sha1Handle.Sum(nil))
|
||||
}
|
||||
|
||||
// 排序后,如果文件有改动,则修改 version 日期,并输出 "...sorted"
|
||||
func updateVersion(dictPath string, oldSha1 string) {
|
||||
// 判断文件是否有改变
|
||||
newSha1 := getSha1(dictPath)
|
||||
if newSha1 == oldSha1 {
|
||||
fmt.Println()
|
||||
return
|
||||
}
|
||||
fmt.Println(" ...sorted")
|
||||
|
||||
// 打开文件
|
||||
file, err := os.OpenFile(dictPath, os.O_RDWR, 0644)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
// 修改那一行
|
||||
arr := make([]string, 0)
|
||||
sc := bufio.NewScanner(file)
|
||||
for sc.Scan() {
|
||||
line := sc.Text()
|
||||
if strings.HasPrefix(line, "version:") {
|
||||
s := fmt.Sprintf("version: \"%s\"", time.Now().Format("2006-01-02"))
|
||||
arr = append(arr, s)
|
||||
} else {
|
||||
arr = append(arr, line)
|
||||
}
|
||||
}
|
||||
|
||||
// 重新写入
|
||||
err = file.Truncate(0)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
_, err = file.Seek(0, 0)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
for _, line := range arr {
|
||||
_, err := file.WriteString(line + "\n")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
err = file.Sync()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
840
others/script/rime/汉字拼音映射.txt
Normal file
840
others/script/rime/汉字拼音映射.txt
Normal file
@ -0,0 +1,840 @@
|
||||
# 汉字拼音映射,用于检查拼音书写是否正确
|
||||
# 以空格分隔
|
||||
#
|
||||
#
|
||||
### ----------不在字表的注音:----------
|
||||
珮 pei
|
||||
塚 zhong
|
||||
䇲 jia
|
||||
蒾 mi
|
||||
荵 ren
|
||||
鯙 chun
|
||||
魾 pi
|
||||
礤 ca
|
||||
楢 you
|
||||
鮧 yi
|
||||
魣 yu
|
||||
𫚙 pu
|
||||
𫚪 yu
|
||||
煐 ying
|
||||
螉 weng
|
||||
樋 tong
|
||||
鳆 fu
|
||||
𫁡 li
|
||||
鯮 zong
|
||||
𧈢 ba
|
||||
蚖 yuan
|
||||
䗃 zhan
|
||||
魟 hong
|
||||
𮬣 xian
|
||||
矽 xi
|
||||
㹴 geng
|
||||
箝 qian
|
||||
猼 bo
|
||||
魮 pi
|
||||
㞎 ba
|
||||
䍁 sui
|
||||
畑 tian
|
||||
躄 bi
|
||||
螣 teng
|
||||
鱎 jiao
|
||||
蟱 wu
|
||||
鵖 bi
|
||||
閦 chu
|
||||
鳽 jian
|
||||
獚 huang
|
||||
爊 ao
|
||||
鰕 xia
|
||||
鵙 ju
|
||||
𫚒 fu
|
||||
轧 ga
|
||||
鯥 lu
|
||||
蜑 dan
|
||||
鰋 yan
|
||||
犭 quan
|
||||
𫚔 hui
|
||||
鮗 dong
|
||||
犎 feng
|
||||
揎 xuan
|
||||
濬 jun
|
||||
脝 heng
|
||||
蠵 xi
|
||||
鬅 peng
|
||||
鷃 yan
|
||||
栱 gong
|
||||
螲 die
|
||||
蟷 dang
|
||||
蟳 xun
|
||||
鱥 gui
|
||||
冓 gou
|
||||
㖏 nie
|
||||
凪 zhi
|
||||
栃 li
|
||||
梶 wei
|
||||
峠 ka
|
||||
堀 ku
|
||||
麿 mo
|
||||
辻 shi
|
||||
糸 si
|
||||
鮨 yi
|
||||
檵 ji
|
||||
濛 meng
|
||||
氽 tun
|
||||
鯻 la
|
||||
魠 tuo
|
||||
脷 li
|
||||
垅 long
|
||||
蟌 cong
|
||||
鱚 xi
|
||||
鱵 zhen
|
||||
欻 chua
|
||||
窾 kuan
|
||||
稊 ti
|
||||
粄 ban
|
||||
拏 na
|
||||
揾 wen
|
||||
脢 mei
|
||||
蚿 xian
|
||||
𧊕 song
|
||||
𭎂 zong
|
||||
### ----------在字表但未被脚本自动纳入的注音:----------
|
||||
# 嗯 eng # 目前以 en 为主
|
||||
欸 ei
|
||||
哟 yo
|
||||
唷 yo
|
||||
𰻝 biang
|
||||
嬢 niang
|
||||
薙 ti
|
||||
菈 la
|
||||
咲 xiao
|
||||
雫 xia
|
||||
螓 qin
|
||||
㨃 dui
|
||||
𤭢 cei
|
||||
䞍 qing
|
||||
跩 zhuai
|
||||
朊 ruan
|
||||
鿔 ge
|
||||
鿭 ni
|
||||
𫟷 li
|
||||
鿬 tian
|
||||
鿫 ao
|
||||
# -_- ----------这行下面是要过滤掉的词汇,不进行注音检查----------
|
||||
杭育
|
||||
氐土貉
|
||||
道在屎溺
|
||||
瓦查屎溺
|
||||
随地便溺
|
||||
深厉浅揭
|
||||
神荼郁垒
|
||||
郁垒神荼
|
||||
慎馀肉庄
|
||||
深甽镇
|
||||
声嘒嘒兮
|
||||
泥而不滓
|
||||
蹑蹻担簦
|
||||
臲卼
|
||||
蹑景追飞
|
||||
女红
|
||||
呕哑嘲哳难为听
|
||||
毰毸
|
||||
鬅鬙
|
||||
夂部
|
||||
只鸡斗酒定膰吾
|
||||
枳椇
|
||||
枳椇子
|
||||
南枳椇
|
||||
北枳椇
|
||||
只恐先春鶗鴂鸣
|
||||
菓珍
|
||||
和菓子
|
||||
姜承録
|
||||
李汭燦
|
||||
梁靖崑
|
||||
比叡
|
||||
比叡山
|
||||
曹叡
|
||||
金叡园
|
||||
魏明帝曹叡
|
||||
崔叡娜
|
||||
林柏叡
|
||||
逸景佲居
|
||||
宇髄天元
|
||||
廻龙村
|
||||
天廻龙
|
||||
风吹仙袂飘飖举
|
||||
飘飖兮
|
||||
飘飖兮若流风之回雪
|
||||
绮榭飘飖紫庭客
|
||||
火齐汤
|
||||
㺢㹢狓
|
||||
鵋鶀
|
||||
榎本温子
|
||||
榎本武扬
|
||||
榎木淳弥
|
||||
榎木孝明
|
||||
浅浅
|
||||
约氏獛
|
||||
瑟氏獛
|
||||
沙鯭鱼
|
||||
凵部
|
||||
陈蕃下榻
|
||||
砢碜
|
||||
兰屿大叶螽蟴
|
||||
肋脦
|
||||
乐陵
|
||||
乐陵市
|
||||
乐陵县
|
||||
山东省乐陵市
|
||||
山东乐陵
|
||||
德州乐陵
|
||||
乐亭
|
||||
乐亭大鼓
|
||||
乐亭市
|
||||
乐亭县
|
||||
乐亭镇
|
||||
唐山乐亭
|
||||
河北乐亭
|
||||
派司
|
||||
郭明錤
|
||||
奤夿屯
|
||||
奤夿屯村
|
||||
虾蟆陵
|
||||
解州
|
||||
解州关帝庙
|
||||
解州镇
|
||||
韩复榘
|
||||
汤汤
|
||||
浩浩汤汤
|
||||
秏鸡猫儿
|
||||
浩然与溟涬同科
|
||||
淈泥扬波
|
||||
何不淈其泥而扬其波
|
||||
淈其泥而扬其波
|
||||
淈其泥扬其波
|
||||
黑胫侎缘蝽
|
||||
阿閦鞞佛
|
||||
阿目佉跋折罗
|
||||
吠舍佉月
|
||||
佉卢文
|
||||
佉卢文字
|
||||
佉卢字母
|
||||
佉罗文
|
||||
佉阳照
|
||||
僧佉论
|
||||
僾见忾闻
|
||||
黯黮章
|
||||
瞬光斩黯黮
|
||||
沧源佧佤族自治县
|
||||
耿马傣族佧佤族自治县
|
||||
佧佤
|
||||
佧佤山
|
||||
佧佤山区
|
||||
佧佤族
|
||||
亿萨佧控股
|
||||
艸部
|
||||
箣竹
|
||||
僝僽
|
||||
剿说
|
||||
出阝江镇
|
||||
踧踖不安
|
||||
等衰
|
||||
大宛其农场
|
||||
大宛
|
||||
宛马
|
||||
大宛马
|
||||
宛马至今来
|
||||
登阵常骑大宛马
|
||||
宛马总肥春苜蓿
|
||||
胡马大宛名
|
||||
大宛国
|
||||
澳门氹仔
|
||||
氹仔岛
|
||||
路氹城
|
||||
伐木丁丁
|
||||
梵呗
|
||||
梵呗圆音
|
||||
空山梵呗
|
||||
髣髴兮
|
||||
髣髴兮若轻云之蔽月
|
||||
辵部
|
||||
般若
|
||||
般若波罗蜜
|
||||
般若波罗蜜多
|
||||
般若波罗蜜多心经
|
||||
般若经
|
||||
般若库
|
||||
般若寺
|
||||
般若心经
|
||||
般若掌
|
||||
般若智慧
|
||||
大般若
|
||||
大般若经
|
||||
大梵般若
|
||||
金刚般若波罗蜜
|
||||
龙象般若功
|
||||
摩诃般若波罗蜜
|
||||
摩诃般若波罗蜜多
|
||||
螲蟷
|
||||
闭户螲蟷
|
||||
蝼螲
|
||||
台湾螲蟷
|
||||
螲蟷科
|
||||
胳肢窝
|
||||
胳肢窝儿
|
||||
米泽瑠美
|
||||
瑠川里菜
|
||||
醽醁
|
||||
罗睺
|
||||
罗睺罗
|
||||
罗睺罗跋陀罗
|
||||
罗睺寺
|
||||
罗睺星
|
||||
摩睺罗伽
|
||||
魔祖罗睺
|
||||
周罗睺
|
||||
宗罗睺
|
||||
挼搓
|
||||
手挼红杏蕊
|
||||
干将莫邪
|
||||
呼韩邪单于
|
||||
呼韩邪
|
||||
浑邪王
|
||||
莫邪
|
||||
上邪
|
||||
川射干
|
||||
射干
|
||||
射干抗病毒注射液
|
||||
射干利咽口服液
|
||||
騃儿痴女
|
||||
痴儿騃女
|
||||
痴男騃女
|
||||
峇峇娘惹
|
||||
峇峇语
|
||||
峇峇与娘惹
|
||||
娘惹峇峇
|
||||
馎饦
|
||||
大局阢陧
|
||||
阢陧
|
||||
阢陧不安
|
||||
白鼻豿
|
||||
菶菶萋萋
|
||||
秘鲁苦蘵
|
||||
苦蘵
|
||||
拂士
|
||||
法家拂士
|
||||
入则无法家拂士
|
||||
彩虹锠螺
|
||||
台湾锠螺
|
||||
孱头
|
||||
车善玗
|
||||
池建玗
|
||||
卢珉玗
|
||||
千玗嬉
|
||||
田峻玗
|
||||
珣玗琪
|
||||
朱抮玗
|
||||
趻踔
|
||||
陈金釭
|
||||
陈金釭起义旧址
|
||||
青釭剑
|
||||
噌吰
|
||||
瞠目挢舌
|
||||
目瞪舌挢
|
||||
目定舌挢
|
||||
郕王
|
||||
城中居民风裂骭
|
||||
池酒林胾
|
||||
缏得红罗手帕子
|
||||
冫部
|
||||
菠薐菜
|
||||
狛千代
|
||||
峬峭
|
||||
重裀列鼎
|
||||
列鼎重裀
|
||||
争逞舞裀歌扇
|
||||
巛部
|
||||
粢饭
|
||||
粢饭糕
|
||||
粢饭团
|
||||
踆乌
|
||||
酂城镇
|
||||
酂阳乡
|
||||
大伡
|
||||
灯灺酒阑
|
||||
酒阑灯灺
|
||||
堺利彦
|
||||
堺雅人
|
||||
槙原敬之
|
||||
蛁蟟
|
||||
蒙蛁蟟蝉
|
||||
东京喰种
|
||||
冬温夏凊
|
||||
夏凊冬温
|
||||
温凊定省
|
||||
魀猿
|
||||
肥醲甘脆
|
||||
甘脆肥醲
|
||||
櫜弓卧鼓
|
||||
卧鼓櫜弓
|
||||
槁暴
|
||||
槁项黄馘
|
||||
黄馘槁项
|
||||
茖葱
|
||||
圪饦汤
|
||||
耿飚
|
||||
羹藜唅糗
|
||||
廾部
|
||||
怀玉被褐
|
||||
被发拊膺
|
||||
被发入山
|
||||
被发文身
|
||||
被发跣足
|
||||
被发佯狂
|
||||
被发阳狂
|
||||
被发缨冠
|
||||
被发左衽
|
||||
被褐怀玉
|
||||
被褐怀珠
|
||||
被甲持兵
|
||||
被甲执兵
|
||||
被甲执锐
|
||||
被山带河
|
||||
执锐被坚
|
||||
被坚执锐
|
||||
被甲枕戈
|
||||
被石兰兮带杜衡
|
||||
马伊琍
|
||||
张琍敏
|
||||
张书旂
|
||||
崔杋圭
|
||||
豆䜺儿
|
||||
都俞吁咈
|
||||
吁咈都俞
|
||||
多宝槅
|
||||
蛾眉螓首
|
||||
螓首蛾眉
|
||||
狐埋狐搰
|
||||
耲耙
|
||||
阛阓
|
||||
废太子胤礽
|
||||
皇太子胤礽
|
||||
太子胤礽
|
||||
胤礽
|
||||
黄泆潼
|
||||
回雪飘飖转蓬舞
|
||||
剑首一吷
|
||||
礓䃰儿
|
||||
蒋攸铦
|
||||
官田原三筊埤古水道遗构
|
||||
阿房
|
||||
阿房宫
|
||||
阿房宫赋
|
||||
秦阿房宫
|
||||
匚部
|
||||
放饭流歠
|
||||
肥䐛䐛
|
||||
泛驾之马
|
||||
疯狂的麦咭
|
||||
丰容盛鬋
|
||||
撧耳顿足
|
||||
撧耳挠腮
|
||||
撧耳揉腮
|
||||
明里䌷
|
||||
冒顿
|
||||
冒顿单于
|
||||
慕容皝
|
||||
慕容儁
|
||||
褦襶
|
||||
南宫仆射
|
||||
南蛮鴃舌
|
||||
囊膪
|
||||
李搢臣
|
||||
李搢荣
|
||||
倪朝搢
|
||||
陶搢绶
|
||||
万廷搢
|
||||
吴玉搢
|
||||
余搢珊
|
||||
宏碁集团
|
||||
宏碁
|
||||
碁山乡
|
||||
碁山镇
|
||||
钱君匋
|
||||
将进酒
|
||||
荍坝乡
|
||||
荍坝镇
|
||||
幧头
|
||||
梫星尺蛾
|
||||
菥蓂
|
||||
蓂荚
|
||||
十三味菥蓂丸
|
||||
湿薪半束抱衾裯
|
||||
手嶌葵
|
||||
田嶌纱兰
|
||||
裋褐
|
||||
潦水尽而寒潭清
|
||||
厶部
|
||||
卡多朿氏魮
|
||||
丝朿蛤属
|
||||
司马伷
|
||||
偲偲
|
||||
驷玉虬以桀鹥兮
|
||||
周家硷镇
|
||||
殢酒淹花
|
||||
殢雨尤云
|
||||
殢云尤雨
|
||||
尤云殢雨
|
||||
沾云殢雨
|
||||
转文
|
||||
右仆射
|
||||
左仆射
|
||||
糸部
|
||||
糸守变电所
|
||||
糸守高中
|
||||
糸守湖
|
||||
糸守镇
|
||||
四糸乃
|
||||
鱼丁糸
|
||||
拂菻国
|
||||
拂菻坊
|
||||
罘罳
|
||||
芣苢
|
||||
罥烟眉
|
||||
公乎公乎挂罥于其间
|
||||
钴鉧潭西小丘记
|
||||
告朔饩羊
|
||||
里砦镇
|
||||
古砦仫佬族乡
|
||||
冠盖相属
|
||||
佹得佹失
|
||||
红嘴鵎鵼
|
||||
鵎鵼
|
||||
鵎鵼科
|
||||
小鵎鵼
|
||||
胡吹海嗙
|
||||
胡吹乱嗙
|
||||
沕沕水
|
||||
花开荼䕷
|
||||
开到荼䕷
|
||||
荼䕷
|
||||
荼䕷花
|
||||
蛟龙得雨鬐鬣动
|
||||
㔾部
|
||||
卩部
|
||||
亠部
|
||||
冂部
|
||||
六安
|
||||
六安市
|
||||
六安县
|
||||
安徽省六安市
|
||||
安徽六安
|
||||
安徽六安市
|
||||
六合
|
||||
六合区
|
||||
南京六合
|
||||
南京六合区
|
||||
南京市六合区
|
||||
穋尔氏朴丽鱼
|
||||
猸子
|
||||
艋舺
|
||||
曚昽
|
||||
日光曚昽
|
||||
冖部
|
||||
宀部
|
||||
蠛蠓
|
||||
雅蠛蝶
|
||||
发奸擿伏
|
||||
冥行擿埴
|
||||
擿伏发奸
|
||||
朙月
|
||||
朙月拼音
|
||||
榾柮
|
||||
嶕峣
|
||||
楬树蛙
|
||||
金泘沱
|
||||
马泘沱
|
||||
金毛犼
|
||||
金旼炡
|
||||
咸恩炡
|
||||
金鎞刮膜
|
||||
今日云輧渡鹊桥
|
||||
蟼掌突蟾
|
||||
元恶大憝
|
||||
粔籹
|
||||
朘削
|
||||
鵔鸃冠
|
||||
擖哧
|
||||
轲峨大艑落帆来
|
||||
孔传鋕
|
||||
倥侗
|
||||
劻勷
|
||||
啴啴
|
||||
提携袴中儿
|
||||
廴部
|
||||
褎如充耳
|
||||
轩輶之使
|
||||
輶轩之使
|
||||
元气囝仔
|
||||
侧棱
|
||||
侧歪
|
||||
迍邅
|
||||
邅吾道兮洞庭
|
||||
张妼晗
|
||||
李文炤
|
||||
赵禥
|
||||
宋度宗赵禥
|
||||
沼鳝螴
|
||||
赵昚
|
||||
宋孝宗赵昚
|
||||
畇畇
|
||||
者竜乡
|
||||
獉狉
|
||||
杜凯琹
|
||||
褚小杯大
|
||||
悃愊无华
|
||||
嫏嬛
|
||||
勒掯
|
||||
䓞草
|
||||
黎民糠籺窄
|
||||
睟面盎背
|
||||
涟洏
|
||||
连属
|
||||
亮菛锹甲
|
||||
林㹭
|
||||
朴炡禹
|
||||
柳树酄镇
|
||||
六硍镇
|
||||
罗惇曧
|
||||
马骄偏避幰
|
||||
霡霂
|
||||
麦薲草
|
||||
瞒神諕鬼
|
||||
铓锣
|
||||
酕醄大醉
|
||||
镁蚡
|
||||
梅瑴成
|
||||
彭禺厶
|
||||
埤堄
|
||||
偏伤周顗情
|
||||
破斧缺斨
|
||||
破谜儿
|
||||
陂陀
|
||||
尨茸
|
||||
仆射
|
||||
千乘万骑
|
||||
梫木
|
||||
謦咳
|
||||
謦咳相闻
|
||||
庆亲王奕劻
|
||||
藑茅
|
||||
跫然
|
||||
跫音
|
||||
秋篠宫
|
||||
篠田步美
|
||||
篠惠美
|
||||
黑腄蚃
|
||||
人面黑腄蚃
|
||||
蛈蛚
|
||||
朣朦
|
||||
已报生擒吐谷浑
|
||||
吐谷浑
|
||||
鼧鼥
|
||||
跅弛不羁
|
||||
托氏琩螺
|
||||
刓方为圆
|
||||
汍澜
|
||||
玩岁愒日
|
||||
隐思君兮陫侧
|
||||
尢部
|
||||
桜都字幕
|
||||
桜都字幕组
|
||||
曱甴
|
||||
咱家
|
||||
载云旗之委蛇
|
||||
虚与委蛇
|
||||
苲草
|
||||
众踥蹀而日进兮
|
||||
钟睒睒
|
||||
诪张为幻
|
||||
日居月诸
|
||||
日朘月削
|
||||
日削月朘
|
||||
彡部
|
||||
石濑兮浅浅
|
||||
楤木
|
||||
宋昰昀
|
||||
蜙蝑
|
||||
孙昌慜
|
||||
孙兴慜
|
||||
索琼茅以筳篿兮
|
||||
嗒然
|
||||
嗒然若丧
|
||||
嗒然若失
|
||||
嗒然自丧
|
||||
嗒丧
|
||||
嗒丧而归
|
||||
嗒焉若丧
|
||||
太姥山
|
||||
天城燐音
|
||||
团圞
|
||||
文晸赫
|
||||
齆鼻儿
|
||||
齆声齆气
|
||||
䰀鬌
|
||||
於靬王
|
||||
栖栖
|
||||
栖栖遑遑
|
||||
傒倖
|
||||
铣铁
|
||||
鲜鱼曰脡祭
|
||||
香色蔚其饛
|
||||
相濡相呴
|
||||
相呴相濡
|
||||
相呴以湿
|
||||
乡音未改鬓毛衰
|
||||
晓驾炭车辗冰辙
|
||||
謏闻浅说
|
||||
屧粉秋蛩扫
|
||||
脇野龙
|
||||
禤靐龘
|
||||
彐部
|
||||
掩骼埋胔
|
||||
严如熤
|
||||
杨千嬅
|
||||
乐山乐水
|
||||
嫛婗
|
||||
蛡螉
|
||||
噫吁嚱
|
||||
櫽栝
|
||||
远路应悲春晼晚
|
||||
元気森林
|
||||
掸邦
|
||||
掸邦高原
|
||||
掸邦北部
|
||||
缅甸掸邦
|
||||
蟢子
|
||||
乡音无改鬓毛衰
|
||||
蠮螉
|
||||
垣墙皆顿擗
|
||||
郑克塽
|
||||
怔忪
|
||||
中谷有蓷
|
||||
钟离眜
|
||||
珠蟞鱼
|
||||
属辞比事
|
||||
属望
|
||||
属意
|
||||
属意于
|
||||
属垣有耳
|
||||
垂緌饮清露
|
||||
电脑堺
|
||||
范世錡
|
||||
青玉案
|
||||
青玉案元夕
|
||||
寒螀
|
||||
三笘薰
|
||||
曚云之月
|
||||
杭育杭育
|
||||
李施嬅
|
||||
若陀龙王
|
||||
通什镇
|
||||
匚匸凵冂
|
||||
林孝埈
|
||||
嫑忈嘦姕
|
||||
兰若
|
||||
兰若庭
|
||||
兰若心
|
||||
兰若寺
|
||||
琅邪
|
||||
琅邪王
|
||||
西山兰若试茶歌
|
||||
阿兰若
|
||||
群氓
|
||||
群氓效应
|
||||
愚氓
|
||||
僧是愚氓犹可训
|
||||
钱松喦
|
||||
石碁站
|
||||
石碁镇
|
||||
欹嵚历落
|
||||
合原槻羽
|
||||
大槻响
|
||||
宍户里帆
|
||||
三舩美铃
|
||||
鬼死为聻
|
||||
鬼死为魙
|
||||
峇株巴辖
|
||||
迦叶
|
||||
迦叶佛
|
||||
迦叶尊者
|
||||
大迦叶
|
||||
摩诃迦叶
|
||||
优楼频螺迦叶
|
||||
鲗鱼涌
|
||||
又双叒叕
|
||||
钟梓萓
|
||||
龙行龘龘
|
||||
前程朤朤
|
||||
生活䲜䲜
|
||||
事业燚燚
|
||||
陈寅恪
|
||||
陈寅恪先生
|
||||
蟙䘃
|
||||
噬嗑
|
||||
噬嗑卦
|
||||
火雷噬嗑
|
||||
天山遯
|
||||
仚屳屲冚
|
||||
閟宫有侐
|
||||
被苫蒙荆
|
||||
笭箵
|
||||
笭菁
|
||||
沟浍皆盈
|
||||
黄霄雲
|
||||
蔄山
|
||||
蔄山镇
|
||||
暴衣露盖
|
||||
暴衣露冠
|
||||
魂不著体
|
||||
棋输先著
|
||||
一鞭先著
|
||||
枝附叶著
|
||||
宕昌前个木虱
|
||||
宕昌县
|
||||
陇南宕昌
|
||||
宕昌
|
||||
宕昌山
|
||||
郦食其
|
||||
蛣蟟
|
||||
擸𢶍
|
||||
蠽蟟
|
||||
秋山燿平
|
||||
黄霑
|
||||
㶉𫛶
|
||||
朱祐杬
|
||||
朱载坖
|
||||
明穆宗朱载坖
|
||||
金玟庭
|
||||
金玟哉
|
||||
李玟娥
|
||||
李玟真
|
||||
妺喜
|
||||
黄晸玟
|
||||
金昇玟
|
||||
李玟赫
|
||||
金玟锡
|
||||
李玟雨
|
||||
㵲水
|
||||
㵲阳河
|
||||
㵲阳镇
|
||||
睒电窗
|
||||
和世㻋
|
||||
白帢青衫
|
||||
劈地价来
|
||||
十夫桡椎
|
||||
轻裾随风还
|
||||
耳著明月珰
|
||||
著我旧时裳
|
||||
波流弟靡
|
||||
姓能
|
4431
others/script/rime/错别字.txt
Normal file
4431
others/script/rime/错别字.txt
Normal file
File diff suppressed because it is too large
Load Diff
1612
others/script/rime/需要注音.txt
Normal file
1612
others/script/rime/需要注音.txt
Normal file
File diff suppressed because it is too large
Load Diff
BIN
others/sponsor.webp
Normal file
BIN
others/sponsor.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 33 KiB |
24
others/双拼补丁示例/README.md
Normal file
24
others/双拼补丁示例/README.md
Normal file
@ -0,0 +1,24 @@
|
||||
# 双拼补丁示例
|
||||
|
||||
目前配置中有个别功能仍然默认使用全拼拼写:
|
||||
|
||||
拼字时,全拼需要输入 `uUshuishuishui` 来打出「淼」,小鹤双拼用户更希望使用 `uUuvuvuv` 来打出。
|
||||
|
||||
英文派生规则中,全拼输入 `windowsshi` 即得到「Windows 10」,小鹤双拼用户更希望使用 `windowsui`。
|
||||
|
||||
<br>
|
||||
|
||||
不能自动适配,需要手动修改一下:
|
||||
|
||||
- 英文中部分符号的派生规则:在英文方案文件 `melt_eng.schema.yaml > speller > algebra` 修改为对应的双拼拼写运算
|
||||
|
||||
- 部件拆字的拼写规则:在部件拆字方案 `radical_pinyin.schema.yaml > speller > algebra` 修改为对应的双拼拼写运算
|
||||
|
||||
<br>
|
||||
|
||||
可以参考仓库主页的 README 中使用 plum 一键补丁。
|
||||
|
||||
<br>
|
||||
|
||||
也可以从此文件夹中直接复制粘贴到配置目录,默认启用的是小鹤的。
|
||||
|
4
others/双拼补丁示例/double_pinyin_flypy.custom.yaml
Normal file
4
others/双拼补丁示例/double_pinyin_flypy.custom.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
# 这是小鹤的补丁,其他双拼将文件名前面那部分改成对应方案 ID 就可以了
|
||||
patch:
|
||||
# (按需选择)清空 preedit_format 中的内容,输入时显示双拼编码
|
||||
translator/preedit_format: []
|
10
others/双拼补丁示例/melt_eng.custom.yaml
Normal file
10
others/双拼补丁示例/melt_eng.custom.yaml
Normal file
@ -0,0 +1,10 @@
|
||||
patch:
|
||||
# 修改为双拼的拼写派生规则,因为不在同一个文件了,前面要加上文件名
|
||||
speller/algebra:
|
||||
# __include: melt_eng.schema.yaml:/algebra_rime_ice # 全拼
|
||||
# __include: melt_eng.schema.yaml:/algebra_double_pinyin # 自然码双拼
|
||||
__include: melt_eng.schema.yaml:/algebra_flypy # 小鹤双拼
|
||||
# __include: melt_eng.schema.yaml:/algebra_mspy # 微软双拼
|
||||
# __include: melt_eng.schema.yaml:/algebra_sogou # 搜狗双拼
|
||||
# __include: melt_eng.schema.yaml:/algebra_abc # 智能ABC双拼
|
||||
# __include: melt_eng.schema.yaml:/algebra_ziguang # 紫光双拼
|
10
others/双拼补丁示例/radical_pinyin.custom.yaml
Normal file
10
others/双拼补丁示例/radical_pinyin.custom.yaml
Normal file
@ -0,0 +1,10 @@
|
||||
patch:
|
||||
# 修改为双拼的拼写派生规则,因为不在同一个文件了,前面要加上文件名
|
||||
speller/algebra:
|
||||
# __include: radical_pinyin.schema.yaml:/algebra_pinyin # 全拼
|
||||
# __include: radical_pinyin.schema.yaml:/algebra_double_pinyin # 自然码双拼
|
||||
__include: radical_pinyin.schema.yaml:/algebra_flypy # 小鹤双拼
|
||||
# __include: radical_pinyin.schema.yaml:/algebra_mspy # 微软双拼
|
||||
# __include: radical_pinyin.schema.yaml:/algebra_sogou # 搜狗双拼
|
||||
# __include: radical_pinyin.schema.yaml:/algebra_abc # 智能ABC双拼
|
||||
# __include: radical_pinyin.schema.yaml:/algebra_ziguang # 紫光双拼
|
64864
radical_pinyin.dict.yaml
Normal file
64864
radical_pinyin.dict.yaml
Normal file
File diff suppressed because it is too large
Load Diff
275
radical_pinyin.schema.yaml
Normal file
275
radical_pinyin.schema.yaml
Normal file
@ -0,0 +1,275 @@
|
||||
# Rime schema settings
|
||||
# encoding: utf-8
|
||||
|
||||
schema:
|
||||
schema_id: radical_pinyin
|
||||
name: "部件拆字 | 全拼双拼"
|
||||
version: "2.0.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/'|<|>//
|
||||
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user