Mengapa font subsetting merusak sunting tetapi bukan pembacaan
Font subsetting hanya menyimpan glif yang dipakai PDF; pembaca tetap merender, tetapi sunting gagal pada karakter hilang, dan Compress PDF123 tidak menyubset font.

Sebuah PDF bisa terlihat sempurna tetapi tetap menolak karakter berikutnya yang Anda ketik. Itu sering bukan tanda penampilnya rusak. Itu adalah font subsetting: berkas hanya menyematkan glif yang diperlukan saat berkas itu ditulis, sedangkan penyuntingan meminta glif yang tidak pernah ikut dikemas.
Apa itu subset
Font TrueType dan OpenType bisa memuat puluhan ribu glif. Sebuah memo sepuluh halaman mungkin hanya memakai beberapa ratus di antaranya. Subsetting menulis ulang font tertanam sehingga glif yang tidak terpakai dibuang. Ukuran berkas turun; tampilan di layar dan hasil cetak untuk teks yang sudah ada tetap sama, karena setiap karakter yang sudah ada di dokumen tetap hadir.
Karena itu membaca dan mencetak tetap berhasil. Mode gagalnya baru muncul kemudian: seseorang membuka PDF di editor, mengetik huruf beraksen atau tanda baca yang jarang, lalu glif yang hilang itu digantikan, tampil kosong, atau ditolak. Menyalin dan menempel teks yang sudah ada biasanya tetap berhasil; yang menabrak lubang di tabel glif adalah penyisipan karakter baru.
Subsetting bukan menghapus font
Objek fontnya tetap tertanam. Yang hilang hanya bagian tabel glif yang tidak terpakai. Ini berbeda dari:
- Mengandalkan font sistem yang terpasang di mesin pembaca (risiko substitusi antarsistem operasi)
- Mengonversi teks menjadi outline atau gambar (yang mematikan fungsi pilih dan cari)
- Mengenkripsi berkas (Protect); enkripsi tidak menyubset glif
Banyak eksportir perkantoran dan driver print-to-PDF melakukan subsetting secara default saat menyematkan font. Kerusakannya terjadi pada saat ekspor, bukan saat penampil membuka berkas itu kemudian. Menyimpan ulang lewat alat PDF lain bisa menyubset ulang atau tidak; yang jelas, itu tidak akan memulihkan glif yang memang tidak pernah ditulis.
Apa yang sebenarnya dilakukan Compress di PDF123
Compress (POST /api/v1/misc/compress-pdf) meminta qpdf mengompres stream (--compress-streams=y), merekompres data flate, dan menghasilkan object stream. Alat ini tidak menyubset font dan tidak mengklaim melakukan downsampling gambar. Bila berkas sudah rapat stream-nya, hasil unduhannya bisa hampir tidak berubah ukurannya. Bila berkas sudah memuat font subset, Compress membiarkan subset itu apa adanya; ia tidak mengembangkannya kembali menjadi bentuk font yang lengkap.
Untuk memahami bagaimana berbagai tuas ukuran berkas saling memengaruhi dalam alur PDF umum (gambar, stream, struktur), lihat Apa yang sebenarnya terjadi saat Anda mengompres PDF. Perlakukan tulisan itu sebagai latar belakang, bukan sebagai klaim bahwa tombol Compress di situs ini menyubset typeface.
OCR dan konversi Markdown juga tidak memulihkan glif yang hilang di dalam PDF: OCR mengembalikan teks Markdown, sedangkan PDF to Markdown mengekstrak apa yang memang sudah ada di lapisan teks.
Menyunting versus membaca, dalam praktik
| Tindakan | Hasil yang umum setelah subsetting |
|---|---|
| Membuka, menggulir, mencetak, memilih teks yang sudah ada | Berhasil; glif yang dirujuk tersedia |
| Menyisipkan karakter yang tidak pernah dipakai di berkas asli | Bisa gagal atau tergantikan |
| Mengharapkan font lengkap yang dapat disunting di dalam PDF | Rapuh; subsetnya sudah membuang glif yang tidak terpakai |
| Menjalankan Compress di PDF123 | Stream bisa mengecil; persediaan glif tidak berubah |
Jika Anda perlu terus menyunting dengan set karakter lengkap, subsetting adalah pengaturan ekspor yang salah. Pilih sumber yang dapat disunting (Word, atau Markdown lewat Markdown to PDF untuk hasil render yang baru), atau PDF yang masih menyematkan bentuk font lengkap. Compress di PDF123 tidak akan mengembalikan glif yang sudah hilang.
Ketika mendiagnosis "saya tidak bisa mengetik Γ© di PDF ini", periksa apakah ekspor aslinya menyubset font sebelum menyalahkan penampil atau Repair. Repair membangun ulang struktur; ia tidak memperluas tabel glif. Perjalanan bolak-balik lewat Markdown bisa menghasilkan PDF baru dengan font apa pun yang disematkan WeasyPrint untuk render itu; berguna untuk dokumen baru, tetapi bukan untuk memulihkan wajah font subset yang lama secara bedah.