# Third-Party Notices

This app bundles third-party linguistic and font resources. Keep this file in
the app bundle and update it before every release when bundled data changes.

## LXGW WenKai

- File: `LXGWWenKai-Regular.ttf`
- Source: https://github.com/lxgw/LxgwWenKai
- License: SIL Open Font License 1.1
- Bundled license text: `ThirdPartyNotices/OFL-LXGWWenKai.txt`

The font is bundled unmodified as a replacement for the previously bundled
`STKaiti.ttf`. `STKaiti.ttf` was removed because the local file metadata marked
it as copyright Changzhou SinoType Technology Co., Ltd. with all rights
reserved, and no redistribution license was present in this repository.

## ZIPFoundation

- Source: https://github.com/weichsel/ZIPFoundation
- Version: 0.9.20
- Use: reading the ZIP container of user-imported EPUB files
- License: MIT License

Copyright (c) 2017-2025 Thomas Zoechling (https://www.peakstep.com)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

## CC-CEDICT Dictionary Data

- Runtime file: `bkrs_full.db`
- Source: https://cc-cedict.org/editor/editor.php?handler=Download
- Publisher: MDBG
- License: Creative Commons Attribution-ShareAlike 4.0 International
- License text: https://creativecommons.org/licenses/by-sa/4.0/

The English edition uses a converted SQLite database derived from CC-CEDICT.
The database may be used commercially with attribution. Improvements or
additions to the adapted dictionary data must be shared under the same license.
The app records the source release and SHA-256 digest in its
`dictionary_metadata` table.

## Jieba Word Frequency Data

- Runtime field: `fts_ch_word.popularity`
- Source: https://github.com/fxsjy/jieba/blob/master/extra_dict/dict.txt.big
- License: MIT License

Pinyin search ranks exact matches by the frequency of the whole Chinese word,
not by an average of its characters. Entries absent from the source list follow
the source-ranked entries. The offline database records the source URL,
SHA-256 digest, source-word count, matching-entry count, and algorithm in
`dictionary_metadata`.

Copyright (c) 2013-2024, fxsjy. Permission is hereby granted, free of charge,
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of this software and associated dictionary data, subject to inclusion
of this copyright and permission notice. The software is provided "as is",
without warranty of any kind.

## CFDICT French Dictionary Data

- Runtime file: `bkrs_full.db` (`fr_search` and `translate_fr` columns)
- Source: https://chine.in/mandarin/open/CFDICT/
- Snapshot mirror: https://www.moedict.tw/translation-data/cfdict.xml
- License: Creative Commons Attribution-ShareAlike 3.0 Unported
- License text: https://creativecommons.org/licenses/by-sa/3.0/

French definitions are matched to the CC-CEDICT rows by simplified form,
traditional form, and pinyin. Entries without a CFDICT match retain the English
definition as an explicit fallback. The app records the CFDICT source URL,
mirror URL, release, entry counts, and SHA-256 digest in
`dictionary_metadata`.

## Stroke Order Data

- Runtime file: `strokes.db`
- Apparent source family: Make Me a Hanzi / Hanzi Writer style stroke data
- Upstream reference: https://github.com/skishore/makemeahanzi
- License family: Arphic Public License for graphical stroke data

The bundled stroke schema uses ordered SVG paths and median points. Before App
Store submission, confirm the exact upstream source used to build `strokes.db`
and keep the matching license text in this directory.

## Make Me a Hanzi Character Dictionary

- Runtime table: `bkrs_full.db` (`etymology`)
- Source: https://github.com/skishore/makemeahanzi
- Source commit: `618dbab8a8ddefb958763c8b4afbaa741a4460de`
- Source file SHA-256: `744bb05d5b0742e9ee35c37791f94d56a173349b3367569e7ca11e510364d203`
- License: GNU Lesser General Public License 3.0 or later
- Bundled source and license: `ThirdPartyNotices/MakeMeAHanzi/`

Laowai imports 9,574 character records with learner definitions,
decompositions, radicals, readings, and formation hints. Invalid or incomplete
decompositions containing an unknown component marker are not displayed. The
unmodified source file, upstream copying notice, and full LGPL text are bundled
with the app so recipients can inspect and modify the source data. Laowai's
deterministic import transformation is in `Scripts/enrich_dictionary_learning_data.py`.

## Unicode Unihan Character Reference

- Runtime table: `bkrs_full.db` (`character_reference`)
- Source: https://www.unicode.org/Public/UCD/latest/ucd/Unihan.zip
- Version: Unicode 17.0.0
- Source archive SHA-256: `f7a48b2b545acfaa77b2d607ae28747404ce02baefee16396c5d2d7a8ef34b5e`
- License: Unicode License v3
- Bundled license: `ThirdPartyNotices/UNICODE-LICENSE.txt`

Laowai imports Mandarin readings, Modern Standard Beijing Chinese frequency
evidence, total and radical-stroke counts, simplified/traditional variants,
and the Hong Kong primary-school grade reference. The grade field is presented
with its Hong Kong scope and is not treated as an HSK or universal difficulty
level.

## Leipzig Mandarin Chinese Corpus Aggregates

- Runtime tables: `word_corpus_usage`, `word_collocations`
- Source: https://downloads.wortschatz-leipzig.de/corpora/cmn-tw_web_2020_30K.tar.gz
- Corpus: `cmn-tw_web_2020_30K`
- Source archive SHA-256: `4d1c20ec9b949ad338bb843ecc2be3189a419c0d5a3aafe71765b5ae0d5a6901`
- License: Creative Commons Attribution
- Terms: https://www.wortschatz.uni-leipzig.de/en/usage

Only the officially downloadable corpus archive is used. Laowai retains word
frequency ranks and statistically ranked immediate-neighbour co-occurrences;
it does not bundle or display the source's web sentences. Traditional corpus
forms are mapped to the corresponding local CC-CEDICT headword, and the source
form remains in the database for auditability.

## Chinese Open Wordnet and Princeton WordNet

- Runtime table: `word_concept_relations`
- Chinese source: Chinese Open Wordnet 2.0, https://bond-lab.github.io/cow/
- Chinese archive SHA-256: `7d07af60a6ced0cedc4ca114d0b60a796d3f138df0f3be21f6322e53d004e91c`
- Relation source: Princeton WordNet 3.0
- English archive SHA-256: `0e09dfb7f096bc3f10b9de68ffecf13839fa22ae46fd9b227cec890d204ca1dc`
- Licenses: WordNet licenses
- Bundled licenses: `ThirdPartyNotices/CHINESE-OPEN-WORDNET-LICENSE.txt` and
  `ThirdPartyNotices/PRINCETON-WORDNET-LICENSE.txt`

Laowai maps Chinese words that share a synset and follows Princeton WordNet's
hypernym and hyponym links to produce same-concept, broader, and more-specific
groups. Only words already present in the local CC-CEDICT dictionary are
retained. Copyright notices and disclaimers are preserved in the bundled
license copies.

## Universal Dependencies Chinese GSDSimp

- Runtime tables/fields: `ud_token_profiles`, `smart_example_tokens.grammar_role`
- Source: https://github.com/UniversalDependencies/UD_Chinese-GSDSimp/tree/r2.18
- Release: Universal Dependencies 2.18
- Source archive SHA-256: `fd5da78eea0e607896a84272a5f68bbe3fd37b8aa7e2adbf0a6e4cc2b2199ce0`
- License: Creative Commons Attribution-ShareAlike 4.0 International
- License text: https://creativecommons.org/licenses/by-sa/4.0/

The treebank is used to derive conservative, corpus-supported profiles for
function words such as auxiliaries, classifiers, determiners, connectors, and
particles. Laowai does not claim to perform full dependency parsing. A profile
is applied only when it has at least three examples and at least 70 percent of
all source occurrences support the displayed role; existing first-party
grammar annotations are never overwritten.

## Free Mandarin Learner's Dictionary Relations

- Runtime tables: `word_semantic_relations`, `word_grammar_lessons`
- Source: https://github.com/jiong3/fmld
- License: Creative Commons Attribution-ShareAlike 4.0 International
- License text: https://creativecommons.org/licenses/by-sa/4.0/

The app imports only FMLD cross-references for synonyms, antonyms, and measure
words, matched to existing CC-CEDICT entries. It also maps the Chinese keywords
of the first-party grammar lessons to their relevant dictionary words. FMLD
definitions, translations, and examples are not imported. The database records
the FMLD SHA-256 digest and imported relation counts in `dictionary_metadata`.

## Tatoeba Examples

- Runtime tables: `smart_examples`, `smart_example_tokens`,
  `smart_word_examples`, `smart_example_translations`, `smart_example_patterns`
- Source: https://tatoeba.org and https://downloads.tatoeba.org/exports/
- License: CC BY 2.0 FR, with part of the corpus also available under CC0
- Current runtime source marker: `source=tatoeba`

The app imports Chinese-English and Chinese-French sentence pairs for learner
examples, example search, token highlighting, and example-based study tasks.
English and French variants share the same Chinese sentence and tokenization.
The runtime database keeps the original English-pair provenance in
`smart_examples` and stores every retained French translation's Tatoeba
sentence ID, source links, contributor attribution, and license in
`smart_example_translations`. French examples fall back to English when a
French translation is unavailable.

## COERLL Chinese Dialogues

- Runtime catalog: `Resources/COERLL/coerll_dialogues.json`
- Media delivery: 70 versioned Laowai-hosted dialogue clips, downloaded on demand
- Title: Chinese Dialogues
- Creator: Wen-Hua Teng
- Publisher: COERLL, The University of Texas at Austin
- Source: https://coerll.utexas.edu/coerll/oer/chinese-dialogues-podcast/
- Source files: https://drive.google.com/drive/folders/1NBFhcdv83ltni8fwhU7iLHpEmFzxCFbO
- License: Creative Commons Attribution 4.0 International
- License text: https://creativecommons.org/licenses/by/4.0/

Laowai bundles structured simplified, traditional, and English text extracted
from the publisher PDFs. It streams immutable clean dialogue clips from its
media host and caches each opened dialogue. Speaker-turn timings were generated
by Laowai and are not publisher-provided. Dialogue wording is unchanged. The
generated catalog records source file IDs and SHA-256 digests for source and
runtime audio.

## Licensed Graded Reading

- Runtime catalog: `Resources/LicensedReading/licensed_reading_catalog.json`
- Media delivery: versioned Laowai-hosted snapshots, downloaded on demand

The catalog contains full reading text and item-level provenance. Illustrations
and recordings are not embedded in the app bundle: the app retrieves immutable
copies from Laowai's media host and keeps a local cache. Upstream URLs remain in
the catalog as provenance and publishing inputs, not as the production playback
endpoint.

### BloomChinese OER

- Included: 61 HSK 1-4 reading exercises
- Source: https://bloomchinese.com/open-education-resources
- License: Creative Commons Attribution 4.0 International
- License text: https://creativecommons.org/licenses/by/4.0/

Laowai omits the source quizzes and generates traditional-character display
variants from the licensed simplified-Chinese text. Each work retains its source
page and author attribution.

### LIDA Stories Mandarin

- Included: 18 stories whose individual pages are licensed CC BY 4.0
- Source: https://lidastories.net/hongkong/stories/zh/
- License: Creative Commons Attribution 4.0 International
- License text: https://creativecommons.org/licenses/by/4.0/

The 12 LIDA stories carrying a NonCommercial condition are excluded. Included
works retain their author, illustrator, translator, narrator, source page, text,
English translation, illustrations, and Mandarin recording provenance.

### Storybooks Canada Mandarin

- Included: 29 of the 40 Mandarin stories
- Source: https://www.storybookscanada.ca/stories/zh/
- Audio license table: https://github.com/global-asp/gsn-audio
- Licenses: Creative Commons Attribution 3.0 or 4.0, per work
- License texts: https://creativecommons.org/licenses/by/3.0/ and
  https://creativecommons.org/licenses/by/4.0/

The 11 Storybooks Canada works carrying a NonCommercial condition are excluded.
The audio license follows the original story license. Each included work keeps
its specific license version and creator, illustrator, translator, and narrator
credits in the runtime catalog.

### Public-Domain Chinese Classics

- Included: 西遊記 (eBook 23962), 阿Q正傳 (25332), 狂人日記 (25423), 論語
  (23839), 道德經 (7337), 唐詩三百首 (52323), and 聊齋志異 (51828)
- Source catalog: https://www.gutenberg.org/browse/languages/zh
- Per-work source pages and source-file SHA-256 digests: recorded in
  `Resources/LicensedReading/licensed_reading_catalog.json`
- Source status: public domain in the USA, per the source edition
- Project Gutenberg trademark and license policy:
  https://www.gutenberg.org/policy/license

Laowai includes the underlying original-language works, not Project Gutenberg's
distribution wrapper. The builder removes its headers, footers, and license
boilerplate, splits the text into reader-sized chapters or pieces, and generates
a simplified-character display variant with OpenCC. No protected modern
translation, commentary, cover, illustration, or recording is included. The
works are labeled as advanced classics rather than HSK readers; the exact source
edition and review status remain visible in the runtime catalog.

## audio-cmn Mandarin Pronunciations

- Runtime manifest: `Resources/PronunciationAudio/audio-cmn-index.json`
- Media delivery: a versioned Laowai-hosted seekable pack using HTTP byte ranges
- Source: https://github.com/hugolpz/audio-cmn
- Source commit: `ff9ed3d0c631195bd2c06f39450f3264c7124040`
- Original collection: Shtooka `cmn-caen-tan` and `syllabs v.2`
- Word/phrase speaker: Yue Tan
- Syllable speaker: Chen Wang
- Curator and audio processing: Hugo Lopez, PLIDAM, INALCO
- License: Creative Commons Attribution-ShareAlike 3.0 United States
- License text: https://creativecommons.org/licenses/by-sa/3.0/us/

Laowai provides all 8,596 available word and phrase recordings and all 1,707
syllable recordings from the source's `24k-abr` distribution. The MP3 payloads
remain unmodified in one seekable pack. The app downloads and caches only the
indexed byte range for the requested recording instead of bundling or fetching
the complete pack. The manifest records every byte range, exact source commit,
counts, authorship, license, and complete-pack SHA-256. Apple's Mandarin speech
synthesizer remains the fallback for offline misses, missing words, and longer
text.

## Laowai English Legacy Examples

- Runtime table: `smart_examples`
- Source: first-party `LaowaiEN4` `BDVER_8.db` example corpus
- Current runtime source marker: `source=laowai-en-legacy`

The English edition retains compatible examples from the previous Laowai
English app. They are deduplicated against Tatoeba, and each retained row keeps
its original database row identifier and an SHA-256 digest of the source
database in `dictionary_metadata`.

## Laowai English Legacy Learning Content

- Runtime tables: `grammar_lessons`, `word_lists`, `word_list_items`
- Source: first-party `LaowaiEN4` `BDVER_8.db`
- Content: 486 grammar lessons, topic groups, and textbook lesson word lists

The English edition retains this content from the previous Laowai English app,
maps its Chinese words to current CC-CEDICT entries, and records the source
database digest in `dictionary_metadata`. The original grammar reader credits
AllSet Learning Chinese Grammar Wiki as used with permission; retain that
credit with any subsequent grammar-content changes.

## HSK Word Lists

- Runtime tables/files: `word_hsk_levels`, `hsk_example_tasks`,
  `hsk30_terms`, `hsk30_variants`, `word_hsk30_levels`,
  `hsk30_example_tasks`, `word_lists`, `word_list_items`,
  `lists_index.json`
- Source family: public HSK 2.0 and HSK 3.0 vocabulary lists

The app stores normalized HSK level mappings and derived study tasks. The
runtime data should be treated as standardized vocabulary-list metadata mapped
onto local dictionary entries. Keep the exact source snapshots used for HSK
imports with release evidence.

## Generated Pinyin Metadata

- Runtime tables: `example_pinyin`, `smart_examples.pinyin`
- Generation tools: `tools/backfill_example_pinyin.py` using g2pM/g2pW where
  available, plus app fallback transliteration for display

Generated pinyin is bundled as derived metadata over example sentences. The
model/tool version used for a database build should be recorded with release
evidence when regenerating pinyin.

## Simple Glosses

- Runtime file: `simple_glosses_v1.json`
- Generation tool: `tools/simple_gloss_pipeline.py`

The simple glosses file is generated from bundled dictionary articles and local
curated overrides. A previously found external Russian HSK JSON list without a
clear redistribution license was not imported into the runtime bundle.
