# Drittanbieter-Hinweise

Diese Datei dokumentiert Bestandteile, die nicht ausschließlich unter dem
Sprechnetz-eigenen Rechtebestand stehen. Sie muss bei jeder Weitergabe des
Produkts erhalten bleiben.

## Hanzi Writer

- Komponente: `studium/vendor/hanzi-writer.min.js`
- Version: 3.0.0
- Projekt: https://github.com/chanind/hanzi-writer
- Copyright: © Hanzi Writer contributors
- Lizenz: MIT
- Lizenztext: `third_party_licenses/HANZI_WRITER_MIT.txt`

## Hanzi Writer Data / Make Me A Hanzi / Arphic

- Komponenten:
  - `studium/data/hanzi/stroke_data/*.json`
  - aus Make Me A Hanzi abgeleitete Etymologie-Strukturdaten in
    `studium/data/hanzi/hanziEtymology.Hani.json`
- Projekte:
  - https://github.com/chanind/hanzi-writer-data
  - https://github.com/skishore/makemeahanzi
- Ursprung: Glyphdaten von Arphic Technology Co., Ltd.
- Lizenz: Arphic Public License
- Lizenztext: `third_party_licenses/ARPHICPL.TXT`
- Änderungen: zeichenweise Auswahl, lokale Paketierung und zusätzliche
  sprechnetz-eigene Übersetzungs-/Darstellungsdaten. Die Strichdaten bleiben
  als separat abrufbare JSON-Dateien im statischen Produkt erhalten.

## Kana SVG Data / animCJK

- Komponente: `studium/data/kana/stroke_data/*.json`
- Version: 0.0.2
- Projekte:
  - https://github.com/hy2k/kana-svg-data
  - https://github.com/parsimonhi/animCJK (ursprüngliche Glyphdaten)
- Lizenz: GNU Lesser General Public License v3.0 or later (LGPL-3.0+)
- Lizenztext: `third_party_licenses/LGPL-3.0.txt`
- Änderungen: zeichenweise Auswahl (nur im Kurs tatsächlich verwendete
  Hiragana), Umformung von animCJKs {id,value}-Strichpaaren auf die von
  Hanzi Writer erwarteten parallelen strokes/medians-Arrays. Siehe
  `studium/data/kana/stroke_data/SOURCE.json` für die vollständige Liste.

## CC-CEDICT

- Verwendung: englische Kurzglossen und einzelne Pinyin-Grunddaten in
  `studium/language/{de,en}/hanzi_knowledge.*.json`
- Projekt: https://www.mdbg.net/chinese/dictionary?page=cc-cedict
- Lizenz: Creative Commons Attribution-ShareAlike 4.0 International
- Lizenz: https://creativecommons.org/licenses/by-sa/4.0/
- Attribution: CC-CEDICT contributors.
- Änderungen: Auswahl einzelner Einträge, Kürzung von Glossen und dokumentierte
  Lesartkorrekturen. Die abgeleiteten Datendateien werden separat und
  maschinenlesbar ausgeliefert.
- Noch vor der kommerziellen Freigabe einzutragen: verwendeter Datenstand,
  Abrufdatum und Archiv-/Commit-Kennung.

## Wikimedia Commons – Ancient Chinese Characters Project

- Verwendung: eingebettete historische Zeichenformen in
  `studium/language/{de,en}/hanzi_knowledge.*.json`
- Quelle: Wikimedia Commons, Ancient Chinese Characters Project
- Kennzeichnung der Ursprungspipeline: Public Domain / `PD-ancient-script`
- Projektseite: https://commons.wikimedia.org/
- Änderungen: SVG-Bereinigung, Größenanpassung und Einbettung in JSON.
- Noch vor der kommerziellen Freigabe zu ergänzen: konkrete Commons-Dateiseite
  und Lizenzbeleg je eingebettetem SVG. Fundstellenangaben allein ersetzen
  diesen Herkunftsnachweis nicht.

## Shuowen Jiezi / Chinese Text Project

- Verwendung: klassische Zitate für eine kleine Teilmenge der Etymologie
- Werk: 《說文解字》, Xu Shen, ca. 100 n. Chr.; gemeinfreier historischer Text
- Digitaler Abruf: https://ctext.org/dictionary.pl
- Sprechnetz-Erklärungen und Übersetzungen sind neu erstellt und müssen vor
  Veröffentlichung fachlektoriert werden.

## Noto-Schriften (Google Fonts)

