Files
strans/docs/PROVENANCE.md

94 lines
4.1 KiB
Markdown

# Data and third-party provenance
This file records what can be established from repository contents and
history. It does not assign a license to original strans source code.
## Input maps and dictionaries
`map/hira.map`, `map/kata.map`, and the original map data entered the history
in commit `cc157c0b3c33506d1cbf5bd251ddc6a9ca909081`, whose subject says the
maps came from 9front. That commit does not identify a 9front revision or
carry a separate data license. `map/telex.map` is generated by
`map/mktelex.py`; Vietnamese behavior is retained for compatibility.
`map/emoji.dict` is generated deterministically from the repository-maintained
`map/emoji.src` by `map/mkemoji`. No external dataset is required.
`map/hanja.src` is a single-character subset of libhangul's
`data/hanja/hanja.txt` from release tag `libhangul-0.2.0`. Its immutable
identifiers are:
- annotated tag object: `20afc38922e3595ee3ed5b186f2ea05afe663763`
- peeled commit: `41c702f5d3581325b646ef6249f1f641b0427ae0`
- input blob: `199cfd70c4b306257ac2e018714a1285f7cf0ed3`
- input SHA-256: `dd44dcc856cf542b1022d0f39c2e9b9f8805fdcc5923be80f04849ed97ce0996`
`map/libhangul2hanja` keeps only a one-syllable modern Hangul reading paired
with one BMP Hanja rune. It writes one
`Hanja<TAB>Hangul syllable` pair per row in upstream order; word entries are
not part of this data. `map/mkhanja` groups those rows by reading for the
runtime dictionary without changing candidate order, retaining the first 32
candidates supported by the engine. Exact import and regeneration commands
are in `map/README`.
The upstream data header is BSD 3-Clause licensed, copyright 2005, 2006 Choe
Hwanjin. Its complete license text is in
`LICENSES/BSD-3-Clause-libhangul-hanja.txt`.
`map/kanji.dict` identifies itself as SKK Medium dictionary version 8.1,
May 24, 1995, rearranged for Plan 9 ktrans by Kenji Okamoto on February 17,
2000. Its header names its copyright holders and grants GPL version 2 or
later. The complete GPL version 2 text is in
`LICENSES/GPL-2.0-or-later.txt`; the dictionary header supplies the
"or later" option. `map/README` records the exact repository history,
repairs made to this copy, and the reproducible procedure for importing a
new SKK revision.
## Fonts
The popup bundles Noto Sans, Japanese-region Noto Sans Mono CJK, and Noto
Emoji. Exact checksums, versions or source revisions, download locations
where known, fallback order, and license-file names are recorded in
`font/PROVENANCE`. The corresponding OFL 1.1 and Apache 2.0 texts are kept
beside the fonts.
## stb_truetype
`stb_truetype.h` is Sean Barrett's stb_truetype version 1.26, dated
August 28, 2021 in its header. Its exact repository checksum is:
```text
ecd30b05e0dd4fea3a13c26810dd9e1992dc379049482c393d5a19e6b5090aab
```
The file was present in the repository's first commit,
`dcd1147638f908eca7e4b7616815e215022cc99d`. No upstream commit or download
URL was recorded. Its complete dual MIT/Public Domain terms are retained at
the end of the header.
## Generated Wayland protocol code
The four checked-in Wayland protocol C/header files were added in commit
`7629ec5fe8976812655c9d12b447a62abc8bb671`:
- `input-method-unstable-v2-client-protocol.h`
- `input-method-unstable-v2-protocol.c`
- `virtual-keyboard-unstable-v1-client-protocol.h`
- `virtual-keyboard-unstable-v1-protocol.c`
Their embedded notices identify the protocols as input-method-unstable-v2
and virtual-keyboard-unstable-v1 and include the applicable MIT-style license
terms. The input-method files report generation by wayland-scanner 1.21.0;
the virtual-keyboard files report wayland-scanner 1.23.1. The source XML
files and their upstream repository revisions were not committed or recorded
in history, so these generated files cannot honestly be regenerated
byte-for-byte from repository artifacts. Do not edit them manually. A
future regeneration should commit the source XML or record its immutable
upstream revision and the scanner command/version.
## Git submodules
`cutest` is pinned by the repository as the unit-test framework. XIM uses
the system xcb-imdkit and xcb-util libraries at build time; those system
libraries are not bundled by this repository.