WIF (Weaving Information File) là định dạng văn bản thuần, tổ chức theo từng dòng, dùng để trao đổi hình vẽ mắc giữa các phần mềm. Phiên bản 1.1 (ngày 20 tháng 4 năm 1997) là phiên bản hiện dùng để trao đổi.

Tài liệu này là bản tham khảo WIF 1.1 có chú giải. Các quy tắc định dạng lấy theo đặc tả năm 1997. Ghi chú mang nhãn Bower cho biết Bower và Trình xem WIF miễn phí triển khai các quy tắc đó như thế nào. Ghi chú Bower là tài liệu về cách triển khai, không thuộc đặc tả năm 1997. Bài File WIF là gì? là phần tổng quan, không thuộc đặc tả.

Ghi chú Bower dùng các thuật ngữ trạng thái sau:

  • Được hỗ trợ — trường hoặc mục được đọc, được ghi, hoặc cả hai.
  • Bị bỏ qua — trường hoặc mục có thể có trong file; Bower bỏ qua, và việc nhập file không vì thế mà thất bại.
  • Không xuất — Bower không bao giờ ghi trường hoặc mục này khi xuất file.
  • Tạm ngưng trong 1.1 — có trong văn bản năm 1997, nhưng không thuộc phạm vi trao đổi hiện nay.

1. Mục tiêu thiết kế

WIF được thiết kế để luôn có thể mở rộng, đọc được bằng trình soạn thảo văn bản và xử lý trên mọi hệ thống đọc được văn bản thuần.

Dữ liệu cấu trúc được lưu thành số thứ tự của go và bàn dận, phân tách bằng dấu phẩy, chứ không đóng gói thành các trường bit nhị phân. Về hình thức, file giống một file .INI của Windows: tiêu đề mục đặt trong ngoặc vuông và các dòng Key=value. Khác với file cấu hình private profile kiểu cũ của Windows 3.1, WIF không bị giới hạn 64K, và không thể dùng các API private profile của Windows để phân tích file. Cần có một trình phân tích cú pháp riêng.

2. Loại file

File WIF là văn bản thuần. Không có lớp vỏ nhị phân nào. Theo quy ước, phần mở rộng của tên file là .wif. Định dạng được nhận biết qua mục [WIF].

Phần mở rộng         .wif
Mã hóa ký tự         ASCII (trên thực tế chấp nhận cả UTF-8 không có BOM)
Ký tự xuống dòng     LF hoặc CRLF
Thứ tự               Thứ tự các mục và các khóa không quan trọng

Bower. Khi nhập và xuất, file .wif được xử lý như văn bản thuần.

3. Quy tắc từ vựng

Cú pháp được xác định theo từng dòng. Mỗi dòng là một dòng trống, một chú thích, một tiêu đề mục hoặc một cặp khóa/giá trị.

  • Dòng trống được bỏ qua.
  • Nếu ký tự đầu tiên khác khoảng trắng là ;, cả dòng là chú thích. Sau một số hoặc một giá trị boolean có thể có chú thích ở cuối dòng, thường đặt sau dấu ; thứ hai. Giá trị dạng văn bản tự do không được kèm chú thích ở cuối trên cùng dòng.
  • Tiêu đề mục có dạng [Section Name]. Tên mục được so khớp không phân biệt chữ hoa/thường. Theo quy ước, tên mục viết bằng chữ hoa.
  • Dòng gán có dạng Key=value. Khóa được so khớp không phân biệt chữ hoa/thường. Giá trị là phần còn lại của dòng sau dấu = đầu tiên.
  • Khóa trùng lặp trong cùng một mục là không đúng đặc tả. Phần mềm đọc file không được coi cả file là lỗi chỉ vì có khóa trùng; khi đó có thể giữ giá trị đầu tiên hoặc giá trị cuối cùng.
  • Thứ tự các mục và thứ tự các khóa trong một mục không quan trọng.

Đoạn dưới đây minh họa các loại dòng nói trên. Đây không phải là một hình vẽ mắc hoàn chỉnh:

; this line is ignored
[WEAVING]
Shafts=4
Treadles=4

Bower. Dòng trống và các dòng chú thích bắt đầu bằng ; được bỏ qua. Tên được so khớp không phân biệt chữ hoa/thường. Với các khóa thông thường, giá trị cuối cùng được dùng. Các dòng cấu trúc dùng số làm khóa. Khoảng trắng ở hai đầu giá trị được cắt bỏ. Chú thích ở cuối dòng không bị loại bỏ.

4. Giá trị boolean và ký hiệu

Các giá trị boolean được hiểu là đúng gồm true, on, yes và 1. Các giá trị được hiểu là sai gồm false, off, no và 0. Giá trị boolean không bắt buộc mà file không ghi thì được hiểu là sai, trừ khi một mục cụ thể quy định khác.

Bower. true, yes và 1 được coi là đúng. Mọi giá trị không rỗng khác đều được coi là sai. Bower không xử lý riêng on và off.

Kiểu ký hiệu mã hóa một ký tự hiển thị duy nhất, dùng thay cho một ô được tô:

=1        chữ số
=X        một ký tự
='X'      ký tự trong dấu nháy
=#219     mã ký tự 0..255

Dấu cách viết là ' ' hoặc #32.
Dấu thăng viết là '#' hoặc #35.

Bower. Ký hiệu chưa được triển khai. Hình vẽ chỉ hiển thị bằng màu. Các mục ký hiệu bị bỏ qua khi nhập, và Bower không bao giờ ghi chúng khi xuất.

5. Yêu cầu tối thiểu

Một file tuân thủ phiên bản 1.1 có [WIF] và [CONTENTS]. Mọi mục khác có trong file phải được liệt kê trong [CONTENTS] với giá trị true. Các mục không dùng có thể bỏ đi, hoặc liệt kê với giá trị false. Mục nào có mặt thì các khóa bắt buộc của mục đó cũng phải có mặt.

File có dữ liệu mắc go nhưng không có mục [WIF] không phải là tài liệu WIF 1.1 hợp lệ, kể cả khi một số công cụ vẫn cố đọc nó.

Bower. Nếu thiếu [WIF], việc nhập file không thành công. Khi nhập, [CONTENTS] không bắt buộc và Bower không kiểm tra mục này. Khi xuất, Bower luôn ghi cả hai mục và đánh dấu true cho mọi mục được ghi ra.

6. Các loại mục và dữ liệu thưa

Mục thông tin ghi các giá trị chung (tiêu đề, số màu trong bảng màu, số go và số bàn dận của khung dệt). Mục dữ liệu ghi các dòng cho từng sợi dọc và từng sợi ngang (mắc go, màu và các bảng liên quan). [CONTENTS] liệt kê các mục có trong file. Mục này không liệt kê [WIF].

Dữ liệu được lưu dạng thưa. Số sợi dọc và số sợi ngang lấy theo khóa Threads. Giá trị mặc định lấy từ [WARP] và [WEFT]. Ô cấu trúc mặc định là 0 (không dùng). Chỉ cần ghi những khóa khác với các giá trị mặc định đó. Khi đọc file, phần mềm làm ngược lại quá trình này.

Nếu tám sợi dọc cùng một màu và chỉ sợi dọc thứ 3 khác màu, màu chung lấy từ giá trị mặc định của sợi dọc, còn ngoại lệ được ghi bằng một dòng ghi đè duy nhất:

[WARP]
Threads=8
Color=1

[WARP COLORS]
3=2

Sợi dọc 1, 2 và 4–8 dùng màu số 1 trong bảng màu; sợi dọc 3 dùng màu số 2. Quy tắc này cũng áp dụng cho cấu trúc: thiếu một dòng mắc go nghĩa là sợi dọc đó không luồn qua go nào, chứ không phải chép lại sợi dọc trước.

Bower. Bower dùng số sợi, các bảng cấu trúc và bảng màu. Giá trị mặc định về khoảng cách và độ dày, cũng như các bảng độ dày và khoảng cách ghi thưa, chưa được triển khai. Cấu trúc mặc định là rỗng; các khóa cấu trúc bị thiếu vẫn để rỗng. Khi có bảng màu, giá trị mặc định Color của [WARP] / [WEFT] được áp dụng nếu chỉ số lớn hơn 0, sau đó mới áp dụng các giá trị ghi đè cho từng sợi dọc và từng sợi ngang.

7. Mục riêng

Các chương trình có thể lưu dữ liệu riêng mà không ảnh hưởng đến việc trao đổi file. Tên mục phải có một mã định danh nguồn duy nhất để mục của các nhà cung cấp khác nhau không trùng tên:

[PRIVATE <SourceID> <SectionName>]

Các dòng bên trong không được bắt đầu bằng '[' để phần mềm đọc file tìm được mục tiếp theo.