- Komponenten:
  - `studium/fonts/NotoSansArabic-Regular.woff2`,
    `NotoSansHebrew-Regular.woff2`, `NotoSerifThai-Regular.woff2`
  - `studium/fonts/scriptLearn/*.woff2` — 157 je Schrift auf die benötigten
    Codepunkte reduzierte Teilmengen für die Sektion „Schriftzeichen lernen“
- Projekt: https://fonts.google.com/noto (Noto Project Authors)
- Lizenz: SIL Open Font License 1.1
- Lizenztext: `third_party_licenses/NOTO_OFL.txt`
- Änderungen: Subsetting auf die Zeichen des jeweiligen Graphem-Inventars
  (zzgl. Leerzeichen und U+25CC) und Umwandlung von TTF nach woff2 mittels
  `pyftsubset`, siehe `tools/build_scriptLearn_fonts.mjs`. Familiennamen bleiben
  unverändert; Herkunftsdatei und SHA-256 je Asset stehen in
  `studium/fonts/fonts.json`.

## Weltkarten-Vorlage (`studium/data/scriptLearn/worldMap.svg`)

- Verwendung: Mini-Weltkarte „Geschrieben in N Ländern“ in der Sektion
  „Schriftzeichen lernen“; die Länderpfade (`id="xx"`, ISO 3166-1 alpha-2)
  werden je Schrift eingefärbt.
- Herkunft im Projekt: übernommen aus
  `Sprechnetz_designer_v6/laendersprachen/data/BlankMap-World_gray.svg`
  (unverändert, siehe `tools/import_scriptLearn_geo.mjs` und
  `reports/scriptLearn-geo-import.json` mit SHA-256).
- Quelle: Wikimedia Commons, Kartenserie „BlankMap-World“ (Angabe des
  Projektinhabers, 2026-07-25). Die Datei selbst trägt keine eingebetteten
  Lizenz- oder Urhebermetadaten.
- Projektseite: https://commons.wikimedia.org/
- Lizenz: Die Karten dieser Serie stehen auf Commons üblicherweise als Public
  Domain bzw. unter CC-BY-SA. **Die konkrete Dateiseite und die dort genannte
  Lizenzvariante sind noch nicht belegt** — vor der kommerziellen Freigabe
  nachzutragen, analog zum bereits vermerkten Vorgehen beim Ancient-Chinese-
  Characters-Projekt. Fundstellenangabe allein ersetzt den Herkunftsnachweis
  nicht.
- Änderungen: unverändert übernommen; die Länderpfade (`id="xx"`) werden zur
  Laufzeit nur per CSS-Klasse eingefärbt.

## Länder-Detailkarten (`studium/data/laenderSprachen/countries/*.svg`)

- Verwendung: Sektion „Länder & Sprachen“ (`studium/laenderSprachen.html`) —
  232 Landkarten mit Provinz-/Regionsgliederung für den Drilldown.
- Herkunft im Projekt: übernommen aus
  `Sprechnetz_designer_v6/laendersprachen/data/countries/` (unverändert, siehe
  `tools/import_laenderSprachen.mjs` und `reports/laenderSprachen-import.json`).
- Quelle: SimpleMaps (Angabe des Projektinhabers, 2026-07-25); die zugehörigen
  `*.langmap.json` weisen bei einem erheblichen Teil der Länder entsprechend
  `"idScheme": "simplemaps"` aus. Bezogen wurden nach Angabe des
  Projektinhabers die **quelloffen bereitgestellten** Karten. SimpleMaps
  vertreibt daneben auch kostenpflichtige Produkte — maßgeblich ist hier die
  freie Variante.
- Projektseite: https://simplemaps.com/
- Lizenz: Die frei angebotenen Karten von SimpleMaps stehen üblicherweise unter
  **CC-BY 4.0 mit Namensnennungspflicht**. **Die konkrete Lizenzvariante und
  der geforderte Attributionstext sind noch nicht belegt** — vor der
  Veröffentlichung nachzutragen, damit die Namensnennung tatsächlich erfolgt.
  Die SVG-Dateien selbst enthalten keine Urheber- oder Lizenzangaben.
- Änderungen: unverändert übernommen; Regionen werden zur Laufzeit nur per
  CSS-Klasse eingefärbt.

## Geländerelief (`studium/data/laenderSprachen/terrain/`)

