BlenderCN论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2787|回复: 14

【建议】能让 Blender 识别字体名,而且能识别中文名称

[复制链接]
发表于 2014-10-18 21:43:22 | 显示全部楼层 |阅读模式
本帖最后由 云风如我 于 2014-10-18 21:50 编辑

举例来说,Photoshop 选择字体时,是这样的……

1.JPG

但在 Blender 下却是这样的?显然在选择字体时,没法看到字体的名称,能看到名称时,只有在选择字体后。

而且,对于非西文用户来说,很重要的一点是,无法识别字体的中文名称。

2.JPG

目前,Blender  在选择字体时,调用的是标准的文件打开框。

而在显示字体名时,要想正确调用字体,就必须使用特殊的调用框,这样才能获得映射关系。

例如:Windows 的“文件打开框”,在进入字体文件夹时,显示的详细信息条目就会完全不一样。

3.JPG



发表于 2014-12-18 00:31:24 | 显示全部楼层
实际应用的时候其实有个方法能不太累 。就是将自己的项目字体 拷贝到项目文件夹里。建立一个项目字库 。然后 建立标签 有的中文字库字体名能显示中文 就OK不能显示的自定义个中文名字就好。每次就能看到了。。。可以作为临时的解决方案。。然后再测试版的addon中有个项目addon做项目整理的 比较好使的
回复 支持 1 反对 0

使用道具 举报

发表于 2014-10-18 22:35:08 | 显示全部楼层
有个开发的解决思路,就是自己做个对应表,中文名和文件名。然后在字体选择的时候变成显示中文。这涉及到资源管理器的修改。

点评

这思路其实就是以前旧版 PS 使用的方案。 不过同时也得有个配套的第三方更新列表的程序,不然大量字体一旦加入,不更新列表也就看不到字体了…… [attachimg]5524[/attachimg]  详情 回复 发表于 2014-10-18 23:00
回复 支持 反对

使用道具 举报

发表于 2014-10-18 22:36:13 | 显示全部楼层
或者更一般的,资源对应昵称小系统。这样外国人可以用,中国人也可以用来做字体中文显示。

点评

是的,这个最最理想的了…… 我的想法就是使用一个完全不同的“文件打开框”,只有在选择字体文件时,会调用这个框。  详情 回复 发表于 2014-10-18 23:01
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-18 23:00:28 | 显示全部楼层
本帖最后由 云风如我 于 2014-10-18 23:06 编辑
kidux 发表于 2014-10-18 22:35
有个开发的解决思路,就是自己做个对应表,中文名和文件名。然后在字体选择的时候变成显示中文。这涉及到资 ...


这思路其实就是以前旧版 PS 使用的方案。

不过同时也得有个配套的第三方更新列表的程序,不然大量字体一旦加入,不更新列表也就看不到字体了……

未命名.JPG


回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-18 23:01:49 | 显示全部楼层
本帖最后由 云风如我 于 2014-10-19 00:48 编辑
kidux 发表于 2014-10-18 22:36
或者更一般的,资源对应昵称小系统。这样外国人可以用,中国人也可以用来做字体中文显示。 ...


是的,这个最最理想的了……

我的想法就是重新构建一个完全不同的“文件打开框”。就像一些专业软件的 "打开文件对话框"  和 一般软件的完全不同不是么?

未命名2.JPG

这个对话框只有在选择字体文件时,会调用这个框。功能上类似上图 Windows 进入字体文件夹时的那个。

这样选择到字体文件时,就能同时看到字体名与字体文件名了。程序需要调用的文件名存在,而且用户也能看到字体名,相互不会影响。


回复 支持 反对

使用道具 举报

发表于 2014-10-18 23:37:42 | 显示全部楼层
调用win的窗口可以成为插件,但是不会成为blender自身。
所以这种开发得思考是否能成为blender的一部分去设计。

点评

调用系统的打开对话框? 考虑到跨平台的特性,我想这点官方不会去考虑吧。  详情 回复 发表于 2014-10-19 00:37
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-19 00:37:15 | 显示全部楼层
kidux 发表于 2014-10-18 23:37
调用win的窗口可以成为插件,但是不会成为blender自身。
所以这种开发得思考是否能成为blender的一部分去设 ...

调用系统的打开对话框?

考虑到跨平台的特性,我想这点官方不会去考虑吧。

点评

自己开发的代码,不进官方代码库,基本上就意味着要自己维护。所以我说是一个值得去思考的问题。  详情 回复 发表于 2014-10-19 16:13
回复 支持 反对

使用道具 举报

发表于 2014-10-19 16:13:49 | 显示全部楼层
云风如我 发表于 2014-10-19 00:37
调用系统的打开对话框?

考虑到跨平台的特性,我想这点官方不会去考虑吧。 ...

自己开发的代码,不进官方代码库,基本上就意味着要自己维护。所以我说是一个值得去思考的问题。

点评

字体问题其实现在准确来说有两个: 第一个,就是中文字体名的识别问题。 从一张图就可以看出,现在 Blender 是能够获得字体的,但对中文字体无效。 解决的办法,目前看来有三种: 1、就像你说的,用 WIN 的控件  详情 回复 发表于 2014-12-19 23:26
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-19 23:26:36 | 显示全部楼层
本帖最后由 云风如我 于 2014-12-19 23:43 编辑
kidux 发表于 2014-10-19 16:13
自己开发的代码,不进官方代码库,基本上就意味着要自己维护。所以我说是一个值得去思考的问题。 ...


总结一下,其实字体现在准确来说问题有两个:

1,是中文字体名的识别问题。

从这张图就可以看出,现在 Blender 是能够获得字体文件中内嵌的名称,但对中文字体无效。



解决的办法,目前看来有三种:

1、就像你说的,用 WIN 的控件来解决,但这显然不会得到官方的承认。

2、就是手工建立一个索引列表,但这也存在缺点,就是列表需要更新才能识别新字体,所以 PS 7.0 以后就放弃这个方案了(PS 也是跨平台的软件,所以也遇到了相同的问题)。

3、就是最好的,使用代码从字体文件数据中,获得字体名。这个想必兼容性最好,跨平台通用性也强。

PS:能用于检测字体名的源代码,我也提供过一份。

http://bbs.blendercn.org/forum.php?mod=viewthread&tid=2042

但这代码是老外写的,能不能识别中文字体就不知道了,据说中文字体的数据结构和英文是不一样的。

2,选择字体文件时,显示名称的问题。

显然 Blender 打开文件,调用的都是“文件浏览器”,但这个是没有字体名显示功能的。

如果能有 WIN 那样的列表框,PS 那样的字体效果实时预览 固然很好,但重新构建一个打开框,无疑会增加代码的难度。

我觉得最简单的,就是利用原有的“文件浏览器”,在“长列表”(类似 Windows 的详细信息模式?)模式下,增加一列“备注信息”显示。

如果遇到字体文件,就显示字体的名称。就像下图这样:

因为是“备注”所以也完全不会影响原有的文件打开功能。

未命名.JPG

这一信息列,以后还能扩展出其他用途。

例如:如果是 Blender 文件,就显示“文件”中设定的“作者”。如果是文本文件,就显示编码格式(UTF8、GBK)等等……。




回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Blender最新中文教学视频|Blender头条|小黑屋|手机版|Archiver|Blender中国 ( 蜀ICP备17002929号 )360网站安全检测平台

GMT+8, 2019-7-18 13:30 , Processed in 0.033587 second(s), 30 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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