Bower. Bower bỏ qua các mục riêng và không bao giờ ghi chúng. Bower không định nghĩa Source ID riêng nào.

8. Danh mục các mục

Phần này liệt kê mọi mục có tên trong WIF 1.1 và trạng thái hỗ trợ của Bower cho từng mục. Khả năng trao đổi file với Bower phụ thuộc vào cấu trúc, màu sắc và phạm vi xuất file ở phần 10.

8.1 [WIF] — bắt buộc

Mục định danh, bắt buộc. File không có [WIF] không phải là tài liệu WIF 1.1 hợp lệ.

Khóa             Trạng thái   Mô tả
----             ----------   -----
Version          bắt buộc     ví dụ 1.1
Date             bắt buộc     ngày tháng, viết tự do
Developers       bắt buộc     liên hệ / tác giả
Source Program   bắt buộc     tên chương trình tạo file
Source Version   tùy chọn     phiên bản chương trình tạo file

Bower. Mục này bắt buộc khi nhập. Khi xuất, Bower ghi Version=1.1, Date=April 20, 1997, [email protected], Source Program=Bower và Source Version=1.0. Thiếu khóa nào trong [WIF] thì Bower vẫn nhập được file.

8.2 [CONTENTS] — bắt buộc trong 1.1

Mục lục: tên mục là khóa, true hoặc false là giá trị. Chỉ cần ghi true cho những mục có trong file. Được phép liệt kê mọi mục đã định nghĩa với true hoặc false, nhưng không bắt buộc.

Phần mềm đọc file có thể chỉ dựa vào CONTENTS để chọn những mục cần đọc.

Cờ thông tin:
  COLOR PALETTE, WARP SYMBOL PALETTE, WEFT SYMBOL PALETTE, TEXT,
  WEAVING, WARP, WEFT

Cờ dữ liệu:
  NOTES, TIEUP, COLOR TABLE, WARP SYMBOL TABLE, WEFT SYMBOL TABLE,
  THREADING, WARP THICKNESS, WARP THICKNESS ZOOM, WARP SPACING,
  WARP SPACING ZOOM, WARP COLORS, WARP SYMBOLS,
  TREADLING, LIFTPLAN,
  WEFT THICKNESS, WEFT THICKNESS ZOOM, WEFT SPACING, WEFT SPACING ZOOM,
  WEFT COLORS, WEFT SYMBOLS,
  PRIVATE <SourceID> <SectionName>

Tạm ngưng / dành riêng:
  TRANSLATIONS
  BITMAP IMAGE, BITMAP FILE, BITMAP IMAGE DATA

Bower. CONTENTS không bắt buộc khi nhập, và Bower không dựa vào CONTENTS để chọn phần cần đọc. Khi xuất, Bower ghi true cho mọi mục thực sự được ghi ra.

8.3 [COLOR PALETTE]

Khai báo số màu trong bảng màu và khoảng giá trị số của RGB. Các file cũ có thể dùng 0–999 thay vì 0–255; phần mềm đọc file phải quy đổi tỷ lệ.

Khóa       Trạng thái       Mô tả
----       ----------       -----
Entries    bắt buộc         số nguyên > 0, số màu trong bảng màu
Range      bắt buộc         min,max với max > min
Form=RGB   không dùng nữa   không ghi; bỏ qua nếu có

Với Range=0,999, dòng 1=999,0,0 trong bảng màu ứng với giá trị 255 của kênh đỏ ở dạng 8 bit. Với Range=0,255, dòng 1=255,0,0 không cần quy đổi.

Bower. Range được đọc (nếu thiếu, mặc định là từ 0 đến 255). Mỗi kênh được chuyển đổi bằng round((c − min) / (max − min) * 255), rồi giới hạn trong khoảng 0–255. Nếu max−min bằng 0 hoặc âm, việc nhập file không thành công. Bower không kiểm tra Entries. Khi xuất, Bower luôn dùng Range=0,255.

8.4 [WARP SYMBOL PALETTE] / [WEFT SYMBOL PALETTE]

Khóa      Trạng thái   Mô tả
----      ----------   -----
Entries   bắt buộc     số nguyên > 0

Bower. Bị bỏ qua. Không xuất.

8.5 [TEXT]

Siêu dữ liệu không bắt buộc về tác phẩm và người làm ra tác phẩm: tiêu đề, tác giả, thông tin liên hệ. Không khóa nào trong số này ảnh hưởng đến lưới hình vẽ mắc.

