标签: emoji

NSString包含表情符号时如何获得NSString大小?

我目前正在使用

- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode
Run Code Online (Sandbox Code Playgroud)

获得NSString的大小.但是,当该字符串包含表情符号时,它似乎计算文字unicode字符的大小,而不是考虑表情符号本身的大小,使得返回的大小不正确.

如何使用表情符号正确获取字符串的大小,因为它将显示在uilabel中?

iphone objective-c nsstring ios emoji

10
推荐指数
1
解决办法
4060
查看次数

在javascript中使用regexp替换表情符号unicode符号

众所周知,表情符号最多可编码为3或4个字节,因此它可能会占用我的字符串中的2个符号.例如'wew'.length = 7我想在我的文本中找到这些符号,并将它们替换为依赖于其代码的值.读SO,我带着unicode插件来到XRegExp库,但还没找到如何使它工作的方法.

var str = 'wew';// \u1F601 symbol
var reg = XRegExp('[\u1F601-\u1F64F]', 'g'); //  /[?1-?F]/g -doesn't make a lot of sense  
//var reg = XRegExp('[\uD83D\uDE01-\uD83D\uDE4F]', 'g'); //Range out of order in character class
//var reg = XRegExp('\\p{L}', 'g'); //doesn't match my symbols
console.log(XRegExp.replace(str, reg, function(match){
   return encodeURIComponent(match);// here I want to have smth like that %F0%9F%98%84 to be able to map anything I want to this value and replace to it
}));
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

我真的不想强行查找我的范围内的字符序列.有人可以帮我找到用regexp做的方法.

EDITED刚想 出了一个枚举所有表情符号的想法.比野蛮力更好,但仍然在寻找更好的主意

var …
Run Code Online (Sandbox Code Playgroud)

javascript regex unicode emoji

10
推荐指数
4
解决办法
3万
查看次数

如何通过代码检测Android上的表情符号支持

通过代码,我可以创建一个按钮,将这3个表情符号插入到文本中:⚽️

但是,在用户点击按钮的许多手机上,问题是⚽️显示为[X] [X] [X].或者更糟糕的是,它只显示三个空白区域.

我想在没有正确显示表情符号的Android设备上禁用和隐藏我自己的内置表情符号键盘.如果设备有表情符号支持,是否有人知道或有关于如何检测代码的提示?

我已经读过android 4.1支持表情符号,但这不是我的经验....

android emoji android-api-levels

10
推荐指数
2
解决办法
3291
查看次数

如何在网站上使用表情符号字体?

我已经下载了Google的"Noto Color Emoji"字体,但无法使其正常工作.我对"Noto Sans Regular"等字体没有任何问题.但是使用"Noto Color Emoji"字体,我在Firefox中遇到以下错误(在Windows 10上):

downloadable font: no supported glyph shapes table(s) present (font-family: "NotoColorEmoji" style:normal weight:normal stretch:normal src index:0)
downloadable font: rejected by sanitizer (font-family: "NotoColorEmoji" style:normal weight:normal stretch:normal src index:0)
Run Code Online (Sandbox Code Playgroud)

它也不适用于Windows 10上的Chrome,Internet Explorer和Edge或Ubuntu Linux上的Firefox.

这是我的代码:

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <style type="text/css">
        @font-face {
            font-family: 'NotoColorEmoji';
            src: url('NotoColorEmoji.ttf') format('truetype');
        }
    </style>
</head>

<body>
    <span style="font-family: 'NotoColorEmoji'">Emojis: </span>
</body>
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?表情符号字体是否以不同的方式使用?

html css fonts webfonts emoji

10
推荐指数
3
解决办法
1万
查看次数

在python 3中将表情符号转换为Unicode,反之亦然

我试图将表情符号转换为python 3中的Unicode.例如,我将使用表情符号,并希望获得相应的unicode"U + 1F600".同样我想将'U + 1F600'转换回来.现在我已经阅读了文档并尝试了几个选项,但是pythons行为让我感到困惑.

>>> x = ''
>>> y = x.encode('utf-8')
>>> y
b'\xf0\x9f\x98\x80'
Run Code Online (Sandbox Code Playgroud)

表情符号被转换为字节对象.

>>> z = y.decode('utf-8')
>>> z
''
Run Code Online (Sandbox Code Playgroud)

将字节对象转换回表情符号,到目前为止一直很好.

现在,为表情符号取unicode:

>>> c = '\U0001F600'
>>> d = c.encode('utf-8')
>>> d
>>> b'\xf0\x9f\x98\x80'
Run Code Online (Sandbox Code Playgroud)

这会再次打印出字节编码.

>>> d.decode('utf-8')
>>> ''
Run Code Online (Sandbox Code Playgroud)

这会再次打印出表情符号.我真的无法弄清楚如何只在Unicode和表情符号之间进行转换.

python unicode formatting emoji

10
推荐指数
1
解决办法
1万
查看次数

黑莓和Android应用程序上的表情符号(表情符号).怎么支持?

