Make your own free website on Tripod.com
Last Modified : #!/usr/local/bin/perl print "Content-type: text/html\n\n"; $filename = $ARGV[0]; $last_mod = (stat( $filename)) [9]; #@weekdays = qw(sunday monday tuesday wednesday thursday friday saturday); #@weekdays = qw(อาทิตย์ จันทร์ อังคาร พุธ พฤหัสบดี ศุกร์ เสาร์); #@months = qw(january february march april may june july august september october november december); @months = qw(มกราคม กุมภาพันธ์ มีนาคม เมษายน พฤษภาคม มิถุนายน กรกฎาคม สิงหาคม กันยายน ตุลาคม พฤศจิกายน ธันวาคม); ($min,$hour,$day_of_month,$month,$year,$weekday) = (localtime($last_mod)) [1,2,3,4,5,6]; $month; #if ( $day_of_month < 10 ) #{ # $day_of_month = "0$day_of_month"; #} $year = $year + 1900 + 543; #if( $hour > 12 ) #{ # $hour = $hour - 12; # $ampm = "pm"; #} #else #{ # $ampm = "am"; #} if ($min < 10 ) { $min = "0$min"; } #$number_suffix = "th"; #$lastdigit = $day_of_month % 10; #if ($lastdigit == 1) #{ # $number_suffix = "st"; #} #elsif ( $lastdigit == 2 ) #{ # $number_suffix = "nd"; #} #elsif ( $lastdigit == 3 ) #{ # $number_suffix = "rd"; #} #print "$weekdays[$weekday]"; #print " "; print "$day_of_month"; #print "$number_suffix"; print " "; print "$months[$month]"; print " "; print "$year "; #print " "; #print "$hour:$min"; #print "$ampm"; print "\n";
การแสดงภาษาไทย

เรื่องนี้เรื่องสำคัญเลยหล่ะครับ ผมเคยปวดหัวกับเรื่องนี้อยู่หลายวัน ท่านเคยสังเกตุหรือเปล่าครับว่า เวบส่วนใหญ่
ของคนไทย มักใช้ฟอนท์ MS Sans Serif (ฟอนท์ที่ท่านอ่านอยู่นี่แหล่ะครับ) เป็นฟอนท์หลัก ในการแสดงข้อ
ความภาษาไทย เหตุผลน่ะหรือครับ ก็คือ ผู้เขียนเวบ ต้องการอำนวยความสะดวกให้ท่านน่ะสิครับ ไม่ต้องมาปรับ
ฟอนท์เวลาจะอ่านเวบ อีกทั้งสามารถทำให้เวบดูไม่ยืดยาวด้วย เนื่องจากระยะระหว่างบรรทัดของฟอนท์นี้ค่อนข้าง
จะชิดกันไม่ต่างจากฟอนท์ภาษาอังกฤษเท่าไรนัก

สมมุติว่าในขณะนั้นท่านใช้ NC (Netscape Communicator) อ่านเวบของ Yahoo อยู่ และฟอนท์ตอนนั้น
อยู่ใน Mode ของ Western ต่อมาท่านต้องการที่อ่านเวบของคนไทยบ้าง เมื่อเปิดมาปรากฏว่า ไม่สามารถอ่านได้
เนื่องจาก ข้อมูลภาษาไทยเป็นรหัส Ascii ที่ Western ไม่สามารถแสดงได้ (บางท่านเรียกว่า อักษรขอม) ท่านก็ต้อง
ปรับ NC ให้อยู่ใน Mode ของ User Defined (จะเป็นฟอนท์ไหน ขนาดเท่าไร อยู่ที่ท่านเป็นคนตั้งเองในเมนู
Edit > Preference > Fonts) พอปรับ Mode แล้ว ข้อมูลอาจดูไม่เป็นระเบียบอีก เนื่องจากท่านอาจจะตั้งฟอนท์
ให้มีขนาดใหญ่เกินไป (size > 1ุ6) ผู้เขียนเวบทั้งหลาย เลยเลือกที่จะมาใช้ฟอนท์ MS Sans Serif เพื่อแก้ปัญหา
ดังกล่าว

การใช้ฟอนท์ MS Sans Serif นี้ มีเทคนิคการใช้อยู่นิดหน่อยครับ ตอนผมหัดเขียนเวบใหม่ๆ ผมกำหนดลงไปเลย
ว่า Face = "MS Sans Serif" Size = "2" เมื่อผมนำเอามาทดสอบกับ Browser IE และ NC ปรากฏว่า
- IE แสดงข้อมูลถูกต้อง
- NC ใน Mode ของ Western ก็แสดงข้อมูลถูกต้องเช่นกัน แต่พอปรับ NC ให้อยู่ใน Mode ของ User De-
fined แล้ว NC ดันไปเอาฟอนท์ที่ผมกำหนดไว้ใน User Defined มาแสดง เช่นผมกำหนดฟอนท์ของ NC ใน
Mode ของ User Defined ไว้เป็น CordiaUPC Size = 16 --> NC จะไปเอาฟอนท์ CordiaUPC,16
มาแสดงข้อมูลของผมทำให้เวบดูไม่เป็นระเบียบ

วิธีการแก้ปัญหาของผมคือ ไปเปิดเวบของคนไทยที่มีชื่อเสียงหน่อย แล้วลองสลับ Mode ไปมา ปรากฏว่าข้อความ
ของเขาไม่เพี้ยนเท่าใดนัก ผมจึงทำการ Save As เวบของเขาเพื่อมาเปิดดูด้วย HTML Editor ซึ่งนั่งไล่ดูอยู่นาน
เหมือนกัน จึงเห็นความแตกต่างระหว่างเวบเขากับเวบผม จุดแตกต่างกันคือ เขากำหนด Size = "-2" แต่ของผมกำ
หนด Size = "2"

