Black beard:
I test tcpdf deeply and it is amazing.
Just i wonder that why you add the lang config and dont use it at all?
in newbb/makepdf.php
 if (is_file(XOOPS_ROOT_PATH.'/Frameworks/tcpdf/config/lang/'.$xoopsConfig['language'].'.php')) { 
    require_once( XOOPS_ROOT_PATH.'/Frameworks/tcpdf/config/lang/'.$xoopsConfig['language'].'.php'); 
} else { 
    require_once( XOOPS_ROOT_PATH.'/Frameworks/tcpdf/config/lang/english.php'); 
}  
IMO there is no need for this config file in XOOPS.
there are 3 configs there:
eg for persian.php
 $l['a_meta_charset'] = 'UTF-8'; 
$l['a_meta_dir'] = 'rtl'; 
$l['a_meta_language'] = 'fa';  
We already have _CHARSET and _LANGCODE. we just still dont have _RTL definition which is a pity
we can add that _RTL in global.php easy.
 define('_RTL', true);  
anyway im still wonder why you not use that so in RTL language we should add something like this to newbb/makepdf.php
 // Restore RTL direction 
global $l; 
$pdf->setLanguageArray($l);  
But i think it is better to define that _RTL in xoops and then remove Frameworks/tcpdf/config/lang/*.php
so we can sue it like this in our makepdf.php:
 // Restore RTL direction 
$pdf->setRTL(_RTL);  
I like the above method.
So black_beard please choose one of the above methods because you knows better. then we can follow in makepdf.php files.
But as i said i think that _RTL definitions is very nice!
Edit:
Also one thing that i forgot.
It can not read the [en] [/en] and [fa] [/fa] codes.
I mean when the website is english it just should makepdf from english content and vice verse.
*/