Arabic Glyphs to Render Arabic Text:

Takes Arabic text as an input and performs Arabic glyph joining on it and outputs a UTF-8 hexadecimals stream that is no longer logically arranged but in a visual order which gives readable results when formatted with a simple Unicode rendering just like GD and PDF libraries that does not handle basic connecting glyphs of Arabic language yet but simply outputs all stand alone glyphs in left-to-right order.


Example Output:


Example Code:

<?php
    
// Create the image
    
$im = @imagecreatefromgif('images/bg.gif');

    
// Create some colors
    
$black imagecolorallocate($im000);
    
$blue  imagecolorallocate($im00255);
    
$white imagecolorallocate($im255255255);

    
// Replace by your own font full path and name
    
$path substr(
        
$_SERVER['SCRIPT_FILENAME'], 0
        
strrpos($_SERVER['SCRIPT_FILENAME'], '/')
    );
    
$font $path.'/fonts/Amiri-Regular.ttf';

    
// UTF-8 charset
    
$text 'بسم الله الرحمن الرحيم';
    
imagefill($im00$white);
    
imagettftext($im2001050$blue$font'UTF-8:');
    
imagettftext($im20025050$black$font$text);

    
/*
      // Autoload files using Composer autoload
      require_once __DIR__ . '/../vendor/autoload.php';
    */

    
require '../src/Arabic.php';
    
$Arabic = new \ArPHP\I18N\Arabic();

    
$text 'بسم الله الرحمن الرحيم';
    $    
ext $Arabic->utf8Glyphs($text);

    
imagettftext($im20010100$blue$font'Arabic Glyphs:');
    
imagettftext($im200250100$black$font$text);

    
// Using imagepng() results in clearer text compared with imagejpeg()
    
imagepng($im);
    
imagedestroy($im);