บางท่านยังอาจจะไม่รู้จักภาษา HTML ผมขอเกริ่นสักนิดหนึ่งครับ ข้อกำหนดของภาษา HTML ระบุว่า Font มี
อยู่ 7 ระดับ (1-7) Default Size = 3 แต่ก็มีข้อกำหนดเพิ่มขึ้นมาอีกว่า สามารถใช้ค่า (-7 ถึง +7) ได้เมื่อ Base
Font <> 3 ถ้าเราไม่ได้ไปยุ่งอะไรกับค่า BaseFont .. Browser จะทำการกำหนดให้ BaseFont = 3 ทันที

กลับมาที่ปัญหาเดิมครับ ผมกำหนด Size = 2 แล้ว NC แสดงข้อมูลใน Mode ของ Western ได้อย่างถูกต้อง
แต่แสดงข้อมูลไม่ถูกต้องใน Mode ของ User Defined

ผมลองเปลี่ยนค่าใหม่เป็น Size = 1 (เกิดจาก 3 ลบด้วย 2)
--> Mode ของ Western แสดงตัวอักษร MS Sans Serif เล็กลงมาหน่อย
--> แต่ใน Mode ของ User Defined ยังแสดงเป็นตัวอักษร CordiaUPC,16 อยู่อีก

ผมลองเปลี่ยนค่าใหม่อีกครั้ง คราวนี้เลือกเป็น Size = -2
--> Mode ของ Western แสดงตัวหนังสือ MS Sans Serif เท่ากับตัวหนังที่กำหนด Size = 1
--> พอปรับ Mode เป็น User Defined คราวนี้ NC แสดงตัวหนังสือ MS Sans Serif ที่มีขนาดใหญ่กว่า
ใน Mode ของ Western อยู่เล็กน้อย แต่ก็ยังทำให้เวบเป็นระเบียบอย่างที่ผมตั้งใจ

จุดที่จะทำให้ข้อความของเราเพี้ยนไปบ้าง เท่าที่ผมสังเกตุ มีดังนี้
- บรรทัดที่มีภาษาไทยอยู่รวมกับภาษาอังกฤษ --> มีภาษาอังกฤษตัวพิมพ์ใหญ่หลายตัว เนื่องจากตัวพิมพ์ใหญ่ จะ
ใช้พื้นที่การแสดงทางด้านกว้างมากกว่า
- ข้อความที่มีการเว้น Space ระหว่างข้อความทีละหลายๆ Space

ผลกระทบของการบังคับฟอนท์ให้มีขนาด Size = -2 สำหรับเวบนี้
- NC ไม่มีผลกระทบต่อการใช้ ^] (Increase Font) และ ^[ (Decrese Font)
- IE มีผลกระทบต่อการใช้เมนู View > Text Size > Larger, Largest โดย
Larger มีค่าเท่ากับ NC ใน Mode ของ User Defined
Largest ข้อความอ่านได้ แต่ไม่เป็นระเบียบ

ยังไม่จบแค่นี้

ข้อความที่ผมเขียนไว้ข้างบนของเวบเพจหน้านี้ เป็นประสบการณ์ตอนผมเริ่มหัดเขียนเวบได้ไม่นานนัก ซึ่งตอนนั้น
ผมก็นึกว่าเทคนิคนี้เป็นเทคนิคที่ดีที่สุดแล้ว แต่หลังจากที่ได้ไปเยี่ยมชมเวบภาษาไทยแห่งอื่นอีกหลายต่อหลายเวบ
ด้วยกันผมได้พบว่า ยังมีเทคนิคการเขียนเวบภาษาไทยที่สมบูรณ์ยิ่งกว่าที่ผมได้กล่าวมาแล้วข้างต้น

ผมเขียนข้อมูลไว้ในหน้า "การเขียนเวบภาษาไทย"

สำหรับผู้เริ่มเขียนเวบใหม่ๆ ลองไปอ่านดูก่อนก็ได้ครับ แต่ยังไม่แนะนำให้ทำตาม เนื่องจาก เทคนิคดังกล่าวพาดพิง
ไปถึงการใช้ CSS (Cascading Style Sheet) เข้ามาช่วยในการเขียนเวบ ซึ่งผมเกรงว่า ท่านเพิ่งเริ่มศึกษาเรื่อง
การเขียนเวบ หากไปบริโภคข้อมูลที่อยู่ในระดับสูงกว่าระดับพื้นฐาน อาจจะเกิดการสับสน

ผมค่อนข้างให้ความสำคัญของการเรียนรู้แบบเป็นขั้นเป็นตอนค่อนข้างมาก เริ่มจากง่ายๆก่อนดีกว่าครับ ในตอนแรก
เขียนเวบภาษาไทย แบบบังคับฟอนท์ให้เป็น face="MS Sans Serif" size = "-2" ไปก่อนดีกว่า เมื่อเข้าใจเกี่ยว
กับพื้นฐานของภาษา HTML หมดแล้ว ค่อยไปศึกษาเรื่อง CSS และเมื่อรู้เรื่องแล้ว ค่อยนำเทคนิคการเขียนเวบภาษา
ไทยที่ผมกล่าวถึงไปใช้

อย่านำไปใช้โดยที่ท่านเองก็ยังไม่เข้าใจว่ามันทำงานอย่างไรนะครับ เพราะเมื่อใดก็ตามที่เกิดปัญหาขึ้นกับเวบของท่าน
ท่านจะแก้ไขปัญหาเหล่านั้นด้วยตัวเองไม่ได้