Khóa        Trạng thái
----        ----------
Title       tùy chọn
Author      tùy chọn
Address     tùy chọn
EMail       tùy chọn
Telephone   tùy chọn
FAX         tùy chọn

Bower. Bị bỏ qua. Không xuất.

8.6 [WEAVING]

Kích thước khung dệt và quy ước nâng/hạ go. Số go và số bàn dận có thể tăng lên nếu các mục cấu trúc dùng số thứ tự lớn hơn số đã khai báo ở đây.

Khóa          Trạng thái       Mô tả
----          ----------       -----
Shafts        bắt buộc         số nguyên > 0
Treadles      bắt buộc         số nguyên > 0
Rising Shed   tùy chọn         true = các go được liệt kê sẽ nâng lên
Profile       không dùng nữa   bỏ qua; không ghi

Quy ước nâng go (rising shed) nghĩa là các go được liệt kê trong thứ tự nâng go (hoặc được nâng qua bàn dận và cách nối go với bàn dận) sẽ nâng lên. Quy ước hạ go (falling shed) thì ngược lại: trên khung dệt, các go được liệt kê sẽ hạ xuống. Khi file quy định hạ go, các ô của thứ tự nâng go — hoặc của cách nối go với bàn dận — được đảo ngược sau khi đọc, để lưới bên trong phần mềm vẫn theo quy ước nâng go mà vải vẫn khớp với file.

Bower. Đọc Shafts và Treadles (nếu thiếu thì mặc định là 4) và tăng các giá trị này cho vừa với cấu trúc khi cần. Thiếu Rising Shed thì coi là true; nếu là false thì áp dụng phép đảo ngược đã mô tả ở trên. Khi xuất file, Bower luôn ghi Rising Shed=true và ghi Treadles=0 ở chế độ thứ tự nâng go. Profile bị bỏ qua.

8.7 [WARP] và [WEFT]

Hai mục này mô tả toàn bộ sợi dọc hoặc sợi ngang và giá trị mặc định cho từng sợi. Khi đã biết Threads, chương trình cấp phát đúng số sợi dọc hoặc sợi ngang đó, gán giá trị mặc định, rồi lấy giá trị trong các mục dữ liệu thưa (chỉ ghi những sợi có giá trị riêng) ghi đè lên giá trị của từng sợi (phần 6).

Khóa             Theo đặc tả         Mô tả
----             -----------         -----
Threads          bắt buộc            số sợi dọc hoặc số sợi ngang
Color            không bắt buộc      số thứ tự màu, hoặc số thứ tự + R,G,B
Symbol           không bắt buộc      kiểu ký hiệu
Symbol Number    không bắt buộc      số thứ tự trong bảng ký hiệu
Units            bắt buộc nếu có     Decipoints | Inches | Centimeters
                 Spacing/Thickness
Spacing          không bắt buộc      số thực ≥ 0
Thickness        không bắt buộc      số thực ≥ 0
Spacing Zoom     không bắt buộc      số nguyên ≥ 0
Thickness Zoom   không bắt buộc      số nguyên ≥ 0

Lỗi thời ở 1.1 (bỏ qua / không ghi):
  Colors, Palette, ColorMix

Với Color, dạng được ưu tiên khi trao đổi file là chỉ ghi một số thứ tự màu trong bảng màu. Một số file còn ghi thêm bộ ba RGB sau số thứ tự.

Color=2              ; mọi sợi dọc/sợi ngang mặc định dùng màu số 2 trong COLOR TABLE
Color=2,255,0,0      ; số thứ tự kèm RGB không bắt buộc — chỉ giữ số thứ tự

Nếu phần mềm chỉ hỗ trợ một trong hai giá trị khoảng cách (Spacing) và độ dày (Thickness) thì khi file có cả hai, ưu tiên Spacing. Phần mềm nào chỉ mô hình hóa độ dày thì nên ghi giá trị đó vào Spacing, hoặc ghi cả hai với cùng một giá trị.

Bower. Đọc Threads (nếu thiếu thì mặc định là 32 với sợi dọc và 48 với sợi ngang). Color lớn hơn 0 được đọc là một số thứ tự màu. Bỏ qua ký hiệu, khoảng cách, độ dày, hệ số phóng (zoom) và phần RGB ghi thêm sau Color. Khi xuất file, Bower ghi Threads, Color và Units=Centimeters.

