diff options
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/luatex/luatexja/ltjsclasses.dtx | 23 | ||||
-rwxr-xr-x | Master/texmf-dist/source/luatex/luatexja/tool/ltj-unicode-ccfix_make2.pl | 109 |
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__ |