- Verwendung: abschaltbare Relief-Ebene („🏔️ Relief“-Knopf) hinter der
  Weltkarte (`terrain/world.jpg`) und den 209 Länder-Detailkarten
  (`terrain/countries/<slug>.jpg`) in der Sektion „Länder & Sprachen“.
- Quelle: Natural Earth, Datensatz „Cross-blended Hypso with Shaded Relief and
  Water“, 50 m-Auflösung (`SR_50M.tif`, 10.800×5.400 Pixel, Graustufen).
  Bezogen von https://www.naturalearthdata.com/ (Spiegel:
  https://naciscdn.org/naturalearth/50m/raster/SR_50M.zip).
- Lizenz: **Public Domain.** Natural Earth stellt seine Daten ausdrücklich
  ohne Nutzungsbeschränkung und ohne Namensnennungspflicht zur Verfügung
  („No permission is needed to use Natural Earth. Crediting the authors is
  unnecessary.“, siehe naturalearthdata.com/about/terms-of-use/). Diese
  Angabe hier erfolgt trotzdem aus Transparenz.
- Verarbeitung: das Roh-Relief wurde offline pro Kartenausschnitt in das
  jeweils eigene SVG-Koordinatensystem hineingerechnet (Details und
  Grenzen der Methode in `TERRAIN_README.md` neben dieser Datei). Zur
  Georeferenzierung der Länder-Detailkarten wurden zusätzlich Natural
  Earth „Admin 0 – Countries“ (50 m) und „Admin 1 – States, Provinces“
  (10 m) als Passpunkt-Quelle verwendet (ISO-3166-2-Code ↔ Flächen-
  schwerpunkt) — auch diese stehen unter denselben Nutzungsbedingungen.
  Aus diesen Grenzdaten selbst wird nichts angezeigt oder ausgeliefert,
  sie dienten ausschließlich der Berechnung.
- Änderungen: aus dem Originalraster ausgeschnitten, pro Karte verzerrt
  (Affintransformation bzw. Bounding-Box-Skalierung, siehe
  `TERRAIN_README.md`) und als JPEG (Qualität 85) neu kodiert. Keine
  inhaltliche Bearbeitung der Reliefwerte selbst.

## Aussprache-Aufnahmen (`studium/audio/laenderSprachen/`)

- Verwendung: 62 gesprochene Vorstellungssätze („Hallo, ich spreche X …“) in der
  Sektion „Länder & Sprachen“.
- Herkunft: `Sprechnetz_designer_v6/audio/audio_<lang>/`, erzeugt während der
  Entwicklung über `edge-tts`.
- Es gilt derselbe Vorbehalt wie im Abschnitt „Microsoft-Sprachausgabe“: vor
  einer kommerziellen Veröffentlichung durch Aufnahmen mit dokumentierter
  Rechtekette oder eine ordnungsgemäß lizenzierte Schnittstelle ersetzen.

## Länderzuordnung je Schrift (`studium/data/scriptLearn/scriptGeo.v1.json`)

- Verwendung: welche Länder für eine Schrift markiert werden.
- Herkunft: Ausschnitt (`byScript`) aus
  `Sprechnetz_designer_v6/laendersprachen/data/learn_bridge.v1.json`, einer
  projekteigenen, generierten Zusammenführung (`build_learn_bridge.py`).
- Abdeckung: 37 der 164 angebotenen Schriften. Für die übrigen entfällt die
  Karte ersatzlos — es werden keine Länderzuordnungen geschätzt.
- **Bedeutung der Liste** (wichtig für die Beschriftung): sie enthält die
  Vereinigungsmenge aller Länder, in denen irgendeine Sprache gesprochen wird,
  die diese Schrift verwendet — Minderheiten- und Zuwanderungssprachen
  eingeschlossen. Sie ist *keine* Liste der Länder, in denen die Schrift im
  Alltag geschrieben wird. Beispiel: `Cyrl` enthält CN, GR, HR, IL und PL
  (russisch-, kasachisch- oder bulgarischsprachige Minderheiten), obwohl dort
  nicht kyrillisch geschrieben wird. Die Oberflächentexte
  `hsk.scriptLearn.geoTitle`/`geoNote` sind entsprechend zurückhaltend
  formuliert; sie dürfen nicht zu „geschrieben in N Ländern“ verschärft werden.

## eSpeak NG

- Verwendung: Werkzeug zur Erzeugung der IPA-Hilfsdaten während des Builds.
- Projekt: https://github.com/espeak-ng/espeak-ng
- Die Anwendung liefert keine eSpeak-Binärdatei aus.

