TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua

 找回密码
 新人加入
查看: 6028|回复: 7
打印 上一主题 下一主题

[已解决] tcax停止工作 [复制链接]

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

楼主
发表于 2012-6-7 15:08:41 |显示全部楼层
感谢季季提供的详细反馈。测试的结果是,该问题是由119sp1的
4. tcaxLib.pyd 更新points结构(由PixPoints()函数返回), ((x, y, a), (x, y, a), ...), 其中a为不透明度

这个更新所造成的改动,对函数TextOutlinePoints测试不完全引起的。(也就是说sp1的TextOutlinePoints这个函数有Bug,119的可以正常使用)

临时解决方案是:(重新下载)使用119,升级sp1,不替换tcaxLib.pyd。即可。
该Bug的解决下次升级会放出的。

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

沙发
发表于 2012-6-20 15:27:41 |显示全部楼层
本Bug已修复。。。等下一版本

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

板凳
发表于 2012-8-4 00:53:21 |显示全部楼层

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

地板
发表于 2012-8-4 10:51:39 |显示全部楼层
jijidata 发表于 2012-8-4 04:48
又有新的问题了

tcc什么的都跟原来一样....

噗,这个是我大意了,Copy了代码,忘记改变量名 Orz...

和四月说的

更新 tcaxPy.py     - 修改了ASS标签函数, fs, fax, fay, frx, fry, frz, fr, 支持接受浮点数参数  好吧这个问题- -

一样。更新一下重新打包- -

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

5#
发表于 2012-8-4 10:52:05 |显示全部楼层
youkaze 发表于 2012-8-4 08:09
哈这次我也遇到了问题

更新 tcaxPy.py     - 修改了ASS标签函数, fs, fax, fay, frx, fry, frz, fr, 支持 ...

忘记改变量名了 Orz。。。

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

6#
发表于 2012-8-4 10:52:53 |显示全部楼层
jijidata 发表于 2012-8-4 05:21
并且
http://www.tcax.org/forum.php?mod=viewthread&tid=444&extra=page%3D1
这个还是如此....难道我 ...

有把tcAudio模块拖到120的util下么?

我真的没发现别的问题。要不上Q说吧

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

7#
发表于 2012-8-4 13:59:41 |显示全部楼层
jijidata 发表于 2012-8-4 04:48
又有新的问题了

tcc什么的都跟原来一样....


该低级失误已修复,到 http://www.tcax.org/forum.php?mod=viewthread&tid=13 重新下载。
请谅解。感谢及时反馈问题。

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

8#
发表于 2012-8-5 17:03:18 |显示全部楼层
jijidata 发表于 2012-8-4 05:21
并且
http://www.tcax.org/forum.php?mo ... &extra=page%3D1
这个还是如此....难道我 ...


从结论上来说就是:安装工程中的字体

----------------- 以下是Debug之旅 ----------------

该问题在经过 四月,疯子,以及猪猪的测试帮助下,总算是让我得出了一定的结论(虽然是个让人蛋疼的结论)。

结论:不同的机子,GDI模块有一定的差异,可能是代码层面的,也可能是字体什么的额外因素(还没排查)。

理由:3位测试出问题的会员,虽然是同样的一个错误,但进度条停的位置不同:季季 12.09%, 四月 22.56%, 疯子 3.66%。但每个会员独立测试多次都是停在同一进度(说明代码本身没有随机性,也说明了和不同运行环境有一定关联)。又总结了一下出错的代码,用
  1. gf_pt = gfGetPoints(GdiFontThin, _txt)
  2. if len(gf_pt) == 0:
  3.     Pause()
  4. PIX = PixFromPoints(gf_pt)
复制代码
替换第86行的
  1. PIX = PixFromPoints(gfGetPoints(GdiFontThin, _txt))
复制代码
得出的结论是,对于某个文字,被“消减”后得到的点数为0。消减(细化)的代码在第23行
  1. GdiFontThin = gfInitFont(GetVal(val_FontFaceName), _Fs, GetVal(val_Spacing), GetVal(val_SpaceScale), -2.5, False)
复制代码
由此可得出结论:不同环境的GDI差异性造成了这一“神奇”问题。
解决方法:把-2.5改成-2降低消减的程度,从而避免得到的点数为0. 因为尽管存在一定的差异,但差异相对来说肯定是微小的。

-------------- 结论更新 --------------

进一步测试发现,该GDI相关问题,其实是字体问题。虽然TCAX能直接利用工程目录下的字体(不需要安装),但GDI不行,如果未找到指定字体,则会用一个系统默认的字体替代。所以该问题最本质且最直接的解决方法是,安装字体!(将工程目录下的字体拷贝到系统的Fonts文件夹下)不需要修改代码即可执行通过。


您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-5-3 14:46

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH