summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/luatex/luatexja/ltjsclasses.dtx23
-rwxr-xr-xMaster/texmf-dist/source/luatex/luatexja/tool/ltj-unicode-ccfix_make2.pl109
2 files changed, 125 insertions, 7 deletions
diff --git a/Master/texmf-dist/source/luatex/luatexja/ltjsclasses.dtx b/Master/texmf-dist/source/luatex/luatexja/ltjsclasses.dtx
index 6bff5843602..53b2f0524b5 100644
--- a/Master/texmf-dist/source/luatex/luatexja/ltjsclasses.dtx
+++ b/Master/texmf-dist/source/luatex/luatexja/ltjsclasses.dtx
@@ -22,7 +22,7 @@
% -----------------------------------------
%
% \fi
-% \CheckSum{5203}
+% \CheckSum{5210}
%% \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
@@ -50,7 +50,7 @@
%<*driver>
\ProvidesFile{ltjsclasses.dtx}
%</driver>
- [2014/05/14 ]
+ [2014/12/24 ]
%<*driver>
\documentclass{ltjsarticle}
\usepackage{doc}
@@ -132,6 +132,8 @@
%
% [2014-02-07 LTJ] jsclasses 2014-02-07 ベースにしました.
%
+% [2014-12-24 LTJ] |\@setfontsize| 中の和欧文間空白の設定で if 文が抜けていたのを直しました.
+%
% \StopEventually{}
%
% 以下では実際のコードに即して説明します。
@@ -960,6 +962,10 @@
% |\ltjsetkanjiskip| と |\ltjsetxkanjiskip|(両者とも,
% 実行前には |\ltj@setpar@global| の実行が必要)にしました.
%
+% [2014-12-24 LTJ] |jsclasses| では,|\@setfontsize| 中で |xkanjiskip| を
+% 設定するのは現在の和欧文間空白の自然長が正の場合だけでした.
+% |ltjsclasses| では最初からこの判定が抜けてしまっていたので,復活させます.
+%
% \begin{macrocode}
\def\@setfontsize#1#2#3{%
% \@nomath#1%
@@ -975,11 +981,14 @@
\fi
\fi
\ltj@setpar@global
- \ltjsetkanjiskip{0pt plus .1\zw minus .01\zw}
- \if@slide
- \ltjsetxkanjiskip{0.1em}
- \else
- \ltjsetxkanjiskip{0.25em plus 0.15em minus 0.06em}
+ \ltjsetkanjiskip{\z@ plus .1\zw minus .01\zw}
+ \@tempskipa=\ltjgetparameter{xkanjiskip}
+ \ifdim\@tempskipa>\z@
+ \if@slide
+ \ltjsetxkanjiskip{0.1em}
+ \else
+ \ltjsetxkanjiskip{0.25em plus 0.15em minus 0.06em}
+ \fi
\fi}
% \end{macrocode}
% \end{macro}
diff --git a/Master/texmf-dist/source/luatex/luatexja/tool/ltj-unicode-ccfix_make2.pl b/Master/texmf-dist/source/luatex/luatexja/tool/ltj-unicode-ccfix_make2.pl
new file mode 100755
index 00000000000..d5db9643eb2
--- /dev/null
+++ b/Master/texmf-dist/source/luatex/luatexja/tool/ltj-unicode-ccfix_make2.pl
@@ -0,0 +1,109 @@
+#!/usr/bin/env perl
+
+# create ltj-unicode-ccfix.tex by processing Unicode data file
+# LineBreak.txt
+
+# modified from unicode-char-prep.pl (part of the XeTeX typesetting system).
+# original copyright is as follows:
+#
+# /****************************************************************************\
+# Part of the XeTeX typesetting system
+# Copyright (c) 1994-2008 by SIL International
+# Copyright (c) 2009 by Jonathan Kew
+#
+# SIL Author(s): Jonathan Kew
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be
+# included in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE
+# FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+# CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the copyright holders
+# shall not be used in advertising or otherwise to promote the sale,
+# use or other dealings in this Software without prior written
+# authorization from the copyright holders.
+# \****************************************************************************/
+
+die "usage: perl $0 LineBreak.txt > unicode-letters.tex\n"
+ unless $#ARGV == 0;
+
+sub parse_unidata {
+ my (@u) = @_;
+ $lccode{$u[0]} = $u[13] if $u[13] ne '';
+ $lccode{$u[0]} = $u[0] if $u[13] eq '' and ($u[2] =~ /^L/ or $u[12] ne '');
+ $uccode{$u[0]} = $u[12] if $u[12] ne '';
+ $uccode{$u[0]} = $u[0] if $u[12] eq '' and ($u[2] =~ /^L/ or $u[13] ne '');
+ if ($u[2] =~ /^L/) {
+ push(@letters, $u[0]);
+ }
+ elsif ($u[2] =~ /^M/) {
+ push(@marks, $u[0]);
+ }
+ elsif (exists $lccode{$u[0]} or exists $uccode{$u[0]}) {
+ push(@casesym, $u[0]);
+ }
+}
+
+
+my ($start, $end);
+$date = `date`;
+chomp $date;
+print << "__EOT__";
+-- Do not edit this file!
+-- Created from LineBreak.txt by ltj-unicode-ccfix_make.pl on $date.
+-- In case of errors, fix the Perl script instead.
+__EOT__
+
+%lineBreakClass = (
+ 'ID' => 1, # ideograph
+);
+
+
+print << '__EOT__';
+if tex.getcatcode(0x6F22)==12 then
+ local tex_catcode = tex.setcatcode
+ local function set_letter(b,e)
+ for i=b,e do tex_catcode('global', i, 11) end
+ end
+
+__EOT__
+
+open LineBreak, $ARGV[0] or die "can't read $ARGV[0]";
+while (<LineBreak>) {
+ chomp;
+ s/ *#.*//;
+ s/ +$//;
+ if (m/([0-9A-F]{4,6})(?:\.\.([0-9A-F]{4,6}))?;(..)/) {
+ $s = $1;
+ $e = $2;
+ $lb = $3;
+ $e = $s if $e eq '';
+ if (exists $lineBreakClass{$lb}) {
+ if ($lineBreakClass{$lb} == 1) {
+ # ideographs: set whole range to class 1
+ print " set_letter(0x$s,0x$e)\n";
+ }
+ }
+ }
+}
+close LineBreak;
+
+print << '__EOT__';
+
+end
+
+__EOT__