summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
Diffstat (limited to 'macros')
-rw-r--r--macros/context/contrib/context-vim/VERSION2
-rw-r--r--macros/context/contrib/context-vim/doc/context/third/vim/vim.txt2
-rw-r--r--macros/context/contrib/context-vim/tex/context/third/vim/2context.vim48
-rw-r--r--macros/context/contrib/context-vim/tex/context/third/vim/t-vim.tex71
-rw-r--r--macros/latex/contrib/exercises/README.md2
-rw-r--r--macros/latex/contrib/exercises/exercises.dtx68
-rw-r--r--macros/latex/contrib/exercises/exercises.ins4
-rw-r--r--macros/latex/contrib/exercises/exercises.pdfbin414151 -> 420909 bytes
-rw-r--r--macros/latex/contrib/vcell/README.md2
-rw-r--r--macros/latex/contrib/vcell/vcell.pdfbin147125 -> 147086 bytes
-rw-r--r--macros/latex/contrib/vcell/vcell.sty10
-rw-r--r--macros/latex/contrib/vcell/vcell.tex1
-rw-r--r--macros/luatex/generic/lua-uni-algos/README.md4
-rw-r--r--macros/luatex/generic/lua-uni-algos/lua-uni-algos.pdfbin60471 -> 60487 bytes
-rw-r--r--macros/luatex/generic/lua-uni-algos/lua-uni-normalize.lua25
-rw-r--r--macros/luatex/generic/luatexja/README8
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja-en.pdfbin685486 -> 689335 bytes
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja-ja.pdfbin1101330 -> 1109921 bytes
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja.dtx94
-rw-r--r--macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty26
-rw-r--r--macros/luatex/generic/luatexja/src/jfm-propw.lua9
-rw-r--r--macros/luatex/generic/luatexja/src/jfm-ujis.lua72
-rw-r--r--macros/luatex/generic/luatexja/src/jfm-ujisv.lua1
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-jfont.lua54
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-latex.sty3
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-setwidth.lua14
-rw-r--r--macros/luatex/generic/luatexja/src/luatexja.sty2
-rw-r--r--macros/luatex/generic/luatexja/src/patches/lltjfont.sty56
-rw-r--r--macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty37
-rw-r--r--macros/xetex/latex/bidi/README4
-rw-r--r--macros/xetex/latex/bidi/bidi-doc-intro.ltx4
-rw-r--r--macros/xetex/latex/bidi/bidi-doc-title.ltx4
-rw-r--r--macros/xetex/latex/bidi/bidi-doc.ltx2
-rw-r--r--macros/xetex/latex/bidi/bidi-doc.pdfbin172890 -> 173289 bytes
-rw-r--r--macros/xetex/latex/bidi/bidi.dtx38
-rw-r--r--macros/xetex/latex/bidi/bidi.pdfbin3111015 -> 3111844 bytes
-rw-r--r--macros/xetex/latex/xepersian/README4
-rw-r--r--macros/xetex/latex/xepersian/xepersian-doc-intro.ltx4
-rw-r--r--macros/xetex/latex/xepersian/xepersian-doc-title.ltx4
-rw-r--r--macros/xetex/latex/xepersian/xepersian-doc.ltx2
-rw-r--r--macros/xetex/latex/xepersian/xepersian-doc.pdfbin234536 -> 234762 bytes
-rw-r--r--macros/xetex/latex/xepersian/xepersian.dtx30
-rw-r--r--macros/xetex/latex/xepersian/xepersian.pdfbin756107 -> 755776 bytes
43 files changed, 482 insertions, 229 deletions
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 <adityam [at] umich [dot] edu>
-" 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 <at> ieee <dot> 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 <rogerjud@outlook.com>
+% Copyright (C) 2000 by Roger Jud <rogerjud@outlook.com>
% -------------------------------------------------------
%
% This file may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<package>\ProvidesPackage{exercises}[2015/09/19 v1.0 .dtx exercises file]
+%<package>\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
+%</example>
+% \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
+%</example>
+% \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}
@@ -934,5 +979,18 @@ Sum of points: \totalpoints
% \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 <rogerjud@outlook.com>
+%% Copyright (C) 2020 by Roger Jud <rogerjud@outlook.com>
%%
%% 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 <rogerjud@outlook.com>
+Copyright (C) 2020 by Roger Jud <rogerjud@outlook.com>
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
--- a/macros/latex/contrib/exercises/exercises.pdf
+++ b/macros/latex/contrib/exercises/exercises.pdf
Binary files 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
--- a/macros/latex/contrib/vcell/vcell.pdf
+++ b/macros/latex/contrib/vcell/vcell.pdf
Binary files 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 <info@latex-tables.com>
%
@@ -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
--- a/macros/luatex/generic/lua-uni-algos/lua-uni-algos.pdf
+++ b/macros/luatex/generic/lua-uni-algos/lua-uni-algos.pdf
Binary files 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
<http://git.osdn.jp/view?p=luatex-ja/luatexja.git
- ;a=snapshot;h=refs/tags/20200412.0;sf=tgz>
+ ;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
--- a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
+++ b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
Binary files 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
--- a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
+++ b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
Binary files 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}
%<en>\newtheorem{defn}{Definition}
%<ja>\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:
%</en>
%<*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.
%</en>
%<*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}が有用かもしれない.}.
+%</ja>
+%<*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>
+
%<*en>
\item[jfmvar=<string>]
Sometimes there is a need that \ldots.
@@ -3673,6 +3690,7 @@ NFSS2用の命令(\ref{ssec:chgfnt}節,\ref{ssec:nfsspat}節)における
%</ja>
%<*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>] 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:
%</en>
@@ -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}を複数回指定した場合は,
最後に指定したものが有効となる.
%</ja>
%<*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}.
+%</en>
+\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}
-%</en>
+\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}
%</en>
%<*ja>
@@ -4727,6 +4742,26 @@ Hence we have the following result:
(optional, version~2 or~later)
%</en>
+ \item[round\_threshold=<float>]
+%<*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`<r$であれば,JFMで文字幅$nw$が指定されたものとして扱う.
+
+この機能は,ほとんど源ノ明朝・源ノ角ゴシックにおける2倍角・3倍角ダッシュの合字のために実装されたと
+言ってもよい.これらのグリフは\LuaTeX 内部ではUnicodeの私用領域に割り当てられるので,
+JFM側で番号を指定することができない.
+%</ja>
+%<*en>
+(optional, version~3 or~later, only available in character class~0)
+%</en>
+
+
\end{cslist}
%<*ja>
@@ -4817,7 +4852,7 @@ as follows:
%<ja>\paragraph{仮想的な文字}
%<en>\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 <jfont\_cs> 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
%<en>\item[\texttt{luatexja.load\_jfm} callback]
%<ja>\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.
%</en>
%<*ja>
@@ -8343,7 +8378,7 @@ Std/StdNフォントであり,その他はAdobe-Japan1-5対応である.
\midrule
%<en>\textit{rounded gothic}
%<ja>\textgt{丸ゴシック}
-&&\AD{Sans}{Heavy}\\
+&&\AD{Sans}{Medium}\\
\bottomrule
\end{tabular}
\end{center}
@@ -8375,7 +8410,7 @@ Std/StdNフォントであり,その他はAdobe-Japan1-5対応である.
\midrule
%<en>\textit{rounded gothic}
%<ja>\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
%<en>\textit{rounded gothic}
%<ja>\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) <char_data.round_threshold then fwidth = fwidth * quot end
+ end
+ end
local xo, yo = getoffsets(p)
setoffsets(p, xo + char_data.align*(fwidth-pwidth) - fshift.left,
yo - fshift.down);
@@ -191,6 +198,11 @@ local function capsule_glyph_tate(p, met, char_data, head, dir)
pwidth, ascender = feir.vheight[pc]*met.size, feir.vorigin[pc]*met.size
end
fwidth = fwidth or pwidth
+ if pwidth>fwidth and char_data.round_threshold then
+ local frac = pwidth / fwidth
+ local quot = floor(frac+0.5)
+ if abs(frac-quot) <char_data.round_threshold then fwidth = fwidth * quot end
+ end
fshift.down = char_data.down; fshift.left = char_data.left
fshift = call_callback("luatexja.set_width", fshift, met, char_data)
local fheight = char_data.height or 0
diff --git a/macros/luatex/generic/luatexja/src/luatexja.sty b/macros/luatex/generic/luatexja/src/luatexja.sty
index c2c8c45147..68b11f7d87 100644
--- a/macros/luatex/generic/luatexja/src/luatexja.sty
+++ b/macros/luatex/generic/luatexja/src/luatexja.sty
@@ -41,7 +41,7 @@
\ProcessOptions\relax
\fi %</LaTeX>
%%%% 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<Benc><Bfam><Bser><Bshape>
% いつも 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
--- a/macros/xetex/latex/bidi/bidi-doc.pdf
+++ b/macros/xetex/latex/bidi/bidi-doc.pdf
Binary files 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
%</amsmath-xetex-bidi.def>
@@ -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
--- a/macros/xetex/latex/bidi/bidi.pdf
+++ b/macros/xetex/latex/bidi/bidi.pdf
Binary files 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
--- a/macros/xetex/latex/xepersian/xepersian-doc.pdf
+++ b/macros/xetex/latex/xepersian/xepersian-doc.pdf
Binary files 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
--- a/macros/xetex/latex/xepersian/xepersian.pdf
+++ b/macros/xetex/latex/xepersian/xepersian.pdf
Binary files differ