initial commit
This commit is contained in:
+17
@@ -0,0 +1,17 @@
|
|||||||
|
.DS_Store
|
||||||
|
**/.idea/
|
||||||
|
.vscode/
|
||||||
|
|
||||||
|
build/
|
||||||
|
*.userdb/
|
||||||
|
installation.yaml
|
||||||
|
user.yaml
|
||||||
|
|
||||||
|
Tool/scel2txt/out/*
|
||||||
|
Tool/scel2txt/scel/*
|
||||||
|
|
||||||
|
*private*
|
||||||
|
|
||||||
|
rime_console
|
||||||
|
rime_deployer
|
||||||
|
rime_patch
|
||||||
@@ -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>.
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
# 雾凇拼音
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
功能齐全,词库体验良好,长期更新修订。
|
||||||
|
|
||||||
|
## 基本套路
|
||||||
|
|
||||||
|
- 简体全拼
|
||||||
|
- 鼠须管 Squirrel 0.15.2
|
||||||
|
- 小狼毫 Weasel 0.14.3
|
||||||
|
- 主要功能
|
||||||
|
- [melt_eng](https://github.com/tumuyan/rime-melt) 英文输入
|
||||||
|
- [两分输入法](http://cheonhyeong.com/Simplified/download.html) 拼字
|
||||||
|
- 简繁切换
|
||||||
|
- 日期、时间、星期
|
||||||
|
- 自整理的 Emoji
|
||||||
|
- [以词定字](https://github.com/BlindingDark/rime-lua-select-character)
|
||||||
|
- [长词优先](https://github.com/tumuyan/rime-melt/blob/master/lua/melt.lua)
|
||||||
|
- 所有标点符号直接上屏,「/」模式改为「v」模式,「/」直接上屏
|
||||||
|
- 增加了许多拼音纠错
|
||||||
|
- 简体字表、词库
|
||||||
|
- [《通用规范汉字表》的 8105 字字表](https://github.com/iDvel/The-Table-of-General-Standard-Chinese-Characters)
|
||||||
|
- [华宇野风系统词库](http://bbs.pinyin.thunisoft.com/forum.php?mod=viewthread&tid=30049)
|
||||||
|
- [清华大学开源词库](https://github.com/thunlp/THUOCL)
|
||||||
|
- [《现代汉语常用词表》](https://gist.github.com/indiejoseph/eae09c673460aa0b56db)
|
||||||
|
- [《现代汉语词典》](https://forum.freemdict.com/t/topic/12102)
|
||||||
|
- [《同义词词林》](https://forum.freemdict.com/t/topic/1211)
|
||||||
|
- [《新华成语大词典》](https://forum.freemdict.com/t/topic/11407)
|
||||||
|
- [腾讯词向量](https://ai.tencent.com/ailab/nlp/zh/download.html)
|
||||||
|
- 词库更新
|
||||||
|
- 校对了大量异形词、错别字、错误注音
|
||||||
|
- 长期对词库进行更新修订
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
## 使用说明
|
||||||
|
|
||||||
|
备份后删除配置目录下原有的配置文件,再将仓库所有文件复制粘贴进去就好了。
|
||||||
|
|
||||||
|
请先将 `pinyin_simp.dict.yaml` 中的 `- cn_dicts/private` 这行删除,这是我自己的私人词库(联系人之类的),否则鼠须管无法部署,小狼毫只能输入英文。
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
## 长期维护词库
|
||||||
|
|
||||||
|
基本所有时间都花在词库上了,精心调教了很多。既然找不到一份比较满意的简体词库,主流输入法又不公开自己的系统词库,干脆自己搞一个。
|
||||||
|
|
||||||
|
主要维护的词库:
|
||||||
|
|
||||||
|
- `8105` 字表。
|
||||||
|
- `base` 基础词库。
|
||||||
|
- `sogou` 搜狗流行词。
|
||||||
|
- `ext` 扩展词库,小词库。
|
||||||
|
- `tencent` 扩展词库,大词库。
|
||||||
|
|
||||||
|
维护内容主要是异形词、错别字的校对,错误注音的修正,缺失的常用词汇的增添,词频的调整。
|
||||||
|
|
||||||
|
欢迎在词库方面提 issue,我会及时更新修正。
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
详细介绍:[雾凇拼音,我的 Rime 配置及新手指引](https://dvel.me/posts/my-rime/)
|
||||||
File diff suppressed because it is too large
Load Diff
+467084
File diff suppressed because it is too large
Load Diff
+143008
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,280 @@
|
|||||||
|
# Rime dictionary
|
||||||
|
# encoding: utf-8
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# https://github.com/iDvel/rime-ice
|
||||||
|
# ------- 一些杂项,按需选择 -------
|
||||||
|
#
|
||||||
|
#
|
||||||
|
---
|
||||||
|
name: others
|
||||||
|
version: "2022-10-03"
|
||||||
|
sort: by_weight
|
||||||
|
...
|
||||||
|
##### 容错词
|
||||||
|
# 「血xue、xie」「谁shui、shei」「露lu、lou」「熟shu、shou」「密钥yao、yue」已在 main 中实现
|
||||||
|
# ---
|
||||||
|
# 「馄饨」,正确是 tun,北方口语是 dun
|
||||||
|
馄饨 hun tun
|
||||||
|
馄饨 hun dun
|
||||||
|
# 「主角」,正确是 jue,港台是 jiao
|
||||||
|
主角 zhu jue
|
||||||
|
主角 zhu jiao
|
||||||
|
角色 jue se
|
||||||
|
角色 jiao se
|
||||||
|
# 「比萨」,正确是 bi,Pizza 发音为 pi
|
||||||
|
比萨 bi sa
|
||||||
|
比萨 pi sa
|
||||||
|
比萨饼 bi sa bing
|
||||||
|
比萨饼 pi sa bing
|
||||||
|
吃比萨 chi bi sa
|
||||||
|
吃比萨 chi pi sa
|
||||||
|
超级至尊比萨 chao ji zhi zun bi sa
|
||||||
|
超级至尊比萨 chao ji zhi zun pi sa
|
||||||
|
至尊比萨 zhi zun bi sa
|
||||||
|
至尊比萨 zhi zun pi sa
|
||||||
|
大西洋珍鲑比萨 da xi yang zhen gui bi sa
|
||||||
|
大西洋珍鲑比萨 da xi yang zhen gui pi sa
|
||||||
|
海鲜比萨 hai xian bi sa
|
||||||
|
海鲜比萨 hai xian pi sa
|
||||||
|
蔬菜比萨 shu cai bi sa
|
||||||
|
蔬菜比萨 shu cai pi sa
|
||||||
|
做比萨 zuo bi sa
|
||||||
|
做比萨 zuo pi sa
|
||||||
|
可口的比萨 ke kou de bi sa
|
||||||
|
可口的比萨 ke kou de pi sa
|
||||||
|
烤比萨 kao bi sa
|
||||||
|
烤比萨 kao pi sa
|
||||||
|
美味的比萨 mei wei de bi sa
|
||||||
|
美味的比萨 mei wei de pi sa
|
||||||
|
# 「扑街」,正确是 jie,口语是 gai
|
||||||
|
扑街 pu jie
|
||||||
|
扑街 pu gai
|
||||||
|
街溜子 jie liu zi
|
||||||
|
街溜子 gai liu zi
|
||||||
|
扑街仔 pu jie zai
|
||||||
|
扑街仔 pu gai zai
|
||||||
|
# 「说服」,正确是 shuo,但「游说」「说客」仍然保留着 shui 的读音
|
||||||
|
说服 shuo fu
|
||||||
|
说服 shui fu
|
||||||
|
# 「坐骑」,正确是 qi,《现汉7》只保留了 qi,《现汉6》一些词组中是念 ji
|
||||||
|
坐骑 zuo qi
|
||||||
|
坐骑 zuo ji
|
||||||
|
一骑绝尘 yi qi jue chen
|
||||||
|
一骑绝尘 yi ji jue chen
|
||||||
|
一骑红尘妃子笑 yi qi hong chen fei zi xiao
|
||||||
|
一骑红尘妃子笑 yi ji hong chen fei zi xiao
|
||||||
|
千里走单骑 qian li zou dan qi
|
||||||
|
千里走单骑 qian li zou dan ji
|
||||||
|
# 「道行」,正确是 heng,但「道行hang」比较流行
|
||||||
|
道行 dao heng
|
||||||
|
道行 dao hang
|
||||||
|
# 「模样」,正确是 mu,口语常念 mo
|
||||||
|
模样 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
|
||||||
|
# 「阿房宫」的注音争议比较大
|
||||||
|
阿房宫 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
|
||||||
|
|
||||||
|
|
||||||
|
##### 叠字
|
||||||
|
# 数据来源: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
|
||||||
|
# 三叠字
|
||||||
|
三个生
|
||||||
|
三个秦
|
||||||
|
三个若
|
||||||
|
三个雲 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
|
||||||
|
四个土
|
||||||
|
# 其他。。。
|
||||||
|
男女男
|
||||||
|
女男女
|
||||||
File diff suppressed because it is too large
Load Diff
Executable
+1136961
File diff suppressed because it is too large
Load Diff
Executable
+231
@@ -0,0 +1,231 @@
|
|||||||
|
# Rime table
|
||||||
|
# coding: utf-8
|
||||||
|
#@/db_name custom_phrase.txt
|
||||||
|
#@/db_type tabledb
|
||||||
|
#
|
||||||
|
# 用於【朙月拼音】系列輸入方案
|
||||||
|
# 【小狼毫】0.9.21 以上
|
||||||
|
#
|
||||||
|
# 請將該文件以UTF-8編碼保存爲
|
||||||
|
# Rime用戶文件夾/custom_phrase.txt
|
||||||
|
#
|
||||||
|
# 碼表各字段以製表符(Tab)分隔
|
||||||
|
# 順序爲:文字、編碼、權重(決定重碼的次序、可選)
|
||||||
|
#
|
||||||
|
# 雖然文本碼表編輯較爲方便,但不適合導入大量條目
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# 这个文件内的字词会占据最高权重(排在候选项的最前面)。
|
||||||
|
# 但不与其他翻译器互相造词,如果使用了完整编码,那么这个字或词将无法参与造词,即自造词无法被记住。
|
||||||
|
# 所以建议只固定非完整编码的字词,「的de」应为「的d」,「是shi」应为「是s」,「仙剑xianjian」应为「仙剑xj」。
|
||||||
|
#
|
||||||
|
# 最下面的英文是因为一些常用单词的第一候选项被纠错覆盖了,
|
||||||
|
# 比如 Amazon 被纠错为「a ma zong 阿妈粽」,
|
||||||
|
# 期望的 Amazon 跑到第二个候选项了,所以这里给它固定死喽。
|
||||||
|
#
|
||||||
|
# version: "2022-10-31"
|
||||||
|
#
|
||||||
|
# 此行之后不能写注释
|
||||||
|
|
||||||
|
|
||||||
|
欻 chua
|
||||||
|
噷 hm
|
||||||
|
哼 hng
|
||||||
|
|
||||||
|
|
||||||
|
去 q 2
|
||||||
|
千 q 1
|
||||||
|
|
||||||
|
我 w 3
|
||||||
|
万 w 2
|
||||||
|
往 w 1
|
||||||
|
|
||||||
|
儿 r
|
||||||
|
|
||||||
|
他 t 4
|
||||||
|
她 t 3
|
||||||
|
它 t 2
|
||||||
|
祂 t 1
|
||||||
|
|
||||||
|
与 y 2
|
||||||
|
于 y 1
|
||||||
|
|
||||||
|
有 u 3
|
||||||
|
又 u 2
|
||||||
|
由 u 1
|
||||||
|
|
||||||
|
一 i 4
|
||||||
|
以 i 3
|
||||||
|
已 i 2
|
||||||
|
亦 i 1
|
||||||
|
|
||||||
|
哦 o 3
|
||||||
|
噢 o 2
|
||||||
|
喔 o 1
|
||||||
|
|
||||||
|
片 p 2
|
||||||
|
篇 p 1
|
||||||
|
|
||||||
|
是 s 4
|
||||||
|
时 s 3
|
||||||
|
使 s 2
|
||||||
|
式 s 1
|
||||||
|
|
||||||
|
的 d 3
|
||||||
|
地 d 2
|
||||||
|
得 d 1
|
||||||
|
|
||||||
|
发 f 2
|
||||||
|
分 f 1
|
||||||
|
|
||||||
|
个 g
|
||||||
|
|
||||||
|
和 h 2
|
||||||
|
或 h 1
|
||||||
|
|
||||||
|
及 j 5
|
||||||
|
将 j 4
|
||||||
|
即 j 3
|
||||||
|
既 j 2
|
||||||
|
继 j 1
|
||||||
|
|
||||||
|
可 k
|
||||||
|
|
||||||
|
了 l 3
|
||||||
|
啦 l 2
|
||||||
|
嘞 l 1
|
||||||
|
|
||||||
|
在 z 3
|
||||||
|
再 z 2
|
||||||
|
自 z 1
|
||||||
|
|
||||||
|
想 x 3
|
||||||
|
像 x 2
|
||||||
|
向 x 1
|
||||||
|
|
||||||
|
才 c 2
|
||||||
|
从 c 1
|
||||||
|
|
||||||
|
吧 b 3
|
||||||
|
百 b 2
|
||||||
|
呗 b 1
|
||||||
|
|
||||||
|
那 n 4
|
||||||
|
哪 n 3
|
||||||
|
拿 n 2
|
||||||
|
呐 n 1
|
||||||
|
|
||||||
|
吗 m 3
|
||||||
|
嘛 m 2
|
||||||
|
呣 m 1
|
||||||
|
|
||||||
|
|
||||||
|
我们 wm
|
||||||
|
我们 wom
|
||||||
|
我们 wmen
|
||||||
|
你们 nm
|
||||||
|
你们 nim
|
||||||
|
你们 nmen
|
||||||
|
人们 rm
|
||||||
|
人们 renm
|
||||||
|
人们 rmen
|
||||||
|
|
||||||
|
|
||||||
|
他的 td 3
|
||||||
|
她的 td 2
|
||||||
|
它的 td 1
|
||||||
|
他的 tad 3
|
||||||
|
她的 tad 2
|
||||||
|
它的 tad 1
|
||||||
|
他的 tde 3
|
||||||
|
她的 tde 2
|
||||||
|
它的 tde 1
|
||||||
|
他们 tm 3
|
||||||
|
她们 tm 2
|
||||||
|
它们 tm 1
|
||||||
|
他们 tam 3
|
||||||
|
她们 tam 2
|
||||||
|
它们 tam 1
|
||||||
|
他们 tmen 3
|
||||||
|
她们 tmen 2
|
||||||
|
它们 tmen 1
|
||||||
|
|
||||||
|
|
||||||
|
那儿 nr 2
|
||||||
|
哪儿 nr 1
|
||||||
|
那儿 nar 2
|
||||||
|
哪儿 nar 1
|
||||||
|
那个 ng 2
|
||||||
|
哪个 ng 1
|
||||||
|
那个 nag 2
|
||||||
|
哪个 nag 1
|
||||||
|
那些 nx 2
|
||||||
|
哪些 nx 1
|
||||||
|
那些 nax 2
|
||||||
|
哪些 nax 1
|
||||||
|
那里 nl 2
|
||||||
|
哪里 nl 1
|
||||||
|
那里 nal 2
|
||||||
|
哪里 nal 1
|
||||||
|
那边 nb 2
|
||||||
|
哪边 nb 1
|
||||||
|
那边 nab 2
|
||||||
|
哪边 nab 1
|
||||||
|
那位 nw 2
|
||||||
|
哪位 nw 1
|
||||||
|
那位 naw 2
|
||||||
|
哪位 naw 1
|
||||||
|
|
||||||
|
|
||||||
|
这 zh
|
||||||
|
一个 ig
|
||||||
|
有个 ug
|
||||||
|
是一个 sig
|
||||||
|
有一个 uig
|
||||||
|
有一个 uyig
|
||||||
|
有一个 uyige
|
||||||
|
有没有 umu
|
||||||
|
有没有 umeiu
|
||||||
|
又有 uu
|
||||||
|
又又又 uuu
|
||||||
|
又双叒叕 uuuu
|
||||||
|
|
||||||
|
|
||||||
|
等等 dd
|
||||||
|
的地得 ddd
|
||||||
|
等等等等 dddd
|
||||||
|
刚刚 gg
|
||||||
|
才刚刚 cgg
|
||||||
|
知道 zd
|
||||||
|
不知道 bzd
|
||||||
|
往往 ww
|
||||||
|
哈哈 hh
|
||||||
|
看看 kk
|
||||||
|
常常 cc
|
||||||
|
想想 xx 2
|
||||||
|
想象 xx 1
|
||||||
|
隐约 yy
|
||||||
|
因为 yw
|
||||||
|
什么 sm
|
||||||
|
所以 sy
|
||||||
|
为什么 wsm
|
||||||
|
是不是 sbs
|
||||||
|
没什么 msm
|
||||||
|
有时候 ysh
|
||||||
|
有时候 yshh
|
||||||
|
有时候 yshou
|
||||||
|
什么的 smd
|
||||||
|
什么是 sms
|
||||||
|
|
||||||
|
|
||||||
|
Go go
|
||||||
|
Golang golang
|
||||||
|
Hugo hugo
|
||||||
|
goto goto
|
||||||
|
domain domain
|
||||||
|
TODO todo
|
||||||
|
Dota dota
|
||||||
|
main main
|
||||||
|
Amazon amazon
|
||||||
@@ -0,0 +1,232 @@
|
|||||||
|
# Rime default settings
|
||||||
|
# encoding: utf-8
|
||||||
|
|
||||||
|
patch:
|
||||||
|
|
||||||
|
# 方案列表
|
||||||
|
schema_list:
|
||||||
|
- schema: rime_ice
|
||||||
|
# - schema: double_pinyin
|
||||||
|
# - schema: double_pinyin_flypy
|
||||||
|
|
||||||
|
|
||||||
|
# 候选词个数
|
||||||
|
menu/page_size: 5
|
||||||
|
|
||||||
|
|
||||||
|
# 方案选单相关
|
||||||
|
switcher:
|
||||||
|
caption: 「方案选单」
|
||||||
|
hotkeys: # 呼出方案选单的快捷键
|
||||||
|
# - Control+grave
|
||||||
|
- Control+Shift+grave
|
||||||
|
# - F4
|
||||||
|
# - Alt+grave
|
||||||
|
save_options: # 开关记忆,从方案选单(而非快捷键)切换时会记住的选项,需要记忆的开关不能设定 reset。
|
||||||
|
- full_shape
|
||||||
|
- ascii_punct
|
||||||
|
- traditionalization
|
||||||
|
- emoji
|
||||||
|
fold_options: false # 呼出时是否折叠,多方案时建议折叠,一个方案建议展开
|
||||||
|
abbreviate_options: true # 折叠时是否缩写选项
|
||||||
|
option_list_separator: ' / ' # 折叠时的选项分隔符
|
||||||
|
|
||||||
|
|
||||||
|
# 按键行为
|
||||||
|
# good_old_caps_lock: Caps 切换大小写或切换中英,macOS 偏好设置的优先级更高:偏好设置 - 键盘 - 输入法 - 使用“中/英”键切换“ABC”输入模式。
|
||||||
|
# 打字打到一半时按下了 Caps 或 Shift 后:
|
||||||
|
# commit_code 上屏原始的编码,然后切换到英文
|
||||||
|
# commit_text 上屏拼出的词句,然后切换到英文
|
||||||
|
# clear 清除输入的内容,然后切换到英文
|
||||||
|
# noop 屏蔽快捷键,啥也不干,但不要屏蔽 Caps
|
||||||
|
ascii_composer/good_old_caps_lock: true # true | false
|
||||||
|
ascii_composer/switch_key:
|
||||||
|
Caps_Lock: commit_text # commit_code | commit_text | clear
|
||||||
|
Shift_L: noop # commit_code | commit_text | clear | noop
|
||||||
|
Shift_R: noop # macOS 不会区分左右 Shift,只需要设置 Shift_L
|
||||||
|
Control_L: noop
|
||||||
|
Control_R: noop
|
||||||
|
Eisu_toggle: clear
|
||||||
|
|
||||||
|
|
||||||
|
# 以词定字(上屏当前词组的第一个或最后一个字)
|
||||||
|
key_binder/select_first_character:
|
||||||
|
key_binder/select_last_character: "grave"
|
||||||
|
# 快捷键
|
||||||
|
key_binder/bindings:
|
||||||
|
# 简繁切换
|
||||||
|
- {when: always, accept: "Control+Shift+4", toggle: traditionalization}
|
||||||
|
- {when: always, accept: "Control+Shift+F", toggle: traditionalization}
|
||||||
|
- {when: always, accept: "Control+slash", toggle: traditionalization}
|
||||||
|
# 切换中英文标点
|
||||||
|
- {when: always, accept: "Control+Shift+A", toggle: ascii_punct}
|
||||||
|
|
||||||
|
# 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 }
|
||||||
|
|
||||||
|
# move_by_word_with_tab: Tab/Shift+Tab 切换光标至下/上一个拼音
|
||||||
|
- { when: composing, accept: ISO_Left_Tab, send: Shift+Left }
|
||||||
|
- { when: composing, accept: Shift+Tab, send: Shift+Left }
|
||||||
|
- { when: composing, accept: Tab, send: Shift+Right }
|
||||||
|
|
||||||
|
# paging_with_minus_equal: 翻页:- =
|
||||||
|
- { when: has_menu, accept: minus, send: Page_Up }
|
||||||
|
- { when: has_menu, accept: equal, send: Page_Down }
|
||||||
|
|
||||||
|
# paging_with_comma_period: 翻页:, .
|
||||||
|
# - { when: paging, accept: comma, send: Page_Up }
|
||||||
|
# - { when: has_menu, accept: period, send: Page_Down }
|
||||||
|
|
||||||
|
# paging_with_brackets: 翻页:[ ]
|
||||||
|
# - { when: paging, accept: bracketleft, send: Page_Up }
|
||||||
|
# - { when: has_menu, accept: bracketright, send: Page_Down }
|
||||||
|
|
||||||
|
# numbered_mode_switch:
|
||||||
|
# - { when: always, accept: Control+Shift+1, select: .next }
|
||||||
|
# - { when: always, accept: Control+Shift+2, toggle: ascii_mode }
|
||||||
|
# - { when: always, accept: Control+Shift+3, toggle: full_shape }
|
||||||
|
# - { when: always, accept: Control+Shift+4, toggle: simplification }
|
||||||
|
# - { when: always, accept: Control+Shift+5, toggle: extended_charset }
|
||||||
|
# - { when: always, accept: Control+Shift+exclam, select: .next }
|
||||||
|
# - { when: always, accept: Control+Shift+at, toggle: ascii_mode }
|
||||||
|
# - { when: always, accept: Control+Shift+numbersign, toggle: full_shape }
|
||||||
|
# - { when: always, accept: Control+Shift+dollar, toggle: simplification }
|
||||||
|
# - { when: always, accept: Control+Shift+percent, toggle: extended_charset }
|
||||||
|
|
||||||
|
# windows_compatible_mode_switch:
|
||||||
|
# - { when: always, accept: Shift+space, toggle: full_shape }
|
||||||
|
# - { when: always, accept: Control+period, toggle: ascii_punct }
|
||||||
|
|
||||||
|
# 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: simplification }
|
||||||
|
# - { when: always, accept: Control+backslash, toggle: extended_charset }
|
||||||
|
|
||||||
|
|
||||||
|
# key_binder 按键速查 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
|
||||||
Executable
+320
@@ -0,0 +1,320 @@
|
|||||||
|
# Rime dictionary
|
||||||
|
# encoding: utf-8
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# https://github.com/iDvel/rime-ice
|
||||||
|
# ------- 中英混输词库 -------
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# 因书写习惯,中英文之间都加了空格
|
||||||
|
#
|
||||||
|
---
|
||||||
|
name: cn_en
|
||||||
|
version: "2022-10-27"
|
||||||
|
sort: by_weight
|
||||||
|
...
|
||||||
|
# 没有空格的(为了Emoji映射。Emoji 里空格是分割符,没法映射,不知道怎么解决)
|
||||||
|
X光 xguang
|
||||||
|
X光片 xguangpian
|
||||||
|
X射线 xshexian
|
||||||
|
T恤 txu
|
||||||
|
T恤衫 txushan
|
||||||
|
# 有空格的
|
||||||
|
AD 钙奶 adgainai
|
||||||
|
UU 加速器 uujiasuqi
|
||||||
|
Cinity 厅 Cinity
|
||||||
|
Cinity 厅 Cinityting
|
||||||
|
Eul 的神圣法杖 eul
|
||||||
|
Eul 的神圣法杖 euldeshenshengfazhang
|
||||||
|
A 杖 azhang
|
||||||
|
红 Buff hongbuff
|
||||||
|
蓝 Buff lanbuff
|
||||||
|
老 Baby laobaby
|
||||||
|
小 Baby xiaobaby
|
||||||
|
艾 AA aiaa
|
||||||
|
炒 CP chaocp
|
||||||
|
嗑 CP kecp
|
||||||
|
U 盘 youpan
|
||||||
|
U 盘 upan
|
||||||
|
B 站 bzhan
|
||||||
|
B 站 bizhan
|
||||||
|
V 站 vzhan
|
||||||
|
P 站 pzhan
|
||||||
|
大 V dav
|
||||||
|
QQ 音乐 qqyinyue
|
||||||
|
QQ 拼音 qqpinyin
|
||||||
|
QQ 会员 qqhuiyuan
|
||||||
|
QQ 输入法 qqshurufa
|
||||||
|
Dock 栏 docklan
|
||||||
|
阿 Q 精神 aqjingshen
|
||||||
|
Win 版 winban
|
||||||
|
Win 版本 winbanben
|
||||||
|
Windows 版 windowsban
|
||||||
|
Windows 版本 windowsbanben
|
||||||
|
Mac 版 macban
|
||||||
|
Mac 版本 macbanben
|
||||||
|
macOS 版 macosban
|
||||||
|
macOS 版本 macosbanben
|
||||||
|
iOS 版 iosban
|
||||||
|
iOS 版本 iosbanben
|
||||||
|
Android 版 androidban
|
||||||
|
Android 版本 androidbanben
|
||||||
|
Web 版 webban
|
||||||
|
Web 版本 webbanben
|
||||||
|
PC 端 pcduan
|
||||||
|
Win 端 winduan
|
||||||
|
Windows 端 windowsduan
|
||||||
|
Mac 端 macduan
|
||||||
|
macOS 端 macosduan
|
||||||
|
Web 端 webduan
|
||||||
|
iOS 端 iosduan
|
||||||
|
Android 端 androidduan
|
||||||
|
e 招贷 ezhaodai
|
||||||
|
G 胖 gpang
|
||||||
|
Up 主 upzhu
|
||||||
|
BOSS 直聘 bosszhipin
|
||||||
|
P 社 pshe
|
||||||
|
V 社 vshe
|
||||||
|
Go 语言 goyuyan
|
||||||
|
维生素 A weishengsua
|
||||||
|
维生素 B weishengsub
|
||||||
|
维生素 C weishengsuc
|
||||||
|
维生素 D weishengsud
|
||||||
|
维生素 E weishengsue
|
||||||
|
维生素 K weishengsuk
|
||||||
|
维 E 乳 weieru
|
||||||
|
维生素 E 乳 weishengsueru
|
||||||
|
阿 Q aq
|
||||||
|
阿 Q 正传 aqzhengzhuan
|
||||||
|
单边 z 变换 danbianzbianhuan
|
||||||
|
逗 B doub
|
||||||
|
逗 B doubi
|
||||||
|
哆啦 A 梦 duolaameng
|
||||||
|
二 B erb
|
||||||
|
二 B erbi
|
||||||
|
卡拉 OK kalaok
|
||||||
|
牛 B niub
|
||||||
|
牛 B niubi
|
||||||
|
三 K 党 sankdang
|
||||||
|
三 K 党 sankeidang
|
||||||
|
傻 B shab
|
||||||
|
傻 B shabi
|
||||||
|
傻 X shax
|
||||||
|
智能 ABC zhinengabc
|
||||||
|
智能 ABC 输入法 zhinengabcshurufa
|
||||||
|
装 B zhuangb
|
||||||
|
装 B zhuangbi
|
||||||
|
A 股 agu
|
||||||
|
A 盘 apan
|
||||||
|
A 片 apian
|
||||||
|
AA 制 aazhi
|
||||||
|
ATM 机 atmji
|
||||||
|
B 超 bchao
|
||||||
|
B 股 bgu
|
||||||
|
B 淋巴细胞 blinbaxibao
|
||||||
|
B 盘 bpan
|
||||||
|
B 细胞 bxibao
|
||||||
|
C 盘 cpan
|
||||||
|
C 语言 cyuyan
|
||||||
|
D 盘 dpan
|
||||||
|
E 盘 epan
|
||||||
|
F 盘 fpan
|
||||||
|
G 点 gdian
|
||||||
|
G 盘 gpan
|
||||||
|
H 股 hgu
|
||||||
|
H 盘 hpan
|
||||||
|
I 盘 ipan
|
||||||
|
IP 地址 ipdizhi
|
||||||
|
IP 电话 ipdianhua
|
||||||
|
IP 卡 ipka
|
||||||
|
IP 地址 ipweizhi
|
||||||
|
J 盘 jpan
|
||||||
|
K 宝 kbao
|
||||||
|
K 宝 keibao
|
||||||
|
K 粉 kfen
|
||||||
|
K 粉 keifen
|
||||||
|
K 歌 kge
|
||||||
|
K 歌 keige
|
||||||
|
POS 机 posji
|
||||||
|
Q 币 qbi
|
||||||
|
QQ qq
|
||||||
|
QQ 号 qqhao
|
||||||
|
QQ 号码 qqhaoma
|
||||||
|
QQ 空间 qqkongjian
|
||||||
|
QQ 群 qqqun
|
||||||
|
QQ 邮箱 qqyouxiang
|
||||||
|
SIM 卡 simka
|
||||||
|
T 淋巴细胞 tlinbaxibao
|
||||||
|
T 细胞 txibao
|
||||||
|
T 型台 txingtai
|
||||||
|
U 盾 udun
|
||||||
|
U 形管 uxingguan
|
||||||
|
UIM 卡 uimka
|
||||||
|
USIM 卡 usimka
|
||||||
|
X 刀 xdao
|
||||||
|
X 染色体 xranseti
|
||||||
|
Y 染色体 yranseti
|
||||||
|
z 变换 zbianhuan
|
||||||
|
z 逆变换 znibianhuan
|
||||||
|
α 粒子 aerfalizi
|
||||||
|
α 射线 aerfashexian
|
||||||
|
β 粒子 beitalizi
|
||||||
|
β 射线 beitashexian
|
||||||
|
γ 刀 gamadao
|
||||||
|
γ 射线 gamashexian
|
||||||
|
D 之国 dzhiguo
|
||||||
|
D 之一族 dzhiyizu
|
||||||
|
Beta 版 betaban
|
||||||
|
Beta 版本 betabanben
|
||||||
|
AV 女优 avnvyou
|
||||||
|
X 战警 xzhanjing
|
||||||
|
A4 asi
|
||||||
|
A4 纸 asizhi
|
||||||
|
A4 纸 aszhi
|
||||||
|
A4 纸 aszh
|
||||||
|
A4 纸 asz
|
||||||
|
A4 腰 asiyao
|
||||||
|
A4 腰 asyao
|
||||||
|
A4 腰 asya
|
||||||
|
A4 腰 asy
|
||||||
|
N 多 nduo
|
||||||
|
N 多个 nduoge
|
||||||
|
N 次 nci
|
||||||
|
N 遍 nbian
|
||||||
|
蒙奇·D·路飞 mengqidlufei
|
||||||
|
蒙奇·D·龙 mengqidlong
|
||||||
|
乔治·R·R·马丁 qiaozhirrmading
|
||||||
|
哥尔·D·罗杰 geerdluojie
|
||||||
|
马歇尔·D·蒂奇 maxieerddiqi
|
||||||
|
X·德雷克 xdeleike
|
||||||
|
蒙奇·D·卡普 mengqidkapu
|
||||||
|
波特卡斯·D·艾斯 potekasidaisi
|
||||||
|
VIP 中 P vipzhongp
|
||||||
|
QQ 秀 qqxiu
|
||||||
|
Big 胆 bigdan
|
||||||
|
我叫 MT wojiaomt
|
||||||
|
谜拟 Q miniq
|
||||||
|
多边兽 Z duobianshouz
|
||||||
|
藤子·F·不二雄 tengzifbuerxiong
|
||||||
|
PC 版 pcban
|
||||||
|
PC 版本 pcbanben
|
||||||
|
A 塔 ata
|
||||||
|
平 A pinga
|
||||||
|
立 Flag liflag
|
||||||
|
C 罗 cluo
|
||||||
|
IE 浏览器 ieliulanqi
|
||||||
|
A 壳 ake
|
||||||
|
B 壳 bke
|
||||||
|
C 壳 cke
|
||||||
|
D 壳 dke
|
||||||
|
A 面 amian
|
||||||
|
B 面 bmian
|
||||||
|
C 面 cmian
|
||||||
|
D 面 dmian
|
||||||
|
Server 酱 serverjiang
|
||||||
|
P 图 ptu
|
||||||
|
P 个图 pgetu
|
||||||
|
P 一下 pyixia
|
||||||
|
芭比 Q babiq
|
||||||
|
芭比 Q 了 babiqle
|
||||||
|
S 级 sji
|
||||||
|
QQ 堂 qqtang
|
||||||
|
PIN 码 pinma
|
||||||
|
PUK 码 pukma
|
||||||
|
关底 BOSS guandiboss
|
||||||
|
AA 吧 aaba
|
||||||
|
喊 cut hancut
|
||||||
|
ASCII 码 asciima
|
||||||
|
Go 圣经 goshengjing
|
||||||
|
江南 Style jiangnanstyle
|
||||||
|
头文字 D touwenzid
|
||||||
|
三无 Marblue sanwumarblue
|
||||||
|
A 罩杯 azhaobei
|
||||||
|
B 罩杯 bzhaobei
|
||||||
|
C 罩杯 czhaobei
|
||||||
|
D 罩杯 dzhaobei
|
||||||
|
E 罩杯 ezhaobei
|
||||||
|
F 罩杯 fzhaobei
|
||||||
|
G 罩杯 gzhaobei
|
||||||
|
H 罩杯 hzhaobei
|
||||||
|
A 罩 azhao
|
||||||
|
B 罩 bzhao
|
||||||
|
C 罩 czhao
|
||||||
|
D 罩 dzhao
|
||||||
|
E 罩 ezhao
|
||||||
|
F 罩 fzhao
|
||||||
|
G 罩 gzhao
|
||||||
|
H 罩 hzhao
|
||||||
|
TV 版 tvban
|
||||||
|
TV 版本 tvbanben
|
||||||
|
芒果 TV mangguotv
|
||||||
|
V 字仇杀队 vzichoushadui
|
||||||
|
V 怪客 vguaike
|
||||||
|
V 煞 vsha
|
||||||
|
Q 弹 qtan
|
||||||
|
Steam 云 steamyun
|
||||||
|
M 系列 mxilie
|
||||||
|
阿 Sir asir
|
||||||
|
Pro 版 proban
|
||||||
|
Pro 版本 probanben
|
||||||
|
Lite 版 liteban
|
||||||
|
Lite 版本 litebanben
|
||||||
|
X 教授 xjiaoshou
|
||||||
|
Papi 酱 papijiang
|
||||||
|
MAC 地址 macdizhi
|
||||||
|
DNS 劫持 dnsjiechi
|
||||||
|
DNS 污染 dnswuran
|
||||||
|
OK 了 okle
|
||||||
|
OK 了吗 oklema
|
||||||
|
腾讯 QQ tengxunqq
|
||||||
|
公网 IP gongwangip
|
||||||
|
Web 开发 webkaifa
|
||||||
|
圈 X quanx
|
||||||
|
Switch 版 switchban
|
||||||
|
Switch 版本 switchbanben
|
||||||
|
A 型 axing
|
||||||
|
A 型血 axingxue
|
||||||
|
B 型 bxing
|
||||||
|
B 型血 bxingxue
|
||||||
|
AB 型 abxing
|
||||||
|
AB 型血 abxingxue
|
||||||
|
O 型 oxing
|
||||||
|
O 型血 oxingxue
|
||||||
|
IT 界 itjie
|
||||||
|
Fn 键 fnjian
|
||||||
|
Cmd 键 cmdjian
|
||||||
|
Command 键 commandjian
|
||||||
|
Ctrl 键 ctrljian
|
||||||
|
Control 键 controljian
|
||||||
|
Opt 键 optjian
|
||||||
|
Option 键 optionjian
|
||||||
|
Shift 键 shiftjian
|
||||||
|
Tab 键 tabjian
|
||||||
|
Caps 键 capsjian
|
||||||
|
CapsLock 键 capslockjian
|
||||||
|
Return 键 returnjian
|
||||||
|
Enter 键 enterjian
|
||||||
|
Space 键 spacejian
|
||||||
|
Backspace 键 backspacejian
|
||||||
|
Del 键 deljian
|
||||||
|
Delete 键 deletejian
|
||||||
|
Esc 键 escjian
|
||||||
|
Eject 键 ejectjian
|
||||||
|
J·K·罗琳 jkluolin
|
||||||
|
周刊少年 Jump zhoukanshaonianjump
|
||||||
|
ICP 备案 icpbeian
|
||||||
|
啥 Bug shabug
|
||||||
|
有 Bug youbug
|
||||||
|
没 Bug meibug
|
||||||
|
没有 Bug meiyoubug
|
||||||
|
卡 Bug kabug
|
||||||
|
J·R·R·托尔金 jrrtuoerjin
|
||||||
|
异维 A 酸 weiyiasuan
|
||||||
|
互 fo hufo
|
||||||
|
减 CD jiancd
|
||||||
|
随身 WiFi suishenwifi
|
||||||
|
U 型锁 uxingsuo
|
||||||
|
查 IP chaip
|
||||||
|
Go 程 gocheng
|
||||||
|
TG 群 tgqun
|
||||||
|
Telegram 群 telegramqun
|
||||||
Executable
+6369
File diff suppressed because it is too large
Load Diff
Executable
+1691
File diff suppressed because it is too large
Load Diff
+98811
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,84 @@
|
|||||||
|
# Rime schema
|
||||||
|
# vim: set sw=2 sts=2 et:
|
||||||
|
# encoding: utf-8
|
||||||
|
|
||||||
|
schema:
|
||||||
|
schema_id: liangfen
|
||||||
|
name: LiangFen
|
||||||
|
version: "5.0"
|
||||||
|
author:
|
||||||
|
- TianHeng <2417647441@qq.com>
|
||||||
|
description: |
|
||||||
|
Use《http://yedict.com/》
|
||||||
|
http://yedict.com/
|
||||||
|
Dict is from http://yedict.com/
|
||||||
|
|
||||||
|
switches:
|
||||||
|
- name: ascii_mode
|
||||||
|
reset: 0
|
||||||
|
states: [ Chi, Eng ]
|
||||||
|
- name: full_shape
|
||||||
|
states: [ Half, Full ]
|
||||||
|
- name: simplification
|
||||||
|
states: [ Trad, Simp ]
|
||||||
|
|
||||||
|
engine:
|
||||||
|
processors:
|
||||||
|
- ascii_composer
|
||||||
|
- recognizer
|
||||||
|
- key_binder
|
||||||
|
- speller
|
||||||
|
- punctuator
|
||||||
|
- selector
|
||||||
|
- navigator
|
||||||
|
- express_editor
|
||||||
|
segmentors:
|
||||||
|
- ascii_segmentor
|
||||||
|
- matcher
|
||||||
|
- abc_segmentor
|
||||||
|
- punct_segmentor
|
||||||
|
- fallback_segmentor
|
||||||
|
translators:
|
||||||
|
- punct_translator
|
||||||
|
- r10n_translator
|
||||||
|
- reverse_lookup_translator
|
||||||
|
filters:
|
||||||
|
- simplifier
|
||||||
|
- uniquifier
|
||||||
|
|
||||||
|
speller:
|
||||||
|
alphabet: zyxwvutsrqponmlkjihgfedcba
|
||||||
|
delimiter: " '"
|
||||||
|
algebra:
|
||||||
|
- abbrev/^([a-z]).+$/$1/
|
||||||
|
|
||||||
|
translator:
|
||||||
|
dictionary: liangfen
|
||||||
|
spelling_hints: 4
|
||||||
|
preedit_format:
|
||||||
|
- "xlit|v|ü|"
|
||||||
|
- xform/iü/iv/
|
||||||
|
comment_format:
|
||||||
|
- "xlit|v|ü|"
|
||||||
|
- xform/iü/iv/
|
||||||
|
|
||||||
|
reverse_lookup:
|
||||||
|
dictionary: luna_pinyin
|
||||||
|
prefix: "`"
|
||||||
|
tips: 〔PinYin〕
|
||||||
|
preedit_format:
|
||||||
|
- xform/([nljqxy])v/$1ü/
|
||||||
|
|
||||||
|
punctuator:
|
||||||
|
import_preset: default
|
||||||
|
|
||||||
|
menu:
|
||||||
|
page_size: 6
|
||||||
|
|
||||||
|
key_binder:
|
||||||
|
import_preset: default
|
||||||
|
|
||||||
|
recognizer:
|
||||||
|
import_preset: default
|
||||||
|
patterns:
|
||||||
|
reverse_lookup: "`[a-z]*$"
|
||||||
Executable
+14
@@ -0,0 +1,14 @@
|
|||||||
|
# Rime dictionary
|
||||||
|
# encoding: utf-8
|
||||||
|
#
|
||||||
|
# 挂载英文输入方案的词库
|
||||||
|
#
|
||||||
|
|
||||||
|
---
|
||||||
|
name: melt_eng
|
||||||
|
version: "1"
|
||||||
|
import_tables:
|
||||||
|
- en_dicts/en # 原装词库
|
||||||
|
- en_dicts/en_ext # 自己补充的词库
|
||||||
|
- en_dicts/cn_en # 中英混输词库
|
||||||
|
...
|
||||||
Executable
+67
@@ -0,0 +1,67 @@
|
|||||||
|
# Rime schema
|
||||||
|
# vim: set sw=2 sts=2 et:
|
||||||
|
# encoding: utf-8
|
||||||
|
|
||||||
|
schema:
|
||||||
|
schema_id: melt_eng
|
||||||
|
name: Easy English Nano
|
||||||
|
version: "0.2.2"
|
||||||
|
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:
|
||||||
|
# 拼写规则的本质,是把字典按照规则改写,而不是把输入的按键码转写。
|
||||||
|
- derive/['\-_+,.]+//
|
||||||
|
# 把大小写混写的单词转写为全小写
|
||||||
|
- derive/^(.+)$/\L$1/
|
||||||
|
# 把小写的单词转写为全大写写
|
||||||
|
- derive/^([a-z].+)$/\U$1/
|
||||||
|
# 把单词转写为首字母大写
|
||||||
|
- derive/^([a-zA-Z])/\U$1/
|
||||||
|
# 把小写的单词转写为前2字母大写
|
||||||
|
- derive/^([a-z][a-z])/\U$1/
|
||||||
|
translator:
|
||||||
|
dictionary: melt_eng
|
||||||
|
spelling_hints: 9
|
||||||
|
|
||||||
|
key_binder:
|
||||||
|
import_preset: default
|
||||||
|
|
||||||
|
punctuator:
|
||||||
|
import_preset: default
|
||||||
|
|
||||||
|
recognizer:
|
||||||
|
import_preset: default
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
+3947
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,570 @@
|
|||||||
|
一一一一一一一 version: "2022-10-30" 一一一一一一一
|
||||||
|
一一一一一一一 此文件中间不能有空行 一一一一一一一
|
||||||
|
一一一一一一一 格式为:输入内容<Tab>响应内容1<Space>响应内容2<Space>响应内容3。。。 一一一一一一一
|
||||||
|
一一一一一一一 最左侧的输入内容应该写入词库中 一一一一一一一
|
||||||
|
一一一一一一一 一一一一一一一 一一一一一一一
|
||||||
|
一一一一一一一 偏旁部首 一一一一一一一
|
||||||
|
厂部 厂部 厂 ⺁
|
||||||
|
偏厂 偏厂 厂
|
||||||
|
偏厂儿 偏厂儿 厂
|
||||||
|
厂字头 厂字头 厂
|
||||||
|
反字框 反字框 ⺁
|
||||||
|
匚部 匚部
|
||||||
|
区字框 区字框 匚
|
||||||
|
三框 三框 匚
|
||||||
|
三框儿 三框儿 匚
|
||||||
|
刀部 刀部 刂
|
||||||
|
立刀旁 立刀旁 刂
|
||||||
|
立刀 立刀 刂
|
||||||
|
冂部 冂部 冂 ⺆
|
||||||
|
同字框 同字框 冂 ⺆
|
||||||
|
单人旁 单人旁 亻
|
||||||
|
人字旁 人字旁 亻
|
||||||
|
单立人 单立人 亻
|
||||||
|
斜刀头 斜刀头 ⺈
|
||||||
|
负字头 负字头 ⺈
|
||||||
|
包字头 包字头 勹
|
||||||
|
风字头 风字头 𠘨
|
||||||
|
凤字框 凤字框 𠘨
|
||||||
|
几字头 几字头 𠘨
|
||||||
|
几字底 几字底 𠘨
|
||||||
|
亠部 亠部 亠
|
||||||
|
京字头 京字头 亠
|
||||||
|
冫部 冫部 冫
|
||||||
|
两点水 两点水 冫
|
||||||
|
冰字旁 冰字旁 冫
|
||||||
|
八部 八部 丷
|
||||||
|
倒八 倒八 丷
|
||||||
|
兰字头 兰字头 丷
|
||||||
|
八字头 八字头 丷
|
||||||
|
八字底 八字底 丷
|
||||||
|
倒八字 倒八字 丷
|
||||||
|
冖部 冖部 冖
|
||||||
|
秃宝盖 秃宝盖 冖
|
||||||
|
言部 言部 讠 訁
|
||||||
|
言字旁 言字旁 讠 訁
|
||||||
|
凶字框 凶字框 凵
|
||||||
|
凵部 凵部 凵
|
||||||
|
卩部 卩部 卩
|
||||||
|
耳刀旁 耳刀旁 卩 阝
|
||||||
|
单耳旁 单耳旁 卩
|
||||||
|
单耳刀 单耳刀 卩
|
||||||
|
单耳朵 单耳朵 卩
|
||||||
|
邑部 邑部 阝
|
||||||
|
阜部 阜部 阝
|
||||||
|
双耳旁 双耳旁 阝
|
||||||
|
双耳刀 双耳刀 阝
|
||||||
|
左耳刀 左耳刀 阝
|
||||||
|
右耳刀 右耳刀 阝
|
||||||
|
厶部 厶部 厶
|
||||||
|
私字旁 私字旁 厶
|
||||||
|
廴部 廴部 廴
|
||||||
|
建之旁 建之旁 廴
|
||||||
|
㔾部 㔾部 㔾
|
||||||
|
仓字底 仓字底 㔾
|
||||||
|
土部 土部 土
|
||||||
|
提土旁 提土旁 土
|
||||||
|
土字底 土字底 土
|
||||||
|
土字旁 土字旁 土
|
||||||
|
手部 手部 扌
|
||||||
|
提手旁 提手旁 扌
|
||||||
|
艸部 艸部 艹
|
||||||
|
草头 草头 艹
|
||||||
|
草字头 草字头 艹
|
||||||
|
廾部 廾部 廾
|
||||||
|
弄字底 弄字底 廾
|
||||||
|
尢部 尢部 尢
|
||||||
|
尤字旁 尤字旁 尢
|
||||||
|
国字框 国字框 囗
|
||||||
|
大口框 大口框 囗
|
||||||
|
方框 方框 囗
|
||||||
|
双人旁 双人旁 彳
|
||||||
|
双立人 双立人 彳
|
||||||
|
彳部 彳部 彳
|
||||||
|
彡部 彡部 彡
|
||||||
|
三撇 三撇 彡
|
||||||
|
三撇儿 三撇儿 彡
|
||||||
|
犬部 犬部 犭
|
||||||
|
反犬旁 反犬旁 犭
|
||||||
|
夂部 夂部 夂
|
||||||
|
折文 折文 夂
|
||||||
|
折文儿 折文儿 夂
|
||||||
|
折文旁 折文旁 夂
|
||||||
|
冬字头 冬字头 夂
|
||||||
|
食部 食部 饣
|
||||||
|
食字旁 食字旁 饣
|
||||||
|
爿部 爿部 丬 爿
|
||||||
|
将字旁 将字旁 丬 爿
|
||||||
|
广部 广部 广
|
||||||
|
广字旁 广字旁 广
|
||||||
|
水部 水部 氵
|
||||||
|
三点水 三点水 氵
|
||||||
|
心部 心部 忄
|
||||||
|
竖心 竖心 忄
|
||||||
|
竖心旁 竖心旁 忄
|
||||||
|
宀部 宀部 宀
|
||||||
|
宝盖 宝盖 宀
|
||||||
|
宝盖儿 宝盖儿 宀
|
||||||
|
宝盖头 宝盖头 宀
|
||||||
|
宝盖儿头 宝盖儿头 宀
|
||||||
|
辵部 辵部 辶
|
||||||
|
走之 走之 辶
|
||||||
|
走之旁 走之旁 辶
|
||||||
|
彐部 彐部 彐
|
||||||
|
雪字底 雪字底 彐
|
||||||
|
横山 横山 彐
|
||||||
|
子部 子部 子 孑
|
||||||
|
子字旁 子字旁 子 孑
|
||||||
|
糸部 糸部 纟 糹 糸
|
||||||
|
绞丝 绞丝 纟 糹 糸
|
||||||
|
绞丝旁 绞丝旁 纟 糹 糸
|
||||||
|
绞丝儿旁 绞丝儿旁 纟 糹 糸
|
||||||
|
乱绞丝 乱绞丝 纟 糹 糸
|
||||||
|
乱绞丝儿 乱绞丝儿 纟 糹 糸
|
||||||
|
绞丝底 绞丝底 纟 糹 糸
|
||||||
|
幺部 幺部 幺
|
||||||
|
幼字旁 幼字旁 幺
|
||||||
|
巛部 巛部 巛
|
||||||
|
三拐 三拐 巛
|
||||||
|
三拐儿 三拐儿 巛
|
||||||
|
玉部 玉部 王
|
||||||
|
王字旁 王字旁 王
|
||||||
|
斜玉旁 斜玉旁 王
|
||||||
|
老字头 老字头 耂
|
||||||
|
木字旁 木字旁 木
|
||||||
|
牛字旁 牛字旁 牜 ⺧
|
||||||
|
车字旁 车字旁 车
|
||||||
|
反文 反文 攵
|
||||||
|
反文旁 反文旁 攵
|
||||||
|
爪字头 爪字头 爫
|
||||||
|
火字旁 火字旁 火
|
||||||
|
四点底 四点底 灬
|
||||||
|
四点水 四点水 灬
|
||||||
|
示字旁 示字旁 礻
|
||||||
|
示补 示补 礻
|
||||||
|
示补儿 示补儿 礻
|
||||||
|
春字头 春字头 春
|
||||||
|
四字头 四字头 罒
|
||||||
|
扁四头 扁四头 罒
|
||||||
|
皿字底 皿字底 皿
|
||||||
|
皿墩 皿墩 皿
|
||||||
|
皿墩儿 皿墩儿 皿
|
||||||
|
金字旁 金字旁 钅
|
||||||
|
禾木旁 禾木旁 禾
|
||||||
|
病字头 病字头 疒
|
||||||
|
病字旁 病字旁 疒
|
||||||
|
病旁 病旁 疒
|
||||||
|
衣字旁 衣字旁 衤
|
||||||
|
衣补 衣补 衤
|
||||||
|
衣补儿 衣补儿 衤
|
||||||
|
登字头 登字头 癶
|
||||||
|
西字头 西字头 覀
|
||||||
|
虎字头 虎字头 虍
|
||||||
|
竹字头 竹字头 ⺮
|
||||||
|
羊字旁 羊字旁 ⺶ ⺷
|
||||||
|
羊字头 羊字头 ⺷ ⺶
|
||||||
|
卷字头 卷字头 龹
|
||||||
|
米字旁 米字旁 米
|
||||||
|
足字旁 足字旁 ⻊
|
||||||
|
髦字头 髦字头 髟
|
||||||
|
石字头 石字头 丆
|
||||||
|
一一一一一一一 著名表演艺术家 一一一一一一一
|
||||||
|
爱田飞鸟 爱田飞鸟 あいだ飛鳥
|
||||||
|
爱乃娜美 爱乃娜美 愛乃なみ
|
||||||
|
安斋拉拉 安斋拉拉 安齋拉拉
|
||||||
|
苍井空 苍井空 蒼井そら
|
||||||
|
长谷川理穗 长谷川理穗 長谷川リホ
|
||||||
|
彩美旬果 彩美旬果 あやみ旬果
|
||||||
|
春咲凉 春咲凉 春咲りょう
|
||||||
|
蒂亚 蒂亚 蒂亞
|
||||||
|
楪可怜 楪可怜 楪カレン
|
||||||
|
妃悠爱 妃悠爱 妃悠愛 长泽杏奈 長澤杏奈
|
||||||
|
长泽杏奈 长泽杏奈 長澤杏奈 妃悠爱 妃悠愛
|
||||||
|
枫可怜 枫可怜 楓カレン
|
||||||
|
枫花恋 枫花恋 楓カレン
|
||||||
|
宫下华奈 宫下华奈 宮下華奈
|
||||||
|
古川伊织 古川伊织 古川いおり
|
||||||
|
广濑里绪菜 广濑里绪菜 広瀬りおな
|
||||||
|
河北春菜 河北春菜 河北はるな
|
||||||
|
吉川莲 吉川莲 吉川蓮
|
||||||
|
吉泽明步 吉泽明步 吉沢明歩
|
||||||
|
铃村爱里 铃村爱里 鈴村あいり
|
||||||
|
凉森玲梦 凉森玲梦 涼森れむ
|
||||||
|
林由奈 林由奈 林ゆな
|
||||||
|
凛音桃花 凛音桃花 凛音とうか
|
||||||
|
里美尤利娅 里美尤利娅 里美ゆりあ
|
||||||
|
芦名尤莉亚 芦名尤莉亚 芦名ユリア
|
||||||
|
美雪爱莉丝 美雪爱莉丝 美雪ありす
|
||||||
|
目黑惠 目黑惠 目黒めぐみ
|
||||||
|
明里䌷 明里䌷 明里つむぎ
|
||||||
|
七海蒂娜 七海蒂娜 七海ティナ
|
||||||
|
天海翼 天海翼 天海つばさ
|
||||||
|
桃谷绘里香 桃谷绘里香 桃谷エリカ
|
||||||
|
辻井穗乃果 辻井穗乃果 辻井ほのか
|
||||||
|
桥本有菜 桥本有菜 橋本ありな
|
||||||
|
深田咏美 深田咏美 深田えいみ
|
||||||
|
三上悠亚 三上悠亚 三上悠亜
|
||||||
|
桃乃木香奈 桃乃木香奈 桃乃木かな
|
||||||
|
武藤绫香 武藤绫香 武藤あやか
|
||||||
|
希岛爱理 希岛爱理 希岛あいり
|
||||||
|
夏希栗 夏希栗 夏希まろん
|
||||||
|
希崎杰西卡 希崎杰西卡 希崎ジェシカ
|
||||||
|
小泽玛利亚 小泽玛利亚 小澤マリア
|
||||||
|
小岛南 小岛南 小島みなみ
|
||||||
|
相泽南 相泽南 相沢みなみ
|
||||||
|
星宫一花 星宫一花 星宮一花
|
||||||
|
星野景子 星野景子 ほしの景子
|
||||||
|
星野娜美 星野娜美 星野ナミ
|
||||||
|
篠田步美 篠田步美 篠田あゆみ
|
||||||
|
柚木蒂娜 柚木蒂娜 柚木ティナ
|
||||||
|
有贺由爱 有贺由爱 有賀ゆあ
|
||||||
|
乙白沙也加 乙白沙也加 乙白さやか
|
||||||
|
樱井步 樱井步 桜井あゆ
|
||||||
|
樱井彩 樱井彩 桜井彩
|
||||||
|
樱空桃 樱空桃 桜空もも
|
||||||
|
宇都宫紫苑 宇都宫紫苑 宇都宮しをん
|
||||||
|
一之濑亚美莉 一之濑亚美莉 一ノ瀬アメリ
|
||||||
|
樱木凛 樱木凛 桜木凛
|
||||||
|
园田美樱 园田美樱 園田みおん
|
||||||
|
永野司 永野司 永野つかさ
|
||||||
|
早川濑里奈 早川濑里奈 早川瀬里奈
|
||||||
|
椎名由奈 椎名由奈 椎名ゆな
|
||||||
|
竹内有纪 竹内有纪 竹内有紀
|
||||||
|
三宫椿 三宫椿 三宮つばき
|
||||||
|
蓝芽水月 蓝芽水月 藍芽みずき
|
||||||
|
星野明 星野明 星野あかり
|
||||||
|
莲实克蕾儿 莲实克蕾儿 蓮実クレア
|
||||||
|
香苗玲音 香苗玲音 香苗レノン
|
||||||
|
有原步美 有原步美 有原あゆみ
|
||||||
|
美谷朱里 美谷朱里 美谷あかり
|
||||||
|
水川堇 水川堇 水川スミレ
|
||||||
|
小宵虎南 小宵虎南 小宵こなん
|
||||||
|
新村晶 新村晶 新村あかり
|
||||||
|
森泽佳奈 森泽佳奈 森沢かな
|
||||||
|
朝日奈花恋 朝日奈花恋 朝日奈かれん
|
||||||
|
高桥圣子 高桥圣子 高橋しょう子
|
||||||
|
西宫梦 西宫梦 西宮ゆめ
|
||||||
|
藤森里穗 藤森里穗 藤森里穂
|
||||||
|
木村穗乃香 木村穗乃香 木村穂乃香
|
||||||
|
神宫寺奈绪 神宫寺奈绪 神宮寺ナオ
|
||||||
|
水卜樱 水卜樱 水卜櫻
|
||||||
|
爱音麻里亚 爱音麻里亚 愛音まりあ
|
||||||
|
良音荠 良音荠 良音なずな
|
||||||
|
本庄铃 本庄铃 本庄鈴
|
||||||
|
明日花绮罗 明日花绮罗 明日花キララ
|
||||||
|
大桥未久 大桥未久 大橋未久
|
||||||
|
濑名光莉 濑名光莉 瀬名きらり
|
||||||
|
栗山莉绪 栗山莉绪 栗山莉緒
|
||||||
|
纱纱原百合 纱纱原百合 紗々原ゆり
|
||||||
|
堀北湾 堀北湾 堀北わん
|
||||||
|
冲田杏梨 冲田杏梨 沖田杏梨
|
||||||
|
天使萌 天使萌 天使もえ
|
||||||
|
西条琉璃 西条琉璃 西條るり
|
||||||
|
君岛美绪 君岛美绪 君島みお
|
||||||
|
波多野结衣 波多野结衣 波多野結衣
|
||||||
|
松下纱荣子 松下纱荣子 松下紗栄子
|
||||||
|
山手梨爱 山手梨爱 山手梨愛
|
||||||
|
濑亚美莉 濑亚美莉 瀬アメリ
|
||||||
|
望月理沙 望月理沙 望月りさ
|
||||||
|
上原瑞穗 上原瑞穗 上原瑞穂
|
||||||
|
岬奈奈美 岬奈奈美 岬ななみ
|
||||||
|
神菜美舞 神菜美舞 神菜美まい
|
||||||
|
白桃花 白桃花 白桃はな
|
||||||
|
栗宫双叶 栗宫双叶 栗宮ふたば
|
||||||
|
飞鸟里伊奈 飞鸟里伊奈 飛鳥りいな
|
||||||
|
天音真比奈 天音真比奈 天音まひな
|
||||||
|
凰香奈芽 凰香奈芽 凰かなめ
|
||||||
|
一一一一一一一 生活大爆炸&老友记 一一一一一一一
|
||||||
|
谢耳朵 谢耳朵 Sheldon
|
||||||
|
谢尔顿 谢尔顿 Sheldon
|
||||||
|
Sheldon Sheldon 谢尔顿 谢耳朵
|
||||||
|
莱纳德 莱纳德 Leonard
|
||||||
|
Leonard Leonard 莱纳德
|
||||||
|
佩妮 佩妮 Penny
|
||||||
|
Penny Penny 佩妮
|
||||||
|
霍华德 霍华德 Howard
|
||||||
|
Howard Howard 霍华德
|
||||||
|
拉杰什 拉杰什 Rajesh
|
||||||
|
Rajesh Rajesh 拉杰什
|
||||||
|
瑞秋 瑞秋 Rachel
|
||||||
|
Rachel Rachel 瑞秋
|
||||||
|
莫妮卡 莫妮卡 Monica
|
||||||
|
Monica Monica 莫妮卡
|
||||||
|
乔伊 乔伊 Joey
|
||||||
|
Joey Joey 乔伊
|
||||||
|
罗斯 罗斯 Ross
|
||||||
|
Ross Ross 罗斯
|
||||||
|
钱德勒 钱德勒 Chandler
|
||||||
|
Chandler Chandler 钱德勒
|
||||||
|
菲比 菲比 Phoebe
|
||||||
|
Phoebe Phoebe 菲比
|
||||||
|
一一一一一一一 键盘符号 一一一一一一一
|
||||||
|
Cmd Cmd Command ⌘
|
||||||
|
Command Command ⌘
|
||||||
|
Ctrl Ctrl Control ⌃
|
||||||
|
Control Control ⌃
|
||||||
|
Opt Opt Option ⌥
|
||||||
|
Option Option ⌥
|
||||||
|
Shift Shift ⇧
|
||||||
|
Tab Tab ⇥
|
||||||
|
Caps Caps CapsLock ⇪
|
||||||
|
CapsLock CapsLock ⇪
|
||||||
|
Return Return ⏎
|
||||||
|
Enter Enter ⏎
|
||||||
|
Space Space ␣
|
||||||
|
Backspace Backspace ⌫
|
||||||
|
Del Del Delete ⌫
|
||||||
|
Delete Delete ⌫
|
||||||
|
Esc Esc Escape ⎋
|
||||||
|
Eject Eject ⏏
|
||||||
|
一一一一一一一 三叠字 一一一一一一一
|
||||||
|
三个生 三个生 㽓
|
||||||
|
三个秦 三个秦 䆐
|
||||||
|
三个若 三个若 䖃
|
||||||
|
三个雲 三个雲 䨺
|
||||||
|
三个人 三个人 众 㐺
|
||||||
|
三个刀 三个刀 刕
|
||||||
|
三个十 三个十 卉 𠦄
|
||||||
|
三个力 三个力 劦
|
||||||
|
三个原 三个原 厵
|
||||||
|
三个厶 三个厶 厽
|
||||||
|
三个又 三个又 叒
|
||||||
|
三个口 三个口 品 𠱠
|
||||||
|
三个七 三个七 㐂
|
||||||
|
三个吉 三个吉 嚞 𡕇
|
||||||
|
三个土 三个土 垚
|
||||||
|
三个士 三个士 壵
|
||||||
|
三个女 三个女 姦
|
||||||
|
三个子 三个子 孨 𡥦
|
||||||
|
三个小 三个小 尛 𡭯
|
||||||
|
三个心 三个心 惢
|
||||||
|
三个手 三个手 掱
|
||||||
|
三个日 三个日 晶 晿
|
||||||
|
三个木 三个木 森 𣓏
|
||||||
|
三个止 三个止 歮
|
||||||
|
三个毛 三个毛 毳
|
||||||
|
三个水 三个水 淼 㴇
|
||||||
|
三个泉 三个泉 灥
|
||||||
|
三个火 三个火 焱 㷋
|
||||||
|
三个牛 三个牛 犇
|
||||||
|
三个犬 三个犬 猋
|
||||||
|
三个田 三个田 畾
|
||||||
|
三个白 三个白 皛
|
||||||
|
三个目 三个目 瞐
|
||||||
|
三个直 三个直 矗
|
||||||
|
三个石 三个石 磊
|
||||||
|
三个羊 三个羊 羴
|
||||||
|
三个耳 三个耳 聶
|
||||||
|
三个舌 三个舌 舙 𦧵
|
||||||
|
三个屮 三个屮 芔
|
||||||
|
三个虫 三个虫 蟲
|
||||||
|
三个言 三个言 譶 𧭛
|
||||||
|
三个贝 三个贝 赑
|
||||||
|
三个車 三个車 轟
|
||||||
|
三个金 三个金 鑫
|
||||||
|
三个隹 三个隹 雥 雦
|
||||||
|
三个雷 三个雷 靐
|
||||||
|
三个風 三个風 飍
|
||||||
|
三个飛 三个飛 飝
|
||||||
|
三个香 三个香 馫
|
||||||
|
三个马 三个马 骉 𩧢
|
||||||
|
三个魚 三个魚 鱻
|
||||||
|
三个鹿 三个鹿 麤
|
||||||
|
三个龍 三个龍 龘
|
||||||
|
三个个 三个个 𠁭
|
||||||
|
三个丶 三个丶 𠁼
|
||||||
|
三个了 三个了 𠄕
|
||||||
|
三个介 三个介 𠌕
|
||||||
|
三个企 三个企 𠐰
|
||||||
|
三个舍 三个舍 𠑰
|
||||||
|
三个圥 三个圥 𠒶
|
||||||
|
三个光 三个光 𠓉
|
||||||
|
三个兔 三个兔 𠓗
|
||||||
|
三个全 三个全 𠓾
|
||||||
|
三个𠙽 三个𠙽 𠚛
|
||||||
|
三个𠧪 三个𠧪 𠨋
|
||||||
|
三个㔾 三个㔾 𠨕
|
||||||
|
三个厡 三个厡 𠫒
|
||||||
|
三个可 三个可 𠾳
|
||||||
|
三个因 三个因 𡈲
|
||||||
|
三个夏 三个夏 𡖃
|
||||||
|
三个大 三个大 𡘙
|
||||||
|
三个天 三个天 𡙎
|
||||||
|
三个太 三个太 𡙒
|
||||||
|
三个𦉼 三个𦉼 𡚤
|
||||||
|
三个宝 三个宝 𡬏
|
||||||
|
三个宜 三个宜 𡬐
|
||||||
|
三个客 三个客 𡬚
|
||||||
|
三个寒 三个寒 𡬜
|
||||||
|
三个少 三个少 𡮏
|
||||||
|
三个山 三个山 𡷈
|
||||||
|
三个市 三个市 𢅈
|
||||||
|
三个文 三个文 𣁕
|
||||||
|
三个斗 三个斗 𣁾
|
||||||
|
三个朿 三个朿 𣝯
|
||||||
|
三个束 三个束 𣠆
|
||||||
|
三个林 三个林 𣡕
|
||||||
|
三个果 三个果 𣡗
|
||||||
|
三个欠 三个欠 𣣓
|
||||||
|
三个𣥚 三个𣥚 𣦴
|
||||||
|
三个爪 三个爪 𤔙
|
||||||
|
三个妥 三个妥 𤕇
|
||||||
|
三个用 三个用 𤰌
|
||||||
|
三个甲 三个甲 𤳅
|
||||||
|
三个百 三个百 𤾩
|
||||||
|
三个盖 三个盖 𥃣
|
||||||
|
三个県 三个県 𥍙
|
||||||
|
三个空 三个空 𥩌
|
||||||
|
三个亇 三个亇 𥫮 𥫧
|
||||||
|
三个竹 三个竹 𥴒
|
||||||
|
三个罒 三个罒 𦋹
|
||||||
|
三个羗 三个羗 𦏱
|
||||||
|
三个老 三个老 𦓈
|
||||||
|
三个月 三个月 𦜳
|
||||||
|
三个至 三个至 𦥏
|
||||||
|
三个興 三个興 𦧅
|
||||||
|
三个足 三个足 𨆬
|
||||||
|
三个㖖 三个㖖 𨑂
|
||||||
|
三个門 三个門 𨷮
|
||||||
|
三个面 三个面 𩉖
|
||||||
|
三个頁 三个頁 𩖏
|
||||||
|
三个鳥 三个鳥 𪈼
|
||||||
|
三个男 三个男 𪟧
|
||||||
|
三个立 三个立 𫁪
|
||||||
|
三个九 三个九 𫡤
|
||||||
|
三个也 三个也 𫡩
|
||||||
|
三个加 三个加 𫦹
|
||||||
|
三个動 三个動 𫦿
|
||||||
|
三个千 三个千 𫧢
|
||||||
|
三个方 三个方 𬀉
|
||||||
|
三个朔 三个朔 𬂚
|
||||||
|
三个玉 三个玉 𬍼
|
||||||
|
三个申 三个申 𬏍
|
||||||
|
三个𡿨 三个𡿨 巛
|
||||||
|
三个去 三个去 𠬑
|
||||||
|
三个弓 三个弓 𢏝
|
||||||
|
三个䖝 三个䖝 𧔗
|
||||||
|
三个丿 三个丿 彡
|
||||||
|
三个户 三个户 𢩕
|
||||||
|
三个瓜 三个瓜 𤬑
|
||||||
|
三个鸟 三个鸟 𪉓
|
||||||
|
三个米 三个米 𥼬
|
||||||
|
一一一一一一一 四叠字 一一一一一一一
|
||||||
|
四个乂 四个乂 㸚
|
||||||
|
四个人 四个人 𠈌
|
||||||
|
四个厶 四个厶 𠫬
|
||||||
|
四个又 四个又 叕
|
||||||
|
四个匕 四个匕 𣬅
|
||||||
|
四个工 四个工 㠭
|
||||||
|
四个口 四个口 㗊
|
||||||
|
四个天 四个天 𡚌
|
||||||
|
四个小 四个小 𡮐
|
||||||
|
四个屮 四个屮 茻
|
||||||
|
四个火 四个火 燚
|
||||||
|
四个牛 四个牛 𤛭
|
||||||
|
四个魚 四个魚 䲜
|
||||||
|
四个月 四个月 朤
|
||||||
|
四个日 四个日 𣊫
|
||||||
|
四个曰 四个曰 𣊭
|
||||||
|
四个林 四个林 𣡽
|
||||||
|
四个水 四个水 㵘
|
||||||
|
四个石 四个石 𥗉
|
||||||
|
四个田 四个田 𤳳
|
||||||
|
四个甲 四个甲 𤳵
|
||||||
|
四个且 四个且 𠁠
|
||||||
|
四个囚 四个囚 𡈶
|
||||||
|
四个困 四个困 𡈹
|
||||||
|
四个竹 四个竹 𥷹
|
||||||
|
四个老 四个老 𦓋
|
||||||
|
四个朿 四个朿 𣡍
|
||||||
|
四个先 四个先 𠓙
|
||||||
|
四个金 四个金 𨰻
|
||||||
|
四个泉 四个泉 𤆁
|
||||||
|
四个言 四个言 𧮦
|
||||||
|
四个門 四个門 𨷾
|
||||||
|
四个果 四个果 𣡾
|
||||||
|
四个春 四个春 𣌠
|
||||||
|
四个車 四个車 𨏿
|
||||||
|
四个風 四个風 𩙡
|
||||||
|
四个雷 四个雷 䨻
|
||||||
|
四个雲 四个雲 𩇔
|
||||||
|
四个興 四个興 𠔻
|
||||||
|
四个龍 四个龍 𪚥
|
||||||
|
四个土 四个土 㙓
|
||||||
|
男女男 男女男 嬲
|
||||||
|
女男女 女男女 嫐
|
||||||
|
一一一一一一一 其他 一一一一一一一
|
||||||
|
Rime Rime 㞢
|
||||||
|
中州韵 中州韵 Rime
|
||||||
|
鼠须管 鼠须管 Squirrel
|
||||||
|
小狼毫 小狼毫 Weasel
|
||||||
|
平方 平方 ²
|
||||||
|
立方 立方 ³
|
||||||
|
平方米 平方米 m²
|
||||||
|
平方厘米 平方厘米 cm²
|
||||||
|
度 度 °
|
||||||
|
摄氏度 摄氏度 °C
|
||||||
|
华氏度 华氏度 °F
|
||||||
|
点 点 ·
|
||||||
|
间隔号 间隔号 ·
|
||||||
|
连接号 连接号 —
|
||||||
|
连接符 连接符 —
|
||||||
|
连字符 连字符 -
|
||||||
|
Apple Apple
|
||||||
|
反问号 反问号 ¿
|
||||||
|
约等于 约等于 ≈
|
||||||
|
约等 约等 ≈
|
||||||
|
约等号 约等号 ≈
|
||||||
|
不等于 不等于 ≠
|
||||||
|
不等号 不等号 ≠
|
||||||
|
大于 大于 >
|
||||||
|
大于号 大于号 >
|
||||||
|
小于 小于 <
|
||||||
|
小于号 小于号 <
|
||||||
|
小于等于 小于等于 ≤
|
||||||
|
小于等于号 小于等于号 ≤
|
||||||
|
大于等于 大于等于 ≥
|
||||||
|
大于等于号 大于等于号 ≥
|
||||||
|
根号 根号 √
|
||||||
|
正负号 正负号 ±
|
||||||
|
正负 正负 ±
|
||||||
|
百分号 百分号 %
|
||||||
|
百分之 百分之 %
|
||||||
|
千分号 千分号 ‰
|
||||||
|
千分之 千分之 ‰
|
||||||
|
万分号 万分号 ‱
|
||||||
|
万分之 万分之 ‱
|
||||||
|
纳粹 纳粹 卐
|
||||||
|
无穷大 无穷大 ∞
|
||||||
|
无穷大符号 无穷大符号 ∞
|
||||||
|
正无穷 正无穷 +∞
|
||||||
|
负无穷 负无穷 -∞
|
||||||
|
圆周率 圆周率 π
|
||||||
|
进击的巨人 进击的巨人 進撃の巨人
|
||||||
|
中央电视台 中央电视台 装垫儿台
|
||||||
|
Geralt Geralt 杰洛特
|
||||||
|
杰洛特 杰洛特 Geralt
|
||||||
|
灭霸 灭霸 Thanos
|
||||||
|
Thanos Thanos 灭霸
|
||||||
|
皮卡丘 皮卡丘 Pikachu
|
||||||
|
Pikachu Pikachu 皮卡丘
|
||||||
|
Pokemon Pokemon Pokémon
|
||||||
|
德尔塔 德尔塔 Delta
|
||||||
|
Delta Delta 德尔塔
|
||||||
|
奥密克戎 奥密克戎 Omicron
|
||||||
|
Omicron Omicron 奥密克戎
|
||||||
|
恭喜发财 恭喜发财 恭喜發財
|
||||||
|
人上人 人上人 仌
|
||||||
|
二百 二百 皕
|
||||||
|
两百 两百 皕
|
||||||
|
英寸 英寸 吋
|
||||||
|
星巴克 星巴克 Starbucks
|
||||||
|
毫秒 毫秒 ms millisecond
|
||||||
|
微秒 微秒 μs microsecond
|
||||||
|
纳秒 纳秒 ns nanosecond
|
||||||
|
掀桌子 掀桌子 (╯'-')╯︵┻━┻ (╯°Д°)╯︵┻━┻
|
||||||
|
摆桌子 摆桌子 ┬─┬ノ('-'ノ)
|
||||||
|
车马炮 车马炮 車马炮
|
||||||
|
出车 出车 出車
|
||||||
|
安卓 安卓 Android
|
||||||
|
反引号 反引号 `
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 111 KiB |
@@ -0,0 +1,26 @@
|
|||||||
|
# iRime 方案
|
||||||
|
|
||||||
|
直接拖进去就是全键盘方案。
|
||||||
|
|
||||||
|
然后有两组补丁。
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
一组九宫格的:
|
||||||
|
|
||||||
|
九宫格和 iRime 自带的主要区别:能输入英文,即「43556」上屏「hello」。
|
||||||
|
|
||||||
|
九宫格体验:重码时不能选拼音,太难受了,要了命了。
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
一组全键盘的:
|
||||||
|
|
||||||
|
开启模糊拼音,输入单字时比较困扰,不过实在离不开这个功能。
|
||||||
|
|
||||||
|
单引号改为了删除自造词(下滑 L 键)。
|
||||||
|
|
||||||
|
调整了标点符号的键盘映射,一些上下滑时的操作,比如上滑是两个括号,下滑是单个括号。
|
||||||
|
|
||||||
|
「符」按钮直接跳转到「更多」那个页面。
|
||||||
|
|
||||||
Executable
+10
@@ -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/
|
||||||
Executable
+61
@@ -0,0 +1,61 @@
|
|||||||
|
# Rime schema
|
||||||
|
# encoding: utf-8
|
||||||
|
|
||||||
|
|
||||||
|
patch:
|
||||||
|
|
||||||
|
# 增加数字按键
|
||||||
|
speller/alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA1234567890
|
||||||
|
|
||||||
|
# 去掉电脑上打固顶字
|
||||||
|
fixed: ~
|
||||||
|
|
||||||
|
# 九宫格拼写映射,直接覆盖,放弃 26 键的纠错,否则重码太多了
|
||||||
|
speller/algebra:
|
||||||
|
- "xlit|12345|+_*^0|"
|
||||||
|
- xlit/abcdefghijklmnopqrstuvwxyz/22233344455566677778889999/
|
||||||
|
|
||||||
|
# 让输入框从数字变成字母
|
||||||
|
engine/filters/+:
|
||||||
|
- lua_filter@irime_t9_preedit
|
||||||
|
translator/+:
|
||||||
|
spelling_hints: 16
|
||||||
|
|
||||||
|
# 重写了,因为需要 @ 和 # 的映射,否则键盘上那俩按钮不起作用。
|
||||||
|
punctuator/half_shape:
|
||||||
|
',' : { commit: , }
|
||||||
|
'.' : { commit: 。 }
|
||||||
|
'<' : [ 《, 〈, «, ‹ ]
|
||||||
|
'>' : [ 》, 〉, », › ]
|
||||||
|
'/' : [ 、, '/', /, ÷ ]
|
||||||
|
'?' : { commit: ? }
|
||||||
|
';' : { commit: ; }
|
||||||
|
':' : { commit: : }
|
||||||
|
'''' : { pair: [ '‘', '’' ] }
|
||||||
|
'"' : { pair: [ '“', '”' ] }
|
||||||
|
'\' : [ 、, '\', \ ]
|
||||||
|
'|' : [ ·, '|', |, '§', '¦' ]
|
||||||
|
'`' : '`'
|
||||||
|
'~' : [ '~', ~ ]
|
||||||
|
'!' : { commit: ! }
|
||||||
|
# '@' : [ 1,@,.,/,:,_,- ]
|
||||||
|
'@' : [ 1,'@',!,:,、,……,~, ]
|
||||||
|
'#' : [ 0,'#','$','%','^','&','*','(',')' ]
|
||||||
|
'%' : [ '%', %, '°', '℃' ]
|
||||||
|
'$' : [ ¥, '$', '€', '£', '¥', '¢', '¤' ]
|
||||||
|
'^' : { commit: …… }
|
||||||
|
'&' : '&'
|
||||||
|
'*' : [ '*', *, ·, ・, ×, ※, ❂ ]
|
||||||
|
'(' : (
|
||||||
|
')' : )
|
||||||
|
'-' : '-'
|
||||||
|
'_' : ——
|
||||||
|
'+' : '+'
|
||||||
|
'=' : '='
|
||||||
|
'[' : [ 「, 【, 〔, [ ]
|
||||||
|
']' : [ 」, 】, 〕, ] ]
|
||||||
|
'{' : [ 『, 〖, { ]
|
||||||
|
'}' : [ 』, 〗, } ]
|
||||||
|
|
||||||
|
sytle:
|
||||||
|
theme_name: T9
|
||||||
Executable
+18
@@ -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 }
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
Name: iPhone默认键盘_custom
|
||||||
|
Author: 筋斗云
|
||||||
|
SupportPlatform: iOS,iPadOS
|
||||||
+279
@@ -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: "'"}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
module script
|
||||||
|
|
||||||
|
go 1.19
|
||||||
|
|
||||||
|
require github.com/deckarep/golang-set/v2 v2.1.0
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/commander-cli/cmd v1.5.0 // indirect
|
||||||
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||||
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||||
|
github.com/stretchr/testify v1.8.1 // indirect
|
||||||
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
|
)
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
github.com/commander-cli/cmd v1.5.0 h1:zuMGIdRxQb63R+0Wa9G/g7xtF1fwEERdn+fIIKj5ujI=
|
||||||
|
github.com/commander-cli/cmd v1.5.0/go.mod h1:y9HfHjaDNGRjzpOcMbK43A791NmESwKBkvCSDBCxJ94=
|
||||||
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/deckarep/golang-set/v2 v2.1.0 h1:g47V4Or+DUdzbs8FxCCmgb6VYd+ptPAngjM6dtGktsI=
|
||||||
|
github.com/deckarep/golang-set/v2 v2.1.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4=
|
||||||
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
|
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
|
||||||
|
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
|
||||||
|
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||||
|
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
||||||
|
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
|
||||||
|
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
||||||
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
|
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||||
|
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
"script/rime"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
log.SetFlags(log.LstdFlags | log.Lshortfile)
|
||||||
|
|
||||||
|
// Emoji 检查和更新
|
||||||
|
rime.CheckEmoji()
|
||||||
|
rime.UpdateEmojiTXT()
|
||||||
|
fmt.Println("--------------------------------------------------")
|
||||||
|
|
||||||
|
// 更新搜狗流行词
|
||||||
|
rime.UpdateSogou()
|
||||||
|
fmt.Println("--------------------------------------------------")
|
||||||
|
|
||||||
|
// 为 sogou、ext、tencent 没权重的词条加上权重,有权重的改为下面设置的权重
|
||||||
|
rime.AddWeight(rime.SogouPath, rime.DefaultWeight)
|
||||||
|
rime.AddWeight(rime.ExtPath, rime.DefaultWeight)
|
||||||
|
rime.AddWeight(rime.TencentPath, rime.DefaultWeight)
|
||||||
|
fmt.Println("--------------------------------------------------")
|
||||||
|
|
||||||
|
// 通用检查
|
||||||
|
// flag: 1 只有汉字,2 汉字+注音,3 汉字+注音+权重,4 汉字+权重。
|
||||||
|
go rime.Check(rime.HanziPath, 3)
|
||||||
|
go rime.Check(rime.MainPath, 3)
|
||||||
|
go rime.Check(rime.SogouPath, 3)
|
||||||
|
go rime.Check(rime.ExtPath, 4)
|
||||||
|
go rime.Check(rime.TencentPath, 4)
|
||||||
|
|
||||||
|
wait()
|
||||||
|
|
||||||
|
// 排序
|
||||||
|
rime.Sort(rime.HanziPath, 3)
|
||||||
|
rime.Sort(rime.MainPath, 3)
|
||||||
|
rime.Sort(rime.SogouPath, 3) // 对 main 中已经有的,去重
|
||||||
|
rime.Sort(rime.ExtPath, 4) // 对 main、sogou 中已经有的,去重
|
||||||
|
rime.Sort(rime.TencentPath, 4) // 对 main、sogou、ext 中已经有的,去重
|
||||||
|
}
|
||||||
|
|
||||||
|
func wait() {
|
||||||
|
fmt.Println("检查完成后输入 OK 以继续。。。")
|
||||||
|
var isOK string
|
||||||
|
_, _ = fmt.Scanf("%s", &isOK)
|
||||||
|
if strings.ToLower(isOK) != "ok" {
|
||||||
|
os.Exit(123)
|
||||||
|
}
|
||||||
|
fmt.Println("--------------------------------------------------")
|
||||||
|
}
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
package rime
|
||||||
|
|
||||||
|
import (
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
"path"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
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")
|
||||||
|
|
||||||
|
// 逐行遍历,加上 weight
|
||||||
|
isMark := false
|
||||||
|
for i, line := range lines {
|
||||||
|
if !isMark {
|
||||||
|
if strings.Contains(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)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,231 @@
|
|||||||
|
package rime
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"fmt"
|
||||||
|
mapset "github.com/deckarep/golang-set/v2"
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
"path"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
"unicode"
|
||||||
|
"unicode/utf8"
|
||||||
|
)
|
||||||
|
|
||||||
|
var specialWords = mapset.NewSet[string]() // 特殊词汇列表,不进行任何检查
|
||||||
|
var polyphoneWords = mapset.NewSet[string]() // 需要注音的多音字列表
|
||||||
|
var wrongWords = mapset.NewSet[string]() // 异形词、错别字列表
|
||||||
|
var filterWords = mapset.NewSet[string]() // 与异形词列表同时使用,过滤掉,一般是包含异形词但不是异形词的,比如「作爱」是错的,但「叫作爱」是正确的。
|
||||||
|
|
||||||
|
// 初始化特殊词汇列表、多音字列表、异形词列表
|
||||||
|
func init() {
|
||||||
|
fmt.Println("check.go init...")
|
||||||
|
// 特殊词汇列表
|
||||||
|
specialWords.Add("狄尔斯–阿尔德反应")
|
||||||
|
specialWords.Add("特里斯坦–达库尼亚")
|
||||||
|
specialWords.Add("特里斯坦–达库尼亚群岛")
|
||||||
|
specialWords.Add("茱莉亚·路易斯-德瑞弗斯")
|
||||||
|
specialWords.Add("科科斯(基林)群岛")
|
||||||
|
specialWords.Add("刚果(金)")
|
||||||
|
specialWords.Add("刚果(布)")
|
||||||
|
specialWords.Add("赛博朋克:边缘行者")
|
||||||
|
specialWords.Add("赛博朋克:边缘跑手")
|
||||||
|
specialWords.Add("赛博朋克:命运之轮")
|
||||||
|
|
||||||
|
// 需要注音的多音字列表
|
||||||
|
polyphoneFile, err := os.Open("rime/多音字.txt")
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
defer polyphoneFile.Close()
|
||||||
|
sc := bufio.NewScanner(polyphoneFile)
|
||||||
|
for sc.Scan() {
|
||||||
|
line := sc.Text()
|
||||||
|
if strings.HasPrefix(line, "#") {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
polyphoneWords.Add(line)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 异形词的两个列表
|
||||||
|
file, err := os.Open("rime/异形词.txt")
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
sc = bufio.NewScanner(file)
|
||||||
|
isMark := false
|
||||||
|
for sc.Scan() {
|
||||||
|
line := sc.Text()
|
||||||
|
|
||||||
|
if strings.Contains(line, "# -_-") {
|
||||||
|
isMark = true
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if !isMark {
|
||||||
|
wrongWords.Add(line)
|
||||||
|
} else {
|
||||||
|
filterWords.Add(line)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check 对传入的词库文件进行检查
|
||||||
|
func Check(dictPath string, flag int) {
|
||||||
|
// 控制台输出
|
||||||
|
defer printlnTimeCost("检查 "+path.Base(dictPath), time.Now())
|
||||||
|
|
||||||
|
// 打开文件
|
||||||
|
file, err := os.Open(dictPath)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
|
// 开始检查!
|
||||||
|
lineNumber := 0
|
||||||
|
isMark := false
|
||||||
|
sc := bufio.NewScanner(file)
|
||||||
|
for sc.Scan() {
|
||||||
|
lineNumber++
|
||||||
|
line := sc.Text()
|
||||||
|
if !isMark {
|
||||||
|
if line == mark {
|
||||||
|
isMark = true
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
// 忽略注释,main 里有很多被注释了的词汇,暂时没有删除
|
||||||
|
if strings.HasPrefix(line, "#") {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
// 注释以"#"开头,但不是以"# "开头(没有空格)(强迫症晚期)
|
||||||
|
if strings.HasPrefix(line, "#") && !strings.HasPrefix(line, "# ") {
|
||||||
|
fmt.Println("has # but not #␣", line)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 是否有空行
|
||||||
|
if strings.TrimSpace(line) == "" {
|
||||||
|
fmt.Println("空行,行号:", lineNumber)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 开头结尾是否有空字符
|
||||||
|
if line != strings.TrimSpace(line) {
|
||||||
|
fmt.Printf("开头或结尾有空格:%q\n", line)
|
||||||
|
}
|
||||||
|
|
||||||
|
// +---------------------------------------------------------------
|
||||||
|
// | 通用检查:分割为:词汇text, 编码code, 权重weight
|
||||||
|
// +---------------------------------------------------------------
|
||||||
|
parts := strings.Split(line, "\t")
|
||||||
|
var text, code, weight string
|
||||||
|
if flag == 1 && len(parts) == 1 { // 一列,【汉字】:外部词库
|
||||||
|
text = parts[0]
|
||||||
|
} else if flag == 2 && len(parts) == 2 { // 两列,【汉字+注音】:外部词库
|
||||||
|
text, code = parts[0], parts[1]
|
||||||
|
} else if flag == 3 && len(parts) == 3 { // 三列,【汉字+注音+权重】:字表 main av sogou
|
||||||
|
text, code, weight = parts[0], parts[1], parts[2]
|
||||||
|
} else if flag == 4 && len(parts) == 2 { // 两列,【汉字+权重】:ext tencent
|
||||||
|
text, weight = parts[0], parts[1]
|
||||||
|
} else {
|
||||||
|
log.Fatal("分割错误:", line)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检查:weight 应该是纯数字
|
||||||
|
if weight != "" {
|
||||||
|
_, err := strconv.Atoi(weight)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("weight 非数字:", line)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 过滤特殊词条
|
||||||
|
if specialWords.Contains(text) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检查: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("编码含有非字母或大写字母:", line)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检查:text 是否含有非汉字内容
|
||||||
|
for _, c := range text {
|
||||||
|
if strings.Contains(text, "·") {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
if !unicode.Is(unicode.Han, c) {
|
||||||
|
fmt.Println("含有非汉字内容:", line, c)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 除了字表,其他词库不应该含有单个的汉字
|
||||||
|
if dictPath != HanziPath && utf8.RuneCountInString(text) == 1 {
|
||||||
|
fmt.Println("意外的单个汉字:", line)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 除了 main ,其他词库不应该含有两个字的词汇
|
||||||
|
if dictPath != MainPath && utf8.RuneCountInString(text) == 2 {
|
||||||
|
fmt.Println("意外的两字词:", line)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 汉字个数应该与拼音个数相等
|
||||||
|
if code != "" {
|
||||||
|
codeCount := len(strings.Split(code, " "))
|
||||||
|
textCount := utf8.RuneCountInString(text)
|
||||||
|
if strings.Contains(text, "·") {
|
||||||
|
textCount -= strings.Count(text, "·")
|
||||||
|
}
|
||||||
|
if strings.HasPrefix(text, "# ") {
|
||||||
|
textCount -= 2
|
||||||
|
}
|
||||||
|
if textCount != codeCount {
|
||||||
|
fmt.Println("汉字个数和拼音个数不相等:", text, code)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// +---------------------------------------------------------------
|
||||||
|
// | 比较耗时的检查
|
||||||
|
// +---------------------------------------------------------------
|
||||||
|
// 多音字注音问题检查
|
||||||
|
go func() {
|
||||||
|
if dictPath == ExtPath || dictPath == TencentPath {
|
||||||
|
for _, word := range polyphoneWords.ToSlice() {
|
||||||
|
if strings.Contains(text, word) {
|
||||||
|
fmt.Printf("多音字注音问题:%q\n", line)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
|
// 异形词检查
|
||||||
|
go func() {
|
||||||
|
if dictPath != HanziPath && !filterWords.Contains(text) {
|
||||||
|
for _, wrongWord := range wrongWords.ToSlice() {
|
||||||
|
if strings.Contains(text, wrongWord) {
|
||||||
|
fmt.Printf("异形词汇: %s - %s\n", wrongWord, text)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,132 @@
|
|||||||
|
package rime
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
mapset "github.com/deckarep/golang-set/v2"
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
"regexp"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
"unicode/utf8"
|
||||||
|
)
|
||||||
|
|
||||||
|
var emojiTXT = "/Users/dvel/Library/Rime/opencc/emoji.txt"
|
||||||
|
var mappingTXT = "/Users/dvel/Library/Rime/opencc/emoji-map.txt"
|
||||||
|
|
||||||
|
type OrderedMap struct {
|
||||||
|
keys []string
|
||||||
|
m map[string][]string
|
||||||
|
}
|
||||||
|
|
||||||
|
// CheckEmoji 检查 Emoji
|
||||||
|
// 检查 emoji-map.txt 格式书写问题
|
||||||
|
// 检查所有词条是否与 main+sogou+ext 词库存在差集
|
||||||
|
func CheckEmoji() {
|
||||||
|
// 控制台输出
|
||||||
|
defer printlnTimeCost("检查 Emoji 差集", time.Now())
|
||||||
|
|
||||||
|
// 打开文件
|
||||||
|
file, err := os.Open(EmojiPath)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
|
// 将 Emoji 加入 set,为检测差集做准备
|
||||||
|
emojiSet := mapset.NewSet[string]()
|
||||||
|
sc := bufio.NewScanner(file)
|
||||||
|
for sc.Scan() {
|
||||||
|
line := sc.Text()
|
||||||
|
// 过滤注释
|
||||||
|
if strings.Contains(line, "#") {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
// 检查是否包含 Tab
|
||||||
|
if strings.Contains(line, "\t") {
|
||||||
|
log.Fatal("❌ 此行包含 Tab:", line)
|
||||||
|
}
|
||||||
|
// 开头结尾无效的空格
|
||||||
|
if strings.HasPrefix(line, " ") || strings.HasSuffix(line, " ") {
|
||||||
|
log.Fatal("❌ unexpected space:", line)
|
||||||
|
}
|
||||||
|
parts := strings.Split(line, " ")
|
||||||
|
if len(parts) < 2 {
|
||||||
|
log.Fatal("❌ invalid line:", line)
|
||||||
|
}
|
||||||
|
// 加入 emojiSet,顺便用一个 tempSet 查重
|
||||||
|
tempSet := mapset.NewSet[string]()
|
||||||
|
for _, word := range parts[1:] {
|
||||||
|
emojiSet.Add(word)
|
||||||
|
if tempSet.Contains(word) {
|
||||||
|
log.Fatal("❌ 此行有重复映射:", line)
|
||||||
|
} else {
|
||||||
|
tempSet.Add(word)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检查 emoji 中的词条是否与 main+sogou+ext 词库存在差集
|
||||||
|
for _, word := range emojiSet.Difference(MainSet.Union(SogouSet).Union(ExtSet)).ToSlice() {
|
||||||
|
// 去除英文字母
|
||||||
|
if match, _ := regexp.MatchString(`[A-Za-z]+`, word); match {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
// 去除一个字的
|
||||||
|
if utf8.RuneCountInString(word) == 1 {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
log.Fatal("❌ Emoji 差集:", word)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UpdateEmojiTXT 从 emoji-map.txt 生成或更新 emoji.txt
|
||||||
|
func UpdateEmojiTXT() {
|
||||||
|
// 控制台输出
|
||||||
|
defer printlnTimeCost("更新 emoji.txt", time.Now())
|
||||||
|
|
||||||
|
// 读取 emoji-map.txt
|
||||||
|
mappingFile, err := os.Open(mappingTXT)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
defer mappingFile.Close()
|
||||||
|
|
||||||
|
om := new(OrderedMap)
|
||||||
|
om.keys = make([]string, 0)
|
||||||
|
om.m = make(map[string][]string)
|
||||||
|
|
||||||
|
sc := bufio.NewScanner(mappingFile)
|
||||||
|
for sc.Scan() {
|
||||||
|
line := sc.Text()
|
||||||
|
if strings.HasPrefix(line, "#") {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
arr := strings.Split(line, " ")
|
||||||
|
for _, word := range arr[1:] {
|
||||||
|
if !contains(om.keys, word) {
|
||||||
|
om.keys = append(om.keys, word)
|
||||||
|
}
|
||||||
|
om.m[word] = append(om.m[word], arr[0])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 写入 emoji.txt
|
||||||
|
emojiFile, err := os.OpenFile(emojiTXT, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0666)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalln(err)
|
||||||
|
}
|
||||||
|
defer emojiFile.Close()
|
||||||
|
|
||||||
|
for _, key := range om.keys {
|
||||||
|
line := key + "\t" + key + " " + strings.Join(om.m[key], " ") + "\n"
|
||||||
|
_, err := emojiFile.WriteString(line)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := emojiFile.Sync(); err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,164 @@
|
|||||||
|
package rime
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"crypto/sha1"
|
||||||
|
"encoding/hex"
|
||||||
|
"fmt"
|
||||||
|
mapset "github.com/deckarep/golang-set/v2"
|
||||||
|
"io"
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
// 一个词条的组成部分
|
||||||
|
type lemma struct {
|
||||||
|
text string // 汉字
|
||||||
|
code string // 编码
|
||||||
|
weight int // 权重
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
mark = "# +_+" // 词库中的标记符号,表示从开始检查或排序
|
||||||
|
HanziPath = "/Users/dvel/Library/Rime/cn_dicts/8105.dict.yaml"
|
||||||
|
MainPath = "/Users/dvel/Library/Rime/cn_dicts/base.dict.yaml"
|
||||||
|
SogouPath = "/Users/dvel/Library/Rime/cn_dicts/sogou.dict.yaml"
|
||||||
|
ExtPath = "/Users/dvel/Library/Rime/cn_dicts/ext.dict.yaml"
|
||||||
|
TencentPath = "/Users/dvel/Library/Rime/cn_dicts/tencent.dict.yaml"
|
||||||
|
EmojiPath = "/Users/dvel/Library/Rime/opencc/emoji-map.txt"
|
||||||
|
|
||||||
|
DefaultWeight = 100 // sogou、ext、tencet 词库中默认的权重数值
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
MainSet mapset.Set[string]
|
||||||
|
SogouSet mapset.Set[string]
|
||||||
|
ExtSet mapset.Set[string]
|
||||||
|
TencentSet mapset.Set[string]
|
||||||
|
SogouSetWithCode mapset.Set[string]
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
fmt.Println("rime.go init...")
|
||||||
|
MainSet = readAndSet(MainPath)
|
||||||
|
SogouSet = readAndSet(SogouPath)
|
||||||
|
ExtSet = readAndSet(ExtPath)
|
||||||
|
TencentSet = readAndSet(TencentPath)
|
||||||
|
}
|
||||||
|
|
||||||
|
// readAndSet 读取词库文件为 set
|
||||||
|
func readAndSet(dictPath string) mapset.Set[string] {
|
||||||
|
set := mapset.NewSet[string]()
|
||||||
|
|
||||||
|
file, err := os.Open(dictPath)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(set)
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
|
sc := bufio.NewScanner(file)
|
||||||
|
isMark := false
|
||||||
|
for sc.Scan() {
|
||||||
|
line := sc.Text()
|
||||||
|
if !isMark {
|
||||||
|
if strings.Contains(line, mark) {
|
||||||
|
isMark = true
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
parts := strings.Split(line, "\t")
|
||||||
|
set.Add(parts[0])
|
||||||
|
}
|
||||||
|
|
||||||
|
return set
|
||||||
|
}
|
||||||
|
|
||||||
|
// printlnTimeCost 打印耗时时间
|
||||||
|
func printlnTimeCost(content string, start time.Time) {
|
||||||
|
fmt.Printf("%s:\t%.2fs\n", content, time.Since(start).Seconds())
|
||||||
|
}
|
||||||
|
|
||||||
|
// printfTimeCost 打印耗时时间
|
||||||
|
func printfTimeCost(content string, start time.Time) {
|
||||||
|
fmt.Printf("%s:\t%.2fs", content, time.Since(start).Seconds())
|
||||||
|
}
|
||||||
|
|
||||||
|
// contains slice 是否包含 item
|
||||||
|
func contains(arr []string, item string) bool {
|
||||||
|
for _, x := range arr {
|
||||||
|
if item == x {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// getSha1 获取文件 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))
|
||||||
|
}
|
||||||
|
|
||||||
|
// updateVersion 排序后,如果文件有改动,则修改 version 日期
|
||||||
|
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)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,294 @@
|
|||||||
|
package rime
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"fmt"
|
||||||
|
"github.com/commander-cli/cmd"
|
||||||
|
mapset "github.com/deckarep/golang-set/v2"
|
||||||
|
"io"
|
||||||
|
"log"
|
||||||
|
"net/http"
|
||||||
|
"os"
|
||||||
|
"sort"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
"unicode/utf8"
|
||||||
|
)
|
||||||
|
|
||||||
|
var fileterMark = "# *_*" // "# *_*" 和 mark 之间是过滤词列表
|
||||||
|
var filterList = mapset.NewSet[string]() // 过滤词列表,在这个列表里的词汇,不再写入
|
||||||
|
|
||||||
|
// UpdateSogou 更新搜狗流行词
|
||||||
|
func UpdateSogou() {
|
||||||
|
// 控制台输出
|
||||||
|
defer updateVersion(SogouPath, getSha1(SogouPath))
|
||||||
|
defer printfTimeCost("更新搜狗流行词", time.Now())
|
||||||
|
|
||||||
|
makeFilterList() // 0. 准备好过滤词列表
|
||||||
|
downloadSogou() // 1. 下载搜狗流行词加入到文件末尾
|
||||||
|
checkAndWrite() // 2. 过滤、去重、排序
|
||||||
|
PrintNewWords() // 3. 打印新增词汇
|
||||||
|
|
||||||
|
// 弄完了删除临时用的文件,否则 VSCode 全局搜索词汇时会搜索到,影响体验
|
||||||
|
err := os.Remove("./scel2txt/scel/sogou.scel")
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
err = os.Remove("./scel2txt/out/luna_pinyin.sogou.dict.yaml")
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
err = os.Remove("./scel2txt/out/sogou.txt")
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// makeFilterList 准备好过滤词列表 filterList
|
||||||
|
func makeFilterList() {
|
||||||
|
file, err := os.Open(SogouPath)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
|
sc := bufio.NewScanner(file)
|
||||||
|
isFilterMark := false
|
||||||
|
for sc.Scan() {
|
||||||
|
line := sc.Text()
|
||||||
|
if line == mark {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
if !isFilterMark {
|
||||||
|
if strings.Contains(line, fileterMark) {
|
||||||
|
isFilterMark = true
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
// 判断一些可能出错的情况
|
||||||
|
if !strings.HasPrefix(line, "# ") {
|
||||||
|
log.Fatal("sogou 过滤列表 无效行:", line)
|
||||||
|
}
|
||||||
|
text := strings.TrimPrefix(line, "# ")
|
||||||
|
if strings.ContainsAny(text, " \t") {
|
||||||
|
log.Fatal("sogou 过滤列表 包含空字符:", line)
|
||||||
|
}
|
||||||
|
// 加入过滤词列表
|
||||||
|
filterList.Add(text)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// downloadSogou 下载搜狗流行词加入到文件末尾,如果是新词且不在过滤列表,打印出来
|
||||||
|
func downloadSogou() {
|
||||||
|
// 下载
|
||||||
|
url := "https://pinyin.sogou.com/d/dict/download_cell.php?id=4&name=%E7%BD%91%E7%BB%9C%E6%B5%81%E8%A1%8C%E6%96%B0%E8%AF%8D%E3%80%90%E5%AE%98%E6%96%B9%E6%8E%A8%E8%8D%90%E3%80%91&f=detail"
|
||||||
|
|
||||||
|
// Get the data
|
||||||
|
resp, err := http.Get(url)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
defer resp.Body.Close()
|
||||||
|
|
||||||
|
// 创建一个文件用于保存
|
||||||
|
out, err := os.Create("./scel2txt/scel/sogou.scel")
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
defer out.Close()
|
||||||
|
|
||||||
|
// 然后将响应流和文件流对接起来
|
||||||
|
_, err = io.Copy(out, resp.Body)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 用 Python 进行转换
|
||||||
|
c := cmd.NewCommand("python3 scel2txt.py", cmd.WithWorkingDir("./scel2txt"))
|
||||||
|
err = c.Execute()
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(c.Stderr())
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
fmt.Printf(c.Stdout())
|
||||||
|
|
||||||
|
// 加入到现有词库的末尾
|
||||||
|
sogouFile, err := os.OpenFile(SogouPath, os.O_WRONLY|os.O_APPEND, 0644)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
defer sogouFile.Close()
|
||||||
|
download, err := os.ReadFile("./scel2txt/out/sogou.txt")
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
_, err = sogouFile.Write(download)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
err = sogouFile.Sync()
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// checkAndWrite 过滤、去重、排序
|
||||||
|
func checkAndWrite() {
|
||||||
|
// 打开文件
|
||||||
|
file, err := os.OpenFile(SogouPath, os.O_RDWR, 0644)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
|
// 前缀内容和词库切片,以 mark 隔开
|
||||||
|
prefixContents := make([]string, 0) // 前置内容切片
|
||||||
|
contents := make([]lemma, 0) // 词库切片
|
||||||
|
|
||||||
|
isMark := false
|
||||||
|
set := mapset.NewSet[string]() // 去重用的 set
|
||||||
|
sc := bufio.NewScanner(file)
|
||||||
|
for sc.Scan() {
|
||||||
|
line := sc.Text()
|
||||||
|
if !isMark {
|
||||||
|
prefixContents = append(prefixContents, line)
|
||||||
|
if strings.Contains(line, mark) {
|
||||||
|
isMark = true
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
// 分割
|
||||||
|
parts := strings.Split(line, "\t")
|
||||||
|
var text, code, weight string
|
||||||
|
switch len(parts) {
|
||||||
|
case 2:
|
||||||
|
text, code = parts[0], parts[1]
|
||||||
|
case 3:
|
||||||
|
text, code, weight = parts[0], parts[1], parts[2]
|
||||||
|
default:
|
||||||
|
log.Fatal("分割错误:", line)
|
||||||
|
}
|
||||||
|
// 过滤:两个字及以下的
|
||||||
|
if utf8.RuneCountInString(text) <= 2 {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
// 过滤:从过滤列表过滤掉
|
||||||
|
if filterList.Contains(text) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
// 过滤:去重
|
||||||
|
if set.Contains(text) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
set.Add(text)
|
||||||
|
// 过滤:main 中已经有的就不要了
|
||||||
|
if MainSet.Contains(text) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
// nue → nve,lue → lve
|
||||||
|
if strings.Contains(code, "nue") {
|
||||||
|
code = strings.ReplaceAll(code, "nue", "nve")
|
||||||
|
}
|
||||||
|
if strings.Contains(code, "lue") {
|
||||||
|
code = strings.ReplaceAll(code, "lue", "lve")
|
||||||
|
}
|
||||||
|
// 加入数组,没权重的默认给 DefaultWeight
|
||||||
|
if weight == "" {
|
||||||
|
contents = append(contents, lemma{text, code, DefaultWeight})
|
||||||
|
} else {
|
||||||
|
weightInt, err := strconv.Atoi(weight)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err, line)
|
||||||
|
}
|
||||||
|
contents = append(contents, lemma{text, code, weightInt})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 排序
|
||||||
|
sort.Slice(contents, func(i, j int) bool {
|
||||||
|
if contents[i].code != contents[j].code {
|
||||||
|
return contents[i].code < contents[j].code
|
||||||
|
}
|
||||||
|
if contents[i].text != contents[j].text {
|
||||||
|
return contents[i].text < contents[j].text
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
})
|
||||||
|
|
||||||
|
// 准备写入
|
||||||
|
err = file.Truncate(0)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
_, err = file.Seek(0, 0)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 写入前缀
|
||||||
|
for _, content := range prefixContents {
|
||||||
|
_, err := file.WriteString(content + "\n")
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 写入词库
|
||||||
|
for _, content := range contents {
|
||||||
|
_, err := file.WriteString(content.text + "\t" + content.code + "\t" + strconv.Itoa(content.weight) + "\n")
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
err = file.Sync()
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// PrintNewWords 打印新增词汇
|
||||||
|
func PrintNewWords() {
|
||||||
|
// 对比 sogou 的新旧 set,找出新词汇
|
||||||
|
newSet := readAndSet(SogouPath)
|
||||||
|
newWords := newSet.Difference(SogouSet)
|
||||||
|
if newWords.Cardinality() == 0 {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println("新增词汇:")
|
||||||
|
|
||||||
|
// 打印无注音的
|
||||||
|
// for _, word := range newWords.ToSlice() {
|
||||||
|
// fmt.Println(word)
|
||||||
|
// }
|
||||||
|
|
||||||
|
// 把注音也打出来,方便直接校对
|
||||||
|
file, err := os.Open(SogouPath)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
|
isMark := false
|
||||||
|
sc := bufio.NewScanner(file)
|
||||||
|
for sc.Scan() {
|
||||||
|
line := sc.Text()
|
||||||
|
if !isMark {
|
||||||
|
if strings.Contains(line, mark) {
|
||||||
|
isMark = true
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
text := strings.Split(line, "\t")[0]
|
||||||
|
if newWords.Contains(text) {
|
||||||
|
fmt.Println(line)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println("count: ", newWords.Cardinality())
|
||||||
|
|
||||||
|
// 更新全局的 set,方便后续的检查
|
||||||
|
SogouSet = newSet
|
||||||
|
}
|
||||||
@@ -0,0 +1,217 @@
|
|||||||
|
package rime
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"fmt"
|
||||||
|
mapset "github.com/deckarep/golang-set/v2"
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
"path"
|
||||||
|
"sort"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Sort 词库排序,顺便去重
|
||||||
|
// flag: 1 只有汉字,2 汉字+注音,3 汉字+注音+权重,4 汉字+权重。
|
||||||
|
func Sort(dictPath string, flag 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.Fatal(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()
|
||||||
|
// mark 之前的写入 prefixContents
|
||||||
|
if !isMark {
|
||||||
|
prefixContents = append(prefixContents, line)
|
||||||
|
if line == mark {
|
||||||
|
isMark = true
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
// 分割为 text、code、weight
|
||||||
|
parts := strings.Split(line, "\t")
|
||||||
|
text, code, weight := parts[0], "", ""
|
||||||
|
|
||||||
|
// 检查分割长度
|
||||||
|
if (flag == 1 || flag == 2 || flag == 3) && len(parts) != flag {
|
||||||
|
fmt.Println("分割错误123:", line)
|
||||||
|
}
|
||||||
|
if flag == 4 && len(parts) != 2 {
|
||||||
|
fmt.Println("分割错误4:", line)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将 main 中注释了但没删除的词汇权重调为 0
|
||||||
|
if dictPath == MainPath && strings.HasPrefix(line, "# ") {
|
||||||
|
parts[2] = "0"
|
||||||
|
}
|
||||||
|
|
||||||
|
// mark 之后的,写入到 contents
|
||||||
|
|
||||||
|
// 自身重复的直接排除,不重复的写入
|
||||||
|
switch flag {
|
||||||
|
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})
|
||||||
|
default:
|
||||||
|
log.Fatal("分割错误:", line)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 排序:拼音升序、权重降序、最后直接按 Unicode 编码排序
|
||||||
|
sort.Slice(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.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 字表、main 直接写入,不需要从其他词库去重
|
||||||
|
if dictPath == HanziPath || dictPath == MainPath {
|
||||||
|
for _, line := range contents {
|
||||||
|
_, err := file.WriteString(line.text + "\t" + line.code + "\t" + strconv.Itoa(line.weight) + "\n")
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 其他词库需要从一个或多个词库中去重后再写入
|
||||||
|
if dictPath == SogouPath || dictPath == ExtPath || dictPath == TencentPath {
|
||||||
|
var intersect mapset.Set[string] // 交集,有交集的就是重复的,去掉
|
||||||
|
switch dictPath {
|
||||||
|
case SogouPath: // sogou 有和 main 有重复
|
||||||
|
intersect = SogouSet.Intersect(MainSet)
|
||||||
|
case ExtPath: // ext 不和 main+sogou 有重复
|
||||||
|
intersect = ExtSet.Intersect(MainSet.Union(SogouSet))
|
||||||
|
case TencentPath:
|
||||||
|
intersect = TencentSet.Intersect(MainSet.Union(SogouSet).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
|
||||||
|
}
|
||||||
|
str := ""
|
||||||
|
if flag == 3 { // sogou
|
||||||
|
str = line.text + "\t" + line.code + "\t" + strconv.Itoa(line.weight) + "\n"
|
||||||
|
} else if flag == 4 { // ext tencent
|
||||||
|
str = line.text + "\t" + strconv.Itoa(line.weight) + "\n"
|
||||||
|
}
|
||||||
|
_, err := file.WriteString(str)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 外部词库或临时文件,只排序,不去重
|
||||||
|
if !contains([]string{HanziPath, MainPath, SogouPath, ExtPath, TencentPath}, dictPath) {
|
||||||
|
switch flag {
|
||||||
|
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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
err = file.Sync()
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,161 @@
|
|||||||
|
# 含有需要注音的字的列表:
|
||||||
|
# 例如在 ext tencent 无注音的词库中,检测到词库中有含有「伎俩」的词汇,但是没有注音,
|
||||||
|
# 列出来,手动注音放到 main 中。
|
||||||
|
欻
|
||||||
|
伎俩
|
||||||
|
万俟
|
||||||
|
会计
|
||||||
|
# 偻
|
||||||
|
龟兹
|
||||||
|
拱券
|
||||||
|
单于
|
||||||
|
单县
|
||||||
|
南无
|
||||||
|
参差
|
||||||
|
召陵
|
||||||
|
恐吓
|
||||||
|
恫吓
|
||||||
|
否极泰来
|
||||||
|
臧否
|
||||||
|
引吭
|
||||||
|
伸吭
|
||||||
|
伍员
|
||||||
|
呢子
|
||||||
|
呢料
|
||||||
|
呢喃
|
||||||
|
呢绒
|
||||||
|
呱呱坠地
|
||||||
|
尖沙咀
|
||||||
|
吟哦
|
||||||
|
哕哕
|
||||||
|
哪吒
|
||||||
|
啁哳
|
||||||
|
唼喋
|
||||||
|
嘁嘁喳喳
|
||||||
|
嘚儿
|
||||||
|
噌吰
|
||||||
|
尉犁
|
||||||
|
尉迟
|
||||||
|
工尺
|
||||||
|
崆峒
|
||||||
|
繁峙
|
||||||
|
巷道
|
||||||
|
弄堂
|
||||||
|
里弄
|
||||||
|
倔强
|
||||||
|
差忒
|
||||||
|
戆直
|
||||||
|
屈戌
|
||||||
|
扁舟
|
||||||
|
咋舌
|
||||||
|
咋呼
|
||||||
|
力能扛鼎
|
||||||
|
拾级
|
||||||
|
逼拶
|
||||||
|
提防
|
||||||
|
提溜
|
||||||
|
摩挲
|
||||||
|
南无
|
||||||
|
期年
|
||||||
|
期月
|
||||||
|
蚌山
|
||||||
|
白术
|
||||||
|
朴树
|
||||||
|
枞阳
|
||||||
|
枸橼
|
||||||
|
柜柳
|
||||||
|
柞水
|
||||||
|
栅极
|
||||||
|
栎阳
|
||||||
|
椑柿
|
||||||
|
殷红
|
||||||
|
沌阳
|
||||||
|
沌口
|
||||||
|
泌阳
|
||||||
|
泌城
|
||||||
|
洪洞
|
||||||
|
浚县
|
||||||
|
洴浰
|
||||||
|
溃脓
|
||||||
|
澹台
|
||||||
|
瀑河
|
||||||
|
# 炅
|
||||||
|
炮烙
|
||||||
|
犍为
|
||||||
|
番禺
|
||||||
|
碌碡
|
||||||
|
秘鲁
|
||||||
|
稽首
|
||||||
|
筠连
|
||||||
|
糜子
|
||||||
|
纶巾
|
||||||
|
自给
|
||||||
|
补给
|
||||||
|
给养
|
||||||
|
配给
|
||||||
|
家给人足
|
||||||
|
络子
|
||||||
|
绿林
|
||||||
|
鸭绿江
|
||||||
|
缉鞋口
|
||||||
|
缉边儿
|
||||||
|
缩砂密
|
||||||
|
纰缪
|
||||||
|
体胖
|
||||||
|
脉脉
|
||||||
|
腌臜
|
||||||
|
膀胱
|
||||||
|
膻中
|
||||||
|
无臭
|
||||||
|
乳臭
|
||||||
|
怨艾
|
||||||
|
自艾
|
||||||
|
艾安
|
||||||
|
芫
|
||||||
|
芾
|
||||||
|
茈
|
||||||
|
荑
|
||||||
|
荸荠
|
||||||
|
莎草
|
||||||
|
莘莘
|
||||||
|
莨
|
||||||
|
落枕
|
||||||
|
蔚县
|
||||||
|
枕藉
|
||||||
|
慰藉
|
||||||
|
蕴藉
|
||||||
|
蚌埠
|
||||||
|
裨
|
||||||
|
匕首见
|
||||||
|
匕见
|
||||||
|
解池
|
||||||
|
解数
|
||||||
|
卖解
|
||||||
|
解州
|
||||||
|
博闻强识
|
||||||
|
强识
|
||||||
|
游说
|
||||||
|
说客
|
||||||
|
句读
|
||||||
|
冠豸山
|
||||||
|
贲
|
||||||
|
趑趄
|
||||||
|
趵
|
||||||
|
蹊
|
||||||
|
迫击
|
||||||
|
铅山
|
||||||
|
饼铛
|
||||||
|
阿弥陀佛
|
||||||
|
阿房宫
|
||||||
|
不阿
|
||||||
|
阿胶
|
||||||
|
山阿
|
||||||
|
东阿
|
||||||
|
家雀
|
||||||
|
雀盲眼
|
||||||
|
脖颈
|
||||||
|
颉颃
|
||||||
|
驮子
|
||||||
|
龟兹
|
||||||
|
龟裂
|
||||||
|
般若
|
||||||
File diff suppressed because it is too large
Load Diff
Executable
+61
@@ -0,0 +1,61 @@
|
|||||||
|
# scel2txt
|
||||||
|
|
||||||
|
搜狗细胞词库转鼠须管(Rime)词库,使用 Python3 实现
|
||||||
|
|
||||||
|
## 使用
|
||||||
|
|
||||||
|
将从[搜狗官方词库网站](https://pinyin.sogou.com/dict/)下载的 `*.scel` 文件放入 `scel` 文件夹,然后运行
|
||||||
|
|
||||||
|
```shell
|
||||||
|
python3 scel2txt.py
|
||||||
|
```
|
||||||
|
|
||||||
|
## 生成的文件
|
||||||
|
|
||||||
|
* 后缀为 .txt 的同名词库文件
|
||||||
|
* 自动合并所有 *.txt 文件到 `luna_pinyin.sogou.dict.yaml`
|
||||||
|
|
||||||
|
|
||||||
|
## 搜狗细胞词库(scel格式文件) 格式说明
|
||||||
|
|
||||||
|
按照一定格式保存的 Unicode 编码文件,其中每两个字节表示一个字符(中文汉字或者英文字母)。
|
||||||
|
|
||||||
|
主要包括两部分:
|
||||||
|
|
||||||
|
1. 全局拼音表,在文件中的偏移值是 0x1540+4, 格式为 (py_idx, py_len, py_str)
|
||||||
|
- py_idx: 两个字节的整数,代表这个拼音的索引
|
||||||
|
- py_len: 两个字节的整数,拼音的字节长度
|
||||||
|
- py_str: 当前的拼音,每个字符两个字节,总长 py_len
|
||||||
|
|
||||||
|
2. 汉语词组表,在文件中的偏移值是 0x2628 或 0x26c4, 格式为 (word_count, py_idx_count, py_idx_data, (word_len, word_str, ext_len, ext){word_count}),其中 (word_len, word, ext_len, ext){word_count} 一共重复 word_count 次, 表示拼音的相同的词一共有 word_count 个
|
||||||
|
- word_count: 两个字节的整数,同音词数量
|
||||||
|
- py_idx_count: 两个字节的整数,拼音的索引个数
|
||||||
|
- py_idx_data: 两个字节表示一个整数,每个整数代表一个拼音的索引,拼音索引数
|
||||||
|
- word_len:两个字节的整数,代表中文词组字节数长度
|
||||||
|
- word_str: 汉语词组,每个中文汉字两个字节,总长度 word_len
|
||||||
|
- ext_len: 两个字节的整数,可能代表扩展信息的长度,好像都是 10
|
||||||
|
- ext: 扩展信息,一共 10 个字节,前两个字节是一个整数(不知道是不是词频),后八个字节全是 0,ext_len 和 ext 一共 12 个字节
|
||||||
|
|
||||||
|
|
||||||
|
## 目前已测试的词库
|
||||||
|
|
||||||
|
* [网络流行新词【官方推荐】](https://pinyin.sogou.com/dict/detail/index/4), 24923 个词
|
||||||
|
* [最详细的全国地名大全](https://pinyin.sogou.com/dict/detail/index/1316), 114572 个词
|
||||||
|
* [开发大神专用词库【官方推荐】](https://pinyin.sogou.com/dict/detail/index/75228), 430 个词
|
||||||
|
* [中国高等院校(大学)大全【官方推荐】](https://pinyin.sogou.com/dict/detail/index/20647), 7192 个词
|
||||||
|
* [宋词精选【官方推荐】](https://pinyin.sogou.com/dict/detail/index/3), 7297 个词
|
||||||
|
* [成语俗语【官方推荐】](https://pinyin.sogou.com/dict/detail/index/15097), 46785 个词
|
||||||
|
* [计算机词汇大全【官方推荐】](https://pinyin.sogou.com/dict/detail/index/15117), 10300 个词
|
||||||
|
* [论语大全【官方推荐】](https://pinyin.sogou.com/dict/detail/index/22406), 2907 个词
|
||||||
|
* [歇后语集锦【官方推荐】](https://pinyin.sogou.com/dict/detail/index/22418), 1926 个词
|
||||||
|
* [数学词汇大全【官方推荐】](https://pinyin.sogou.com/dict/detail/index/15202), 15992 个词
|
||||||
|
* [物理词汇大全【官方推荐】](https://pinyin.sogou.com/dict/detail/index/15203), 13107 个词
|
||||||
|
* [中国历史词汇大全【官方推荐】](https://pinyin.sogou.com/dict/detail/index/15130), 20526 个词
|
||||||
|
* [饮食大全【官方推荐】](https://pinyin.sogou.com/dict/detail/index/15201), 6918 个词
|
||||||
|
* [上海市城市信息精选](https://pinyin.sogou.com/dict/detail/index/19430), 37757 个词
|
||||||
|
* [linux少量术语](https://pinyin.sogou.com/dict/detail/index/225), 136 个词
|
||||||
|
|
||||||
|
## 参考资料
|
||||||
|
|
||||||
|
1. [scel2mmseg](https://raw.githubusercontent.com/archerhu/scel2mmseg/master/scel2mmseg.py)
|
||||||
|
2. [scel-to-txt](https://raw.githubusercontent.com/xwzhong/small-program/master/scel-to-txt/scel2txt.py)
|
||||||
Executable
+168
@@ -0,0 +1,168 @@
|
|||||||
|
"""
|
||||||
|
搜狗细胞词库转鼠须管(Rime)词库
|
||||||
|
|
||||||
|
搜狗的 scel 词库是按照一定格式保存的 Unicode 编码文件,其中每两个字节表示一个字符(中文汉字或者英文字母),主要两部分:
|
||||||
|
|
||||||
|
1. 全局拼音表,在文件中的偏移值是 0x1540+4, 格式为 (py_idx, py_len, py_str)
|
||||||
|
- py_idx: 两个字节的整数,代表这个拼音的索引
|
||||||
|
- py_len: 两个字节的整数,拼音的字节长度
|
||||||
|
- py_str: 当前的拼音,每个字符两个字节,总长 py_len
|
||||||
|
|
||||||
|
2. 汉语词组表,在文件中的偏移值是 0x2628 或 0x26c4, 格式为 (word_count, py_idx_count, py_idx_data, (word_len, word_str, ext_len, ext){word_count}),其中 (word_len, word, ext_len, ext){word_count} 一共重复 word_count 次, 表示拼音的相同的词一共有 word_count 个
|
||||||
|
- word_count: 两个字节的整数,同音词数量
|
||||||
|
- py_idx_count: 两个字节的整数,拼音的索引个数
|
||||||
|
- py_idx_data: 两个字节表示一个整数,每个整数代表一个拼音的索引,拼音索引数
|
||||||
|
- word_len:两个字节的整数,代表中文词组字节数长度
|
||||||
|
- word_str: 汉语词组,每个中文汉字两个字节,总长度 word_len
|
||||||
|
- ext_len: 两个字节的整数,可能代表扩展信息的长度,好像都是 10
|
||||||
|
- ext: 扩展信息,一共 10 个字节,前两个字节是一个整数(不知道是不是词频),后八个字节全是 0,ext_len 和 ext 一共 12 个字节
|
||||||
|
|
||||||
|
参考资料
|
||||||
|
1. https://raw.githubusercontent.com/archerhu/scel2mmseg/master/scel2mmseg.py
|
||||||
|
2. https://raw.githubusercontent.com/xwzhong/small-program/master/scel-to-txt/scel2txt.py
|
||||||
|
"""
|
||||||
|
import struct
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
def read_utf16_str(f, offset=-1, len=2):
|
||||||
|
if offset >= 0:
|
||||||
|
f.seek(offset)
|
||||||
|
string = f.read(len)
|
||||||
|
return string.decode('UTF-16LE')
|
||||||
|
|
||||||
|
|
||||||
|
def read_uint16(f):
|
||||||
|
return struct.unpack('<H', f.read(2))[0]
|
||||||
|
|
||||||
|
|
||||||
|
def get_hz_offset(f):
|
||||||
|
mask = f.read(128)[4]
|
||||||
|
if mask == 0x44:
|
||||||
|
return 0x2628
|
||||||
|
elif mask == 0x45:
|
||||||
|
return 0x26c4
|
||||||
|
else:
|
||||||
|
print("不支持的文件类型(无法获取汉语词组的偏移量)")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
def get_dict_meta(f):
|
||||||
|
title = read_utf16_str(f, 0x130, 0x338 - 0x130)
|
||||||
|
category = read_utf16_str(f, 0x338, 0x540 - 0x338)
|
||||||
|
desc = read_utf16_str(f, 0x540, 0xd40 - 0x540)
|
||||||
|
samples = read_utf16_str(f, 0xd40, 0x1540 - 0xd40)
|
||||||
|
return title, category, desc, samples
|
||||||
|
|
||||||
|
|
||||||
|
def get_py_map(f):
|
||||||
|
py_map = {}
|
||||||
|
f.seek(0x1540+4)
|
||||||
|
|
||||||
|
while True:
|
||||||
|
py_idx = read_uint16(f)
|
||||||
|
py_len = read_uint16(f)
|
||||||
|
py_str = read_utf16_str(f, -1, py_len)
|
||||||
|
|
||||||
|
if py_idx not in py_map:
|
||||||
|
py_map[py_idx] = py_str
|
||||||
|
|
||||||
|
# 如果拼音为 zuo,说明是最后一个了
|
||||||
|
if py_str == 'zuo':
|
||||||
|
break
|
||||||
|
return py_map
|
||||||
|
|
||||||
|
|
||||||
|
def get_records(f, file_size, hz_offset, py_map):
|
||||||
|
f.seek(hz_offset)
|
||||||
|
records = []
|
||||||
|
while f.tell() != file_size:
|
||||||
|
word_count = read_uint16(f)
|
||||||
|
py_idx_count = int(read_uint16(f) / 2)
|
||||||
|
|
||||||
|
py_set = []
|
||||||
|
for i in range(py_idx_count):
|
||||||
|
py_idx = read_uint16(f)
|
||||||
|
if (py_map.get(py_idx, None) == None):
|
||||||
|
return records
|
||||||
|
py_set.append(py_map[py_idx])
|
||||||
|
py_str = " ".join(py_set)
|
||||||
|
|
||||||
|
for i in range(word_count):
|
||||||
|
word_len = read_uint16(f)
|
||||||
|
word_str = read_utf16_str(f, -1, word_len)
|
||||||
|
|
||||||
|
# 跳过 ext_len 和 ext 共 12 个字节
|
||||||
|
f.read(12)
|
||||||
|
records.append((py_str, word_str))
|
||||||
|
return records
|
||||||
|
|
||||||
|
|
||||||
|
def get_words_from_sogou_cell_dict(fname):
|
||||||
|
with open(fname, 'rb') as f:
|
||||||
|
hz_offset = get_hz_offset(f)
|
||||||
|
|
||||||
|
(title, category, desc, samples) = get_dict_meta(f)
|
||||||
|
#print("title: %s\ncategory: %s\ndesc: %s\nsamples: %s" %
|
||||||
|
# (title, category, desc, samples))
|
||||||
|
|
||||||
|
py_map = get_py_map(f)
|
||||||
|
|
||||||
|
file_size = os.path.getsize(fname)
|
||||||
|
words = get_records(f, file_size, hz_offset, py_map)
|
||||||
|
return words
|
||||||
|
|
||||||
|
|
||||||
|
def save(records, f):
|
||||||
|
records_translated = list(map(lambda x: "%s\t%s" % (
|
||||||
|
x[1], x[0]), records))
|
||||||
|
f.write("\n".join(records_translated))
|
||||||
|
return records_translated
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
# 将要转换的词库添加在 scel 目录下
|
||||||
|
scel_files = list(filter(lambda x: x.endswith('.scel'), [
|
||||||
|
i for i in os.listdir("./scel")]))
|
||||||
|
|
||||||
|
dict_file = "luna_pinyin.sogou.dict.yaml"
|
||||||
|
dict_file_content = []
|
||||||
|
dict_file_header = """# Rime dictionary
|
||||||
|
# encoding: utf-8
|
||||||
|
#
|
||||||
|
# Sogou Pinyin Dict - 搜狗细胞词库
|
||||||
|
#
|
||||||
|
# https://pinyin.sogou.com/dict/
|
||||||
|
#
|
||||||
|
# 包括:
|
||||||
|
#
|
||||||
|
%s
|
||||||
|
#
|
||||||
|
|
||||||
|
---
|
||||||
|
name: luna_pinyin.sogou
|
||||||
|
version: "1.0"
|
||||||
|
sort: by_weight
|
||||||
|
use_preset_vocabulary: true
|
||||||
|
...
|
||||||
|
"""
|
||||||
|
sougo_dict_name_list = list(
|
||||||
|
map(lambda x: "# * %s" % x.replace(".scel", ""), scel_files))
|
||||||
|
dict_file_content.append(dict_file_header % "\n".join(sougo_dict_name_list))
|
||||||
|
|
||||||
|
for scel_file in scel_files:
|
||||||
|
records = get_words_from_sogou_cell_dict(
|
||||||
|
os.path.join("./scel", scel_file))
|
||||||
|
print("下载搜狗流行词 %s: %s 个词" % (scel_file, len(records)))
|
||||||
|
with open(os.path.join("./out", scel_file.replace(".scel", ".txt")), "w") as fout:
|
||||||
|
dict_file_content.extend(save(records, fout))
|
||||||
|
# print("-"*80)
|
||||||
|
|
||||||
|
# print("合并后 %s: %s 个词" % (dict_file, len(dict_file_content) - 1))
|
||||||
|
with open(os.path.join("./out", dict_file), "w") as dictfout:
|
||||||
|
dictfout.write("\n".join(dict_file_content))
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
@@ -0,0 +1,238 @@
|
|||||||
|
-- Rime lua 扩展:https://github.com/hchunhui/librime-lua
|
||||||
|
-------------------------------------------------------------
|
||||||
|
-- 日期时间
|
||||||
|
-- 提高权重的原因:因为在方案中设置了大于 1 的 initial_quality,导致 rq sj xq dt ts 产出的候选项在所有词语的最后。
|
||||||
|
function date_translator(input, seg)
|
||||||
|
-- 日期
|
||||||
|
if (input == "rq") then
|
||||||
|
local cand = Candidate("date", seg.start, seg._end, os.date("%Y-%m-%d"), "")
|
||||||
|
cand.quality = 100
|
||||||
|
yield(cand)
|
||||||
|
local cand = Candidate("date", seg.start, seg._end, os.date("%Y/%m/%d"), "")
|
||||||
|
cand.quality = 100
|
||||||
|
yield(cand)
|
||||||
|
local cand = Candidate("date", seg.start, seg._end, os.date("%Y.%m.%d"), "")
|
||||||
|
cand.quality = 100
|
||||||
|
yield(cand)
|
||||||
|
local cand = Candidate("date", seg.start, seg._end, os.date("%Y 年 %m 月 %d 日"), "")
|
||||||
|
cand.quality = 100
|
||||||
|
yield(cand)
|
||||||
|
end
|
||||||
|
-- 时间
|
||||||
|
if (input == "sj") then
|
||||||
|
local cand = Candidate("time", seg.start, seg._end, os.date("%H:%M"), "")
|
||||||
|
cand.quality = 100
|
||||||
|
yield(cand)
|
||||||
|
local cand = Candidate("time", seg.start, seg._end, os.date("%H:%M:%S"), "")
|
||||||
|
cand.quality = 100
|
||||||
|
yield(cand)
|
||||||
|
end
|
||||||
|
-- 星期
|
||||||
|
if (input == "xq") then
|
||||||
|
local weakTab = {'日', '一', '二', '三', '四', '五', '六'}
|
||||||
|
local cand = Candidate("week", seg.start, seg._end, "周" .. weakTab[tonumber(os.date("%w") + 1)], "")
|
||||||
|
cand.quality = 100
|
||||||
|
yield(cand)
|
||||||
|
local cand = Candidate("week", seg.start, seg._end, "星期" .. weakTab[tonumber(os.date("%w") + 1)], "")
|
||||||
|
cand.quality = 100
|
||||||
|
yield(cand)
|
||||||
|
end
|
||||||
|
-- ISO 8601/RFC 3339 的时间格式 (固定东八区)(示例 2022-01-07T20:42:51+08:00)
|
||||||
|
if (input == "dt") then
|
||||||
|
local cand = Candidate("datetime", seg.start, seg._end, os.date("%Y-%m-%dT%H:%M:%S+08:00"), "")
|
||||||
|
cand.quality = 100
|
||||||
|
yield(cand)
|
||||||
|
local cand = Candidate("time", seg.start, seg._end, os.date("%Y%m%d%H%M%S"), "")
|
||||||
|
cand.quality = 100
|
||||||
|
yield(cand)
|
||||||
|
end
|
||||||
|
-- 时间戳(十位数,到秒,示例 1650861664)
|
||||||
|
if (input == "ts") then
|
||||||
|
local cand = Candidate("datetime", seg.start, seg._end, os.time(), "")
|
||||||
|
cand.quality = 100
|
||||||
|
yield(cand)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
-------------------------------------------------------------
|
||||||
|
-- 以词定字
|
||||||
|
-- https://github.com/BlindingDark/rime-lua-select-character
|
||||||
|
-- 删除了默认按键,需要在 key_binder(default.custom.yaml)下设置
|
||||||
|
local function utf8_sub(s, i, j)
|
||||||
|
i = i or 1
|
||||||
|
j = j or -1
|
||||||
|
|
||||||
|
if i < 1 or j < 1 then
|
||||||
|
local n = utf8.len(s)
|
||||||
|
if not n then
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
if i < 0 then
|
||||||
|
i = n + 1 + i
|
||||||
|
end
|
||||||
|
if j < 0 then
|
||||||
|
j = n + 1 + j
|
||||||
|
end
|
||||||
|
if i < 0 then
|
||||||
|
i = 1
|
||||||
|
elseif i > n then
|
||||||
|
i = n
|
||||||
|
end
|
||||||
|
if j < 0 then
|
||||||
|
j = 1
|
||||||
|
elseif j > n then
|
||||||
|
j = n
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if j < i then
|
||||||
|
return ""
|
||||||
|
end
|
||||||
|
|
||||||
|
i = utf8.offset(s, i)
|
||||||
|
j = utf8.offset(s, j + 1)
|
||||||
|
|
||||||
|
if i and j then
|
||||||
|
return s:sub(i, j - 1)
|
||||||
|
elseif i then
|
||||||
|
return s:sub(i)
|
||||||
|
else
|
||||||
|
return ""
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function first_character(s)
|
||||||
|
return utf8_sub(s, 1, 1)
|
||||||
|
end
|
||||||
|
|
||||||
|
local function last_character(s)
|
||||||
|
return utf8_sub(s, -1, -1)
|
||||||
|
end
|
||||||
|
|
||||||
|
function select_character(key, env)
|
||||||
|
local engine = env.engine
|
||||||
|
local context = engine.context
|
||||||
|
local commit_text = context:get_commit_text()
|
||||||
|
local config = engine.schema.config
|
||||||
|
|
||||||
|
-- local first_key = config:get_string('key_binder/select_first_character') or 'bracketleft'
|
||||||
|
-- local last_key = config:get_string('key_binder/select_last_character') or 'bracketright'
|
||||||
|
local first_key = config:get_string('key_binder/select_first_character')
|
||||||
|
local last_key = config:get_string('key_binder/select_last_character')
|
||||||
|
|
||||||
|
if (key:repr() == first_key and commit_text ~= "") then
|
||||||
|
engine:commit_text(first_character(commit_text))
|
||||||
|
context:clear()
|
||||||
|
|
||||||
|
return 1 -- kAccepted
|
||||||
|
end
|
||||||
|
|
||||||
|
if (key:repr() == last_key and commit_text ~= "") then
|
||||||
|
engine:commit_text(last_character(commit_text))
|
||||||
|
context:clear()
|
||||||
|
|
||||||
|
return 1 -- kAccepted
|
||||||
|
end
|
||||||
|
|
||||||
|
return 2 -- kNoop
|
||||||
|
end
|
||||||
|
-------------------------------------------------------------
|
||||||
|
-- 长词优先(提升「西安」「提案」「图案」「饥饿」等词汇的优先级)
|
||||||
|
-- 感谢&参考于: https://github.com/tumuyan/rime-melt
|
||||||
|
-- 修改:不提升英文和中英混输的
|
||||||
|
function long_word_filter(input)
|
||||||
|
-- 目前的效果:将 2 个词插入到第 4、5 个候选项
|
||||||
|
local count = 2 -- 提升 count 个词语
|
||||||
|
local idx = 4 -- 插入到第 idx 位
|
||||||
|
|
||||||
|
local l = {}
|
||||||
|
local firstWordLength = 0 -- 记录第一个候选词的长度,提前的候选词至少要比第一个候选词长
|
||||||
|
-- local s1 = 0 -- 记录筛选了多少个英语词条(只提升 count 个词的权重,并且对comment长度过长的候选进行过滤)
|
||||||
|
local s2 = 0 -- 记录筛选了多少个汉语词条(只提升 count 个词的权重)
|
||||||
|
|
||||||
|
local i = 1
|
||||||
|
for cand in input:iter() do
|
||||||
|
leng = utf8.len(cand.text)
|
||||||
|
if (firstWordLength < 1 or i < idx) then
|
||||||
|
i = i + 1
|
||||||
|
firstWordLength = leng
|
||||||
|
yield(cand)
|
||||||
|
-- 不知道这两行是干嘛用的,似乎注释掉也没有影响。
|
||||||
|
-- elseif #table > 30 then
|
||||||
|
-- table.insert(l, cand)
|
||||||
|
-- 注释掉了英文的
|
||||||
|
-- elseif ((leng > firstWordLength) and (s1 < 2)) and (string.find(cand.text, "^[%w%p%s]+$")) then
|
||||||
|
-- s1 = s1 + 1
|
||||||
|
-- if (string.len(cand.text) / string.len(cand.comment) > 1.5) then
|
||||||
|
-- yield(cand)
|
||||||
|
-- end
|
||||||
|
-- 换了个正则,否则中英混输的也会被提升
|
||||||
|
-- elseif ((leng > firstWordLength) and (s2 < count)) and (string.find(cand.text, "^[%w%p%s]+$")==nil) then
|
||||||
|
elseif ((leng > firstWordLength) and (s2 < count)) and (string.find(cand.text, "[%w%p%s]+") == nil) then
|
||||||
|
yield(cand)
|
||||||
|
s2 = s2 + 1
|
||||||
|
else
|
||||||
|
table.insert(l, cand)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
for i, cand in ipairs(l) do
|
||||||
|
yield(cand)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
-------------------------------------------------------------
|
||||||
|
-- 因为英文方案的 initial_quality 大于 1,导致输入「va」时,候选项是「van vain。。。」
|
||||||
|
-- 单字优先,候选项应改为「ā á ǎ à」
|
||||||
|
--
|
||||||
|
-- 不知道这个方法为什么不行啊???
|
||||||
|
-- function v_single_char_first_filter(input)
|
||||||
|
-- if (string.find(input, "v") == 1 and string.len(input) == 2) then
|
||||||
|
-- local l = {}
|
||||||
|
-- for cand in input:iter() do
|
||||||
|
-- if (utf8.len(cand.text) == 1) then
|
||||||
|
-- yield(cand)
|
||||||
|
-- else
|
||||||
|
-- table.insert(l, cand)
|
||||||
|
-- end
|
||||||
|
-- end
|
||||||
|
-- for cand in ipairs(l) do
|
||||||
|
-- yield(cand)
|
||||||
|
-- end
|
||||||
|
-- end
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- 反正是解决了,不知道怎么就解决了,就是最后多一个候选项,没多大影响。
|
||||||
|
function v_single_char_first_filter(input, seg)
|
||||||
|
if (string.find(input, "v") == 1 and string.len(input) == 2) then
|
||||||
|
yield(Candidate("", seg.start, seg._end, "", ""))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
-------------------------------------------------------------
|
||||||
|
-- iRime 九宫格专用,将输入框的数字转为对应的拼音或英文
|
||||||
|
function irime_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
|
||||||
|
-------------------------------------------------------------
|
||||||
|
-- 限制码长(最多能输入 length_limit 个字符,超过后不再上屏,不设置时默认 100)
|
||||||
|
-- 参考于:https://github.com/rime/weasel/issues/733
|
||||||
|
function code_length_limit_processor(key, env)
|
||||||
|
local ctx = env.engine.context
|
||||||
|
local config = env.engine.schema.config
|
||||||
|
-- 限制
|
||||||
|
local length_limit = config:get_string(env.name_space) or 100
|
||||||
|
if (length_limit ~= nil) then
|
||||||
|
if (string.len(ctx.input) > tonumber(length_limit)) then
|
||||||
|
-- ctx:clear()
|
||||||
|
ctx:pop_input(1) -- 删除输入框中最后个编码字符
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
-- 放行
|
||||||
|
return 2
|
||||||
|
end
|
||||||
|
-------------------------------------------------------------
|
||||||
Executable
+15
@@ -0,0 +1,15 @@
|
|||||||
|
# Rime dictionary
|
||||||
|
# encoding: utf-8
|
||||||
|
|
||||||
|
---
|
||||||
|
name: rime_ice
|
||||||
|
version: "1"
|
||||||
|
import_tables:
|
||||||
|
- cn_dicts/8105 # 字表
|
||||||
|
- cn_dicts/base # 基础词库
|
||||||
|
- cn_dicts/sogou # 搜狗流行词,与 main 没有重复
|
||||||
|
- cn_dicts/ext # 扩展词库,与 main sogou 没有重复
|
||||||
|
- cn_dicts/tencent # 腾讯词向量,与 main sogou ext 没有重复,大词库,部署时间较长。
|
||||||
|
- cn_dicts/others # 一些杂项
|
||||||
|
- cn_dicts/private # *******私人词库(联系人之类的),请删除此行再部署,否则鼠须管会报错,小狼毫会只能输入英文******* #
|
||||||
|
...
|
||||||
Executable
+304
@@ -0,0 +1,304 @@
|
|||||||
|
# Rime schema
|
||||||
|
# encoding: utf-8
|
||||||
|
|
||||||
|
|
||||||
|
# 方案说明
|
||||||
|
schema:
|
||||||
|
schema_id: rime_ice
|
||||||
|
name: 雾凇拼音
|
||||||
|
version: "1.0.0"
|
||||||
|
author:
|
||||||
|
- Dvel
|
||||||
|
description: |
|
||||||
|
https://github.com/iDvel/rime-ice
|
||||||
|
dependencies:
|
||||||
|
- melt_eng
|
||||||
|
- liangfen
|
||||||
|
|
||||||
|
|
||||||
|
# 功能开关
|
||||||
|
switches:
|
||||||
|
- name: ascii_mode
|
||||||
|
states: [ 中文, 英文 ]
|
||||||
|
reset: 0
|
||||||
|
- name: full_shape
|
||||||
|
states: [ 半角, 全角 ]
|
||||||
|
reset: 0
|
||||||
|
- name: ascii_punct
|
||||||
|
states: [ 中文标点, 英文标点 ]
|
||||||
|
reset: 0
|
||||||
|
- name: traditionalization
|
||||||
|
states: [ 简体, 繁體 ]
|
||||||
|
reset: 0
|
||||||
|
- name: emoji
|
||||||
|
states: [ 💀, 😄 ]
|
||||||
|
reset: 1
|
||||||
|
|
||||||
|
|
||||||
|
# 输入引擎
|
||||||
|
engine:
|
||||||
|
processors:
|
||||||
|
- lua_processor@select_character # 以词定字
|
||||||
|
- lua_processor@code_length_limit_processor@code_length_limit # 限制码长
|
||||||
|
- ascii_composer
|
||||||
|
- recognizer
|
||||||
|
- key_binder
|
||||||
|
- speller
|
||||||
|
- punctuator
|
||||||
|
- selector
|
||||||
|
- navigator
|
||||||
|
- express_editor
|
||||||
|
segmentors:
|
||||||
|
- ascii_segmentor
|
||||||
|
- matcher
|
||||||
|
- abc_segmentor
|
||||||
|
- punct_segmentor
|
||||||
|
- fallback_segmentor
|
||||||
|
translators:
|
||||||
|
- punct_translator
|
||||||
|
- script_translator
|
||||||
|
- lua_translator@v_single_char_first_filter # v 模式 symbols 优先(否则是英文优先)
|
||||||
|
- lua_translator@date_translator # 时间、日期、星期
|
||||||
|
- table_translator@custom_phrase # 自定义短语(固顶字) custom_phrase.txt
|
||||||
|
- table_translator@melt_eng # 英文输入
|
||||||
|
- reverse_lookup_translator@liangfen # 反查,两分拼字
|
||||||
|
filters:
|
||||||
|
- lua_filter@long_word_filter # 长词优先
|
||||||
|
- simplifier@emoji # Emoji
|
||||||
|
- simplifier@traditionalize # 简繁切换
|
||||||
|
- uniquifier # 去重
|
||||||
|
|
||||||
|
|
||||||
|
# 限制码长,默认 100。(最多能输入 code_length_limit 个字符)
|
||||||
|
# code_length_limit: 100
|
||||||
|
|
||||||
|
|
||||||
|
# 从 default 继承快捷键
|
||||||
|
key_binder:
|
||||||
|
import_preset: default
|
||||||
|
# bindings: # 也可以增加方案专属的快捷键
|
||||||
|
|
||||||
|
|
||||||
|
# Emoji
|
||||||
|
emoji:
|
||||||
|
opencc_config: emoji.json
|
||||||
|
option_name: emoji
|
||||||
|
|
||||||
|
|
||||||
|
# 简繁切换
|
||||||
|
traditionalize:
|
||||||
|
opencc_config: s2t.json # s2t.json | s2hk.json | s2tw.json | s2twp.json 参考 https://github.com/BYVoid/OpenCC
|
||||||
|
option_name: traditionalization
|
||||||
|
tips: all # 转换提示(即是否显示繁体对应的简体): all 都显示 | char 仅单字显示 | none 不显示。
|
||||||
|
|
||||||
|
|
||||||
|
# 自定义短语(固顶字):custom_phrase.txt
|
||||||
|
custom_phrase:
|
||||||
|
dictionary: ""
|
||||||
|
user_dict: custom_phrase
|
||||||
|
db_class: stabledb
|
||||||
|
enable_completion: false # 补全提示
|
||||||
|
enable_sentence: false # 禁止造句
|
||||||
|
initial_quality: 99 # custom_phrase 的权重应该比 pinyin 和 melt_eng 大。
|
||||||
|
|
||||||
|
|
||||||
|
# 挂载拼音主词库
|
||||||
|
translator:
|
||||||
|
dictionary: rime_ice
|
||||||
|
preedit_format: # preedit_format 影响到输入框的显示和“Shift+回车”上屏的字符
|
||||||
|
- xform/([jqxy])v/$1u/ # 显示为 ju qu xu yu
|
||||||
|
# - xform/([nl])v/$1ü/ # 显示为 nü lü
|
||||||
|
# - xform/([nl])ue/$1üe/ # 显示为 nüe lüe
|
||||||
|
- xform/([nl])v/$1v/ # 显示为 nv lv
|
||||||
|
- xform/([nl])ue/$1ve/ # 显示为 nve lve
|
||||||
|
initial_quality: 1.2 # 拼音的权重应该比英文大
|
||||||
|
|
||||||
|
|
||||||
|
# 英文输入方案
|
||||||
|
melt_eng:
|
||||||
|
dictionary: melt_eng
|
||||||
|
spelling_hints: 9
|
||||||
|
enable_completion: true # 补全提示
|
||||||
|
enable_sentence: false # 禁止造句
|
||||||
|
enable_user_dict: false # 禁用用户词典
|
||||||
|
initial_quality: 1.1
|
||||||
|
|
||||||
|
|
||||||
|
# 八股文
|
||||||
|
grammar:
|
||||||
|
language: zh-hans-t-essay-bgw
|
||||||
|
translator/contextual_suggestions: true
|
||||||
|
translator/max_homophones: 7
|
||||||
|
translator/max_homographs: 7
|
||||||
|
|
||||||
|
|
||||||
|
# 引入自己的修改过的 symbols
|
||||||
|
punctuator:
|
||||||
|
# import_preset: symbols
|
||||||
|
import_preset: symbols_custom # 标点符号和 v 模式在里面
|
||||||
|
|
||||||
|
|
||||||
|
# 处理符合特定规则的输入码,如网址、反查
|
||||||
|
recognizer:
|
||||||
|
patterns:
|
||||||
|
email: "^[A-Za-z][-_.0-9A-Za-z]*@.*$"
|
||||||
|
uppercase: "[A-Z][-_+.'0-9A-Za-z]*$"
|
||||||
|
url: "^(www[.]|https?:|ftp[.:]|mailto:|file:).*$|^[a-z]+[.].+$"
|
||||||
|
url_2: "^[a-z]+[.].*" # 支持 google.com(不以 www 开头)的网址,会导致句号不会让句子上屏,或使用句号翻页时需要注释掉
|
||||||
|
win_path: "^[A-Za-z]:.*" # 支持 c:\file\path 之类的路径输入
|
||||||
|
colon: "^[A-Za-z]+:.*" # 上面的超集,冒号在句子中不直接上屏
|
||||||
|
# punct: "^/([0-9]+[a-z]*|[a-z]+)$"
|
||||||
|
punct: "^v([0-9]|10|[A-Za-z]+)$" # 用「v」替换「/」并支持大写
|
||||||
|
reverse_lookup: "^u[A-Za-z]+$" # 响应两分的反查
|
||||||
|
|
||||||
|
|
||||||
|
# 反查:两分(拼字)
|
||||||
|
liangfen:
|
||||||
|
dictionary: liangfen
|
||||||
|
prefix: "u" # 以 u 开头来反查
|
||||||
|
spelling_hints: 9
|
||||||
|
enable_completion: true # 补全提示
|
||||||
|
# tips: 〔两分〕
|
||||||
|
|
||||||
|
|
||||||
|
# 拼写设定
|
||||||
|
speller:
|
||||||
|
# 如果不想让什么标点直接上屏,可以加在 alphabet,或者编辑标点符号为两个及以上的映射
|
||||||
|
alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
|
||||||
|
delimiter: " '"
|
||||||
|
algebra:
|
||||||
|
### 模糊音
|
||||||
|
# 声母
|
||||||
|
# - derive/^([zcs])h/$1/ # z c s → zh ch sh
|
||||||
|
# - derive/^([zcs])([^h])/$1h$2/ # zh ch sh → z c s
|
||||||
|
# - derive/^l/n/ # n → l
|
||||||
|
# - derive/^n/l/ # l → n
|
||||||
|
# - derive/^f/h/ # …………
|
||||||
|
# - derive/^h/f/ # …………
|
||||||
|
# - derive/^l/r/
|
||||||
|
# - derive/^r/l/
|
||||||
|
# - derive/^g/k/
|
||||||
|
# - derive/^k/g/
|
||||||
|
# 韵母
|
||||||
|
# - derive/ang/an/
|
||||||
|
# - derive/an/ang/
|
||||||
|
# - derive/eng/en/
|
||||||
|
# - derive/en/eng/
|
||||||
|
# - derive/in/ing/
|
||||||
|
# - derive/ing/in/
|
||||||
|
# - derive/ian/iang/
|
||||||
|
# - derive/iang/ian/
|
||||||
|
# - derive/uan/uang/
|
||||||
|
# - derive/uang/uan/
|
||||||
|
# - derive/ai/an/
|
||||||
|
# - derive/an/ai/
|
||||||
|
# - derive/ong/un/
|
||||||
|
# - derive/un/ong/
|
||||||
|
# - derive/ong/on/
|
||||||
|
# - derive/iong/un/
|
||||||
|
# - derive/un/iong/
|
||||||
|
# - derive/ong/eng/
|
||||||
|
# - derive/eng/ong/
|
||||||
|
# 拼音音节
|
||||||
|
# - derive/^fei$/hui/
|
||||||
|
# - derive/^hui$/fei/
|
||||||
|
# - derive/^hu$/fu/
|
||||||
|
# - derive/^fu$/hu/
|
||||||
|
# - derive/^wang$/huang/
|
||||||
|
# - derive/^huang$/wang/
|
||||||
|
|
||||||
|
### 旧时的拼写规则
|
||||||
|
# - derive/un$/uen/
|
||||||
|
# - derive/ui$/uei/
|
||||||
|
# - derive/iu$/iou/
|
||||||
|
|
||||||
|
### 超级简拼
|
||||||
|
- erase/^hm$/ # 响应超级简拼,取消「噷 hm」的独占
|
||||||
|
- erase/^m$/ # 响应超级简拼,取消「呣 m」的独占
|
||||||
|
- erase/^n$/ # 响应超级简拼,取消「嗯 n」的独占
|
||||||
|
- erase/^ng$/ # 响应超级简拼,取消「嗯 ng」的独占
|
||||||
|
- abbrev/^([a-z]).+$/$1/ # 超级简拼
|
||||||
|
- abbrev/^([zcs]h).+$/$1/ # 超级简拼中,zh ch sh 视为整体(ch'sh → 城市),而不是像这样分开(c'h's'h → 吃好睡好)。
|
||||||
|
|
||||||
|
### v u 转换,增加对词库中「nue/nve」「qu/qv」等不同注音的支持
|
||||||
|
- derive/^([nl])ue$/$1ve/
|
||||||
|
- derive/^([nl])ve$/$1ue/
|
||||||
|
- derive/^([jqxy])u/$1v/
|
||||||
|
- derive/^([jqxy])v/$1u/
|
||||||
|
|
||||||
|
### 自动纠错
|
||||||
|
# 有些规则对全拼简拼混输有副作用:如「x'ai 喜爱」被纠错为「xia 下」
|
||||||
|
# zh、ch、sh
|
||||||
|
- derive/([zcs])h(a|e|i|u|ai|ei|an|en|ou|uo|ua|un|ui|uan|uai|uang|ang|eng|ong)$/h$1$2/ # hzi → zhi
|
||||||
|
- derive/([zcs])h([aeiu])$/$1$2h/ # zih → zhi
|
||||||
|
# ai
|
||||||
|
- derive/^([wghkzc])ai$/$1ia/ # wia → wai
|
||||||
|
# ia
|
||||||
|
- derive/([qjx])ia$/$1ai/ # qai → qia
|
||||||
|
# ei
|
||||||
|
- derive/([wtfghkz])ei$/$1ie/
|
||||||
|
# ie
|
||||||
|
- derive/([jqx])ie$/$1ei/
|
||||||
|
# ao
|
||||||
|
- derive/([rtypsdghklzcbnm])ao$/$1oa/
|
||||||
|
# ou
|
||||||
|
- derive/([ypfm])ou$/$1uo/
|
||||||
|
# uo(无)
|
||||||
|
# an
|
||||||
|
- derive/([wrtypsfghklzcbnm])an$/$1na/ # 去掉了 n,不转换常用单词 DNA
|
||||||
|
# en
|
||||||
|
- derive/([wrpsdfghklzcbnm])en$/$1ne/
|
||||||
|
# ang
|
||||||
|
- derive/([wrtypsdfghklzcbnm])ang$/$1nag/
|
||||||
|
- derive/([wrtypsdfghklzcbnm])ang$/$1agn/
|
||||||
|
# eng
|
||||||
|
- derive/([wrtpsdfghklzcbnm])eng$/$1neg/
|
||||||
|
- derive/([wrtpsdfghklzcbnm])eng$/$1egn/
|
||||||
|
# ing
|
||||||
|
- derive/([qtypdjlxbnm])ing$/$1nig/
|
||||||
|
- derive/([qtypdjlxbnm])ing$/$1ign/
|
||||||
|
# ong
|
||||||
|
- derive/([rtysdghklzcn])ong$/$1nog/
|
||||||
|
- derive/([rtysdghklzcn])ong$/$1ogn/
|
||||||
|
# iao
|
||||||
|
- derive/([qtpdjlxbnm])iao$/$1ioa/
|
||||||
|
- derive/([qtpdjlxbnm])iao$/$1oia/
|
||||||
|
# ui
|
||||||
|
- derive/([rtsghkzc])ui$/$1iu/
|
||||||
|
# iu
|
||||||
|
- derive/([qjlxnm])iu$/$1ui/
|
||||||
|
# ian
|
||||||
|
- derive/([qtpdjlxbnm])ian$/$1ain/
|
||||||
|
# - derive/([qtpdjlxbnm])ian$/$1ina/ # 和「李娜、蒂娜、缉拿」等常用词有冲突
|
||||||
|
# in
|
||||||
|
- derive/([qypjlxbnm])in$/$1ni/
|
||||||
|
# iang
|
||||||
|
- derive/([qjlxn])iang$/$1aing/
|
||||||
|
- derive/([qjlxn])iang$/$1inag/
|
||||||
|
# ua
|
||||||
|
- derive/([g|k|h|zh|sh])ua$/$1au/
|
||||||
|
# uai
|
||||||
|
- derive/([g|h|k|zh|ch|sh])uai$/$1aui/
|
||||||
|
- derive/([g|h|k|zh|ch|sh])uai$/$1uia/
|
||||||
|
# uan
|
||||||
|
- derive/([qrtysdghjklzxcn])uan$/$1aun/
|
||||||
|
# - derive/([qrtysdghjklzxcn])uan$/$1una/ # 和「去哪、露娜」等常用词有冲突
|
||||||
|
# un
|
||||||
|
- derive/([qrtysdghjklzxc])un$/$1nu/
|
||||||
|
# ue
|
||||||
|
- derive/([nlyjqx])ue$/$1eu/
|
||||||
|
# uang
|
||||||
|
- derive/([g|h|k|zh|ch|sh])uang$/$1aung/
|
||||||
|
- derive/([g|h|k|zh|ch|sh])uang$/$1uagn/
|
||||||
|
- derive/([g|h|k|zh|ch|sh])uang$/$1unag/
|
||||||
|
- derive/([g|h|k|zh|ch|sh])uang$/$1augn/
|
||||||
|
# iong
|
||||||
|
- derive/([jqx])iong$/$1inog/
|
||||||
|
- derive/([jqx])iong$/$1oing/
|
||||||
|
- derive/([jqx])iong$/$1iogn/
|
||||||
|
- derive/([jqx])iong$/$1oign/
|
||||||
|
# 其他
|
||||||
|
- derive/([rtsdghkzc])o(u|ng)$/$1o/ # do → dou|dong
|
||||||
|
- derive/ong$/on/ # lon → long
|
||||||
|
- derive/([tl])eng$/$1en/ # ten → teng
|
||||||
|
- derive/([qwrtypsdfghjklzxcbnm])([aeio])ng$/$1ng/ # lng → lang、leng、ling、long
|
||||||
Executable
+318
@@ -0,0 +1,318 @@
|
|||||||
|
patch:
|
||||||
|
# 内置皮肤展示: https://github.com/NavisLab/rime-pifu
|
||||||
|
# 鼠须管作者写的图形化的皮肤设计器: https://github.com/LEOYoon-Tsaw/Squirrel-Designer
|
||||||
|
|
||||||
|
|
||||||
|
# 默认中、英、inline、no_inline 等等设定,参考 https://github.com/rime/squirrel/blob/master/data/squirrel.yaml
|
||||||
|
app_options:
|
||||||
|
# com.apple.Spotlight:
|
||||||
|
# ascii_mode: true # 开启默认英文
|
||||||
|
# com.microsoft.VSCode:
|
||||||
|
# ascii_mode: false # 关闭默认英文
|
||||||
|
|
||||||
|
|
||||||
|
# 选择皮肤,亮色与暗色主题
|
||||||
|
style/color_scheme: purity_of_form_custom
|
||||||
|
style/color_scheme_dark: purity_of_form_custom
|
||||||
|
|
||||||
|
|
||||||
|
# 皮肤列表
|
||||||
|
preset_color_schemes:
|
||||||
|
# 自定义的
|
||||||
|
purity_of_form_custom: # 对 purity_of_form 略微调整,让色彩更柔和点
|
||||||
|
name: 純粹的形式/Purity of Form
|
||||||
|
author: 雨過之後、佛振
|
||||||
|
text_color: 0x333333 #0xc2c2c2
|
||||||
|
back_color: 0x545554 #0x444444
|
||||||
|
candidate_text_color: 0xeeeeee
|
||||||
|
hilited_text_color: 0xeeeeee
|
||||||
|
hilited_back_color: 0x444444
|
||||||
|
hilited_candidate_text_color: 0x000000
|
||||||
|
hilited_candidate_back_color: 0xe3e3e3 #0xfafafa
|
||||||
|
comment_text_color: 0x808080
|
||||||
|
font_face: "PingFangSC"
|
||||||
|
font_point: 18
|
||||||
|
label_font_point: 12
|
||||||
|
|
||||||
|
|
||||||
|
# 下面是内置的皮肤 /Library/Input Methods/Squirrel.app/Contents/SharedSupport/squirrel.yaml
|
||||||
|
|
||||||
|
native:
|
||||||
|
name: 系統配色
|
||||||
|
|
||||||
|
aqua:
|
||||||
|
name: 碧水/Aqua
|
||||||
|
author: 佛振 <chen.sst@gmail.com>
|
||||||
|
text_color: 0x606060
|
||||||
|
back_color: 0xeeeceeee
|
||||||
|
candidate_text_color: 0x000000
|
||||||
|
hilited_text_color: 0x000000
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0xeefa3a0a
|
||||||
|
comment_text_color: 0x5a5a5a
|
||||||
|
hilited_comment_text_color: 0xfcac9d
|
||||||
|
|
||||||
|
azure:
|
||||||
|
name: 青天/Azure
|
||||||
|
author: 佛振 <chen.sst@gmail.com>
|
||||||
|
text_color: 0xcfa677
|
||||||
|
candidate_text_color: 0xffeacc
|
||||||
|
back_color: 0xee8b4e01
|
||||||
|
hilited_text_color: 0xffeacc
|
||||||
|
hilited_candidate_text_color: 0x7ffeff
|
||||||
|
hilited_candidate_back_color: 0x00000000
|
||||||
|
comment_text_color: 0xc69664
|
||||||
|
|
||||||
|
luna:
|
||||||
|
name: 明月/Luna
|
||||||
|
author: 佛振 <chen.sst@gmail.com>
|
||||||
|
text_color: 0xa5a5a5
|
||||||
|
back_color: 0xdd000000
|
||||||
|
candidate_text_color: 0xeceeee
|
||||||
|
hilited_text_color: 0x7fffff
|
||||||
|
hilited_candidate_text_color: 0x7fffff
|
||||||
|
hilited_candidate_back_color: 0x40000000
|
||||||
|
comment_text_color: 0xa5a5a5
|
||||||
|
hilited_comment_text_color: 0x449c9d
|
||||||
|
|
||||||
|
ink:
|
||||||
|
name: 墨池/Ink
|
||||||
|
author: 佛振 <chen.sst@gmail.com>
|
||||||
|
text_color: 0x5a5a5a
|
||||||
|
back_color: 0xeeffffff
|
||||||
|
candidate_text_color: 0x000000
|
||||||
|
hilited_text_color: 0x000000
|
||||||
|
#hilited_back_color: 0xdddddd
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0xcc000000
|
||||||
|
comment_text_color: 0x5a5a5a
|
||||||
|
hilited_comment_text_color: 0x808080
|
||||||
|
|
||||||
|
lost_temple:
|
||||||
|
name: 孤寺/Lost Temple
|
||||||
|
author: 佛振 <chen.sst@gmail.com>, based on ir_black
|
||||||
|
text_color: 0xe8f3f6
|
||||||
|
back_color: 0xee303030
|
||||||
|
hilited_text_color: 0x82e6ca
|
||||||
|
hilited_candidate_text_color: 0x000000
|
||||||
|
hilited_candidate_back_color: 0x82e6ca
|
||||||
|
comment_text_color: 0xbb82e6ca
|
||||||
|
hilited_comment_text_color: 0xbb203d34
|
||||||
|
|
||||||
|
dark_temple:
|
||||||
|
name: 暗堂/Dark Temple
|
||||||
|
author: 佛振 <chen.sst@gmail.com>, based on ir_black
|
||||||
|
text_color: 0x92f6da
|
||||||
|
back_color: 0x222222
|
||||||
|
candidate_text_color: 0xd8e3e6
|
||||||
|
hilited_text_color: 0xffcf9a
|
||||||
|
hilited_back_color: 0x222222
|
||||||
|
hilited_candidate_text_color: 0x92f6da
|
||||||
|
hilited_candidate_back_color: 0x10000000 # 0x333333
|
||||||
|
comment_text_color: 0x606cff
|
||||||
|
|
||||||
|
psionics:
|
||||||
|
name: 幽能/Psionics
|
||||||
|
author: 雨過之後、佛振
|
||||||
|
text_color: 0xc2c2c2
|
||||||
|
back_color: 0x444444
|
||||||
|
candidate_text_color: 0xeeeeee
|
||||||
|
hilited_text_color: 0xeeeeee
|
||||||
|
hilited_back_color: 0x444444
|
||||||
|
hilited_candidate_label_color: 0xfafafa
|
||||||
|
hilited_candidate_text_color: 0xfafafa
|
||||||
|
hilited_candidate_back_color: 0xd4bc00
|
||||||
|
comment_text_color: 0x808080
|
||||||
|
hilited_comment_text_color: 0x444444
|
||||||
|
|
||||||
|
purity_of_form:
|
||||||
|
name: 純粹的形式/Purity of Form
|
||||||
|
author: 雨過之後、佛振
|
||||||
|
text_color: 0xc2c2c2
|
||||||
|
back_color: 0x444444
|
||||||
|
candidate_text_color: 0xeeeeee
|
||||||
|
hilited_text_color: 0xeeeeee
|
||||||
|
hilited_back_color: 0x444444
|
||||||
|
hilited_candidate_text_color: 0x000000
|
||||||
|
hilited_candidate_back_color: 0xfafafa
|
||||||
|
comment_text_color: 0x808080
|
||||||
|
|
||||||
|
purity_of_essence:
|
||||||
|
name: 純粹的本質/Purity of Essence
|
||||||
|
author: 佛振
|
||||||
|
text_color: 0x2c2ccc
|
||||||
|
back_color: 0xfafafa
|
||||||
|
candidate_text_color: 0x000000
|
||||||
|
hilited_text_color: 0x000000
|
||||||
|
hilited_back_color: 0xfafafa
|
||||||
|
hilited_candidate_text_color: 0xeeeeee
|
||||||
|
hilited_candidate_back_color: 0x444444
|
||||||
|
comment_text_color: 0x808080
|
||||||
|
|
||||||
|
starcraft:
|
||||||
|
name: 星際我爭霸/StarCraft
|
||||||
|
author: Contralisk <contralisk@gmail.com>, original artwork by Blizzard Entertainment
|
||||||
|
text_color: 0xccaa88
|
||||||
|
candidate_text_color: 0x30bb55
|
||||||
|
back_color: 0xee000000
|
||||||
|
border_color: 0x1010a0
|
||||||
|
hilited_text_color: 0xfecb96
|
||||||
|
hilited_back_color: 0x000000
|
||||||
|
hilited_candidate_text_color: 0x70ffaf
|
||||||
|
hilited_candidate_back_color: 0x00000000
|
||||||
|
comment_text_color: 0x1010d0
|
||||||
|
hilited_comment_text_color: 0x1010f0
|
||||||
|
|
||||||
|
google:
|
||||||
|
name: 谷歌/Google
|
||||||
|
author: skoj <skoj@qq.com>
|
||||||
|
text_color: 0x666666 #拼音串
|
||||||
|
candidate_text_color: 0x000000 #非第一候选项
|
||||||
|
back_color: 0xFFFFFF #背景
|
||||||
|
border_color: 0xE2E2E2 #边框
|
||||||
|
hilited_text_color: 0x000000 #拼音串高亮
|
||||||
|
hilited_back_color: 0xFFFFFF #拼音串高亮背景
|
||||||
|
hilited_candidate_text_color: 0xFFFFFF #第一候选项
|
||||||
|
hilited_candidate_back_color: 0xCE7539 #第一候选项背景
|
||||||
|
comment_text_color: 0x6D6D6D #注解文字
|
||||||
|
hilited_comment_text_color: 0xEBC6B0 #注解文字高亮
|
||||||
|
|
||||||
|
solarized_rock:
|
||||||
|
name: 曬經石/Solarized Rock
|
||||||
|
author: "Aben <tntaben@gmail.com>, based on Ethan Schoonover's Solarized color scheme"
|
||||||
|
back_color: 0x362b00
|
||||||
|
border_color: 0x362b00
|
||||||
|
text_color: 0x8236d3
|
||||||
|
hilited_text_color: 0x98a12a
|
||||||
|
candidate_text_color: 0x969483
|
||||||
|
comment_text_color: 0xc098a12a
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0x8236d3
|
||||||
|
hilited_comment_text_color: 0x362b00
|
||||||
|
|
||||||
|
clean_white:
|
||||||
|
name: 简约白/Clean White
|
||||||
|
author: Chongyu Zhu <lembacon@gmail.com>, based on 搜狗「简约白」
|
||||||
|
horizontal: true
|
||||||
|
candidate_format: '%c %@'
|
||||||
|
corner_radius: 6
|
||||||
|
border_height: 6
|
||||||
|
border_width: 6
|
||||||
|
font_point: 16
|
||||||
|
label_font_point: 12
|
||||||
|
label_color: 0x888888
|
||||||
|
text_color: 0x808080
|
||||||
|
hilited_text_color: 0x000000
|
||||||
|
candidate_text_color: 0x000000
|
||||||
|
comment_text_color: 0x808080
|
||||||
|
back_color: 0xeeeeee
|
||||||
|
hilited_candidate_label_color: 0xa0c98915
|
||||||
|
hilited_candidate_text_color: 0xc98915
|
||||||
|
hilited_candidate_back_color: 0xeeeeee
|
||||||
|
|
||||||
|
apathy:
|
||||||
|
name: 冷漠/Apathy
|
||||||
|
author: LIANG Hai
|
||||||
|
horizontal: true # 水平排列
|
||||||
|
inline_preedit: true #单行显示,false双行显示
|
||||||
|
candidate_format: "%c\u2005%@\u2005" # 编号 %c 和候选词 %@ 前后的空间
|
||||||
|
corner_radius: 5 #候选条圆角
|
||||||
|
border_height: 0
|
||||||
|
border_width: 0
|
||||||
|
back_color: 0xFFFFFF #候选条背景色
|
||||||
|
font_face: "PingFangSC-Regular,HanaMinB" #候选词字体
|
||||||
|
font_point: 16 #候选字词大小
|
||||||
|
text_color: 0x424242 #高亮选中词颜色
|
||||||
|
label_font_face: "STHeitiSC-Light" #候选词编号字体
|
||||||
|
label_font_point: 12 #候选编号大小
|
||||||
|
hilited_candidate_text_color: 0xEE6E00 #候选文字颜色
|
||||||
|
hilited_candidate_back_color: 0xFFF0E4 #候选文字背景色
|
||||||
|
comment_text_color: 0x999999 #拼音等提示文字颜色
|
||||||
|
|
||||||
|
dust:
|
||||||
|
name: 浮尘/Dust
|
||||||
|
author: Superoutman <asticosmo@gmail.com>
|
||||||
|
horizontal: true # 水平排列
|
||||||
|
inline_preedit: true #单行显示,false双行显示
|
||||||
|
candidate_format: "%c\u2005%@\u2005" # 用 1/6 em 空格 U+2005 来控制编号 %c 和候选词 %@ 前后的空间。
|
||||||
|
corner_radius: 2 #候选条圆角
|
||||||
|
border_height: 3 # 窗口边界高度,大于圆角半径才生效
|
||||||
|
border_width: 8 # 窗口边界宽度,大于圆角半径才生效
|
||||||
|
back_color: 0xeeffffff #候选条背景色
|
||||||
|
border_color: 0xE0B693 # 边框色
|
||||||
|
font_face: "HYQiHei-55S Book,HanaMinA Regular" #候选词字体
|
||||||
|
font_point: 14 #候选字词大小
|
||||||
|
label_font_face: "SimHei" #候选词编号字体
|
||||||
|
label_font_point: 10 #候选编号大小
|
||||||
|
label_color: 0xcbcbcb # 预选栏编号颜色
|
||||||
|
candidate_text_color: 0x555555 # 预选项文字颜色
|
||||||
|
text_color: 0x424242 # 拼音行文字颜色,24位色值,16进制,BGR顺序
|
||||||
|
comment_text_color: 0x999999 # 拼音等提示文字颜色
|
||||||
|
hilited_text_color: 0x9e9e9e # 高亮拼音 (需要开启内嵌编码)
|
||||||
|
hilited_candidate_text_color: 0x000000 # 第一候选项文字颜色
|
||||||
|
hilited_candidate_back_color: 0xfff0e4 # 第一候选项背景背景色
|
||||||
|
hilited_candidate_label_color: 0x555555 # 第一候选项编号颜色
|
||||||
|
hilited_comment_text_color: 0x9e9e9e # 注解文字高亮
|
||||||
|
|
||||||
|
mojave_dark:
|
||||||
|
name: 沙漠夜/Mojave Dark
|
||||||
|
author: xiehuc <xiehuc@gmail.com>
|
||||||
|
horizontal: true # 水平排列
|
||||||
|
inline_preedit: true # 单行显示,false双行显示
|
||||||
|
candidate_format: "%c\u2005%@" # 用 1/6 em 空格 U+2005 来控制编号 %c 和候选词 %@ 前后的空间。
|
||||||
|
corner_radius: 5 # 候选条圆角
|
||||||
|
hilited_corner_radius: 3 # 高亮圆角
|
||||||
|
border_height: 6 # 窗口边界高度,大于圆角半径才生效
|
||||||
|
border_width: 6 # 窗口边界宽度,大于圆角半径才生效
|
||||||
|
font_face: "PingFangSC" # 候选词字体
|
||||||
|
font_point: 16 # 候选字词大小
|
||||||
|
label_font_point: 14 # 候选编号大小
|
||||||
|
|
||||||
|
text_color: 0xdedddd # 拼音行文字颜色,24位色值,16进制,BGR顺序
|
||||||
|
back_color: 0x252320 # 候选条背景色
|
||||||
|
label_color: 0x888785 # 预选栏编号颜色
|
||||||
|
border_color: 0x020202 # 边框色
|
||||||
|
candidate_text_color: 0xdedddd # 预选项文字颜色
|
||||||
|
hilited_text_color: 0xdedddd # 高亮拼音 (需要开启内嵌编码)
|
||||||
|
hilited_back_color: 0x252320 # 高亮拼音 (需要开启内嵌编码)
|
||||||
|
hilited_candidate_text_color: 0xffffff # 第一候选项文字颜色
|
||||||
|
hilited_candidate_back_color: 0xcb5d00 # 第一候选项背景背景色
|
||||||
|
hilited_candidate_label_color: 0xffffff # 第一候选项编号颜色
|
||||||
|
comment_text_color: 0xdedddd # 拼音等提示文字颜色
|
||||||
|
#hilited_comment_text_color: 0xdedddd # 注解文字高亮
|
||||||
|
|
||||||
|
solarized_light:
|
||||||
|
name: 曬經・日/Solarized Light
|
||||||
|
author: 雪齋 <lyc20041@gmail.com>
|
||||||
|
color_space: display_p3 # Only available on macOS 10.12+
|
||||||
|
back_color: 0xf0E5F6FB #Lab 97, 0, 10
|
||||||
|
border_color: 0xf0EDFFFF #Lab 100, 0, 10
|
||||||
|
preedit_back_color: 0xf0D7E8ED #Lab 92, 0, 10
|
||||||
|
candidate_text_color: 0x3942CB #Lab 50, 65, 45
|
||||||
|
label_color: 0x2566C6 #Lab 55, 45, 65
|
||||||
|
comment_text_color: 0x8144C2 #Lab 50, 65, -5
|
||||||
|
text_color: 0x756E5D #Lab 45, -7, -7
|
||||||
|
hilited_back_color: 0xf0C9DADF #Lab 87, 0, 10
|
||||||
|
hilited_candidate_back_color: 0x403516 #Lab 20, -12, -12
|
||||||
|
hilited_candidate_text_color: 0x989F52 #Lab 60, -35, -5
|
||||||
|
hilited_candidate_label_color: 0xCC8947 #Lab 55, -10, -45
|
||||||
|
hilited_comment_text_color: 0x289989 #Lab 60, -20, 65
|
||||||
|
hilited_text_color: 0xBE706D #Lab 50, 15, -45
|
||||||
|
|
||||||
|
solarized_dark:
|
||||||
|
name: 曬經・月/Solarized Dark
|
||||||
|
author: 雪齋 <lyc20041@gmail.com>
|
||||||
|
color_space: display_p3 # Only available on macOS 10.12+
|
||||||
|
back_color: 0xf0352A0A #Lab 15, -12, -12
|
||||||
|
border_color: 0xf02A1F00 #Lab 10, -12, -12
|
||||||
|
preedit_back_color: 0xf0403516 #Lab 20, -12, -12
|
||||||
|
candidate_text_color: 0x989F52 #Lab 60, -35, -5
|
||||||
|
label_color: 0xCC8947 #Lab 55, -10, -45
|
||||||
|
comment_text_color: 0x289989 #Lab 60, -20, 65
|
||||||
|
text_color: 0xA1A095 #Lab 65, -05, -02
|
||||||
|
hilited_back_color: 0xf04C4022 #Lab 25, -12, -12
|
||||||
|
hilited_candidate_back_color: 0xD7E8ED #Lab 92, 0, 10
|
||||||
|
hilited_candidate_text_color: 0x3942CB #Lab 50, 65, 45
|
||||||
|
hilited_candidate_label_color: 0x2566C6 #Lab 55, 45, 65
|
||||||
|
hilited_comment_text_color: 0x8144C2 #Lab 50, 65, -5
|
||||||
|
hilited_text_color: 0x2C8BAE #Lab 60, 10, 65
|
||||||
@@ -0,0 +1,382 @@
|
|||||||
|
# Rime's punctuation and symbols
|
||||||
|
# encoding: utf-8
|
||||||
|
#
|
||||||
|
# ---
|
||||||
|
#
|
||||||
|
# copy from `/Library/Input Methods/Squirrel.app/Contents/SharedSupport/symbols.yaml`
|
||||||
|
#
|
||||||
|
# punctuator 下面包含三个子项:
|
||||||
|
# full_shape: 默认
|
||||||
|
# half_shape: 标点符号全部直接上屏,和 macOS 自带输入法的区别是 '|' 是半角的,'`'(反引号)没有改成 '·'(间隔号)。
|
||||||
|
# symbols: 原「/」模式 改为了「v」模式,映射的汉字改为简体,一些韵母前四位顺序改为「一声、二声、三声、四声、其他...」如输入 va 得到 ā á ǎ à
|
||||||
|
|
||||||
|
|
||||||
|
config_version: '2022-10-29'
|
||||||
|
|
||||||
|
|
||||||
|
punctuator:
|
||||||
|
full_shape:
|
||||||
|
' ' : { commit: ' ' }
|
||||||
|
',' : { commit: , }
|
||||||
|
'.' : { commit: 。 }
|
||||||
|
'<' : [ 《, 〈, «, ‹ ]
|
||||||
|
'>' : [ 》, 〉, », › ]
|
||||||
|
'/' : [ /, ÷ ]
|
||||||
|
'?' : { commit: ? }
|
||||||
|
';' : { commit: ; }
|
||||||
|
':' : { commit: : }
|
||||||
|
'''' : { pair: [ '‘', '’' ] }
|
||||||
|
'"' : { pair: [ '“', '”' ] }
|
||||||
|
'\' : [ 、, \ ]
|
||||||
|
'|' : [ ·, |, '§', '¦' ]
|
||||||
|
'`' : `
|
||||||
|
'~' : ~
|
||||||
|
'!' : { commit: ! }
|
||||||
|
'@' : [ @, ☯ ]
|
||||||
|
'#' : [ #, ⌘ ]
|
||||||
|
'%' : [ %, '°', '℃' ]
|
||||||
|
'$' : [ ¥, '$', '€', '£', '¥', '¢', '¤' ]
|
||||||
|
'^' : { commit: …… }
|
||||||
|
'&' : &
|
||||||
|
'*' : [ *, ·, ・, ×, ※, ❂ ]
|
||||||
|
'(' : (
|
||||||
|
')' : )
|
||||||
|
'-' : -
|
||||||
|
'_' : ——
|
||||||
|
'+' : +
|
||||||
|
'=' : =
|
||||||
|
'[' : [ 「, 【, 〔, [ ]
|
||||||
|
']' : [ 」, 】, 〕, ] ]
|
||||||
|
'{' : [ 『, 〖, { ]
|
||||||
|
'}' : [ 』, 〗, } ]
|
||||||
|
half_shape:
|
||||||
|
',' : ','
|
||||||
|
'.' : '。'
|
||||||
|
'<' : '《'
|
||||||
|
'>' : '》'
|
||||||
|
'/' : '/'
|
||||||
|
'?' : '?'
|
||||||
|
';' : ';'
|
||||||
|
':' : ':'
|
||||||
|
'''' : { pair: [ '‘', '’' ] }
|
||||||
|
'"' : { pair: [ '“', '”' ] }
|
||||||
|
'\' : '、'
|
||||||
|
'|' : '|'
|
||||||
|
'`' : '`'
|
||||||
|
'~' : '~'
|
||||||
|
'!' : '!'
|
||||||
|
'@' : '@'
|
||||||
|
'#' : '#'
|
||||||
|
'%' : '%'
|
||||||
|
'$' : '¥'
|
||||||
|
'^' : '……'
|
||||||
|
'&' : '&'
|
||||||
|
'*' : '*'
|
||||||
|
'(' : '('
|
||||||
|
')' : ')'
|
||||||
|
'-' : '-'
|
||||||
|
'_' : ——
|
||||||
|
'+' : '+'
|
||||||
|
'=' : '='
|
||||||
|
'[' : '【'
|
||||||
|
']' : '】'
|
||||||
|
'{' : '「'
|
||||||
|
'}' : '」'
|
||||||
|
symbols:
|
||||||
|
#符号、电脑
|
||||||
|
'vfh': [ ©, ®, ℗, ℠, ™, ℡, ℻, ☇, ☈, ☉, ☊, ☋, ☌, ☍, ☎, ☏, ☐, ☑, ☒, ☓, ☕, ☖, ☗, ⛉, ⛊, ☘, ☙, ☚, ☛, ☜, ☝, ☞, ☟, ☠, ☡, ☢, ☣, ☤, ☥, ☦, ☧, ☨, ☩, ☪, ☫, ☬, ☭, ☮, ☯, ☸, ♨, ♰, ♱, ♲, ♳, ♴, ♵, ♶, ♷, ♸, ♹, ♺, ♻, ♼, ♽, ♾, ♿, ⚆, ⚇, ⚈, ⚉, ⚐, ⚑, ⚒, ⚓, ⚔, ⚕, ⚖, ⚗, ⚘, ⚙, ⚚, ⚛, ⚜, ⚝, ⚞, ⚟, ⚠, ⚡, ⚰, ⚱, ⚲, ⚳, ⚴, ⚵, ⚶, ⚷, ⚸, ⚹, ⚺, ⚻, ⚼, ⚽, ⚾, ⚿, ⛀, ⛁, ⛂, ⛃, ⛋, ⛌, ⛍, ⛎, ⛏, ⛐, ⛑, ⛒, ⛓, ⛔, ⛕, ⛖, ⛗, ⛘, ⛙, ⛚, ⛛, ⛜, ⛝, ⛞, ⛟, ⛠, ⛡, ⛢, ⛣, ⛨, ⛩, ⛪, ⛫, ⛬, ⛭, ⛮, ⛯, ⛰, ⛱, ⛲, ⛳, ⛴, ⛵, ⛶, ⛷, ⛸, ⛹, ⛺, ⛻, ⛼, ⛽, ⛾, ⛿ ]
|
||||||
|
'vdn': [ ❖, ⌘, ⌃, ⌥, ⎇, ⇧, ⇪, ␣, ⇥, ⇤, ↩, ⌅, ⌤, ⌫, ⌦, ⌧, ⎋, ⌨, ◁, ⌀, ⌖, ⌗, ⏏, ↖, ↘, ⇞, ⇟, ⌚, ⏰, ⏱, ⏲, ⏳, ⌛, ⌜, ⌝⌞⌟, ⍑, ⏩, ⏪, ⏫, ⏬, ⏭, ⏮, ⏯ ]
|
||||||
|
#象棋、麻将、色子、扑克
|
||||||
|
'vxq': [ ♔, ♕, ♖, ♗, ♘, ♙, ♚, ♛, ♜, ♝, ♞, ♟ ]
|
||||||
|
'vmj': [ 🀀, 🀁, 🀂, 🀃, 🀄, 🀅, 🀆, 🀇, 🀈, 🀉, 🀊, 🀋, 🀌, 🀍, 🀎, 🀏, 🀐, 🀑, 🀒, 🀓, 🀔, 🀕, 🀖, 🀗, 🀘, 🀙, 🀚, 🀛, 🀜, 🀝, 🀞, 🀟, 🀠, 🀡, 🀢, 🀣, 🀤, 🀥, 🀦, 🀧, 🀨, 🀩, 🀪, 🀫 ]
|
||||||
|
'vsz': [ ⚀, ⚁, ⚂, ⚃, ⚄, ⚅ ]
|
||||||
|
'vpk': [ ♠, ♥, ♣, ♦, ♤, ♡, ♧, ♢ ]
|
||||||
|
#表情
|
||||||
|
'vbq': [ ☻, ☺, ☹ ]
|
||||||
|
#天气
|
||||||
|
'vtq': [ ☀, ☁, ⛅, ⛈, ⛆, ☂, ☔, ☃, ⛄, ⛇ ]
|
||||||
|
#音乐
|
||||||
|
'vyy': [ 𝄞, ♩, ♪, ♫, ♬, ♭, ♮, ♯ ]
|
||||||
|
#两性
|
||||||
|
'vlx': [ ♂, ♀, ⚢, ⚣, ⚤, ⚥, ⚦, ⚧, ⚨, ⚩, ⚪, ⚫, ⚬, ⚭, ⚮, ⚯ ]
|
||||||
|
#八卦、八卦名、六十四卦、六十四卦名、太玄经
|
||||||
|
'vbg': [ ☰, ☱, ☲, ☳, ☴, ☵, ☶, ☷ ]
|
||||||
|
'vbgm': [ 乾, 兑, 离, 震, 巽, 坎, 艮, 坤 ]
|
||||||
|
'vlssg': [ ䷀, ䷁, ䷂, ䷃, ䷄, ䷅, ䷆, ䷇, ䷈, ䷉, ䷊, ䷋, ䷌, ䷍, ䷎, ䷏, ䷐, ䷑, ䷒, ䷓, ䷔, ䷕, ䷖, ䷗, ䷘, ䷙, ䷚, ䷛, ䷜, ䷝, ䷞, ䷟, ䷠, ䷡, ䷢, ䷣, ䷤, ䷥, ䷦, ䷧, ䷨, ䷩, ䷪, ䷫, ䷬, ䷭, ䷮, ䷯, ䷰, ䷱, ䷲, ䷳, ䷴, ䷵, ䷶, ䷷, ䷸, ䷹, ䷺, ䷻, ䷼, ䷽, ䷾, ䷿ ]
|
||||||
|
'vlssgm': [ 乾, 坤, 屯, 蒙, 需, 讼, 师, 比, 小畜, 履, 泰, 否, 同人, 大有, 谦, 豫, 随, 蛊, 临, 观, 噬嗑, 贲, 剥, 复, 无妄, 大畜, 颐, 大过, 坎, 离, 咸, 恒, 遯, 大壮, 晋, 明夷, 家人, 睽, 蹇, 解, 损, 益, 夬, 姤, 萃, 升, 困, 井, 革, 鼎, 震, 艮, 渐, 归妹, 丰, 旅, 巽, 兑, 涣, 节, 中孚, 小过, 既济, 未济 ]
|
||||||
|
'vtxj': [ ⚊, ⚋, ⚌, ⚍, ⚎, ⚏, 𝌀, 𝌁, 𝌂, 𝌃, 𝌄, 𝌅, 𝌆, 𝌇, 𝌈, 𝌉, 𝌊, 𝌋, 𝌌, 𝌍, 𝌎, 𝌏, 𝌐, 𝌑, 𝌒, 𝌓, 𝌔, 𝌕, 𝌖, 𝌗, 𝌘, 𝌙, 𝌚, 𝌛, 𝌜, 𝌝, 𝌞, 𝌟, 𝌠, 𝌡, 𝌢, 𝌣, 𝌤, 𝌥, 𝌦, 𝌧, 𝌨, 𝌩, 𝌪, 𝌫, 𝌬, 𝌭, 𝌮, 𝌯, 𝌰, 𝌱, 𝌲, 𝌳, 𝌴, 𝌵, 𝌶, 𝌷, 𝌸, 𝌹, 𝌺, 𝌻, 𝌼, 𝌽, 𝌾, 𝌿, 𝍀, 𝍁, 𝍂, 𝍃, 𝍄, 𝍅, 𝍆, 𝍇, 𝍈, 𝍉, 𝍊, 𝍋, 𝍌, 𝍍, 𝍎, 𝍏, 𝍐, 𝍑, 𝍒, 𝍓, 𝍔, 𝍕, 𝍖 ]
|
||||||
|
#天体、星座、星座名、十二宫
|
||||||
|
'vtt': [ ☄, ☼, ☽, ☾, ☿, ♀, ♁, ♂, ♃, ♄, ♅, ♆, ♇ ]
|
||||||
|
'vxz': [ ♈, ♉, ♊, ♋, ♌, ♍, ♎, ♏, ♐, ♑, ♒, ♓ ]
|
||||||
|
'vxzm': [ 白羊座, 金牛座, 双子座, 巨蟹座, 狮子座, 室女座, 天秤座, 天蝎座, 人马座, 摩羯座, 宝瓶座, 双鱼座 ]
|
||||||
|
'vxzg': [ 白羊宫, 金牛宫, 双子宫, 巨蟹宫, 狮子宫, 室女宫, 天秤宫, 天蝎宫, 人马宫, 摩羯宫, 宝瓶宫, 双鱼宫 ]
|
||||||
|
#星号
|
||||||
|
'vxh': [ ★, ☆, ⛤, ⛥, ⛦, ⛧, ✡, ❋, ❊, ❉, ❈, ❇, ❆, ❅, ❄, ❃, ❂, ❁, ❀, ✿, ✾, ✽, ✼, ✻, ✺, ✹, ✸, ✷, ✶, ✵, ✴, ✳, ✲, ✱, ✰, ✯, ✮, ✭, ✬, ✫, ✪, ✩, ✧, ✦, ✥, ✤, ✣, ✢ ]
|
||||||
|
#方块
|
||||||
|
'vfk': [ ▀, ▁, ▂, ▃, ▄, ▅, ▆, ▇, █, ▉, ▊, ▋, ▌, ▍, ▎, ▏, ▐, ░, ▒, ▓, ▔, ▕, ▖, ▗, ▘, ▙, ▚, ▛, ▜, ▝, ▞, ▟ ]
|
||||||
|
#几何
|
||||||
|
'vjh': [ ■, □, ▢, ▣, ▤, ▥, ▦, ▧, ▨, ▩, ▪, ▫, ▬, ▭, ▮, ▯, ▰, ▱, ▲, △, ▴, ▵, ▶, ▷, ▸, ▹, ►, ▻, ▼, ▽, ▾, ▿, ◀, ◁, ◂, ◃, ◄, ◅, ◆, ◇, ◈, ◉, ◊, ○, ◌, ◍, ◎, ●, ◐, ◑, ◒, ◓, ◔, ◕, ◖, ◗, ◘, ◙, ◚, ◛, ◜, ◝, ◞, ◟, ◠, ◡, ◢, ◣, ◤, ◥, ◦, ◧, ◨, ◩, ◪, ◫, ◬, ◭, ◮, ◯, ◰, ◱, ◲, ◳, ◴, ◵, ◶, ◷, ◸, ◹, ◺, ◻, ◼, ◽, ◾, ◿ ]
|
||||||
|
#箭头
|
||||||
|
'vjt': [ ↑, ↓, ←, →, ↕, ↔, ↖, ↗, ↙, ↘, ↚, ↛, ↮, ↜, ↝, ↞, ↟, ↠, ↡, ↢, ↣, ↤, ↥, ↦, ↧, ↨, ↩, ↪, ↫, ↬, ↭, ↯, ↰, ↱, ↲, ↳, ↴, ↵, ↶, ↷, ↸, ↹, ↺, ↻, ↼, ↽, ↾, ↿, ⇀, ⇁, ⇂, ⇃, ⇄, ⇅, ⇆, ⇇, ⇈, ⇉, ⇊, ⇋, ⇌, ⇐, ⇍, ⇑, ⇒, ⇏, ⇓, ⇔, ⇎, ⇕, ⇖, ⇗, ⇘, ⇙, ⇚, ⇛, ⇜, ⇝, ⇞, ⇟, ⇠, ⇡, ⇢, ⇣, ⇤, ⇥, ⇦, ⇧, ⇨, ⇩, ⇪, ⇫, ⇬, ⇭, ⇮, ⇯, ⇰, ⇱, ⇲, ⇳, ⇴, ⇵, ⇶, ⇷, ⇸, ⇹, ⇺, ⇻, ⇼, ⇽, ➔, ➘, ➙, ➚, ➛, ➜, ➝, ➞, ➟, ➠, ➡, ➢, ➣, ➤, ➥, ➦, ➧, ➨, ➩, ➪, ➫, ➬, ➭, ➮, ➱, ➲, ➳, ➴, ➵, ➶, ➷, ➸, ➹, ➺, ➻, ➼, ➽, ➾ ]
|
||||||
|
#数学
|
||||||
|
'vsx': [ ±, ÷, ×, ∈, ∏, ∑, -, +, <, ≮, =, ≠, >, ≯, ∕, √, ∝, ∞, ∟, ∠, ∥, ∧, ∨, ∩, ∪, ∫, ∮, ∴, ∵, ∷, ∽, ≈, ≌, ≒, ≡, ≤, ≥, ≦, ≧, ⊕, ⊙, ⊥, ⊿, ㏑, ㏒ ]
|
||||||
|
#数字+圆v弧v点
|
||||||
|
'vszq': [ ⓪, ①, ②, ③, ④, ⑤, ⑥, ⑦, ⑧, ⑨, ⑩, ⑪, ⑫, ⑬, ⑭, ⑮, ⑯, ⑰, ⑱, ⑲, ⑳, ㉑, ㉒, ㉓, ㉔, ㉕, ㉖, ㉗, ㉘, ㉙, ㉚, ㉛, ㉜, ㉝, ㉞, ㉟, ㊱, ㊲, ㊳, ㊴, ㊵, ㊶, ㊷, ㊸, ㊹, ㊺, ㊻, ㊼, ㊽, ㊾, ㊿, ⓿, ❶, ❷, ❸, ❹, ❺, ❻, ❼, ❽, ❾, ❿, ⓫, ⓬, ⓭, ⓮, ⓯, ⓰, ⓱, ⓲, ⓳, ⓴ ]
|
||||||
|
'vszh': [ ⑴, ⑵, ⑶, ⑷, ⑸, ⑹, ⑺, ⑻, ⑼, ⑽, ⑾, ⑿, ⒀, ⒁, ⒂, ⒃, ⒄, ⒅, ⒆, ⒇ ]
|
||||||
|
'vszd': [ ⒈, ⒉, ⒊, ⒋, ⒌, ⒍, ⒎, ⒏, ⒐, ⒑, ⒒, ⒓, ⒔, ⒕, ⒖, ⒗, ⒘, ⒙, ⒚, ⒛ ]
|
||||||
|
#字母+圈v弧
|
||||||
|
'vzmq': [ ⓐ, Ⓐ, ⓑ, Ⓑ, ⓒ, Ⓒ, ⓓ, Ⓓ, ⓔ, Ⓔ, ⓕ, Ⓕ, ⓖ, Ⓖ, ⓗ, Ⓗ, ⓘ, Ⓘ, ⓙ, Ⓙ, ⓚ, Ⓚ, ⓛ, Ⓛ, ⓜ, Ⓜ, ⓝ, Ⓝ, ⓞ, Ⓞ, ⓟ, Ⓟ, ⓠ, Ⓠ, ⓡ, Ⓡ, ⓢ, Ⓢ, ⓣ, Ⓣ, ⓤ, Ⓤ, ⓥ, Ⓥ, ⓦ, Ⓦ, ⓧ, Ⓧ, ⓨ, Ⓨ, ⓩ, Ⓩ ]
|
||||||
|
'vzmh': [ ⒜, ⒝, ⒞, ⒟, ⒠, ⒡, ⒢, ⒣, ⒤, ⒥, ⒦, ⒧, ⒨, ⒩, ⒪, ⒫, ⒬, ⒭, ⒮, ⒯, ⒰, ⒱, ⒲, ⒳, ⒴, ⒵ ]
|
||||||
|
#数字、分数
|
||||||
|
'v0': [ 零, 〇, ⁰, ₀, ⓪, ⓿ , 0]
|
||||||
|
'v1': [ 一, 壹, ¹, ₁, Ⅰ, ⅰ, ①, ➀, ❶, ➊, ⓵, ⑴, ⒈, 1, ㊀, ㈠, 弌, 壱, 幺, ㆒ ]
|
||||||
|
'v2': [ 二, 贰, ², ₂, Ⅱ, ⅱ, ②, ➁, ❷, ➋, ⓶, ⑵, ⒉, 2, ㊁, ㈡, 弍, 弐, 貮, 㒃, 㒳, 两, 俩, ㆓]
|
||||||
|
'v3': [ 三, 叁, ³, ₃, Ⅲ, ⅲ, ③, ➂, ❸, ➌, ⓷, ⑶, ⒊, 3, ㊂, ㈢, 参, 参, 叁, 弎, 仨, ㆔]
|
||||||
|
'v4': [ 四, 肆, ⁴, ₄, Ⅳ, ⅳ, ④, ➃, ❹, ➍, ⓸, ⑷, ⒋, 4, ㊃, ㈣, 亖]
|
||||||
|
'v5': [ 五, 伍, ⁵, ₅, Ⅴ, ⅴ, ⑤, ➄, ❺, ➎, ⓹, ⑸, ⒌, 5, ㊄, ㈤, 㐅, 㠪, 𠄡 ]
|
||||||
|
'v6': [ 六, 陆, ⁶, ₆, Ⅵ, ⅵ, ⑥, ➅, ❻, ➏, ⓺, ⑹, ⒍, 6, ㊅, ㈥, ↅ]
|
||||||
|
'v7': [ 七, 柒, ⁷, ₇, Ⅶ, ⅶ, ⑦, ➆, ❼, ➐, ⓻, ⑺, ⒎, 7, ㊆, ㈦, 漆]
|
||||||
|
'v8': [ 八, 捌, ⁸, ₈, Ⅷ, ⅷ, ⑧, ➇, ❽, ➑, ⓼, ⑻, ⒏, 8, ㊇, ㈧ ]
|
||||||
|
'v9': [ 九, 玖, ⁹, ₉, Ⅸ, ⅸ, ⑨, ➈, ❾, ➒, ⓽, ⑼, ⒐, 9, ㊈, ㈨ ]
|
||||||
|
'v10': [ 十, 拾, ¹⁰, ₁₀, Ⅹ, ⅹ, ⑩, ➉, ❿, ➓, ⓾, ⑽, ⒑, 10, ㊉, ㈩, 什 ]
|
||||||
|
'vfs': [ ⅟, ½, ↉, ⅓, ⅔, ¼, ⅕, ⅖, ⅗, ⅘, ⅙, ⅚, ⅐, ⅛, ⅜, ⅝, ⅞, ⅑, ⅒ ]
|
||||||
|
#苏州码
|
||||||
|
'vszm': [ 〡, 〢, 〣, 〤, 〥, 〦, 〧, 〨, 〩, 〸, 〹, 〺 ]
|
||||||
|
#罗马数字
|
||||||
|
'vlm': [ ⅰ, ⅱ, ⅲ, ⅳ, ⅴ, ⅵ, ⅶ, ⅷ, ⅸ, ⅹ, ⅺ, ⅻ, ⅼ, ⅽ, ⅾ, ⅿ ]
|
||||||
|
'vlmd': [ Ⅰ, Ⅱ, Ⅲ, Ⅳ, Ⅴ, Ⅵ, Ⅶ, Ⅷ, Ⅸ, Ⅹ, Ⅺ, Ⅻ, Ⅼ, Ⅽ, Ⅾ, Ⅿ ]
|
||||||
|
#拉丁
|
||||||
|
'va': [ā, á, ǎ, à, ȁ, â, ă, ȃ, ȧ, ä, å, ã, ₐ, ᵃ, ª, ⱥ, ꬰ, ả, ą, ạ, ḁ, ẚ, ấ, ầ, ẫ, ẩ, ắ, ằ, ẵ, ẳ, ǡ, ǟ, ǻ, ậ, ặ, ᶏ, ɐ, ᵄ, ɑ, ᵅ, ᶐ, ɒ, ᶛ]
|
||||||
|
'vA': [Ā, Á, Ǎ, À, Ȁ, Â, Ă, Ȃ, Ȧ, Ä, Å, Ã, ᴀ, ᴬ, Ⱥ, Ả, Ą, Ạ, Ḁ, Ấ, Ầ, Ẫ, Ẩ, Ắ, Ằ, Ẵ, Ẳ, Ǡ, Ǟ, Ǻ, Ậ, Ặ, Ɐ, Ɑ, Ɒ ]
|
||||||
|
'vb': [ḃ, ḅ, ᵇ, ƀ, ƃ, ḇ, ɓ, ᵬ, ᶀ, ꞗ]
|
||||||
|
'vB': [Ḃ, Ḅ, ʙ, ᴃ, ᴮ, ᴯ, Ƀ, Ƃ, Ḇ, Ɓ, Ꞗ]
|
||||||
|
'vc': [ç, ć, č, ĉ, ċ, ᶜ, ȼ, ꞓ, ƈ, ḉ, ꞔ, ɕ, ᶝ, ꜿ]
|
||||||
|
'vC': [Ç, Ć, Č, Ĉ, Ċ, ᴄ, Ȼ, Ꞓ, Ƈ, Ḉ, Ꜿ]
|
||||||
|
'vd': [ď, ḋ, ᵈ, đ, ƌ, ᵭ, ḑ, ḓ, ḏ, ḍ, ɖ, ɗ, ᶑ, ᶁ, ð, ᶞ, ꝱ, ʤ, ʣ, ʥ, ȡ, ƍ, dz, dž, ẟ]
|
||||||
|
'vD': [Ď, Ḋ, ᴅ, ᴆ, ᴰ, Đ, Ƌ, Ḑ, Ḓ, Ḏ, Ḍ, Ɖ, Ɗ, Ð, DZ, Dz, DŽ, Dž ]
|
||||||
|
've': [ē, é, ě, è, ȅ, ê, ĕ, ȇ, ė, ë, ẽ, ₑ, ᵉ, ɇ, ꬳ, ẻ, ȩ, ę, ḙ, ẹ, ḛ, ḗ, ḕ, ế, ề, ễ, ể, ḝ, ệ, ᶒ, ꬴ, ɘ, ə, ɚ, ᶕ, ɛ, ᵋ, ᶓ, ɜ, ᵌ, ᴈ, ᶟ, ɝ, ᶔ, ɞ, ʚ, ǝ, ₔ, ᵊ, ȝ, ⱸ]
|
||||||
|
'vE': [Ē, É, Ě, È, Ȅ, Ê, Ĕ, Ȇ, Ė, Ë, Ẽ, ᴇ, ᴱ, Ɇ, Ẻ, Ȩ, Ę, Ḙ, Ẹ, Ḛ, Ḗ, Ḕ, Ế, Ề, Ễ, Ể, Ḝ, Ệ, Ə, Ɛ, Ɜ, Ǝ, ⱻ, ᴲ, Ȝ ]
|
||||||
|
'vf': [ḟ, ᶠ, ƒ, ᵮ, ᶂ, ꞙ ]
|
||||||
|
'vF': [Ḟ, ꜰ, Ƒ, Ꞙ, ꟻ]
|
||||||
|
'vg': [ḡ, ǵ, ǧ, ĝ, ğ, ġ, ᵍ, ǥ, ꞡ, ģ, ɠ, ᵷ, ᶃ, ɡ, ꬶ, ᶢ, ɣ, ˠ, ɤ, ᵹ]
|
||||||
|
'vG': [Ḡ, Ǵ, Ǧ, Ĝ, Ğ, Ġ, ʛ, ᴳ, Ǥ, Ꞡ, Ģ, Ɠ, Ɡ, Ɣ ]
|
||||||
|
'vh': [ĥ, ȟ, ḣ, ḧ, ͪ, ħ, ɦ, ʱ, ꜧ, ꭜ, ɧ, ḩ, ẖ, ḫ, ḥ, ⱨ, ꞕ, ɥ, ᶣ, ʮ, ʯ, ⱶ]
|
||||||
|
'vH': [Ĥ, Ȟ, Ḣ, Ḧ, ʜ, ᴴ, Ħ, Ɦ, Ꜧ, Ḩ, Ḫ, Ḥ, Ⱨ, Ɥ, Ⱶ]
|
||||||
|
'vi': [ī, í, ǐ, ì, ȉ, î, ĭ, ȋ, ï, ĩ, ᵢ, ı, ɨ, ᶤ, ỉ, į, ị, ḭ, ᴉ, ᵎ, ḯ, ᶖ, ɩ, ᶥ, ᵼ]
|
||||||
|
'vI': [Ī, Í, Ǐ, Ì, Ȉ, Î, Ĭ, Ȋ, Ï, Ĩ, ɪ, ᴵ, ᶦ, Ɨ, ᵻ, ᶧ, Ỉ, Į, Ị, Ḭ, Ḯ, ꟾ, Ɩ ]
|
||||||
|
'vj': [ĵ, ǰ, ⱼ, ʲ, ɉ, ȷ, ɟ, ᶡ, ʄ, ʝ, ᶨ]
|
||||||
|
'vJ': [Ĵ, ᴊ, ᴶ, Ɉ, Ʝ ]
|
||||||
|
'vk': [ḱ, ǩ, ₖ, ᵏ, ꝁ, ꝃ, ꞣ, ꝅ, ķ, ḵ, ḳ, ƙ, ᶄ, ⱪ, ʞ, ĸ]
|
||||||
|
'vK': [Ḱ, Ǩ, ᴋ, ᴷ, Ꝁ, Ꝃ, Ꞣ, Ꝅ, Ķ, Ḵ, Ḳ, Ƙ, Ⱪ, Ʞ ]
|
||||||
|
'vl': [ĺ, ˡ, ł, ꝉ, ƚ, ⱡ, ɫ, ꭞ, ꬸ, ɬ, ľ, ļ, ḻ, ḽ, ḷ, ŀ, ꝲ, ƛ, ᶅ, ᶪ, ɭ, ᶩ, ḹ, ꬷ, ꭝ, ꬹ, ȴ, ꝇ]
|
||||||
|
'vL': [Ĺ, ʟ, ᶫ, Ƚ, Ꝉ, Ł, ᴌ, Ⱡ, Ɫ, Ɬ, Ľ, Ļ, Ḻ, Ḽ, Ḷ, Ŀ, Ꝇ]
|
||||||
|
'vm': [ḿ, ṁ, ᵐ, ₘ, ṃ, ᵯ, ɱ, ᶬ, ꬺ, ᶆ, ꝳ, ɯ, ᵚ, ɰ, ᶭ, ᴟ]
|
||||||
|
'vM': [Ḿ, Ṁ, ᴍ, ᴹ, Ṃ, Ɱ, Ɯ, ꟽ, ꟿ ]
|
||||||
|
'vn': [ń, ň, ǹ, ṅ, ñ, ₙ, ⁿ, ɲ, ᶮ, ɳ, ᶯ, ȵ, ƞ, ŋ, ᵑ, ꬻ, ꬼ, ꝴ, ʼn, ꞥ, ņ, ṉ, ṋ, ṇ, ᵰ, ꞑ, ᶇ]
|
||||||
|
'vN': [Ń, Ň, Ǹ, Ṅ, Ñ, ɴ, ᴺ, ᴻ, ᶰ, Ɲ, Ƞ, Ŋ, Ņ, Ṉ, Ṋ, Ṇ, Ꞑ ]
|
||||||
|
'vo': [ō, ó, ő, ǒ, ò, ô, ŏ, ȯ, ö, õ, ₒ, ᵒ, º, ɔ, ᵓ, ᶗ, ꬿ, ø, ǫ, ọ, ơ, ɵ, ᶱ, ᴑ, ᴒ, ᴓ, ꝋ, ꝍ, ṓ, ṑ, ố, ồ, ỗ, ổ, ȱ, ȫ, ȭ, ṍ, ṏ, ộ, ǭ, ǿ, ớ, ờ, ỡ, ở, ợ, ɷ, ⱺ, ᴖ, ᵔ, ᴗ, ᵕ]
|
||||||
|
'vO': [Ō, Ó, Ő, Ǒ, Ò, Ô, Ŏ, Ȯ, Ö, Õ, ᴏ, ᴼ, Ɔ, ᴐ, Ø, Ǫ, Ọ, Ơ, Ɵ, Ꝋ, Ꝍ, Ṓ, Ṑ, Ố, Ồ, Ỗ, Ổ, Ȱ, Ȫ, Ȭ, Ṍ, Ṏ, Ộ, Ǭ, Ǿ, Ớ, Ờ, Ỡ, Ở, Ợ ]
|
||||||
|
'vp': [ṕ, ṗ, ᵖ, ᵽ, ꝑ, ᵱ, ƥ, ᶈ, ꝓ, ꝕ, ɸ, ᶲ, ⱷ ]
|
||||||
|
'vP': [Ṕ, Ṗ, ᴘ, ᴾ, Ᵽ, Ꝑ, Ƥ, Ꝓ, Ꝕ, ꟼ]
|
||||||
|
'vq': [ɋ, ꝗ, ꝙ, ʠ]
|
||||||
|
'vQ': [Ɋ, Ꝗ, Ꝙ ]
|
||||||
|
'vr': [ŕ, ř, ȑ, ȓ, ṙ, ᵣ, ɍ, ꞧ, ᵲ, ŗ, ṟ, ṛ, ṝ, ᵳ, ɽ, ᶉ, ꭇ, ꭈ, ꭊ, ꭉ, ꝵ, ꭋ, ꭌ, ɹ, ʴ, ɺ, ɻ, ʵ, ⱹ, ɼ, ʳ, ɾ, ɿ, ꝛ, ꝝ]
|
||||||
|
'vR': [Ŕ, Ř, Ȑ, Ȓ, Ṙ, ʀ, ᴙ, ᴿ, Ʀ, ꭆ, Ɍ, Ꞧ, Ŗ, Ṟ, Ṛ, Ṝ, Ɽ, ꝶ, ʶ, ʁ, Ꝛ, Ꝝ]
|
||||||
|
'vs': [Vs., 🆚, ś, ŝ, š, ṡ, ˢ, ʂ, ᶳ, ᵴ, ꞩ, ᶊ, ş, ṣ, ș, ȿ, ṥ, ṧ, ṩ, ʃ, ᶴ, ʆ, ᶘ, ʅ, ƪ, ß, ſ, ẛ, ẜ, ẝ]
|
||||||
|
'vS': [Ś, Ŝ, Š, Ṡ, ꜱ, Ꞩ, Ş, Ṣ, Ș, Ṥ, Ṧ, Ṩ, Ʃ, ẞ, ]
|
||||||
|
'vt': [ť, ṫ, ẗ, ᵗ, ₜ, ʈ, þ, ꝥ, ꝧ, ŧ, ⱦ, ţ, ṯ, ṱ, ṭ, ț, ƭ, ᵵ, ƫ, ᶵ, ʇ, ȶ, ꝷ]
|
||||||
|
'vT': [Ť, Ṫ, ᴛ, ᵀ, Ʈ, Þ, Ꝥ, Ꝧ, Ŧ, Ⱦ, Ţ, Ṯ, Ṱ, Ṭ, Ț, Ƭ, Ʇ ]
|
||||||
|
'vu': [ū, ú, ű, ǔ, ù, ȕ, û, ŭ, ȗ, ü, ǖ, ǘ, ǚ, ǜ, ů, ũ, ᵤ, ᵘ, ʉ, ᶶ, ủ, ų, ṷ, ụ, ṳ, ṵ, ư, ʊ, ᶷ, ᵿ, ᶙ, ṻ, ṹ, ứ, ừ, ữ, ử, ự, ꭒ, ꭟ, ꝸ, ꭎ, ꭏ, ᴝ, ᵙ, ᴞ]
|
||||||
|
'vU': [Ū, Ú, Ű, Ǔ, Ù, Ȕ, Û, Ŭ, Ȗ, Ü, Ǖ, Ǘ, Ǚ, Ǜ, Ů, Ũ, ᴜ, ᵁ, ᶸ, Ʉ, Ủ, Ų, Ṷ, Ụ, Ṳ, Ṵ, Ư, Ʊ, Ṻ, Ṹ, Ứ, Ừ, Ữ, Ử, Ự ]
|
||||||
|
'vv': [ü, ǖ, ǘ, ǚ, ǜ, ṽ, ᵛ, ᵥ, ṿ, ꝟ, ʋ, ᶹ, ᶌ, ⱴ, ⱱ, ỽ, ʌ, ᶺ]
|
||||||
|
'vV': [Ü, Ǖ, Ǘ, Ǚ, Ǜ, Ṽ, ᴠ, ⱽ, Ṿ, Ꝟ, Ʋ, Ỽ, Ʌ ]
|
||||||
|
'vw': [ẃ, ẁ, ŵ, ẇ, ẅ, ẘ, ʷ, ẉ, ƿ, ʍ, ⱳ]
|
||||||
|
'vW': [Ẃ, Ẁ, Ŵ, Ẇ, Ẅ, W̊, ᴡ, ᵂ, Ẉ, Ƿ, Ⱳ]
|
||||||
|
'vx': [ẋ, ẍ, ᶍ, ˣ, ₓ, ꭖ, ꭗ, ꭘ, ꭙ]
|
||||||
|
'vX': [Ẋ, Ẍ ]
|
||||||
|
'vy': [ȳ, ý, ỳ, ŷ, ẏ, ÿ, ẙ, ỹ, ʸ, ɏ, ỷ, ỵ, ƴ, ʎ, ỿ, ꭚ]
|
||||||
|
'vY': [Ȳ, Ý, Ỳ, Ŷ, Ẏ, Ÿ, Ỹ, ʏ, Ɏ, Ỷ, Ỵ, Ƴ, Ỿ ]
|
||||||
|
'vz': [ź, ž, ẑ, ż, ᶻ, ʐ, ᶼ, ʑ, ᶽ, ƶ, ẕ, ẓ, ᵶ, ȥ, ⱬ, ᶎ, ʒ, ᶾ, ǯ, ʓ, ƹ, ƺ, ᶚ, θ, ᶿ, ɀ, ꝣ]
|
||||||
|
'vZ': [Ź, Ž, Ẑ, Ż, ᴢ, Ƶ, Ẕ, Ẓ, Ȥ, Ⱬ Ʒ, ᴣ, Ǯ, Ƹ, Ɀ, Ꝣ]
|
||||||
|
'vaa': [ꜳ]
|
||||||
|
'vAA': [Ꜳ]
|
||||||
|
'vae': [æ, ǣ, ǽ, ᵆ, ᴂ]
|
||||||
|
'vAE': [Æ, Ǣ, Ǽ, ᴭ, ᴁ ]
|
||||||
|
'vao': [ꜵ]
|
||||||
|
'vAO': [Ꜵ]
|
||||||
|
'vau': [ꜷ]
|
||||||
|
'vAU': [Ꜷ]
|
||||||
|
'vav': [ꜹ, ꜻ]
|
||||||
|
'vAV': [Ꜹ, Ꜻ]
|
||||||
|
'vay': [ꜽ]
|
||||||
|
'vAY': [Ꜽ]
|
||||||
|
'vdb': [ȸ]
|
||||||
|
'vff': [ff]
|
||||||
|
'vffi': [ffi]
|
||||||
|
'vffl': [ffl]
|
||||||
|
'vfi': [fi]
|
||||||
|
'vfl': [fl]
|
||||||
|
'vfn': [ʩ]
|
||||||
|
'vhv': [ƕ]
|
||||||
|
'vHV': [Ƕ]
|
||||||
|
'vij': [ij]
|
||||||
|
'vIJ': [IJ]
|
||||||
|
'vlj': [lj]
|
||||||
|
'vll': [ỻ]
|
||||||
|
'vLL': [Ỻ]
|
||||||
|
'vls': [ʪ]
|
||||||
|
'vlz': [ʫ, ɮ]
|
||||||
|
'vnj': [nj]
|
||||||
|
'vNj': [Nj]
|
||||||
|
'vNJ': [NJ]
|
||||||
|
'voe': [œ, ᴔ]
|
||||||
|
'vOE': [Œ, ɶ ]
|
||||||
|
'voi': [ƣ]
|
||||||
|
'vOI': [Ƣ]
|
||||||
|
'voo': [ꝏ]
|
||||||
|
'vOO': [Ꝏ]
|
||||||
|
'vou': [ȣ ]
|
||||||
|
'vOU': [Ȣ, ᴽ]
|
||||||
|
'vqp': [ȹ]
|
||||||
|
'vRx': [℞]
|
||||||
|
'vtc': [ʨ]
|
||||||
|
'vth': [ᵺ]
|
||||||
|
'vts': [ʦ, ʧ]
|
||||||
|
'vtz': [ꜩ]
|
||||||
|
'vTZ': [Ꜩ]
|
||||||
|
'vue': [ᵫ]
|
||||||
|
'vvy': [ꝡ]
|
||||||
|
'vVY': [Ꝡ]
|
||||||
|
'vww': [ʬ]
|
||||||
|
#上标、下标
|
||||||
|
'vsb': [ ⁰, ¹, ², ³, ⁴, ⁵, ⁶, ⁷, ⁸, ⁹, ˜, ⁺, ⁻, ⁼, ⁽, ⁾, ᴬ, ᵃ, ᵄ, ᵅ, ᶛ, ᴭ, ᵆ, ᴮ, ᴯ, ᵇ, ᵝ, ᶜ, ᵓ, ᶝ, ᴰ, ᵈ, ᶞ, ᵟ, ᴱ, ᵉ, ᴲ, ᵊ, ᵋ, ᶟ, ᵌ, ᶠ, ᶡ, ᶲ, ᵠ, ᴳ, ᵍ, ᶢ, ˠ, ᵞ, ᴴ, ʰ, ᶣ, ʱ, ᴵ, ⁱ, ᶤ, ᵎ, ᶥ, ᴶ, ʲ, ᶨ, ᴷ, ᵏ, ᴸ, ᶫ, ˡ, ᶩ, ᶪ, ᴹ, ᵐ, ᶬ, ᵚ, ᶭ, ᴺ, ᴻ, ⁿ, ᵑ, ᶮ, ᶯ, ᴼ, ᵒ, ᶱ, ᴽ, ᴾ, ᵖ, ᴿ, ʳ, ʶ, ʴ, ʵ, ˢ, ᶴ, ᶳ, ᵀ, ᵗ, ᶵ, ᶿ, ᵁ, ᵘ, ᶶ, ᶷ, ᵙ, ⱽ, ᵛ, ᶺ, ᶹ, ᵂ, ʷ, ˣ, ᵡ, ʸ, ᶻ, ᶾ, ᶽ, ᶼ ]
|
||||||
|
'vxb': [ ₀, ₁, ₂, ₃, ₄, ₅, ₆, ₇, ₈, ₉, ₊, ₋, ₌, ₍, ₎, ‸, ᴀ, ₐ, ᴁ, ʙ, ᴃ, ᵦ, ᴄ, ᴐ, ᴒ, ᴅ, ᴆ, ᴇ, ₑ, ₔ, ᵩ, ɢ, ʛ, ᴦ, ᵧ, ʜ, ₕ, ɪ, ᵻ, ᵢ, ᴊ, ⱼ, ᴋ, ₖ, ʟ, ₗ, ᴌ, ᴧ, ᴍ, ₘ, ꟺ, ɴ, ᴎ, ₙ, ᴏ, ₒ, ɶ, ʘ, ᴓ, ᴑ, ᴘ, ₚ, ᴨ, ᴪ, ʀ, ᵣ, ᴙ, ʁ, ᴚ, ᵨ, ₛ, ᴛ, ₜ, ᴜ, ᵤ, ᵾ, ᴠ, ᵥ, ᴡ, ₓ, ᵪ, ʏ, ᴢ, ᴣ ]
|
||||||
|
#希腊
|
||||||
|
'vxl': [ α, β, γ, δ, ε, ζ, η, θ, ι, κ, λ, μ, ν, ξ, ο, π, ρ, σ, τ, υ, φ, χ, ψ, ω ]
|
||||||
|
'vxld': [ Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω ]
|
||||||
|
#俄语
|
||||||
|
'vey': [ а, б, в, г, д, е, ё, ж, з, и, й, к, л, м, н, о, п, р, с, т, у, ф, х, ц, ч, ш, щ, ъ, ы, ь, э, ю, я ]
|
||||||
|
'veyd': [ А, Б, В, Г, Д, Е, Ё, Ж, З, И, Й, К, Л, М, Н, О, П, Р, С, Т, У, Ф, Х, Ц, Ч, Ш, Щ, Ъ, Ы, Ь, Э, Ю, Я ]
|
||||||
|
#月份、日期、曜日等
|
||||||
|
'vyf': [ ㋀, ㋁, ㋂, ㋃, ㋄, ㋅, ㋆, ㋇, ㋈, ㋉, ㋊, ㋋ ]
|
||||||
|
'vrq': [ ㏠, ㏡, ㏢, ㏣, ㏤, ㏥, ㏦, ㏧, ㏨, ㏩, ㏪, ㏫, ㏬, ㏭, ㏮, ㏯, ㏰, ㏱, ㏲, ㏳, ㏴, ㏵, ㏶, ㏷, ㏸, ㏹, ㏺, ㏻, ㏼, ㏽, ㏾ ]
|
||||||
|
'vyr': [ 月, 火, 水, 木, 金, 土, 日, ㊊, ㊋, ㊌, ㊍, ㊎, ㊏, ㊐, ㊗, ㊡, ㈪, ㈫, ㈬, ㈭, ㈮, ㈯, ㈰, ㈷, ㉁, ㉀ ]
|
||||||
|
#时间
|
||||||
|
'vsj': [ ㍘, ㍙, ㍚, ㍛, ㍜, ㍝, ㍞, ㍟, ㍠, ㍡, ㍢, ㍣, ㍤, ㍥, ㍦, ㍧, ㍨, ㍩, ㍪, ㍫, ㍬, ㍭, ㍮, ㍯, ㍰ ]
|
||||||
|
#天干、地支、干支
|
||||||
|
'vtg': [ 甲, 乙, 丙, 丁, 戊, 己, 庚, 辛, 壬, 癸 ]
|
||||||
|
'vdz': [ 子, 丑, 寅, 卯, 辰, 巳, 午, 未, 申, 酉, 戌, 亥 ]
|
||||||
|
'vgz': [ 甲子, 乙丑, 丙寅, 丁卯, 戊辰, 己巳, 庚午, 辛未, 壬申, 癸酉, 甲戌, 乙亥, 丙子, 丁丑, 戊寅, 己卯, 庚辰, 辛巳, 壬午, 癸未, 甲申, 乙酉, 丙戌, 丁亥, 戊子, 己丑, 庚寅, 辛卯, 壬辰, 癸巳, 甲午, 乙未, 丙申, 丁酉, 戊戌, 己亥, 庚子, 辛丑, 壬寅, 癸卯, 甲辰, 乙巳, 丙午, 丁未, 戊申, 己酉, 庚戌, 辛亥, 壬子, 癸丑, 甲寅, 乙卯, 丙辰, 丁巳, 戊午, 己未, 庚申, 辛酉, 壬戌, 癸亥 ]
|
||||||
|
#节气
|
||||||
|
'vjq': [ 立春, 雨水, 惊蛰, 春分, 清明, 谷雨, 立夏, 小满, 芒种, 夏至, 小暑, 大暑, 立秋, 处暑, 白露, 秋分, 寒露, 霜降, 立冬, 小雪, 大雪, 冬至, 小寒, 大寒 ]
|
||||||
|
#单位
|
||||||
|
'vdw': [ Å, ℃, %, ‰, ‱, °, ℉, ㏃, ㏆, ㎈, ㏄, ㏅, ㎝, ㎠, ㎤, ㏈, ㎗, ㎙, ㎓, ㎬, ㏉, ㏊, ㏋, ㎐, ㏌, ㎄, ㎅, ㎉, ㎏, ㎑, ㏍, ㎘, ㎞, ㏎, ㎢, ㎦, ㎪, ㏏, ㎸, ㎾, ㏀, ㏐, ㏓, ㎧, ㎨, ㎡, ㎥, ㎃, ㏔, ㎆, ㎎, ㎒, ㏕, ㎖, ㎜, ㎟, ㎣, ㏖, ㎫, ㎳, ㎷, ㎹, ㎽, ㎿, ㏁, ㎁, ㎋, ㎚, ㎱, ㎵, ㎻, ㏘, ㎩, ㎀, ㎊, ㏗, ㏙, ㏚, ㎰, ㎴, ㎺, ㎭, ㎮, ㎯, ㏛, ㏜, ㎔, ㏝, ㎂, ㎌, ㎍, ㎕, ㎛, ㎲, ㎶, ㎼ ]
|
||||||
|
#货币
|
||||||
|
'vhb': [ ¥, ¥, ¤, ¢, $, $, £, £, ৳, ฿, ₠, ₡, ₢, ₣, ₤, ₥, ₦, ₧, ₩, ₪, ₫, €, ₭, ₮, ₯, ₰, ₱, ₲, ₳, ₴, ₵, ₶, ₷, ₸, ₹, ₺, ₨, ﷼ ]
|
||||||
|
#结构、偏旁、康熙(部首)、笔画、标点
|
||||||
|
'vjg': [ ⿰, ⿱, ⿲, ⿳, ⿴, ⿵, ⿶, ⿷, ⿸, ⿹, ⿺, ⿻, 〾 ]
|
||||||
|
'vpp': [ 乛, 冫, 丷, 龹, ⺌, 龸, 亻, 亼, 亽, 仒, 冖, 冂, 冃, 冄, 宀, 罒, 㓁, 罓, 冈, 凵, 厶, 刂, 勹, 匚, 匸, 卩, 阝, 厂, 丆, 广, 壬, 訁, 讠, 釒, 钅, 飠, 饣, 龺, 攵, 夂, 夊, 尢, 尣, 兂, 旡, 巜, 巛, 彐, 彑, 彡, 彳, 龰, 辶, 廴, 㞢, 忄, 㣺, 扌, 爫, 龵, 廾, 歺, 癶, 氵, 氺, 火, 灬, 爿, 丬, 疒, 牜, ⺶, 犭, 豕, 豸, 虍, 艹, 卝, 龷, 丗, 龶, 芈, 丵, 菐, 黹, 礻, 衤, 糸, 糹, 纟, 龻, 镸, 髟, 襾, 覀, 吅, 㗊, 㠭, 㸚, 叕]
|
||||||
|
'vkx': [ 一, 丨, 丶, 丿, 乙, 亅, 二, 亠, 人, 儿, 入, 八, 冂, 冖, 冫, 几, 凵, 刀, 力, 勹, 匕, 匚, 匸, 十, 卜, 卩, 厂, 厶, 又, 口, 囗, 土, 士, 夂, 夊, 夕, 大, 女, 子, 宀, 寸, 小, 尢, 尸, 屮, 山, 巛, 工, 己, 巾, 干, 幺, 广, 廴, 廾, 弋, 弓, 彐, 彡, 彳, 心, 戈, 戶, 手, 支, 攴, 文, 斗, 斤, 方, 无, 日, 曰, 月, 木, 欠, 止, 歹, 殳, 毋, 比, 毛, 氏, 气, 水, 火, 爪, 父, 爻, 爿, 片, 牙, 牛, 犬, 玄, 玉, 瓜, 瓦, 甘, 生, 用, 田, 疋, 疒, 癶, 白, 皮, 皿, 目, 矛, 矢, 石, 示, 禸, 禾, 穴, 立, 竹, 米, 糸, 缶, 网, 羊, 羽, 老, 而, 耒, 耳, 聿, 肉, 臣, 自, 至, 臼, 舌, 舛, 舟, 艮, 色, 艸, 虍, 虫, 血, 行, 衣, 襾, 見, 角, 言, 谷, 豆, 豕, 豸, 貝, 赤, 走, 足, 身, 車, 辛, 辰, 辵, 邑, 酉, 釆, 里, 金, 長, 門, 阜, 隶, 隹, 雨, 靑, 非, 面, 革, 韋, 韭, 音, 頁, 風, 飛, 食, 首, 香, 馬, 骨, 高, 髟, 鬥, 鬯, 鬲, 鬼, 魚, 鳥, 鹵, 鹿, 麥, 麻, 黃, 黍, 黑, 黹, 黽, 鼎, 鼓, 鼠, 鼻, 齊, 齒, 龍, 龜, 龠 ]
|
||||||
|
'vbh': [ ㇀, ㇁, ㇂, ㇃, ㇄, ㇅, ㇆, ㇇, ㇈, ㇉, ㇊, ㇋, ㇌, ㇍, ㇎, ㇏, ㇐, ㇑, ㇒, ㇓, ㇔, ㇕, ㇖, ㇗, ㇘, ㇙, ㇚, ㇛, ㇜, ㇝, ㇞, ㇟, ㇠, ㇡, ㇢, ㇣ ]
|
||||||
|
'vbd': [ 、, 。, 「, 」, 『, 』, 【, 】, 〈, 〉, 《, 》, ₋, ⁻, ―, ˗, ˉ, _, ﹍, ﹎, ., ¡, ‼, ⁉, ¿, ؟, ⁈, ⁇, 、, 。, 〃, 〄, 々, 〆, 〇, 〒, 〓, 〔, 〕, 〖, 〗, 〘, 〙, 〚, 〛, 〜, 〝, 〞, 〟, 〠, 〰, 〱, 〲, 〳, 〴, 〵, 〶, 〷, 〻, 〼, 〽 ]
|
||||||
|
'vbdz': [ ﹅, ﹆, ﹁, ﹂, ﹃, ﹄, ︙, ︱, ︻, ︼, ︗, ︘, ︵, ︶, ︷, ︸, ︹, ︺, ︿, ﹀, ︽, ︾, ︰, ︲, ︳, ︴, ﹉, ﹊, ﹋, ﹌, ﹍, ﹎, ﹏, ﹇, ﹈, ︐, ︑, ︒, ︔, ︕, ︖ ]
|
||||||
|
#拼音、注音、声调
|
||||||
|
'vpy': [ ā, á, ǎ, à, ō, ó, ǒ, ò, ê, ê̄, ế, ê̌, ề, ē, é, ě, è, ī, í, ǐ, ì, ū, ú, ǔ, ù, ü, ǖ, ǘ, ǚ, ǜ, ḿ, m̀, ń, ň, ǹ, ẑ, ĉ, ŝ, ŋ ]
|
||||||
|
'vpyd': [ Ā, Á, Ǎ, À, Ō, Ó, Ǒ, Ò, Ê, Ê̄, Ế, Ê̌, Ề, Ē, É, Ě, È, Ī, Í, Ǐ, Ì, Ū, Ú, Ǔ, Ù, Ü, Ǖ, Ǘ, Ǚ, Ǜ, Ḿ, M̀, Ń, Ň, Ǹ, Ẑ, Ĉ, Ŝ, Ŋ ]
|
||||||
|
'vzy': [ ㄅ, ㄆ, ㄇ, ㄈ, ㄉ, ㄊ, ㄋ, ㄌ, ㄍ, ㄎ, ㄏ, ㄐ, ㄑ, ㄒ, ㄓ, ㄔ, ㄕ, ㄖ, ㄗ, ㄘ, ㄙ, ㄧ, ㄨ, ㄩ, ㄚ, ㄛ, ㄜ, ㄝ, ㄞ, ㄟ, ㄠ, ㄡ, ㄢ, ㄣ, ㄤ, ㄥ, ㄦ, ㄪ, ㄫ, ㄬ, ㄭ, ㆠ, ㆡ, ㆢ, ㆣ, ㆤ, ㆥ, ㆦ, ㆧ, ㆨ, ㆩ, ㆪ, ㆫ, ㆬ, ㆭ, ㆮ, ㆯ, ㆰ, ㆱ, ㆲ, ㆳ, ㆴ, ㆵ, ㆶ, ㆷ ]
|
||||||
|
'vsd': [ ˉ, ˊ, ˇ, ˋ, ˆ, ˙, ˜, ˥, ˦, ˧, ˨, ˩, ꜀, ꜁, ꜂, ꜃, ꜄, ꜅, ꜆, ꜇, '〪', '〫', '〬', '〭' ]
|
||||||
|
#汉字+圈v弧
|
||||||
|
'vhzq': [ ㊀, ㊁, ㊂, ㊃, ㊄, ㊅, ㊆, ㊇, ㊈, ㊉, ㊊, ㊋, ㊌, ㊍, ㊎, ㊏, ㊐, ㊑, ㊒, ㊓, ㊔, ㊕, ㊖, ㊗, ㊘, ㊙, ㊚, ㊛, ㊜, ㊝, ㊞, ㊟, ㊠, ㊡, ㊢, ㊣, ㊤, ㊥, ㊦, ㊧, ㊨, ㊩, ㊪, ㊫, ㊬, ㊭, ㊮, ㊯, ㊰, ㉄, ㉅, ㉆, ㉇ ]
|
||||||
|
'vhzh': [ ㈠, ㈡, ㈢, ㈣, ㈤, ㈥, ㈦, ㈧, ㈨, ㈩, ㈪, ㈫, ㈬, ㈭, ㈮, ㈯, ㈰, ㈱, ㈲, ㈳, ㈴, ㈵, ㈶, ㈷, ㈸, ㈹, ㈺, ㈻, ㈼, ㈽, ㈾, ㈿, ㉀, ㉁, ㉂, ㉃ ]
|
||||||
|
#いろは順
|
||||||
|
'viro': [ い, ろ, は, に, ほ, へ, と, ち, り, ぬ, る, を, わ, か, よ, た, れ, そ, つ, ね, な, ら, む, う, ゐ, の, お, く, や, ま, け, ふ, こ, え, て, あ, さ, き, ゆ, め, み, し, ゑ, ひ, も, せ, す ]
|
||||||
|
#假名
|
||||||
|
'vjm': [ あ, ぁ, い, ぃ, う, ぅ, え, ぇ, お, ぉ, か, ゕ, が, き, ぎ, く, ぐ, け, ゖ, げ, こ, ご, さ, ざ, し, じ, す, ず, せ, ぜ, そ, ぞ, た, だ, ち, ぢ, つ, っ, づ, て, で, と, ど, な, に, ぬ, ね, の, は, ば, ぱ, ひ, び, ぴ, ふ, ぶ, ぷ, へ, べ, ぺ, ほ, ぼ, ぽ, ま, み, む, め, も, や, ゃ, ゆ, ゅ, よ, ょ, ら, り, る, れ, ろ, わ, ゎ, ゐ, ゔ, ゑ, を, ん, ・, ー, ゝ, ゞ, ゟ ]
|
||||||
|
'vpjm': [ ア, ァ, イ, ィ, ウ, ゥ, エ, ェ, オ, ォ, カ, ヵ, ガ, キ, ギ, ク, グ, ケ, ヶ, ゲ, コ, ゴ, サ, ザ, シ, ジ, ス, ズ, セ, ゼ, ソ, ゾ, タ, ダ, チ, ヂ, ツ, ッ, ヅ, テ, デ, ト, ド, ナ, ニ, ヌ, ネ, ノ, ハ, バ, パ, ヒ, ビ, ピ, フ, ブ, プ, ヘ, ベ, ペ, ホ, ボ, ポ, マ, ミ, ム, メ, モ, ヤ, ャ, ユ, ュ, ヨ, ョ, ラ, リ, ル, レ, ロ, ワ, ヮ, ヰ, ヸ, ヴ, ヱ, ヹ, ヲ, ヺ, ン, ・, ー, ヽ, ヾ, ヿ, ㇰ, ㇱ, ㇲ, ㇳ, ㇴ, ㇵ, ㇶ, ㇷ, ㇸ, ㇹ, ㇺ, ㇻ, ㇼ, ㇽ, ㇾ, ㇿ ]
|
||||||
|
'vjmk': [ か, ゕ, き, く, け, ゖ, こ, カ, ヵ, キ, ク, ケ, ヶ, コ ]
|
||||||
|
'vjmg': [ が, ぎ, ぐ, げ, ご, ガ, ギ, グ, ゲ, ゴ ]
|
||||||
|
'vjms': [ さ, し, す, せ, そ, サ, シ, ス, セ, ソ ]
|
||||||
|
'vjmz': [ ざ, じ, ず, ぜ, ぞ, ザ, ジ, ズ, ゼ, ゾ ]
|
||||||
|
'vjmt': [ た, ち, つ, っ, て, と, タ, チ, ツ, ッ, テ, ト ]
|
||||||
|
'vjmd': [ だ, ぢ, づ, で, ど, ダ, ヂ, ヅ, デ, ド ]
|
||||||
|
'vjmn': [ な, に, ぬ, ね, の, ん, ナ, ニ, ヌ, ネ, ノ, ン ]
|
||||||
|
'vjmh': [ は, ひ, ふ, へ, ほ, ハ, ヒ, フ, ヘ, ホ ]
|
||||||
|
'vjmb': [ ば, び, ぶ, べ, ぼ, バ, ビ, ブ, ベ, ボ ]
|
||||||
|
'vjmp': [ ぱ, ぴ, ぷ, ぺ, ぽ, パ, ピ, プ, ペ, ポ ]
|
||||||
|
'vjmm': [ ま, み, む, め, も, マ, ミ, ム, メ, モ ]
|
||||||
|
'vjmy': [ や, ゃ, ゆ, ゅ, よ, ょ, ヤ, ャ, ユ, ュ, ヨ, ョ ]
|
||||||
|
'vjmr': [ ら, り, る, れ, ろ, ラ, リ, ル, レ, ロ ]
|
||||||
|
'vjmw': [ わ, ゐ, ゑ, を, ワ, ヰ, ヱ, ヲ ]
|
||||||
|
'vjma': [ あ, か, が, さ, ざ, た, だ, な, は, ば, ぱ, ま, や, ら, わ, ア, カ, ガ, サ, ザ, タ, ダ, ナ, ハ, バ, パ, マ, ヤ, ラ, ワ ]
|
||||||
|
'vjmi': [ い, き, ぎ, し, じ, ち, ぢ, に, ひ, び, ぴ, み, り, ゐ, イ, キ, ギ, シ, ジ, チ, ヂ, ニ, ヒ, ビ, ピ, ミ, リ, ヰ ]
|
||||||
|
'vjmu': [ う, く, ぐ, す, ず, つ, づ, ぬ, ふ, ぶ, ぷ, む, る, ウ, ク, グ, ス, ズ, ツ, ヅ, ヌ, フ, ブ, プ, ム, ル ]
|
||||||
|
'vjme': [ え, け, げ, せ, ぜ, て, で, ね, へ, べ, ぺ, め, れ, ゑ, エ, ケ, ゲ, セ, ゼ, テ, デ, ネ, ヘ, ベ, ペ, メ, レ, ヱ ]
|
||||||
|
'vjmo': [ お, こ, ご, そ, ぞ, と, ど, の, ほ, ぼ, ぽ, も, ろ, を, オ, コ, ゴ, ソ, ゾ, ト, ド, ノ, ホ, ボ, ポ, モ, ロ, ヲ ]
|
||||||
|
#假名+圈
|
||||||
|
'vjmq': [ ㋐, ㋑, ㋒, ㋓, ㋔, ㋕, ㋖, ㋗, ㋘, ㋙, ㋚, ㋛, ㋜, ㋝, ㋞, ㋟, ㋠, ㋡, ㋢, ㋣, ㋤, ㋥, ㋦, ㋧, ㋨, ㋩, ㋪, ㋫, ㋬, ㋭, ㋮, ㋯, ㋰, ㋱, ㋲, ㋳, ㋴, ㋵, ㋶, ㋷, ㋸, ㋹, ㋺, ㋻, ㋼, ㋽, ㋾ ]
|
||||||
|
#假名+半角
|
||||||
|
'vjmbj': [ ア, ァ, イ, ィ, ウ, ゥ, エ, ェ, オ, ォ, カ, キ, ク, ケ, コ, サ, シ, ス, セ, ソ, タ, チ, ツ, ッ, テ, ト, ナ, ニ, ヌ, ネ, ノ, ハ, ヒ, フ, ヘ, ホ, マ, ミ, ム, メ, モ, ヤ, ャ, ユ, ュ, ヨ, ョ, ラ, リ, ル, レ, ロ, ワ, ヲ, ン, ・, ー, ゙, ゚ ]
|
||||||
|
#韩文
|
||||||
|
'vhw': [ ㄱ, ㄴ, ㄷ, ㄹ, ㅁ, ㅂ, ㅅ, ㅇ, ㅈ, ㅊ, ㅋ, ㅌ, ㅍ, ㅎ ]
|
||||||
|
#韩文+圈v弧
|
||||||
|
'vhwq': [ ㉠, ㉡, ㉢, ㉣, ㉤, ㉥, ㉦, ㉧, ㉨, ㉩, ㉪, ㉫, ㉬, ㉭, ㉮, ㉯, ㉰, ㉱, ㉲, ㉳, ㉴, ㉵, ㉶, ㉷, ㉸, ㉹, ㉺, ㉻, ㉼, ㉽, ㉾, ㉿ ]
|
||||||
|
'vhwh': [ ㈀, ㈁, ㈂, ㈃, ㈄, ㈅, ㈆, ㈇, ㈈, ㈉, ㈊, ㈋, ㈌, ㈍, ㈎, ㈏, ㈐, ㈑, ㈒, ㈓, ㈔, ㈕, ㈖, ㈗, ㈘, ㈙, ㈚, ㈛, ㈜, ㈝, ㈞ ]
|
||||||
|
|
||||||
|
# 以下开始为自己添加的
|
||||||
|
'vaa': [🐶, 🐮, 🐵, 🙈, 🙉, 🙊, 🐒, 🐔, 🐴, 🐷, 🐽, 🐭, 🦐, 🦀, 🐢, 🐱, 🐹, 🐰, 🐻, 🐼, 🐨, 🐧, 🐦, 🐤, 🐣, 🐥, 🐯, 🦁, 🐸, 🐙, 🦆, 🦅, 🦉, 🦇, 🐺, 🐗, 🦄, 🐝, 🐛, 🦋, 🐌, 🐞, 🐜, 🕷, 🦂, 🐍, 🦎, 🦑, 🐠, 🐟, 🐡, 🐬, 🐳, 🐊, 🐆, 🐅, 🐃, 🐂, 🐄, 🐪, 🐫, 🐘, 🦏, 🦍, 🐐, 🐏, 🐑, 🐎, 🐖, 🐀, 🐁, 🐓, 🦃, 🕊, 🐕, 🐩, 🐈, 🐇, 🐿]
|
||||||
|
'vss': [👌, 👍, 👎, 👊, 🤝, ✌️, 💪, 🙏, ✊, 👏, 👋, 🤞, ✋, 🤚, 🖖, 🤙, 🖕, 🤟, ☝️, 👆, 👇, 👈, 👉, 🤛, 🤜, 🤲, 🤘, 🙌, 👐, ✍️, 💅]
|
||||||
|
'vdd': [😂, ☺️, 😏, 😒, 🤔, 😳, 😔, 😱, 😭, 🙈️, 💩, 😀, 😁, 🤣, 😄, 😅, 😆, 😇, 😉, 😊, 🙂, 🙃, 😋, 😌, 😍, 😘, 😙, 😜, 😝, 🤑, 🤓, 😎, 🤗, 😶, 😑, 🙄, 😞, 😟, 😠, 😡, 😕, ☹️, 😣, 😖, 😫, 😤, 😮, 😨, 😰, 😯, 😦, 😢, 😥, 😪, 😓, 🤤, 😲, 🤥, 🤢, 🤧, 🤐, 😷, 🤒, 🤕, 😴, 😃, 😗, 😚, 😛, 🙁, 😩, 😐, 😧, 😵, 😬, 🤪, 🤨, 🧐, 🤩, 🤬, 🤯, 🤭, 🤫, 🤮, 🤡, 🤠, 😈, 👿, 👻, 💀, 👽]
|
||||||
|
'vff': [½, ⅓, ⅔, ¼, ¾, ⅒, ‰]
|
||||||
|
'vzz': [⌘, ⌥, ⇧, ⌃, ⎋, ⇪, , ⌫, ⌦, ↩︎, ⏎, ␣, ⏏, ⇟, ⇞]
|
||||||
|
'vxx': [*, ×, ✱, ★, ☆, ✩, ✧, ❋, ❊, ❉, ❈, ❅, ✿, ✲]
|
||||||
|
'vcc': [©, ®, ℗, ⓘ, ℠, ™, ℡, ␡, ♂, ♀, ☉, ☊, ☋, ☌, ☍, ☐, ☑︎, ☒, ☜, ☝, ☞, ☟, ✎, ✄, ♻, ⚐, ⚑, ⚠]
|
||||||
|
'vvv': [👌, 👍, 😂, 😅, 😡, 😮, 😱, 😭, 😘, 😰, 💩]
|
||||||
|
# 键盘符号
|
||||||
|
'vcmd': [⌘] # 单个的可以不加[]
|
||||||
|
'vctrl': [⌃]
|
||||||
|
'vopt': [⌥]
|
||||||
|
'vshift': [⇧]
|
||||||
|
'vcap': [⇪]
|
||||||
|
'vreturn': [⏎]
|
||||||
|
'venter': [⏎]
|
||||||
|
'vspace': [␣]
|
||||||
|
'vbackspace': [⌫]
|
||||||
|
'vdel': [⌦]
|
||||||
|
'vescape': [⎋]
|
||||||
|
'veject': [⏏]
|
||||||
|
# 其他
|
||||||
|
'vshang': [↑, ⬆️]
|
||||||
|
'vxia': [↓, ⬇️]
|
||||||
|
'vzuo': [←, ⬅️]
|
||||||
|
'vyou': [→, ➡️, 'V 友']
|
||||||
|
'vzuoshang': [↖]
|
||||||
|
'vyoushang': [↗]
|
||||||
|
'vzuoxia': [↙]
|
||||||
|
'vyouxia': [↘]
|
||||||
|
'vzuoyou': [↔︎, ⇔, ⇋]
|
||||||
|
'vdian': [·]
|
||||||
|
'vjgh': [·]
|
||||||
|
'vgenhao': [√]
|
||||||
|
'vdui': [✓, ✔, ✅]
|
||||||
|
'vcuo': [✗, ✘, ❎, ❌]
|
||||||
|
'vcheng': [×]
|
||||||
|
'vchu': [÷]
|
||||||
|
'vxiaoyu': [<, ≤]
|
||||||
|
'vdayu': ['>', ≥]
|
||||||
|
'vbudeng': [≠]
|
||||||
|
'vbudengyu': [≠]
|
||||||
|
'vssd': [°C]
|
||||||
|
'vhsd': [°F]
|
||||||
|
'vdu': [°, °C, °F]
|
||||||
|
'vpi': [π]
|
||||||
|
'vpai': [π]
|
||||||
|
'vwanzi': [卍]
|
||||||
|
'vnacui': [卐]
|
||||||
|
'vzhengfu': [±]
|
||||||
|
'vzhengfuhao': [±]
|
||||||
|
'vnian': [廿]
|
||||||
|
'vsa': [卅]
|
||||||
|
'vxi': [卌]
|
||||||
|
'vbai': [佰]
|
||||||
|
'vqian': [仟]
|
||||||
|
'vyuan': [圆]
|
||||||
Executable
+535
@@ -0,0 +1,535 @@
|
|||||||
|
patch:
|
||||||
|
|
||||||
|
style:
|
||||||
|
# 选择皮肤
|
||||||
|
color_scheme: psionics
|
||||||
|
|
||||||
|
font_face: Microsoft YaHei
|
||||||
|
font_point: 14
|
||||||
|
horizontal: false
|
||||||
|
fullscreen: false
|
||||||
|
inline_preedit: false
|
||||||
|
preedit_type: composition
|
||||||
|
display_tray_icon: false
|
||||||
|
label_format: "%s."
|
||||||
|
layout:
|
||||||
|
min_width: 160
|
||||||
|
min_height: 0
|
||||||
|
border_width: 3
|
||||||
|
margin_x: 12
|
||||||
|
margin_y: 12
|
||||||
|
spacing: 10
|
||||||
|
candidate_spacing: 5
|
||||||
|
hilite_spacing: 4
|
||||||
|
hilite_padding: 2
|
||||||
|
round_corner: 4
|
||||||
|
|
||||||
|
# 皮肤列表
|
||||||
|
preset_color_schemes:
|
||||||
|
|
||||||
|
aqua:
|
||||||
|
name: 碧水/Aqua
|
||||||
|
author: 佛振 <chen.sst@gmail.com>
|
||||||
|
text_color: 0x000000
|
||||||
|
back_color: 0xeceeee
|
||||||
|
border_color: 0xe0e0e0
|
||||||
|
hilited_text_color: 0x000000
|
||||||
|
hilited_back_color: 0xd4d4d4
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0xfa3a0a
|
||||||
|
|
||||||
|
azure:
|
||||||
|
name: 青天/Azure
|
||||||
|
author: 佛振 <chen.sst@gmail.com>
|
||||||
|
text_color: 0xffe8ca
|
||||||
|
candidate_text_color: 0xfff8ee
|
||||||
|
back_color: 0x8b4e01
|
||||||
|
border_color: 0x8b4e01
|
||||||
|
hilited_text_color: 0xfff8ee
|
||||||
|
hilited_back_color: 0x8b4e01
|
||||||
|
hilited_candidate_text_color: 0x7ffeff
|
||||||
|
hilited_candidate_back_color: 0xa95e01
|
||||||
|
comment_text_color: 0xc69664
|
||||||
|
|
||||||
|
luna:
|
||||||
|
name: 明月/Luna
|
||||||
|
author: 佛振 <chen.sst@gmail.com>
|
||||||
|
text_color: 0x000000
|
||||||
|
back_color: 0xffffff
|
||||||
|
border_color: 0xcccccc
|
||||||
|
hilited_text_color: 0x000000
|
||||||
|
hilited_back_color: 0x7fffff
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0x000000
|
||||||
|
|
||||||
|
ink:
|
||||||
|
name: 墨池/Ink
|
||||||
|
author: 佛振 <chen.sst@gmail.com>
|
||||||
|
text_color: 0x000000
|
||||||
|
back_color: 0xffffff
|
||||||
|
border_color: 0x000000
|
||||||
|
hilited_text_color: 0x000000
|
||||||
|
hilited_back_color: 0xdddddd
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0x000000
|
||||||
|
|
||||||
|
lost_temple:
|
||||||
|
name: 孤寺/Lost Temple
|
||||||
|
author: 佛振 <chen.sst@gmail.com>, based on ir_black
|
||||||
|
text_color: 0xe8f3f6
|
||||||
|
back_color: 0x444444
|
||||||
|
border_color: 0x444444
|
||||||
|
hilited_text_color: 0x82e6ca
|
||||||
|
hilited_back_color: 0x222222
|
||||||
|
hilited_candidate_text_color: 0x000000
|
||||||
|
hilited_candidate_back_color: 0x82e6ca
|
||||||
|
|
||||||
|
dark_temple:
|
||||||
|
name: 暗堂/Dark Temple
|
||||||
|
author: 佛振 <chen.sst@gmail.com>, based on ir_black
|
||||||
|
text_color: 0x92f6da
|
||||||
|
candidate_text_color: 0xd8e3e6
|
||||||
|
back_color: 0x222222
|
||||||
|
border_color: 0x222222
|
||||||
|
hilited_text_color: 0xffcf9a
|
||||||
|
hilited_back_color: 0x222222
|
||||||
|
hilited_candidate_text_color: 0x92f6da
|
||||||
|
hilited_candidate_back_color: 0x333333
|
||||||
|
comment_text_color: 0x606cff
|
||||||
|
|
||||||
|
starcraft:
|
||||||
|
name: 星際我爭霸/StarCraft
|
||||||
|
author: Contralisk <contralisk@gmail.com>, original artwork by Blizzard Entertainment
|
||||||
|
text_color: 0xccaa88
|
||||||
|
candidate_text_color: 0x30bb55
|
||||||
|
back_color: 0x000000
|
||||||
|
border_color: 0x1010a0
|
||||||
|
hilited_text_color: 0xfecb96
|
||||||
|
hilited_back_color: 0x000000
|
||||||
|
hilited_candidate_text_color: 0x60ffa8
|
||||||
|
hilited_candidate_back_color: 0x000000
|
||||||
|
|
||||||
|
google:
|
||||||
|
name: 谷歌/Google
|
||||||
|
author: skoj <skoj@qq.com>
|
||||||
|
text_color: 0x666666
|
||||||
|
candidate_text_color: 0x000000
|
||||||
|
back_color: 0xFFFFFF
|
||||||
|
border_color: 0xE2E2E2
|
||||||
|
hilited_text_color: 0x000000
|
||||||
|
hilited_back_color: 0xFFFFFF
|
||||||
|
hilited_candidate_text_color: 0xFFFFFF
|
||||||
|
hilited_candidate_back_color: 0xCE7539
|
||||||
|
|
||||||
|
solarized_rock:
|
||||||
|
name: 曬經石/Solarized Rock
|
||||||
|
author: "Aben <tntaben@gmail.com>, based on Ethan Schoonover's Solarized color scheme"
|
||||||
|
back_color: 0x362b00
|
||||||
|
border_color: 0x362b00
|
||||||
|
text_color: 0x009985
|
||||||
|
hilited_text_color: 0x98a12a
|
||||||
|
candidate_text_color: 0x969483
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0x8236d3
|
||||||
|
|
||||||
|
tintin:
|
||||||
|
name: "丁丁/ Tintin"
|
||||||
|
author: "Patricivs <ipatrickmac@me.com>"
|
||||||
|
text_color: 0xffffff
|
||||||
|
back_color: 0xd99500
|
||||||
|
border_color: 0xd99500
|
||||||
|
label_color: 0xffffff
|
||||||
|
candidate_text_color: 0xffffff
|
||||||
|
comment_text_color: 0xffffff
|
||||||
|
hilited_text_color: 0xf7d891
|
||||||
|
hilited_back_color: 0xd99500
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0x2164f1
|
||||||
|
|
||||||
|
dota_2:
|
||||||
|
name: "DOTA 2"
|
||||||
|
author: "Patricivs <ipatrickmac@me.com>"
|
||||||
|
text_color: 0xffffff
|
||||||
|
back_color: 0x120f10
|
||||||
|
border_color: 0x120f10
|
||||||
|
label_color: 0x5c758f
|
||||||
|
hilited_text_color: 0x1841dd
|
||||||
|
hilited_back_color: 0x120f10
|
||||||
|
candidate_text_color: 0x5c758f
|
||||||
|
comment_text_color: 0x5c758f
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0x1841dd
|
||||||
|
|
||||||
|
brasil:
|
||||||
|
name: "笆悉/Brasil"
|
||||||
|
author: "Patricivs <ipatrickmac@me.com>"
|
||||||
|
text_color: 0xffffff
|
||||||
|
back_color: 0x559311
|
||||||
|
border_color: 0x559311
|
||||||
|
label_color: 0xffffff
|
||||||
|
hilited_text_color: 0xffffff
|
||||||
|
hilited_back_color: 0x7d3617
|
||||||
|
candidate_text_color: 0xffffff
|
||||||
|
comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0x16c7f7
|
||||||
|
|
||||||
|
doraemon:
|
||||||
|
name: "銅鑼衛門/Doraemon"
|
||||||
|
author: "Patricivs <ipatrickmac@me.com>"
|
||||||
|
text_color: 0x1200e5
|
||||||
|
back_color: 0xffffff
|
||||||
|
border_color: 0xe89f00
|
||||||
|
label_color: 0xe89f00
|
||||||
|
hilited_text_color: 0xffffff
|
||||||
|
hilited_back_color: 0x1200e5
|
||||||
|
candidate_text_color: 0xe89f00
|
||||||
|
comment_text_color: 0xe89f00
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0xe89f00
|
||||||
|
|
||||||
|
espagna:
|
||||||
|
name: "埃斯巴尼亞/España"
|
||||||
|
author: "Patricivs <ipatrickmac@me.com>"
|
||||||
|
text_color: 0xffffff
|
||||||
|
back_color: 0x230dc3
|
||||||
|
border_color: 0x230dc3
|
||||||
|
label_color: 0xffffff
|
||||||
|
hilited_text_color: 0xffffff
|
||||||
|
hilited_back_color: 0x2cb5f7
|
||||||
|
candidate_text_color: 0xffffff
|
||||||
|
comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0x2cb5f7
|
||||||
|
|
||||||
|
gholabok:
|
||||||
|
name: "胡蘿菔/Gholabok"
|
||||||
|
author: "Patricivs <ipatrickmac@me.com>"
|
||||||
|
text_color: 0xffffff
|
||||||
|
back_color: 0x2939e8
|
||||||
|
border_color: 0x2939e8
|
||||||
|
label_color: 0xffffff
|
||||||
|
hilited_text_color: 0xffffff
|
||||||
|
hilited_back_color: 0x437b00
|
||||||
|
candidate_text_color: 0xffffff
|
||||||
|
comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0x3d6ded
|
||||||
|
|
||||||
|
kuma_shuzboz:
|
||||||
|
name: "熊出沒/Kuma Shuzboz"
|
||||||
|
author: "Patricivs <ipatrickmac@me.com>"
|
||||||
|
text_color: 0x000000
|
||||||
|
back_color: 0x2db6f8
|
||||||
|
border_color: 0x2db6f8
|
||||||
|
label_color: 0xffffff
|
||||||
|
hilited_text_color: 0x2db6f8
|
||||||
|
hilited_back_color: 0xffffff
|
||||||
|
candidate_text_color: 0xffffff
|
||||||
|
comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0x000000
|
||||||
|
|
||||||
|
kuon:
|
||||||
|
name: "琨/Kuon"
|
||||||
|
author: "Patricivs <ipatrickmac@me.com>"
|
||||||
|
text_color: 0xffffff
|
||||||
|
back_color: 0x70b33e
|
||||||
|
border_color: 0x70b33e
|
||||||
|
label_color: 0xffffff
|
||||||
|
hilited_text_color: 0x70b33e
|
||||||
|
hilited_back_color: 0xffffff
|
||||||
|
candidate_text_color: 0xffffff
|
||||||
|
comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_text_color: 0x70b33e
|
||||||
|
hilited_comment_text_color: 0x70b33e
|
||||||
|
hilited_candidate_back_color: 0xffffff
|
||||||
|
|
||||||
|
macau:
|
||||||
|
name: "澳門/Macau"
|
||||||
|
author: "Patricivs <ipatrickmac@me.com>"
|
||||||
|
text_color: 0x00d9ff
|
||||||
|
back_color: 0x81a300
|
||||||
|
border_color: 0x81a300
|
||||||
|
label_color: 0xffffff
|
||||||
|
hilited_text_color: 0xffffff
|
||||||
|
hilited_back_color: 0x00d9ff
|
||||||
|
candidate_text_color: 0xffffff
|
||||||
|
comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_text_color: 0x00d9ff
|
||||||
|
hilited_comment_text_color: 0x00d9ff
|
||||||
|
hilited_candidate_back_color: 0xffffff
|
||||||
|
|
||||||
|
nba:
|
||||||
|
name: "NBA"
|
||||||
|
author: "Patricivs <ipatrickmac@me.com>"
|
||||||
|
text_color: 0xffffff
|
||||||
|
back_color: 0xb76a00
|
||||||
|
border_color: 0xb76a00
|
||||||
|
label_color: 0xffffff
|
||||||
|
hilited_text_color: 0x541ed7
|
||||||
|
hilited_back_color: 0xffffff
|
||||||
|
candidate_text_color: 0xffffff
|
||||||
|
comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0x541ed7
|
||||||
|
|
||||||
|
ps4:
|
||||||
|
name: "遊驛四/PS4"
|
||||||
|
author: "Patricivs <ipatrickmac@me.com>"
|
||||||
|
text_color: 0xffffff
|
||||||
|
back_color: 0x000000
|
||||||
|
border_color: 0x000000
|
||||||
|
label_color: 0xffffff
|
||||||
|
hilited_text_color: 0xffffff
|
||||||
|
hilited_back_color: 0x575759
|
||||||
|
candidate_text_color: 0xffffff
|
||||||
|
comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0xe89f00
|
||||||
|
|
||||||
|
skype:
|
||||||
|
name: "斯蓋普/Skype"
|
||||||
|
author: "Patricivs <ipatrickmac@me.com>"
|
||||||
|
text_color: 0xffffff
|
||||||
|
back_color: 0xefad00
|
||||||
|
border_color: 0xefad00
|
||||||
|
label_color: 0xffffff
|
||||||
|
hilited_text_color: 0xefad00
|
||||||
|
hilited_back_color: 0xffffff
|
||||||
|
candidate_text_color: 0xffffff
|
||||||
|
comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_text_color: 0xefad00
|
||||||
|
hilited_comment_text_color: 0xefad00
|
||||||
|
hilited_candidate_back_color: 0xffffff
|
||||||
|
|
||||||
|
xbox_silver:
|
||||||
|
name: "銀色叉盒/Xbox Silver"
|
||||||
|
author: "Patricivs <ipatrickmac@me.com>"
|
||||||
|
text_color: 0x1fc28d
|
||||||
|
back_color: 0xefeeee
|
||||||
|
border_color: 0xefeeee
|
||||||
|
label_color: 0x5bf0b5
|
||||||
|
hilited_text_color: 0xffffff
|
||||||
|
hilited_back_color: 0x5bf0b5
|
||||||
|
candidate_text_color: 0x1fc28d
|
||||||
|
comment_text_color: 0x1fc28d
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0x448c28
|
||||||
|
|
||||||
|
youtube:
|
||||||
|
name: "YouTube"
|
||||||
|
author: "Patricivs <ipatrickmac@me.com>"
|
||||||
|
text_color: 0x000000
|
||||||
|
back_color: 0xdedede
|
||||||
|
border_color: 0xdedede
|
||||||
|
label_color: 0x000000
|
||||||
|
hilited_text_color: 0x230dc3
|
||||||
|
hilited_back_color: 0xffffff
|
||||||
|
candidate_text_color: 0x000000
|
||||||
|
comment_text_color: 0x000000
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0x230dc3
|
||||||
|
|
||||||
|
so_young:
|
||||||
|
name: "致青春/So Young"
|
||||||
|
author: "五磅兔 <zcunlin@foxmail.com>"
|
||||||
|
text_color: 0x8236d3
|
||||||
|
back_color: 0xe3f6fd
|
||||||
|
border_color: 0xd5e8ee
|
||||||
|
label_color: 0xa1a193
|
||||||
|
candidate_text_color: 0x837b65
|
||||||
|
comment_text_color: 0xd28b26
|
||||||
|
hilited_text_color: 0x969483
|
||||||
|
hilited_back_color: 0xd5e8ee
|
||||||
|
hilited_candidate_text_color: 0xd5e8ee
|
||||||
|
hilited_comment_text_color: 0xd5e8ee
|
||||||
|
hilited_candidate_back_color: 0x98a12a
|
||||||
|
|
||||||
|
smurfs:
|
||||||
|
name: "藍精靈/Smurfs"
|
||||||
|
author: "skoj <skoj@qq.com>"
|
||||||
|
text_color: 0xffffff
|
||||||
|
back_color: 0xbf7817
|
||||||
|
border_color: 0xf5ede0
|
||||||
|
label_color: 0xbf7817
|
||||||
|
hilited_text_color: 0xdbbc6d
|
||||||
|
hilited_back_color: 0xbf7817
|
||||||
|
candidate_text_color: 0xf6f6f6
|
||||||
|
comment_text_color: 0xf6f6f6
|
||||||
|
hilited_candidate_text_color: 0xf6f6f6
|
||||||
|
hilited_comment_text_color: 0xf6f6f6
|
||||||
|
hilited_candidate_back_color: 0xdbbc6d
|
||||||
|
|
||||||
|
wii:
|
||||||
|
name: "Wii"
|
||||||
|
author: "Patricivs <ipatrickmac@me.com>"
|
||||||
|
text_color: 0x575759
|
||||||
|
back_color: 0xefefef
|
||||||
|
border_color: 0xefefef
|
||||||
|
label_color: 0xcac9c8
|
||||||
|
hilited_text_color: 0xffcc33
|
||||||
|
hilited_back_color: 0xefefef
|
||||||
|
candidate_text_color: 0x575759
|
||||||
|
comment_text_color: 0xcac9c8
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0xffcc33
|
||||||
|
|
||||||
|
android:
|
||||||
|
name: "安卓/Android"
|
||||||
|
author: "Patricivs <ipatrickmac@me.com>"
|
||||||
|
text_color: 0xffffff
|
||||||
|
back_color: 0x99731c
|
||||||
|
border_color: 0x99731c
|
||||||
|
label_color: 0xc18835
|
||||||
|
hilited_text_color: 0x50c4a8
|
||||||
|
hilited_back_color: 0x99731c
|
||||||
|
candidate_text_color: 0xffffff
|
||||||
|
comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0x50c4a8
|
||||||
|
|
||||||
|
cool_breeze:
|
||||||
|
name: "清風/Cool Breeze"
|
||||||
|
author: "skoj <skoj@qq.com>"
|
||||||
|
text_color: 0x0000FF
|
||||||
|
back_color: 0xFFFBFB
|
||||||
|
border_color: 0xFFAAAA
|
||||||
|
hilited_text_color: 0x0000CE
|
||||||
|
hilited_back_color: 0xFFFBFB
|
||||||
|
candidate_text_color: 0x009100
|
||||||
|
hilited_candidate_text_color: 0x6F003A
|
||||||
|
hilited_candidate_back_color: 0xFFD6AC
|
||||||
|
|
||||||
|
google_plus:
|
||||||
|
name: "Google+"
|
||||||
|
author: "Patricivs <ipatrickmac@me.com>"
|
||||||
|
text_color: 0xcac9c8
|
||||||
|
back_color: 0xffffff
|
||||||
|
border_color: 0x394bdd
|
||||||
|
label_color: 0xcac9c8
|
||||||
|
hilited_text_color: 0x394bdd
|
||||||
|
hilited_back_color: 0xffffff
|
||||||
|
candidate_text_color: 0x394bdd
|
||||||
|
comment_text_color: 0xcac9c8
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0x394bdd
|
||||||
|
|
||||||
|
modern_warfare:
|
||||||
|
name: "現代戰爭/Modern Warfare"
|
||||||
|
author: P1461
|
||||||
|
text_color: 0x14bc70
|
||||||
|
back_color: 0x0a1b0d
|
||||||
|
border_color: 0x4bad83
|
||||||
|
hilited_text_color: 0xfbfdfc
|
||||||
|
hilited_back_color: 0x030e06
|
||||||
|
candidate_text_color: 0xabfedc
|
||||||
|
comment_text_color: 0xfcfdfb
|
||||||
|
hilited_candidate_text_color: 0xabfedc
|
||||||
|
hilited_candidate_back_color: 0x676f63
|
||||||
|
|
||||||
|
brisk:
|
||||||
|
name: "輕盈/Brisk"
|
||||||
|
author: "skoj <skoj@qq.com>"
|
||||||
|
text_color: 0x2238dc
|
||||||
|
back_color: 0xffffff
|
||||||
|
border_color: 0x333333
|
||||||
|
hilited_text_color: 0x2238dc
|
||||||
|
hilited_back_color: 0xffffff
|
||||||
|
candidate_text_color: 0x575757
|
||||||
|
hilited_candidate_text_color: 0x2238dc
|
||||||
|
hilited_candidate_back_color: 0xffffff
|
||||||
|
|
||||||
|
starcraft_ii:
|
||||||
|
name: "星際爭霸Ⅱ/StarCraft Ⅱ"
|
||||||
|
author: "Patricivs <ipatrickmac@me.com>"
|
||||||
|
text_color: 0xffffff
|
||||||
|
back_color: 0x29190a
|
||||||
|
border_color: 0x534b46
|
||||||
|
label_color: 0xffffff
|
||||||
|
hilited_text_color: 0xffffff
|
||||||
|
hilited_back_color: 0x17100a
|
||||||
|
candidate_text_color: 0xffffff
|
||||||
|
comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0xefad1e
|
||||||
|
|
||||||
|
steam:
|
||||||
|
name: "Steam"
|
||||||
|
author: "Patricivs <ipatrickmac@me.com>"
|
||||||
|
text_color: 0xcd8c52
|
||||||
|
back_color: 0x141617
|
||||||
|
border_color: 0x353638
|
||||||
|
label_color: 0xffffff
|
||||||
|
hilited_text_color: 0xc9cfd1
|
||||||
|
hilited_back_color: 0x141617
|
||||||
|
candidate_text_color: 0xffffff
|
||||||
|
comment_text_color: 0xa7a7a9
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_comment_text_color: 0xa7a7a9
|
||||||
|
hilited_candidate_back_color: 0x594231
|
||||||
|
|
||||||
|
flypy:
|
||||||
|
# description: |
|
||||||
|
# 小鹤飞扬:白底蓝字,红色高亮。
|
||||||
|
# 根据小鹤双拼官网图片制作
|
||||||
|
# http://www.flypy.com/images/mr.png
|
||||||
|
name: "小鹤飞扬/flypy"
|
||||||
|
author: "Pal.lxk <Pal.lxk@gmail.com>"
|
||||||
|
text_color: 0x000000
|
||||||
|
back_color: 0xffffff
|
||||||
|
border_color: 0xc6c6c6
|
||||||
|
label_color: 0xff8000
|
||||||
|
hilited_text_color: 0xff8000
|
||||||
|
hilited_back_color: 0xffffff
|
||||||
|
candidate_text_color: 0xff8000
|
||||||
|
comment_text_color: 0xff8000
|
||||||
|
hilited_candidate_text_color: 0x0000b0
|
||||||
|
hilited_comment_text_color: 0x0000b0
|
||||||
|
hilited_candidate_back_color: 0xffffff
|
||||||
|
|
||||||
|
metroblue:
|
||||||
|
name: "现代蓝/Metro Blue"
|
||||||
|
author: "Prcuvu <prcuvu@gmail.com>"
|
||||||
|
text_color: 0x000000
|
||||||
|
back_color: 0xffffff
|
||||||
|
border_color: 0xd77800
|
||||||
|
label_color: 0x838383
|
||||||
|
hilited_text_color: 0x000000
|
||||||
|
hilited_back_color: 0xffffff
|
||||||
|
candidate_text_color: 0x000000
|
||||||
|
comment_text_color: 0x000000
|
||||||
|
hilited_candidate_text_color: 0xffffff
|
||||||
|
hilited_comment_text_color: 0xffffff
|
||||||
|
hilited_candidate_back_color: 0xd77800
|
||||||
|
hilited_label_color: 0xffffff
|
||||||
|
|
||||||
|
psionics:
|
||||||
|
name: 幽能/Psionics
|
||||||
|
author: 雨過之後、佛振
|
||||||
|
text_color: 0xc2c2c2
|
||||||
|
back_color: 0x444444
|
||||||
|
border_color: 0x444444
|
||||||
|
candidate_text_color: 0xeeeeee
|
||||||
|
hilited_text_color: 0xeeeeee
|
||||||
|
hilited_back_color: 0x444444
|
||||||
|
hilited_candidate_label_color: 0xfafafa
|
||||||
|
hilited_candidate_text_color: 0xfafafa
|
||||||
|
hilited_candidate_back_color: 0xd8bf00
|
||||||
|
comment_text_color: 0x808080
|
||||||
|
hilited_comment_text_color: 0x444444
|
||||||
Executable
BIN
Binary file not shown.
Reference in New Issue
Block a user