A common Sindhi typing question is: “Why does my text look different on another device?” The answer is often the difference between the underlying Unicode characters and the font or shaping system used to display them.
Four layers to keep separate
- Character: the Unicode identity, such as U+06AA.
- String: the ordered sequence of characters stored in the text.
- Font: the visual glyph designs used to display those characters.
- Shaping and layout: the rules that select contextual forms and order right-to-left text.
A font does not change the Unicode character
If ڪ is stored as U+06AA, selecting a different font does not turn it into U+06A9. The glyph can change substantially, but the underlying character remains the same unless software actually replaces the text.
Right-to-left shaping
Unicode UAX #9 specifies the bidirectional algorithm used for text containing right-to-left scripts such as Arabic. The Unicode specification also discusses shaping of cursively connected scripts. Read UAX #9.
Why boxes appear
A missing-glyph box generally means the selected font or rendering environment does not provide an appropriate glyph. If the same Unicode character displays correctly in another environment, the problem is likely presentation rather than the stored text.
A useful rendering test
- Copy the same Sindhi text into two applications.
- Compare the visual forms.
- Use a Unicode/code-point reference for any suspicious character.
- If the characters match but the glyphs differ, compare fonts and rendering environments.
For practical character checking, see Sindhi Unicode Character Reference. For common display problems, see Sindhi Typing Problems and Fixes.
Glyph and character are not the same thing
A Unicode character is an abstract text identity. A glyph is the visual shape a font chooses to display for that character. The same character can therefore have different glyph designs in different fonts. This is normal and does not mean that the text has changed.
Why Arabic-script shaping needs a capable renderer
Unicode's Arabic-script specification explains that cursive letters can take different contextual forms and that rendering software must account for joining behavior. This is why a Sindhi word is not simply a row of independent pictures. The renderer combines character data with font shaping rules to produce the displayed forms.
A practical three-way diagnosis
- Wrong code point: fix the text data.
- Missing glyph: check font coverage.
- Wrong visual order or joining: investigate direction and shaping behavior.
This separation prevents the common mistake of changing fonts when the actual problem is an incorrect Unicode character.
Glyph and character are not the same thing
A Unicode character is an abstract text identity. A glyph is the visual shape a font chooses to display for that character. The same character can therefore have different glyph designs in different fonts. This is normal and does not mean that the text has changed.
Why Arabic-script shaping needs a capable renderer
Unicode's Arabic-script specification explains that cursive letters can take different contextual forms and that rendering software must account for joining behavior. This is why a Sindhi word is not simply a row of independent pictures. The renderer combines character data with font shaping rules to produce the displayed forms.
A practical three-way diagnosis
- Wrong code point: fix the text data.
- Missing glyph: check font coverage.
- Wrong visual order or joining: investigate direction and shaping behavior.
This separation prevents the common mistake of changing fonts when the actual problem is an incorrect Unicode character.
Primary References
This page uses the Unicode Standard as its technical reference where Unicode character identities, code points, bidirectional behavior, or Arabic-script annotations are discussed.
- Unicode Standard — Chapter 9: Arabic script
- Unicode 18.0 Arabic character names and annotations
- Unicode Standard Annex #9 — Bidirectional Algorithm
Reference links reviewed: September 2026