
EPUB dosyanız sağlam — Kobo aksini söylüyor, suçlu Adobe
Referans EPUB doğrulayıcısını geçen bir kitap, Kobo okuyucuları tarafından "bozuk" diye reddedildi. Neden, CSS ayrıştırıcısı 2013 civarında donan Adobe RMSDK motoru; Kobo standart EPUB dosyalarını doğrudan ona yönlendiriyor.
Tamamen geçerli bir EPUB dosyası Kobo e-okuyucuları tarafından "bozuk" diye reddedildi ve izler, Adobe'nin 2010 civarında yazıp bir daha modernize etmediği bir motora çıkıyor. DRM'siz e-kitaplar yayımlayan yazar, yeni kitabının bir okurun birden çok kuşaktan Kobo cihazında açılmadığı bildirilince olayı bir değerlendirme yazısında anlattı.
Dosya özensiz değildi: EPUB standardının referans doğrulayıcısı epubcheck 3.3'ü geçmişti ve Amazon Kindle, Apple Books ile Thorium'da sorunsuz açılıyordu. Daha eski EPUB2 kurallarına göre hazırlanan sürüm de Kobo'da çalışmadı.
Tek satır CSS
Kilit an, yazar kitabın stil dosyasını devre dışı bıraktığında geldi: metin aniden yüklendi. Dosya daraltıldıkça tek bir bildirim öne çıktı: .copyright img { max-width: min(150px, 30vw); } — tamamen geçerli CSS Level 4. Bunu eski usul max-width: 150px olarak yeniden yazınca Adobe Digital Editions dosyayı normal açtı. Kobo okuyucuları, Adobe'nin tescilli motoru ve Adobe Digital Editions'ın çekirdeği olan RMSDK'yı (Reader Mobile Software Development Kit) kullanıyor. EPUB2 için yazılmış, EPUB3 için yalnızca hafifçe güncellenmiş motorun CSS ayrıştırıcısı fiilen 2013'te donmuş durumda: flexbox yok, grid yok, matematik fonksiyonları yok, custom properties yok — tanımadığı her şeyde sessiz çökme. Yazara göre Adobe Digital Editions hiçbir hata vermedi; tek tepki beyaz bir ekrandı.
İki render motoru, kararı dosya uzantısı veriyor
Yazıya eklenen güncelleme, Kobo'nun aslında iki render yolu sunduğunu belirtiyor. Standart EPUB dosyaları Adobe RMSDK'ya yönlendiriliyor; Kobo'nun kendi formatı KEPUB ise bakımı aktif sürdürülen WebKit tabanlı bir motorda çalışıyor. Hangisinin devreye gireceğini yalnızca dosya uzantısı belirliyor: kitabı ".kepub.epub" olarak yeniden adlandırmak onu WebKit motoruna geçiriyor — yazarın atıf yaptığı KoWiki belgelerine göre.
epubcheck bunu neden yakalayamıyor
epubcheck CSS'i denetliyor, ancak dosyayı belirli bir motorun sınırlarıyla değil şartnameyle karşılaştırıyor; bu yüzden bir kitap tam uyumlu olup yine de cihazda ölebiliyor. Hacker News'teki yorumcular sorunu daha geriye taşıdı: CSS, 1996'dan beri ayrıştırıcıların anlamadıkları bildirimleri sessizce yok saymasını şart koşuyor, yani mesele modernlik değil, temel eksikliği. Aynı duvara çarpanlar için yazar, stil dosyasını Kobo'yu bozan kurallar açısından tarayan ve onları otomatik düzelten üçüncü taraf bir araca işaret ediyor. Kitap bu arada düzeltilmiş sürümle yeniden yayımlandı.
SiTech — AI destekli web geliştirme
Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.