Skip to content

Releases: rosettatype/hyperglot

0.8.1

11 Mar 12:08

Choose a tag to compare

  • DATA: "unknown" allowed for Language speaker counts where cannonically there is no data (note: by contrast, omitting the speaker attribute communicates the data is incomplete in that regard)
  • DATA: No commas in language names/preferred_names
  • DATA: Nepali and Zaza added as macrolanguages
  • DATA: Removed stray Latin chars in Japanese Hiragana orthography
  • TWEAK: Upgraded to pyproject.toml config
  • TWEAK: Checker._get_checks_for_orthography redefined as class method, to allow for easier inspecting of what checks are opted in an orthgraphy
  • TWEAK: Check now have precheck method to initialize and indicate pass early on

0.8.0

17 Feb 18:25

Choose a tag to compare

  • LICENSE: Relicensed under Apache License 2.0
  • FIX: Shaper.check_joining refined to not be more lenient and not fail fonts with other than one-to-one positional substitutions or general sequence manipulating ccmp code
  • FIX Using a --status that does not include 'living' no correctly omits these languages
  • TWEAK: Better output with -v: Consequently log skipped languages and orthographies plus the skipping the reason
  • FEATURE: Added -t/--shaping-threshold that allows fine-tuning conjunct check failures by accounting for conjunct frequency
  • FEATURE: Added --no-shaping flag to disable shaping checks entirely (on by default)
  • DATA: Modified multitudes of design_requirements, dropped design_alternates
  • DATA: jpn Latin orthography marked as secondary
  • DATA: Introduced combinations orthography attribute
  • DATA: hin and mai include syllable combinations with frequencies distributions (1: most common, 0: least common)
  • TWEAK: design_requirments can now be either a string, or a dict of note + alternates (detailing which characters are affected)
  • TWEAK: Minor tweak to logging in Orthography
  • TWEAK: Checker._check_shaping with better pre-check to skip mark attachment checks for glyphs not in the font (obvious)
  • TWEAK: Cleaned up multiple CLI options:
    • Added --check option to replace --supportlevel. --check takes any value of base,auxiliary,punctuation,numerals,currency,all or a comma-separated list of those
    • Removed --include-historical and --include-historical in favor or --status which accepts any combination of LanguageStatus or "all", defaults to "living"
    • Removed --include-all-orthographies in favor of --orthography which accepts any combination of OrthographyStatus or "all", defaults to "primary"
  • TWEAK: Better logging output and logging strategies in the CLI/modules, -v provides basic language in/out and config logs, -vv gives very detailed support logs
  • TWEAK: Removed the deprecated STATUSES, ORTHOGRAPHY_STATUSES and SUPPORTLEVELS from the codebase
  • TWEAK: Dropped python 3.8 & 3.9 from supported environments, added 3.13, 3.14

0.7.3

13 Oct 18:20

Choose a tag to compare

  • DATA: Fixed to cbi (thanks @moyogo)
  • TWEAK: Fixed hyperglot-export command for dumping expanded database

0.7.2

15 Jan 15:52

Choose a tag to compare

  • DATA: Minor refinements to fin, ces and nav
  • DATA: Design requirements updated for bos and srb as well as some Cyrillic breve mentiones
  • TWEAK: Improved inherited type where the original value is a yaml list
  • TWEAK: Added parameter to instantiate a Language and force a reload of the data / ignoring the .hyperglot-cache

0.7.0 & 0.7.1

07 Oct 13:18

Choose a tag to compare

0.7.1 (07.10.2024)

  • FIX: Fixed hyperglot-data error

0.7.0 (07.10.2024)

  • DATA: All language yaml documents now have their contributors listed, some have reviewers listed
  • DATA: *Massive improvement of language sources with proper source citations where possible
  • DATA: Added punctuation, numerals and currency attributes to orthographies - checking for these attributes will be added in the next update!
  • DATA: Added lib/hyperglot/extra_data/default.yaml to include inheritable defaults per script
  • DATA: Refined jpn, ryu and ain Katakana orthographies
  • FEATURE: Orthography attributes can inherit from other languages with <iso> syntax, see README
  • TWEAK: Improved loading time for repeat access by saving parsed language data cache file
  • TWEAK: Orthographies can no longer have an inherit attribute
  • TWEAK: Improved loading speed for repeat queries and indivudal language queries
  • TWEAK: Refactored Languages, Language and Orthography object instantiation to always return parsed and defaulted nested objects
  • TWEAK: Removed the --speakers and --autonym CLI options
  • TWEAK: Removed the --comparison CLI option (see examples instead)
  • TWEAK: Removed the --languages CLI option, use hyperglot-info LanguageName/ISO instead
  • TWEAK: Removed the --strict_iso CLI option; use the python library to access this option, particularly Language.get_name(script, strict_iso=True)

