蒙古青年论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5742|回复: 73

终于将vista蒙文输入法移植到xp上了

[复制链接]
发表于 2006-6-6 16:37:15 | 显示全部楼层 |阅读模式
请看第八帖,有详细的安装过程。

http://www.mongolger.net/ly/show.asp?id=1988

点击这里最新下载

[ 本帖最后由 ganjike 于 2006-8-10 10:58 编辑 ]
发表于 2006-6-6 17:15:24 | 显示全部楼层
不懂技术,不过还是要顶!!!
发表于 2006-6-6 22:37:10 | 显示全部楼层
能把那个DOS下的操作写详细一点吗?
谢谢了..
发表于 2006-6-6 22:42:21 | 显示全部楼层
这个能干什么
 楼主| 发表于 2006-6-7 09:14:31 | 显示全部楼层
昨晚试了一下发现在2k上不好使,但是通过编写程序能够实现蒙文处理,
需要好好研究研究2k的文字处理方式(UNICODE的)才能解决这个问题。

      下面的做法在 xp  2003 测试过肯定好使。
      那四个文件: usp10.dll kbdmonmo.dll monbaiti.ttf mons.reg 的处理方式:
kbdmonmo.dll  : 这是微软官方的传统蒙文键盘布局,需要拷贝到 c:\windows\system32 目录下。
monbaiti.ttf     : 这是微软官方的传统蒙文字体,需要拷贝到c:\windows\fonts 目录下。
mons.reg         : 这是我从vista中导出的传统蒙文布局注册表文件,需要在xp,2003上 运行一下。
usp10.dll          : 这个很关键,是微软官方vista上的支持传统蒙文的组建。需要用这个文件替换
                             win2k, win xp, win 2003 上的在c:\windows\system32目录下的同名文件。
                             但是由于这个文件是系统文件所以替换比较麻烦我尝试成功的方法有两种:
                            1、如果你的文件系统是fat32 则可以用98启动盘启动系统然后用copy命令将
                                  usp10.dll 覆盖c:\windows\system32下的同名文件。
                            2、如果你够专业,也可以安装windows恢复控制台,然后用copy命令覆盖。
                                  恢复控制台的安装方法是: xp安装盘的 i386目录下运行 winnt32 /cmdcons
                            3、用第三方的替换系统文件软件。我没有尝试。不过应该没有问题。

原帖由 EjenErh 于 2006-6-6 10:37 PM 发表
能把那个DOS下的操作写详细一点吗?
谢谢了..
 楼主| 发表于 2006-6-7 09:23:53 | 显示全部楼层
我会尝试着做个安装版,自动按装这些。
发表于 2006-6-7 09:51:32 | 显示全部楼层
我还是等楼主的自动版了..
貌似挺麻烦的样子..
楼主,+油!
 楼主| 发表于 2006-6-7 14:53:11 | 显示全部楼层
http://www.mongolger.net/ly/Upload/20066885346725.rar

安装过程如下:
有三个文件和一个目录KBDMONMO.DLL, monbaiti.ttf, mons.reg, 目录cpUsp
KBDMONMO.DLL  拷贝到windows\system32目录
monbaiti.ttf 拷贝到windows\fonts目录,
mons.reg 双击运行

cpUsp目录:双击运行cpUsp.cmd命令,按任意键继续就行了。

然后重新启动计算机就可以了。

运行cpUsp.cmd命令的时候会提示系统文件被替换要求恢复,按否不恢复。

重新启动后,在输入法设置里添加"微软传统蒙文输入法"。
然后打开记事本,在记事本的菜单格式里选择字体,选择Mongolian Baiti。

然后切换输入法到"微软传统蒙文输入法",就可以输入蒙文了,而且字形会自动变化。

当你重新启动计算机后再看这个文件,如果你能认出下面的文字就说明你
安装成功了。

ᠠᠪᠥ ᠡᠵᠢ ᠨᠢᠭᠡ


切换到"微软传统蒙文输入法"时,输入法位置没有任何变化还是显示键盘的图标。
由此看微软还是给第三方应用程序开发者提供开发更友好,输入更方便的蒙文输入法的机会。

微软的蒙文输入法应该称为传统蒙文处理平台,具体输入方式(输入法)可以
任何人做出更好输入法出来。只要你的输入法输入的编码是标准的蒙文unicode编码就行了。

微软把同一个字母的不同字形用一个编码表示,这样传统蒙文和新蒙文很方便的可以相互转换了。

在windows2000上移植,正在研究中....
有任何问题可以向 msn:ganjike@hotmail.com 咨询。

[ 本帖最后由 ganjike 于 2006-6-8 09:03 AM 编辑 ]
 楼主| 发表于 2006-6-8 09:39:28 | 显示全部楼层
输入字母a

 楼主| 发表于 2006-6-8 09:40:16 | 显示全部楼层
输入字母ab

 楼主| 发表于 2006-6-8 09:40:52 | 显示全部楼层
输入字母abo

发表于 2006-6-10 22:09:28 | 显示全部楼层

除了 opentype 字体别的没什么的

很多输入法(如明安途的输入法)都有这功能。

有哪些软件支持这 opentype 字体呢???
发表于 2006-6-10 22:21:28 | 显示全部楼层

自行自动转化不了

不知道为什么?
发表于 2006-6-10 22:47:51 | 显示全部楼层

OpenType 字体技术概述

