added normalization of titles since font doesnt support it lol
This commit is contained in:
parent
d00edefc95
commit
55e0ad611c
@ -329,7 +329,11 @@ class AlbumCollageGenerator {
|
||||
$group_spacing = 50;
|
||||
|
||||
for ($i = 0; $i < min(count($albums), 25); $i++) {
|
||||
$album_text = $albums[$i]->author . ' - ' . $albums[$i]->album_name;
|
||||
// Normalize album and author names to replace weird characters
|
||||
$normalized_author = $this->normalize_text($albums[$i]->author);
|
||||
$normalized_album = $this->normalize_text($albums[$i]->album_name);
|
||||
$album_text = "{$normalized_author} - {$normalized_album}";
|
||||
|
||||
$font = $this->is_japanese($album_text) ? $this->japanese_font : $this->western_font;
|
||||
|
||||
$this->add_retro_text($image, $font_size, $text_x, $text_y, $text_color, $font, $album_text);
|
||||
@ -351,6 +355,30 @@ class AlbumCollageGenerator {
|
||||
return $image_data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Normalize text by replacing accented or special characters with standard ones.
|
||||
*
|
||||
* @param string $text The input text to normalize.
|
||||
* @return string The normalized text.
|
||||
*/
|
||||
private function normalize_text($text) {
|
||||
// Check if the intl extension is loaded
|
||||
if (class_exists('Transliterator')) {
|
||||
$transliterator = \Transliterator::create('NFD; [:Nonspacing Mark:] Remove; NFC;');
|
||||
if ($transliterator) {
|
||||
$text = $transliterator->transliterate($text);
|
||||
}
|
||||
} else {
|
||||
// Fallback to iconv if intl is not available
|
||||
$text = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $text);
|
||||
}
|
||||
|
||||
// Replace any remaining non-ASCII characters
|
||||
$text = preg_replace('/[^\x20-\x7E]/', '', $text);
|
||||
|
||||
return $text;
|
||||
}
|
||||
|
||||
private function apply_retro_effects(&$image) {
|
||||
// Add noise
|
||||
$this->add_noise($image, 20);
|
||||
|
Loading…
Reference in New Issue
Block a user