emoji在各个APP中的编码问题

2017-09-04  本文已影响0人  产品心语

前一段时间做输入法,遇到了一些问题,主要是——表情的呈现问题,很多表情包中的表情,在准备输入的emoji list中的样子和最终输入后的样子,是不一样的。

一开始,我并不知道表情包是怎么设计与发明出来的,又是如何呈现出来的? 为何,设计的表情包最终不能以我们设计的那样去呈现?为何,明明是选择表情包中的某一表情,最后却变成了其他的表情?为何, 我们索搜某一表情包,出现了一个表情包list最后却只能呈现某一种规范的表情?

其实,我们知道,呈现文字已经是都输入法很成熟的一种技术了,要想能够呈现不同语言、不同字体的文字,是需要相应的文字包的支持的。 比如, 如果你的电脑中没有安装华为行楷的文字包,那么在文件中,以华文行楷为字体的文字就不能展示出来,只能通过默认的某一种字体来展示出来。

与此相同,这里面涉及到emoji的编码问题,表情的标准编码、表情包的系统系统识别与呈现。

先普及一下,相关的几个名词,emoji / sticker / animation / cinema graph。

emoji-绘文字,起源日本,由栗田穰崇(Shigetaka Kurita)创作。用来代表多种表情,如笑脸表示笑、蛋糕表示食物等。

NTTDoCoMo的i-mode系统电话系统中,绘文字的尺寸是12x12像素,在传送时,一个图形有2个字节Unicode编码为E63E到E757,而在Shift-JIS编码则是从F89F到F9FC。基本的绘文字共有176个符号,在C-HTML4.0的编程语言中,则另增添了76个情感符号。

自苹果公司iOS 5输入法中加入了emoji后,这种表情符号开始席卷全球,目前emoji已被大多数现代计算机系统所兼容的Unicode编码采纳,普遍应用于各种手机短信和社交网络中。

sticker-一种贴纸,可以是动效的也可以是静态的,用来显示在屏幕上的。维基百科的解释如下。

A Sticker is a type oflabel: a piece of printed paper,plastic, or other material withpressure sensitive adhesiveon one side. They can be used for decoration or for functional purposes, depending on the situation.

Stickers can come in many different shapes and sizes and also vary widely incolourand design. They are often adhered to items such as lunchboxes, paper, lockers, notebooks, walls, cars, windows, and so on. Temporaryname tagsfor example are frequently stickers.

Stickers are very widely used when an object requires with a word or idea.Brandstickers may be attached to products to label these products as coming from a certain company. They may also be used to describe characteristics of the products that would not be obvious from simple examination. Alabel dispenseris often used as a convenient way to separate the sticky label from its liner or backing tape.

Stickers placed onautomobilebumpers, calledbumper stickers, are often used by individuals as a way of demonstrating support for political or ideological causes. Identification of vehicle registration and last service details are two examples of stickers on the inside of most car windscreens. The term "window sticker" is generally used for vinyl labels which are stuck to the inside of a vehicle's window, as opposed to water-resistant stickers that are stuck to the outside of a vehicle but can be affixed to anything.

Stickers are also used for embellishingscrapbookingpages. Kinds of stickers sold for this purpose include acrylic, 3D, cardstock,epoxy, fabric, flocked, sparkly, paper, puffy, and vellum. While in the earlier days of scrapbooking stickers were sold mostly on 2"x6" sheets, now[when?]6"x12" and even 12"x12" size sheets are very common.

Stickers applied to guitars are calledguitar decals.Post-it notesare removable stickers having glue on only part of the back, and are usually sold blank.

Wikimedia Commons has media related toStickers.

They are frequently distributed as part ofpromotional, andpolitical campaigns; for example, in manyvotingdistrictsin theU.S., stickers indicating an individual has voted are given to each voter as they leave thepolling place, largely as a reminder to others to vote. Observers may clap hands, honk a horn or otherwise applaud a good sticker.

Some people collect and trade stickers with other collectors.

animation-动态效果,动画,动图;

cinema graph-静态照片中神奇的细微运动技术。

其实就是,在静止的照片中,有局部一点点的微动态效果。 比如, 拍摄的湖面景色图,湖面水波有波纹在动。

其他的几种图/文字的展示效果我们暂时放下,先分析一下emoji的原理。

有了emoji的概念后,我们知道了,在不同的编码系统中,emoji的对应的编码是不一样的。如Unicode编码为E63E到E757,而在Shift-JIS编码则是从F89F到F9FC。如下图所示为QQ地带Emoji表情代码大全的截选。

然而,可能我们已经意识到了。不同的手机操作系统、甚至是同一操作系统的不同版本所支持的emoji表情又不一样。不同的APP,所支持的emoji也是不一样的。如QQ,微信,facebook等。 所以,完美主义者可以止步了,因为目前emoji表情并不能保证在所有终端上都能正常使用。

这是color key 的emoji在Android wechat上的展示效果

以下是刚刚的emoji在android WeChat上,发送后的效果.

可以看出来,在输入框中的显示和最终在微信中发送出去的版本,这两者是完全不一样的。

与此同时,我们很清楚地知道,在不同APP中,表示相同意思的emoji是用的完全不同的绘文字来表示的。比如facebook有其一套emoji的定义,twitter也是。

然而,不同的输入法的emoji定义和第三方APP中的定义是不尽相同的,也是没有办法统一的。比如,下图在输入法中的emoji的展示效果和最终输出来的效果完全不一样。 WeChat会自行按照这个APP定义的emoji编码来展示emoji的效果。

相同地,换成QQ,facebook等也是一样,会根据其自己定义的一套绘文字的编码来决定输入的emoji是何种呈现形式。

所以,验证前面所说的,每一个APP会有一套,独有的编码体系。这个编码体系来决定代表各个意思的emoji分别以哪种绘文字的形式存在。如,表示微笑的emoji在微信中,可能有2个表情与之对应,那么用户可以选择。同时在face book中,这个表情又是另一种呈现的形式了。

同时,前面也提到,不同的操作系统,或者操作系统的不同版本,emoji的呈现形式也是不一样的。有些没有编码的emoji根本不能显示出来,类似上图,展示成一个方块状的地方。

这里的操作系统的差异,不仅仅是android & IOS&windows等差异,如微信端在苹果手机和android手机上展示的emoji长得可能不一样(大小、样式),甚至有些不能展示出来。但是,针对QQ 的emoji,展示形式是不一样的, windows=android=IOS

结论:

1, 输入法APP中的emoji, 第三方APP, OS 展示可能都不一样;

2, emoji展示出来的形象,在WeChat这个APP上, android = IOS ≠Windows;

3,emoji展示出来的形象,在QQ这个APP上, android = IOS =Windows;

4,emoji的呈现形式与操作系统,操作系统的版本,输入法,具体的APP,都是有关系的。

5,最后,其实就是各个系统及APP对emoji的编码不一样,导致呈现形式的不一样,在APP本身+系统+编码+输入法,3重因素的影响下,emoji呈现形式有点乱,但其实背后是因为有3个因素的共同作用,才至于如此。

上一篇 下一篇

猜你喜欢

热点阅读