3  OpenType 字体技术概述
OpenType 是Microsoft 公司和Adobe 公司联合开发的一种基于Unicode 且与平台无关的字
体格式。它是TrueType 字体格式的一种扩展,并融合了PostScript 字体技术。OpenType 的优势
是其跨平台性、支持Unicode 字符集和高级布局特征,能更好的支持国际化的处理。
OpenType 对复杂文本的支持是通过OpenType 布局(layout) 表来实现的[6 ,7 ] ,这些表包括字
形定义表(GDEF) 、字形替换表(GSUB) 、字形定位表(GPOS) 、基线调整表(BASE) 、对齐表(JSTF)
等,由于蒙文主要用到了GSUB 表,所以下面主要介绍一下GSUB 表,其他表的介绍可以参见文
献[8 ] 、[9 ] 。
1) GSub 表的类型
GSub 表实现了字形ID 到字形ID 的替换,用它可以解决前面提到的根据上下文选择恰当
显现字形的问题。GSub 表定义了六种类型替换:
Ó  单一替换:以一个字型替换另一个字型。
Ó  多替换:以多个字型替换一个字型。如,连字的分解。
Ó  变体替换:字符的多个变体之一来替换字符对应的字型。
Ó  连字替换:以连字字型替换一串字型,是第二种替换的逆过程。
Ó  上下文替换:是功能最强大的一种,可以将一个或多个字形替换成另外的一个或多个
字形。
Ó  链上下文:在链上下文中替换一个或多个字型。
2) GSub 表的访问流程
OpenType 对布局表的访问是通过标签(tags) 来实现的,OpenType 定义的标签有:
文字(script) 标签:hani 表示中日韩文字,mong 表示蒙古文。
语言(language) 标签:一种文字可能含多种语言,如中文有简体(标签为ZHS) 和繁体(标签
为ZHT) 。传统蒙古语的语言标签是MNG。
特征(feature) 标签:特征标签提供了如何用字库中的字形来显示一种语言文字的信息。
例如init 标签将字形替换成其首写形,fina 标签将字形替换成其尾写形。OpenType 的高级排版
特性都是通过特征标签来实现的,目前已经定义了几十个特征特征标签,另外字库设计者还可
以自定义特征标签。
发表于 2006-6-10 22:48:32 | 显示全部楼层
以图2 为例说明GSub 表的访问流程:首先根据文字标签(如mong) 查找script 表,然后根
据语言标签(如default) 查找language 表,再根据特征标签(如init) 查找feature 表,然后根据当前
需要处理的字形ID 来查找feature 表的lookup 子表,当找到相匹配的字形ID 时就执行替换操
作,如果没有匹配则不执行任何操作。
3) 蒙古文OpenType 字库
因为蒙古文不需要字形定位调整和基线调整等特性,所以蒙古文OpenType 字库只需GSub
表这一种字形替换布局表。GSub 表中包含若干的feature 表,这些feature 表的lookup 子表完成
名义字符的字形到显现字形的映射。各个feature 表之间没有从属关系,但是为了方便理解和
处理,从逻辑上将它们划分成了四类以处理不同层次的变形,详细描述见411 节。
发表于 2006-6-10 22:52:57 | 显示全部楼层
OpenType 字体:这是一种TrueType字体的扩展。它增加了对
PostScript信息和国际字符集的支持,与TrueType相比,它具有较小
的文件体积,启用了较有效的字体分配等优点。此外,每种OpenType
字体含有一个数字签名,这可以使操作系统和浏览先识别资源和
字体的完整性,再使用它。同时,OpenType的字体文件的扩展名同
样是TTF,而且,Windows的字体查看器也无法区分出TrueType和
OpenType的,而是将OpenType也识别为TrueType。
 楼主| 发表于 2006-6-11 11:33:46 | 显示全部楼层
你在什么平台安装(xp?)?xp和2003不会有问题。
2000的话,可以用 ScriptTextOut或者ScriptStringOut 函数写个程序也能实现。
但是由于2000中的文字输出不经过unicode api处理所以不能自动实现。
原帖由 雪花飞舞 于 2006-6-10 10:21 PM 发表
自行自动转化不了
不知道为什么?



首先呢,这个opentype字体是微软官方提供的,以后的各种软件对他的
支持我想不会有什么问题。即使现在不怎么兼容。(
我试过在qq中不支持,msn中字形有点断。我想这些软件的国际版应该没有问题(还没有试),
在记事本中支持的最好。
那是因为必定这个字体是2006以后才会支持的。)

第二为什么每个蒙文输入平台都互不兼容就是因为编码不同,
只有微软的字体中提供的编码才是真正支持unicode的。
其他的都自己扩展了。除非像gb2312那样让微软服从中国某个蒙文编码的标准。
否则蒙文字体与编码早晚是微软说了算。

很多输入法(如明安途的输入法)都有这功能。

你说的功能其他输入法是通过不同的编码实现的。而微软不是。技术上的不同才是核心。
在windows2006以前你见过当你写第二个字母的时候它前边的字母自己变化的吗?


微软的蒙文平台不仅仅是做了个opentype字体和自动变形。
而是这个自动变形放在操作系统核心里还是别的地方,怎样处理才能最好的问题。
 楼主| 发表于 2006-6-11 11:37:39 | 显示全部楼层
看你还是知道一些技术,但是不够深和透彻。你也是搞it的?
如果这个论坛能提供计算机技术交流的地方,咱们就可以交流交流了。
发表于 2006-6-11 11:43:25 | 显示全部楼层
学习中,,,,崇拜楼上的两位~~继续
发表于 2006-6-11 19:31:33 | 显示全部楼层
根据蒙古文国际编码的“用户协议”(用户协议以国家标准来发布,蒙古国已发布),中国的国家标不久会发布。由于汉字的编码需要调整,所以蒙古语的编码也推迟了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|蒙古青年论坛

GMT+8, 2026-7-16 05:25 , Processed in 0.014761 second(s), 14 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表