1 पॉइंट द्वारा GN⁺ 2024-02-14 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Tim Berners-Lee का मूल WWW प्रस्ताव 68,608 बाइट का Microsoft Word for Macintosh 4.0 दस्तावेज़ था; मुख्य सवाल यह था कि क्या आधुनिक environment में इसे original के करीब खोलकर PDF में बदला जा सकता है
  • Microsoft Word और Apple Pages असफल रहे, जबकि Apache OpenOffice ने फ़ाइल खोली लेकिन formatting और diagrams को ठीक से सुरक्षित नहीं रख पाया
  • LibreOffice ने दस्तावेज़ खोला और स्पष्ट diagrams भी दिखाए, लेकिन margins, font size, header/footer और spacing original से अलग थे, इसलिए अतिरिक्त सुधार की ज़रूरत पड़ी
  • CERN का 1998 PDF 20 pages का है, जबकि Infinite Mac में 1990s Macintosh और Word से जाँचा गया original layout A4 के आधार पर 22 pages निकला
  • मैन्युअल रूप से सुधारी गई .odt फ़ाइल और emulated Mac पर बनाया गया PDF GitHub पर अपलोड किए गए; 34 साल पुराने दस्तावेज़ को भी सही ढंग से खोलना और preserve करना आसान नहीं है

मूल फ़ाइल की पहचान और conversion का लक्ष्य

  • W3C, Tim Berners-Lee के original WWW proposal पेज पर original document file जैसी लगने वाली download उपलब्ध कराता है
  • उस download के साथ “I think - I can't test it” विवरण दिया गया था, और अलग से RTF version तथा 1998 में original file से बनाई गई HTML version भी मौजूद है
  • Mac का file command original document को Microsoft Word for Macintosh 4.0 file के रूप में पहचानता है
  • W3C page का note भी कहता है कि यह दस्तावेज़ मार्च 1989 में लिखा गया original MacWord या Word for Mac document है, और मई 1990 की date जोड़े जाने के अलावा बिना बदलाव के फिर से distribute किया गया था
  • लक्ष्य था original document को खोलना और संभव हो तो उसे high-fidelity PDF जैसे आधुनिक format में बदलना

आधुनिक software से खोलकर देखने के नतीजे

  • Microsoft Word से शुरुआत करने के लिए file extension .doc लगाकर उसे OneDrive पर upload किया और फिर खोला गया
  • Apple Pages भी पुराने Microsoft Word for Macintosh files को समझ नहीं पाया
  • Apache OpenOffice फ़ाइल खोल सका, लेकिन formatting गायब हो गई और diagrams छूट गए
  • LibreOffice ने फ़ाइल खोली और diagrams भी स्पष्ट रूप से दिखाए
    • हालांकि margins अजीब थे और दूसरी formatting समस्याएँ भी बाकी थीं

CERN PDF और LibreOffice output में अंतर

  • CERN प्रस्ताव का PDF version उपलब्ध कराता है
  • यह PDF 1998 में Acrobat Distiller Daemon 2.1 for SunOS/Solaris(SPARC) से बनाया गया लगता है और 20 pages का है
  • LibreOffice में import किया गया version 24 pages का था
  • LibreOffice version से PDF बनाने के बाद Apple Preview के contact sheet view में CERN PDF से तुलना की गई
    • LibreOffice version में right margin गायब हो गया
    • अधिकांश body text CERN PDF के 12pt के बजाय 14pt में दिखा
    • TBL के initials वाला header footer में बदल गया
    • images की position देखकर page breaks कुल मिलाकर सही लग रहे थे, और सबसे बड़ी समस्या font size लग रही थी
    • CERN PDF में title के नीचे खाली जगह है, लेकिन LibreOffice version में नहीं थी

emulation से जाँचा गया original layout

  • असली original document कैसा दिखता था, यह जाँचने के लिए Infinite Mac में 1990s Macintosh boot किया गया और Word for Macintosh 4.0 में original document चलाया गया
  • इस तरीके से वास्तविक fonts, font sizes और layout जाँचे जा सके
  • emulated Mac में देखने पर original Mac document और CERN PDF काफ़ी अलग निकले
    • CERN PDF 20 pages का है
    • Word for Macintosh 4.0 को A4 paper के साथ चलाने पर document 22 pages का था
  • इसके बाद लक्ष्य CERN PDF से match करना नहीं रहा, बल्कि Mac पर दिखने वाले original document के करीब version बनाना हो गया

