
เวอร์ชัน 0.3.0
สถานะ: การทดลองร่างที่ไม่เสถียร
สตริงเวอร์ชันซอฟต์แวร์โดยทั่วไปรวมถึงความหมายต่อไปนี้:
วิธี SEMVER ที่จัดตั้งขึ้นและใช้กันอย่างแพร่หลายในการกำหนดเวอร์ชันซอฟต์แวร์ความหมายใช้รูปแบบหมายเลขรุ่น MAJOR.MINOR.PATCH พร้อมมาตรฐานซอฟต์แวร์ API สำหรับค่าที่เพิ่มขึ้นในระหว่างกระบวนการพัฒนาซอฟต์แวร์ ข้อมูลเมตาเพิ่มเติมมักจะผนวกเข้ากับไวยากรณ์ SEMVER นี้เพื่อระบุความพร้อมของซอฟต์แวร์สำหรับการใช้งานทั่วไปโดยผู้ใช้ปลายทางเมื่อการทำงานดำเนินไปสู่เหตุการณ์สำคัญ (เช่น v1.2.0-alpha , v1.2.0-beta , v1.2.0-rc.1 , v1.2.0 v1.2.0-rc.2 , v1.2.0 ) โครงการที่สร้างสิ่งประดิษฐ์ไบนารีที่รวบรวมจากซอร์สโค้ดมักจะเชื่อมโยงฉลากเข้ากับสิ่งประดิษฐ์สร้างเพื่อสร้างบันทึกสถานะของซอร์สโค้ดในเวลาที่สร้าง (เช่น Git commit sha1 แฮชสตริง)
แนวคิดการกำหนดเวอร์ชันเหล่านี้ใช้กับการพัฒนาซอฟต์แวร์แบบอักษรและเป็นที่ต้องการในระหว่างกระบวนการพัฒนา อย่างไรก็ตามพวกเขาไม่ได้กำหนดทั้งหมดภายใต้ข้อกำหนดการกำหนดเวอร์ชันแบบอักษร Opentype สตริงเวอร์ชันซอฟต์แวร์แบบ TypeFace ถูกรวบรวมไว้ใน NameID 5 Record ของตารางชื่อ Opentype และบันทึก Fontrevision ของตารางหัว Opentype ระเบียนเหล่านี้ถูกกำหนดไว้ในข้อกำหนดของรูปแบบ opentype ดังต่อไปนี้และอธิบายในเอกสารแนวทางปฏิบัติที่ดีที่สุดในการพัฒนา SIL Font (แหล่งที่มา)
สตริงเวอร์ชัน ควรเริ่มต้นด้วยเวอร์ชัน 'ไวยากรณ์' (ตัวพิมพ์เล็กตัวพิมพ์เล็กหรือผสมกับช่องว่างระหว่าง "เวอร์ชัน" และจำนวน)
สตริงจะต้องมีหมายเลขเวอร์ชันของแบบฟอร์มต่อไปนี้: หนึ่งหลักหรือมากกว่า (0-9) ของค่าน้อยกว่า 65,535 ตามด้วยระยะเวลาตามด้วยตัวเลขหนึ่งตัวหรือมากกว่าของค่าน้อยกว่า 65,535 อักขระใด ๆ ที่ไม่ใช่ตัวเลขจะยุติจำนวนเล็กน้อย ตัวละครเช่น“;” เป็นประโยชน์ในการแยกข้อมูลเวอร์ชันที่แตกต่างกัน
การจับคู่ครั้งแรกในสตริงสามารถใช้งานได้โดยซอฟต์แวร์การติดตั้งเพื่อเปรียบเทียบเวอร์ชันแบบอักษร โปรดทราบว่าตัวติดตั้งบางตัวอาจต้องใช้สตริงเพื่อเริ่มต้นด้วย“ เวอร์ชัน” ตามด้วยหมายเลขเวอร์ชันดังกล่าวข้างต้น
(แหล่งที่มา)
กำหนดโดยผู้ผลิตแบบอักษร
(แหล่งที่มา)
ข้อมูลจำเพาะ Opentype กำหนดหมายเลขเวอร์ชันเป็น MAJOR.MINOR ไม่มีข้อกำหนดสำหรับหมายเลขเวอร์ชันแพ PATCH / BUILD หรือหมายเลขเวอร์ชันเมตาดาต้า การกำหนดเวอร์ชันแบบอักษรเบี่ยงเบนไปจากรูปแบบหมายเลขเวอร์ชัน SEMVER ซึ่งเป็นผลมาจากการประชุม Font Compiler เพื่อรวม Zero Padding ในหมายเลขรุ่นรอง MINOR แม้ว่านี่จะไม่ใช่กรณีใน NameId 5 Records แต่นี่เป็นรูปแบบที่สอดคล้องกันที่ใช้ใน head.fontrevision Record การตีความหมายเลขเวอร์ชันด้วยวิธีการนี้ไม่ได้ใช้งานง่าย สตริงหมายเลขเวอร์ชัน Version 1.1 , Version 1.01 และ Version 1.001 ทั้งหมดถูกกำหนดให้เป็น "แตกต่างกัน" แม้ว่าตัวเลขเหล่านี้อาจเป็นตัวแทนของขั้นตอนการพัฒนาเดียวกัน (เช่นการทำซ้ำหนึ่งครั้งนอกเหนือจากการเปิดตัวครั้งแรกครั้งแรก) ความแตกต่างของตัวเลขเวอร์ชันเหล่านี้เกิดขึ้นเนื่องจากการประชุมที่จัดตั้งขึ้นโดยผู้เขียนโครงการและโดยเครื่องมือที่พวกเขาใช้ในการรวบรวมแบบอักษรจากซอร์สโค้ดของพวกเขา คำจำกัดความของ Opentype ไม่ได้ระบุรูปแบบเพื่อระบุสถานะการพัฒนาของโครงการแบบอักษรที่เกี่ยวข้องกับเหตุการณ์สำคัญของรุ่นและไม่ได้กำหนดวิธีการในการรักษาข้อมูลเกี่ยวกับสถานะซอร์สโค้ดในเวลาที่สร้างภายในตัวอักษรสร้างสิ่งประดิษฐ์ การขาดมาตรฐานอย่างเป็นทางการเพื่อแก้ไขปัญหาข้างต้นซึ่งเป็นแรงผลักดันสำหรับข้อกำหนดนี้
ข้อมูลจำเพาะรุ่น Font Font (OpenFV) แสดงถึงส่วนขยายที่สอดคล้องกันของชื่อตาราง OpentYpe NameID 5 Record และ Opentype Head.FonTrevision ข้อมูลจำเพาะ OpenFV มีวัตถุประสงค์เพื่อทำหน้าที่เป็นมาตรฐานการกำหนดเวอร์ชันซอฟต์แวร์แบบอักษรสำหรับการพัฒนาการทดสอบการปล่อยและการใช้ซอร์สโค้ดแบบอักษรและสิ่งประดิษฐ์สร้าง (แบบอักษร) ที่ได้มาจากแหล่งที่มา ข้อกำหนดนี้กำหนดไวยากรณ์สตริงหมายเลขเวอร์ชันด้วยการสนับสนุนความหมายที่เก็บรักษาข้อมูลข้อมูลสำหรับทั้งนักพัฒนาและผู้ใช้
คำสำคัญ "ต้อง", "ต้องไม่", "จำเป็น", "จะ", "จะไม่", "ควร", "ไม่ควร", "แนะนำ", "พฤษภาคม" และ "ทางเลือก" ในเอกสารนี้จะถูกตีความตามที่อธิบายไว้ใน RFC 2119
สตริงเวอร์ชันในชื่อตาราง Opentype ID 5 บันทึกจะต้องกำหนดเป็น substrings semicolon dearimited ขององค์ประกอบข้อมูลบังคับและเพิ่มเติม
ไวยากรณ์ openfv ข้อมูลจำเพาะสำหรับองค์ประกอบย่อยของสตริงเวอร์ชันเต็มคือ:
[Font Version Number]; [Status/State Metadata]; [Other Metadata]
สตริงเวอร์ชันตัวอักษรต้องรวม:
สตริงเวอร์ชันตัวอักษรอาจรวมถึง:
สายย่อยหมายเลขฟอนต์หมายเลข:
MAJOR , ระยะเวลา (U+002E), ตัวเลขจำนวน MINORMINOR และเครื่องหมายอัฒภาค หมายเลขเวอร์ชัน MAJOR :
หมายเลขรุ่น MINOR :
MINOR หมายเลขรุ่น MINOR จะต้องมีค่าต่ำสุดของ 000 และค่าสูงสุด 999 State Metadata Substring:
a-zA-Z0-9._-[ เป็นอักขระเริ่มต้นและตัวคั่น ] เป็นอักขระสุดท้ายของสายย่อย เนื้อหาสตริงภายในตัวคั่นเหล่านี้จะถูกกำหนดให้เป็น "ป้ายกำกับสถานะ" ฉลากสถานะควรเป็น 50 อักขระหรือน้อยกว่าStatus Metadata Substring:
DEVRELEASE-dev-release ข้อมูลย่อยอื่น ๆ ของข้อมูลเมตา:
หมายเลขเวอร์ชันตัวอักษรในบันทึก Fontrevision ของตารางหัว Opentype:
MAJOR , ระยะเวลา, ตัวเลขหมายเลขรุ่น MINORMINOR ที่มีความยาวสามหลัก สำหรับหมายเลขรุ่น MINOR น้อยกว่า 100 ต้องใช้ช่องว่างภายในเป็นศูนย์ หมายเลขรุ่น MINOR จะต้องมีค่าต่ำสุดของ 000 และค่าสูงสุด 999MAJOR หรือหลังจากหมายเลขรุ่น MINORMAJOR.MINOR จะต้องมีจุดประสงค์เพื่อแสดงถึงเหตุการณ์สำคัญที่อาจนำไปใช้อย่างไม่สมบูรณ์ในแหล่งที่มาซึ่งกำหนดด้วยหมายเลขรุ่น MAJOR.MINOR หมายเลขรุ่น MAJOR.MINOR จะไม่ได้มีวัตถุประสงค์เพื่อแสดงสถานะซอร์สโค้ดในเวลาสร้างในการสร้างสิ่งประดิษฐ์และอาจไม่เป็นเอกลักษณ์ในการสร้างสิ่งประดิษฐ์เนื่องจากการทำงานจะดำเนินการเพื่อให้บรรลุสำคัญครั้ง MAJOR.MINORMAJOR ควรตั้งค่าเป็น 0 ในระหว่างขั้นตอนการพัฒนาก่อนการพัฒนาก่อนการเปิดตัวครั้งแรก หมายเลขเวอร์ชัน MAJOR 0 จะระบุขั้นตอนการพัฒนาก่อนการผลิตนี้MAJOR จะต้องตั้งค่าเป็น 1 ในเวลาของการเปิดตัวครั้งแรกถึงผู้ใช้ปลายทาง การแปลงจากหมายเลขรุ่น MAJOR 0 เป็น MAJOR หลักหมายเลข 1 จะระบุการรับทราบของผู้เขียนว่าซอร์สโค้ดและสร้างสิ่งประดิษฐ์ตรงตามคำจำกัดความของ OpenFVความหมายสำหรับการเปลี่ยนแปลงหมายเลขเวอร์ชันจะรวมถึงการเพิ่มขึ้นโดยค่า 1 ของ:
MAJOR สำหรับการเสร็จสิ้นของเหตุการณ์สำคัญเฉพาะโครงการและการเปลี่ยนแปลงที่เข้ากันไม่ได้ทั้งหมดที่เกิดขึ้นกับซอฟต์แวร์แบบอักษร (เช่นการกำจัดการสนับสนุนสำหรับช่วงรหัส Unicode ทั้งหมด)MINOR สำหรับฟังก์ชั่นการเปลี่ยนแปลง HotFix และการพึ่งพา ตัวอย่าง ได้แก่ : เมื่อหมายเลขเวอร์ชัน MAJOR เพิ่มขึ้นหมายเลขรุ่น MINOR จะถูกเปลี่ยนเป็นค่า 000
ตัวอย่างของชื่อตารางชื่อ ID 5 สตริงเวอร์ชันบันทึกที่ตรงตามข้อกำหนดของ OpenFV รวมถึง:
Version 1.001
Version 1.001; DEV
Version 1.001; RELEASE
Version 1.001; [abcd123]
Version 1.001; [abcd123]-dev
Version 1.001; [abcd123]-release
Version 1.001; [abcd123]-dev; here are metadata
Version 1.001; [abcd123]-release; here are metadata
Version 1.001; here are metadata
Version 1.001; here are metadata; here are more metadata
ตัวอย่างของตาราง head fontrevision record strings ที่ตรงกับข้อกำหนดของ OpenFV รวมถึง:
1.001
10.010
100.100
CC โดย 4.0