From 086bca9576d4faa05f48283462a883cbd585a69f Mon Sep 17 00:00:00 2001 From: Peng Guanwen Date: Mon, 4 Mar 2024 17:02:25 +0800 Subject: [PATCH] Fix JIS style punctuation (#3543) --- crates/typst/src/layout/inline/mod.rs | 4 +- crates/typst/src/layout/inline/shaping.rs | 74 ++++++++++++------ .../ref/layout/cjk-punctuation-adjustment.png | Bin 26949 -> 28665 bytes .../typ/layout/cjk-punctuation-adjustment.typ | 6 ++ 4 files changed, 56 insertions(+), 28 deletions(-) diff --git a/crates/typst/src/layout/inline/mod.rs b/crates/typst/src/layout/inline/mod.rs index 6add43101..667421fd5 100644 --- a/crates/typst/src/layout/inline/mod.rs +++ b/crates/typst/src/layout/inline/mod.rs @@ -7,7 +7,7 @@ use unicode_script::{Script, UnicodeScript}; use self::linebreak::{breakpoints, Breakpoint}; use self::shaping::{ - is_gb_style, is_of_cj_script, shape, ShapedGlyph, ShapedText, BEGIN_PUNCT_PAT, + cjk_punct_style, is_of_cj_script, shape, ShapedGlyph, ShapedText, BEGIN_PUNCT_PAT, END_PUNCT_PAT, }; use crate::diag::{bail, SourceResult}; @@ -1041,7 +1041,7 @@ fn line<'a>( justify |= text.ends_with('\u{2028}'); // Deal with CJK punctuation at line ends. - let gb_style = is_gb_style(shaped.lang, shaped.region); + let gb_style = cjk_punct_style(shaped.lang, shaped.region); let maybe_adjust_last_glyph = trimmed.ends_with(END_PUNCT_PAT) || (p.cjk_latin_spacing && trimmed.ends_with(is_of_cj_script)); diff --git a/crates/typst/src/layout/inline/shaping.rs b/crates/typst/src/layout/inline/shaping.rs index 586d89e7d..c346233e3 100644 --- a/crates/typst/src/layout/inline/shaping.rs +++ b/crates/typst/src/layout/inline/shaping.rs @@ -114,18 +114,18 @@ impl ShapedGlyph { } pub fn is_cjk_punctuation(&self) -> bool { - self.is_cjk_left_aligned_punctuation(true) + self.is_cjk_left_aligned_punctuation(CjkPunctStyle::Gb) || self.is_cjk_right_aligned_punctuation() - || self.is_cjk_center_aligned_punctuation(true) + || self.is_cjk_center_aligned_punctuation(CjkPunctStyle::Gb) } /// See - pub fn is_cjk_left_aligned_punctuation(&self, gb_style: bool) -> bool { + pub fn is_cjk_left_aligned_punctuation(&self, style: CjkPunctStyle) -> bool { is_cjk_left_aligned_punctuation( self.c, self.x_advance, self.stretchability(), - gb_style, + style, ) } @@ -135,8 +135,8 @@ impl ShapedGlyph { } /// See - pub fn is_cjk_center_aligned_punctuation(&self, gb_style: bool) -> bool { - is_cjk_center_aligned_punctuation(self.c, gb_style) + pub fn is_cjk_center_aligned_punctuation(&self, style: CjkPunctStyle) -> bool { + is_cjk_center_aligned_punctuation(self.c, style) } /// Whether the glyph is a western letter or number. @@ -146,7 +146,7 @@ impl ShapedGlyph { || self.c.is_ascii_digit() } - pub fn base_adjustability(&self, gb_style: bool) -> Adjustability { + pub fn base_adjustability(&self, style: CjkPunctStyle) -> Adjustability { let width = self.x_advance; if self.is_space() { Adjustability { @@ -154,7 +154,7 @@ impl ShapedGlyph { stretchability: (Em::zero(), width / 2.0), shrinkability: (Em::zero(), width / 3.0), } - } else if self.is_cjk_left_aligned_punctuation(gb_style) { + } else if self.is_cjk_left_aligned_punctuation(style) { Adjustability { stretchability: (Em::zero(), Em::zero()), shrinkability: (Em::zero(), width / 2.0), @@ -164,7 +164,7 @@ impl ShapedGlyph { stretchability: (Em::zero(), Em::zero()), shrinkability: (width / 2.0, Em::zero()), } - } else if self.is_cjk_center_aligned_punctuation(gb_style) { + } else if self.is_cjk_center_aligned_punctuation(style) { Adjustability { stretchability: (Em::zero(), Em::zero()), shrinkability: (width / 4.0, width / 4.0), @@ -883,16 +883,16 @@ fn track_and_space(ctx: &mut ShapingContext) { /// Calculate stretchability and shrinkability of each glyph, /// and CJK punctuation adjustments according to Chinese Layout Requirements. fn calculate_adjustability(ctx: &mut ShapingContext, lang: Lang, region: Option) { - let gb_style = is_gb_style(lang, region); + let style = cjk_punct_style(lang, region); for glyph in &mut ctx.glyphs { - glyph.adjustability = glyph.base_adjustability(gb_style); + glyph.adjustability = glyph.base_adjustability(style); } let mut glyphs = ctx.glyphs.iter_mut().peekable(); while let Some(glyph) = glyphs.next() { - // Only GB style needs further adjustment. - if glyph.is_cjk_punctuation() && !gb_style { + // CNS style needs not further adjustment. + if glyph.is_cjk_punctuation() && matches!(style, CjkPunctStyle::Cns) { continue; } @@ -976,11 +976,23 @@ pub(super) const END_PUNCT_PAT: &[char] = &[ '〗', '〕', ']', '}', '?', '!', ]; -pub(super) fn is_gb_style(lang: Lang, region: Option) -> bool { - // Most CJK variants, including zh-CN, ja-JP, zh-SG, zh-MY use GB-style punctuation, - // while zh-HK and zh-TW use alternative style. We default to use GB-style. - !(lang == Lang::CHINESE - && matches!(region.as_ref().map(Region::as_str), Some("TW" | "HK"))) +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub(super) enum CjkPunctStyle { + /// Standard GB/T 15834-2011, used mostly in mainland China. + Gb, + /// Standard by Taiwan Ministry of Education, used in Taiwan and Hong Kong. + Cns, + /// Standard JIS X 4051, used in Japan. + Jis, +} + +pub(super) fn cjk_punct_style(lang: Lang, region: Option) -> CjkPunctStyle { + match (lang, region.as_ref().map(Region::as_str)) { + (Lang::CHINESE, Some("TW" | "HK")) => CjkPunctStyle::Cns, + (Lang::JAPANESE, _) => CjkPunctStyle::Jis, + // zh-CN, zh-SG, zh-MY use GB-style punctuation, + _ => CjkPunctStyle::Gb, + } } /// Whether the glyph is a space. @@ -1007,16 +1019,22 @@ fn is_cjk_left_aligned_punctuation( c: char, x_advance: Em, stretchability: (Em, Em), - gb_style: bool, + style: CjkPunctStyle, ) -> bool { + use CjkPunctStyle::*; + // CJK quotation marks shares codepoints with latin quotation marks. // But only the CJK ones have full width. if matches!(c, '”' | '’') && x_advance + stretchability.1 == Em::one() { return true; } - if gb_style && matches!(c, ',' | '。' | '.' | '、' | ':' | ';' | '!' | '?') + if matches!(style, Gb | Jis) && matches!(c, ',' | '。' | '.' | '、' | ':' | ';') { + return true; + } + + if matches!(style, Gb) && matches!(c, '?' | '!') { // In GB style, exclamations and question marks are also left aligned and can be adjusted. // Note that they are not adjustable in other styles. return true; @@ -1042,13 +1060,16 @@ fn is_cjk_right_aligned_punctuation( } /// See -fn is_cjk_center_aligned_punctuation(c: char, gb_style: bool) -> bool { - if !gb_style && matches!(c, ',' | '。' | '.' | '、' | ':' | ';') { +fn is_cjk_center_aligned_punctuation(c: char, style: CjkPunctStyle) -> bool { + if matches!(style, CjkPunctStyle::Cns) + && matches!(c, ',' | '。' | '.' | '、' | ':' | ';') + { return true; } // U+30FB: Katakana Middle Dot - matches!(c, '\u{30FB}') + // U+00B7: Middle Dot + matches!(c, '\u{30FB}' | '\u{00B7}') } /// Whether the glyph is justifiable. @@ -1064,10 +1085,11 @@ fn is_justifiable( x_advance: Em, stretchability: (Em, Em), ) -> bool { - // GB style is not relevant here. + // punctuation style is not relevant here. + let style = CjkPunctStyle::Gb; is_space(c) || is_cj_script(c, script) - || is_cjk_left_aligned_punctuation(c, x_advance, stretchability, true) + || is_cjk_left_aligned_punctuation(c, x_advance, stretchability, style) || is_cjk_right_aligned_punctuation(c, x_advance, stretchability) - || is_cjk_center_aligned_punctuation(c, true) + || is_cjk_center_aligned_punctuation(c, style) } diff --git a/tests/ref/layout/cjk-punctuation-adjustment.png b/tests/ref/layout/cjk-punctuation-adjustment.png index 7117975148b23afc70fb11ceb7632c7ba84b4e7b..1da08f23ff53fb8be51c5f31ae2be927d58f12f5 100644 GIT binary patch literal 28665 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 literal 26949 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 y{(t6*|M