feat(ocr,form-creator): Add comprehensive font support and TypeScript type definitions

- Add @pdf-lib/fontkit dependency for enhanced font rendering capabilities
- Create font-mappings.ts configuration with language-to-font-family mappings for 100+ languages
- Implement font-loader.ts utility for dynamic font loading from CDN sources
- Add TypeScript type definitions for form-creator, OCR, and general application types
- Create types/index.ts as centralized type exports
- Remove hidden-on-touch CSS class and update shortcuts button styling for better accessibility
- Update OCR text layer rendering to support multilingual font families
- Enhance form-creator with improved font handling for international text
- Update txt-to-pdf with font support for diverse character sets
- Migrate fileHandler to support new font loading workflow
- Update main.ts and ui.ts to integrate new type system and font utilities
- Update form-creator.html page with enhanced font configuration UI
This commit is contained in:
abdullahalam123
2025-12-03 23:13:14 +05:30
parent f213d9dc27
commit 649aec046d
16 changed files with 1220 additions and 241 deletions

View File

@@ -205,6 +205,27 @@
disabled>
<i data-lucide="chevron-right" class="w-4 h-4"></i>
</button>
<div class="flex items-center gap-2 ml-2 border-l border-gray-600 pl-2">
<span class="text-sm text-gray-400">Go to:</span>
<input type="number" id="gotoPageInput" min="1"
class="w-16 bg-gray-600 border border-gray-500 text-white rounded px-2 py-1 text-sm focus:ring-indigo-500 focus:border-indigo-500">
<button id="gotoPageBtn"
class="bg-indigo-600 hover:bg-indigo-500 text-white px-2 py-1 rounded text-sm transition-colors">Go</button>
</div>
<div class="flex items-center gap-2 ml-2 border-l border-gray-600 pl-2">
<input type="checkbox" id="enableGridCheckbox" checked class="mr-1">
<label for="enableGridCheckbox" class="text-sm text-gray-400">Grid:</label>
<input type="number" id="gridVInput" min="2" max="14" value="2" placeholder="V"
class="w-12 bg-gray-600 border border-gray-500 text-white rounded px-2 py-1 text-sm focus:ring-indigo-500 focus:border-indigo-500">
<span class="text-gray-400">x</span>
<input type="number" id="gridHInput" min="2" max="14" value="2" placeholder="H"
class="w-12 bg-gray-600 border border-gray-500 text-white rounded px-2 py-1 text-sm focus:ring-indigo-500 focus:border-indigo-500">
<button id="toggleGridBtn"
class="bg-gray-600 hover:bg-gray-500 text-white p-1 rounded transition-colors"
title="Toggle Grid">
<i data-lucide="grid-3x3" class="w-4 h-4"></i>
</button>
</div>
</div>
<div class="flex items-center gap-2">
<button id="resetBtn"