Rifat-CrossInkIndicBn-EnBnAr is a free .cpfont font family that renders English, Bangla and Arabic in the same book and the same paragraph, with correct Bangla যুক্তবর্ণ and joined right-to-left Arabic. The download is one zip with four font files; no firmware change is needed.
Download Rifat-CrossInkIndicBn-EnBnAr Font
Sample line with all three scripts in one paragraph:
In the name of Allah — بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِيمِ — পরম করুণাময় আল্লাহর নামে শুরু করছি।
Specifications
| Property | Value |
| Family name | Rifat-CrossInkIndicBn-EnBnAr |
| File format | .cpfont version 4, with an embedded OpenType shaping section (CPSH version 2) |
| Sizes | 12, 14, 16 and 18 pt, one file per size |
| Styles | Regular and bold. Italic text is shown upright; bold italic is shown bold. |
| Rendering | 2-bit anti-aliased bitmaps at 150 dpi |
| Bangla shaping data | 384 glyphs, about 65 KB per style, identical across sizes |
| Script | Source typeface | Unicode coverage | Rendering on the device |
| English | Lexend Deca 1.007 | Basic Latin, Latin-1, Latin Extended, General Punctuation | By codepoint, with kerning and fi/fl ligatures |
| Bangla | Noto Sans Bengali 3.011 | U+0980–09FF (all 96 assigned), plus every conjunct, reph, half form and phala glyph | OpenType shaping (GSUB, GPOS, GDEF) from the embedded tables |
| Arabic | Noto Kufi Arabic 2.109 | U+0600–06FF, U+0750–077F, U+08A0–08FF, Presentation Forms-A and -B | Firmware bidi and joining to presentation forms; harakat overlaid |
Compatibility
The font requires CrossInk-Indic firmware. It was built for the Xteink X4 Pro on the Bengali (bn) build, v1.6.0-indic.2-bn.
| Firmware | Device | Result |
| CrossInk-Indic bn, v1.6.0-indic.2-bn to indic.5 | X4 Pro | Target configuration |
| CrossInk-Indic, other variants (hi, ta, read-bengali and others) | X4 Pro | Expected to work: the shaping data is inside the font and the shaping engine is in every variant. Bangla book titles in menus may not display. |
| CrossInk-Indic, any variant | X3, X4, X4 Classic | Same file format, less memory. Not checked. |
| Standard CrossInk or CrossPoint | Any | English and Arabic work. Bangla conjuncts are broken. |
Validation status
The font has been checked on a computer against the firmware’s own text code, and it matched the reference renderer on 1,766 Bangla test words. It has not yet been confirmed on a physical device.
Installation
- Download and unzip Rifat-CrossInkIndicBn-EnBnAr.zip. It contains one folder with four .cpfont
- Copy that folder to the SD card so it sits at /.fonts/Rifat-CrossInkIndicBn-EnBnAr/. The firmware also scans /fonts/.
- Restart the reader.
- Go to Settings > Reader > Font Options > Font Family and choose Rifat-CrossInkIndicBn-EnBnAr, then pick a size.
File names must stay as <family>_<size>.cpfont; the firmware reads the size from the name. To uninstall, delete the folder and select another font.
The first layout of a Bangla chapter is slower than Latin text, because each word is shaped once and then cached.
How Bangla shaping works in this font
CrossInk-Indic shapes Bangla with an OpenType engine (lib/OtShaper). The engine runs for any font, built-in or on the SD card, that supplies two things:
- Layout tables: a reduced copy of the Bangla typeface’s GSUB, GPOS and GDEF tables, stored in a CPSH section at the end of the .cpfont
- A bitmap for every shaped glyph: conjuncts, reph, half forms and phala have no Unicode codepoint, so they are stored at private codepoints U+F0000 + glyph ID.
A .cpfont made with a generic font builder contains Bangla bitmaps by Unicode codepoint only. The firmware then has nothing to shape with and only reorders vowel signs, so conjuncts appear as separate letters with a visible hasanta.
This font was generated with CrossInk-Indic’s own converter (fontconvert_sdcard.py, bengali preset), which writes both. Arabic does not use this path: the firmware’s bidi code maps letters to Unicode presentation forms, all of which are in the font.
Known limitations
- Stacked harakat overlap. Where a letter carries shadda plus a vowel, as in اللَّهِ, the two marks draw on top of each other. The firmware does this with every SD-card font; a font cannot fix it.
- No decorative Arabic ligatures beyond lam-alef. Letters join correctly.
- Italic shows upright. None of the three typefaces has a true italic.
- The single-character bismillah ornament (U+FDFD) is not included. Bismillah written as normal text is fine.
- Bangla is not hyphenated. Lines break between words.
Download
Rifat-CrossInkIndicBn-EnBnAr.zip (1.1 MB) –
| File | Size (bytes) | SHA-256 |
| Rifat-CrossInkIndicBn-EnBnAr_12.cpfont | 686,938 | 77304d37778971a2a91728f7373d77de8b5b7f2db2b9e9d731d2d021e9977a90 |
| Rifat-CrossInkIndicBn-EnBnAr_14.cpfont | 852,807 | f01dac65279b6a772541141d53df6a55c5b6159fd3a9cc9f9250a61880326612 |
| Rifat-CrossInkIndicBn-EnBnAr_16.cpfont | 1,027,736 | befa3b824eb183d75aadc6a4b36dcc304ac32459ce785da8710dacb66e28f43b |
| Rifat-CrossInkIndicBn-EnBnAr_18.cpfont | 1,239,831 | eaa496d65ac0c57763495484cf76a2aa5b69f572ba4a42ddf488893fc0a4b822 |
License and credits
The font is released under the SIL Open Font License 1.1 and may be used and redistributed freely under its terms. It combines Lexend Deca (The Lexend Project Authors) with Noto Sans Bengali and Noto Kufi Arabic (The Noto Project Authors). This is an independent build, not affiliated with those projects or with the CrossInk and CrossInk-Indic authors.