- LaTeX और Inkscape की एक ही 10.8pt × 7.2pt ग्रिड इसलिए मेल नहीं खाती क्योंकि दोनों टूल पॉइंट की अलग-अलग परिभाषाएँ इस्तेमाल करते हैं
- LaTeX में 1pt को 1/72.27 इंच माना जाता है, जबकि Inkscape में SVG·PostScript परिवार के अनुसार 1/72 इंच
- पॉइंट 1517 से इस्तेमाल हो रही एक typography इकाई है, लेकिन शुरुआत में इसका आकार कंपनी, उपकरण और देश के हिसाब से अलग-अलग था
- अमेरिकी प्रिंटिंग पॉइंट NIST की 0.013837 इंच परिभाषा और TeX की 72.27pt/in परिभाषा तक पहुँचा, और दोनों का अंतर बेहद छोटा है
- PostScript ने base user space को 1/72 इंच के रूप में तय किया, और LaserWriter के ज़रिये फैलते हुए यह CSS·SVG·Inkscape तक पहुँच गया
LaTeX और Inkscape के पॉइंट अलग क्यों पड़ते हैं
- Logic for Programmers के डायग्राम दोबारा बनाते समय यह समस्या सामने आई कि LaTeX और Inkscape की 10.8pt × 7.2pt ग्रिड एक ही आकार में फिट नहीं बैठती
- LaTeX 1 पॉइंट को 1/72.27 इंच के रूप में परिभाषित करता है, जो लगभग 0.3515mm है
- Inkscape 1 पॉइंट को 1/72 इंच मानता है, जो लगभग 0.3528mm है
- यह अंतर केवल लगभग 0.4% है, लेकिन इससे यह स्थिति बनती है कि दो बेहद प्रचलित डिजिटल टूल अलग-अलग पॉइंट इकाइयाँ इस्तेमाल करते हैं
पॉइंट की उत्पत्ति और मानकीकरण की समस्या
- पॉइंट) 1517 से चली आ रही एक typography इकाई है, जिसका स्वभाव ऐसा था कि यह प्रिंटर के लिए काम की सबसे छोटी माप मानी जा सके
- शुरुआती दौर में पॉइंट कोई मानकीकृत इकाई नहीं थी, और अलग-अलग कंपनियाँ व उपकरण अलग आकार इस्तेमाल करते थे
- बाद में मानकीकरण हुआ, लेकिन हर देश ने अलग आधार चुना
- जर्मनी और जापान का पॉइंट 0.250mm
- फ्रांसीसी पॉइंट 0.399mm माना जाता है
- शुरुआती कंप्यूटर इतिहास अमेरिका-केंद्रित होने के कारण डिजिटल तकनीक ने मुख्यतः अमेरिकी पॉइंट परिवार को अपनाया
अमेरिकी पॉइंट और TeX का 72.27pt/in
- अमेरिका में 19वीं सदी के आखिर के आसपास पॉइंट को मानकीकृत किया गया, लेकिन उस समय के स्रोतों में संख्याएँ थोड़ी-थोड़ी अलग मिलती हैं
- 1900 के एक स्रोत में पॉइंट की लंबाई 35/996cm दी गई है, जिससे 1 इंच में 72.281 पॉइंट आते हैं; वहीं 1 फुट में 867.4699 “ems” भी दिया गया है, जिससे 1 इंच में 72.289 पॉइंट निकलते हैं
- 1916 के एक स्रोत में standard pica (12 पॉइंट) को 0.16604 इंच बताया गया है, और 1 फुट में 72.272 “pica ems” दिए गए हैं, जिससे 1 इंच में 72.272 पॉइंट आते हैं
- उसी स्रोत के अगले पन्ने पर pica को 0.166044 इंच और पॉइंट को ठीक 0.013837 इंच बताया गया है
- ऐसे अंतर इस बात से जुड़े हैं कि मीटर और फुट की परिभाषाएँ समय के साथ बदलीं, और यह फर्क माइक्रॉन से भी छोटा होने के कारण व्यवहार में अक्सर नज़रअंदाज़ किया जाता था
- NIST की आधिकारिक परिभाषा पॉइंट को 0.013837 इंच मानती है; साधारण गणना से यह 1 इंच में लगभग 72.27 पॉइंट बनता है
- वास्तव में 0.013837 इंच का उलटा निकालने पर 72.270001 पॉइंट/इंच मिलता है, और Donald Knuth ने TeX में इस सूक्ष्म अंतर को समायोजित किया
- TeX 72.27pt = 1in परिभाषित करता है
- TeX का “pt” 1886 में American Typefounders Association द्वारा परिभाषित आधिकारिक printing point से थोड़ा बड़ा है
- एक पारंपरिक पॉइंट ठीक 0.99999999pt होता है, यानी त्रुटि लगभग 10 करोड़वें हिस्से के बराबर है
- 72.27pt = 1in की नई परिभाषा गणना और याद रखने दोनों के लिए आसान है
- अमेरिकी प्रिंटरों ने इंच के आधार पर पॉइंट को परिभाषित किया, लेकिन TeX पॉइंट को आधार मानकर गणना करता है और इंच को पॉइंट में परिभाषित करता है
- NIST को 72 पॉइंट/इंच भी पर्याप्त approximation लगता है, और TeX इसे
bp (big point) कहता है
PostScript, CSS, SVG, Inkscape का 72pt/in
- Inkscape की तरफ़ वाला मान संभवतः PostScript फ़ॉर्मैट की default user space परिभाषा से आया है
- PostScript दस्तावेज़ x-axis और y-axis की इकाई लंबाई 1/72 इंच तय करते हैं, और इसे default user space कहते हैं
- यह इकाई गणितीय सादगी और सुविधा के लिए चुनी गई थी, और इसे प्रिंटिंग उद्योग की standard printer point इकाई 1/72.27 इंच के बहुत क़रीब माना गया
- बाद में पेज 86 पर 1/72 इंच को सीधे “पॉइंट” कहा गया है
- बाद के संस्करण में यह कहा गया है कि 1/72 इंच पॉइंट के लगभग बराबर है, लेकिन बिल्कुल नहीं, और पॉइंट की कोई सार्वभौमिक परिभाषा नहीं है
- Apple ने LaserWriter लेज़र प्रिंटर में PostScript लगाया, और अन्य कंपनियों ने भी इसका अनुसरण किया, जिससे PostScript वास्तविक मानक प्रिंटिंग भाषा बन गया
- नतीजतन 72 पॉइंट/इंच डिजिटल मापन के de facto standard की तरह स्थापित हो गया
- W3C भी CSS और SVG में यही आधार इस्तेमाल करता है
- Inkscape एक SVG editor है, इसलिए Inkscape का पॉइंट भी 1/72 इंच परिवार का है
- SVG editor draw.io एक अलग अपवाद है, जो पॉइंट का आकार 1/100 इंच मानता है
Frink में बचा हुआ इकाई-परिभाषा का निशान
- मज़बूत unit support वाली Turing-complete भाषा Frink में भी पॉइंट की परिभाषाओं के निशान देखे जा सकते हैं
- Frink में 1959 से पहले वाले इंच के आधार पर 1900 के स्रोत का मान निकालें तो यह परिणाम मिलता है
oldinch := surveyfoot / 12 // pre 1959 inch
35 cm / (996 pts) -> oldinch / pts
0.013834839357429718876
point := 0.013837ee0 inch // exact, NIST Handbook 44, Appendix 3
printerspoint := point
texscaledpoint := 1/65536 point // The TeX typesetting system uses
texsp := texscaledpoint // this for all computations.
computerpoint := 1/72 inch // The American point was rounded
computerpica := 12 computerpoint // to an even 1/72 inch by computer
postscriptpoint := computerpoint // people at some point.
- यहाँ “computer people at some point” जिस बदलाव की ओर इशारा करता है, वह PostScript की 1/72 इंच base unit से जुड़ता है
- Frink की
texscaledpoint परिभाषा, TeX की वास्तविक परिभाषा से थोड़ा अलग है
- TeX के वास्तविक पॉइंट को आधार मानकर इसे फिर से लिखें तो यह इस तरह होगा
realtexpoint := 1/72.27 inch
realtexsp := 1/65536 realtexpoint
(realtexsp - texsp)
5.36285100578e-17 m (length)
(realtexsp - texsp) / realtexsp
1.0000000000005691827e-8
- Frink की परिभाषा का यह अंतर लगभग 50 attometer है, जो proton की चौड़ाई के लगभग 3% के बराबर है
- TeX वास्तविक गणना में “scaled points” इस्तेमाल करता है, जहाँ 2^16 sp = 1 pt है
1 टिप्पणियां
Lobste.rs की राय
आखिर में Frink का संदर्भ देने वाले हिस्से में US Survey Inch और International Inch के बीच का अंतर सामने आता है
मैंने पहले international inch कैसा बना इस पर लिखा था, और माप-तौल की कहानियों में यह मेरी पसंदीदा मिसालों में से एक है, इसलिए यह काफी संभव लगता है कि 1900 के आसपास point की परिभाषाएं अलग होने का कारण उस समय की माप-सटीकता की सीमाएं रही हों
Knuth TeX point और NIST point के बीच का अंतर, अलग-अलग inch परिभाषाओं को आधार मानने से पैदा होने वाले अंतर से भी छोटा है
धातु के टाइप को फ्रेम में फिट करने या Linotype से सीसे के टाइप ढालने के दौरान जो भिन्नताएं आती थीं, वे इन point अंतरों को पहचानने के लिए चाहिए सटीकता से कहीं ज्यादा बड़ी थीं, इसलिए उस दौर की printing technology में यह व्यावहारिक समस्या नहीं रही होगी
कंप्यूटर के 1/72 inch point की एक और ऐतिहासिक पृष्ठभूमि यह है कि 1980 के दशक के Apple display आम तौर पर 72 pixels per inch होते थे, इसलिए 1 point = 1 pixel होता था और software के लिए स्क्रीन पर दस्तावेज़ के आकार को print page से मिलाना आसान हो जाता था
typewriter नाममात्र तौर पर 6 lines per inch का होता था, और 11-inch कागज़ पर 72.27 points per inch के हिसाब से 12 point text लिखें तो 66 lines नहीं बल्कि लगभग 66.25 lines बनती हैं
typewriter में प्रति पेज 1/4 line का फर्क शायद बड़ी समस्या न हो, लेकिन fanfold paper पर bulk output करते समय पेज की लंबाई line spacing के पूर्ण गुणज में होनी चाहिए ताकि alignment बना रहे, इसलिए यह महत्वपूर्ण हो जाता है
desktop publishing से कई दशक पहले तक payroll slip या bank statement जैसी computer printing इसका बड़ा उपयोग थीं
laser printer से पहले graphics output के लिए dot matrix printer इस्तेमाल होते थे, और वे भी fanfold paper के 6 lines per inch spacing के हिसाब से डिजाइन किए गए थे
इसलिए desktop publishing में 72 points per inch चुनने के पीछे backward compatibility का कारण जरूर रहा होगा, लेकिन यह शायद typesetting से ज्यादा पुरानी low-resolution computer printing तकनीकों के साथ compatibility के लिए था
दूसरी ओर Knuth के TeX का लक्ष्य phototypesetter था, इसलिए उसे पारंपरिक printing में इस्तेमाल होने वाले मापों से मेल खाना था
अमेरिका और ब्रिटेन की माप-प्रणालियों में measurement temperature थोड़े अलग तय थे, और दोनों standards पर खरा उतरने वाला block बनाने के लिए उस समय संभव सटीकता की लगभग अंतिम सीमा तक machining करनी पड़ती थी
Jo blocks के व्यापक होने की वजह यह थी कि Henry Ford को वे इतने पसंद आए कि Victor Kiam की तरह उन्होंने कंपनी ही खरीद ली
ओह, मैं तो समझता था कि point को ठीक 1/72 inch के रूप में परिभाषित किया गया है
Rich Text Format यानी RTF फ़ाइलों में ज्यादातर मापों के लिए “twip” नाम की एक दूसरी इकाई होती है, जो point का 1/20 है
उसका इतिहास तो नहीं जानता, लेकिन अगर point वैसा नहीं है जैसा मैं सोचता था, तो twip भी वैसा नहीं होगा, और यह सोचना कि errors accumulate होते जाते हैं, परेशान करने वाला है
लिंक गलत है, लेकिन पढ़ने में मज़ा आया
measurement units मॉडल की तरह होते हैं: वे सही हैं या नहीं, इससे ज्यादा यह मायने रखता है कि वे उपयोगी हैं या नहीं
अगर स्कूल असाइनमेंट में सिर्फ 12 point font माँगा गया है, तो उस संख्या का ठीक-ठीक मतलब क्या है, यह ज़्यादा महत्वपूर्ण नहीं है
अगर हवाई जहाज़ point per second की इकाई में उड़ते, तो शायद कोई ज्यादा standardized unit होती
सोचता हूँ कि अभी भी pt इस्तेमाल करने की वजह क्या है
इसका कोई फायदा है, या यह imperial system की तरह सिर्फ inertia से बना हुआ है, समझ नहीं आता
यह तो स्वाभाविक लगता है कि point में 72 points per inch होने चाहिए, क्योंकि 12 × 6 = 72
बल्कि हैरानी इस बात की है कि किसी ने इसे किसी और मान पर standardize किया
उसका मान लगभग 1/6 inch था, लेकिन वास्तव में अलग-अलग printing companies में यह थोड़ा-थोड़ा अलग था, और standard pica सबसे आम प्रचलित वास्तविक माप के हिसाब से चुना गया था