From 277978fd69546e800dd8c46a0aec0d859d475ebb Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 18 May 2020 03:02:35 +0000 Subject: CTAN sync 202005180302 --- macros/context/contrib/context-vim/VERSION | 2 +- .../context-vim/doc/context/third/vim/vim.txt | 2 +- .../context-vim/tex/context/third/vim/2context.vim | 48 ++++++++++- .../context-vim/tex/context/third/vim/t-vim.tex | 71 +--------------- macros/latex/contrib/exercises/README.md | 2 +- macros/latex/contrib/exercises/exercises.dtx | 68 +++++++++++++-- macros/latex/contrib/exercises/exercises.ins | 4 +- macros/latex/contrib/exercises/exercises.pdf | Bin 414151 -> 420909 bytes macros/latex/contrib/vcell/README.md | 2 +- macros/latex/contrib/vcell/vcell.pdf | Bin 147125 -> 147086 bytes macros/latex/contrib/vcell/vcell.sty | 10 ++- macros/latex/contrib/vcell/vcell.tex | 1 + macros/luatex/generic/lua-uni-algos/README.md | 4 +- .../luatex/generic/lua-uni-algos/lua-uni-algos.pdf | Bin 60471 -> 60487 bytes .../generic/lua-uni-algos/lua-uni-normalize.lua | 25 ++++-- macros/luatex/generic/luatexja/README | 8 +- macros/luatex/generic/luatexja/doc/luatexja-en.pdf | Bin 685486 -> 689335 bytes macros/luatex/generic/luatexja/doc/luatexja-ja.pdf | Bin 1101330 -> 1109921 bytes macros/luatex/generic/luatexja/doc/luatexja.dtx | 94 ++++++++++++++------- .../luatexja/src/addons/luatexja-preset.sty | 26 +++--- macros/luatex/generic/luatexja/src/jfm-propw.lua | 9 ++ macros/luatex/generic/luatexja/src/jfm-ujis.lua | 72 ++++++++++++++-- macros/luatex/generic/luatexja/src/jfm-ujisv.lua | 1 + macros/luatex/generic/luatexja/src/ltj-jfont.lua | 54 +++++++----- macros/luatex/generic/luatexja/src/ltj-latex.sty | 3 +- .../luatex/generic/luatexja/src/ltj-setwidth.lua | 14 ++- macros/luatex/generic/luatexja/src/luatexja.sty | 2 +- .../generic/luatexja/src/patches/lltjfont.sty | 56 +++++++----- .../luatexja/src/patches/lltjp-collcell.sty | 37 ++++++++ macros/xetex/latex/bidi/README | 4 +- macros/xetex/latex/bidi/bidi-doc-intro.ltx | 4 +- macros/xetex/latex/bidi/bidi-doc-title.ltx | 4 +- macros/xetex/latex/bidi/bidi-doc.ltx | 2 +- macros/xetex/latex/bidi/bidi-doc.pdf | Bin 172890 -> 173289 bytes macros/xetex/latex/bidi/bidi.dtx | 38 ++++++--- macros/xetex/latex/bidi/bidi.pdf | Bin 3111015 -> 3111844 bytes macros/xetex/latex/xepersian/README | 4 +- .../xetex/latex/xepersian/xepersian-doc-intro.ltx | 4 +- .../xetex/latex/xepersian/xepersian-doc-title.ltx | 4 +- macros/xetex/latex/xepersian/xepersian-doc.ltx | 2 +- macros/xetex/latex/xepersian/xepersian-doc.pdf | Bin 234536 -> 234762 bytes macros/xetex/latex/xepersian/xepersian.dtx | 30 +++---- macros/xetex/latex/xepersian/xepersian.pdf | Bin 756107 -> 755776 bytes 43 files changed, 482 insertions(+), 229 deletions(-) create mode 100644 macros/luatex/generic/luatexja/src/jfm-propw.lua create mode 100644 macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty (limited to 'macros') diff --git a/macros/context/contrib/context-vim/VERSION b/macros/context/contrib/context-vim/VERSION index cf132c65ea..8d240647ad 100644 --- a/macros/context/contrib/context-vim/VERSION +++ b/macros/context/contrib/context-vim/VERSION @@ -1 +1 @@ -2020.04.29 +2020.05.17 diff --git a/macros/context/contrib/context-vim/doc/context/third/vim/vim.txt b/macros/context/contrib/context-vim/doc/context/third/vim/vim.txt index 43d55333c4..ea2d474947 100644 --- a/macros/context/contrib/context-vim/doc/context/third/vim/vim.txt +++ b/macros/context/contrib/context-vim/doc/context/third/vim/vim.txt @@ -611,7 +611,7 @@ To disable loading of `vimrc` file, use \definevimtyping [...] [... - vimrc=none, + vimrc=, ...] diff --git a/macros/context/contrib/context-vim/tex/context/third/vim/2context.vim b/macros/context/contrib/context-vim/tex/context/third/vim/2context.vim index c83a731c5c..8032743e8a 100644 --- a/macros/context/contrib/context-vim/tex/context/third/vim/2context.vim +++ b/macros/context/contrib/context-vim/tex/context/third/vim/2context.vim @@ -1,8 +1,54 @@ " Author : Aditya Mahajan -" version : 2020.04.25 +" version : 2020.05.17 " license : Simplified BSD License " This script is part of the t-vim module for ConTeXt. It is based on 2html.vim. + +" This script is invoked by the `t-vim` module with the options +" vim -c "syntax manual" -c "set syntax=name" ... +" The option `syntax manual` loads `$VIMRUNTIME/syntax/manual.vim`, which +" loads `$VIMRUNTIME/syntax/synload.vim`, which in turn loads, +" `$VIMRUNTIME/syntax/syncolo.vim`, which defines syntax highlighting for +" `preffered groups` and maps `minor groups` to `preffered groups`. See `:he +" group-name` for details. We want the minor groups to appear in the output, +" so we define a simple mapping for them: + +" Minor group of Constant +hi String cterm=NONE +hi Character cterm=NONE +hi Number cterm=NONE +hi Boolean cterm=NONE +hi Float cterm=NONE + +" Minor group of Identifier +hi Function cterm=NONE + +" Minor group of Statement +hi Conditional cterm=NONE +hi Repeat cterm=NONE +hi Label cterm=NONE +hi Operator cterm=NONE +hi Keyword cterm=NONE +hi Exception cterm=NONE + +" Minor group of PreProc +hi Include cterm=NONE +hi Define cterm=NONE +hi Macro cterm=NONE +hi PreCondit cterm=NONE + +" Minor group of Type +hi StorageClass cterm=NONE +hi Structure cterm=NONE +hi Typedef cterm=NONE + +" Minor group of Special +hi Tag cterm=NONE +hi SpecialChar cterm=NONE +hi Delimiter cterm=NONE +hi SpecialComment cterm=NONE +hi Debug cterm=NONE + " Since this script is called by the t-vim module, we assume that Two buffers " are open. The first buffer is the input buffer, and the second buffer is the " output buffer. The script parses content line-by-line from the first buffer diff --git a/macros/context/contrib/context-vim/tex/context/third/vim/t-vim.tex b/macros/context/contrib/context-vim/tex/context/third/vim/t-vim.tex index 4f1bd78b28..2ea93198c4 100644 --- a/macros/context/contrib/context-vim/tex/context/third/vim/t-vim.tex +++ b/macros/context/contrib/context-vim/tex/context/third/vim/t-vim.tex @@ -1,6 +1,6 @@ %D \module %D [ file=t-vim, -%D version=2020.04.29, +%D version=2020.05.17, %D title=\CONTEXT\ User Module, %D subtitle=Vim syntax highlighting, %D author=Aditya Mahajan, @@ -9,7 +9,7 @@ %D email=adityam ieee org, %D license=Simplified BSD License] -\writestatus{loading}{Vim syntax highlighting (ver: 2020.04.29)} +\writestatus{loading}{Vim syntax highlighting (ver: 2020.05.17)} \startmodule [vim] \usemodule [filter] % loads module catcodes @@ -39,74 +39,10 @@ \definesyntaxhighlighting[#1][\s!parent=\vimtyping@namespace#1] \setupsyntaxhighlighting [#1][#2] - - - \setvalue{\e!start raw#1}{\bgroup\obeylines\dodoubleargument\vimtyping@start_raw[#1]} - \setvalue{\e!stop raw#1}{\vimtyping@stop_raw} - \setvalue{inlineraw#1}{\dodoubleargument\vimtyping@inline_raw[#1]} -\stoptexdefinition - -\starttexdefinition vimtyping@start_raw [#1][#2] - % #1 = filter - % #2 = options - \egroup %\bgroup in \start#1 - - \edef\vimtyping@name{#1} - \edef\externalfilter@name{#1} - \edef\currentexternalfilter{#1} - - \begingroup % to keep assignments local - \setupvimtyping[#1][\c!name=,#2] - - \externalfilterparameter\c!before - - \externalfilter@attributes_start \externalfilter@id \c!style \c!color - \syntaxhighlighting@linenumbering_start - \processcommacommand[\externalfilterparameter\c!setups]\directsetup - \gobbleoneargument % For some reason the next argument is \type{^M} -\stoptexdefinition - -\starttexdefinition vimtyping@stop_raw - % The last argument of the environment is \type{^M}, - % so we explicitly backup one line. - \nobreak - \vskip-\dimexpr\lineheight+\parskip\relax - \nobreak - - \removeunwantedspaces - \syntaxhighlighting@linenumbering_stop - \externalfilter@attributes_stop - \externalfilterparameter\c!after - \endgroup - -\stoptexdefinition - -\starttexdefinition vimtyping@inline_raw [#1][#2] - % #1 = filter - % #2 = options - - \edef\vimtyping@name{#1} - \edef\externalfilter@name{#1} - \edef\currentexternalfilter{#1} - - \begingroup % to keep assignments local - \setupvimtyping[#1][\c!name=,\c!location=\v!text,#2] - - \externalfilter@attributes_start \externalfilter@id \c!style \c!color - % We assume that the setups set minimal_catcodes - \processcommacommand[\externalfilterparameter\c!setups]\directsetup - - \vimtyping@inline_raw_indeed -\stoptexdefinition - -\starttexdefinition vimtyping@inline_raw_indeed #1 - #1 - \externalfilter@attributes_stop - \endgroup \stoptexdefinition % Mode to testing the dev version of 2context script. -\doifmodeelse{vim-dev} +\doifmodeelse{vim-dev,dev-vim} {\def\vimtyping@script_name{2context.vim}} {\doifmodeelse\s!mkiv {\ctxlua{context.setvalue("vimtyping@script_name",resolvers.resolve("full:2context.vim"))}} @@ -120,6 +56,7 @@ -X % dont connect to X server -i NONE % dont use viminfo file --noplugin % dont load plugins + --clean % dont load scada file (nvim) -es % run in ex mode in silent % -C % set compatible -n % no swap file diff --git a/macros/latex/contrib/exercises/README.md b/macros/latex/contrib/exercises/README.md index 037dc5c6c3..42dfb37fe7 100644 --- a/macros/latex/contrib/exercises/README.md +++ b/macros/latex/contrib/exercises/README.md @@ -2,7 +2,7 @@ This is the distribution directory for exercises, a LaTeX package to typeset exe The package allows you to customize the layout of those environments. The optional points in exercises can be added automatically. In addition you’re able to hide the solutions. -This is exercises version 1.0, 19 September 2015. exercises is distributed +This is exercises version 1.1, 17 Mai 2020. exercises is distributed under the LaTeX Project Public License (LPPL). diff --git a/macros/latex/contrib/exercises/exercises.dtx b/macros/latex/contrib/exercises/exercises.dtx index d818e495e6..4ec2313f34 100644 --- a/macros/latex/contrib/exercises/exercises.dtx +++ b/macros/latex/contrib/exercises/exercises.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 2015 by Roger Jud +% Copyright (C) 2000 by Roger Jud % ------------------------------------------------------- % % This file may be distributed and/or modified under the @@ -17,7 +17,7 @@ % % \iffalse %\NeedsTeXFormat{LaTeX2e}[1999/12/01] -%\ProvidesPackage{exercises}[2015/09/19 v1.0 .dtx exercises file] +%\ProvidesPackage{exercises}[2000/05/17 v1.1 .dtx exercises file] % %<*driver> \documentclass[a4paper]{ltxdoc} @@ -29,7 +29,7 @@ filecolor=black,% linkcolor=black,% urlcolor=black,% } -\usepackage[printsolution=true]{exercises}[2015/09/19] +\usepackage[printsolution=true]{exercises}[2000/05/17] \usepackage[utf8]{inputenc} \usepackage[english]{babel} \usepackage{amsmath} @@ -71,6 +71,7 @@ urlcolor=black,% % % % \changes{v1.0}{2015/09/19}{Initial version} +% \changes{v1.1}{2000/05/17}{Add the command ifsolutionthenelse} % % \GetFileInfo{exercises.sty} % @@ -312,11 +313,55 @@ Sum of points: \totalpoints % % % +% \subsection{Print text depending on wether the solution is printed or not} +% With the command |\ifsolutionthenelse{}{}| you can print text depending on wether the solution is printed or not. % -% +% \iffalse +%<*example> +% \fi +\begin{latexcode} +\usepackage[printsolution=true]{exercises} +\ifsolutionthenelse{% + \subsection*{This is the header for the solutions}% + }% + {% + \subsection*{This is the header for the exercises}% + } +\end{latexcode} +% \iffalse +% +% \fi +% +% \emph{produces} +% +% \subsection*{This is the header for the solutions} +% +% +% \emph{while} % % % +% +% \iffalse +%<*example> +% \fi +\begin{latexcode} +\usepackage[printsolution=false]{exercises} +\ifsolutionthenelse{% + \subsection*{This is the header for the solutions}% + }% + {% + \subsection*{This is the header for the exercises}% + } +\end{latexcode} +% \iffalse +% +% \fi +% +% \emph{produces} +% +% \subsection*{This is the header for the exercises} +% % \StopEventually{\PrintChanges} % % \section[Implementation]{Implementation -- how I've done it (only in German)} @@ -923,7 +968,7 @@ Sum of points: \totalpoints % % \begin{macro}{\exercisenewpage} % \begin{macro}{\solutionnewpage} -% Die Befehle |exercisenewpage| und |solutionnewpage| erlauben es, einen Seitenumbruch in abhängigkeit der Lösungsausgabe einzufügen. +% Die Befehle |exercisenewpage| und |solutionnewpage| erlauben es, einen Seitenumbruch in Abhängigkeit der Lösungsausgabe einzufügen. % \begin{macrocode} \newcommand{\exercisenewpage}{\ifthenelse{\boolean{exercises@printsolution}}{}{\newpage}} % \end{macrocode} @@ -933,6 +978,19 @@ Sum of points: \totalpoints % \end{macrocode} % \end{macro} % \end{macro} +% +% +% +% \subsection{Befehl für die bedingte Textausgabe} +% +% \begin{macro}{\ifsolutionthenelse} +% Der Befehl |ifsolutionthenelse{}{}| erlaubt es, Text in Abhängigkeit der Lösungsausgabe auszugeben. +% \begin{macrocode} +\newcommand{\ifsolutionthenelse}[2]{\ifthenelse{\boolean{exercises@printsolution}}{#1}{#2}} +% \end{macrocode} +% +% \end{macro} + % % \Finale \endinput diff --git a/macros/latex/contrib/exercises/exercises.ins b/macros/latex/contrib/exercises/exercises.ins index 355319f2e6..114e9e6cf0 100644 --- a/macros/latex/contrib/exercises/exercises.ins +++ b/macros/latex/contrib/exercises/exercises.ins @@ -1,5 +1,5 @@ %% -%% Copyright (C) 2015 by Roger Jud +%% Copyright (C) 2020 by Roger Jud %% %% This file may be distributed and/or modified under the conditions of %% the LaTeX Project Public License, either version 1.2 of this license @@ -21,7 +21,7 @@ This is a generated file. -Copyright (C) 2015 by Roger Jud +Copyright (C) 2020 by Roger Jud This file may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.2 of this license diff --git a/macros/latex/contrib/exercises/exercises.pdf b/macros/latex/contrib/exercises/exercises.pdf index 646c3a38be..f28241e411 100644 Binary files a/macros/latex/contrib/exercises/exercises.pdf and b/macros/latex/contrib/exercises/exercises.pdf differ diff --git a/macros/latex/contrib/vcell/README.md b/macros/latex/contrib/vcell/README.md index 15f8c63b82..b45e138f87 100644 --- a/macros/latex/contrib/vcell/README.md +++ b/macros/latex/contrib/vcell/README.md @@ -3,7 +3,7 @@ The LaTeX `vcell` package Vertical alignment of content inside table cells -Release 2020-05-15 +Release 2020-05-16 Overview -------- diff --git a/macros/latex/contrib/vcell/vcell.pdf b/macros/latex/contrib/vcell/vcell.pdf index 1389e0ad60..a0629885c0 100644 Binary files a/macros/latex/contrib/vcell/vcell.pdf and b/macros/latex/contrib/vcell/vcell.pdf differ diff --git a/macros/latex/contrib/vcell/vcell.sty b/macros/latex/contrib/vcell/vcell.sty index 4c8957a0ab..7e6c98d5b6 100644 --- a/macros/latex/contrib/vcell/vcell.sty +++ b/macros/latex/contrib/vcell/vcell.sty @@ -1,5 +1,5 @@ % -% vcell.sty V1.0 version (15-May-2020) +% vcell.sty V1.0.1 version (16-May-2020) % % Author: Xavier Dionne % @@ -8,9 +8,13 @@ % The contents of this package are distributed under the LaTeX Project % Public License, version 1.3c or later. % https://www.latex-project.org/lppl/lppl-1-3c/ +% +% Changelog : +% [v 1.0.1] - Fixed an issue where the height was calculated +% twice if the cell had a depth \NeedsTeXFormat{LaTeX2e}[1994/06/01] -\ProvidesPackage{vcell}[2020/05/15 v1.0] +\ProvidesPackage{vcell}[2020/05/16 v1.0.1] \newdimen\rowheight \newdimen\rowht \newdimen\rowdp @@ -29,7 +33,7 @@ \def\savecellheight{% \ifdim\ht\@celltemp>\rowht\global\setlength{\rowht}{\ht\@celltemp}\fi% - \ifdim\dp\@celltemp>\rowdp\global\setlength{\rowdp}{\ht\@celltemp}\fi% + \ifdim\dp\@celltemp>\rowdp\global\setlength{\rowdp}{\dp\@celltemp}\fi% \ifdim\dimexpr\dp\@celltemp+\ht\@celltemp>\rowheight{\global\setlength{\rowheight}{\dimexpr\dp\@celltemp+\ht\@celltemp}}\fi } \long\def\savecellbox#1{% diff --git a/macros/latex/contrib/vcell/vcell.tex b/macros/latex/contrib/vcell/vcell.tex index 0ba9a80376..5f228bbd9d 100644 --- a/macros/latex/contrib/vcell/vcell.tex +++ b/macros/latex/contrib/vcell/vcell.tex @@ -12,6 +12,7 @@ \begin{document} \title{The package \texttt{vcell} : Vertical alignment for cells} \author{Xavier Dionne\thanks{The author wrote this package for its online table generator (\texttt{https://latex-tables.com}). You can contact him at info [at] latex-tables [dot] com.}} +\date{May 16, 2020} \maketitle \section{Introduction} diff --git a/macros/luatex/generic/lua-uni-algos/README.md b/macros/luatex/generic/lua-uni-algos/README.md index c964c8e883..9409918ab9 100644 --- a/macros/luatex/generic/lua-uni-algos/README.md +++ b/macros/luatex/generic/lua-uni-algos/README.md @@ -1,8 +1,8 @@ # The lua-uni-algos Package -Version: v0.1 +Version: v0.2 -Date: 2020-05-14 +Date: 2020-05-17 Author: Marcel Krüger diff --git a/macros/luatex/generic/lua-uni-algos/lua-uni-algos.pdf b/macros/luatex/generic/lua-uni-algos/lua-uni-algos.pdf index d1100c84c5..52d31ecd93 100644 Binary files a/macros/luatex/generic/lua-uni-algos/lua-uni-algos.pdf and b/macros/luatex/generic/lua-uni-algos/lua-uni-algos.pdf differ diff --git a/macros/luatex/generic/lua-uni-algos/lua-uni-normalize.lua b/macros/luatex/generic/lua-uni-algos/lua-uni-normalize.lua index dc1356568c..4536a1b977 100644 --- a/macros/luatex/generic/lua-uni-algos/lua-uni-normalize.lua +++ b/macros/luatex/generic/lua-uni-algos/lua-uni-normalize.lua @@ -169,8 +169,17 @@ local function ccc_reorder(codepoints, i, j, k) codepoints[new_pos] = first return ccc_reorder(codepoints, i, j, k == i and i or k-1) end +local result_table = {} +local function get_string() + local result_table = result_table + local s = char(unpack(result_table)) + for i=1,#result_table do + result_table[i] = nil + end + return s +end function to_nfd_table(s, decomposition_mapping) - local new_codepoints = newtable(#s, 0) + local new_codepoints = result_table local j = 1 for _, c in codes(s) do local decomposed = decomposition_mapping[c] @@ -197,16 +206,18 @@ function to_nfd_table(s, decomposition_mapping) end end ccc_reorder(new_codepoints, 1, #new_codepoints, 1) - return new_codepoints end local function to_nfd(s) - return char(unpack(to_nfd_table(s, decomposition_mapping))) + to_nfd_table(s, decomposition_mapping) + return get_string() end local function to_nfkd(s) - return char(unpack(to_nfd_table(s, compatibility_mapping))) + to_nfd_table(s, compatibility_mapping) + return get_string() end local function to_nfc_generic(s, decomposition_mapping) - local codepoints = to_nfd_table(s, decomposition_mapping) + to_nfd_table(s, decomposition_mapping) + local codepoints = result_table local starter, lookup, last_ccc, lvt local j = 1 for i, c in ipairs(codepoints) do @@ -222,7 +233,7 @@ local function to_nfc_generic(s, decomposition_mapping) end elseif lvt then if lvt == 1 then - if c >= 0x1161 and c <= 0x11A7 then + if c >= 0x1161 and c <= 0x1175 then lvt = 2 codepoints[starter] = ((codepoints[starter] - 0x1100) * 21 + c - 0x1161) * 28 + 0xAC00 goto CONTINUE @@ -249,7 +260,7 @@ local function to_nfc_generic(s, decomposition_mapping) ::CONTINUE:: end for i = j,#codepoints do codepoints[i] = nil end - return char(unpack(codepoints)) + return get_string() end local function to_nfc(s) return to_nfc_generic(s, decomposition_mapping) diff --git a/macros/luatex/generic/luatexja/README b/macros/luatex/generic/luatexja/README index 6916b1a715..b87dcbdd98 100644 --- a/macros/luatex/generic/luatexja/README +++ b/macros/luatex/generic/luatexja/README @@ -1,4 +1,4 @@ -The LuaTeX-ja Package 20200412.0 +The LuaTeX-ja Package 20200517.0 -------------------------------- Copyright (c) 2011--2020 The LuaTeX-ja project License: modified BSD (see COPYING) @@ -45,9 +45,9 @@ Installation 2. If you must/want to install manually: a. Download the source archive from CTAN, - or tagged as 20200412.0 in the Git repository by + or tagged as 20200517.0 in the Git repository by + ;a=snapshot;h=refs/tags/20200517.0;sf=tgz> b. Extract the archive and process following three files by LuaLaTeX to generate classes for Japanese typesetting: @@ -95,4 +95,4 @@ Notes * src/*.{ins.dtx} and src/ltj-kinsoku_make.tex are not needed in regular use. -Last commit date: Sun Apr 12 18:04:02 2020 +0900 +Last commit date: Sun May 17 10:43:32 2020 +0900 diff --git a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf index 5d9d6fc11a..4cb0c4d8d3 100644 Binary files a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf and b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf differ diff --git a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf index c263107d77..f336e82bfd 100644 Binary files a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf and b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf differ diff --git a/macros/luatex/generic/luatexja/doc/luatexja.dtx b/macros/luatex/generic/luatexja/doc/luatexja.dtx index d2ec828f7e..09df86b361 100644 --- a/macros/luatex/generic/luatexja/doc/luatexja.dtx +++ b/macros/luatex/generic/luatexja/doc/luatexja.dtx @@ -1,5 +1,6 @@ %<*!showexpl> %#! lualatex -shell-escape +%% KozMinPr6N-Regular.otf is needed to typeset this document. %%%%% section ==> 章 %%%%% subsection => 節 @@ -33,6 +34,7 @@ \usepackage{unicode-math} \setmonojfont{HaranoAjiGothic-Regular.otf} \setmathfont[Scale=MatchLowercase]{XITSMath} +\newjfontface\KOZM{KozMinPr6N-Regular.otf} \setLaTeXa{\scshape a} %<*ja> @@ -151,6 +153,7 @@ \theoremstyle{definition} %\newtheorem{defn}{Definition} %\newtheorem{defn}{定義} +\DeclareMathOperator\nint{nint} %%%%%%%% logo \usepackage{metalogo} @@ -1966,7 +1969,7 @@ these eight ranges belongs to the character range~217. \centering\footnotesize \def\ch#1{% {\fboxsep0pt\fcolorbox{cyan}{white}% - {\normalsize\char"20#1}}\ (\texttt{U+20#1})} %" + {\normalsize\KOZM\UTF{20#1}}}\ (\texttt{U+20#1})} %" % 13: JIS X0213, AJ, Adobe-Japan-1 only \begin{tabular}{ll>{\color{white}}lll>{\color{white}}l} \ch{02}&{En space}&AJ& @@ -3465,7 +3468,7 @@ subsection. At the calling of \cs{jfont}, you must specify which JFM will be used for this font by the following keys: % %<*ja> -JFMは文字と和文組版で自動的に挿入される +JFMは文字の寸法情報と和文組版で自動的に挿入される グルー/カーンの寸法情報を持っている.JFMの構造は次の節で述べる. \cs{jfont} 命令の呼び出しの際には,どのJFMを用いるのかを以下のキーで 指定する必要がある: @@ -3540,7 +3543,7 @@ The following horizontal JFMs are shipped with \LuaTeX-ja: %<*en> \item[\texttt{jfm-ujis.lua}] A standard horizontal JFM in \LuaTeX-ja. This JFM is based on \verb+upnmlminr-h.tfm+, a metric for UTF/OTF package that - is used in \upTeX. When you use the \Pkg{luatexja-otf} package, you should use this JFM. + is used in \upTeX. When you are going to use the \Pkg{luatexja-otf} package, you should use this JFM. % %<*ja> \item[\texttt{jfm-ujis.lua}] \LuaTeX-jaの標準JFMである.このJFMは\upTeX で @@ -3598,6 +3601,20 @@ The difference among these three~JFMs is shown in \autoref{tab-difjfm}. \label{fig:jfmvar} \end{figure} +%<*ja> +また,プロポーショナル組用に\texttt{jfm-prop.lua}と\texttt{jfm-propw.lua}も用意されている. +どちらのJFMも文字幅の情報と自動挿入されるグルー・カーンの情報は持たない(つまりグリフの文字幅をそのまま採用する). +\texttt{jfm-prop.lua}と\texttt{jfm-propw.lua}の差は,前者が +文字の高さ・深さ情報も持たないのに対し,後者は持っている点である +\footnote{プロポーショナル組の状況でルビをつけたい,などという状況では\texttt{jfm-propw.lua}が有用かもしれない.}. +% +%<*en> +Furthermore, \LuaTeX-ja also ship two JFMs, namely \texttt{jfm-prop.lua}~and~\texttt{jfm-propw.lua}, + for ``proportional typesetting''. +Both JFMs don't have any character width information, nor glues/kerns information. +\texttt{jfm-prop.lua} also also not have character height and depth information, while \texttt{jfm-propw.lua} has them. +% + %<*en> \item[jfmvar=] Sometimes there is a need that \ldots. @@ -3673,6 +3690,7 @@ NFSS2用の命令(\ref{ssec:chgfnt}節,\ref{ssec:nfsspat}節)における % %<*ja> +\newpage \paragraph{\texttt{extend}と\texttt{slant}} OpenType機能と見かけ上同じような形式で指定できるものに, \begin{description} @@ -3693,7 +3711,7 @@ The following setting can be specified as OpenType font features: \item[\texttt{slant=}] slant the font. \end{cslist} Note that \LuaTeX-ja doesn't adjust JFMs by these \texttt{extend} and \texttt{slant} -settings; you have to write new JFMs on purpose. +settings; one have to write new JFMs on purpose. For example, the following example uses the standard JFM \texttt{jfm-ujis.lua}, hence letter-spacing and the width of italic correction are not correct: % @@ -3704,30 +3722,21 @@ letter-spacing and the width of italic correction are not correct: \end{LTXexample} %<*ja> -\paragraph{\texttt{ltjksp} 指定} +\paragraph{\texttt{ltjksp}指定} \label{pg:ltjksp} \LuaTeX-ja標準では, -JFM中における \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\ +JFM中における\texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\ \texttt{kanjiskip\_shrink}キー(\pageref{pg:ksp_nat}ページ)の使用によって, 「JFM由来のグルーの他に,\Param{kanjiskip}の自然長/伸び量/縮み量の一部が 同じ場所に挿入される」という状況が起こりうる. この機能を無効化し,バージョン20150922.0以前と同じような組版を得るためには -他のOpenType機能と同じように\ \texttt{-ltjksp}\ 指定を行えば良い. -\begin{LTXexample}[width=16\zw] -\leavevmode -\ltjsetparameter{kanjiskip=0pt plus 3\zw} -\vrule\hbox to 15\zw{あ「い」う,えお}\vrule\\ -\jfont\G=HaranoAjiMincho-Regular% - :jfm=ujis;-ltjksp at \zw -\G\leavevmode% -\vrule\hbox to 15\zw{あ「い」う,えお}\vrule -\end{LTXexample} +他のOpenType機能と同じように\texttt{-ltjksp}指定を行えば良い(\autoref{fig:ltjksp}参照). なお, \begin{lstlisting} \jfont\G=HaranoAjiMincho-Regular:jfm=ujis;-ltjksp;+ltjksp at \zw \end{lstlisting} -のように \texttt{+ltjksp} 指定を行った場合は,\texttt{kanjiskip\_natural} など -3キーは再び有効化される.\texttt{-ltjksp}, \texttt{+ltjksp} を複数回指定した場合は, +のように\texttt{+ltjksp}指定を行った場合は,\texttt{kanjiskip\_natural}など +3キーは再び有効化される.\texttt{-ltjksp}, \texttt{+ltjksp}を複数回指定した場合は, 最後に指定したものが有効となる. % %<*en> @@ -3737,8 +3746,10 @@ JFM中における \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\ \texttt{kanjiskip\_shrink} keys (Page~\pageref{pg:ksp_nat}) makes tha \LuaTeX-ja inserts not only a glue which is specified by a JFM, and also the natural width/stretch part/shrink part of \Param{kanjiskip}. - -This functionality is disabled by \texttt{-ltjksp} specification. +This functionality is disabled by \texttt{-ltjksp} specification, +as shown in~\autoref{fig:ltjksp}. +% +\begin{figure} \begin{LTXexample}[width=16\zw] \leavevmode \ltjsetparameter{kanjiskip=0pt plus 3\zw} @@ -3748,7 +3759,9 @@ This functionality is disabled by \texttt{-ltjksp} specification. \G\leavevmode% \vrule\hbox to 15\zw{あ「い」う,えお}\vrule \end{LTXexample} -% +\caption{\texttt{ltjksp}} +\label{fig:ltjksp} +\end{figure} @@ -3812,7 +3825,7 @@ A font defined by~\cs{tfont} differs the following points from that by~\cs{jfont \begin{itemize} \item OpenType Feature~\texttt{vrt2}% \footnote{If the font does not define \texttt{vrt2} feature, - use \texttt{vert} instead.} is automatically activated, + \texttt{vert} is used instead.} is automatically activated, unless \texttt{vert}~and//or~\texttt{vrt2} are explicitly activated or deactivated (as the second line in the example below). \begin{lstlisting} @@ -3857,6 +3870,8 @@ A font defined by~\cs{tfont} differs the following points from that by~\cs{jfont By default, it substitutes ideographic comma/period for fullwidth comma/period, and double prime quotation marks for double quotation marks (See~\autoref{fig:jpotf}). + One can customize substitutions by lua~function \verb+luatexja.jfont.register_vert_replace+\ % + (see Japanese version of this manual). \end{itemize} % %<*ja> @@ -4727,6 +4742,26 @@ Hence we have the following result: (optional, version~2 or~later) % + \item[round\_threshold=] +%<*ja> +(任意,バージョン3以降,文字クラス0のみ) + +「実際のグリフの幅に合わせて文字幅を整数倍する」際のしきい値を指定する. +より正確に述べると,次のようになる.このフィールドに正の数$r$が指定されていたとし, +文字クラス0で指定されている文字幅が$w$,文字クラス0に属する文字のグリフの幅が$w'$であったとする. +$n=\nint(w/w')$とした +\footnote{ここで,$\nint(a)=\lfloor a+0.5\rfloor$は$a$に「もっとも近い整数」を表す.} +とき,もし$w'>w$かつ$|w/w'-n|\char` +%<*en> +(optional, version~3 or~later, only available in character class~0) +% + + \end{cslist} %<*ja> @@ -4817,7 +4852,7 @@ as follows: %\paragraph{仮想的な文字} %\paragraph{Imaginary characters} %<*en> -As described before, you can specify several ``imaginary characters'' in +As described before, one can specify several ``imaginary characters'' in \texttt{chars} field. The most of these characters are regarded as the characters of class 0 in \pTeX. As a result, \LuaTeX-ja can control typesetting finer than \pTeX. @@ -4967,7 +5002,7 @@ an external package is needed to support this in plain \TeX\ and \autoref{tab-math} shows counterparts to \TeX's primitives for math font families. There is no relation between the value of \cs{fam} and that of \cs{jfam}; with appropriate settings, -you can set both \cs{fam} and \cs{jfam} to the same value. +one can set both \cs{fam} and \cs{jfam} to the same value. Here in the argument of \Param{jatextfont} etc.\ is a control sequence which is defined by \cs{jfont}, i.e., a \emph{horizontal} Japanese font. @@ -5018,7 +5053,7 @@ be accessed via \verb+luatexbase.add_to_callback+ function and so on, as other c %\item[\texttt{luatexja.load\_jfm} callback] %\item[\texttt{luatexja.load\_jfm}コールバック] %<*en> -With this callback you can overwrite JFMs. +With this callback, one can overwrite JFMs. This callback is called when a new JFM is loaded. % %<*ja> @@ -8343,7 +8378,7 @@ Std/StdNフォントであり,その他はAdobe-Japan1-5対応である. \midrule %\textit{rounded gothic} %\textgt{丸ゴシック} -&&\AD{Sans}{Heavy}\\ +&&\AD{Sans}{Medium}\\ \bottomrule \end{tabular} \end{center} @@ -8375,7 +8410,7 @@ Std/StdNフォントであり,その他はAdobe-Japan1-5対応である. \midrule %\textit{rounded gothic} %\textgt{丸ゴシック} -&&\AD{Sans}{Black}\\ +&&\AD{Sans}{Medium}\\ \bottomrule \end{tabular} \end{center} @@ -8411,7 +8446,7 @@ There is not rounded gothic family in Harano Aji Fonts. \midrule %\textit{rounded gothic} %\textgt{丸ゴシック} -&&HaranoAjiGothic-Heavy.otf\\ +&&HaranoAjiGothic-Medium.otf\\ \bottomrule \end{tabular} \end{center} @@ -11366,10 +11401,11 @@ direction~whatsit内部のノードリストに,\textit{dir\_box}として格 縦組時には,「\hbox to \zw{、}」(\texttt{U+3001})から「\ltjjachar"FE11」(\texttt{U+FE11})%" のように縦組用字形への置き換えに関係する処理は,以下のようになっている. + \begin{table}[t] \def\D#1#2#3#4{% {\fboxsep0pt\fcolorbox{cyan}{white}% - {\large\char"#1#2#3#4}}\ (\texttt{U+#1#2#3#4})%" + {\large\KOZM\ltjjachar"#1#2#3#4}}\ (\texttt{U+#1#2#3#4})%" } \caption{\LuaTeX-ja標準で行われる縦組形への置換} \label{tab:vert_replace}\small\centering diff --git a/macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty b/macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty index b64f7887ef..58a585768a 100644 --- a/macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty +++ b/macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty @@ -1,5 +1,5 @@ % luatexja-preset.sty -\ProvidesPackage{luatexja-preset}[2020/03/27 Japanese font presets] +\ProvidesPackage{luatexja-preset}[2020-05-15 Japanese font presets] \RequirePackage{expl3,l3keys2e} \RequirePackage{luatexja} @@ -278,7 +278,7 @@ gt-b = Source~Han~Sans~Bold, gt-u = Source~Han~Sans~Medium, gt-eb = Source~Han~Sans~Heavy, - mg-m = Source~Han~Sans~Heavy, + mg-m = Source~Han~Sans~Medium, mc-l = Source~Han~Serif~Light, __custom = false, __office = false, __noembed = false, } @@ -289,7 +289,7 @@ gt-b = Source~Han~Sans~JP~Bold, gt-u = Source~Han~Sans~JP~Medium, gt-eb = Source~Han~Sans~JP~Heavy, - mg-m = Source~Han~Sans~JP~Heavy, + mg-m = Source~Han~Sans~JP~Medium, mc-l = Source~Han~Serif~JP~Light, __custom = false, __office = false, __noembed = false, } @@ -300,7 +300,7 @@ gt-b = Noto~Sans~CJK~Bold, gt-u = Noto~Sans~CJK~Medium, gt-eb = Noto~Sans~CJK~Black, - mg-m = Noto~Sans~CJK~Black, + mg-m = Noto~Sans~CJK~Medium, mc-l = Noto~Serif~CJK~Light, __custom = false, __office = false, __noembed = false, } @@ -311,7 +311,7 @@ gt-b = Noto~Sans~CJK~JP~Bold, gt-u = Noto~Sans~CJK~JP~Medium, gt-eb = Noto~Sans~CJK~JP~Black, - mg-m = Noto~Sans~CJK~JP~Black, + mg-m = Noto~Sans~CJK~JP~Medium, mc-l = Noto~Serif~CJK~JP~Light, __custom = false, __office = false, __noembed = false, } @@ -324,7 +324,7 @@ gt-b = HaranoAjiGothic-Bold.otf, gt-u = HaranoAjiGothic-Medium.otf, gt-eb = HaranoAjiGothic-Heavy.otf, - mg-m = HaranoAjiGothic-Heavy.otf, + mg-m = HaranoAjiGothic-Medium.otf, mc-l = HaranoAjiMincho-Light.otf, __custom = false, __office = false, __noembed = false, } @@ -463,16 +463,16 @@ \cs_new:Nn \__ltjpreset_substitute:nnnn { \group_begin: \suppressfontnotfounderror=1 - \cs_if_exist:cT {ltjpreset_font_#1_#2:} { - \__ltjpreset_wrap_fontname:e { \cs:w ltjpreset_font_#1_#2: \cs_end: } - \font \g__ltjpreset_font_test: = \l__preset_font_name:\relax + \cs_if_exist:cTF { __ltjpreset_font_#1_#2: } { + \__ltjpreset_wrap_fontname:e { \cs:w __ltjpreset_font_#1_#2: \cs_end: } + \font \g__ltjpreset_font_test: = \l__ltjpreset_font_name:\relax \ifx \g__ltjpreset_font_test: \nullfont \msg_warning:nnxxxx { luatexja-preset }{ no-font } - { \cs:w ltjpreset_font_#1_#2: \cs_end: }{ #1/#2 } - { \cs:w ltjpreset_font_#3_#4: \cs_end: }{ #3/#4 } - \cs_gset_eq:cc { ltjpreset_font_#1_#2: } { ltjpreset_font_#3_#4: } + { \cs:w __ltjpreset_font_#1_#2: \cs_end: }{ #1/#2 } + { \cs:w __ltjpreset_font_#3_#4: \cs_end: }{ #3/#4 } + \cs_gset_eq:cc { __ltjpreset_font_#1_#2: } { __ltjpreset_font_#3_#4: } \fi - } { \cs_gset_eq:cc { ltjpreset_font_#1_#2: } { ltjpreset_font_#3_#4: } } + } { \cs_gset_eq:cc { __ltjpreset_font_#1_#2: } { __ltjpreset_font_#3_#4: } } \group_end: } diff --git a/macros/luatex/generic/luatexja/src/jfm-propw.lua b/macros/luatex/generic/luatexja/src/jfm-propw.lua new file mode 100644 index 0000000000..71dc1ae694 --- /dev/null +++ b/macros/luatex/generic/luatexja/src/jfm-propw.lua @@ -0,0 +1,9 @@ +luatexja.jfont.define_jfm { + dir = 'yoko', + zw = 1.0, zh = 1.0, + + [0] = { + align = 'left', left = 0.0, down = 0.0, + width = 'prop', height = 0.88, depth = 0.12, italic=0.0, + } +} diff --git a/macros/luatex/generic/luatexja/src/jfm-ujis.lua b/macros/luatex/generic/luatexja/src/jfm-ujis.lua index 10b44d8103..5df1986ea6 100644 --- a/macros/luatex/generic/luatexja/src/jfm-ujis.lua +++ b/macros/luatex/generic/luatexja/src/jfm-ujis.lua @@ -28,6 +28,7 @@ local t = { [8] = { 0, 0, 0, kanjiskip_shrink=1 }, }, kern = { [307] = 0 }, + round_threshold = 0.01, }, [1] = { -- 開き括弧類 @@ -46,6 +47,9 @@ local t = { [4] = { 0, 0, 0, kanjiskip_shrink=1 }, [5] = { 0, 0, 0, kanjiskip_shrink=1 }, [105] = { 0, 0, 0, kanjiskip_shrink=1 }, + [205] = { 0, 0, 0, kanjiskip_shrink=1 }, + [305] = { 0, 0, 0, kanjiskip_shrink=1 }, + [405] = { 0, 0, 0, kanjiskip_shrink=1 }, [6] = { 0, 0, 0, kanjiskip_shrink=1 }, [007] = { 0, 0, 0, kanjiskip_shrink=1 }, [107] = { 0, 0, 0, kanjiskip_shrink=1 }, @@ -70,6 +74,9 @@ local t = { [4] = { 0, 0, 0, kanjiskip_shrink=1 }, [5] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 }, [105] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 }, + [205] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 }, + [305] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 }, + [405] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 }, [6] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 }, [007] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 }, [107] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 }, @@ -92,6 +99,9 @@ local t = { [4] = { 0.25, 0.0, 0.25, priority=1, ratio=1 }, [5] = { 0.25, 0.0, 0.25, priority=1, ratio=1 }, [105] = { 0.25, 0.0, 0.25, priority=1, ratio=1 }, + [205] = { 0.25, 0.0, 0.25, priority=1, ratio=1 }, + [305] = { 0.25, 0.0, 0.25, priority=1, ratio=1 }, + [405] = { 0.25, 0.0, 0.25, priority=1, ratio=1 }, [6] = { 0.25, 0.0, 0.25, priority=1, ratio=1 }, [007] = { 0.25, 0.0, 0.25, priority=1, ratio=1 }, [107] = { 0.25, 0.0, 0.25, priority=1, ratio=1 }, @@ -111,6 +121,9 @@ local t = { [3] = { 0.75, 0.0, 0.25, priority=1, ratio=1./3, kanjiskip_stretch=1 }, [5] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 }, [105] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 }, + [205] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 }, + [305] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 }, + [405] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 }, [6] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 }, [007] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 }, [107] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 }, @@ -120,7 +133,7 @@ local t = { }, [5] = { -- 分離禁止文字 - chars = { '—', '―', '‥', '…', '〳', '〴', '〵', }, + chars = { '―', '‥', '…', '〳', '〴', '〵', }, align = 'left', left = 0.0, down = 0.0, width = 1.0, height = 0.88, depth = 0.12, italic=0.0, glue = { @@ -131,8 +144,7 @@ local t = { [6] = { 0, 0, 0, kanjiskip_shrink=1 }, }, kern = { - [5] = 0.0, - [105] = 0.0 + [5] = 0.0, [105] = 0.0, [205] = 0.0, [305] = 0.0, [405] = 0.0, } }, @@ -148,8 +160,53 @@ local t = { [6] = { 0, 0, 0, kanjiskip_shrink=1 }, }, kern = { - [5] = 0.0, - [105] = 0.0 + [5] = 0.0, [105] = 0.0, [205] = 0.0, [305] = 0.0, [405] = 0.0, + } + }, + + [205] = { -- em-dash + chars = { 0x2014 }, + align = 'middle', left = 0.0, down = 0.0, + width = 1, height = 0.88, depth = 0.12, italic=0.0, + glue = { + [1] = { 0.5 , 0.0, 0.5, ratio=1, kanjiskip_stretch=1 }, + [2] = { 0, 0, 0, kanjiskip_shrink=1 }, + [3] = { 0.25, 0.0, 0.25, priority=1, ratio=1 }, + [4] = { 0, 0, 0, kanjiskip_shrink=1 }, + [6] = { 0, 0, 0, kanjiskip_shrink=1 }, + }, + kern = { + [5] = 0.0, [105] = 0.0, [205] = 0.0, [305] = 0.0, [405] = 0.0, + } + }, + [305] = { -- two-em dash + chars = { 0x2E3A }, + align = 'middle', left = 0.0, down = 0.0, + width = 2, height = 0.88, depth = 0.12, italic=0.0, + glue = { + [1] = { 0.5 , 0.0, 0.5, ratio=1, kanjiskip_stretch=1 }, + [2] = { 0, 0, 0, kanjiskip_shrink=1 }, + [3] = { 0.25, 0.0, 0.25, priority=1, ratio=1 }, + [4] = { 0, 0, 0, kanjiskip_shrink=1 }, + [6] = { 0, 0, 0, kanjiskip_shrink=1 }, + }, + kern = { + [5] = 0.0, [105] = 0.0, [205] = 0.0, [305] = 0.0, [405] = 0.0, + } + }, + [405] = { -- three-em dash + chars = { 0x2E3B }, + align = 'middle', left = 0.0, down = 0.0, + width = 3, height = 0.88, depth = 0.12, italic=0.0, + glue = { + [1] = { 0.5 , 0.0, 0.5, ratio=1, kanjiskip_stretch=1 }, + [2] = { 0, 0, 0, kanjiskip_shrink=1 }, + [3] = { 0.25, 0.0, 0.25, priority=1, ratio=1 }, + [4] = { 0, 0, 0, kanjiskip_shrink=1 }, + [6] = { 0, 0, 0, kanjiskip_shrink=1 }, + }, + kern = { + [5] = 0.0, [105] = 0.0, [205] = 0.0, [305] = 0.0, [405] = 0.0, } }, @@ -170,8 +227,7 @@ local t = { [8] = { 0, 0, 0, kanjiskip_shrink=1 }, }, kern = { - [5] = 0.0, - [105] = 0.0 + [5] = 0.0, [105] = 0.0, [205] = 0.0, [305] = 0.0, [405] = 0.0, } }, @@ -228,7 +284,7 @@ local t = { } }, - [307] = { -- 1/4 角 + [307] = { -- 合成用(半)濁点 chars = { 0x3099, 0x309A }, align = 'right', left = 0.0, down = 0.0, width = 0, height = 0.88, depth = 0.12, italic=0.0, diff --git a/macros/luatex/generic/luatexja/src/jfm-ujisv.lua b/macros/luatex/generic/luatexja/src/jfm-ujisv.lua index ccae212f88..b2044bde5a 100644 --- a/macros/luatex/generic/luatexja/src/jfm-ujisv.lua +++ b/macros/luatex/generic/luatexja/src/jfm-ujisv.lua @@ -28,6 +28,7 @@ local t = { [8] = { 0, 0, 0, kanjiskip_shrink=1 }, }, kern = { [307] = 0 }, + round_threshold = 0.01, }, [1] = { -- 開き括弧類 diff --git a/macros/luatex/generic/luatexja/src/ltj-jfont.lua b/macros/luatex/generic/luatexja/src/ltj-jfont.lua index bb5d99561a..cecb8d6625 100644 --- a/macros/luatex/generic/luatexja/src/ltj-jfont.lua +++ b/macros/luatex/generic/luatexja/src/ltj-jfont.lua @@ -3,7 +3,7 @@ -- luatexbase.provides_module({ name = 'luatexja.jfont', - date = '2020-04-01', + date = '2020-05-17', description = 'Loader for Japanese fonts', }) @@ -108,6 +108,8 @@ function luatexja.jfont.define_jfm(to) if type(v.down)~='number' then v.down = 0.0 end + v.round_threshold = ((t.version>=3)and(i==0)and(type(v.round_threshold)=='number')) + and v.round_threshold or nil if t.version>=2 then if v.end_stretch then defjfm_res= nil; return end if v.end_shrink then defjfm_res= nil; return end @@ -184,13 +186,17 @@ local update_jfm_cache do local floor = math.floor local function myround(a) return floor(a+0.5) end + local mult_ignore_key = { + round_threshold=true, kanjiskip_natural=true, kanjiskip_stretch=true, kanjiskip_shrink=true, + raio=true, priority=true + } local function mult_table(old,scale) -- modified from table.fastcopy if old then local new = { } for k,v in next, old do if type(v) == "table" then new[k] = mult_table(v,scale) - elseif type(v) == "number" then + elseif type(v) == "number" and not mult_ignore_key[k] then new[k] = myround(v*scale) else new[k] = v @@ -213,12 +219,13 @@ do for k,w in pairs(v.glue) do v[k] = { nil, - ratio=w.ratio/sz, - priority=FROM_JFM + w.priority/sz, + ratio=w.ratio, + priority=FROM_JFM + w.priority, width = w[1], stretch = w[2], shrink = w[3], - kanjiskip_natural = w.kanjiskip_natural and w.kanjiskip_natural/sz, - kanjiskip_stretch = w.kanjiskip_stretch and w.kanjiskip_stretch/sz, - kanjiskip_shrink = w.kanjiskip_shrink and w.kanjiskip_shrink/sz, + kanjiskip_natural = w.kanjiskip_natural, + kanjiskip_stretch = w.kanjiskip_stretch, + kanjiskip_shrink = w.kanjiskip_shrink, + round_threshold = w.round_threshold, } end for k,w in pairs(v.kern) do @@ -331,7 +338,7 @@ do local fmtable = { jfm = j, size = f.size, var = jfm_var, with_kanjiskip = jfm_ksp, zw = sz.zw, zh = sz.zh, - chars = sz.chars, char_type = sz.char_type, + chars = sz.chars, char_type = sz.char_type, kanjiskip = sz.kanjiskip, xkanjiskip = sz.xkanjiskip, chars_cbcache = {}, vert_activated = vert_activated, @@ -449,9 +456,10 @@ do otfl_fdr= luatexbase.remove_from_callback('define_font', 'luaotfload.define_font') luatexbase.add_to_callback('define_font',luatexja.font_callback,"luatexja.font_callback", 1) - local match, sp = string.match, tex.sp - local function load_jfmonly(spec, dir) - local spec, size = match(spec,'(.+)%s+at%s*([%.%w]*)') + local match, sp, scan_arg = string.match, tex.sp, token.scan_argument + local function load_jfmonly() + local spec, size = match(scan_arg(), '(.+)%s+at%s*([%.%w]*)') + local dir = scan_arg() size = sp(size); extract_metric(spec) jfm_dir = dir local i = load_jfont_metric() @@ -485,10 +493,12 @@ do end local kfam_list, Nkfam_list = {}, {} - function luatexja.jfont.add_kfam(fam) - kfam_list[fam]=true + function luatexja.jfont.add_kfam() + kfam_list[scan_arg()]=true end - function luatexja.jfont.search_kfam(fam, use_fd) + function luatexja.jfont.search_kfam() + local fam = scan_arg() + local use_fd = (scan_arg() =='true') if kfam_list[fam] then tex.sprint(cat_lp, '\\let\\ifin@\\iftrue '); return elseif Nkfam_list[fam] then @@ -510,11 +520,11 @@ do end end local ffam_list, Nffam_list = {}, {} - function luatexja.jfont.is_ffam(fam) - tex.sprint(cat_lp, '\\let\\ifin@\\if' .. (ffam_list[fam] or 'false ')) + function luatexja.jfont.is_ffam() + tex.sprint(cat_lp, '\\let\\ifin@\\if' .. (ffam_list[scan_arg()] or 'false ')) end - function luatexja.jfont.add_ffam(fam) - ffam_list[fam]='true ' + function luatexja.jfont.add_ffam() + ffam_list[scan_arg()]='true ' end function luatexja.jfont.search_ffam_declared() local s = '' @@ -523,7 +533,8 @@ do end tex.sprint(cat_lp, s) end - function luatexja.jfont.search_ffam_fd(fam) + function luatexja.jfont.search_ffam_fd() + local fam = scan_arg() if Nffam_list[fam] then tex.sprint(cat_lp, '\\let\\ifin@\\iffalse '); return else @@ -645,11 +656,12 @@ end -- ここから先は 新 \selectfont の内部でしか実行されない do + local scan_arg = token.scan_argument local alt_font_base, alt_font_base_num local aftl_base -- EXT - function luatexja.jfont.does_alt_set(bbase) - aftl_base = alt_font_table_latex[bbase] + function luatexja.jfont.does_alt_set() + aftl_base = alt_font_table_latex[scan_arg()] tex.sprint(cat_lp, aftl_base and '\\@firstofone' or '\\@gobble') end -- EXT diff --git a/macros/luatex/generic/luatexja/src/ltj-latex.sty b/macros/luatex/generic/luatexja/src/ltj-latex.sty index ff6a72bab7..8af066eee6 100644 --- a/macros/luatex/generic/luatexja/src/ltj-latex.sty +++ b/macros/luatex/generic/luatexja/src/ltj-latex.sty @@ -12,7 +12,7 @@ \def\luatexjalatexLoaded{\endinput} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{ltj-latex}[2019/09/26 LaTeX support of LuaTeX-ja] +\ProvidesPackage{ltj-latex}[2020-05-17 LaTeX support of LuaTeX-ja] % cleanup at end of the document %\let\ltj@@orig@end=\@@end @@ -79,6 +79,7 @@ \ltj@pkgpatch{preview} %% at \begin{document} % (preview package has delayed option) \ltj@pkgpatch{array} %% at \begin{document} +\ltj@pkgpatch{collcell} %% at \begin{document} \ltj@pkgpatch@im{unicode-math} \ltj@pkgpatch@im{siunitx} \ltj@pkgpatch@im{microtype} diff --git a/macros/luatex/generic/luatexja/src/ltj-setwidth.lua b/macros/luatex/generic/luatexja/src/ltj-setwidth.lua index f21c0059c8..964d49e063 100644 --- a/macros/luatex/generic/luatexja/src/ltj-setwidth.lua +++ b/macros/luatex/generic/luatexja/src/ltj-setwidth.lua @@ -87,7 +87,7 @@ local call_callback = luatexbase.call_callback local fshift = { down = 0, left = 0 } -local min, max = math.min, math.max +local min, max, floor, abs = math.min, math.max, math.floor, math.abs local rule_subtype = (status.luatex_version>=85) and 3 or 0 @@ -129,6 +129,13 @@ local function capsule_glyph_yoko(p, met, char_data, head, dir) local q head, q = node_remove(head, p) + if pwidth > fwidth then + if char_data.round_threshold then + local frac = pwidth / fwidth + local quot = floor(frac+0.5) + if abs(frac-quot) fwidth and char_data.round_threshold then + local frac = pwidth / fwidth + local quot = floor(frac+0.5) + if abs(frac-quot) %%%% VERSION -\def\LuaTeXjaversion{20200412.0} +\def\LuaTeXjaversion{20200517.0} \directlua{require('ltj-unicode-ccfix.lua')}% catcode of ideographs diff --git a/macros/luatex/generic/luatexja/src/patches/lltjfont.sty b/macros/luatex/generic/luatexja/src/patches/lltjfont.sty index e5f79a8c44..9be20e440c 100644 --- a/macros/luatex/generic/luatexja/src/patches/lltjfont.sty +++ b/macros/luatex/generic/luatexja/src/patches/lltjfont.sty @@ -3,7 +3,7 @@ % \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{lltjfont}[2020-04-12 Patch to NFSS2 for LuaTeX-ja] +\ProvidesPackage{lltjfont}[2020-05-17 Patch to NFSS2 for LuaTeX-ja] %% patching \DeclareTextComposite \def\ltj@chardef@text@cmd#1{% @@ -91,6 +91,9 @@ \newluafunction\ltj@@is@kyenc@@inner \newluafunction\ltj@@is@ktenc@@inner \newluafunction\ltj@@is@kenc@@inner +\newluafunction\ltj@@is@ffam@@inner +\newluafunction\ltj@@add@ffam@@inner +\newluafunction\ltj@@add@kfam@@inner \directlua{% local lf = lua.get_functions_table() lf[\the\ltj@@add@fenc@@inner] = luatexja.jfont.add_fenc_list @@ -99,6 +102,9 @@ lf[\the\ltj@@is@kyenc@@inner] = luatexja.jfont.is_kyenc lf[\the\ltj@@is@ktenc@@inner] = luatexja.jfont.is_ktenc lf[\the\ltj@@is@kenc@@inner] = luatexja.jfont.is_kenc + lf[\the\ltj@@is@ffam@@inner] = luatexja.jfont.is_ffam + lf[\the\ltj@@add@ffam@@inner] = luatexja.jfont.add_ffam + lf[\the\ltj@@add@kfam@@inner] = luatexja.jfont.add_kfam } \luadef\ltj@@add@fenc \ltj@@add@fenc@@inner \luadef\ltj@@add@kyenc\ltj@@add@kyenc@@inner @@ -106,6 +112,9 @@ \luadef\ltj@@is@kyenc \ltj@@is@kyenc@@inner \luadef\ltj@@is@ktenc \ltj@@is@ktenc@@inner \luadef\ltj@@is@kenc \ltj@@is@kenc@@inner +\luadef\ltj@@is@ffam \ltj@@is@ffam@@inner +\luadef\ltj@@add@ffam \ltj@@add@ffam@@inner +\luadef\ltj@@add@kfam \ltj@@add@kfam@@inner {\def\cdp@elt#1#2#3#4{\ltj@@add@fenc{#1}}\cdp@list} @@ -210,7 +219,7 @@ \@empty \else \reserved@a \fi - \directlua{luatexja.jfont.add_ffam('\luatexluaescapestring{#2}')}% + \ltj@@add@ffam{#2}% }% } \def\DeclareKanjiFamily#1#2#3{% @@ -223,7 +232,7 @@ \@empty \else \reserved@a \fi - \directlua{luatexja.jfont.add_kfam('\luatexluaescapestring{#2}')}% + \ltj@@add@kfam{#2}% }% } \def\DeclareKanjiSubstitution#1#2#3#4{% @@ -578,27 +587,28 @@ \DeclareRobustCommand\kanjifamily[1]{\edef\k@family{#1}} \DeclareRobustCommand\fontfamily[1]{% \@notkfamfalse\@notffamfalse - \edef\tmp@item{'\luatexluaescapestring{#1}'}% % - \directlua{luatexja.jfont.search_kfam(\tmp@item, \@ltj@use@fd)}% + \directlua{luatexja.jfont.search_kfam()}{#1}{\@ltj@use@fd}% \ifin@\edef\k@family{#1}\else\@notkfamtrue\fi % % alphabetic fonts part - \directlua{luatexja.jfont.is_ffam(\tmp@item)}% + \ltj@@is@ffam{#1}% \ifin@\edef\f@family{#1}\else % checking is_stored_ffam is not sufficient, % since LuaTeX-ja doesn't know whats fonts are defined before LuaTeX-ja is loaded. \ifcsname \f@encoding+#1\endcsname % easy case - \directlua{luatexja.jfont.add_ffam(\tmp@item)}\edef\f@family{#1}% + \ltj@@add@ffam{#1}\edef\f@family{#1}% \else \@tempswafalse - \def\cdp@elt##1{\ifcsname ##1+#1\endcsname\@tempswatrue\fi}% - \directlua{luatexja.jfont.search_ffam_declared()}% + \def\cdp@elt##1{\ifcsname ##1+#1\endcsname% + \@tempswatrue\def\cdp@elt####1\relax{}% + \fi}% + \directlua{luatexja.jfont.search_ffam_declared()}\relax% \if@tempswz - \directlua{luatexja.jfont.add_ffam(\tmp@item)}\edef\f@family{#1}% + \ltj@@add@ffam{#1}\edef\f@family{#1}% \else % now we search Nffam_list and font definition files. - \directlua{luatexja.jfont.search_ffam_fd(\tmp@item)}% + \directlua{luatexja.jfont.search_ffam_fd()}{#1}% \ifin@\edef\f@family{#1}\else\@notffamtrue\fi \fi \fi @@ -1026,19 +1036,22 @@ \expandafter\globaltfont\font@name\external@font\relax\font@name \csname \f@encoding+\f@family\endcsname \csname\curr@fontshape\endcsname} + +\newluafunction\ltj@@jfont@@jfmonly@@inner +\directlua{% + local lf = lua.get_functions_table() + lf[\the\ltj@@jfont@@jfmonly@@inner] = luatexja.jfont.load_jfmonly +} +\luadef\ltj@@jfont@@jfmonly \ltj@@jfont@@jfmonly@@inner \def\extract@jfont@onlyjfm{% \get@external@font \csxdef{ltj@@fontjfm/\expandafter\string\font@name}{% - \directlua{% - luatexja.jfont.load_jfmonly('\luatexluaescapestring{\external@font}', 'yoko') - }% + \ltj@@jfont@@jfmonly{\external@font}{yoko}% }} \def\extract@tfont@onlyjfm{% \get@external@font \csxdef{ltj@@fontjfm/\expandafter\string\font@name}{% - \directlua{% - luatexja.jfont.load_jfmonly('\luatexluaescapestring{\external@font}', 'tate') - }% + \ltj@@jfont@@jfmonly{\external@font}{tate}% }} \let\ltj@@al@do@subst@correction=\do@subst@correction @@ -1129,6 +1142,12 @@ %%%% \ClearAlternateKanjiFont % いつも global +\newluafunction\ltj@@does@alt@set@@inner +\directlua{% + local lf = lua.get_functions_table() + lf[\the\ltj@@does@alt@set@@inner] = luatexja.jfont.does_alt_set +} +\def\ltj@@does@alt@set#1#2{\luafunction\ltj@@does@alt@set@@inner{#1}{#2}} \def\ClearAlternateKanjiFont#1#2#3#4{% \directlua{luatexja.jfont.clear_alt_font_latex('\luatexluaescapestring{#1/#2/#3/#4}')}} @@ -1143,9 +1162,6 @@ \directlua{luatexja.jfont.pickup_alt_font_b(\the\ltj@tempcntc,'\luatexluaescapestring{#2}')}% } -\def\ltj@@does@alt@set#1#2{% - \directlua{luatexja.jfont.does_alt_set'\luatexluaescapestring{#1}'}{#2}} - %%%% patch \@text@composite because of {y,t}albaselineshift % %% \pltx@isletter from plfonts.dtx diff --git a/macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty b/macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty new file mode 100644 index 0000000000..4386442927 --- /dev/null +++ b/macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty @@ -0,0 +1,37 @@ +% +% lltjp-collcell.sty +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{lltjp-collcell}[2020/05/06 Patch to collcell for LuaTeX-ja] + +\RequirePackage{etoolbox,collcell} + +\def\collcell@beforeuser{\ltjfakeboxbdd\ignorespaces} +\def\collcell@afteruser{\unskip\ltjfakeboxbdd} + +\def\collectcell#1#2\relax\pltx@next@inhibitglue\ltjfakeboxbdd\ignorespaces{% + \begingroup + \collect@cell@count\z@ + \collect@cell@toks{}% + \let\collect@cell@spaces\empty + \def\collect@cell@end{% + \expandafter\endgroup + \expandafter\collcell@beforeuser + \expandafter\ccell@swap\expandafter{\the\collect@cell@toks}{#1}% + \collcell@afteruser + }% + \collect@cell@look#2% +} +\patchcmd\collect@cell@arg{% + \cci{% + \collect@cell@look + }% +}{ + \cci{% + \collect@cell@look + }% + \ltjfakeboxbdd{\collect@cell@look} +}{}{} + +\endinput diff --git a/macros/xetex/latex/bidi/README b/macros/xetex/latex/bidi/README index 57a0701cac..6275535b66 100644 --- a/macros/xetex/latex/bidi/README +++ b/macros/xetex/latex/bidi/README @@ -1,6 +1,6 @@ ___________________ The bidi package -v36.2 +v36.3 This package provides a convenient interface for typesetting bidirectional texts in Plain TeX and LaTeX, using XeTeX engine. @@ -16,7 +16,7 @@ In doing so, please always explain your issue well enough, and always include a minimal working example showing the issue. -Current version release date: 2020/05/15 +Current version release date: 2020/05/17 ___________________________________________ Copyright (c) Vafa Khalighi 2007--2020 diff --git a/macros/xetex/latex/bidi/bidi-doc-intro.ltx b/macros/xetex/latex/bidi/bidi-doc-intro.ltx index c48e399593..f1d43e05bf 100644 --- a/macros/xetex/latex/bidi/bidi-doc-intro.ltx +++ b/macros/xetex/latex/bidi/bidi-doc-intro.ltx @@ -20,7 +20,7 @@ If you use \textsf{bidi} package to write any input \TeX\ document, and then run * Copyright (c) 2007--2020 Vafa Khalighi * Copyright (c) 2018--2020 bidi-tex GitHub Organization * -* v36.2, 2020/05/15 +* v36.3, 2020/05/17 * * License: LaTeX Project Public License, version * 1.3c or higher (your choice) @@ -29,6 +29,8 @@ If you use \textsf{bidi} package to write any input \TeX\ document, and then run * * Issue tracker: https://github.com/persiantex/bidi/issues * +* Primary author of bidi package: Vafa Khalighi. +* **************************************************** \end{verbatim} \end{document} \ No newline at end of file diff --git a/macros/xetex/latex/bidi/bidi-doc-title.ltx b/macros/xetex/latex/bidi/bidi-doc-title.ltx index 940366fbd1..235828e7d0 100644 --- a/macros/xetex/latex/bidi/bidi-doc-title.ltx +++ b/macros/xetex/latex/bidi/bidi-doc-title.ltx @@ -3,7 +3,7 @@ \begin{document} \title{\textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}}\\ \LARGE Bidirectional typesetting in plain \TeX{} and \LaTeX, using \XeTeX{} engine\\[5pt] -\large User documentation for \textcolor{blue!65!black}{version 36.2}} +\large User documentation for \textcolor{blue!65!black}{version 36.3}} \author{Vafa Khalighi\thanks{Thanks to the bidi-tex GitHub organization consisted of David Carlisle and other members of the {\LaTeX} team to maintain the package in the period 2018--2020.}} \setcounter{page}{0} \thispagestyle{empty} @@ -13,7 +13,7 @@ \textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}} \Large -User documentation for \textcolor{blue!65!black}{version 36.2}} +User documentation for \textcolor{blue!65!black}{version 36.3}} \vskip 0pt plus 3fill \textit{\large to my Master, \textbf{Ferdowsi The Great}} diff --git a/macros/xetex/latex/bidi/bidi-doc.ltx b/macros/xetex/latex/bidi/bidi-doc.ltx index 275c975574..faef7c906f 100644 --- a/macros/xetex/latex/bidi/bidi-doc.ltx +++ b/macros/xetex/latex/bidi/bidi-doc.ltx @@ -1,7 +1,7 @@ \documentclass{ltxdoc} \input{bidi-doc-preamble.ltx} \hypersetup{% - pdftitle={User documentation for version 36.2 of the bidi + pdftitle={User documentation for version 36.3 of the bidi package}% } \begin{document} diff --git a/macros/xetex/latex/bidi/bidi-doc.pdf b/macros/xetex/latex/bidi/bidi-doc.pdf index db4013eea1..29795992a4 100644 Binary files a/macros/xetex/latex/bidi/bidi-doc.pdf and b/macros/xetex/latex/bidi/bidi-doc.pdf differ diff --git a/macros/xetex/latex/bidi/bidi.dtx b/macros/xetex/latex/bidi/bidi.dtx index 43df0adaac..f0192ef0d7 100644 --- a/macros/xetex/latex/bidi/bidi.dtx +++ b/macros/xetex/latex/bidi/bidi.dtx @@ -5,7 +5,7 @@ %<*readme> ___________________ The bidi package -v36.2 +v36.3 This package provides a convenient interface for typesetting bidirectional texts in Plain TeX and LaTeX, using XeTeX engine. @@ -21,7 +21,7 @@ In doing so, please always explain your issue well enough, and always include a minimal working example showing the issue. -Current version release date: 2020/05/15 +Current version release date: 2020/05/17 ___________________________________________ Copyright (c) Vafa Khalighi 2007--2020 @@ -219,7 +219,7 @@ by Vafa Khalighi. \documentclass{ltxdoc} \input{bidi-doc-preamble.ltx} \hypersetup{% - pdftitle={Source documentation for version 36.2 of the bidi + pdftitle={Source documentation for version 36.3 of the bidi package}% } \EnableCrossrefs @@ -238,7 +238,7 @@ by Vafa Khalighi. % \GetFileInfo{\jobname.dtx} % \title{\textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}}\\ %\LARGE Bidirectional typesetting in plain \TeX{} and \LaTeX, using \XeTeX{} engine\\[5pt] -%\large Source documentation for \textcolor{blue!65!black}{version 36.2}} +%\large Source documentation for \textcolor{blue!65!black}{version 36.3}} % \author{Vafa Khalighi\thanks{Thanks to the bidi-tex GitHub organization consisted of David Carlisle and other members of the {\LaTeX} team to maintain the package in the period 2018--2020.}} %\setcounter{page}{0} %\thispagestyle{empty} @@ -248,7 +248,7 @@ by Vafa Khalighi. %\textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}} % %\Large -%Source documentation for \textcolor{blue!65!black}{version 36.2}} +%Source documentation for \textcolor{blue!65!black}{version 36.3}} % %\vskip 0pt plus 3fill %\textit{\large to my Master, \textbf{Ferdowsi The Great}} @@ -285,7 +285,7 @@ by Vafa Khalighi. %\iffalse %<*table> %\fi -%% \CheckSum{50407} +%% \CheckSum{50426} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z @@ -666,7 +666,7 @@ by Vafa Khalighi. %\fi % \section{File \texttt{amsmath-xetex-bidi.def}} % \begin{macrocode} -\ProvidesFile{amsmath-xetex-bidi.def}[2018/01/08 v1.1 bidi adaptations for amsmath package for XeTeX engine] +\ProvidesFile{amsmath-xetex-bidi.def}[2020/05/16 v1.2 bidi adaptations for amsmath package for XeTeX engine] \let\veqno=\eqno \iftagsleft@ \let\veqno=\leqno \fi \renewcommand{\numberwithin}[3][\arabic]{% @@ -677,6 +677,13 @@ by Vafa Khalighi. \@xp\@nx\csname the#3\endcsname \@nx\@SepMark\@nx#1{#2}}}}% } \def\tagform@#1{\maketag@@@{\if@nonlatin\beginR\fi(\kern\z@\ignorespaces#1\unskip\@@italiccorr)\if@nonlatin\endR\fi}} + +\bidi@patchcmd\math@cr@@@align\place@tag{% + \place@tag + \else + \place@tag +}{}{} + % \end{macrocode} % \iffalse % @@ -1898,8 +1905,8 @@ by Vafa Khalighi. % \section{File \texttt{bidi.sty}} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\def\bididate{2020/05/15} -\def\bidi@version{36.2} +\def\bididate{2020/05/17} +\def\bidi@version{36.3} \ProvidesPackage{bidi}[\bididate\space v\bidi@version\space Bidirectional typesetting in plain TeX and LaTeX] \edef\@bidi@info{****************************************************^^J% @@ -1924,6 +1931,8 @@ Bidirectional typesetting in plain TeX and LaTeX] * ^^J% * Issue tracker: https://github.com/persiantex/bidi/issues^^J% * ^^J% +* Primary author of bidi package: Vafa Khalighi.^^J% +* ^^J% ****************************************************} \typeout{\@bidi@info} \edef\bidi@everyjob{\the\everyjob} @@ -1983,7 +1992,7 @@ Bidirectional typesetting in plain TeX and LaTeX] } \newcommand*{\@bidi@pdfcustomproperties}{% This is the bidi package, Version \bidi@version, - Released May 15, 2020. + Released May 17, 2020. } \@RTLmainfalse \AtBeginDocument{% @@ -2178,6 +2187,7 @@ Bidirectional typesetting in plain TeX and LaTeX] \XeTeXcharclass `\. \bidi@sepmark@charclass \XeTeXcharclass `\- \bidi@sepmark@charclass \bidi@digits=`\0 \loop \XeTeXcharclass \bidi@digits \bidi@digits@charclass \ifnum\bidi@digits<`\9 \advance\bidi@digits \@ne \repeat +\bidi@digits=`\٠ \loop \XeTeXcharclass \bidi@digits \bidi@digits@charclass \ifnum\bidi@digits<`\٩ \advance\bidi@digits \@ne \repeat \bidi@digits=`\۰ \loop \XeTeXcharclass \bidi@digits \bidi@digits@charclass \ifnum\bidi@digits<`\۹ \advance\bidi@digits \@ne \repeat \XeTeXinterchartoks \bidi@sepmark@charclass \bidi@digits@charclass = {\DigitsDotDashInterCharToks} \newcommand*{\DigitsDotDashInterCharToks}{\if@nonlatin\char"200F \fi} @@ -2225,9 +2235,9 @@ Bidirectional typesetting in plain TeX and LaTeX] %\fi % \section{File \texttt{bidi.tex}} % \begin{macrocode} -\def\bididate{2020/05/15} +\def\bididate{2020/05/17} \catcode`@=11 -\def\bidi@version{36.2} +\def\bidi@version{36.3} \let \protect \relax \newlinechar`\^^J \edef\@bidi@info{****************************************************^^J% @@ -2252,6 +2262,8 @@ Bidirectional typesetting in plain TeX and LaTeX] * ^^J% * Issue tracker: https://github.com/persiantex/bidi/issues^^J% * ^^J% +* Primary author of bidi package: Vafa Khalighi.^^J% +* ^^J% ****************************************************} \message{\@bidi@info} \edef\bidi@everyjob{\the\everyjob} @@ -2325,7 +2337,7 @@ Bidirectional typesetting in plain TeX and LaTeX] } \def\@bidi@pdfcustomproperties{% This is the bidi package, Version \bidi@version, - Released May 15, 2020. + Released May 17, 2020. } \def\bidi@pdfm@mark{% \special{pdf:% diff --git a/macros/xetex/latex/bidi/bidi.pdf b/macros/xetex/latex/bidi/bidi.pdf index af13f637eb..5e887f5129 100644 Binary files a/macros/xetex/latex/bidi/bidi.pdf and b/macros/xetex/latex/bidi/bidi.pdf differ diff --git a/macros/xetex/latex/xepersian/README b/macros/xetex/latex/xepersian/README index dbb69a2acd..8ccf399e8d 100644 --- a/macros/xetex/latex/xepersian/README +++ b/macros/xetex/latex/xepersian/README @@ -1,6 +1,6 @@ ____________________ The XePersian package -v23.0 +v23.1 The xepersian package provides a convenient interface for typesetting Persian and English texts in LaTeX, using XeTeX @@ -16,7 +16,7 @@ please use the issue tracker: In doing so, please always explain your issue well enough, and always include a minimal working example showing the issue. -Current version release date: 2020/05/16 +Current version release date: 2020/05/17 ___________________________________________ Copyright (c) Vafa Khalighi 2008--2020 Copyright (c) bidi-tex GitHub Organization 2018--2020 diff --git a/macros/xetex/latex/xepersian/xepersian-doc-intro.ltx b/macros/xetex/latex/xepersian/xepersian-doc-intro.ltx index 6ed2908df7..9c623195e9 100644 --- a/macros/xetex/latex/xepersian/xepersian-doc-intro.ltx +++ b/macros/xetex/latex/xepersian/xepersian-doc-intro.ltx @@ -25,7 +25,7 @@ If you use \textsf{\XePersian} package to write any input \TeX\ document, and th * Copyright (c) 2008--2020 Vafa Khalighi * Copyright (c) 2018--2020 bidi-tex GitHub Organization * -* v23.0, 2020/05/16 +* v23.1, 2020/05/17 * * License: LaTeX Project Public License, version * 1.3c or higher (your choice) @@ -34,6 +34,8 @@ If you use \textsf{\XePersian} package to write any input \TeX\ document, and th * * Issue tracker: https://github.com/persiantex/xepersian/issues * +* Primary author of xepersian package: Vafa Khalighi. +* **************************************************** \end{verbatim} \end{document} \ No newline at end of file diff --git a/macros/xetex/latex/xepersian/xepersian-doc-title.ltx b/macros/xetex/latex/xepersian/xepersian-doc-title.ltx index d085fbee4b..4d0898f33d 100644 --- a/macros/xetex/latex/xepersian/xepersian-doc-title.ltx +++ b/macros/xetex/latex/xepersian/xepersian-doc-title.ltx @@ -3,7 +3,7 @@ \begin{document} \title{\textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}}\\ \LARGE Persian for \LaTeXe, using {\XeTeX} engine\\[5pt] -\large User documentation for \textcolor{blue!65!black}{version 23.0}} +\large User documentation for \textcolor{blue!65!black}{version 23.1}} \author{Vafa Khalighi\thanks{Thanks to the bidi-tex GitHub organization consisted of David Carlisle and other members of the {\LaTeX} team to maintain the package in the period 2018--2020.}} \setcounter{page}{0} \thispagestyle{empty} @@ -13,7 +13,7 @@ \textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}} \Large -User documentation for \textcolor{blue!65!black}{version 23.0}} +User documentation for \textcolor{blue!65!black}{version 23.1}} \vskip 0pt plus 3fill \textit{\large to my Master, \textbf{Ferdowsi The Great}} diff --git a/macros/xetex/latex/xepersian/xepersian-doc.ltx b/macros/xetex/latex/xepersian/xepersian-doc.ltx index a5a04aaf14..2ea07b68ea 100644 --- a/macros/xetex/latex/xepersian/xepersian-doc.ltx +++ b/macros/xetex/latex/xepersian/xepersian-doc.ltx @@ -1,7 +1,7 @@ \documentclass{ltxdoc} \input{xepersian-doc-preamble.ltx} \hypersetup{% - pdftitle={User documentation for version 23.0 of the XePersian + pdftitle={User documentation for version 23.1 of the XePersian package}% } \begin{document} diff --git a/macros/xetex/latex/xepersian/xepersian-doc.pdf b/macros/xetex/latex/xepersian/xepersian-doc.pdf index d73ebc0046..693315fd4d 100644 Binary files a/macros/xetex/latex/xepersian/xepersian-doc.pdf and b/macros/xetex/latex/xepersian/xepersian-doc.pdf differ diff --git a/macros/xetex/latex/xepersian/xepersian.dtx b/macros/xetex/latex/xepersian/xepersian.dtx index 212d8794d2..9591f5c37e 100644 --- a/macros/xetex/latex/xepersian/xepersian.dtx +++ b/macros/xetex/latex/xepersian/xepersian.dtx @@ -5,7 +5,7 @@ %<*readme> ____________________ The XePersian package -v23.0 +v23.1 The xepersian package provides a convenient interface for typesetting Persian and English texts in LaTeX, using XeTeX @@ -22,7 +22,7 @@ In doing so, please always explain your issue well enough, and always include a minimal working example showing the issue. -Current version release date: 2020/05/16 +Current version release date: 2020/05/17 ___________________________________________ Copyright (c) Vafa Khalighi 2008--2020 Copyright (c) bidi-tex GitHub Organization 2018--2020 @@ -152,7 +152,7 @@ by Vafa Khalighi. \documentclass{ltxdoc} \input{xepersian-doc-preamble.ltx} \hypersetup{% - pdftitle={Source documentation for version 23.0 of the XePersian + pdftitle={Source documentation for version 23.1 of the XePersian package}% } \EnableCrossrefs @@ -171,7 +171,7 @@ by Vafa Khalighi. % \GetFileInfo{\jobname.dtx} % \title{\textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}}\\ %\LARGE Persian for \LaTeXe, using {\XeTeX} engine\\[5pt] -%\large Source documentation for \textcolor{blue!65!black}{version 23.0}} +%\large Source documentation for \textcolor{blue!65!black}{version 23.1}} % \author{Vafa Khalighi\thanks{Thanks to the bidi-tex GitHub organization consisted of David Carlisle and other members of the {\LaTeX} team to maintain the package in the period 2018--2020.}} %\setcounter{page}{0} %\thispagestyle{empty} @@ -181,7 +181,7 @@ by Vafa Khalighi. %\textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}} % %\Large -%Source documentation for \textcolor{blue!65!black}{version 23.0}} +%Source documentation for \textcolor{blue!65!black}{version 23.1}} % %\vskip 0pt plus 3fill %\textit{\large to my Master, \textbf{Ferdowsi The Great}} @@ -217,7 +217,7 @@ by Vafa Khalighi. %\iffalse %<*table> %\fi -%% \CheckSum{10884} +%% \CheckSum{10882} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z @@ -3285,14 +3285,12 @@ U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET %\fi % \section{File \texttt{tikz.code-xepersian.def}} % \begin{macrocode} -\ProvidesFile{tikz.code-xepersian.def}[2018/12/11 v0.1 adaptations for tikz.code.tex file] +\ProvidesFile{tikz.code-xepersian.def}[2020/05/17 v0.2 adaptations for tikz.code.tex file] \bidi@patchcmd\tikz@finish{% - \begingroup - \tikz@options + \tikz@preactions% }{% - \begingroup - \@@textdigitfont@onfalse - \tikz@options + \@@textdigitfont@onfalse% + \tikz@preactions% }{}{} % \end{macrocode} % \iffalse @@ -3418,8 +3416,8 @@ U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET % \section{File \texttt{xepersian.sty}} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\def\xepersian@version{23.0} -\def\xepersiandate{2020/05/16} +\def\xepersian@version{23.1} +\def\xepersiandate{2020/05/17} \ProvidesPackage{xepersian}[\xepersiandate\space v\xepersian@version\space Persian typesetting in XeLaTeX] \RequirePackage{fontspec} @@ -3446,6 +3444,8 @@ Persian typesetting in XeLaTeX] * ^^J% * Issue tracker: https://github.com/persiantex/xepersian/issues^^J% * ^^J% +* Primary author of xepersian package: Vafa Khalighi.^^J% +* ^^J% ****************************************************} \typeout{\@xepersian@info} \edef\xepersian@everyjob{\the\everyjob} @@ -4249,7 +4249,7 @@ Persian typesetting in XeLaTeX] \newcommand*{\@xepersian@pdfcustomproperties}{% This is the xepersian package, Version \xepersian@version, - Released May 16, 2020. + Released May 17, 2020. } \newcommand\twocolumnstableofcontents{% diff --git a/macros/xetex/latex/xepersian/xepersian.pdf b/macros/xetex/latex/xepersian/xepersian.pdf index 7db9c9387c..135dc52377 100644 Binary files a/macros/xetex/latex/xepersian/xepersian.pdf and b/macros/xetex/latex/xepersian/xepersian.pdf differ -- cgit v1.2.3