凌韵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