Skip to content

Commit

Permalink
モノルビとグループルビの使い分けに対応した
Browse files Browse the repository at this point in the history
辟易(へき えき)のような文字単位でルビをふるモノルビと、
欠伸(あくび)のような熟語単位でルビをふるグループルビの使い分けに対応しました。

従来は一律グループルビにし、モノルビにすべきものは手動で変換していました。
  • Loading branch information
inao committed Oct 23, 2015
1 parent c38efd3 commit 920f10f
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 7 deletions.
7 changes: 6 additions & 1 deletion lib/Text/Md2Inao/Builder/InDesign.pm
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,12 @@ case span => sub {
if ($h->attr('class') eq 'red') {
return sprintf "<CharStyle:赤字>%s<CharStyle:>", $c->parse_element($h);
}
elsif ($h->attr('class') eq 'ruby') {
elsif ($h->attr('class') eq 'monoruby') {
my $ruby = $h->as_trimmed_text;
$ruby =~ s!(.+)\((.+)\)!<cr:1><crstr:$2><cmojir:1>$1<cr:><crstr:><cmojir:>!;
return $ruby;
}
elsif ($h->attr('class') eq 'groupruby') {
my $ruby = $h->as_trimmed_text;
$ruby =~ s!(.+)\((.+)\)!<cr:1><crstr:$2><cmojir:0>$1<cr:><crstr:><cmojir:>!;
return $ruby;
Expand Down
12 changes: 9 additions & 3 deletions t/30_indesign_basic_syntax.t
Original file line number Diff line number Diff line change
Expand Up @@ -90,11 +90,17 @@ _a-zA-Z0-9!"#$%&'()-=^@`[]{};+:*<>,./?_
--- expected
<ParaStyle:本文>これは<CharStyle:赤字>赤文字<CharStyle:>です
=== ruby
=== monoruby
--- in md2inao
ルビつきの語<span class="ruby">外村(ほかむら)</span>です
ルビつきの語<span class='monoruby'>辟易(へき えき)</span>です
--- expected
<ParaStyle:本文>ルビつきの語<cr:1><crstr:ほかむら><cmojir:0>外村<cr:><crstr:><cmojir:>です
<ParaStyle:本文>ルビつきの語<cr:1><crstr:へき えき><cmojir:1>辟易<cr:><crstr:><cmojir:>です
=== groupruby
--- in md2inao
ルビつきの語<span class='groupruby'>欠伸(あくび)</span>です
--- expected
<ParaStyle:本文>ルビつきの語<cr:1><crstr:あくび><cmojir:0>欠伸<cr:><crstr:><cmojir:>です
=== blockquote
--- in md2inao
Expand Down
13 changes: 10 additions & 3 deletions t/99_rt_ruby_in_footnote.t
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,16 @@ plan tests => 1 * blocks;
run_is in => 'expected';

__END__
===
=== monoruby
--- in md2id
○○います(注:あいう<span class='ruby'>CRIME(クライム)</span>えお)。
○○います(注:あいう<span class='monoruby'>辟易(へき えき)</span>えお)。
--- expected
<SJIS-MAC>
<ParaStyle:本文>○○います<cstyle:上付き><fnStart:><pstyle:注釈>あいう<cr:1><crstr:クライム><cmojir:0>CRIME<cr:><crstr:><cmojir:>えお<fnEnd:><cstyle:>。
<ParaStyle:本文>○○います<cstyle:上付き><fnStart:><pstyle:注釈>あいう<cr:1><crstr:へき えき><cmojir:1>辟易<cr:><crstr:><cmojir:>えお<fnEnd:><cstyle:>。

=== groupruby
--- in md2id
○○います(注:あいう<span class='groupruby'>欠伸(あくび)</span>えお)。
--- expected
<SJIS-MAC>
<ParaStyle:本文>○○います<cstyle:上付き><fnStart:><pstyle:注釈>あいう<cr:1><crstr:あくび><cmojir:0>欠伸<cr:><crstr:><cmojir:>えお<fnEnd:><cstyle:>。

0 comments on commit 920f10f

Please sign in to comment.