TaigiKeyboard (台語齒盤) — copyright and licence information

Upstream source: https://github.com/taigikeyboard/taigikeyboard
Contact: TaigiKeyboard <info@taigikeyboard.tw>

The program is licensed under the Apache License, Version 2.0. On Debian
systems the full text of that licence is in
/usr/share/common-licenses/Apache-2.0.

Not everything in this package is under that licence. Below, in order: the
NOTICE (attribution), the third-party inventory,
the SIL Open Font License 1.1 that covers the bundled typefaces in
/usr/share/fonts/*/taigikeyboard/,
and the per-source terms of the dictionary data in
/usr/share/taigikeyboard/dictionaries/.

========================================================================
NOTICE

TaigiKeyboard
Copyright 2025-2026 Soo Bîn-hiân 蘇民弦

This product includes software developed by Soo Bîn-hiân 蘇民弦
(https://github.com/taigikeyboard/taigikeyboard).

Licensed under the Apache License, Version 2.0. See the LICENSE file.

------------------------------------------------------------------------

This product also includes third-party software and data that are NOT
covered by the Apache License, Version 2.0, and that remain under their
own terms:

  * Third-party source code, fonts, and Unicode data
    See THIRD_PARTY_LICENSES.md for the full inventory and licence texts.

  * Taiwanese-language dictionary data (dictionary/, and the compiled
    dictionary artifacts shipped inside every application package)
    Each source keeps its original licence. One source is licensed
    CC BY-NC-SA 3.0 TW (non-commercial); others are CC BY-SA 4.0, CC BY 4.0,
    CC BY-ND 3.0 TW, CC0, or 開放政府資料授權條款 1.0; some have not yet been
    determined. The dictionary data is NOT relicensed under Apache-2.0.
    See dictionary/LICENSE and dictionary/docs/SOURCES.md.

Redistributors of this software must comply with the terms of every
component listed above, not only with the Apache License.

========================================================================
THIRD_PARTY_LICENSES.md

# Third-party licences

TaigiKeyboard's own source code is licensed under the Apache License,
Version 2.0 (`LICENSE`). This file inventories everything in this repository —
and everything shipped inside a released application package — that is **not**
covered by that licence.

Dictionary data is inventoried separately, in `dictionary/LICENSE` and
`dictionary/docs/SOURCES.md`, because its terms differ per source and it is
the one component that is not open source.

## Fonts (shipped inside every application package)

All four are licensed under the **SIL Open Font License, Version 1.1**
(OSI-approved). The licence text is in `assets/fonts/OFL-1.1.txt`, beside the files it covers; the per-font
copyright lines below were read out of each font's own `name` table.

| Font | File | Copyright / upstream |
| --- | --- | --- |
| 芫荽 Iansui | `iansui_regular.ttf` | Copyright 2025 The Iansui Project Authors (<https://github.com/ButTaiwan/iansui>). Designed by But Ko / Fontworks Inc.; derived from Klee One. |
| jf open 粉圓 2.1 | `jf_openhuninn_2_1.ttf` | justfont (<https://justfont.com/huninn>). Latin/kana components: Kosugi Maru © 2010 MOTOYA CO.,LTD.; Varela Round © 2011-2016 The Varela Round Project Authors, with Reserved Font Names "Varela" and "Varela Round". |
| 源樣烏體 GenYoGothic2 TW | `genyogothic2tw_r.otf` | ButTaiwan (<https://github.com/ButTaiwan/genyo-font>); derived from Adobe Source Han Sans. |
| 源樣明體 GenYoMin2 TW | `genyomin2tw_r.otf` | ButTaiwan (<https://github.com/ButTaiwan/genyo-font>); derived from Adobe Source Han Serif. |

The four files live once, at `assets/fonts/font/`, and all five platforms package that
one copy. The file names follow Android's resource-naming rules so its `res/`
merge can read the shared directory unchanged; iOS and macOS ask for the PostScript names inside
the files (`Iansui-Regular`, `jf-openhuninn-2.1`, `GenYoGothic2TW-R`,
`GenYoMin2TW-R`); Windows asks DirectWrite for their family names (`Iansui`,
`jf-openhuninn-2.1`, `GenYoGothic2 TW`, `GenYoMin2 TW`).

## Vendored source

| Component | Path | Licence | Copyright |
| --- | --- | --- | --- |
| ISEmojiView | `ios/Vendor/ISEmojiView/` | MIT | © 2015 isaced |
| androidx material icon path data | `android/app/src/main/java/com/siansiansu/taigikeyboard/ui/components/TaigiIcons.kt` | Apache-2.0 | © 2025 The Android Open Source Project |
| Font Awesome Free 6.7.2 icon path data (`heart`, `globe`, `github`, `discord`, `envelope`) | `macos/Sources/TaigiInputMethodCore/Settings/Components/FontAwesomeGlyph.swift`, `windows/crates/taigi-windows-settings/src/winui/font_awesome.rs` | CC BY 4.0 | © 2024 Fonticons, Inc. (<https://fontawesome.com/license/free>) |
| Inno Setup Traditional Chinese messages | `windows/installer/Languages/ChineseTraditional.isl` | Inno Setup licence | Translation by Enfeng Tsao, based on Samuel Lee's 5.5.3+ work; from `jrsoftware/issrc` at tag `is-6_7_3`, where it is an unofficial translation under `Files/Languages/Unofficial/`. Compile-time input to the installer's message table only — the file itself is not shipped. |

`TaigiIcons.kt` carries its own Apache-2.0 header; the path data was extracted
verbatim from `androidx.compose.material:material-icons-extended` to drop the
transitive dependency.

The Font Awesome path data draws the About page's sponsor, website, GitHub, Discord
and email links on macOS and Windows. Both files carry the attribution comment
Font Awesome ships in its SVGs, which is the credit CC BY 4.0 asks for; the
paths were rewritten as absolute commands and scaled to a 16-unit height, and
no Font Awesome font file is bundled.

## Bundled data (other than the Taiwanese dictionary)

| Component | Path | Licence |
| --- | --- | --- |
| SymSpell `frequency_dictionary_en_82_765.txt`, filtered | `android/app/src/main/assets/english_freq.txt` | MIT © Wolf Garbe (<https://github.com/wolfgarbe/SymSpell>) |

Drives English-mode autocomplete on Android. Frequencies derive from Google
Books Ngram + SCOWL. Regenerate with `android/tools/build_english_freq.py`.

## Submodules and sibling repositories

| Component | Licence |
| --- | --- |
| `taigi-converter/` (git submodule) | MIT © 2026 TaigiKeyboard |
| `emoji/` | MIT © 2026 TaigiKeyboard |

`emoji/` embeds pinned snapshots of Unicode `emoji-test.txt` and CLDR
annotation XML under the **Unicode License** (OSI-approved as `Unicode-3.0`).
Provenance is recorded in `emoji/data/SOURCES.md`.

`taigi-converter` ships `jf-openhuninn-2.1.ttf` for its web demo; same OFL-1.1
terms as above.

## Rust dependencies

The engine and macOS workspaces admit only OSI-approved licences, enforced in CI
(`.github/workflows/security.yml`) by `cargo deny` against the allowlist in
`engine/deny.toml`; the Windows, desktop and Linux workspaces have no `deny.toml`
and get `cargo audit` (advisories) only:

    MIT, Apache-2.0, Apache-2.0 WITH LLVM-exception, BSD-2-Clause,
    BSD-3-Clause, ISC, Unicode-DFS-2016, Unicode-3.0, Zlib

Unknown registries and unknown git sources are denied. Reproduce the full
transitive inventory with:

```sh
cargo deny --manifest-path engine/Cargo.toml   list
cargo deny --manifest-path windows/Cargo.toml  list
```

Direct dependencies of note (engine and Windows workspaces; the Linux
GTK / libadwaita / zbus stack and other `desktop/` / `linux/` crate dependencies
are not yet inventoried here):

| Crate | Licence | Note |
| --- | --- | --- |
| `prost` | Apache-2.0 | Protobuf runtime across the FFI boundary |
| `fst` | MIT / Unlicense | Prefix index |
| `memmap2` | MIT / Apache-2.0 | Dictionary mmap host |
| `rusqlite` (feature `bundled`) | MIT | **Statically links SQLite**, which is public domain |
| `windows`, `windows-core`, `windows-sys`, `windows-numerics` | MIT / Apache-2.0 | Microsoft Windows API bindings |
| `windows-reactor`, `windows-reactor-setup` | MIT / Apache-2.0 | Pinned git revision of `microsoft/windows-rs` |
| `swift-bridge`, `jni` | MIT / Apache-2.0 | Platform FFI glue |
| `serde`, `serde_json`, `thiserror`, `log`, `uuid`, `tempfile`, `sha2`, `regex`, `once_cell`, `indexmap`, `unicode-normalization`, `unicode-properties` | MIT / Apache-2.0 | |
| `rfd` | MIT | Native file dialogs (Windows settings app) |
| `raw-window-handle` | MIT / Apache-2.0 / Zlib | |

## Apple platform dependencies (iOS and macOS)

| Package | Version | Licence |
| --- | --- | --- |
| KeyboardKit | 10.9.0 | MIT © 2016-2025 Daniel Saidi |
| swift-protobuf | 1.38.1 | Apache-2.0 |
| KeyboardShortcuts (macOS only) | 3.0.1 | MIT © Sindre Sorhus |
| **LicenseKit** | 2.1.3 | **Closed source, commercial** — see below |

> **LicenseKit is not open source.** It reaches this project only as a
> transitive dependency of KeyboardKit 10.x on **iOS**, resolved by SwiftPM.
> It is not vendored here, is not used by any first-party code, and is absent
> from the macOS, Android, Windows and Linux builds — in particular it is absent
> from the Windows installer and from every artifact this project submits for
> code signing. It is recorded here rather than omitted, because an accurate
> inventory is worth more than a clean-looking one.

## Android dependencies

Google/JetBrains first-party libraries, all **Apache-2.0**: `androidx.*`
(appcompat, core-ktx, preference-ktx, activity, lifecycle, compose, datastore),
`com.google.android.material:material`,
`org.jetbrains.kotlinx:kotlinx-coroutines-*`, `com.squareup.moshi:moshi-kotlin`.

`com.google.protobuf:protobuf-javalite` is **BSD-3-Clause**.

## Reference repositories

`references/` holds clones of other input methods consulted while designing
this one. It is `.gitignore`d — **no third-party code is tracked in this
repository through it**, and nothing under it is compiled into a release.
`docs/references/mainstream-ime-comparison.md` records what was studied and
what was deliberately not adopted.

========================================================================
fonts/OFL-1.1.txt

Copyright (c) <dates>, <Copyright Holder> (<URL|email>),
with Reserved Font Name <Reserved Font Name>.
Copyright (c) <dates>, <additional Copyright Holder> (<URL|email>),
with Reserved Font Name <additional Reserved Font Name>.
Copyright (c) <dates>, <additional Copyright Holder> (<URL|email>).

This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
https://openfontlicense.org


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

========================================================================
dictionary/LICENSE

# Dictionary data licences

**The dictionary data in this directory is NOT covered by the repository's
Apache License, Version 2.0.** Each source keeps its original terms. The
compiled artifacts built from it — `dictionary/output/dictionary.bin`,
`dictionary.fst`, `association.bin`, `syllables.fst`, and the copies staged
into every application package — merge all of these sources into one index and
are **not separable** back into per-source rows.

Anyone redistributing this repository, or any application package built from
it, must satisfy every row below. `dictionary/docs/SOURCES.md` carries
publisher, origin URL, capture date, and pipeline notes per source.

## Status

Row counts are from `dictionary/output/dictionary.csv` (168,351 rows total).
"Exclusive" counts rows that no other source also supplies.

| Source | Rows | Exclusive | Licence | Verified |
| --- | --- | --- | --- | --- |
| `kautian` 教育部臺灣台語常用詞辭典 | 57,334 | 32,641 | **CC BY-ND 3.0 TW** | ✅ 2026-09-05, publisher's own 版權聲明 |
| `variants` 異用字 | — | — | inherits `kautian` | ✅ derived from `kautian`'s 異用字 sheet |
| `taijit` 台日大辭典 | 64,250 | 39,390 | **CC BY-NC-SA 3.0 TW** — non-commercial | ✅ 2026-09-05, ChhoeTaigi database README |
| `taihoa` 台華線頂對照典 | 57,477 | 28,873 | CC BY-SA 4.0 | ✅ 2026-09-05, ChhoeTaigi |
| `itaigi` 華台對照典 | 15,927 | 10,568 | **CC0** | ✅ 2026-09-05, ChhoeTaigi |
| `sitbut` 台灣植物名彙 | 1,351 | 540 | CC BY-SA 4.0 | ✅ 2026-09-05, ChhoeTaigi |
| `taigitv` 公視台語新詞辭庫 | 2,114 | 1,482 | CC BY 4.0 | ✅ 2026-09-05, publisher |
| `stti` 學科術語辭典 | 4,901 | 2,411 | 開放政府資料授權條款 1.0 | in-app credits screen; publisher statement not re-confirmed |
| `kungge` 台語工藝詞庫 | 994 | 668 | no data licence published; images-only CC BY-NC-ND | ✅ 2026-09-07, publisher's 圖像授權 page |
| `khiin` frequency data | 8,086 | 8,086 | **Unverified** | Khiin project (<https://github.com/khiin-pjh/khiin>); the specific file's terms not confirmed |
| `khpoo` 齒盤補充辭典 | 4,198 | 3,579 | **Unverified** | origin and rights holder not established |
| `lkk` 漢羅合用建議用字 | 58 | 58 | **Unverified** | origin and rights holder not established |
| `char_freq_merged.txt` | — | — | **Unverified** | corpus provenance not established |
| `dev` 開發者補充辭典 | 3,449 | 2,563 | Apache-2.0 | written by this project's maintainers |

The in-app credits screen (Home tab → 著作權) was the more accurate record for
`kautian`, `itaigi`, and `taijit`, where this pipeline's own notes had drifted.
It was **wrong** about `kungge`, which it labelled CC BY-NC 4.0 with no source;
that was corrected on 2026-09-07 against the publisher's own page. Neither
record is authoritative on its own — verify against the publisher.
`dictionary/LICENSE` is the single place the record lives.

## `kautian` — what is taken, and why CC BY-ND permits it

教育部's 版權聲明 (<https://sutian.moe.edu.tw/zh-hant/piantsip/pankhuan-singbing/>,
read 2026-09-05) releases the dictionary's 文字、音檔內容 under
**創用CC 姓名標示-禁止改作 3.0 臺灣 (CC BY-ND 3.0 TW)**.

There is **no NonCommercial term** — commercial use is permitted. What the
licence withholds is the right to distribute Adaptations.

What this project actually takes from that source is narrow. The pipeline's
`select` stage (`dictionary/sources/official/kautian/config.yaml`) reads
exactly two columns — **漢字 and 羅馬字** — from eight sheets, plus the
accent-difference sheet. It takes no 釋義, no 例句, no 華語對照, and no audio.
The shipped `dictionary.csv` has no definition or example column at all: every
other field is either a mechanical romanization transform this project computes
(`poj`, `tl_num`, `tps_num`, `*_notone`, `*_abbrev`), a frequency drawn from a
separate corpus, or a source bit.

That matters twice over:

- A pairing of a word with its pronunciation is a **fact about the language**,
  not 教育部's original expression. 著作權法 §10-1 extends protection to
  expression, not to the ideas, discoveries, or facts expressed.
- CC BY-ND 3.0 §3 expressly permits reproducing the Work, incorporating it
  into **Collections**, and making "such modifications as are technically
  necessary to exercise the rights in other media and formats". Assembling
  entries alongside eight other sources into a lookup index, and re-encoding
  that index as an FST, reads naturally as a Collection plus a format change
  rather than an Adaptation.

Attribution is required, and the application provides it on the Home tab →
著作權 screen.

This is the maintainer's reading, recorded so that it can be checked rather
than re-derived. It is not legal advice.

## `kungge` — what the publisher actually licenses

The publisher is **國立臺灣工藝研究發展中心 (NTCRI)**, not 教育部, and the site is
<https://kanggesu.ntcri.gov.tw/NTCRI_TaigiWebSite> (read 2026-09-07). The site has
three pages — 首頁, 關於本站, 圖像授權 — and the only licence statement on any of
them is the last one:

> 姓名標示-非商業性-禁止改作 — 僅允許使用者在下載授權者的著作之後，依原狀態分享
> 出去。使用者必須按照授權者指定的方式表彰其姓名，但不得對著作進行任何方式的改變，
> 或為商業目的之使用。

Three things follow, all of which contradict the record this file carried until
2026-09-07:

- The terms are **CC BY-NC-ND**, not CC BY-NC 4.0. No version is stated and the
  page links no CC deed.
- The page is titled **圖像授權 / `ImageLicense`**. It governs the 示意圖片, which
  this project does not take.
- There is **no licence statement covering the vocabulary itself**.

The 關於本站 page lists the glossary's components as 詞彙名稱（臺灣台語及華語對應
詞）、臺灣台語羅馬字拼音、真人發音音檔、示意圖片、語詞說明. The pipeline's `select`
stage keeps only the first two, and only their Taiwanese side: the shipped
`dictionary/sources/official/kungge/data/kungge.csv` has `hanzi` and `tl` plus
this project's own computed romanization transforms and a corpus frequency. The
raw scrape's `memo` (語詞說明), `audioPath`, `isHaveImage`, `provider`, and
`mainTypeName` fields are all dropped.

So the position is the same one recorded for `kautian` above, and rests on the
same ground rather than on a grant: a word paired with its pronunciation is a
**fact about the language**, and 著作權法 §10-1 extends protection to expression,
not to facts. The publisher's stated terms restrict the images and the prose,
neither of which this project redistributes.

Attribution is still given — Home tab → 著作權 credits 國立臺灣工藝研究發展中心 and
links both the site and its 圖像授權 page.

This is the maintainer's reading, recorded so that it can be checked rather than
re-derived. It is not legal advice.

## Non-commercial and share-alike obligations

`taijit` (CC BY-NC-SA 3.0 TW, 64,250 rows) is the **only** source carrying a
NonCommercial term over data this project ships. Because the compiled artifacts
merge every source into one inseparable index, **the compiled dictionary as
shipped must be treated as non-commercial**, regardless of the Apache-2.0
licence on this repository's source code. Neither `kautian` nor `kungge` is a
reason for that; `taijit` is.

`taihoa` and `sitbut` (CC BY-SA 4.0) and `taijit` (CC BY-NC-SA 3.0 TW) each
carry ShareAlike obligations. Whether one merged index can satisfy the
ShareAlike terms of two different licence versions at once has not been
analysed.

## What "Unverified" means here

Exactly what it says: **no redistribution licence has been identified for that
source.** It is not a claim that the data is public domain, open data, freely
reusable, or usable with attribution. A file being downloadable, or a dataset
being published by a government body, does not by itself grant a right to
reproduce, adapt, or redistribute it.

## Attribution

Applications built from this repository must credit at minimum:

- 中華民國教育部《臺灣台語常用詞辭典》 — <https://sutian.moe.edu.tw/>
- ChhoeTaigi 找台語 — <https://github.com/ChhoeTaigi/ChhoeTaigiDatabase>
- 公共電視文化事業基金會 / 公視台語台 — <https://www.taigitv.org.tw/taigi-words>
- 國立臺灣工藝研究發展中心《臺灣台語工藝詞庫》 — <https://kanggesu.ntcri.gov.tw/NTCRI_TaigiWebSite>
- 國家教育研究院
