Expand description
§static-lang-word-lists
A collection of word lists for various scripts, compressed at build time with Brotli, baked into your compiled binary, and decompressed lazily at run time.
Word lists are compressed less when building the “debug” profile to speed up build times. Any other profile will use maximum compression.
§Accessing word lists
If there’s a specific word list you’re after, you can refer to its static
by name.
The crate also provides the static ALL_WORD_LISTS for convenient
iteration/filtering.
Word lists are decompressed when you call WordList::iter.
§Feature flags
This crate has a plethora of feature flags to help you reduce build times by only compressing the word lists you plan to use.
There are three categories of feature flag you can use to choose your word list:
- Source name (e.g.
diffenator), enables all the word lists from a particular source - Script code (e.g.
script-latn), enables all the word lists for the ISO 15924 script (lowercase) - Language code (e.g.
lang-en), enables all the word lists for the ISO 639-1 language
You can, of course, mix & match at will. Thanks to the magic of Cargo’s feature unification, any word lists needed by other dependencies will still be pulled in & compiled even if you don’t request them in your own crate.
If there are no word lists for a script/language, there won’t be a feature flag.
To enable all word lists, there is the catch-all feature all.
(This does not enable functionality-related flags, such as rayon.)
By default, only the diffenator word lists are enabled.
It is not considered a breaking change if more word lists get added to a given feature.
§Creating your own word lists
- In memory words:
WordList::define - Word list file (with sidecar metadata):
WordList::load - Word list file (no metadata):
WordList::load_without_metadata
§How this crate works (⚠️disclaimer⚠️)
A build script for this crate downloads a zipball of the GitHub repo for this project at build time in order to get the word lists. It is not possible for us to include these in the crate hosted on crates.io as the crate would immediately exceed the size limit.
By using a the repository as a path or git dependency you can avoid the
download by setting the environment variable STATIC_LANG_WORD_LISTS_LOCAL.
Otherwise, you’re welcome to audit the build script.
Structs§
- ParWord
List Iter - A
rayon-powered parallel iterator over aWordList. - Word
List - A list of words, with optional additional metadata.
- Word
List Iter - An iterator over a
WordList.
Enums§
- Word
List Error - An error encountered while loading a
WordListand its metadata.
Statics§
- ALL_
WORD_ LISTS - All the available
WordLists - AOSP_
AFRIKAANS_ LATIN - The AOSP_AFRIKAANS_LATIN word list.
- AOSP_
ALBANIAN_ LATIN - The AOSP_ALBANIAN_LATIN word list.
- AOSP_
AMHARIC_ ETHIOPIC - The AOSP_AMHARIC_ETHIOPIC word list.
- AOSP_
ARABIC - The AOSP_ARABIC word list.
- AOSP_
ARMENIAN - The AOSP_ARMENIAN word list.
- AOSP_
ASSAMESE_ BENGALI - The AOSP_ASSAMESE_BENGALI word list.
- AOSP_
AZERBAIJANI_ LATIN - The AOSP_AZERBAIJANI_LATIN word list.
- AOSP_
BASQUE_ LATIN - The AOSP_BASQUE_LATIN word list.
- AOSP_
BELARUSIAN_ CYRILLIC - The AOSP_BELARUSIAN_CYRILLIC word list.
- AOSP_
BELARUSIAN_ LATIN - The AOSP_BELARUSIAN_LATIN word list.
- AOSP_
BENGALI - The AOSP_BENGALI word list.
- AOSP_
BOSNIAN_ LATIN - The AOSP_BOSNIAN_LATIN word list.
- AOSP_
BULGARIAN_ CYRILLIC - The AOSP_BULGARIAN_CYRILLIC word list.
- AOSP_
BURMESE_ MYANMAR - The AOSP_BURMESE_MYANMAR word list.
- AOSP_
CATALAN_ LATIN - The AOSP_CATALAN_LATIN word list.
- AOSP_
CENTRAL_ KHMER - The AOSP_CENTRAL_KHMER word list.
- AOSP_
CHINESE_ HAN - The AOSP_CHINESE_HAN word list.
- AOSP_
CROATIAN_ LATIN - The AOSP_CROATIAN_LATIN word list.
- AOSP_
CZECH_ LATIN - The AOSP_CZECH_LATIN word list.
- AOSP_
DANISH_ LATIN - The AOSP_DANISH_LATIN word list.
- AOSP_
DUTCH_ LATIN - The AOSP_DUTCH_LATIN word list.
- AOSP_
ENGLISH_ LATIN - The AOSP_ENGLISH_LATIN word list.
- AOSP_
ESTONIAN_ LATIN - The AOSP_ESTONIAN_LATIN word list.
- AOSP_
FINNISH_ LATIN - The AOSP_FINNISH_LATIN word list.
- AOSP_
FRENCH_ LATIN - The AOSP_FRENCH_LATIN word list.
- AOSP_
GALICIAN_ LATIN - The AOSP_GALICIAN_LATIN word list.
- AOSP_
GEORGIAN - The AOSP_GEORGIAN word list.
- AOSP_
GERMAN_ LATIN - The AOSP_GERMAN_LATIN word list.
- AOSP_
GUJARATI - The AOSP_GUJARATI word list.
- AOSP_
HINDI_ DEVANAGARI - The AOSP_HINDI_DEVANAGARI word list.
- AOSP_
HINDI_ LATIN - The AOSP_HINDI_LATIN word list.
- AOSP_
HUNGARIAN_ LATIN - The AOSP_HUNGARIAN_LATIN word list.
- AOSP_
ICELANDIC_ LATIN - The AOSP_ICELANDIC_LATIN word list.
- AOSP_
ITALIAN_ LATIN - The AOSP_ITALIAN_LATIN word list.
- AOSP_
JAPANESE_ HIRAGANA - The AOSP_JAPANESE_HIRAGANA word list.
- AOSP_
JAPANESE_ KATAKANA - The AOSP_JAPANESE_KATAKANA word list.
- AOSP_
KANNADA - The AOSP_KANNADA word list.
- AOSP_
KAZAKH_ CYRILLIC - The AOSP_KAZAKH_CYRILLIC word list.
- AOSP_
KAZAKH_ LATIN - The AOSP_KAZAKH_LATIN word list.
- AOSP_
KIRGHIZ_ CYRILLIC - The AOSP_KIRGHIZ_CYRILLIC word list.
- AOSP_
KIRGHIZ_ LATIN - The AOSP_KIRGHIZ_LATIN word list.
- AOSP_
KOREAN_ HANGUL - The AOSP_KOREAN_HANGUL word list.
- AOSP_
LAO - The AOSP_LAO word list.
- AOSP_
LATVIAN_ LATIN - The AOSP_LATVIAN_LATIN word list.
- AOSP_
LITHUANIAN_ LATIN - The AOSP_LITHUANIAN_LATIN word list.
- AOSP_
MACEDONIAN_ CYRILLIC - The AOSP_MACEDONIAN_CYRILLIC word list.
- AOSP_
MALAY - The AOSP_MALAY word list.
- AOSP_
MALAYALAM - The AOSP_MALAYALAM word list.
- AOSP_
MARATHI_ DEVANAGARI - The AOSP_MARATHI_DEVANAGARI word list.
- AOSP_
MODERN_ GREEK - The AOSP_MODERN_GREEK word list.
- AOSP_
MONGOLIAN_ CYRILLIC - The AOSP_MONGOLIAN_CYRILLIC word list.
- AOSP_
NEPALI_ DEVANAGARI - The AOSP_NEPALI_DEVANAGARI word list.
- AOSP_
NORWEGIAN_ BOKMÅL_ LATIN - The AOSP_NORWEGIAN_BOKMÅL_LATIN word list.
- AOSP_
ORIYA - The AOSP_ORIYA word list.
- AOSP_
PANJABI_ GURMUKHI - The AOSP_PANJABI_GURMUKHI word list.
- AOSP_
PERSIAN_ ARABIC - The AOSP_PERSIAN_ARABIC word list.
- AOSP_
POLISH_ LATIN - The AOSP_POLISH_LATIN word list.
- AOSP_
PORTUGUESE_ LATIN - The AOSP_PORTUGUESE_LATIN word list.
- AOSP_
ROMANIAN_ LATIN - The AOSP_ROMANIAN_LATIN word list.
- AOSP_
ROMANSH_ LATIN - The AOSP_ROMANSH_LATIN word list.
- AOSP_
RUSSIAN_ CYRILLIC - The AOSP_RUSSIAN_CYRILLIC word list.
- AOSP_
SERBIAN_ CYRILLIC - The AOSP_SERBIAN_CYRILLIC word list.
- AOSP_
SERBIAN_ LATIN - The AOSP_SERBIAN_LATIN word list.
- AOSP_
SINHALA - The AOSP_SINHALA word list.
- AOSP_
SLOVAK_ LATIN - The AOSP_SLOVAK_LATIN word list.
- AOSP_
SLOVENIAN_ LATIN - The AOSP_SLOVENIAN_LATIN word list.
- AOSP_
SPANISH_ LATIN - The AOSP_SPANISH_LATIN word list.
- AOSP_
SWAHILI_ LATIN - The AOSP_SWAHILI_LATIN word list.
- AOSP_
SWEDISH_ LATIN - The AOSP_SWEDISH_LATIN word list.
- AOSP_
TAGALOG - The AOSP_TAGALOG word list.
- AOSP_
TAMIL - The AOSP_TAMIL word list.
- AOSP_
TELUGU - The AOSP_TELUGU word list.
- AOSP_
THAI - The AOSP_THAI word list.
- AOSP_
TURKISH_ LATIN - The AOSP_TURKISH_LATIN word list.
- AOSP_
UKRAINIAN_ CYRILLIC - The AOSP_UKRAINIAN_CYRILLIC word list.
- AOSP_
URDU_ ARABIC - The AOSP_URDU_ARABIC word list.
- AOSP_
UZBEK_ LATIN - The AOSP_UZBEK_LATIN word list.
- AOSP_
VIETNAMESE_ LATIN - The AOSP_VIETNAMESE_LATIN word list.
- AOSP_
ZULU_ LATIN - The AOSP_ZULU_LATIN word list.
- DIFFENATOR_
ADLAM - The DIFFENATOR_ADLAM word list.
- DIFFENATOR_
ARABIC - The DIFFENATOR_ARABIC word list.
- DIFFENATOR_
ARMENIAN - The DIFFENATOR_ARMENIAN word list.
- DIFFENATOR_
AVESTAN - The DIFFENATOR_AVESTAN word list.
- DIFFENATOR_
BENGALI - The DIFFENATOR_BENGALI word list.
- DIFFENATOR_
BOPOMOFO - The DIFFENATOR_BOPOMOFO word list.
- DIFFENATOR_
CANADIAN_ ABORIGINAL - The DIFFENATOR_CANADIAN_ABORIGINAL word list.
- DIFFENATOR_
CHAKMA - The DIFFENATOR_CHAKMA word list.
- DIFFENATOR_
CHEROKEE - The DIFFENATOR_CHEROKEE word list.
- DIFFENATOR_
COMMON - The DIFFENATOR_COMMON word list.
- DIFFENATOR_
CYRILLIC - The DIFFENATOR_CYRILLIC word list.
- DIFFENATOR_
DEVANAGARI - The DIFFENATOR_DEVANAGARI word list.
- DIFFENATOR_
ETHIOPIC - The DIFFENATOR_ETHIOPIC word list.
- DIFFENATOR_
GEORGIAN - The DIFFENATOR_GEORGIAN word list.
- DIFFENATOR_
GREEK - The DIFFENATOR_GREEK word list.
- DIFFENATOR_
GUJARATI - The DIFFENATOR_GUJARATI word list.
- DIFFENATOR_
GURMUKHI - The DIFFENATOR_GURMUKHI word list.
- DIFFENATOR_
HEBREW - The DIFFENATOR_HEBREW word list.
- DIFFENATOR_
HIRAGANA - The DIFFENATOR_HIRAGANA word list.
- DIFFENATOR_
JAPANESE - The DIFFENATOR_JAPANESE word list.
- DIFFENATOR_
KATAKANA - The DIFFENATOR_KATAKANA word list.
- DIFFENATOR_
KHMER - The DIFFENATOR_KHMER word list.
- DIFFENATOR_
LAO - The DIFFENATOR_LAO word list.
- DIFFENATOR_
LATIN - The DIFFENATOR_LATIN word list.
- DIFFENATOR_
LISU - The DIFFENATOR_LISU word list.
- DIFFENATOR_
MALAYALAM - The DIFFENATOR_MALAYALAM word list.
- DIFFENATOR_
MONGOLIAN - The DIFFENATOR_MONGOLIAN word list.
- DIFFENATOR_
MYANMAR - The DIFFENATOR_MYANMAR word list.
- DIFFENATOR_
OL_ CHIKI - The DIFFENATOR_OL_CHIKI word list.
- DIFFENATOR_
ORIYA - The DIFFENATOR_ORIYA word list.
- DIFFENATOR_
OSAGE - The DIFFENATOR_OSAGE word list.
- DIFFENATOR_
SINHALA - The DIFFENATOR_SINHALA word list.
- DIFFENATOR_
SYRIAC - The DIFFENATOR_SYRIAC word list.
- DIFFENATOR_
TAMIL - The DIFFENATOR_TAMIL word list.
- DIFFENATOR_
TELUGU - The DIFFENATOR_TELUGU word list.
- DIFFENATOR_
THAI - The DIFFENATOR_THAI word list.
- DIFFENATOR_
THANAA - The DIFFENATOR_THANAA word list.
- DIFFENATOR_
TIBETAN - The DIFFENATOR_TIBETAN word list.
- DIFFENATOR_
TIFINAGH - The DIFFENATOR_TIFINAGH word list.
- DIFFENATOR_
VAI - The DIFFENATOR_VAI word list.
- LIBREOFFICE_
AF_ ZA - The LIBREOFFICE_AF_ZA word list.
- LIBREOFFICE_
AN_ ES - The LIBREOFFICE_AN_ES word list.
- LIBREOFFICE_
AR - The LIBREOFFICE_AR word list.
- LIBREOFFICE_
AS_ IN - The LIBREOFFICE_AS_IN word list.
- LIBREOFFICE_
BE_ OFFICIAL - The LIBREOFFICE_BE_OFFICIAL word list.
- LIBREOFFICE_
BG_ BG - The LIBREOFFICE_BG_BG word list.
- LIBREOFFICE_
BN_ BD - The LIBREOFFICE_BN_BD word list.
- LIBREOFFICE_
BO - The LIBREOFFICE_BO word list.
- LIBREOFFICE_
BR_ FR - The LIBREOFFICE_BR_FR word list.
- LIBREOFFICE_
BS_ BA - The LIBREOFFICE_BS_BA word list.
- LIBREOFFICE_
CA - The LIBREOFFICE_CA word list.
- LIBREOFFICE_
CA_ VALENCIA - The LIBREOFFICE_CA_VALENCIA word list.
- LIBREOFFICE_
CKB - The LIBREOFFICE_CKB word list.
- LIBREOFFICE_
CS_ CZ - The LIBREOFFICE_CS_CZ word list.
- LIBREOFFICE_
DA_ DK - The LIBREOFFICE_DA_DK word list.
- LIBREOFFICE_
DE_ AT_ FRAMI - The LIBREOFFICE_DE_AT_FRAMI word list.
- LIBREOFFICE_
DE_ CH_ FRAMI - The LIBREOFFICE_DE_CH_FRAMI word list.
- LIBREOFFICE_
DE_ DE_ FRAMI - The LIBREOFFICE_DE_DE_FRAMI word list.
- LIBREOFFICE_
EL_ GR - The LIBREOFFICE_EL_GR word list.
- LIBREOFFICE_
EN_ AU - The LIBREOFFICE_EN_AU word list.
- LIBREOFFICE_
EN_ CA - The LIBREOFFICE_EN_CA word list.
- LIBREOFFICE_
EN_ GB - The LIBREOFFICE_EN_GB word list.
- LIBREOFFICE_
EN_ US - The LIBREOFFICE_EN_US word list.
- LIBREOFFICE_
EN_ ZA - The LIBREOFFICE_EN_ZA word list.
- LIBREOFFICE_
EO - The LIBREOFFICE_EO word list.
- LIBREOFFICE_
ES_ AR - The LIBREOFFICE_ES_AR word list.
- LIBREOFFICE_
ES_ BO - The LIBREOFFICE_ES_BO word list.
- LIBREOFFICE_
ES_ CL - The LIBREOFFICE_ES_CL word list.
- LIBREOFFICE_
ES_ CO - The LIBREOFFICE_ES_CO word list.
- LIBREOFFICE_
ES_ CR - The LIBREOFFICE_ES_CR word list.
- LIBREOFFICE_
ES_ CU - The LIBREOFFICE_ES_CU word list.
- LIBREOFFICE_
ES_ DO - The LIBREOFFICE_ES_DO word list.
- LIBREOFFICE_
ES_ EC - The LIBREOFFICE_ES_EC word list.
- LIBREOFFICE_
ES_ ES - The LIBREOFFICE_ES_ES word list.
- LIBREOFFICE_
ES_ GQ - The LIBREOFFICE_ES_GQ word list.
- LIBREOFFICE_
ES_ GT - The LIBREOFFICE_ES_GT word list.
- LIBREOFFICE_
ES_ HN - The LIBREOFFICE_ES_HN word list.
- LIBREOFFICE_
ES_ MX - The LIBREOFFICE_ES_MX word list.
- LIBREOFFICE_
ES_ NI - The LIBREOFFICE_ES_NI word list.
- LIBREOFFICE_
ES_ PA - The LIBREOFFICE_ES_PA word list.
- LIBREOFFICE_
ES_ PE - The LIBREOFFICE_ES_PE word list.
- LIBREOFFICE_
ES_ PH - The LIBREOFFICE_ES_PH word list.
- LIBREOFFICE_
ES_ PR - The LIBREOFFICE_ES_PR word list.
- LIBREOFFICE_
ES_ PY - The LIBREOFFICE_ES_PY word list.
- LIBREOFFICE_
ES_ SV - The LIBREOFFICE_ES_SV word list.
- LIBREOFFICE_
ES_ US - The LIBREOFFICE_ES_US word list.
- LIBREOFFICE_
ES_ UY - The LIBREOFFICE_ES_UY word list.
- LIBREOFFICE_
ES_ VE - The LIBREOFFICE_ES_VE word list.
- LIBREOFFICE_
ET_ EE - The LIBREOFFICE_ET_EE word list.
- LIBREOFFICE_
FA_ IR - The LIBREOFFICE_FA_IR word list.
- LIBREOFFICE_
FR - The LIBREOFFICE_FR word list.
- LIBREOFFICE_
GD_ GB - The LIBREOFFICE_GD_GB word list.
- LIBREOFFICE_
GL_ ES - The LIBREOFFICE_GL_ES word list.
- LIBREOFFICE_
GUG - The LIBREOFFICE_GUG word list.
- LIBREOFFICE_
GU_ IN - The LIBREOFFICE_GU_IN word list.
- LIBREOFFICE_
HE_ IL - The LIBREOFFICE_HE_IL word list.
- LIBREOFFICE_
HI_ IN - The LIBREOFFICE_HI_IN word list.
- LIBREOFFICE_
HR_ HR - The LIBREOFFICE_HR_HR word list.
- LIBREOFFICE_
ID_ ID - The LIBREOFFICE_ID_ID word list.
- LIBREOFFICE_
IS - The LIBREOFFICE_IS word list.
- LIBREOFFICE_
IT_ IT - The LIBREOFFICE_IT_IT word list.
- LIBREOFFICE_
KMR_ LATN - The LIBREOFFICE_KMR_LATN word list.
- LIBREOFFICE_
KN_ IN - The LIBREOFFICE_KN_IN word list.
- LIBREOFFICE_
LO_ LA - The LIBREOFFICE_LO_LA word list.
- LIBREOFFICE_
LT - The LIBREOFFICE_LT word list.
- LIBREOFFICE_
LV_ LV - The LIBREOFFICE_LV_LV word list.
- LIBREOFFICE_
MR_ IN - The LIBREOFFICE_MR_IN word list.
- LIBREOFFICE_
NB_ NO - The LIBREOFFICE_NB_NO word list.
- LIBREOFFICE_
NE_ NP - The LIBREOFFICE_NE_NP word list.
- LIBREOFFICE_
NL_ NL - The LIBREOFFICE_NL_NL word list.
- LIBREOFFICE_
NN_ NO - The LIBREOFFICE_NN_NO word list.
- LIBREOFFICE_
OC_ FR - The LIBREOFFICE_OC_FR word list.
- LIBREOFFICE_
OR_ IN - The LIBREOFFICE_OR_IN word list.
- LIBREOFFICE_
PA_ IN - The LIBREOFFICE_PA_IN word list.
- LIBREOFFICE_
PL_ PL - The LIBREOFFICE_PL_PL word list.
- LIBREOFFICE_
PT_ BR - The LIBREOFFICE_PT_BR word list.
- LIBREOFFICE_
PT_ PT - The LIBREOFFICE_PT_PT word list.
- LIBREOFFICE_
RO_ RO - The LIBREOFFICE_RO_RO word list.
- LIBREOFFICE_
RU_ RU - The LIBREOFFICE_RU_RU word list.
- LIBREOFFICE_
SA_ IN - The LIBREOFFICE_SA_IN word list.
- LIBREOFFICE_
SI_ LK - The LIBREOFFICE_SI_LK word list.
- LIBREOFFICE_
SK_ SK - The LIBREOFFICE_SK_SK word list.
- LIBREOFFICE_
SL_ SI - The LIBREOFFICE_SL_SI word list.
- LIBREOFFICE_
SQ_ AL - The LIBREOFFICE_SQ_AL word list.
- LIBREOFFICE_
SR - The LIBREOFFICE_SR word list.
- LIBREOFFICE_
SR_ LATN - The LIBREOFFICE_SR_LATN word list.
- LIBREOFFICE_
SV_ FI - The LIBREOFFICE_SV_FI word list.
- LIBREOFFICE_
SV_ SE - The LIBREOFFICE_SV_SE word list.
- LIBREOFFICE_
SW_ TZ - The LIBREOFFICE_SW_TZ word list.
- LIBREOFFICE_
TA_ IN - The LIBREOFFICE_TA_IN word list.
- LIBREOFFICE_
TE_ IN - The LIBREOFFICE_TE_IN word list.
- LIBREOFFICE_
TH_ TH - The LIBREOFFICE_TH_TH word list.
- LIBREOFFICE_
TR_ TR - The LIBREOFFICE_TR_TR word list.
- LIBREOFFICE_
UK_ UA - The LIBREOFFICE_UK_UA word list.
- LIBREOFFICE_
VI_ VN - The LIBREOFFICE_VI_VN word list.
- UCD_
EMOJI_ ALL - The UCD_EMOJI_ALL word list.
- UCD_
EMOJI_ COLOR - The UCD_EMOJI_COLOR word list.
- UCD_
EMOJI_ TEXTUAL - The UCD_EMOJI_TEXTUAL word list.