* updated by Kii Ali, 12-11-2001 ──────────────────────────── MapInfo 4.0 測試報告 ──────────────────────────── 新功能、新介面、相容性與 中文下的完全解決方案 黃國書•師大地理所 如果您有使用 GIS 相關軟體的經驗,這篇報告應值得您一讀。 MapInfo 4.0 版在95年的 12 月 13 日推出, 這是 for Win95 本,到目前也才剛過一個月而已。GIS 軟體對大家而言或許是一 較陌生的領域,如果能夠藉由這個小小的報告與評論,當做您跨 門的第一步,那將是筆者的榮興。 本文中由於牽扯到一些 Win95 與 Win31 上的功能,在系統設定 win.ini 和 system.ini 上提出了一些新看法,尚祈各路高手 不吝指正。而最重要的,4.0 版的 Layer Control 功能在中文 ndows 上的顯示不正確問題,本篇報告將為您完全解決。 、目次 ====== 一、目次 一、聲明 二、前言 三、測試平臺及軟硬體 1.軟體 2.作業系統 3.硬體 四、黃色小標籤及浮動式工具列 五、MapInfo 系統概觀 1.各版之間的差距 2.安裝程式 3.系統耗用資源 4.速度實測 5.MapInfo INI 啟始設定檔 6.緊抱微軟大腿的產品策略 7.開放式的資料庫聯結 六、Layer Control 的嚴重問題與解決方案 1.使用者友善介面 2.選擇盒的顯示方式 3.選擇盒的顯示位置 4.解決方案之一 5.解決方案之二 6.解決方案之三 7.解決方案之四 8.字形問題的再探討 9.小結 七、Win95 下的捷徑選單 八、支援 OLE2 的拖曳功能 九、更方便使用的地圖符號 十、中文化的一些問題 1.主程式中文化 2.選單中文化 3.選單中文化的陷井之一 4.選單中文化的陷井之二 5.選單中文化的陷井之三 十一、選單的迷思 1.沒有開啟工作區的圖示 2.圖示耗用 GDI 資源 3.4.0 正式版 Help 選單 4.圖示風格不一致的 Redistric 十二、MapInfo 其他可用資源 1.免費軟體 2.相關程式 3.常用問題集 4.光碟版所附送的漂亮地圖 十三、結論─要不要升級? 十四、有關作者 一、聲明 ======== 本文同步發表於九○網路。 歡迎在電子網路上,包括 InterNet 及民間 BBS 做非商業性引用,而無須通知作者。 其他引用方式務請 獲得作者的書面同意。 二、前言 ======== 在發表這份測試報告之前,我想最感謝的大概就是師大地理系的 周學政老師了。 除了惠予借出 MapInfo 3.0 和 4.0 beta12 外,連 剛到沒多久的 4.0 正式版老師都沒玩熱就被我借走了。 但這還不如 他的寬容大度, 容忍筆者許多乖張和怪異的行徑, 諸如帶著 Note Book 就把網路上辛苦搜集的資料和種種東西抓走, 老是和老師沒大 沒小的討論電腦事務或是雜七雜八的使用心得,再不然就是弄出各式 各樣令人頭痛的中文化版本等等。 MapInfo 4.0 最頭痛的 Layer Control 在中文版 Windows 造成 selectable box 位置不對(英文版 Win31 Win95 皆無此問題),在 Win31 出現三列或在 Win95 出現二列選擇盒的情形, 也是在周老師 提示是 Font 的問題後,筆者才追到原始碼而獲完全解決。無論您是 在 Win31 或是 95 下使用 MapInfo,這問題將不再困擾您。 只不過 為了想如何在中文視窗正常跑 MapInfo 4.0,整整一個星期的晚上沒 好好睡了, 中英文版 Windows 的各種字形混合使用排列組合換來換 去, 費盡心思去改 MapInfo 程式碼, 螢幕解析度調整從 640x480, 800x600, 1024x768 切來又切去,加上不時的當機和 GPF...:( 如果您還覺得這篇小報告對各位有那麼一點幫助,這功勞該是屬 於周老師的。這篇小報告雖然高達一萬六千字,但無意代替英文的升 級指引,其他沒提到的, 請親洽以下找 Free MapInfo v.4 Upgrade Training Guide 的文章。 http://www.mapinfo.com/free/free.html#file1 三、測試平臺及軟硬體 ==================== 1. 軟體 ------- MapInfo 3.0 05-20-94 MapInfo 3.0.2 09-11-94 MapInfo 3.0.5 09-17-95 取自 Patch 版本 MapInfo 4.0 beta 12 07-25-95 包含16bit 和 32bit 版本 MapInfo 4.0 Professional 12-13-95 包含16bit 和 32bit 版本 2. 作業系統 ----------- Windows 3.1 中文版 OLE2 版本 OLE2 2.03 + win32s 1.30 3D 控制版本 CTL3DV2 2.26 及 2.20, 2.10 Windows 3.1 , 3,11 英文版 Windows for Workgroups 3.11 英文版 Windows 95 中文版 3. 硬體 ------- Intel 386-33 + 4M RAM + ET4000AX (別笑掉大牙了) Cyrix 486-25 + 8M RAM + Cirrus GD6412 (筆記型電腦) UMC U5S-40 + 17M RAM + S3-805P AMD DX4-100 + 17M RAM + ET4000w32p 四、黃色小標籤及浮動式工具列 ============================ 進到 MapInfo 4.0 的第一印象, 就是畫面圖示 Icon 變多了。 除了在 3.0 可以看到的 "Main" 和 "Draw" "MapBasic" 等圖示群組 外,也多了另一列 "Standard" 有關檔案和 "ODBC" 資料庫存取的工 具列。 當滑鼠游標移到每個 Icon 下,停留超過 0.5 秒就會多個黃 色小標籤 (Tooltips), 下方的狀態欄 (Status bar) 也會隨之出現 對應的求助訊息。3.0 版的都是非得按下圖示按鈕才能在狀態欄知道 確切功能,更沒有黃色小標籤這種功能了。這對使用者是的確是頗為 方便的改進。 浮動式工具列則讓您與 MS Office 系列有似曾相似的感覺。 所 有的工具列可以合併在選單欄成為固定式,或是拉到螢幕其他位置成 為浮動式,不像 3.0 版只能是浮動式,編輯視野亦擴大不少。 不過這些功能的出現似乎稍嫌晚, 早有許許多多的 Windows 的 軟體, 甚至包含一些 Shareware 都不可免俗的早有 Tooltips 的功 能囉。至於它號稱的 Dockable Toolbars 則只能 Dockable,若要使 某個 Icon 消失或是增設,只能去改 Mapinfow.mnu 有關 Icon 的區 段, MS Office 系列的「自訂工具列」則能很隨意拖曳所要的 Icon 到工具列上。 這對 MapInfo 所宣稱要緊密與 OFFICE 系列相容的政 策,似乎仍有一段差距, 或許 GIS 的使用者不會像文書處理的使用 者,如此無聊的把 Icon 自訂的拉來拉去?使用者只能設定這個工具 列是不是要出現,是固定式或浮動式罷了。每個 Icon 的定義似乎在 MapInfo Professional Reference 也找不到。 Mapinfow.mnu 選單的設計還有不少問題,我們留待後面再談。 五、MapInfo 系統概觀 ==================== 當您到 http: //www.mapinfo.com/mipro/mipro.html, 將可看 到下列廣告: "The speed you crave... the new features you need... the enhancements you want. They're all here in the new MapInfo Professional!" 果真是這樣子嗎? 1.各版之間的差距 ---------------- 3.0 和 3.0.2 幾乎沒有差異, 除了 3.0 不要 key, 而 3.0.2 要 key 之外。3.0.5 則是另一個小修正 Patch 檔,發表於去年的九 月十七日, 讓使用者自行改版,據前一版的 FAQ 所稱除了修正一些 小 BUG 外,該版更相容於 Win 95/NT 環境, 但這份 FAQ 對 Win95 上的長檔名和 OLE2 支援則是隻字未提。 4.0 版的 beta 12 不用 key,4.0 正式版除了要 key 外,另外 在 ODBC 的功能增加「更改 ODBC 表符號」。也有人的眼睛觀察較細 , 說 MapInfo 3.0 一進入的彩虹 Icon 有八條,4.0 測試版彩虹只 剩下六條,縮小後的 Icon 連灰底也拔掉了;4.0 正式版連進入程式 的灰底彩虹招牌都換了,設計的比較漂亮,六條彩虹還在,背景由灰 色底換成歐洲地圖, 於是就有一些好事者會猜想, 是不是 MapInfo 公司核心人員改組,從八人變成六人了(笑)。 3.0.5 的 Patch 很可惜的無法在 www.mapinfo.com 取得,請移 駕至 MapInfo "maplication" programs,那裡 GIS 的好東西不少, 資源甚至比 www.mapinfo.com 還要多。位址如下: ftp://ftp.csn.org/MapInfo 2.安裝程式 ---------- 4.0 beta 和正式版的安裝程式很幸運的都不用 key 就可以安裝 。 beta 版的安裝壓縮檔大約 12MB,4.0 大約是 14MB,兩個版都會 詢問要安裝在 Windows 3.1 或 95/NT 的平臺,但即便選了 NT 版, 在 win 3.1 執行時安裝程式不會幫你解開和安裝 32bit 的程式。安 裝程式也不會如同微軟所出的其他程式, 如 Office 或 Works 之類 ,會自動到 Win.ini 裡抓 [MS User Info] 這個區段。如下所示: [MS User Info] DefName=黃國書 DefCompany=師大地理所 事實上, 即使在 Windows 3.1 加裝了 win32s (一個可以讓 Win31 模擬跑 32bit Win App 的程式),跑 MapInfo 32bit 版仍會 出現 MSVCRT20.DLL not found 之類的訊息。 把 MSVCRT20.DLL 從 Win95 的目錄裡抓來再執行一次,只會出現 MSVCRT20.DLL 不能相容 於此版的 Win32s 之類的訊息, 哎, 只好死心囉,乖乖的換 Win95 吧。 這裡所用的 win32s 版本為 1.30.166,是目前的最新版本,不 曉得 Micro$oft 會不會再出新版? 3.系統耗用資源 -------------- MapInfo 4.0 比 3.0 更明顯的耗用資源。 兩個版本使用的 GDI 資源( Graphics Device Interface,圖形裝置介面)在程式結束後 並不會全部歸還,USER 資源則會全部歸還,測試數據如下: MapInfo 3.0 MapInfo 4.0 (16bit) USER GDI USER GDI 使用前 85 85 85 85 程式載入 79 70 71 65 程式結束 85 81 85 81 這些數據是在 17M RAM 的主機上用 Windows 3.1 測試的,雖然 是比 OFFIC 之類如 WORD EXCEL 消耗資源要少,但以 4.0 而言已相 差不遠, 而這還是尚未打開 Map Browser Graph 等等 window 的情 形,使用者若多開幾個 TASK,用 Excel 或 Word 來做 OLE2 物件聯 結,往往造成資源耗盡的窘境。 筆者在測試過程曾常常碰上 GDI 降 到 20% 以下,甚至有到零的情形, 滑鼠和畫面顯示完全不正常,最 後連 Windows 都無法結束,只有按 RESET 了事。似乎很無奈的證明 一件事: 若要它運作很順, 開的 TASK 愈少愈好, 單工 (Single task) 最沒有問題。:( 還有一個,那就是提醒筆者該換 Win95 了。 4.速度實測 ---------- 如同 www.mapinfo.com 所宣稱 "The speed you crave" 讓您渴 望的速度(還好不是寫 the speed you crazy),在 95 平臺上跑的 MapInfo 32bit 的確不錯,但 16bit 的話嘛.. 請看如下 測試TABLE MapInfo 3.0 MapInfo 4.0(16bit) OCEAN + WORLD 9s/29s 9s/29s + GRID30 + 全螢幕重繪 ADMIP + TRAF1 6s/18s 6s/18s + TRAF2 + 全螢幕重繪 單位均為秒 (s),前者 / 後者的數據是在 U5S-40/CyrixSLC-25 上執行。 為求公平起見,都把圖檔丟進 RAMDISK 了,看來兩版的效 率幾乎一樣。 但在硬碟上的實測常是 MapInfo 3.0 稍稍快一點點, 快的程度亦不甚明顯。若是在學校的機器,可能就不會如同筆者這裡 的牛步吧?(笑 ) 玩 GIS 還用這樣的爛機器,別讓您笑掉大牙了。 筆者絲毫不能同意其廣告所宣稱的結果,程式換了新的繪圖引擎 就能使工作獲得巨大改善,32bit 版表現不錯,卻也沒有理想化的達 到兩倍以上的繪圖速度,而取決於顯示卡上的硬體。筆者雖然也贊同 使用者應該升級,但升級的原因將不會是 "The speed you crave.." 5.MapInfo INI 啟始設定檔 ------------------------ 其實這點可說是吹毛求疵,但筆者不得不提。MapInfo 的啟動設 定檔其實分成三個。MapInfo.ini 放置有關註冊資訊和啟動目錄,為 文字檔; Mapinfow.prf 則是使用者設定選項,4.0 版中增列到那裡 找尋各式目錄的選項,為 HEX 檔。Mapinfow.wor 則是程式結束時最 後圖檔的狀態,也是文字檔。 以下所列出是 MapInfo.ini 的檔案內 容。 若是使用正式版,區段名稱會換成 [MI Professional Current Version],多個 Prefessional 字樣,除此之外沒有任何差別。 [MI CurrentVersion] ProgramDirectory=C:\MI4B_16 RegisteredUser=黃國書•師大地理所 RegisteredOrganization=黃國書•師大地理所 ProductId=68423008 Version=4.00 三個為什麼不合併成單一的 INI 文字檔呢? 而且這三個同樣都 置在 Windows 目錄底下, 增加了檔案管理的困擾。 若說是顧及與 3.0 的相容,則 Mapinfow.wor 須手動去改版本號碼,Mapinfow.prf 某些東西還有用,MapInfo.ini 則是完全對 3.0 不相容的了。 對於 我們這些會修改內部程式的人而言,反而造成困擾。如果你也去看看 Mapinfw.prf 的內容, 就會發覺裡面放了一些已開過而不會用到的 TAB 檔,跟 Mapinfow.wor 的內容也不一致,實在讓人搞不清楚用意 何在。 現代的 Win AP 應用程式, 已經很少有人這樣設計 INI 檔的了 。MapInfo 似乎是少數中的例外。 6. 緊抱微軟大腿的產品策略 ------------------------- 只要您上過 http://www.mapinfo.com, 您將強烈的感受到這種 感覺。除了支援 Win95 長檔名支援 OLE2 之外,在 www 在產品包裝 甚至在 CD-ROM 的印刷面和說明書上, 處處強調 Windows 95 and Office 7.0 compatible,不忘在產品上多貼幾個代表 Win95 的窗子 和代表 OFFICE 的四個拼圖形 MARK。 在 WWW 裡甚至擺明了 The MapInfo/Micro$oft Relationship, 原來為 Excel 7.0 中的 Data Map 也是 MapInfo 所做,順便為它自己促銷。 甚至 Help 裡都有一 項是直接連上 MSN 的 MapInfo forum。 沒什麼不好, 或許對一般使用者反而是益處多多。 這代表使用 MapInfo 的人不必再麻煩的考慮相容性問題,跟著主流派走就對了。 使用者將來亦得跟著 MapInfo 一樣靠 Micro$oft 提供完全解決方案 。MapInfo 則藉著 Micro$oft 的推力搶佔低階 GIS 市場。 7.開放式的資料庫聯結 -------------------- 新推出的 ODBC,除了針對 remote database 大型資料庫的市場 外, 也有向 Access 和 Excel 靠攏的意味,這點在它的 Upgrading Guide 第 29 頁可以相當清楚的看到這種企圖。 ODBC 因個人能力所限沒辦法做太多實測。 它所附上的查詢工具 是向 Q+E software 購入而得。MapInfo 4.0 光碟版附上的 ODBC 驅 動程式分為 Win31/Win95/NT 三個版本。 其實您若有 MODEM 的話, 筆者建議您可到 MSDL 微軟檔案下載服務中心, 取得新版中文 ODBC 2.0 驅動程式, 包括 16bit 和 32bit 版本。 ODBC 2.5 驅動程式 Patch 亦可取得,可惜只有 32bit 程式英文版。 臺灣微軟 MSDL 的 電話是 02-5043150。 6.Layer Control 的嚴重問題 ========================== 眾所皆知,MapInfo 裡的 Layer Control,是極其常用的工具。 MapInfo 4.0 的 Layer Control 相較於 3.0 有極大的改進,就連在 WWW 上也不忘廣告 " Our user friendly interface allows you to edit multiple layers..." 諸如此類等等。 1.使用者友善介面 ---------------- 真是「使用者友善介面」嗎? 弟看過幾乎所有用過 4.0 的人, 在剛開始使用時都會傻傻的用滑鼠指標去按「眼睛 (Visiable) 」「 鉛筆 (Editable) 」「滑鼠箭頭 (Selectable) 」「黃色標籤 (Auto Label) 」等等 Icon,按老半天才發覺又出現 tooltips 黃色小標籤 了,此 Icon 可不是繪圖工具 Icon,是怎麼按也不會動的。 哎,又 上當了。 另外,其實在這裡也可以用鍵盤選選擇盒,分別是 Visiable[V] , Editable[E], Selectable[S], Auto Label[B], 這大概是未公佈 的用法,使用手冊隻字未提,筆者在程式碼裡找到的。 這四個 Icon 所跳出來的黃色小標籤, 底下的狀態欄都對應到 "Layer Control" 的說明,MapInfo 程式裡也只有這四個黃色小標籤 沒辦法中文化,實在是沒什麼意思。 2.選擇盒的顯示方式 ------------------ 英文是 selectable box,這是在 Layer control 用來選擇各選 項的小方格, 各位姑且將就這個譯名吧。 這一類應可歸類於 check box, 中文稱為核對盒或核對方塊。 它的選擇盒並非如一般程式的 check box 用 ctl3dv2.dll 來控制,即使您的 Windows\system\ 目 錄沒有 ctl3dv2.dll,MapInfo 會出現錯誤訊息告訴您沒有正確安裝 ctl3dv2.dll, 但一樣能夠執行,只是其他的 3D 效果將會消失而已 。此處的選擇盒用滑鼠選後,選擇盒外框常會「顫動」兩三下才會停 止,時間大概是 0.3 秒,讓使用者的眼睛不甚舒服。 3.選擇盒的顯示位置 ------------------ 這是 MapInfo 4.0 在中文 Windows 下執行的最大問題。在英文 版 Windows 可正常顯示四列選擇盒,但在中文 Win31 之下只剩下三 列, 中文 Win95 則只剩下二列,如下圖所示「眼睛」「鉛筆」「滑 鼠箭頭」「黃色標籤」,及其下方的選擇盒。Layer Control 是極其 常用的功能。解決方案如後,共有四個,若您看得實在不懂或是看得 頭昏眼花,請直接跳最後的結論,那裡將只列出解決方法而不多加以 解說。 <<在 windows 英文版執行情形>> ────┐ Layer: i C u OK │ ┌────────────────────┬─┐ ────┘ │ Comestic Layer @ @ □ @│▲│ Cancel │ │ ADMIP 瞱x@│ ────┘ │ ADMIT □ 瞱x@│ Display│ │ TRAF1 □ 瞱x@│ ────┘ │ ...... ...........│▼│ Label │ └────────────────────┴─┘ ────┘ <<在 win31 中文版執行情形>> ────┐ Layer: i C u OK │ ┌────────────────────┬─┐ ────┘ │ Comestic Layer @ □ @│▲│ Cancel │ │ ADMIP 瞱x@│ ────┘ │ ADMIT □ 瞱x@│ Display│ │ TRAF1 □ 瞱x@│ ────┘ │ ...... ↑ ........│▼│ Label │ └────────────────────┴─┘ ────┘ │ └─這一列選擇盒不見了 <<在 win95 中文版執行情形>> ────┐ Layer: i C u OK │ ┌────────────────────┬─┐ ────┘ │ Comestic Layer @ □│▲│ Cancel │ │ ADMIP 瞱x@│ ────┘ │ ADMIT □│@│ Display│ │ TRAF1 □│@│ ────┘ │ ...... ↑ ↑......│▼│ Label │ └────────────────────┴─┘ ────┘ │ │ └─這兩列選擇盒不見了 4.解決方案之一 -------------- 師大地理系周學政老師提出,把螢幕解析度調到 800x600 Large Font 選項, 這樣就會稍稍看到第四列方格, 在 Win95 的控制臺把 Font 大小調到 150% 就可以準確的對上四列方格了。 周學政表示是 Font 出了問題。 但不知是中文 Windows 出問題,還是 MapInfo 本 身的問題? 這樣不失為一解決方案,但是麻煩,每個解析度所需調整字形大 小都不同,調整後其他程式的顯示就完蛋了,不是這個對話窗太大就 是那個東西變形。對一般使用者而言,實在沒有耐性在執行 MapInfo 4.0 時就得在 Win95 裡「翻箱倒櫃」的找調整螢幕解析度的選項。 5.解決方案之二 -------------- 對一般人而言是這是不太麻煩的方法。希望這些說明對大家不太 複雜,改法實在簡單的要命,觀念卻比較難。 一般的 VGA 卡在解析 度 800x600 或 1024x768 的解析度下都有兩種選項:Large font 和 Small font。 在 Small font 時,Win.ini 的 [font] 區段如下: MS Sans Serif 8,10,12,14,18,24 (VGA res)=SSERIFE.FON Courier 10,12,15 (VGA res)=COURE.FON MS Serif 8,10,12,14,18,24 (VGA res)=SERIFE.FON Symbol 8,10,12,14,18,24 (VGA res)=SYMBOLE.FON Small Fonts (VGA res)=SMALLE.FON 在 Large font 時,Win.ini 的 [font] 區段將改變如下: MS Sans Serif 8,10,12,14,18,24 (8514/a res)=SSERIFF.FON Courier 10,12,15 (8514/a res)=COURF.FON MS Serif 8,10,12,14,18,24 (8514/a res)=SERIFF.FON Symbol 8,10,12,14,18,24 (8514/a res)=SYMBOLF.FON Small Fonts (8514/a res)=SMALLF.FON 我們可以看到, 其實只有檔名字尾是 E 的 Small font 變成字 尾是 F 的 Large font, 那麼... 在 Layer Control 裡所顯示的字 形是 MS San Serif 無櫬線字體的話, 是不是可以在環境是 Small font 時, 把 MS Sans Serif 從原本是小的 Sserife.fon 換成大的 Sseriff.fon?換完之後 [font] 區段如下所示 只不過在這裡改一個字母 ───────────┐ D MS Sans Serif 8,10,12,14,18,24 (VGA res)=SSERIFF.FON Courier 10,12,15 (VGA res)=COURE.FON MS Serif 8,10,12,14,18,24 (VGA res)=SERIFE.FON Symbol 8,10,12,14,18,24 (VGA res)=SYMBOLE.FON Small Fonts (VGA res)=SMALLE.FON 換完之後, 在 Win 3.1 下,四列選擇盒全部出現!為了這個答 案,不知耗掉多少夜晚,與中文版和英文版 Windows 奮戰多日。 6.解決方案三 ------------ 上一個還不夠好,雖然會出現四列選擇盒,但終究跟上面的四個 Icon 對不齊,跟英文 Windows 比起來終究不夠悅目。那麼很簡單, 試看看把 MS Sans Serif 拿掉,加上一個 remark 就好了, 果然四 個選擇盒對齊的漂亮漂亮,如下所示: ┌──── 只不過在這一行開頭多加一個分號 D ;MS Sans Serif 8,10,12,14,18,24 (VGA res)=SSERIFE.FON Courier 10,12,15 (VGA res)=COURE.FON MS Serif 8,10,12,14,18,24 (VGA res)=SERIFE.FON Symbol 8,10,12,14,18,24 (VGA res)=SYMBOLE.FON Small Fonts (VGA res)=SMALLE.FON 7.解決方案四 ------------ 上面的方案仍有一些缺陷, 整個 Layer Control 的對話窗變得 稍大, 其他在 MapInfo 可以找得到的對話窗通通變大了,畫面美不 美還無所謂, 只是有一兩個太大的對話窗已超出螢幕範圍, 想按個 OK Cancel 的按鈕就比較麻煩。 現在才弄懂 MapInfo 所有的視窗都是用 MS Sans Serif 的 8 點字形, 在 Layer 裡的 Cosmetic Layer 等字卻都是直接取用系統 字形,英文版 Win31 的系統字 vgasys.fon 設定為 8 點,看起來字 比較小,所以沒有問題。 中文版 Win31 的系統字 vgasys.fon 就設 定成 12 點,當然就有一些選擇盒被推到後面看不見了。解決方案三 是強迫原本字體用 MS Sans Serif 顯示的改用系統字 vgasys.fon 顯示。改完後有些直接取用系統字的軟體不會出問題,但國外軟體( 尤其是共享軟體)很多用到 MS Sans Serif,很多對話視窗會變得比 原來稍大。 我們可以用 Recode 2.01, FH 1.60, ZapIt 3.04 (這些在 BBS 上抓得到,而且比較好用),或是用 Norton DiskEdit, Pctools 等 等來修改。 檔名:Mapinfow.exe (4.0 16bit version) 目的:修改 Layer Control 選擇盒無法對齊的問題 尋找:4C 61 79 65 72 20 43 6F 6E 74 72 6F 6C 00 08 00 48 65 6C 76 00 0A L a y e r C o n t r o l  H e l v 改為:4C 61 79 65 72 20 43 74 72 6F 6C 00 08 00 53 79 73 74 65 6D 00 0A L a y e r C t r o l  S y s t e m 改完您會發現,原來只是將顯示字體 Helv 改成 System 而已。 好了, 我們把 Win.ini 改為正常值,不加上分號再執行一次看看, 除了 Layer Control 對話窗會稍稍變大以外,其他 MapInfo 的視窗 和其他 Word PaintShopPro 等程式完全正常,賓果! 至於 32bit 版本,抱歉,必須潑您冷水,目前找不到解答。 在 這裡找不到 Layer Control 字元,顯示字元控制方式亦非如同16bit 版本。只好先用解決方案三,或等待能力更高強的人了。 8.字形問題的再探討 對了, 剛剛不是說字體原本是 MS Sans Serif, 怎麼又變成了 Helv,原來這是 Win31 為了相容 Win 3.0 所做的設定,在 Win.ini 裡的 [FontSubstitutes] 區段的設定。 [FontSubstitutes] Helv=MS Sans Serif Tms Rmn=MS Serif Times=Times New Roman Helvetica=Arial 當然,有人可能會問,如果在 system.ini 的 [boot] 區段裡, 把 " fonts.fon=vgasys.fon " 這段敘述改成英文版的 vgasys.fon 可不可以?當然可以囉, 只是對 MapInfo 毫無作用,系統仍然顯示 12 點字型,而且因為抓不到 MingLi16.fon MingLi20.fon 的中文點 矩陣字型而顯示中文變慢,畫面也因沒有點矩陣字而變得更醜。 很多螢幕顯示卡所附上的驅動程式,內含的字形都是英文版,更 新驅動程式時順便就把 vgasys.fon 8514sys.fon 就跟著換掉。如果 您看到您的 Windows 裡面中文顯示「有點偏上方」「感覺怪怪醜醜 的」,那就是這個毛病囉。假設您使用 Win31,請看一下您這兩個檔 日期大小是不是如下所示,如否,請把它們換回來。 8514SYS .FON 9280 93/05/01 12:00P 1024x748 系統字 3.10.151 VGASYS .FON 7296 93/05/01 12:00P 640x480 系統字 3.10.151 「那 Windows 不是用 TrueType 字形, 頂多加個 WIFE 字形, 那裡來的點矩陣字形?」拜託,這種問題我就不要回答了。 9.小結 ------ MapInfo 4.0 Layer Control vs. 中文視窗,解決方案如下 (1) 在 Win.ini 的 [font] 區段裡找到以下兩行或其中一行, MS Sans Serif 8,10,12,14,18,24 (VGA res)=SSERIFE.FON MS Sans Serif 8,10,12,14,18,24 (8514/a res)=SSERIFF.FON 利用文書編輯器把它們 remark 起來,如下所示: ┌─── 這裡多個分號 D ;MS Sans Serif 8,10,12,14,18,24 (VGA res)=SSERIFE.FON ;MS Sans Serif 8,10,12,14,18,24 (8514/a res)=SSERIFF.FON (2) 用 Recode 2.01, FH 1.60, ZapIt 3.04 (這些在 BBS 上 抓得到,而且比較好用),或是用 Norton DiskEdit, Pctools 等等 尋找下列字串並修改如下 檔名:Mapinfow.exe (4.0 16bit version) 目的:修改掉 Layer Control 選擇盒無法對齊的問題 尋找:43 6F 63 74 72 6F 6C 00 08 00 48 65 6C 76 00 改為:-- 74 72 6C 20 00 08 -- 53 79 73 74 65 6D -- 32 bit 版本,抱歉,目前無解。 (3) 您實在都不會的話,請親至師大地理系碩士班找筆者。 (4) 這該是中文視窗還是 MapInfo 的問題?留給大家思考, 答 案已經很明顯了。 七、Win95 下的捷徑選單 ====================== 每當開任何一個 Grapher, Bowser, Map, 等等視窗, 按下滑鼠 右鍵, 捷徑馬上彈出來, Cut Paste Copy 任你挑而不必再費心去 Menu Bar 尋找,就如同其他 Win95 程式一樣,這是多麼令人愉快的 事。在 Win31 底下一樣支援此功能。 八、支援 OLE2 的拖曳功能 ======================== Drag and Drop, 很常見的英文字不是?筆者班上某位大哥膩稱 其為「手提箱」,實在相當傳神。 只要選擇此 Icon,滑鼠指標就會 變成手提箱的提把,按下去拖著不放就會出現整個手提箱,然後愛拖 到那兒就拖到那兒。據 Upgrading Guide 所說這個拖放有 OLE 功能 , 把它拖到 Word Excel 就成為 OLE 物件,按兩下就會跳出個小型 MapInfo 供您驅駛。 很可惜的是只支援 Win95,在 Win31 之下拖過 去的就只能是 Windows Meta File *.WMF 影像檔而非 OLE 物件,但 總比以前用剪貼簿方便多了。 九、更方便使用的地圖符號 ======================== MapInfo 會在安裝時,把這些字形裝進 Windows 系統,並在您 的 Win.ini 的 [font] 區段加上這些 MapInfo Arrows Font (true type)=TTMIAR__.FOT MapInfo Cartographic Font (true type)=TTMICG__.FOT MapInfo Miscellaneous Font (true type)=TTMIMI__.FOT MapInfo Symbols Font (true type)=TTMIOS__.FOT MapInfo Real Estate Font (true type)=TTMIRE__.FOT MapInfo Transportation Font (true type)=TTMITC__.FOT MapInfo Oil&Gas Font (true type)=TTMIOG__.FOT MapInfo Weather Font (true type)=TTMIWE__.FOT 蠻不錯的,不是嗎?可用的地圖符號多了一大堆,包括「箭頭」 「地圖」「雜項」「符號」「房屋」「交通」「汽油瓦斯」「天氣」 等等, 至少以後要畫個指北針不必再麻煩的去找個 ARROW.TAB 再來 剪剪貼貼的了。當然它不免要耗用系統資源。測試版提供的較正式版 的少了兩種地圖符號字形。 更重要的 4.0 它可讓使用者自訂符號,雖然在 3.0 亦可做,但 在 4.0 的作法卻是相當方便而直覺化許多。您只要拿個 Paint Shop Pro 或是小畫家做個 BMP 圖, 它便可以相當容易的貼到地圖上,並 加入您的系統。 十、中文化的一些問題 ==================== 1.主程式中文化 -------------- 這裡的中文化是指「選單」的中文化, 而非一般 BBS 所稱直接 改程式碼,把裡面的英文訊息換成中文訊息,不過顯示訊息中文化筆 者還是做了。 固然 16bit 版程式檔高達 2.8M,32bit 的高達 3.4M ,改起來實在不是人幹的工作,但終究被筆者全部改掉了。只是這個 版本不會放出來,一方面是 MapInfo 所有對話窗字形都是用 Helv, 也就是 MS Sans Serif 字形顯示,在對應中文時中文會縮小成 8 點 並加粗,顯示速度會稍慢而且字不好看,當然這點也有解決方案。另 一方面則是直接修改程式碼則有侵犯版權之虞,這個就比較麻煩了。 2.選單中文化 ------------ 修改 Mapinfow.mnu 選單檔,就沒有版權的問題了。每個人都可 以把 Mapinfow.mnu 改成他自己所需,英文版 Mapinfow.mnu 原始檔 大約有 28-24k 大小,對一般人要把它中譯完應該勝任愉快。只是以 筆者的經驗而言,小小的選單巨集語言稍稍寫錯,MapInfo 的處理方 式未免太過難纏。舉個 Menu 檔出錯的實例。 Invalid clause [enu] in [Create] command. 這是執行時錯誤訊息,按 OK 後就出現 The file Mapinfow.MNU is missiong or damaged; MapInfo is unable to start. Please call Tech Support. 然後結束程式而不執行 MapInfo ,這時您會發現 GDI 已被莫名 其妙的吃掉一堆了,若不死心的硬要執行的話,GDI 一定會逐次降低 ,終至當機為止。有時會出現錯誤訊息還好,大部份則會丟下一句話 Invalid Command xxxx. 或是 Not Recognized Command xxxx. 甚至常是什麼錯誤也查不出來就告訴您出錯,然後出現請您打電 話給他們的技術支援部門,GDI 當然照吃不誤,即使是多一個逗點也 是錯誤,照樣不能執行。在筆者翻譯 Mapinfow.mnu 的過程,有時怎 麼比對也都沒有錯,但就是不能執行,只好土法鍊鋼一行一行貼過來 比對,唉。玩過其他使用巨集語言的程式,好像都沒有這麼難纏。 3.選單中文化的陷井之一 ---------------------- 4.0 的 Mapinfow.mnu 有一個地方一定不能動到,3.0 則無此問 題。在 Mapinfow.mnu 的最後一段 英文版 中文化之後 Create Menu Bar As Create Menu Bar As "&File", "檔案[&F]", "&Edit", "編輯[&E]", "&Objects", "&Objects", "&Query", "查詢[&Q]", "&Table", "圖檔[&T]", "O&ptions", "選項[&P]", "&Window", "視窗[&W]", "WinSpecific", "WinSpecific", "&Help" "輔助[&H]" "WinSpecific" 本來就不能動, 這一段將對應到各自的 Map 或 Browser 等選單,改了只是找不到各對應項罷了。但 "&Objects" 但 3.0 版時改成 " 物件 [&O]" 不會有問題, 在 4.0 卻非得要此關鍵 字不可,少一個字元也不行,沒有則必定拒絕執行 MapInfo。試的結 果是怎麼騙也騙不過,就算改成 "Objects[&O]" 也不行。 4.選單中文化的陷井之二 ---------------------- 在 EDIT 編輯選單裡,有 Undo Cut Paste Copy 等等項目, 這 些把它改成中文的「復原」「剪下」「貼上」「複製」等等,執行時 照樣出現英文。 真是怪事?如果您開個 Map 視窗,原先的 Copy 變 成 Copy Map Window 等等,還好在狀態欄出現的 HelpMsg 倒是出現 中文了,否則改的人不抓狂才怪。3.0 版無此問題。 5.選單中文化的陷井之三 ---------------------- 選單不能用 "(" 左括弧字元,否則一定出錯。 它把左括弧當成 螢幕控制字元了,筆者只好用中括弧 "["。 別的 Windows 程式似乎 極少有此限制。在 3.0 版同樣有這種限制。 十一、選單的迷思 ================ 除了前面提到的中文化問題,另外有幾個問題供各位參考。 1. 沒有開啟工作區的圖示 ----------------------- 在選單裡當然有 Open Workspace 這類的指令,可惜沒有對應到 工具列上的 Icon。Open Table 和 Save Table 是相當常用的指令, 也有相對應的按鈕圖示, Open Workspace 和 Save Workspace 就沒 有了。 筆者找過,在 Icon 102 - Icon 110 裡似乎也沒有為此預留 ,因此使用者無法順利的加上此 Icon。 2. 圖示耗用 GDI 資源 -------------------- 這點筆者不敢肯定,但 MapInfo 4.0 吃 GDI 之兇似乎與此脫離 不了關係,還記得 GDI 就是 Graphics Device Interface 的縮寫嗎 ?筆者有一次手癢, 在 MENU 裡加上 50 個 Icon,執行後圖示出來 是出來了,GDI 下降剩下不到 20%,滑鼠移動完全不正常,差一點當 機了事。 3. 4.0 正式版 Help 選單 ----------------------- 老實說, 比起測試版,它選單的 Help Menu 改得最多,但也寫 得最差,讀者去拿兩版選單的 Help 部分來比就知道了,怎麼可能叫 使用者直接去查關鍵字?選單裡畫個大大的 Tech Support, 進去一 看只列出幾隻電話號碼, 要不然至少弄個 FAQ 也還差不多,實在令 人失望。 筆者建議您把兩版的 Help Menu 部份合併,或是乾脆改用 測試版選單的 Help Menu。 4. 圖示風格不一致的 Redistric ----------------------------- 相信您早已注意到,在 Win95 執行下 MapInfo 每個文件視窗, 如 Map Browser Graph 等,在視窗左上角都有屬於自己的 Icon,這 些 Icon 跟工具列上的 Icon 一般而言大致相符。 但 Layout 和 Redistric 就不太相符, 怎麼差那麼多呢?Layout 的 Icon 說實在 「醜醜的」,而 Redistric 的圖示仍然附屬於 Browser 下,當然它 們的性質本來就很像,只是這樣不是找各位讀者麻煩,讓人混淆不清 嗎? 在 Window Menu 下亦有各個不同的 New Map, New Browser, New Grapher, New Layout 等,分列上 F2 F3 F4 F5,獨漏列了 New Redistric,其實是可以把它列上 F6 的。 十二、MapInfo 其他可用資源 ========================== 其實您若上去過 MapInfo 的 WWW ,您就知道了。 1.免費軟體 ---------- 這些在 http://www.mapinfo.com/free/free.html#file1 可以 找到。比較值得一看有底下幾個,快去拿回來吧。 (1) Free MapInfo v.4 Upgrade Training Guide 這是長達 37 頁的文件檔, 詳列了 MapInfo 4.0 增加的功能及 選項,還有一些特別的用法。 惟一缺點是 RTF 格式的檔案,壓縮檔 雖只有 771K,解開後高達 17M,而且只能用 Word 6.0 來讀取。 (2) Free Interactive 3.0 Product Demonstration 雖然 MapInfo 原版已附上教學程式, 這個仍是相當值得一看的 的展示檔。進去的畫面相當的人性化,光是用滑鼠用按地球儀就會轉 動,按咖啡杯則會跳起來變形,動畫的喜劇效果已值回票價了。 (3) Free MapBasic v.4 (KGM) Utilities (4) Free MapBasic 3.0 (KGM) Utilities 這個不用筆者再說了吧,MapBasic 的「一堆」*.MBX 工具程式。 2.相關程式 ---------- (1) ODBC 2.0 及 2.5 patch, 您可在 MSDL 微軟檔案下載服務 中心拿到。電話是 02-5043150。 (2) OLE32S13.ZIP,包含最新的 OLE2 2.03 及 Win32s 1.30 , 您可在 MSDL 或是淡江大學 ftp://ftp.tku.edu.tw 取得。當然囉, Win95 的使用者已無須使用 Win32s 這種東西。 (3) Ctl3dv2.dll 2.26,筆者在 CF1614F7.ZIP Cute_Ftp 1.4b7 所找到的,您可以在淡江大學 Winsock 區取得。Win95 32bit AP 使 用 Ctl3d32.dll,若您在 Win95 下已無使用 Win16 AP,否則也不用 這種東西。 除了小作家記事本等中文 Windows 內附程式之外,其他 的 Win16 AP 幾乎都會使用 Ctl3dv2.dll。 3.常用問題集 ------------ 可在 http://www.mapinfo.com/tech/faqs/faq2.html 取得。這 份 FAQ 是稍微簡略一點,但對一般使用者已足夠使用。 另一份蠻有 名的 FAQ 則在 ftp://ftp.csn.org/mapinfo/mi_faq.zip。如果您還 有興趣, 可以去找「地球科學線上資料庫 (On-line Resources for Earth Scientists, ORES) 」,在 MapInfo 中文手冊附錄 B 有全部 附上,但版本稍舊一些。ftp://ftp.csn.org/ores.txt 4.光碟版所附送的漂亮地圖 ------------------------ 除了沒有臺灣地圖之外, 筆者對 4.0 光碟版附上的免費地圖簡 直是相當滿意。當然它不太詳細,詳細的話一張光碟也裝不完,而且 有一些 3rd Parties 公司還得靠賣這種地圖資料賺錢呢。 比如拿中國的圖 CHINA.TAB, CHINAHWY.TAB, CHINCAPS.TAB 來 說,即使是放到只看臺灣的部分,跟地理系的重疊誤差也相當小。公 路除了桃園濱海的 15 號公路有些斷線之外,誤差實在很小。首都把 臺北畫到桃園龜山外,簡直沒什麼好挑的。您想想看,在中國地圖上 要求臺灣地圖的精度,能夠做到這樣已相當不簡單了。中國 22 省的 省名亦預留下空格供填上中文,很可惜裡面沒有放 GB 碼或 BIG5 碼 的中文,還好才 22 省,中文改起來並不會太麻煩。 不過它附上的地圖的確是有些簡略,只有歐亞北美的幾個大國, 大半只有國省州界、主要公路、某些國家則會多些一些幾萬人幾千人 以上的大城,對一般做簡報而言已相當夠用了。英美兩國附上的比較 詳細,美國甚至提供較低解析度的各 County 縣界和五位數的郵遞區 號,大範圍的分析至少已有基本資料了。 世界地圖比起前一版亦頗為詳盡,就算放大到只看臺灣也可以看 到臺北高雄臺南等地名,甚至連水底寮、枋山、更別提恆春鎮西方叫 大光里的地方也照樣查得到,很可惜的當然全是英文。只是找起來有 點累,這個地名圖檔資料 GAZMIN.DAT 高達 24M,若是要連水底寮都 找得到的資料檔 GAZMAJ.DAT 更高達 78M。即使在拷貝到硬碟上找也 得好一陣子,更別說是在光碟上找了。拿世界地圖來找臺灣的地名, 當然是找自己麻煩,怪不得人家囉。(笑 ) 十三、結論─要不要升級? ======================== " Upagrade or Downgrade?" 這是版本升級的考量。許多軟體升 級新版後跑起來更慢效能更差,用不到的新功能和痴肥的檔案大小減 低速度及效率,Word 5.0 與 Word 6.0 就是最好的例子。 由於是測試報告,筆者比較傾向以 MapInfo 4.0 的負面角度來 評估。雖然 MapInfo 4.0 號稱是 Professional 專業版,倒底專不 專業,用得到用不到那些功能,要不要升級? 比起 3.0 而言, 雖然在 User Interface 上仍有那麼一點不太 滿意, 還比不太上 ArcView 的漂亮和更立體化,耗用資源倒是更兇 ,改進幅度也不如所宣稱的那麼大,但整體看來仍是頗值一試的。筆 者贊同您升級。 其他的新增功能,如果不想去翻愈來愈厚的 User's Guide 和 Reference, 那麼要去翻翻 37 頁厚的 Upgrade Training Guide,寫得相當精簡,看完後收獲亦頗豐。 如果您是 95/NT 的使用者,升級與否那就更沒有疑問了, 速度 上的改進已是很大的誘因。在中文的相容問題解決之後,MapInfo 要 改進的地方還有很多,這是大家該努力的方向。 十四、有關作者 ============== 黃國書,男,59 年 1 月 30 日生,目前就讀師大地理系碩士班 一年級,長得頗高臉圓圓有點像肉餅的傢伙。除了唸地理和文史的東 西之外,喜歡玩玩電腦, 上上 BBS 看看快信和改改那些令人頭痛的 程式, 有些順眼的 ShareWare 興起就會慘遭筆者的中文化修理,就 如前一陣子的 {COMMO} 6.6 和現在的 MapInfo 4.0 16bit 版。改中 文選單很簡單,改高達 2.8M 的主程式,實在不是人幹的工作。中文 化其實是蠻藝術的「娛樂」,累完之後的成就感實在是無可比擬的。 借用 BBS 上某位弟兄的名言, 下個目標或許是「憂關 21 世紀人類 存亡與否」的 Netscape 2.0 吧? 這一版 MapInfo 4.0 完全中文版筆者不會放出去, MapInfo 及 代理商們千萬別想不開,找到我頭上來,那將什麼也沒有。 以前我也沒寫過這麼長的測試報告,高達一萬六千字,如果您耐 心看完的話,深深的謝謝您。謝謝您能忍受筆者在測試報告裡的奇言 異辭和批評口吻,和東拉西扯似的疲勞轟炸。不管是跳著看或是耐心 看完,在網路上看或是印在紙上看,筆者知道您累了,打個哈欠起來 活動,讓眼睛休息一下吧。不管如何,謝謝您看完筆者的小文章。 如果您有任何批評,請送伊妹兒至 s24255@cc.ntnu.edu.tw,或 是在九○網軟體區發 Echomail, 所用 ID 是 Kii Ali,筆者比較喜 歡收 Echomail。 Netmail 請發送至 90:1080/1@90Net,請 Hsinsan Lee 李幸生大哥代轉。 我真的累了,就拿這個充當 GIS 作業吧。 其他的,實在沒有多 餘的力氣了。 希望這篇報告對您能有些小小用處,讓您更加順手,那是筆者所 衷心企盼的。