8.8 [NOTES]

Văn bản tự do: mỗi dòng được đánh số và chứa một dòng chữ. Mục này không thuộc các lưới của hình vẽ mắc.

1=First line of notes
2=Second line

Bower. Bị bỏ qua. Không xuất.

8.9 [TIEUP]

Mỗi bàn dận liệt kê các go mà bàn dận đó nâng (theo quy ước nâng go, trước khi đảo ngược, nếu có). Mục này dùng cùng với mắc go và thứ tự đạp bàn dận khi file không ở chế độ thứ tự nâng go thuần túy.

Khóa     = bàn dận (1..n)
Giá trị  = các go, cách nhau bằng dấu phẩy
           chỉ ghi 0 nghĩa là không dùng
Dòng nào thiếu thì coi là không dùng

Ví dụ: 1=1,2  → bàn dận 1 nâng go 1 và go 2

Bower. Được hỗ trợ ở chế độ cách nối go với bàn dận. Chấp nhận giá trị gồm nhiều go. Khi xuất file, Bower ghi mỗi bàn dận một dòng.

8.10 [COLOR TABLE]

Danh sách màu của bảng màu. Khóa Color của sợi dọc và sợi ngang trỏ tới số thứ tự trong bảng này. Các số R,G,B nằm trong khoảng Range của [COLOR PALETTE].

Khóa     = số thứ tự trong bảng màu
Giá trị  = R,G,B trong khoảng Range của bảng màu

Ví dụ: một bảng màu, màu mặc định cho sợi dọc và hai sợi dọc được gán màu riêng:

[COLOR PALETTE]
Entries=2
Range=0,255

[COLOR TABLE]
1=200,40,40
2=40,40,200

[WARP]
Threads=4
Color=1

[WARP COLORS]
2=2
4=2

Sợi dọc 1 và 3 mặc định dùng màu số 1 trong bảng màu; sợi dọc 2 và 4 dùng màu số 2.

Bower. Được hỗ trợ, kèm cách quy đổi Range đã mô tả ở trên. Khi xuất file, Bower ghi mỗi màu sợi khác nhau thành một dòng trong bảng và luôn dùng Range=0,255.

8.11 [WARP SYMBOL TABLE] / [WEFT SYMBOL TABLE]

Khóa     = số thứ tự ký hiệu
Giá trị  = kiểu ký hiệu WIF (xem phần 4)

Bower. Bị bỏ qua. Không xuất.

8.12 [THREADING]

Go mà từng sợi dọc luồn qua. Một sợi dọc có thể luồn qua nhiều go.

Khóa     = sợi dọc (1..n)
Giá trị  = go, hoặc go,go,…
           1=1,5 nghĩa là sợi dọc 1 luồn qua go 1 và go 5
           0 nghĩa là không dùng
Dòng nào thiếu thì coi là không dùng

Bower. Được hỗ trợ, kể cả sợi dọc luồn qua nhiều go. Khi xuất file, Bower ghi mỗi sợi dọc một dòng.

8.13 Các mục theo từng sợi dọc và từng sợi ngang

Các mục này gán giá trị cho từng sợi dọc hoặc từng sợi ngang. Có ba nhóm: cấu trúc (thứ tự đạp bàn dận / thứ tự nâng go), màu và hình thức (độ dày, khoảng cách, ký hiệu).

Mục                     Giá trị            Mặc định nếu thiếu
---                     -------            ------------------
[WARP THICKNESS]        số thực ≥ 0        [WARP].Thickness
[WARP THICKNESS ZOOM]   số nguyên ≥ 0      [WARP].Thickness Zoom
[WARP SPACING]          số thực ≥ 0        [WARP].Spacing
[WARP SPACING ZOOM]     số nguyên ≥ 0      [WARP].Spacing Zoom
[WARP COLORS]           số thứ tự màu      [WARP].Color
                        (một số nguyên; bỏ qua phần R,G,B cũ ở cuối)
[WARP SYMBOLS]          số thứ tự ký hiệu  [WARP].Symbol Number

[TREADLING]             các bàn dận        không dùng (0)
[LIFTPLAN]              các go             không dùng (0)

