表情符号图像是如何在AndroidMoji-htc.ttf文件中编码的?
用于将图像嵌入的文件类型是什么?直接下载: 图像可以很容易地从中提取,因为可以使用十六进制编辑器找到图像。这可以提取它们。算法是简单的 十六进制编辑器中的文件示例:表情符号图像是如何在AndroidMoji-htc.ttf文件中编码的?,android,image,reverse-engineering,truetype,Android,Image,Reverse Engineering,Truetype,用于将图像嵌入的文件类型是什么?直接下载: 图像可以很容易地从中提取,因为可以使用十六进制编辑器找到图像。这可以提取它们。算法是简单的 十六进制编辑器中的文件示例: 0706 2627 2626 2726 2627 2626 2727 2727 ..&'&&'&&'&&'''' 2726 2627 2626 2726 2627 2636 3736 3637 '&&'&&'&&'&6
0706 2627 2626 2726 2627 2626 2727 2727 ..&'&&'&&'&&''''
2726 2627 2626 2726 2627 2636 3736 3637 '&&'&&'&&'&67667
3636 3736 3637 3737 3737 3636 3736 3637 6676677777667667
3636 0131 3636 3736 3635 3527 2626 3132 66.16676655'&&12
2627 2626 2726 2627 2721 2115 1533 3232 &'&&'&&''!!..322
1716 1617 1634 1110 0607 0606 0706 0623 .....4.........#
2315 1533 3335 3523 2226 2726 2627 3434 #..3355#"&'&&'44
3535 3332 3233 1616 1716 1617 1616 1716 553223..........
1617 1616 1716 1617 1616 1716 3237 3236 ............2726
3737 3736 3637 3636 3737 2323 0706 0607 7776676677##....
0606 0706 0627 2226 2726 2627 2626 2726 .....'"&'&&'&&'&
2627 2626 3130 2627 2626 2726 2627 2626 &'&&10&'&&'&&'&&
2727 3535 3736 3637 3636 0131 3232 3332 ''55766766.12232
1617 1616 1716 3017 1616 1516 0607 0606 ......0.........
0706 0607 0606 2323 3534 3437 3636 3736 ......##54476676
3608 bf05 020b 1c2a 0d09 0b0d 66a4 b72c 6......*....f..,
0202 0233 8a8d 9c9c 8d88 3302 0202 022a ...3......3....*
9a8d 631a 3c05 090b 3e1a 1a3e 0b09 0b0d ..c.<...>..>....
65a5 b918 1616 1d67 6572 4028 2a0f 251f e......ger@(*.%.
7365 691b 1814 1a98 8d65 183b 0409 0d2c sei......e.;...,
1a0b 0702 fb8b 1e1d 423e 3f44 2a0d 3a3f ........B>?D*.:?
034f 4f42 4435 3203 1e1b 040d 140d 0704 .OOBD52.........
0303 040d 1b0d 041b 1e03 3235 4442 4f4f ..........25DBOO
033f 3a0d 2a55 5265 1f21 3d40 4044 2a0d .?:.*URe.!=@@D*.
3940 024d 4f44 4235 3502 1d1c 050d 1a0d 9@.MODB55.......
0502 0207 040d 140d 051c 1d02 3535 4244 ............55BD
4f4d 0240 390d 2a56 5301 c806 0d0b 2611 OM.@9.*VS.....&.
0b06 0503 120b 122e 1835 0837 33fe d9fe .........5.73...
dc2e 2c02 0b12 0407 0b02 0306 071a 1006 ..,.............
2a23 f8fb 2a30 070f 1d0d 022a 1818 0914 *#..*0.....*....
0706 2627 2626 2726 2627 2626 2727 2727.&&&&&&&&&&&&&“
2726 2627 2626 2726 2627 2636 3736 3637 '&&'&&'&&'&67667
3636 3736 3637 3737 3737 3636 3736 3637 6676677777667667
3636 0131 3636 3736 3635 3527 2626 3132 66.16676655'&&12
2627 2626 2726 2627 2721 2115 1533 3232 &'&&'&&''!!..322
1716 1617 1634 1110 0607 0606 0706 0623 .....4.........#
2315 1533 3335 3523 2226 2726 2627 3434 #..3355#"&'&&'44
3535 3332 3233 1616 1716 1617 1616 1716 553223..........
1617 1616 1716 1617 1616 1716 3237 3236 ............2726
3737 3736 3637 3636 3737 2323 0706 0607 7776676677##....
0606 0706 0627 2226 2726 2627 2626 2726 .....'"&'&&'&&'&
2627 2626 3130 2627 2626 2726 2627 2626 &'&&10&'&&'&&'&&
2727 3535 3736 3637 3636 0131 3232 3332 ''55766766.12232
1617 1616 1716 3017 1616 1516 0607 0606 ......0.........
0706 0607 0606 2323 3534 3437 3636 3736 ......##54476676
3608 bf05 020b 1c2a 0d09 0b0d 66a4 b72c 6……*…f。。,
0202 0233 8a8d 9c9c 8d88 3302 0202 022a…3…3*
9a8d 631a 3c05 090b 3e1a 1a3e 0b09 0b0d..c。。。。
65a5 b918 1616 1d67 6572 4028 2a0f 251f e……德国(*.%)。
7365 691b 1814 1a98 8d65 183b 0409 0d2c sei…e。;。。。,
1a0b 0702 fb8b 1e1d 423e 3f44和3a3f…….B>?D*?
034f 4f42 4435 3203 1e1b 040d 140d 0704。OOBD52。。。。。。。。。
0303 040d 1b0d 041b 1e03 3235 4442 4f4f……25DBOO
033f 3a0d 2a55 5265 1f21 3d40 4044 2a0d.?:*URe.!=@@D*。
3940 024d 4f44 4235 3502 1d1c 050d 1a0d9@.MODB55.......
0502 0207 040d 140d 051c 1d02 3535 4244 55BD
4f4d 0240 390d 2a56 5301 c806 0d0b 2611 OM.@9.*VS…..&。
0b06 0503 120b 122e 1835 0837 33fe d9fe…5.73。。。
dc2e 2c02 0b12 0407 0b02 0306 071a 1006。。,。。。。。。。。。。。。。
2a23 f8fb 2a30 070f 1d0d 022a 1818 0914*#*0*。。。。
更新日期2014年6月18日:
根据@naXa的建议,在版本20120731-ML(当前最新版本)中打开文件时出现以下错误:
FontForge已忽略字体中的下表
忽略“dcmj”
在GID1中,前进宽度(2252)大于规定的最大值(2048)
后续错误将不会报告。
错误的查找表:format=6,first=65535字体中的字形总数=894
有点出乎意料,因为迄今为止TTF中的表情符号都是经过适当编码的。事实上,我甚至在FontForge中看到黑白表情图像都是巨大的成功,因为这意味着TTF在很大程度上是标准的。我不认为TTF应该存储颜色信息
他们的关键可能是访问dcmj表中的数据或它指向的任何地方。研究FontForge我发现BMP是TTF的一种常见图像格式,因此我将尝试使用这些假设修改该格式并报告
更新:2014年6月18日
我使用十六进制编辑器找到了似乎是BMP标题的内容,从424D
开始,但标题似乎无效
接下来我会尝试:
编辑:正如贾斯珀指出的,HTC实际上有一个自定义表情集,如他的答案中所链接的。上面的图片来自一部未更新的手机。仍然需要找出如何提取这些表情 据我所知,Emojis存储在两个不同的platfe中-in.ttf-以显示在纯文本字段(例如,消息的快速预览)和图像中。也许你应该深入研究一下这一点?不幸的是,我没有账户,所以让我先道歉,因为我把这篇文章作为回答而不是评论 您发布的显示苹果颜色表情的图片似乎来自运行旧版本Sense/Android的手机,而您参考的文件几乎肯定来自Sense 5-6/Android 4.3-4.4,如果您查看从该文件中提取的灰度表情,您会注意到它们实际上与您提供的图片不匹配。然而,它们确实与此相匹配: 这让我得出结论,TTF中完全可能没有传统的位图存储,而是有一些专有格式,他们使用这些格式为每个表情符号的不同部分分配颜色 编辑:尝试直接将文件复制到我的手机上,看看会发生什么(尝试替换NotoColorFont.ttf以及直接复制并在fallback_fonts.xml中引用它,似乎没有任何区别)。截图如下: 正如你所见,它们显示时没有颜色,但我们已经知道默认的Android表情符号和苹果颜色表情符号在Android设备上都显示得很好,这意味着HTC不遵循Android和iOS使用的任何标准 在Galaxy SII(i9100)上测试