Critical Error: MpdfException - Missing "Sun-ExtA.ttf" font file in FluentCart PDF generation
Dear Fluent Support Team,
I am writing to report a critical "Fatal Error" that occurs whenever a customer tries to view or generate an order receipt in FluentCart.
[Error Summary]
The issue seems to be caused by the missing font file Sun-ExtA.ttf within the Fluent Forms PDF add-on's font directories, which prevents the mPDF library from rendering the receipt.
[Environment]
I have confirmed that WordPress and all relevant plugins (FluentCart, FluentCart Pro) are updated to their latest versions.
[Error Details]
- Error Type: E_ERROR
- Error Message: Uncaught FluentPdf\Vendor\Mpdf\MpdfException: Cannot find TTF TrueType font file "Sun-ExtA.ttf" in configured font directories.
- File Path:
/home/igial/[tokyobigaku.com/public_html/whp/wp-content/plugins/fluentforms-pdf/vendor-prefixed/mpdf/mpdf/src/Fonts/FontFileFinder.php:38](https://tokyobigaku.com/public_html/whp/wp-content/plugins/fluentforms-pdf/vendor-prefixed/mpdf/mpdf/src/Fonts/FontFileFinder.php:38)
Fatal error: Uncaught FluentPdf\Vendor\Mpdf\MpdfException: Cannot find TTF TrueType font file "Sun-ExtA.ttf" in configured font directories. in /home/igial/tokyobigaku.com/public_html/whp/wp-content/plugins/fluentforms-pdf/vendor-prefixed/mpdf/mpdf/src/Fonts/FontFileFinder.php:38 Stack trace: #0 /home/igial/tokyobigaku.com/public_html/whp/wp-content/plugins/fluentforms-pdf/vendor-prefixed/mpdf/mpdf/src/Mpdf.php(3894): FluentPdf\Vendor\Mpdf\Fonts\FontFileFinder->findFontFile('Sun-ExtA.ttf') #1 /home/igial/tokyobigaku.com/public_html/whp/wp-content/plugins/fluentforms-pdf/vendor-prefixed/mpdf/mpdf/src/Mpdf.php(4189): FluentPdf\Vendor\Mpdf\Mpdf->AddFont('sun-exta', '') #2 /home/igial/tokyobigaku.com/public_html/whp/wp-content/plugins/fluentforms-pdf/vendor-prefixed/mpdf/mpdf/src/Mpdf.php(18328): FluentPdf\Vendor\Mpdf\Mpdf->SetFont('sun-exta', '', 9.0, false) #3 /home/igial/tokyobigaku.com/public_html/whp/wp-content/plugins/fluentforms-pdf/vendor-prefixed/mpdf/mpdf/src/Tag/InlineTag.php(62): FluentPdf\Vendor\Mpdf\Mpdf->setCSS(Array, 'INLINE') #4 /home/igial/tokyobigaku.com/public_html/whp/wp-content/plugins/fluentforms-pdf/vendor-prefixed/mpdf/mpdf/src/Tag.php(245): FluentPdf\Vendor\Mpdf\Tag\InlineTag->open(Array, Array, 25) #5 /home/igial/tokyobigaku.com/public_html/whp/wp-content/plugins/fluentforms-pdf/vendor-prefixed/mpdf/mpdf/src/Mpdf.php(13926): FluentPdf\Vendor\Mpdf\Tag->OpenTag('SPAN', Array, Array, 25) #6 /home/igial/tokyobigaku.com/public_html/whp/wp-content/plugins/fluent-cart-pro/app/Services/PDF/OrderReceiptPdfService.php(130): FluentPdf\Vendor\Mpdf\Mpdf->WriteHTML('\<div style="dis...') #7 /home/igial/tokyobigaku.com/public_html/whp/wp-content/plugins/fluent-cart-pro/app/Hooks/filters.php(16): FluentCartPro\App\Services\PDF\OrderReceiptPdfService->generateReceiptPdf(Object(FluentCart\App\Models\Order), 'order_receipt') #8 /home/igial/tokyobigaku.com/public_html/whp/wp-includes/class-wp-hook.php(341): FluentCartPro\App\Core\Application->{closure}(NULL, Array) #9 /home/igial/tokyobigaku.com/public_html/whp/wp-includes/plugin.php(205): WP_Hook->apply_filters(NULL, Array) #10 /home/igial/tokyobigaku.com/public_html/whp/wp-content/plugins/fluent-cart/app/Hooks/Handlers/ShortCodes/ReceiptHandler.php(98): apply_filters('fluent_cart/pdf...', NULL, Array) #11 /home/igial/tokyobigaku.com/public_html/whp/wp-content/plugins/fluent-cart/app/Http/Routes/WebRoutes.php(229): FluentCart\App\Hooks\Handlers\ShortCodes\ReceiptHandler->renderRedirectPage(Array) #12 /home/igial/tokyobigaku.com/public_html/whp/wp-content/plugins/fluent-cart/app/Http/Routes/WebRoutes.php(191): FluentCart\App\Http\Routes\WebRoutes::handleMainRoutes('receipt') #13 /home/igial/tokyobigaku.com/public_html/whp/wp-content/plugins/fluent-cart/app/Http/Routes/WebRoutes.php(34): FluentCart\App\Http\Routes\WebRoutes::registerRoutes() #14 /home/igial/tokyobigaku.com/public_html/whp/wp-includes/class-wp-hook.php(341): FluentCart\App\Http\Routes\WebRoutes::FluentCart\App\Http\Routes\{closure}('') #15 /home/igial/tokyobigaku.com/public_html/whp/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters(NULL, Array) #16 /home/igial/tokyobigaku.com/public_html/whp/wp-includes/plugin.php(522): WP_Hook->do_action(Array) #17 /home/igial/tokyobigaku.com/public_html/whp/wp-settings.php(742): do_action('init') #18 /home/igial/tokyobigaku.com/public_html/whp/wp-config.php(113): require_once('/home/igial/tok...') #19 /home/igial/tokyobigaku.com/public_html/whp/wp-load.php(50): require_once('/home/igial/tok...') #20 /home/igial/tokyobigaku.com/public_html/whp/wp-blog-header.php(13): require_once('/home/igial/tok...') #21 /home/igial/tokyobigaku.com/public_html/index.php(17): require('/home/igial/tok...') #22 {main} thrown inΒ /home/igial/tokyobigaku.com/public_html/whp/wp-content/plugins/fluentforms-pdf/vendor-prefixed/mpdf/mpdf/src/Fonts/FontFileFinder.phpΒ on lineΒ 38
[Steps to Reproduce]
- Complete an order using FluentCart.
- Navigate to the order receipt page or try to display the receipt.
- The site crashes with the fatal error mentioned above.
It appears the PDF engine is attempting to use the "Sun-ExtA" font (likely for CJK character support) but the file is missing from the vendor-prefixed mPDF directory included in the plugin.
Could you please investigate why this font is being requested but not found, or provide a fix to include the necessary font files in the latest update?
I look forward to your prompt response.
Please make sure you installed the PDFs in the Fluent PDF settings.
Shahjahan JewelΒ The Fluent PDF module is already Active.
I also tried opening the "Order Receipt" template to check the configuration. As shown in the attached screenshot (γΉγ―γͺγΌγ³γ·γ§γγ 2026-05-02 9.11.37.png), one of the blocks shows an error: "This block contains unexpected or invalid content".
Are there any other settings I should check?
Shahjahan JewelΒ I was able to resolve the issue myself by manually uploading Sun-ExtA.ttf to the FLUENT_PDF_TEMPLATES/fonts/ directory. The PDF receipt is now generating correctly.
That said, I'd still appreciate a proper fix from your end, as this font file should ideally be included or provisioned automatically by the plugin rather than requiring manual intervention.