Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
表情符号图像是如何在AndroidMoji-htc.ttf文件中编码的?_Android_Image_Reverse Engineering_Truetype - Fatal编程技术网

表情符号图像是如何在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
开始,但标题似乎无效

接下来我会尝试:

  • 解析TTF查看每个“glyph”中的数据,看看是否可以找到更多的模式。我想TTF会显示图像数据的开始和结束

  • 看看htc安卓apk,看看他们是如何从ttf中提取和显示表情符号的

  • 我现在没有时间了,如果有人有任何其他的建议,我很感兴趣

    更新日期2014年6月20日

    使用@naXa的建议双击字形并导出为任何格式都会给我任何大小的非彩色图标,但仍然不会显示我正在寻找的彩色位图表情

    最后,我去商店看了一部HTC手机,让我惊讶的是,他们使用的是通过短信应用程序看到的苹果表情符号:

    我几乎可以肯定,这些图片是用上面提供的HTC字体存储的,但是这个结论使得提取这些图片远没有那么理想

    不过,作为概念证明,知道如何提取颜色表情还是很酷的


    编辑:正如贾斯珀指出的,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)上测试