Emojis not fully supported which results in blank received SMS messages
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| messaging-app |
Fix Released
|
High
|
Renato Araujo Oliveira Filho | |
| messaging-app (Ubuntu) |
High
|
Renato Araujo Oliveira Filho | ||
| ofono (Ubuntu) |
Medium
|
Alfonso Sanchez-Beato |
Bug Description
Android allows for adding emojis[1] to SMS messages. I'm told that iOS users are able to see these emojis. Our messaging app should also support displaying emojis.
emojis appear to not requires MMS since when using Google Hangouts in the new android, when you add an emoji the hangouts app says 'Sent now via SMS'. Two things need to happen:
1. need to be able to correctly receive SMS messages with arbitrary emojis. Currently, on image 120, an SMS with a known emoji, eg, a smiley face, will display correctly when it is and is not accompanied with text. However, an SMS with an unknown emoji (eg, with a pinata) will show up as a blank SMS, even when the SMS has text. At a minimum, the text of the message should always be shown, perhaps with an 'unknown emoji' placeholder
2. need to be able to send SMS messages with emojis
Related branches
- PS Jenkins bot: Needs Fixing (continuous-integration) on 2014-08-17
- Ubuntu Phablet Team: Pending requested 2014-08-17
-
Diff: 820 lines (+314/-3)11 files modifieddebian/messaging-app.install (+1/-0)
src/CMakeLists.txt (+2/-0)
src/emoji.cpp (+247/-0)
src/emoji.h (+45/-0)
src/main.cpp (+2/-0)
src/messagingapplication.cpp (+2/-0)
src/messagingapplication.h (+3/-0)
src/qml/CMakeLists.txt (+1/-0)
src/qml/MessageBubble.qml (+4/-1)
src/qml/Messages.qml (+2/-2)
src/qml/emoji/CMakeLists.txt (+5/-0)
- Bill Filler (community): Approve on 2014-09-17
- PS Jenkins bot: Needs Fixing (continuous-integration) on 2014-09-10
-
Diff: 24 lines (+2/-1)2 files modifieddebian/control (+1/-0)
src/qml/MainPage.qml (+1/-1)
- Sebastien Bacher: Approve on 2014-09-11
- Ken VanDine: Needs Fixing on 2014-09-10
- Marco Trevisan (Treviño) (community): Approve on 2014-09-10
-
Diff: 129 lines (+70/-4)7 files modifieddebian/changelog (+18/-0)
debian/control (+15/-2)
debian/patches/lp1269017.patch (+14/-0)
debian/patches/series (+1/-0)
debian/source/include-binaries (+1/-0)
debian/ttf-ancient-fonts-symbola.install (+1/-0)
debian/ttf-ancient-fonts.install (+20/-2)
Changed in messaging-app (Ubuntu): | |
assignee: | nobody → Tiago Salem Herrmann (tiagosh) |
importance: | Undecided → High |
status: | New → Confirmed |
Bill Filler (bfiller) wrote : | #1 |
Changed in ofono (Ubuntu): | |
importance: | Undecided → High |
assignee: | nobody → Tony Espy (awe) |
Changed in ofono (Ubuntu): | |
status: | New → Confirmed |
Tony Espy (awe) wrote : | #2 |
My take on this is that it's a feature request, not necessarily a bug.
Emoji support was *just* added to Android 4.4, and in fact isn't quite compatible with older releases of Android which support non-color emoji. Actually from what I've read, emoji support on Android usually required a 3rd party app, but Google's recent merging of Messaging and Hangouts in 4.4 made it a standard feature.
Furthermore, while there is some cross compatibility between iOS and Android, it's apparently not an exact match.
Finally, full support will require a special keyboard for the messaging app, and probably a unique set of emoji icons for Touch itself.
I'm working on figuring out what the underlying message scheme is for emoji, and will add details to the bug once I've done so.
Changed in ofono (Ubuntu): | |
importance: | High → Medium |
Tony Espy (awe) wrote : | #3 |
Standard text messages are usually encoded using 7BIT encoding.
When I send a message from Android to Touch using emoji, the message is encoded as UC2, however the decoding of this message ( which is done via a standard g_convert() call using the codepoints "UTF-8//TRANSLIT", "UCS-2BE" ) fails. So more investigation is needed into exactly how these messages are encoded.
The emojis are have code points wider than 16 bits, so they cannot be code using UCS-2. UTF-16 is being used instead, and the emojis are coded using surrogate pairs. Code to use UTF-16 in ofono instead of UCS-2 can be found in this PR:
Changed in ofono (Ubuntu): | |
assignee: | Tony Espy (awe) → Alfonso Sanchez-Beato (alfonsosanchezbeato) |
Changed in ofono (Ubuntu): | |
status: | Confirmed → In Progress |
Launchpad Janitor (janitor) wrote : | #5 |
This bug was fixed in the package ofono - 1.12.bzr6858+
---------------
ofono (1.12.bzr6858+
[ Tony Espy ]
* [ Tony Espy ] build, gril, rilmodem, plugins/ril, test: call-
forwarding support. [ Alfonso Sanchez-Beato ] build, gril,
plugins/rildev: dynamic plugin loading for ril-type modems. The
new rildev plugin reads an environment variable to determine
which device plugin to load ( defaults to the standard ril
plugin ). build, gril, plugins/ril, rilmodem, unit: radio-settings
support. Allow radio technology ( ie. use 2G-only ) preference to
be configured. [ Tony Espy ] test: update remaining test scripts to
Python 3. build, src, plugins, src/gprs: add MMS support. Added
new android-provision plugin and associated -apndb code to
provision GPRS and MMS contexts using apns-conf.xml as the primary
provisioning database, while mobile-
still queried in order to pickup additional Apns. Also added
support for combined Internet/MMS contexts by allowing MMS
specific properties to be set for OFONO_GPRS_
contexts. [ Alfonso Sanchez-Beato ] rilmodem/ussd: Fix USSD Initiate
hang (LP: #1299227 ). gril, rilmodem, unit: add SIM write support.
This allows ofono's core call-forwarding and message-waiting logic
to update persistent state on the SIM, in order to preserve it
across reboots. build, gril, include, plugins, src,
drivers/
adds support for MTK-ril modems without breaking compatibility
with AOSP-ril modems. examples, include, plugins, src: support for
gid type MVNOs in Android APN database. gril, rilmodem: fix for call
redirections (LP: #1239869). This fix checks and ignores a
Qualcomm specific error code that indicates a call has been re-
directed by an operator while roaming. build, gril, rilmodem,
unit: add call-barring support. gril, mtkmodem, rilmodem, unit: MTK
followup changes. This change adds unit tests for MTK specific
messages. It also consolidates parsing logic for parsing data
call lists, which is a valid payload for multiple message types.
Finally, the deactivate data call logic on start- up has been re-
worked to query the active calls before attempting to deactivate
any. src/smsutil: use UTF-16 instead of UCS-2 (LP: #1269017). If
an incoming SMS is indicated to be UCS-2, use UTF-16 instead to
decode so that emoji's ( which use larger codepoints than can be
encoded in UCS-2 ) are properly decoded. [ Jussi Pakkanen ]
phonesim: add a DBus control interface. This control interface has
been added in order to make phonesime more flexible for auto-pilot
testing of Touch's network-indicator code. [ Alfonso Sanchez-Beato
] android-
all usage of g_str_equal() to g_strcmp0(). This fixes a crash that
may happen if the SIM doesn't contain a SPN file. gril: switch
process to radio user. Te...
Changed in ofono (Ubuntu): | |
status: | In Progress → Fix Released |
Jamie Strandboge (jdstrand) wrote : | #6 |
Bug #1137630 describes that emojis could be supported by installing the Symbola font and describes how to get them to work. I have not tried to do that myself, but it might be an easy way to display emojis now that messages are no longer blocked when they contain emojis.
Bill Filler (bfiller) wrote : | #7 |
I installed the ttf-ancient-fonts package and now get many emojis correctly displayed in the messaging app and indicator. All the ones from the iphone are not supported, but many are.
We could install this fonts package in the image, but it does take disk space though.
Bill Filler (bfiller) wrote : | #8 |
17.2mb to be exact
Changed in messaging-app: | |
status: | New → Confirmed |
importance: | Undecided → High |
assignee: | nobody → Tiago Salem Herrmann (tiagosh) |
tags: | added: rtm14 |
Jamie Strandboge (jdstrand) wrote : | #9 |
2 cents> users are going to expect emojis to work, so it seems reasonable to include on the image. If the 17M is really an issue, perhaps add it now and then break ttf-ancient-fonts into two packages: one with emojis (eg ttf-ancient-emojis) and one with everything else (ttf-ancient-fonts) and have ttf-ancient-fonts Recommends ttf-ancient-emojis but only install ttf-ancient-emojis on the device. I have no idea how much space savings this would be or if it is easy to split the packages.
Adolfo Jayme (fitojb) wrote : | #10 |
It’s not mandatory to use specifically the Symbola font. You could also package and use the Noto Color Emoji free font, as Firefox OS has done. [1][2] (FreeType supports that color font... unless Ubuntu Phone doesn’t use FreeType, of course.)
[1]: https:/
[2]: http://
Jamie Strandboge (jdstrand) wrote : | #11 |
FYI: fonts-noto - "No Tofu" font families with large Unicode coverage
$ apt-cache policy fonts-noto
fonts-noto:
Installed: (none)
Candidate: 2013-04-11-2
Version table:
2013-04-11-2 0
500 http://
500 http://
Ie, fonts-noto appears to already be packaged in Ubuntu. On my mako device with most recent promoted:
$ sudo apt-get install fonts-noto
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
fonts-noto
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,631 kB of archives.
After this operation, 6,059 kB of additional disk space will be used.
I installed this on my device and tested if emojis worked. Now I see rectangles whereas before, I think I just saw nothing. Seems adding this to the touch seed would be part of the fix, but maybe more needs to be done.
Changed in messaging-app (Ubuntu): | |
status: | Confirmed → Triaged |
Please, include Unicode emoticons and pictographs in the default Ubuntu installation; as they:
- Allow visual representation in plain text, which saves having to use complex formatting in messages for this and warranties cross compatibility with Android and Apple devices for messaging.
- Saves a huge amount of time when editing documents where you want to have icons, as these are diverse and visual coherent with each other. You don't need to look for icon-sets that fits you purpose, and can be used everywhere you wish.
Tables are here:
- Emoticons: <http://
- Miscellaneous Symbols And Pictographs <http://
I have a branch that I started the implementation of support for basics emoji (smiles only).
On this branch you will be able to see any basic emoji that you received, and send using combinations of chars like :) :( :'( (that will be translated to the correct unicode, before send the message) .
Bill Filler (bfiller) wrote : | #14 |
@renato
I think we should use one of the font packages that does this already and try and reduce it's size. Seems easier then writing code to do it.
Changed in messaging-app (Ubuntu): | |
assignee: | Tiago Salem Herrmann (tiagosh) → Renato Araujo Oliveira Filho (renatofilho) |
tags: | added: touch-2014-09-18 |
You only need to include the Noto Sans typo, which will take 900 kB.
Also keep in mind that you will need to design some automation to keep this font updated, as the standard is continuously being extended.
Sebastien Bacher (seb128) wrote : | #16 |
is bug #1137630 a duplicate?
tags: |
added: touch-2014-09-25 removed: touch-2014-09-18 |
Changed in messaging-app: | |
assignee: | Tiago Salem Herrmann (tiagosh) → Renato Araujo Oliveira Filho (renatofilho) |
Changed in messaging-app (Ubuntu): | |
status: | Triaged → In Progress |
I only got this working with Symbola font.
I tried using "Noto Color Emoji" which has colored emojis, but I failed.
I was able to see the emojis using the ftview : ftview -m 😷 55 NotoColorEmoji.ttf
But I was unable to get it working with Qt.
I will attach my cpp and qml example to the bug if you want to try it.
Changed in messaging-app: | |
status: | Confirmed → In Progress |
Launchpad Janitor (janitor) wrote : | #21 |
This bug was fixed in the package messaging-app - 0.1+14.
---------------
messaging-app (0.1+14.
[ CI bot ]
* Resync trunk
[ Gustavo Pichorim Boiko ]
* Update pot file.
[ Tiago Salem Herrmann ]
* Workaround focus problem in the MultiRecipientInput component. (LP:
#1369018)
[ Renato Araujo Oliveira Filho ]
* Added Symbola font as dependency (LP: #1269017)
[ Ubuntu daily release ]
* New rebuild forced
-- Ubuntu daily release <email address hidden> Wed, 17 Sep 2014 15:58:09 +0000
Changed in messaging-app (Ubuntu): | |
status: | In Progress → Fix Released |
Changed in messaging-app: | |
status: | In Progress → Fix Released |
After testing with Tiago, seems ofono is dropping any messages with emojis in them on the floor. The messaging-app is delivered a blank message. The message sent was "emjoi follows <theEmoji> ok?". This is what is shown in dbus log
signal sender=:1.4 -> dest=(null destination) serial=190 path=/ril_0; interface= org.ofono. MessageManager; member= IncomingMessage 08T20:53: 36+0000" 08T17:53: 36-0300"
string ""
array [
dict entry(
string "LocalSentTime"
variant string "2014-04-
)
dict entry(
string "SentTime"
variant string "2014-04-
)
dict entry(
string "Sender"
variant string "+16176665555"
)
]