Alphabet Letter Count to Phoneme Count Converter

Alphabet Letter Count to Phoneme Count Converter

Enter a word or phrase to convert letter count to phoneme count (approximated for English).

Input Text: ${inputText}

Total Letter Count: ${totalLetterCount}

Total Phoneme Count: ${totalPhonemeCount}

Phoneme Breakdown:

${phonemeDetails} `; resultSection.innerHTML = resultText; resultSection.style.display = 'block'; pdfButton.disabled = false; }; const downloadPDF = () => { if (!currentResults.inputText || !resultSection.innerText) { errorMessage.textContent = 'No results available to download.'; errorMessage.style.display = 'block'; return; } try { const { jsPDF } = window.jspdf; if (!jsPDF) { console.error('jsPDF is not loaded.'); errorMessage.textContent = 'PDF generation failed. Please try again.'; errorMessage.style.display = 'block'; return; } const doc = new jsPDF(); doc.setFont('helvetica', 'bold'); doc.setFontSize(16); doc.text('Alphabet Letter Count to Phoneme Count Converter', 20, 20); doc.setLineWidth(0.5); doc.line(20, 25, 190, 25); doc.setFont('helvetica', 'normal'); doc.setFontSize(12); doc.text(`Input Text: ${currentResults.inputText}`, 20, 40); doc.text(`Total Letter Count: ${currentResults.letterCount}`, 20, 50); doc.text(`Total Phoneme Count: ${currentResults.phonemeCount}`, 20, 60); doc.text('Phoneme Breakdown:', 20, 70); let y = 80; currentResults.phonemeList.forEach(item => { doc.text(`Word: ${item.word}, Phonemes: ${item.phonemes.join(', ')}`, 20, y); y += 10; }); doc.setDrawColor(200); doc.rect(15, 35, 180, y - 40); doc.save('phoneme_count.pdf'); } catch (error) { console.error('PDF generation error:', error); errorMessage.textContent = 'Failed to generate PDF. Please try again.'; errorMessage.style.display = 'block'; } }; const resetForm = () => { converterForm.reset(); resultSection.innerHTML = ''; resultSection.style.display = 'none'; errorMessage.style.display = 'none'; pdfButton.disabled = true; currentResults = { inputText: '', letterCount: 0, phonemeCount: 0, phonemeList: [] }; inputTextArea.focus(); }; convertButton.addEventListener('click', calculatePhonemeCount); resetButton.addEventListener('click', resetForm); pdfButton.addEventListener('click', downloadPDF); converterForm.addEventListener('submit', (e) => { e.preventDefault(); calculatePhonemeCount(); }); }); })();
Scroll to Top