Giter Club home page Giter Club logo

emojitext's People

Contributors

dongyiqi avatar mrnerverdie avatar zouchunyi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

emojitext's Issues

表情换行bug

在表情在被换行时会出现显示bug
error

可以做如下修改修复该问题:
`int dot = 0;//repair next line distance
for (int j = info.len - 1; j > 0; j--) {
if (verts [i + j * 4 + 3].position.y >= verts [i + 3].position.y) {
repairDistance += verts [i + j * 4 + 1].position.x - m_TempVerts [2].position.x;
break;
} else {
dot = i + 4 * j;

					}
				}`

比对的顶点应该是对应的顶点
老代码是
if (verts [i + j * 4].position.y >= verts [i + 3].position.y)
修改后是
if (verts [i + j * 4 + 3].position.y >= verts [i + 3].position.y)

Text rect size

right now key lenght is 3 [0] if we add more images and rebuild emojis it will increase like 4 [1A]. this effects text rect size
screen shot 2016-12-28 at 5 23 59 pm

is there any way to fix it

表情换行bug2

在表情换行后需要重置repairDistance = 0
error2

如下代码可能会有帮助:
for (int i = 0; i < vertCount; ++i) { if ((i - 4) >= 0 && verts[i - 4].position.y != verts[i].position.y) { //a new line need reset repairDistance repairDistance = 0; } }

android上无法显示表情

下载的工程在编辑器模式下运行显示正常,打包安装在安卓手机上后无法显示表情,请问这是什么原因?
i98v0iahbjh6f5 ues1 cg

BUG与建议

换行的时候有BUG,现在是根据偏移量做减法,我觉得在正则表达式匹配完成后可以直接将对应的占位符用一个特殊字符替换掉。之后再调用
var settings = GetGenerationSettings(extents);
cachedTextGenerator.Populate(emojitext, settings);
计算出坐标,最后在设置需要显示表情位置顶点的UV即可,可省略计算偏移

kiss表情([1])错位

测试场景里面的kiss表情([1])表现为从第二个kiss图切换到smile图(简言之就是这个表情本来应该用5图-10图结果用了6图-11图),但是[0]没事,后面的smile表情也没事,我的Unity版本是2017.2

期待加入超链接

你好,对比了很多方案,目前为止你的方案比较适合我们项目。比较遗憾的是大佬还没实现超链接

不支持富文本

若存在 < b > < / b > 这类字符,则无法显示出颜文字,只会显示%%

关于存储帧信息的图片, 存储 和 取出数字的疑问

       string t = System.Convert.ToString (zhen - 1, 2);            //sourceDic [key] 帧数
                float r = 0, g = 0, b = 0;
				if (t.Length >= 3) {
					r = t [2] == '1' ? 0.5f : 0;
					g = t [1] == '1' ? 0.5f : 0;
					b = t [0] == '1' ? 0.5f : 0;
				} else if (t.Length >= 2) {
					r = t [1] == '1' ? 0.5f : 0;
					g = t [0] == '1' ? 0.5f : 0;
				} else {
					r = t [0] == '1' ? 0.5f : 0;
				}

Shader中是这样取出来的
half frameCount = 1 + sign(data.r) + sign(data.g) * 2 + sign(data.b) * 4; //二进制转换十进制


我尝试以下修改
//EmojiBuild
float zhenf = zhen / 10f;
dataTex.SetPixel(x / EmojiSize, y / EmojiSize, new Color(zhenf, zhenf, zhenf, 1));

//Shader
half frameCount = data.r * 10 - 1;

是因为在shader无法判断data.r 是几位小数吗, 按照二进制的方式来存储
0.9 应该乘以10
0.12 应该乘以100

  1. 图片最多支持8 帧动画

未处理Perfect Pixel的情况

看了一下源码,不知道为啥没有处理Perfect Pixel的情况- -
导致在Perfect Pixel打开的情况下无法显示表情
if (roundingOffset != Vector2.zero)
这个分支下面其实也需要进行编写一份一样的代码……或者抽出来也可以
wx20180207-154753 2x

虽然平时也不太用得到Perfect Pixel 但是还是改掉比较好吧

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.