Deploy: 2026-05-23 18:52:17

This commit is contained in:
Hamza-Ayed
2026-05-23 18:52:17 +03:00
parent 693984b7d2
commit 88788e6ea1
2 changed files with 69 additions and 19 deletions

View File

@@ -25,30 +25,32 @@ try {
$fontDir = realpath(__DIR__ . '/../fonts');
$roboto = $fontDir ? $fontDir . '/Roboto-Bold.ttf' : '';
$lora = $fontDir ? $fontDir . '/Lora-Bold.ttf' : '';
$cairo = $fontDir ? $fontDir . '/Cairo-Bold.ttf' : '';
$results = [
'font_dir' => $fontDir,
'roboto_path' => $roboto,
'lora_path' => $lora,
'cairo_path' => $cairo,
'roboto_exists' => file_exists($roboto),
'lora_exists' => file_exists($lora),
'cairo_exists' => file_exists($cairo),
'php_errors_during_init' => $errors
];
// Reset captured errors for rendering phase
$errors = [];
$im = imagecreatetruecolor(100, 100);
$im = imagecreatetruecolor(200, 200);
$color = imagecolorallocate($im, 0, 0, 0);
function testFont($im, $fontPath, $color) {
function testFontDigits($im, $fontPath, $color) {
if (!$fontPath || !file_exists($fontPath)) {
return ['error' => 'File does not exist'];
}
$fontResults = [];
for ($i = 0; $i <= 9; $i++) {
// Run WITHOUT @ to trigger the error handler
$res = imagettftext($im, 12, 0, 10, 50, $color, $fontPath, (string)$i);
if ($res === false) {
$fontResults[$i] = 'Failed';
@@ -59,8 +61,18 @@ function testFont($im, $fontPath, $color) {
return $fontResults;
}
$results['Roboto-Bold.ttf'] = testFont($im, $roboto, $color);
$results['Lora-Bold.ttf'] = testFont($im, $lora, $color);
$results['Roboto-Bold.ttf_digits'] = testFontDigits($im, $roboto, $color);
$results['Lora-Bold.ttf_digits'] = testFontDigits($im, $lora, $color);
$results['Cairo-Bold.ttf_digits'] = testFontDigits($im, $cairo, $color);
// Test Arabic text rendering specifically for Cairo
if ($cairo && file_exists($cairo)) {
$res = imagettftext($im, 14, 0, 10, 100, $color, $cairo, 'ﻖﻘﺤﺘﻠﺎ ﺰﻣﺮ'); // رمز التحقق (RTL shaped)
$results['Cairo-Bold.ttf_arabic_render'] = ($res === false) ? 'Failed' : 'Success';
} else {
$results['Cairo-Bold.ttf_arabic_render'] = 'File not found';
}
$results['rendering_errors'] = $errors;
imagedestroy($im);