Rifat Ahmed | রিফাত আহমেদ

Rifat-CrossInkIndicBn-EnBnAr — English, Bangla and Arabic font download for Xteink with CrossInk-Indic Bn firmware (v1.6.0-indic.2-bn or newer)

Rifat-CrossInkIndicBn-EnBnAr — English, Bangla and Arabic font download for Xteink with CrossInk-Indic Bn firmware (v1.6.0-indic.2-bn or newer)

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

  1. Download and unzip Rifat-CrossInkIndicBn-EnBnAr.zip. It contains one folder with four .cpfont
  2. Copy that folder to the SD card so it sits at /.fonts/Rifat-CrossInkIndicBn-EnBnAr/. The firmware also scans /fonts/.
  3. Restart the reader.
  4. 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:

  1. 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
  2. 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.

I'd love to know your thoughts...

Scroll to Top