मैन्युअल सुधार और preservation के नतीजे

  • LibreOffice document को original के करीब लाने के लिए कई चीज़ें manually adjust की गईं
    • paper को A4 पर set किया
    • right margin को left margin जितना किया
    • first page में gutter, footer और header समान नहीं थे, इसलिए उसे अलग format में adjust किया
    • body font को 14pt और अन्य sizes से बदलकर 12pt किया
    • pages के बीच गलत जगह टूटते text और alignment समस्याओं को manually ठीक किया
    • footer में बदल गए element को header में सुधारा
  • final result Mac पर दिखने वाले document के काफ़ी करीब हो गया
  • conversion result वाला .odt version GitHub repository में upload किया गया
  • यह काम दिखाता है कि पुराने documents को आधुनिक format में preserve करना मुश्किल है, और open source software ऐसे conversions में उपयोगी हो सकता है
  • शुरुआत में उद्देश्य presentation में इस्तेमाल के लिए original proposal के high-quality diagrams पाना था, लेकिन इसमें उम्मीद से ज़्यादा समय लगा

emulated Mac से बनाया गया अतिरिक्त PDF

  • Hacker News comments में सुझाव आया कि emulated Mac से PostScript file या PDF बनाया जा सकता है
  • System 7, 1992 के Word और PDF file बनाने वाले printer driver Print2PDF का उपयोग करके Word for Macintosh 5.1a से सीधे output लिया गया
  • इस तरीके से बना PDF भी GitHub में जोड़ा गया
    • यह version 20 pages का है
    • font अलग है, लेकिन original requirement यानी PDF बनाना पूरा हो गया
  • एक और Hacker News comment ने किसी दूसरे Word version और adjustments के ज़रिए आधुनिक format में अच्छा converted version बनाने के उदाहरण से link किया

