Skip to content

Commit ff3c45f

Browse files
committed
fix: browser compatibility
Signed-off-by: unt <[email protected]>
1 parent 6dd3493 commit ff3c45f

File tree

2 files changed

+36
-13
lines changed

2 files changed

+36
-13
lines changed

kanbun.css

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,14 @@
5555
grid-template-columns: auto 0 0 1em;
5656
}
5757

58+
.kanbun .has-2-kanji {
59+
grid-template-columns: 3em 0 0 1em;
60+
}
61+
62+
.kanbun .has-3-kanji {
63+
grid-template-columns: 5em 0 0 1em;
64+
}
65+
5866
.kanbun.betagumi .unit {
5967
grid-template-columns: 0.5em 0.5em auto 1fr;
6068
margin: 0;
@@ -77,42 +85,44 @@
7785
.kanbun .kanji {
7886
grid-row: 2;
7987
grid-column: 1 / 3;
80-
height: 1em;
81-
}
82-
83-
.kanbun .has-multiple-kanji .kanji {
84-
height: max-content;
8588
}
8689

8790
.kanbun .has-multiple-kanji .unit {
8891
grid-template-rows: 0 1em 0;
8992
margin: 0;
9093
}
9194

95+
.kanbun:not(.betagumi) .has-multiple-kanji .unit {
96+
height: 2em;
97+
}
98+
9299
.kanbun:not(.betagumi) .has-multiple-kanji .unit:last-of-type {
93100
margin-bottom: -1em;
94101
}
95102

96103
.kanbun .furigana {
97104
grid-row: 1;
98105
grid-column: 1 / 4;
106+
white-space: nowrap;
99107
height: max-content;
100108
justify-self: center;
109+
display: block;
110+
}
111+
112+
.kanbun.betagumi .has-okurigana.has-less-than-3-furigana .furigana {
113+
grid-column: 1;
101114
}
102115

103116
.kanbun .has-multiple-kanji .furigana {
104-
height: -moz-available;
105-
height: -webkit-fill-available;
106-
height: fill-available;
117+
grid-column: 1 / 3;
118+
height: auto;
119+
justify-self: stretch;
120+
text-justify: distribute;
107121
text-align: justify;
108122
text-align-last: justify;
109123
}
110124

111-
.kanbun.betagumi .has-okurigana.has-less-than-3-furigana .furigana {
112-
grid-column: 1;
113-
}
114-
115-
.kanbun.betagumi:not(.furigana-center-align) .furigana {
125+
.kanbun.betagumi:not(.furigana-center-align) .unit:not(.has-multiple-kanji) .furigana {
116126
justify-self: start;
117127
}
118128

@@ -124,13 +134,18 @@
124134
.kanbun.betagumi .has-less-than-3-furigana .okurigana {
125135
grid-row: 1;
126136
grid-column: 2 / 5;
137+
white-space: nowrap;
127138
height: max-content;
128139
}
129140

130141
.kanbun .has-furigana .okurigana {
131142
grid-column: 4;
132143
}
133144

145+
.kanbun .has-multiple-kanji .okurigana {
146+
grid-column: 3 / 5;
147+
}
148+
134149
.kanbun.okurigana-sinking .unit:not(.has-furigana) .okurigana,
135150
.kanbun.okurigana-sinking .saidoku:not(.has-furigana) {
136151
margin-top: 0.25em;
@@ -158,6 +173,7 @@
158173

159174
.kanbun .kaeriten {
160175
align-self: end;
176+
white-space: nowrap;
161177
height: max-content;
162178
z-index: 50;
163179
}
@@ -174,6 +190,7 @@
174190
.kanbun .saidoku {
175191
grid-row: 3;
176192
grid-column: 1 / 5;
193+
white-space: nowrap;
177194
height: max-content;
178195
}
179196

@@ -207,6 +224,10 @@
207224
outline: 1px solid #2196f3;
208225
}
209226

227+
.kanbun.show-borders .unit.has-multiple-kanji > .kanji {
228+
outline: 0;
229+
}
230+
210231
.kanbun .kunten:not(.punctuation) {
211232
line-height: 0;
212233
}

kanbun.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ function toHTML(str) {
6060
// process other brackets
6161
str = str.replace(//g, '<ruby class="unit">');
6262
str = str.replace(/(unit">)/g, 'has-multiple-kanji $1');
63+
str = str.replace(/(unit">([^]*){2}[^]*)/g, 'has-2-kanji $1');
64+
str = str.replace(/(unit">([^]*){3}[^]*)/g, 'has-3-kanji $1');
6365
str = str.replace(/(unit">([^]*)?[^]*\()/g, 'has-furigana $1');
6466
str = str.replace(/(unit">([^]*)?[^]*\([^\)][^\)]?\))/g, 'has-less-than-3-furigana $1');
6567
str = str.replace(/(unit">([^]*)?[^]*[^]*has-furigana)/g, 'next-unit-has-furigana $1');

0 commit comments

Comments
 (0)