## PHOIBLE 2.0

- Verwendung: additive, nicht automatisch aktivierte Referenzdaten für
  Phoneminventar-Abgleich, distinktive Merkmale, Allophone und mögliche
  Inventarkandidaten in
  `studium/language/*/phonetics/phoneticsReference.*.json`.
- Projekt: https://phoible.org/
- Herausgeber: Steven Moran und Daniel McCloy (2019), PHOIBLE 2.0.
- Datenstand: Commit
  `404b9c17e487f77025c13b419c6c21ee05fa57e2` des PHOIBLE-Datenrepositories.
- Lizenz der Daten: Creative Commons Attribution-ShareAlike 3.0 Unported
  (CC BY-SA 3.0), https://creativecommons.org/licenses/by-sa/3.0/
- Änderungen: Zuordnung zu ISO 639-3, Auswahl des am besten mit dem jeweils
  kuratierten Sprechnetz-Profil übereinstimmenden Einzelinventars,
  Unicode-/IPA-Normalisierung, Aggregation von Merkmalen und getrennte
  Kennzeichnung nicht geprüfter Kandidaten. Die PHOIBLE-Referenzen bleiben
  maschinenlesbar und getrennt von den Sprechnetz-eigenen Phonetikprofilen.

## Microsoft-Sprachausgabe

Die derzeitigen Audioassets wurden während der Entwicklung über `edge-tts`
erzeugt. `edge-tts` ist keine im Projekt dokumentierte, vertraglich gebundene
Azure-Speech-Produktionsschnittstelle. Die Dateien sind deshalb **nicht für
die kommerzielle Veröffentlichung freigegeben**. Vor Release sind sie durch
Aufnahmen mit dokumentierter Rechtekette oder durch eine ordnungsgemäß
lizenzierte Produktionsschnittstelle zu ersetzen.

Der Browser kann optional die lokal installierte System-Sprachausgabe des
Endgeräts als Laufzeit-Fallback verwenden. Dabei wird vom Sprechnetz-Server
kein Text an einen eigenen TTS-Dienst übertragen; Verhalten und mögliche
Netzwerknutzung hängen vom Betriebssystem und der ausgewählten Systemstimme ab.

## Transformers.js (`studium/vendor/transformers/`)

- Verwendung: Ausführung der lokalen Spracherkennung im Phonetik-Modul
  (`studium/phonetik.html`). Enthält die WebAssembly-Laufzeit von
  ONNX Runtime Web.
- Projekt: https://github.com/huggingface/transformers.js
- Lizenz: Apache-2.0 (Volltext in `studium/vendor/transformers/LICENSE`)
- Ausgeliefert werden `transformers.min.js` sowie die WebAssembly-Dateien
  `ort-wasm.wasm` und `ort-wasm-simd.wasm` (ONNX Runtime Web, ebenfalls MIT
  bzw. Apache-2.0, Teil desselben Pakets).
- Die Bibliothek ist bewusst lokal abgelegt statt über ein CDN eingebunden:
  die Content-Security-Policy dieses Deploys erlaubt nur die eigene Herkunft.

## Whisper (`studium/vendor/whisper-base/`)

- Verwendung: Spracherkennung beim Nachsprechen im Phonetik-Modul. Läuft
  vollständig im Browser des Endgeräts; es wird **kein Audio an einen Dienst
  übertragen**.
- Modell: `Xenova/whisper-base`, quantisierte ONNX-Fassung des
  OpenAI-Whisper-Modells (~78 MB: Encoder, Decoder, Tokenizer, Konfiguration).
  Zunächst war `whisper-tiny` (~43 MB) eingebunden; an einer echten Aufnahme
  getestet, halluzinierte tiny bei einem einzeln gesprochenen Wort einen
  kompletten, falschen Satz — ein bekannter Schwachpunkt kleiner
  Whisper-Modelle bei kurzen isolierten Wörtern. `base` ist dafür deutlich
  weniger anfällig.
- Quelle: https://huggingface.co/Xenova/whisper-base
- Lizenz: MIT (OpenAI Whisper, ebenso die ONNX-Konvertierung)
- Hinweis zur Güte: auch `whisper-base` ist ein kleines Modell. Bei einzeln
  gesprochenen Wörtern ohne Satzkontext liegt es häufiger daneben als bei
  zusammenhängender Rede — die Erkennung ist ein Hinweis, kein Messwert.