我想知道whatsapp如何为此提供支持.我可以在iPhone上使用emojis,因为它本身支持.我不是为bb开发而不是android,但我需要帮助编程人员使用这些东西.

bb的家伙告诉我,他可以添加字体作为项目资源(TTF),但由于表情符号,是彩色的图形,我不知道如果我能创造一个TTF.我对字体一无所知.

正如你所看到的,我的知识非常重要.我只需要一些提示,指出我正确的研究方法.

谢谢!

fonts android blackberry emoticons emoji

9
推荐指数
2
解决办法
7万
查看次数

如何在使用 GmailApp 发送的电子邮件中插入表情符号?

我有一个发送自动电子邮件的 GAS 脚本,并希望包含几个表情符号。我试过使用短代码和复制/粘贴,但到目前为止似乎没有任何效果。只是想看看有没有我遗漏的东西。

编辑:这是代码:

var title = rowData.publicationTitle;
var journal = rowData.journalTitle;
var url = rowData.publicationUrl;

//Emoji goes here in the body:
var body = "Hi " + firstName + "!<br><br>I noticed your article <a href='" + url + "'>&ldquo;" + title + "&rdquo;</a> was recently published in <i>" + journal + "</i>. Congratulations! This is just a friendly reminder to please upload your original document and a PDF version to our publications app when you have time.<br><br>To upload your …
Run Code Online (Sandbox Code Playgroud)

email gmail google-apps-script emoji

9
推荐指数
2
解决办法
3063
查看次数

为什么 Unicode 表情符号属性转义匹配数字?

我发现了这种使用Unicode 属性转义使用不使用“巨大魔法范围”的正则表达式来检测表情符号的很棒的方法:

console.log(/\p{Emoji}/u.test('flowers ')) // true
console.log(/\p{Emoji}/u.test('flowers')) // false
Run Code Online (Sandbox Code Playgroud)

但是当我在这个答案中分享这些知识,@Bronzdragon 注意到它\p{Emoji}也匹配数字!这是为什么?数字不是表情符号?

console.log(/\p{Emoji}/u.test('flowers 123')) // unexpectdly true

// regex-only workaround by @Bonzdragon
const regex = /(?=\p{Emoji})(?!\p{Number})/u;
console.log(
  regex.test('flowers'), // false, as expected
  regex.test('flowers 123'), // false, as expected
  regex.test('flowers 123 '), // true, as expected
  regex.test('flowers '), // true, as expected
)

// more readable workaround
const hasEmoji = str => {
  const nbEmojiOrNumber = (str.match(/\p{Emoji}/gu) || []).length;
  const nbNumber = (str.match(/\p{Number}/gu) || …
Run Code Online (Sandbox Code Playgroud)

javascript regex emoji

9
推荐指数
1
解决办法
671
查看次数

How to show emojis in vscode ubuntu 20.04?

我试图在 Ubuntu 版本 20.04 的计算机上显示 VSCode 中的表情符号,但按下组合键“Windows”+“。” (句号),它不执行任何操作,我已经在调查,但我没有找到任何可以给我解决方案的内容,所以我仍然无法显示表情符号,我不想在 VSCode 中安装豁免意思是:(冒号)向您显示表情符号,因为它在编程时会给我带来噪音,值得一提的是,我已经在Windows操作系统上尝试过,并且组合工作没有问题。

如果我需要安装额外的库或者在 Ubuntu 中显示表情符号的组合键不同,我希望您能帮助我。

首先,谢谢。

ubuntu emoji visual-studio-code

9
推荐指数
2
解决办法
1万
查看次数

Flutter 是否有办法绕过 Android 对表情符号的大小限制?

Android 似乎仍然以一种奇怪的方式缩放表情符号。

我发现这是其他 Android 开发平台(直到 Android 11)中的一个问题,并且现在在 Android 12 中似乎仍然存在。 Android 讨论

也许 Flutter 有办法解决这个问题?比如缩放功能,或者在缩放之前转换为图像之类的?InteractiveViewer 不起作用(如果有的话,用 InteractiveViewer 包装列小部件是演示实际问题的好方法)。

我使用 Fitted box 将 Flutter 中的表情符号放大到父容器中的任何大小。它在大多数平台上都可以正常工作,但是在 Android 中,超过 90 像素会对最终渲染产生奇怪的影响。

这就是 dart-pad 中的样子:

DartPad 示例

现在在 Android 中(无论是真机还是模拟器):您可以清楚地看到缩放问题。大黄色曲线是应该为 90x90 的表情符号:

[编辑] 在模拟器上,没有大的黄色曲线,但表情符号仍然丢失。

安卓截图

这是您自己尝试的代码。

import 'package:flutter/material.dart';

const Color darkBlue = Color.fromARGB(255, 18, 32, 47);

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData.dark().copyWith(
        scaffoldBackgroundColor: darkBlue,
      ),
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Center(
          child: MyWidget(),
        ), …
Run Code Online (Sandbox Code Playgroud)

android emoji flutter

9
推荐指数
0
解决办法
420
查看次数