Có thể mở bản đề xuất WWW gốc dưới dạng tệp Word for Macintosh 4 năm 1990 vào lúc này không?
(blog.jgc.org)- Bản đề xuất WWW gốc của Tim Berners-Lee là một tài liệu Microsoft Word for Macintosh 4.0 có dung lượng 68.608 byte; trọng tâm là liệu có thể mở nó trong môi trường hiện đại sao cho gần với bản gốc và chuyển đổi sang PDF hay không
- Microsoft Word và Apple Pages đều thất bại; Apache OpenOffice mở được nhưng không bảo toàn đúng định dạng và sơ đồ
- LibreOffice mở được tài liệu và hiển thị cả sơ đồ sắc nét, nhưng lề, cỡ chữ, đầu trang/chân trang và khoảng trắng khác với bản gốc nên cần hiệu chỉnh thêm
- PDF năm 1998 của CERN có 20 trang, trong khi bố cục gốc kiểm tra bằng Macintosh thập niên 1990 và Word trên Infinite Mac cho thấy 22 trang theo khổ A4
- Tệp
.odtđã chỉnh thủ công và PDF tạo trên máy Mac giả lập đã được đưa lên GitHub; ngay cả tài liệu 34 năm tuổi cũng không dễ mở và bảo tồn một cách chính xác
Bản chất tệp gốc và mục tiêu chuyển đổi
- W3C cung cấp một bản tải xuống có vẻ là tệp tài liệu gốc trên trang original WWW proposal của Tim Berners-Lee
- Bản tải xuống đó có mô tả “I think - I can't test it”, và cũng có riêng phiên bản RTF cùng phiên bản HTML được tạo từ tệp gốc vào năm 1998
- Lệnh
filetrên Mac nhận diện tài liệu gốc là tệp Microsoft Word for Macintosh 4.0 - Ghi chú trên trang W3C cũng viết rằng tài liệu này là tài liệu MacWord hoặc Word for Mac gốc được viết vào tháng 3/1989, được phân phối lại không thay đổi ngoại trừ việc thêm ngày tháng 5/1990
- Mục tiêu là mở tài liệu gốc và, nếu có thể, chuyển đổi sang một định dạng hiện đại như PDF có độ trung thực cao
Kết quả khi mở bằng phần mềm hiện đại
- Trước tiên thử Microsoft Word bằng cách thêm phần mở rộng
.docvào tệp, tải lên OneDrive rồi mở - Apple Pages cũng không hiểu được các tệp Microsoft Word for Macintosh cũ
- Apache OpenOffice có thể mở tệp nhưng định dạng biến mất và sơ đồ bị thiếu
- LibreOffice mở được tệp và cũng hiển thị sơ đồ rõ nét
- Tuy nhiên lề bị bất thường và vẫn còn các vấn đề định dạng khác
Khác biệt giữa PDF của CERN và đầu ra của LibreOffice
- CERN cung cấp phiên bản PDF của bản đề xuất
- PDF này có vẻ được tạo năm 1998 bằng Acrobat Distiller Daemon 2.1 for SunOS/Solaris(SPARC) và có 20 trang
- Phiên bản nhập vào LibreOffice có 24 trang
- Sau khi tạo PDF từ phiên bản LibreOffice, dùng chế độ xem contact sheet của Apple Preview để so sánh với PDF của CERN
- Phiên bản LibreOffice mất lề phải
- Phần lớn nội dung hiển thị ở 14pt thay vì 12pt như trong PDF của CERN
- Phần đầu trang có chữ viết tắt TBL bị biến thành chân trang
- Nhìn vào vị trí ảnh, việc ngắt trang nhìn chung có vẻ đúng; vấn đề lớn nhất dường như là cỡ chữ
- PDF của CERN có khoảng trắng bên dưới tiêu đề, còn phiên bản LibreOffice thì không
Xác nhận bố cục gốc bằng giả lập
- Để kiểm tra tài liệu gốc thực sự trông như thế nào, khởi động một Macintosh thập niên 1990 trên Infinite Mac và chạy tài liệu gốc bằng Word for Macintosh 4.0
- Cách này cho phép kiểm tra phông chữ, cỡ chữ và bố cục thực tế
- Kết quả trên máy Mac giả lập cho thấy tài liệu trên Mac gốc và PDF của CERN khá khác nhau
- PDF của CERN có 20 trang
- Tài liệu chạy bằng Word for Macintosh 4.0 với giấy A4 có 22 trang
- Sau đó, mục tiêu chuyển từ việc khớp với PDF của CERN sang tạo bản gần với tài liệu gốc nhìn thấy trên Mac
Hiệu chỉnh thủ công và kết quả bảo tồn
- Để làm cho tài liệu LibreOffice gần với bản gốc hơn, nhiều mục đã được chỉnh thủ công
- Đặt khổ giấy là A4
- Đặt lề phải bằng kích thước lề trái
- Trang đầu tiên có gutter, chân trang và đầu trang không giống nhau nên được chỉnh thành định dạng riêng
- Đổi phông chữ nội dung từ 14pt và các cỡ khác về 12pt
- Xử lý thủ công các đoạn văn bản bị ngắt sai giữa các trang và vấn đề căn chỉnh
- Sửa các thành phần đã bị biến thành chân trang trở lại thành đầu trang
- Kết quả cuối cùng khá gần với tài liệu hiển thị trên Mac
- Phiên bản
.odtlà kết quả chuyển đổi đã được tải lên kho GitHub - Công việc này cho thấy việc bảo tồn tài liệu cũ ở định dạng hiện đại là khó, và phần mềm nguồn mở có thể hữu ích cho những chuyển đổi như vậy
- Mục đích ban đầu là lấy sơ đồ chất lượng cao của bản đề xuất gốc để dùng trong bài thuyết trình, nhưng mất nhiều thời gian hơn dự kiến
PDF bổ sung được tạo bằng máy Mac giả lập
- Trong bình luận trên Hacker News, có người gợi ý rằng có thể tạo tệp PostScript hoặc PDF bằng máy Mac giả lập
- Sử dụng System 7, Word năm 1992 và trình điều khiển máy in Print2PDF để tạo tệp PDF, tài liệu được xuất trực tiếp từ Word for Macintosh 5.1a
- PDF được tạo bằng cách này cũng được thêm vào GitHub
- Phiên bản này có 20 trang
- Phông chữ khác, nhưng đáp ứng yêu cầu ban đầu là tạo PDF
- Một bình luận khác trên Hacker News dẫn tới một trường hợp tạo được bản chuyển đổi tốt sang định dạng hiện đại thông qua một phiên bản Word khác và một số điều chỉnh
1 bình luận
Các ý kiến trên Hacker News
Dành cho những ai quan tâm, tôi đã đăng một tài liệu ở định dạng Word hiện đại trong đó toàn bộ artwork vector và phông chữ đều được giữ lại: https://jasomill.at/proposal.docx
Việc chuyển đổi được thực hiện bằng cách mở và lưu lại bằng Word 98[1] trên Power Mac được giả lập bằng QEMU, rồi mở bằng Word for Mac 16.82 hiện đại
Tuy nhiên hình ảnh thì bị thiếu, và Word báo “There is not enough memory or disk space to display or print the picture.”, nhưng có vẻ vấn đề không phải RAM mà là Word không còn hỗ trợ định dạng ảnh PICT nữa
Tôi đã khôi phục ảnh bằng cách tạo PDF trong Word 98 qua chức năng in PDF của Acrobat 5.0.10, rồi dùng Adobe Illustrator hiện đại trích xuất riêng từng trong ba ảnh thành PDF để giữ nguyên phông chữ, vector, kích thước và bounding box ban đầu, sau đó kéo thả từ Finder vào
Để so sánh, PDF tạo bằng Acrobat từ Word 98 trên Power Mac là https://jasomill.at/proposal-Word98.pdf, còn PDF do Word hiện đại trên macOS Sonoma tạo là https://jasomill.at/proposal-Word16.82.pdf
[1] https://archive.org/details/ms-word98-special-edition
Dĩ nhiên nếu có văn bản thì vẫn còn vấn đề phông chữ, nhưng tôi chưa từng nghĩ đến cách giữ vector bằng PDF, mà PDF cũng nhúng phông chữ khá tốt
[1] http://fileformats.archiveteam.org/wiki/PICT
Trong lúc làm việc tôi có tra nhanh nhưng không xác định được dự án LHC bắt đầu khi nào và vì sao nó đã có liên quan vào năm 1990; việc đó là 20 năm trước khi vận hành thực tế cũng khiến tôi thấy khoảng thời gian dài hơn nhiều so với dự đoán
Việc “có thể xem phông chữ thực, cỡ chữ và bố cục để xác nhận tài liệu đáng lẽ trông như thế nào” chỉ đúng khi có phông chữ gốc
Word 4.0 được phát hành cho System 6 và hỗ trợ đến tận System 3.2; thời đó phông chữ có các tệp riêng cho màn hình và cho máy in theo từng độ phân giải đầu ra
Nếu không có phông máy in thì khi in sẽ phóng to phông màn hình bằng phương pháp nearest neighbor, còn nếu không có phông màn hình thì thay bằng phông hệ thống. Như trong ảnh chụp màn hình, mặc định là Geneva
Trong trường hợp này chỉ cần Palatino và Courier nổi tiếng, nhưng LibreOffice đã thay bằng Times New Roman dù đã cài Palatino Linotype
PalatinoLinotype, còn trong bản Adobe OpenType làPalatinoLTStdNếu không có ngoại lệ hard-code, việc khớp phông dựa trên tiền tố chung rất dễ cho ra kết quả không phù hợp. Ví dụ có thể ánh xạ
LucidasangLucidaConsole, trong khi xét theo ý định của người soạn tài liệu thì gần như bất kỳ phông sans-serif tỉ lệ nào cũng có thể tốt hơnHơn nữa, khớp tên chính xác cũng không được bảo đảm. Apple từng phát hành hai phông có tên nội bộ là
NewYork: một là bản chuyển sang TrueType từ thiết kế bitmap Macintosh gốc năm 1983 của Susan Kare, còn bản kia là một thiết kế không liên quan ra mắt năm 2019Người hùng dễ bị đánh giá thấp trong câu chuyện nhỏ này là lệnh
file(1)cũ kỹproposal: Microsoft Word for Macintosh 4.0Khi tò mò một tệp là gì, tôi gần như dùng nó theo phản xạ, và thông tin trả về vừa đủ để thỏa mãn trí tò mò mà vẫn hữu dụng về mặt thực tế, nên nó thật sự rất tiện
filelà một công cụ tuyệt vờiTrước đây khi phải ngồi trước máy tính làm việc chạy Windows mà không thể dùng công cụ này một cách dễ dàng, tôi đã chửi thề không ít lần. Sau này nhờ WSL thì dễ chịu hơn, còn hiện giờ may mắn là gần như không phải dùng Windows nữa
LibreOffice mở được tệp này trực tiếp. Khả năng hỗ trợ các định dạng tệp tài liệu cũ thật sự xuất sắc, nên tôi vẫn cài nó cho những việc như thế này: https://imgur.com/a/JENgq6V
Dù vậy tôi cũng thích dùng các trình giả lập BasiliskII và InfiniteMac
Có vẻ ảnh chụp màn hình cũng cho thấy vấn đề đó; hỗ trợ được một định dạng độc quyền cũ như thế này ở mức đó là khá tốt, nhưng nếu còn các vấn đề như vậy thì gọi là “thật sự xuất sắc” có lẽ hơi khó
Tôi tự hỏi liệu trong LibreOffice hiện nay vẫn còn mã phân tích cú pháp định dạng bên thứ ba từ đầu thập niên 1990 hay không, hay chính mã tương thích/chuyển đổi được tạo bằng cách reverse-engineer các phiên bản Word muộn hơn nhiều mới là phần thực sự đang xử lý
Một ví dụ cho thấy khả năng tương thích ngược của Microsoft: trong Word 2401 bản Windows, tệp nhìn chung mở khá tốt và bố cục cũng trông giống bản PDF trong bài viết
Theo mặc định, định dạng tệp bị chặn, nhưng việc cho phép thì khá dễ
Tuy nhiên, do không có bộ lọc đồ họa cho định dạng Microsoft Word Picture nên hình ảnh không mở được. Có vẻ nó đã bị loại bỏ từ khá lâu, nhưng Word 2003 có lẽ mở được, và cũng không cũ đến mức không chạy được trên hệ thống hiện đại
Lưu từ đó thì nó được chuyển thành
.dochiện đại, rồi có thể mở trong Office 365 để chuyển sang PDF, v.v.Bài học là đội Windows Office có vẻ dành thêm một chút thời gian cho khả năng tương thích ngược
Tôi nghĩ một công ty như Microsoft nên coi trọng việc đảm bảo có thể mở tài liệu do mọi phiên bản Microsoft Word tạo ra, dù chúng cũ đến đâu
Tôi cho rằng họ có trách nhiệm xã hội, lịch sử và kinh tế
Nếu lo ngại lỗ hổng trong mã phân tích cú pháp cũ, họ có thể chuyển nó sang tiến trình bên ngoài, chạy trong môi trường sandbox cách ly và tạo ngay một phiên bản mới có thể đọc được. Không nên loại bỏ hẳn chức năng này
Sửa: tôi biết được rằng Word trên desktop mở tệp tốt, chỉ bản web là không, nên có thể xem bài này là không còn giá trị
Sửa 2: tài liệu mở được, nhưng có vẻ không hiển thị hoặc in được đồ họa nhúng
Việc ghi tài liệu cho định dạng cũng không phải là chuẩn mực. Tôi đồng ý là có trách nhiệm xã hội, nhưng với tư cách người từng làm công việc lưu trữ số, ngày xưa thật sự, thật sự rất lộn xộn. Đúng là vậy
Nếu muốn biết bản in lúc đó chính xác trông như thế nào, có thể cài một hàng đợi in tạo tệp PostScript trong trình giả lập chạy Word for Mac 4.0
Tệp
.psđó có thể chuyển sang PDFHoặc nếu ngay cả trên một hệ điều hành cũ đến mức đó cũng có Acrobat, có thể tạo PDF trực tiếp bằng driver máy in ảo
Nếu muốn tự tinh chỉnh nhiều hơn, có thể lặn sâu vào Ghostscript :)
https://www.ghostscript.com
Tôi nhớ là cũng từng mở tệp Word 4.0
LibreOffice thật đáng kinh ngạc. Không chỉ mở được nhiều định dạng tài liệu, nó còn có thể tự động hóa các tác vụ như chuyển đổi định dạng bằng chế độ chạy headless và tùy chọn dòng lệnh
Những việc như vậy thường khó làm theo cách khác
https://help.libreoffice.org/latest/en-US/text/shared/guide/start_parameters.html
https://opensource.com/article/21/3/libreoffice-command-line
Có một vấn đề tiềm ẩn mà các công ty thường đánh giá thấp. Một số công ty có bản sao lưu lưu giữ vô thời hạn
Sao lưu lưu giữ 10 năm là chuyện phổ biến, và có nơi lưu 20 năm vì lý do pháp lý, nhưng phần lớn không hiểu sự khác nhau giữa “có thể đọc được” và “có thể sử dụng được”
Tùy dữ liệu, có những công ty sao lưu toàn bộ máy ảo vô thời hạn và tin rằng sau này có thể chạy lại. Khôi phục máy vSphere 5.x trên vSphere 8 mới nhất đã đủ khó rồi, nên tôi không hiểu lắm kiểu lãng phí dung lượng này
Với mức giá này thì không đáng để dọn. Một DevOps tốn hơn 100 USD mỗi giờ, chưa kể chi phí cơ hội khi họ làm việc dọn dẹp nhàm chán thay vì việc hiệu quả hơn
Sau khi công ty bị mua lại hoặc đủ thời gian trôi qua, chỉ cần xóa hoặc vứt dữ liệu mà không cần dọn dẹp
Với máy ảo, nếu là VMDK chẳng hạn, có thể đọc đĩa thô mà không cần boot. Không đáng chấp nhận rủi ro mất dữ liệu chỉ để tiết kiệm 10 USD mỗi tháng; số tiền đó cũng tương đương việc một lập trình viên uống thêm một cốc bia trong sự kiện của đội
Vì vậy, đó giống lãng phí về mặt quản lý hơn là lãng phí dung lượng
Đây là một câu chuyện cảnh báo hay cho thấy các định dạng lỗi thời nhanh đến mức nào, đặc biệt là định dạng đóng nguy hiểm ra sao
Với tài liệu cần lưu trữ lâu dài, tôi dùng Markdown, văn bản thuần và PNG
Ngay cả khi những định dạng này biến mất, việc tự triển khai lại parser cũng sẽ khá dễ
Tạo một parser hoạt động giống parser Markdown trong các trường hợp đơn giản, khiến mọi người tin rằng mình đang parse được, thì dễ; nhưng parser thật sự lại là chuyện khác
Dù vậy, dữ liệu Markdown vẫn có khả năng cao khôi phục được. Nếu là dữ liệu do chính mình tạo ra, HTML có khi còn an toàn hơn
HTML cũng tương tự, và văn bản thuần ở một mức độ nào đó cũng vậy. PDF thì lẽ ra phải giống hệt mãi mãi, nhưng trong các định dạng tài liệu có thể chỉnh sửa, theo tôi biết thì chỉ TeX/LaTeX là thực sự giữ nguyên định dạng ngay cả khi phần mềm được cập nhật
Trên thực tế, trong LaTeX, nếu cùng một tài liệu đầu vào không tạo ra bố cục giống hệt phiên bản trước thì chính thức được xem là lỗi
Sẽ đặc biệt rắc rối nếu tài liệu của một định dạng hay giao thức phức tạp hơn lại phải được viết bằng chính định dạng hoặc giao thức đó
Cũng có wiki Just Solve The File Format Problem. Tôi cũng từng bổ sung nội dung vào đó; nó dùng HTML và không có đầy đủ đặc tả hoàn chỉnh của mọi định dạng tệp, một số chỉ là liên kết đến tệp bên ngoài, nhưng vẫn hữu ích để tìm thông tin về định dạng tệp
Người ta nói ai không biết lịch sử sẽ lặp lại sai lầm, nhưng nếu tài liệu của chúng ta không thể đọc được hoặc biến mất đối với các thế hệ tương lai, họ làm sao học được từ sai lầm của chúng ta?