0.6.4

20 Jun 07:16

Choose a tag to compare

  • FIX: Fixed an issue where trying to log missing shaping glyphs would crash in FontChecker
  • FIX: Improved mark shaping detection to interpret ccmp substitutions of base + mark as correctly shaping (thanks @arialcrime)
  • TWEAK: Cleaned up hyperglot.language.Language class and added attribute properties for dict properties with computed defaults (as opposed to writing defaults for missing attributes) as well as more code annotation
  • TWEAK: hyperglot.orthography.Orthography object has script_iso attribute returning the mapped ISO 15924 script tag
  • DATA: Added lib/extra_data/script-names.yaml with a list of all current Hyperglot scripts and a mapping to their ISO 15924 code equivalent
  • DATA: Added di/tri-graphs to Czech and Hungarian orthographies and fixed their order
  • DATA: Added Squamish (squ) (thanks @justinpenner)
  • DATA: Unified "Geʽez" script with reversed comma, as opposed to previous mixed use of "Ge'ez/Fidel" and "Ge'ez"
  • DATA: Amended spelling "Tai Viet" script in title case to match other script names
  • DATA: Corrected spelling of "Bamum" script and language (instead of less used "Bamun" used in Hyperglot)
  • DATA: Use "Coptic" instead of "Coptic/Numbian" script name
  • DATA: Use "Burmese" script for language "Mon"
  • DATA: Use "Baybayin" script name instead of "Tagalog (Baybayin, Alibata)"
  • DATA: Fixed Toki Pona (tok) file name
  • TWEAK: Make sure Orthography.base_chars and Orthography.aux_chars return no duplicates for decomposed character sequences
  • TWEAK: Define Languages, Language and Orthography as module top level exports for easier importing, e.g. now: from hyperglot import Language

0.6.3

08 Apr 12:38

Choose a tag to compare

  • FIX: Set correct default values for Language.status and Orthography.preferred_as_group and provide validation and tests for these.
  • TWEAK: Deprecated plain list SUPPORTLEVELS, VALIDITYLEVELS, STATUSES, ORTHOGRAPHY_STATUSES and replaced them with SupportLevel, LanguageValidity, LanguageStatus, OrthographyStatus enums throughout the code base. The deprecated values will be removed in the next minor version.
  • TESTS: Added simple tox config for running test on all supported minor python versions

0.6.2

22 Mar 13:34

Choose a tag to compare

  • FIX: Fixed type hinting issue causing failure on python 3.8.x
  • DATA: Added Banjar (bjn) (thanks @mahalisyarifuddin)
  • DATA: Expanded Xavánte (xav) data (thanks @moyogo)

0.6.1

30 Jan 07:19

Choose a tag to compare

Minor update with just one language data refinement:

  • DATA: Refined Romanian by adding design_alternates explicitly

0.6.0

16 Jan 10:46

Choose a tag to compare

This update introduces some initial joining and mark attachment checks to the hyperglot CLI. Parts of the python library have been restructured to accommodate this, so some object and method signatures have changed.

  • DATA: Refined Klingon (tlh) orthography and added a draft version of Toki Pona (tok)
  • FEATURE: Implemented shaping checks for mark positioning when required by unencoded base + mark combinations or --decompose
  • FEATURE: Implemented shaping checks for connecting scripts to detect presence of required positional forms
  • FEATURE: Implemented hyperglot-report command with same options as hyperglot and additional --report-missing n, --report-marks n and --report-joining n — or --report-all n to toggle all aforementioned — parameters/flags for outputting languages almost supported by the font
  • TWEAK: Support checking is now done via hyperglot.checker objects for cleaner separation between language data and checking fonts
  • TWEAK: Various python APIs and objects changed and refactored
  • TWEAK: Bumped required python version to 3.8.0