Rendering conformance
Open this page on a real device. Each case shows its string large, its codepoints beneath, and what counts as a pass. The aksara below is built from the codepoint list rather than from a literal, so the two cannot drift apart.
- face
- Noto Sans Buginese 2.002
- shipped
- public/fonts/noto-sans-buginese-subset.woff2
- features
- liga · abvm · dist · mark
- check on
- ios-safari · android-chrome · desktop-chrome · desktop-firefox · desktop-safari
Test cases
01 · letter.ka.bare
ᨀU+1A00
Why this case
Baseline. If this is tofu, nothing else on the page means anything.
A pass means
One aksara glyph. No dotted box, no fallback serif.
02 · sign.i.above
ᨀᨗU+1A00 U+1A17
Why this case
Non-spacing mark, UCD combining class 230 (Above). Tests GPOS mark attachment.
A pass means
The vowel sign sits above the letter, centred, not overlapping the letter's own strokes and not drifting right.
03 · sign.u.below
ᨀᨘU+1A00 U+1A18
Why this case
Non-spacing mark, UCD combining class 220 (Below).
A pass means
The vowel sign sits below the letter, centred, and is not clipped by the line box.
04 · sign.e.spacing
ᨀᨙU+1A00 U+1A19
Why this case
Spacing combining mark (Mc) with no UCD combining class. Which side it takes is a rendering question, which is exactly why it is answered here and left 'unverified' in inventory.json.
A pass means
Record which side the sign appears on. It must take its own advance width and must not be drawn on top of the letter.
05 · sign.o.spacing
ᨀᨚU+1A00 U+1A1A
Why this case
Spacing combining mark (Mc), no UCD combining class. Same question as VOWEL SIGN E, and the two must not land on the same side as each other by accident.
A pass means
Record which side. Compare against VOWEL SIGN E — if both render on the same side, that is a finding, not a pass.
06 · sign.ae.unpositioned
ᨀᨛU+1A00 U+1A1B
Why this case
Non-spacing mark with combining class 0 — the UCD gives the renderer no position to work from, so this is the case most likely to misplace. Its Latin equivalence is also an open question on the ejaan page.
A pass means
The sign is attached to the letter, not floating in its own cell and not stacked over another mark.
07 · sign.on.dotted.circle
◌ᨛU+25CC U+1A1B
Why this case
The script reference shows every sign on a dotted circle. U+25CC must come from the same subset, or the reference table renders half in one face and half in another.
A pass means
A dotted circle with the sign attached to it. Both shapes at the same optical weight.
08 · carrier.a.with.signs
ᨕᨗ ᨕᨘ ᨕᨛU+1A15 U+1A17 U+0020 U+1A15 U+1A18 U+0020 U+1A15 U+1A1B
Why this case
Independent vowels: the vowel-carrier letter A takes the same signs as a consonant. Its shape differs, so the mark anchors are a separate case.
A pass means
Each sign attaches to the carrier as cleanly as it does to ka. No collisions.
09 · prenasal.letters
ᨃᨇᨋᨏU+1A03 U+1A07 U+1A0B U+1A0F
Why this case
NGKA, MPA, NRA, NYCA. Prenasalisation is partly written — these four letters exist — which the ejaan page records as an open question against PRD §2.
A pass means
Four distinct glyphs. Specifically confirm NGKA is distinguishable from NGA, and NYCA from NYA.
10 · band.no.word.spacing
ᨆᨈᨀᨗᨒᨘᨄᨙᨊᨚᨔᨛU+1A06 U+1A08 U+1A00 U+1A17 U+1A12 U+1A18 U+1A04 U+1A19 U+1A0A U+1A1A U+1A14 U+1A1B
Why this case
The band carries no word spacing — the script does not use it, and connector strokes carry segmentation instead. A long unspaced run is where line-breaking and mark positioning go wrong together.
A pass means
An even run at a consistent baseline. Marks stay attached to their own letters across the whole run. Check what happens when it must wrap.
11 · punctuation.pallawa
ᨆᨈ᨞ᨆᨈU+1A06 U+1A08 U+1A1E U+1A06 U+1A08
Why this case
PALLAWA between two runs.
A pass means
The mark is visible, has its own advance width, and does not merge into the glyph on either side.
12 · punctuation.end.of.section
ᨆᨈ᨟U+1A06 U+1A08 U+1A1F
Why this case
END OF SECTION at the end of a run.
A pass means
Visible and distinct from PALLAWA.