1 टिप्पणियां

 
GN⁺ 2024-02-14
Hacker News की राय
  • दिलचस्पी रखने वालों के लिए, मैंने आधुनिक Word format में एक document अपलोड किया है जिसमें vector artwork और fonts दोनों सुरक्षित हैं: https://jasomill.at/proposal.docx
    Conversion इस तरह किया गया: QEMU में emulated Power Mac पर Word 98[1] में खोलकर दोबारा save किया, फिर आधुनिक Word for Mac 16.82 में खोला
    हालांकि तस्वीरें गायब थीं और Word ने कहा, “There is not enough memory or disk space to display or print the picture.”, लेकिन यह RAM की समस्या से ज़्यादा इस ओर इशारा करता है कि Word अब PICT image format support नहीं करता
    Images को restore करने के लिए Word 98 से Acrobat 5.0.10 की PDF printing के जरिए PDF बनाया, फिर आधुनिक Adobe Illustrator से तीनों images को अलग-अलग PDF के रूप में extract किया ताकि मूल fonts, vectors, size और bounding box सुरक्षित रहें, और फिर Finder से drag-and-drop कर दिया
    तुलना के लिए, Power Mac के Word 98 में Acrobat से बना PDF यह है: https://jasomill.at/proposal-Word98.pdf, और macOS Sonoma के आधुनिक Word से बना PDF यह है: https://jasomill.at/proposal-Word16.82.pdf
    [1] https://archive.org/details/ms-word98-special-edition

    • जिज्ञासा है कि क्या आपने images को अलग से extract करके किसी दूसरे program से सीधे convert करने की कोशिश की थी। Archive Team के मुताबिक LibreOffice vector PICT files पढ़ सकता है[1], और उन्हें SVG के रूप में save भी कर सकता है
      बेशक अगर text शामिल हो तो font वाली समस्या फिर भी रहती है, लेकिन vector को PDF में सुरक्षित रखने का विचार मेरे दिमाग में नहीं आया था, और PDF font embedding भी अच्छी तरह कर देता है
      [1] http://fileformats.archiveteam.org/wiki/PICT
    • वैसे, MacClippy 98 को पहले से ही हालात का पता था: https://jasomill.at/Clippy.png
    • SF में दिखने वाला digital archaeologist पेशा अब हकीकत बनता जा रहा है
    • इतने पुराने document में LHC देखने की उम्मीद नहीं थी
      काम के बीच थोड़ी खोजबीन में मैं यह confirm नहीं कर पाया कि LHC project कब शुरू हुआ और 1990 में वह पहले से relevant था या नहीं, लेकिन असल operation से 20 साल पहले की बात होना भी उम्मीद से कहीं ज़्यादा लंबा समय लगता है
  • “असल fonts, font sizes और layout देखकर यह पता लगाया जा सकता है कि document कैसा दिखना चाहिए था” — यह बात तभी सही है जब original fonts मौजूद हों
    Word 4.0 System 6 के लिए आया था और System 3.2 तक support करता था; उस समय fonts के लिए display resolution के हिसाब से screen files और printer files अलग-अलग होती थीं
    अगर printer font न हो तो screen font को nearest-neighbor तरीके से enlarge करके print किया जाता था, और अगर screen font न हो तो system font से substitute किया जाता था। screenshot की तरह default Geneva है
    इस मामले में सिर्फ मशहूर Palatino और Courier की जरूरत है, लेकिन LibreOffice ने Palatino Linotype install होने के बावजूद उसे Times New Roman से substitute कर दिया

    • संभवतः इसका बड़ा कारण यह है कि Palatino Linotype का internal name Windows bundled version में PalatinoLinotype है, जबकि Adobe OpenType version में PalatinoLTStd है
      hardcoded exceptions न हों तो common prefix पर आधारित font matching आसानी से गलत नतीजे दे सकती है। उदाहरण के लिए, Lucida को LucidaConsole से map किया जा सकता है, जबकि document author की मंशा के लिहाज से लगभग कोई भी proportional sans-serif font उससे बेहतर हो सकता है
      ऊपर से exact name matching की भी guarantee नहीं है। Apple ने internal name NewYork वाला font दो बार distribute किया: एक Susan Kare के 1983 के original Macintosh bitmap design का TrueType conversion था, और दूसरा 2019 में आया एक असंबंधित design
    • ऐसी differences को कुछ हद तक explain किया जा सकता है, लेकिन emulation में मुख्य रूप से जिस चीज़ की जांच करनी थी वह font size था
  • इस छोटी कहानी में जिस hero को अक्सर कम आंका जा सकता है, वह पुराना file(1) command है
    proposal: Microsoft Word for Macintosh 4.0
    जब भी जानना हो कि file क्या है, इसे लगभग reflex की तरह इस्तेमाल किया जाता है, और यह जो जानकारी लौटाता है वह जिज्ञासा मिटाने और practical होने के लिए बिल्कुल पर्याप्त होती है—वाकई उपयोगी

    • सहमत। file एक शानदार tool है
      पहले जब मैं Windows work computer के सामने बैठता था और यह tool आसानी से इस्तेमाल नहीं कर पाता था, तो कई बार झुंझलाहट होती थी। बाद में WSL की वजह से सुविधा हो गई, और अब अच्छी बात है कि मैं लगभग Windows के बिना ही रहता हूं
  • LibreOffice इस file को सीधे खोल देता है। पुराने document file formats का support सच में शानदार है, इसलिए ऐसे कामों के लिए इसे install रखता हूं: https://imgur.com/a/JENgq6V
    फिर भी BasiliskII और InfiniteMac emulators इस्तेमाल करना भी पसंद है

    • original article में भी कहा गया था कि LibreOffice इसे खोलता है, लेकिन साथ ही यह भी कहा था कि “margins अजीब हैं और दूसरी formatting problems भी हैं”
      screenshot में भी वह समस्या दिखती लगती है, और इतने पुराने proprietary format को इस हद तक support करना काफी अच्छा है, लेकिन अगर ऐसी problems हों तो उसे “सच में शानदार” कहना थोड़ा मुश्किल है
    • QEMU भी आज़माने लायक है। latest version Power Mac emulation अच्छी तरह करता है, इसलिए classic Mac OS का latest PowerPC version 9.2.2 और Mac OS X 10.5 दोनों चला सकता है
    • उस समय भी StarOffice पहले से मौजूद था
      अब यह जिज्ञासा होती है कि क्या LibreOffice के अंदर 1990 के दशक की शुरुआत के third-party format parsing code अभी भी बचे हुए हैं, या फिर बहुत बाद के Word versions को reverse-engineer करके बना compatibility/conversion code असल में काम कर रहा है
  • Microsoft की backward compatibility दिखाने वाले उदाहरण के तौर पर, Windows वाले Word 2401 में फ़ाइल कुल मिलाकर ठीक खुली और layout भी लेख के PDF जैसा ही दिखा
    default रूप से file format block था, लेकिन allow करना आसान था
    हालांकि Microsoft Word Picture format के लिए graphics filter नहीं था, इसलिए images नहीं खुलीं। लगता है इसे काफी पहले हटा दिया गया था, लेकिन Word 2003 शायद खोल सकेगा, और यह इतना पुराना भी नहीं कि modern systems पर चल ही न सके

    • Word 2003 install करके देखा तो default settings में ही document तुरंत और पूरी तरह खुल गया
      वहाँ save करने पर यह modern .doc में convert हो गया और Office 365 में खोलकर PDF वगैरह में convert किया जा सका
      सीख यह है कि Windows Office team backward compatibility पर थोड़ा ज़्यादा समय लगाती दिखती है
  • Microsoft जैसी company के लिए मुझे लगता है कि Microsoft Word के हर version द्वारा बनाए गए documents कितने भी पुराने हों, उन्हें खोल पाने को अहम मानना चाहिए
    मुझे लगता है कि उसकी सामाजिक, ऐतिहासिक और आर्थिक जिम्मेदारी है
    अगर पुराने parsing code की vulnerabilities की चिंता है, तो उसे external process में ले जाकर sandbox isolation में चलाएँ और तुरंत नया readable version output करा दें। इस feature को ही हटाना नहीं चाहिए
    edit: पता चला कि desktop Word file ठीक से खोलता है और सिर्फ web version नहीं खोलता, इसलिए इस comment को अमान्य मान सकते हैं
    edit 2: document खुलता है, लेकिन लगता है embedded graphics दिखा या print नहीं पाता

    • पुराने formats में से कई असल में memory के binary dump थे, या उससे बहुत अलग नहीं थे
      formats को document करना standard भी नहीं था। सामाजिक जिम्मेदारी वाली बात से सहमत हूँ, लेकिन digital archiving का काम कर चुके व्यक्ति के तौर पर कहूँ तो पुराना दौर सचमुच, सचमुच गंदा था। सच में
    • 1990 तक जाने की भी जरूरत नहीं; modern Microsoft apps, खासकर cloud apps, में पिछले versions से बने documents खोलने में समस्या मिल जाना आसान है
    • सच में जानना चाहता हूँ कि Microsoft से बेहतर commercial software backward compatibility की reputation किस company की है
    • पुराने file formats में security vulnerabilities होती हैं। Word online version मूल रूप से सिर्फ docx के लिए design किया गया है, और केवल कुछ binary documents खोल सकता है
    • यह बात छूट गई कि असली Word इस file को ठीक से खोलता है। समस्या सिर्फ खिलौने जैसे web version में है, और Mac में भी हो सकती है, लेकिन वह अलग मामला है
  • अगर आप जानना चाहते हैं कि उस समय printout बिल्कुल कैसा दिखता था, तो Word for Mac 4.0 चलाने वाले emulator में PostScript file बनाने वाली print queue install की जा सकती है
    उस .ps file को PDF में convert किया जा सकता है
    या अगर इतने पुराने OS पर Acrobat उपलब्ध हो, तो virtual printer driver से सीधे PDF भी बनाया जा सकता है

    • https://web.mit.edu/ghostscript/www/Ps2pdf.htm
      अगर खुद और ज्यादा tuning करनी हो तो Ghostscript की गहराई में उतर सकते हैं :)
      https://www.ghostscript.com
    • मेरे पास अभी भी Word 5.1a चलाने वाला Mac है, और व्यक्तिगत रूप से मुझे लगता है कि वही आखिरी Word version है जिसकी जरूरत पड़ती है
      Word 4.0 files भी खोली हुई याद हैं
    • अच्छा सुझाव है। अभी Print2PDF से Word में PDF बनाया है और blog update करूँगा
  • LibreOffice कमाल है। यह कई document formats खोल ही सकता है, साथ ही headless execution और command-line options से format conversion जैसे काम automate भी किए जा सकते हैं
    ऐसे काम दूसरे तरीकों से अक्सर मुश्किल होते हैं
    https://help.libreoffice.org/latest/en-US/text/shared/guide/start_parameters.html
    https://opensource.com/article/21/3/libreoffice-command-line

  • एक संभावित समस्या है जिसे companies अक्सर कम आँकती हैं। कुछ companies के पास अनिश्चितकाल तक रखे जाने वाले backups होते हैं
    10 साल के retention backups आम हैं, और कानूनी वजहों से 20 साल तक रखने वाली जगहें भी हैं, लेकिन ज़्यादातर लोग “readable” और “usable” के फर्क को नहीं समझते
    data पर निर्भर करता है, लेकिन कुछ companies पूरी virtual machines का indefinite backup लेकर मानती हैं कि बाद में उन्हें चला पाएँगी। vSphere 5.x machine को latest vSphere 8 पर restore करना भी काफी मुश्किल है, और इस तरह की space wastage समझ में नहीं आती

    • सब कुछ backup कर दो, तो बाद में साफ-सफाई कर सकते हैं, और आखिर में साफ-सफाई करनी भी नहीं पड़ती। Google Cloud में 1TB storage की cost प्रति माह 1 dollar है
      इस दाम पर cleanup करने का फायदा नहीं है। एक DevOps engineer प्रति घंटे 100 dollars से ज्यादा पड़ता है, और ज्यादा productive काम की जगह बोरिंग cleanup करने की opportunity cost इसमें शामिल भी नहीं है
      company acquire हो जाए या काफी समय बीत जाए, तो बिना cleanup के data delete या discard कर सकते हैं
      virtual machines भी, उदाहरण के लिए VMDK हो तो, boot किए बिना raw disk पढ़ी जा सकती है। महीने के 10 dollars बचाने के लिए data loss का risk लेना ठीक नहीं, और यह रकम लगभग उतनी है जितनी किसी team event में एक developer के एक extra beer की होती है
    • पुराने files या disk images modern file sizes की तुलना में अक्सर छोटे होते हैं
      इसलिए यह space wastage से ज्यादा management waste जैसा है
  • यह एक अच्छा चेतावनी किस्सा है कि formats कितनी जल्दी पुराने पड़ जाते हैं, खासकर proprietary formats कितने जोखिम भरे होते हैं
    लंबी अवधि तक सुरक्षित रखने वाले दस्तावेज़ों के लिए Markdown, plain text, PNG का इस्तेमाल करता हूँ
    ऐसे formats गायब भी हो जाएँ, तो parser को खुद दोबारा implement करना आसान होगा

    • Markdown parser implement करना बिल्कुल भी आसान नहीं है
      आसान cases में Markdown parser जैसा behave करने वाला parser बनाना आसान है, जिससे लोगों को लगे कि parsing हो रही है, लेकिन असली parser अलग चीज़ है
      फिर भी Markdown data recover होने की संभावना ज़्यादा है। अगर data आप खुद generate करते हैं, तो HTML शायद और सुरक्षित हो सकता है
    • Markdown की समस्या यह है कि जब इसे formatted pages के set में convert किया जाता है, तो converter version के हिसाब से output बदल जाता है
      HTML भी कुछ ऐसा ही है, और plain text भी कुछ हद तक ऐसा है। PDF हमेशा बिल्कुल वैसा ही रहना चाहिए, लेकिन editable document formats में, software update होने के बाद भी वही formatting सच में बनाए रखने वाला, मेरी जानकारी में, सिर्फ TeX/LaTeX है
      असल में LaTeX में, अगर वही input document पुराने version जैसा बिल्कुल वही layout न बनाए, तो इसे officially bug माना जाता है
    • इसी वजह से मुझे लगता है कि protocol और file format documents को जहाँ तक हो सके pure ASCII text में लिखना अच्छा है
      अगर किसी ज़्यादा complex format या protocol की documentation उसी format या protocol में ही लिखनी पड़े, तो यह खास तौर पर समस्या बन जाता है
      Just Solve The File Format Problem wiki भी है। मैंने भी उसमें कभी content जोड़ा था; यह HTML इस्तेमाल करता है और इसमें हर file format की पूरी specification नहीं है, कुछ external file links भी हैं, लेकिन file format information ढूँढने में मदद करता है
    • Markdown भी plain text नहीं है क्या? मैंने उसे recommend न करने को नहीं कहा था
    • जिस समय हमने paper hardcopy archiving घटानी शुरू की, उसी समय समाज के तौर पर digital preservation को ज़्यादा गंभीरता से लेना चाहिए था
      कहा जाता है कि जो लोग इतिहास नहीं जानते वे वही गलतियाँ दोहराते हैं, लेकिन अगर हमारे documents भविष्य की पीढ़ियों के लिए पढ़ने लायक न रहें या गायब हो जाएँ, तो वे हमारी गलतियों से कैसे सीख पाएँगे?