Imatest 4.2.0 引入了一种新的 INI 格式。之前的 INI 文件与新版本不兼容,而 4.2 及更高版本中创建的 INI 文件也与之前的版本不兼容。
最关键的改动涉及转义字符。在之前的版本中,存储在 INI 文件中的字符串不会对任何字符进行转义。从 4.2 版本开始,特殊字符必须正确转义才能被正确读取。这使得我们能够处理 INI 文件字符串中的非 ACII 字符。有关这些改动的更多详细信息,请参阅下方的“技术细节”部分。
首次启动 4.2+ Master、IS 或 Studio 版本时,Imatest 会检查是否存在任何先前存在的 INI 文件。具体来说,Imatest 会查找 imatest.ini、rescharts.ini 和 multicharts.ini 这三个文件。如果找到其中任何一个,它们将被合并为一个文件,并扫描其中所有需要转义的字符。之后会创建一个新文件:imatest-v2.ini。该文件将成为所有后续 4.2+ 版本的默认 INI 文件。请注意,此过程不适用于自定义 INI 文件。
要将自定义 INI 文件更新为当前 INI 格式,请使用“INI 文件设置”菜单中的“选择 INI 文件…”选项选择该 INI 文件。选择 INI 文件后,单击“更新 INI 文件”。这将创建一个新文件,格式如下:<您的用户名>-v2.ini。与您选择的 INI 文件位于同一文件夹中的任何 rescharts.ini 或 multicharts.ini 文件都将合并到新文件中并进行更新。
重要 Imatest IT 说明
如果您正在使用 Imatest IT,请注意以下变更。Imatest IT 从不修改 INI 文件,这是为了确保用于边际敏感测试的 INI 文件不会在生产过程中被意外更改。因此,您不能将 4.2 之前的 INI 文件与 Imatest IT 4.2 及更高版本一起使用,反之亦然。
要更新与 Imatest IT 一起使用的 INI 文件,请按照上述更新 INI 文件的说明进行操作。
技术细节
本节将列举对实际格式所做的具体更改。
INI 文件版本
引入了与新 INI 版本相关的新 INI 键。为了便于跟踪 INI 文件版本,已添加以下键:
IniFileVersion = #
其中 # 代表版本号(4.2 版本中为 2)。切勿修改此值(删除此行会导致下次运行时被替换)。更改此值很可能会导致程序崩溃。
转义字符
在 Imatest 4.2.0 版本之前,Imatest INI 文件中的特殊字符不会被转义。从 4.2.0 版本开始,一些可能具有其他含义的特殊字符(主要是反斜杠)必须进行转义才能被正确读取。例如,以下这行可能出现在 4.2 版本之前的 INI 文件中:
save_dir = C:\imatest\my_images\Results
在 4.2 及更高版本中,该行将显示为:
save_dir = C:\\imatest\\my_images\\Results
Unicode字符
在之前的 Imatest 版本中,INI 文件无法处理非 ASCII 字符。因此,文件名或路径中不能出现非拉丁字符。新的 INI 格式允许保存 Unicode 字符。这是通过使用带有特殊前缀字符的标准Unicode 字符代码来实现的。例如,文件名将表示为:
\u6587\u4ef6\u540d
数组
在之前的版本中,INI 文件数组并非始终能够完全兼容所有数据类型。新格式支持更复杂的数组。
4.2 版本之前:
roi_mult: 10 10 20 20; 100 100 0 0;
4.2+:
roi_mult: [ 10 10 20 20; 100 100 0 0;]
嵌套数组允许使用三维及以上的数组。然而,Imatest 目前并不使用这些更高维度的数组。