diff --git a/latexdiff b/latexdiff index 501c7ba..fecff83 100755 --- a/latexdiff +++ b/latexdiff @@ -53,6 +53,7 @@ # - Unlike 'array' environment, 'split' (amsmath) does not work in argument of \DIFadd or \DIFdl in UNDERLINE modes; therefore remove it from ARRENV configuration variable. # Exclude \begin and \end in math environments in COARSE and WHOLE modes. Fixes #258. Fixes #109 # - --flatten now works for empty files. Fixes issue #242 +# - improved processing of Chinese and Japanese texts in that splitting is done based on characters. Thanks to LuXu (Oliver Lew) in git for working this out. Fixes #229, fixes #145 @@ -816,8 +817,9 @@ push(@SAFECMDLIST, qr/^QLEFTBRACE$/, qr/^QRIGHTBRACE$/); # such that a\_b is interpreted as a{\_}b by latex but a{\_b} by perl my $quotedunderscore='\\\\_'; # word: sequence of letters or accents followed by letter - my $word_ja='\p{Han}+|\p{InHiragana}+|\p{InKatakana}+'; - my $word='(?:' . $word_ja . '|(?:(?:[-\w\d*]|\\\\[\"\'\`~^][A-Za-z\*])(?!(?:' . $word_ja . ')))+)'; + ### my $word_ja='\p{Han}+|\p{InHiragana}+|\p{InKatakana}+'; + my $word_cj='\p{Han}|\p{InHiragana}|\p{InKatakana}'; + my $word='(?:' . $word_cj . '|(?:(?:[-\w\d*]|\\\\[\"\'\`~^][A-Za-z\*])(?!(?:' . $word_cj . ')))+)'; # for selected commands, the number of arguments is known, and we can therefore allow spaces between command and its argument # Note that it is still expected that the arguments are blocks marked by parentheses rather than single characters, and that intervening comments will inhibit the association diff --git a/testsuite/cjlanguage-new.tex b/testsuite/cjlanguage-new.tex new file mode 100644 index 0000000..d5ddf60 --- /dev/null +++ b/testsuite/cjlanguage-new.tex @@ -0,0 +1,17 @@ +\documentclass{ctexart} +% needs compilation with xelatex +\begin{document} +Chinese: 汉汉汉汉字汉汉汉汉 + +Hiragana: ああああいああああ + +Katakana: アアアアイアアアア + +例えばS波の到達時刻を知りたい場合,ジェフェリーズとブレンの掃除表が使えますか? + + +1912年にHessによって宇宙線が初めて発見されて以来、広いエネルギー範囲、多種多様な検出器によって宇宙線観測が行われてきた。また、ガリレオ以来発達してきた可視光での天体観測も、電波望遠鏡や赤外望遠鏡という新しい観測手段の登場により、多波長観測へと発展した。 + +宇宙線といっても、その成分は陽子、原子核、電子、ニュートリノなど様々であり、そのエネルギー範囲も何桁にもわたる。現在、地上で確認されている宇宙線のうち、最もエネルギーの高いものは$10^{20}$~eVを超える(いわゆる最高エネルギー宇宙線)。これは加速器で人類が到達できるエネルギーを8桁も上回るが、なぜそのような高いエネルギーの宇宙線が存在するのかは解明されていない。宇宙線の加速機構、地球までの伝播過程、また1次宇宙線成分は何であるのかは、いずれも未解決の問題であり、将来の宇宙線観測計画による解決が期待される。 + +\end{document} diff --git a/testsuite/cjlanguage-old.tex b/testsuite/cjlanguage-old.tex new file mode 100644 index 0000000..14145bf --- /dev/null +++ b/testsuite/cjlanguage-old.tex @@ -0,0 +1,17 @@ +\documentclass{ctexart} +% needs compilation with xelatex +\begin{document} +Chinese: 汉汉汉汉汉汉汉汉汉 + +Hiragana: あああああああああ + +Katakana: アアアアアアアアア + +例えばP波の到達時刻を知りたい場合,ジェフリーズとブレンの走時表が使えます. + +1910年代にHessらによって宇宙線の存在が確認されて以来、様々なエネルギー領域、様々な検出器によって宇宙線の観測が行われてきた。同時に、ガリレオ以来発達してきた可視光による天体の観測も、電波望遠鏡や赤外望遠鏡の登場によって多波長での観測へと発展することとなった。 + +宇宙線と言っても、その成分は電磁波、陽子、原子核、neutrinoなど様々であり、それらの持つエネルギーも広範にわたる。現在地球上で確認されている宇宙線のうち、最もエネルギーの高いものは$10^{20}$~eVを超える(最高エネルギー宇宙線)。これは人工的に到達できるエネルギーを実に8桁も上回るが、なぜそのような高エネルギーの宇宙線が存在するのかは謎である。加速機構、地球までの伝播過程、1次宇宙線成分は何であるのか、いずれも未解明のままであり、その興味は尽きない。 + +\end{document} +