FMT Dosyasının Teknik Anatomisi: Satır Satır Çözümleme
Bu yazı, optik form şablonlarıyla düzenli çalışan teknik personel ve ölçme-değerlendirme sorumluları için yazıldı. Amacımız FMT dosyasının içindeki her alanın ne anlama geldiğini göstermek; böylece bir şablonun elinizdeki forma uyup uymadığını dosyayı açıp okuyarak anlayabilmeniz.
Genel yapı
FMT dosyası satır tabanlı düz metindir. Windows satır sonu (CRLF) kullanır ve karakter kodlaması genellikle Windows-1254 (Türkçe ISO-8859-9) olur — bu yüzden dosyayı UTF-8 varsayan bir editörde açtığınızda Türkçe harfler bozuk görünebilir. Yapı şöyledir:
[başlık satırı]
[alan tanımı 1]
[alan tanımı 2]
...
Başlık satırı
61=46=03=D=*= =
| Alan | Örnek | Anlamı |
|---|---|---|
| 1 | 61 | Formun toplam satır sayısı (ızgara yüksekliği) |
| 2 | 46 | Formun toplam sütun sayısı (ızgara genişliği) |
| 3 | 03 | Yazılıma özgü sürüm / form tipi göstergesi |
| 4+ | D=*= = | Ayraç ve varsayılan karakter tanımları |
Satır × sütun çarpımı, formun toplam okunabilir hücre sayısını verir. 61 × 46 = 2.806 hücre. Bu sayı formun ne kadar yoğun basıldığını gösterir ve doğrudan kayma toleransıyla ilgilidir: ızgara ne kadar sıkışıksa fotokopi kaynaklı esneme o kadar hızlı hataya dönüşür.
Alan tanımı satırları
Her alan tanımı satırı şu düzeni izler:
satırBaş = satırSon = sütunBaş = sütunSon = tip = zorunlu = karakterKümesi = X2 = alanAdı =
Gerçek bir örnek üzerinden gidelim:
24=33=02=09=S=D=0123456789=X2=KURUMKODU=
| Alan | Değer | Anlamı |
|---|---|---|
| satırBaş / satırSon | 24 → 33 | 10 satırlık dikey alan (0-9 rakamları için tam 10 satır) |
| sütunBaş / sütunSon | 02 → 09 | 8 sütun = 8 haneli kurum kodu |
| tip | S | Sayısal alan. K = karakter/harf alanı, H = yardımcı/hizalama |
| zorunlu | D | D = doldurulması gerekli, Y = isteğe bağlı |
| karakterKümesi | 0123456789 | Bu alanda kabul edilen değerler |
| alanAdı | KURUMKODU | Yazılımın raporlarda kullanacağı alan adı |
Cevap bloklarını nasıl tanırım?
Cevap blokları, karakter kümesi ABCD ya da ABCDE olan satırlardır. Soru sayısını bulmak için basit bir kural vardır:
- Sütun aralığı, seçenek sayısına eşitse blok dikey yerleşimlidir → soru sayısı = satır aralığı.
- Satır aralığı, seçenek sayısına eşitse blok yatay yerleşimlidir → soru sayısı = sütun aralığı.
Örnek:
42=61=17=20=K=Y=ABCD=X2=TURKCE=
Sütun aralığı 17-20 = 4 sütun, seçenek sayısı da 4 (ABCD). Demek ki dikey yerleşim: satır aralığı 42-61 = 20 soru. Yani bu satır, 20 soruluk dört seçenekli bir Türkçe testi tanımlıyor.
Tam bir örnek: LGS tek oturum formu
61=46=03=D=*= =
01=01=01=01=S=D=9=X2=SINIF=
24=33=02=09=S=D=0123456789=X2=KURUMKODU=
24=33=10=14=S=D=0123456789=X2=OGRENCINO=
37=46=02=12=S=D=0123456789=X2=TC=
03=06=21=21=S=D=5678=X2=SINIF=
18=18=10=12=K=Y=A B=X2=KITAPCIK=
04=33=25=46=K=D=ABCÇDEFGĞHİ...=X2=ADI=
42=61=17=20=K=Y=ABCD=X2=TURKCE=
42=61=38=41=K=Y=ABCD=X2=MATEMATIK=
42=61=27=30=K=Y=ABCD=X2=FEN=
42=61=43=46=K=Y=ABCD=X2=SOSYAL=
42=61=22=25=K=Y=ABCD=X2=INGILIZCE=
42=61=32=35=K=Y=ABCD=X2=DIN KULT=
Bu dosyayı okuduğumuzda şunları öğreniyoruz:
- Form 61 × 46 ızgara üzerine kurulu.
- Öğrenci 8 haneli kurum kodu, 5 haneli öğrenci numarası ve 11 haneli T.C. kimlik numarası kodlayacak.
5678karakter kümesinden anlaşılıyor ki form 5, 6, 7 ve 8. sınıflar için ortak basılmış.- İki kitapçık türü var: A ve B.
- Altı ders bloğu, her biri 20 soru → toplam 120 soruluk işaretleme kapasitesi.
Dikkat edilmesi gereken nokta: 120 soruluk kapasite, sınavın 120 soru olduğu anlamına gelmez. LGS 90 sorudur; yayınevi formu geniş bastığı için fazladan alan bırakılmıştır. Kullanılmayan alanlar boş kalır ve okumayı etkilemez.
Yardımcı alanlar ve ayraçlar
Bazı dosyalarda AYRAÇ, H2 ya da boş adlı satırlar görürsünüz. Bunlar veri taşımayan; okuma sırasında sütun hizalaması ve çıktı dosyasında alan ayrımı için kullanılan yardımcı tanımlardır. Silmeyin — çıktı biçimi bozulur.
Karakter kodlaması sorunu
FMT dosyaları Windows-1254 kodlamasıyla üretildiği için modern editörlerde Türkçe harfler bozuk görünebilir (ÖĞRENCİ yerine ÖÄRENCİ gibi). Dosyayı düzenleyecekseniz editörünüzün kodlamasını mutlaka Windows-1254 / ISO-8859-9 yapın ve UTF-8 olarak kaydetmeyin. UTF-8 kaydedilen bir FMT dosyası bazı okuma yazılımlarında ders adlarını bozuk gösterir.