All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Rename math command
\centerdotto\cdot(PR#114 bynekketsuuu). - Does not fail when a script value evaluates to
OtherScript(PR#121 byna4zagin3). - Handles
CR+LFcorrectly as one line ending (PR#122 bymatsud224). - Fix how to generate ToUnicodeCMap as to ligatures (PR#140 by
matsud224). - Fix bug of
\refinstdjareport(PR#135 bymatsud224). - Fix bug of signature matching in the type checker (PR#143 and PR#144 by
elpinal). - Fix bug of type inference about records (PR#148 by
elpinal). - Fix bug about decoding fonts that has NULL as the DefaultLangSys entry in a Script table.
- Fix (a kind of) bug about decoding fonts that has NULL in a BaseRecord table (PR#164 by
matsud224). - Fix the page breaking algorithm.
- Fix how to detect cyclic synonym type definition(s) (bug reported by
nyuichi). - Fix how to embed fonts (by updating
otfmfromv.0.3.6+satysfitov.0.3.7+satysfi, which was due to a PR bymatsud224).
- Begins to support Markdown input.
- Supports PDF hyperlinks (PR#113 by
matsud224). - Supports fixed-length list patterns (PR#123 by
nekketsuuu). - Supports PDF outlines (PR#134 by
matsud224). - Reports detailed error messages when a given image file is invalid (PR#138 by
matsud224). - Provides new primitives
get-leftmost-script : inline-boxes -> script option,get-rightmost-script : inline-boxes -> script option, andscript-guard-both : script -> script -> inline-boxes -> inline-boxes. - Regards
<LIBROOT>/local/packages/as a place for user-defined packages. - Uses
<LIBROOT>/local/hash/fonts.satysfi-hash(as well as<LIBROOT>/dist/fonts.satysfi-hash) for a font fash file (the same holds for<LIBROOT>/local/hash/mathfonts.satysfi-hash). - Supports (non-extensible) record updates, i.e.,
(| <record> with <label> = <new-value> |). - Supports a MetaML-like two-stage computation performed by bracket
& <expr>and escape~ <expr>and equipped with (a somewhat restrictive variant of) cross-stage persistence. - Uses
"$(pwd)/.satysfi/"as one of the library roots, and provides option--config <colon-separated paths>(or-C …) for adding arbitrary paths to the library roots (PR#161 bynyuichi). - Supports the insertion of images by
in Markdown sources (PR#139 byhikalium). - Supports the local import
@import: …for the text-generating mode (i.e. supports importing.satyh-*or.satygfiles). - Provides a new primitive
omit-skip-after. - Provides new options
--debug-show-block-bboxand--debug-show-block-space. - Allows
[](i.e. the empty list) or(| |)(i.e. the empty record) as an expression argument of commands. - Add new primitive
abort-with-message(which is equivalent to OCaml’sfailwith).
- The use of
"src-dist":entries in font hash files is deprecated; use"src":instead, which requires a font file’s path relative to<LIBROOT>. An entry of the form"src-dist": "<path/to/font-file>"is now treated equivalently to"src": "dist/fonts/<path/to/font-file>".
0.0.3 - 2018-10-09
- Does NOT insert spacing between different scripts when the line breaking class of the posterior charcter is CL, CP, QU, NS, JLCP (= JLreq cl-02), JLFS (= JLreq cl-06), or JLCM (= JLreq cl-07).
- Supports the application of math commands to optional arguments.
- Provides primitives
set-space-ratio-between-scriptsandget-space-ratio-between-scripts.
0.0.2 - 2018-08-09
- Make type inference algorithm firmer (mainly about records and optional arguments).
- Conforms to a new operational semantics as to optional arguments.
- Starts reporting error for duplicated fields in a record expression.
- Improve type error report as to application of non-function expressions.
- Initial version of SATySFi