Emoji should render, and preferably better (via standard ZWJ combos supported by the font, as on Obsidian for Android, etc) than the default on Windows (which is falling back to Segoe UI for text font and likely the Segoe UI Emoji as well, given it’s rendering Microsoft’s Windows 10 April 2018 version of the smile emoji).
Actual result
No emoji render at all, so no fall-back is occurring, so some part of Obsidian is getting caught on the emoji and seemingly picking nothing as the correct glyphs to render here (not even tofu, so Noto still holds, ironically).
Environment
Sandbox Vault.
SYSTEM INFO:
Obsidian version: v1.4.13
Installer version: v1.4.5
Operating system: Windows 10 Home 10.0.19045
Login status: logged in
Catalyst license: insider
Insider build toggle: off
Live preview: on
Legacy editor: off
Base theme: dark
Community theme: none
Snippets enabled: 0
Restricted mode: on
RECOMMENDATIONS:
none
Additional information
Below are the above steps (from 4 onwards) recreated in the Sandbox Vault:
As an addendum, I have been able to recreate this on a difference device running Windows 11 (don’t ask why it says Windows 10 Home in the system info below, this is a laptop that came pre-installed with Windows 11, much to my annoyance). As it is Windows 11, the emoji will look different as Segoe UI Emoji was updated alongside it, however the same issue persists.
As sandboxed:
SYSTEM INFO:
Obsidian version: v1.4.13
Installer version: v1.4.5
Operating system: Windows 10 Home 10.0.22621
Login status: not logged in
Insider build toggle: off
Live preview: on
Legacy editor: off
Base theme: dark
Community theme: none
Snippets enabled: 0
Restricted mode: on
RECOMMENDATIONS:
none
The issue with specifically Noto Color Emoji seems to be that Windows doesn’t support the colour model used in that font.
I think theoretically it should work with the “WindowsCompatible” edition included in the zip in the Github release, but I haven’t managed to make it work on my Win10 machine. It shows up in the font list, but no emojis display when I use it. (Other emoji fonts such as Windows’s own Segoe UI Emoji or Twemoji do work.)
Install and enable the community plugin Custom Font Loader (available in the plugin store).
In your vault, in the .obsidian folder, create a subfolder called fonts.
This is where the Custom Font Loader plugin will look for fonts to use.
Put the font file Noto-COLRv1.ttf in this /.obsidian/fonts/ folder.
Relaunch Obsidian, so that the plugin sees the new font we put there.
Perhaps just disabling then enabling the plugin might also do. I haven’t tested.
With Obsidian relaunched, open the settings window. In the left panel, under the Community plugins heading, select Custom Font Loader to open settings for this plugin.
Under the Font heading, select from the dropdown menu Noto-COLRv1.ttf
Toggle the Custom CSS Mode option to enable it.
Under the Custom CSS Style heading, edit the input box to be :root {}
This means we are not assigning any CSS code in practice.
This field cannot be left empty, as the plugin will automatically fill the default value back in.
Now you can refer to the Noto Color Emoji font anywhere by the name Noto-COLRv1 (the file name). For example,
In Obsidian’s setting window, under Options > Appearance, you can manually add the font name Noto-COLRv1 into your font stack in Interface font, Text font, or Monospace font.
In your custom css file for your vault, you can declare font-family: 'Noto-COLRv1';