Liam Huang submitted an update to the
xecjk
package.
Version: 3.10.5 License: lppl1.3c
Summary description: Typeset CJK in XeLaTeX
Announcement text: --------------------------------------------------------------------------------
This release fixes several bugs related to CJK glue handling, brace-group consumption, hyperlink anchors, and underline/strikethrough decorations, and adds a new transparent wrapper variant for brace-delimited argument forwarding.
BUG FIXES
- `\CJKecglue` inserted at source-space positions now uses a portable code path, preventing its shrink component from being frozen inside the fixed-width segment boxes produced by `ulem` (#1037). - Before boundary detection, category-code-4 `&` in the parameter copy is replaced with `\scan_stop:`, fixing compilation errors when commands like `\colorbox` receive arguments containing `&` inside `\halign` (#1043). - `\sbox` now uses a dedicated adapter: prefixes such as `\global` must immediately precede `\setbox`, but assignments placed in the `cmd/sbox/before` hook consumed the prefix, causing `\global\sbox` to silently degrade to a local assignment (#1029). - Only the single triggering left brace is now absorbed instead of swallowing the entire group and re-emitting it, fixing the `Improper alphabetic constant` error when `中文¥¥` appears in `tabular` (#1038). - Inline anchor outputs `¥hyper@anchor`, `¥Hy@raisedlink`, and `¥__hyp_target_raise:n` are registered as transparent captures so that `¥hypertarget`, `¥phantomsection`, `¥MakeLinkTarget`, unnumbered heading anchors, and manually wrapped anchors no longer mask the actual boundaries on either side; the path via `¥hyper@anchorstart` (e.g. `¥pdfbookmark`) is not yet covered (#1047). - The stream capture for `l3doc` is moved from the internal `¥__codedoc_meta:n` up to the public `¥meta`, so that `¥CJKecglue` on both sides is evaluated using the font metrics outside the command (#1046). - Period-style decorations now save end-of-segment state per nesting level, preventing an inner command from overwriting the right end of an outer one (#1012). - Body text now always enters `ulem` arguments as literal tokens: only "math followed by a trailing source space" is reformatted, and reformatting first assembles then expands once, preventing `¥CJKecglue` to the right of Latin words from being trapped in a fixed-width decoration segment box and losing its shrink component (#1026). - The user manual now explains that a nested segment inside line-style commands cannot break across lines, distinguishes line-style from symbol-style commands, and provides alternative approaches; a regression guard for the `¥UL@onin` path is added using "ability to line-break" as the observable (#1057). - Wavy underlines and diagonal strikethroughs now use a quarter-em drawing unit that scales with font size and ordinary `¥leaders`; the minus-sign variant insets by half a period at each end to prevent adjacent commands from merging (#1012). - Decoration content is wrapped in an empty `ActualText` marker, and LaTeX tagging is suspended during decoration box construction, preventing glyphs used by wavy underlines and diagonal strikethroughs from appearing in PDF text extraction results (#1017).
NEW FEATURES
- A new transparent wrapper variant is added that forwards arguments delimited by braces, for use by target functions that consume their argument as `¥hbox:n` content (#1047).
Source code: https://github.com/CTeX-org/ctex-kit Issue tracker: https://github.com/CTeX-org/ctex-kit/issues
--------------------------------------------------------------------------------
This package is located at https://mirrors.ctan.org/macros/xetex/latex/xecjk
More information is at https://ctan.org/pkg/xecjk
--------------------------------------------------------------------------------
Thanks for the upload.
For the CTAN Team Erik Braun
CTAN is run entirely by volunteers and supported by TeX user groups. Please join a user group or donate to one, see https://ctan.org/lugs .