[WEFT THICKNESS]        số thực ≥ 0        [WEFT].Thickness
[WEFT THICKNESS ZOOM]   số nguyên ≥ 0      [WEFT].Thickness Zoom
[WEFT SPACING]          số thực ≥ 0        [WEFT].Spacing
[WEFT SPACING ZOOM]     số nguyên ≥ 0      [WEFT].Spacing Zoom
[WEFT COLORS]           số thứ tự màu      [WEFT].Color
[WEFT SYMBOLS]          số thứ tự ký hiệu  [WEFT].Symbol Number

Thứ tự đạp bàn dận điều khiển go gián tiếp qua cách nối go với bàn dận: khóa là sợi ngang, giá trị là các bàn dận được đạp, ví dụ 5=1,2. Thứ tự nâng go điều khiển trực tiếp: khóa là sợi ngang, giá trị là các go được nâng, ví dụ 5=1,3. Một file thông thường chỉ dùng một trong hai cách điều khiển, không dùng cả hai (phần 8.14).

Bower. Hỗ trợ thứ tự đạp bàn dận, thứ tự nâng go và màu sợi dọc/sợi ngang. Các mục độ dày, khoảng cách, hệ số phóng và ký hiệu bị bỏ qua; Bower không bao giờ ghi các mục này.

8.14 Chế độ khung dệt, quy ước nâng go và hình vẽ kiểu dệt

Không có khóa mode=. Chế độ khung dệt được suy ra từ những mục cấu trúc có trong file.

Bower và Trình xem WIF miễn phí dùng quy tắc sau:

Nếu có [LIFTPLAN]
   và (thiếu [TREADLING] hoặc Treadles là 0)
thì coi là chế độ thứ tự nâng go
     (THREADING + LIFTPLAN)
ngược lại coi là chế độ cách nối go với bàn dận
     (THREADING + TIEUP + TREADLING)

Thứ tự nâng go ứng với máy dệt điều go: mỗi sợi ngang liệt kê các go. Cách nối go với bàn dận ứng với khung dệt có go và bàn dận: mỗi bàn dận chọn một cột trong lưới cách nối go với bàn dận, còn thứ tự đạp bàn dận là trình tự các bàn dận được đạp.

Khi Rising Shed là false, mọi ô của thứ tự nâng go (ở chế độ thứ tự nâng go) hoặc mọi ô của cách nối go với bàn dận (ở chế độ cách nối go với bàn dận) đều bị đảo ngược sau khi nạp các lưới. Mắc go và thứ tự đạp bàn dận giữ nguyên như trong file.

Rising Shed=true,  sợi ngang 1=1,2  → go 1 và go 2 nâng
Rising Shed=false, cùng dòng đó     → các go đó được lưu ở trạng thái hạ,
                                      các go còn lại chuyển thành nâng

File không lưu hình vẽ kiểu dệt. Sau khi nạp cấu trúc và áp dụng phép đảo ngược (nếu có), một ô trên mặt vải là ô nổi sợi dọc khi sợi dọc đó luồn qua ít nhất một go được nâng ở sợi ngang đó; nếu không, ô đó là ô nổi sợi ngang. Go được nâng lấy từ thứ tự nâng go, hoặc từ bàn dận đang được đạp và cách nối go của bàn dận đó. Các phần mềm tính lại hình vẽ kiểu dệt để hiển thị; không có mục hình vẽ kiểu dệt nào để xuất.

Bower. Bower nạp và hiển thị file theo đúng quy trình này. Trình xem WIF miễn phí cũng dùng những quy tắc về cấu trúc và màu này. Ở chế độ thứ tự nâng go, trình xem không hiển thị khối cách nối go với bàn dận đang trống và hiển thị số bàn dận là “-” ở bảng bên cạnh.

8.15 Các mục tạm ngưng và lỗi thời

Tạm ngưng ở 1.1:
  [TRANSLATIONS]
  [BITMAP FILE], [BITMAP IMAGE], [BITMAP IMAGE DATA]

Bị bỏ / lỗi thời trong phần mô tả của 1.1:
  mục Design, ColorMix, khóa Colors, khóa Palette,
  phần RGB ở cuối trong WARP/WEFT COLORS

Bower. Mọi mục trên đều bị bỏ qua; Bower không ghi các mục này. Nếu file có mục không xác định, việc nhập file không vì thế mà thất bại.

9. Giới hạn kích thước trong Bower và Trình xem WIF

Các giới hạn này không thuộc WIF 1.1. Khi nhập, kích thước được giới hạn để không file nào tạo ra được một lưới lớn không giới hạn. Giá trị vượt giới hạn được đưa về giới hạn gần nhất chứ không bị từ chối như một file không phải WIF.

