The ansi target, txt table styles, kdesc reference from ref/, typeface and table-width fixes (from dev fcec5e2e77ac)
Since the previous release: Machine::read_string() (the fs::path/std::string overload pair split); kdesc -c and -u rendered from the ref/ reflection klammerset; a fit column's tex width measured in TeX over every entry; @typeface resolving to the family its css declares (a store directory name now works in html) and hieroglyphs in @unicode_examples set in their typeface; the ansi target -- plain text with the type styles a terminal can show, identical to txt once the escape sequences are stripped -- with the txt @table carrying :header_style, :style and :hline; @block anchoring, @table spacing and the Image_quality state variable; and the rewritten doc/klammertext_for_llm.md.
This commit is contained in:
1 parent
760fda5470
commit
9b0d0d7897
34 files changed
+895
-394
No files matched your search
@@ -7,10 +7,26 @@
|
||||
:requires sks
|
||||
@@@
|
||||
|
||||
@@diacritics_examples.k : Show the diacritics codes and their result in the text @@
|
||||
@@diacritics_examples.k :
|
||||
Show the diacritics codes and their result in the text @@
|
||||
|
||||
@@diacritics_examples.* :: @eval :cpp *KLAMMERTEXT_HOME*/ref/reflect diacritics_examples @ @@
|
||||
@@diacritics_examples.* ::
|
||||
@eval :cpp *KLAMMERTEXT_HOME*/ref/reflect diacritics_examples @ @@
|
||||
|
||||
@@extended_latin_examples.k : Show the codes and the resulting extended Latin characters @@
|
||||
@@extended_latin_examples.k :
|
||||
Show the codes and the resulting extended Latin characters @@
|
||||
|
||||
@@extended_latin_examples.* :: @eval :cpp *KLAMMERTEXT_HOME*/ref/reflect extended_latin_examples @ @@
|
||||
@@extended_latin_examples.* ::
|
||||
@eval :cpp *KLAMMERTEXT_HOME*/ref/reflect extended_latin_examples @ @@
|
||||
|
||||
@@pinyin_examples.k :
|
||||
Show the four tone markings for Mandarin @@
|
||||
|
||||
@@pinyin_examples.* ::
|
||||
@eval :cpp *KLAMMERTEXT_HOME*/ref/reflect pinyin_examples @ @@
|
||||
|
||||
@@unicode_examples.k :
|
||||
Show examples of Unicode characters @@
|
||||
|
||||
@@unicode_examples.* ::
|
||||
@eval :cpp *KLAMMERTEXT_HOME*/ref/reflect unicode_examples @ @@
|
||||
@@ -53,3 +53,65 @@ std::string extended_latin_examples([[maybe_unused]] Machine& machine)
|
||||
return kt.str();
|
||||
}
|
||||
|
||||
|
||||
extern "C"
|
||||
std::string pinyin_examples([[maybe_unused]] Machine& machine)
|
||||
{
|
||||
std::stringstream kt {};
|
||||
kt << "@table :caption Mandarin pinyin tones (using vowel ``a'') :cell_hpos c c l |\n"
|
||||
<< " @i-Displayed | @i-Written | @i-Name ||\n";
|
||||
|
||||
for (auto [symbol, codename] : pinyin_tones) {
|
||||
auto [code, name] = codename;
|
||||
std::string literal = "^a" + symbol;
|
||||
kt << literal << " | @t ^" << literal << " @ | " << name << " ||\n";
|
||||
}
|
||||
kt << "table@";
|
||||
return kt.str();
|
||||
}
|
||||
|
||||
extern "C"
|
||||
std::string unicode_examples([[maybe_unused]] Machine& machine)
|
||||
{
|
||||
std::stringstream kt {};
|
||||
kt << "\n@b Including Unicode in Klammertext files @\n\n"
|
||||
<< "To specify a wide variety of different letter forms, the Unicode Standard "
|
||||
<< "defines a large set of \"code points\" organized by groups. To include a "
|
||||
<< "Unicode character in Klammertext, you surround its hexadecimal number with "
|
||||
<< "the \"^^\" character. For example, the Cyrillic captial letter \"I\" is \"И\", "
|
||||
<< "included in Klammertext as ^^0418^^.\n\n"
|
||||
<< "To search for Unicode characters by their description, see: @nl@\n"
|
||||
<< "@link https://www.fileformat.info/info/unicode/char/search.htm @\n\n";
|
||||
|
||||
kt << "@table :caption Examples of Chinese characters :cell_hpos c |\n"
|
||||
<< " Character | Unicode | Pinyin ||\n";
|
||||
|
||||
for (auto chr : dao) {
|
||||
std::string code = "^" + chr[1] + "^";
|
||||
kt << process_unicode_codepoint(code) << " | "
|
||||
<< "^" << code << "^" << " | "
|
||||
<< chr[0] << " ||\n";
|
||||
}
|
||||
kt << "table@\n\n";
|
||||
|
||||
|
||||
kt << "@table :caption Examples of Egyptian hieroglyphs :cell_hpos c c c l |\n"
|
||||
<< "Hieroglyph | Unicode | Sound | Gardiner ||\n";
|
||||
|
||||
// The body font carries no hieroglyphs, so the glyph names the
|
||||
// typeface it needs (shipped in fnt/); @document declares and localizes
|
||||
// it. Under txt @typeface passes the text through unchanged.
|
||||
for (auto glyph : ptolemy) {
|
||||
kt << "@typeface noto-sans-egyptian-hieroglyphs :scale 1.5 | "
|
||||
<< process_unicode_codepoint("^" + glyph[2] + "^") << " @ | "
|
||||
<< "^^" + glyph[2] + "^^ | "
|
||||
<< glyph[1] << " | "
|
||||
<< glyph[0] << " ||\n";
|
||||
}
|
||||
kt << "table@\n\n"
|
||||
<< "\nIn @link https://en.wikipedia.org/wiki/List_of_Egyptian_hieroglyphs @, "
|
||||
<< "the Unicode codepoint in the second column of the \"List of hieroglyphs\" "
|
||||
<< "table is the number in the ^^...^^ code used by Klammertext.\n\n";
|
||||
|
||||
return kt.str();
|
||||
}
|
||||
Reference in new issue
Block a user