Sợi dọc, sợi ngang   1 .. 4096
Go, bàn dận          1 .. 64

10. Phạm vi xuất file

File Bower xuất ra là một file WIF 1.1 đầy đủ theo quy ước nâng go, dành cho các phần mềm đọc được các mục chính dưới đây. Khi nhập một file rồi xuất lại, ghi chú, ký hiệu, khoảng cách và dữ liệu riêng của các hãng phần mềm trong file đó sẽ không còn.

  • [WIF], [CONTENTS], [COLOR PALETTE] với Range=0,255, [WEAVING] với Rising Shed=true
  • [WARP] và [WEFT] với Threads, Color (số thứ tự màu), Units=Centimeters
  • [COLOR TABLE], [THREADING], [WARP COLORS], [WEFT COLORS]
  • Hoặc [LIFTPLAN] và Treadles=0, hoặc cả [TIEUP] lẫn [TREADLING]
  • Không có các mục TEXT, NOTES, ký hiệu, khoảng cách, độ dày, dữ liệu riêng hay ảnh bitmap

11. Ví dụ

Các ví dụ dưới đây là những file WIF 1.1 đầy đủ, chỉ chứa cấu trúc và không có bảng màu.

11.1 Chế độ cách nối go với bàn dận

8 sợi dọc, 8 sợi ngang, 4 go, 4 bàn dận. Mắc go kiểu Straight Draw, cách nối go với bàn dận kiểu vân chéo và thứ tự đạp bàn dận lặp lại trình tự 4 bàn dận.

[WIF]
Version=1.1
Date=April 20, 1997
[email protected]
Source Program=Example
Source Version=1.0

[CONTENTS]
WEAVING=true
WARP=true
WEFT=true
THREADING=true
TIEUP=true
TREADLING=true

[WEAVING]
Shafts=4
Treadles=4
Rising Shed=true

[WARP]
Threads=8

[WEFT]
Threads=8

[THREADING]
1=1
2=2
3=3
4=4
5=1
6=2
7=3
8=4

[TIEUP]
1=1,2
2=2,3
3=3,4
4=1,4

[TREADLING]
1=1
2=2
3=3
4=4
5=1
6=2
7=3
8=4

11.2 Chế độ thứ tự nâng go

4 sợi dọc, 4 sợi ngang. Treadles là 0 và có [LIFTPLAN], nên file được đọc theo chế độ thứ tự nâng go. Mỗi sợi ngang liệt kê trực tiếp các go. Không có cách nối go với bàn dận, cũng không có thứ tự đạp bàn dận.

[WIF]
Version=1.1
Date=April 20, 1997
[email protected]
Source Program=Example

[CONTENTS]
WEAVING=true
WARP=true
WEFT=true
THREADING=true
LIFTPLAN=true

[WEAVING]
Shafts=4
Treadles=0
Rising Shed=true

[WARP]
Threads=4

[WEFT]
Threads=4

[THREADING]
1=1
2=2
3=3
4=4

[LIFTPLAN]
1=1,2
2=2,3
3=3,4
4=1,4

12. Phần mềm liên quan

Có thể mở file .wif trong Trình xem WIF miễn phí để xem hình vẽ mắc trên trình duyệt, hoặc nhập vào Bower để chỉnh sửa. Trình xem có nút “Mở trong Bower”.

13. Tài liệu tham khảo

Nguồn của phần mô tả định dạng. Các ghi chú có nhãn Bower trên trang này mô tả cách Bower nhập và xuất file; chúng không thuộc đặc tả năm 1997.

  1. Nielsen, Ravi và cộng sự. Weaving Information File (WIF) Specification, Version 1.1. 20 tháng 4 năm 1997. Những người đóng góp gồm Ravi Nielsen (Patternland / Maple Hill Software), Bob Keates (Fiberworks), Rob Sinkler (SwiftWeave) và các thành viên của danh sách thư WIF năm 1997. Toàn văn: http://www.tantradharma.com/maplehill/wif/wif1-1.txt.
  2. Nielsen, Ravi; Keates, Bob; Sinkler, Rob. Weaving Information File (WIF) Specification, Version 1.0. 3 tháng 3 năm 1996. Hiện nay các phần mềm trao đổi file theo bản 1.1, thay cho bản này.
  3. Asunder — Bower và Trình xem WIF miễn phí.