score:2
The symbols appearance depends on the font you use.
Please look at your updated jsfiddle. I've just changed the font on all elements:
* {font-family:serif !important}
Any element can have its own font.
It's up to you which font to use. So choose the right one and tune it up.
Update
I have to clarify several points:
- There are NO 'safe' or 'unsafe' fonts.
- Basically font works like a key-value storage
{code1 => glyph1, code2 => glyph2, ...}
, input a code and get the corresponding glyph - Font may or may not contain any code-glyph pair
- You can make your own font containing only desired symbols, having codes of your choice associated with glyphs of your choice e.g.
\u263d
can be any glyph you want, not always themoon
- In css
font-family:
you can specify one or several font-families and/or generic-families (look here). When the style's being applied to the text the browser converts each symbol ('A', ' ' or '\u263d'
) to its code and tries to get the glyph from the specified font-families until the glyph has been found or no more fonts have left.
If the font contains the desired code-glyph pair we can see a glyph, if not - we can see a space, ?, an outlined rectangle, a rectangle with the code inside, etc. (depends on the browser).
In this case: {font-family:serif} for \u263d
browser searches for the glyph for \u263d
in all system fonts of generic-family serif
. And on Android it firstly finds what you name the 'emoji'.
The solution is to find (see the jsfiddle) or to make (see the other jsfiddle) a font with the desired glyphs and apply it to the desired elements.
Hope it's helpful and clear.
score:1
The answer by Kosh Very has hit on something. Indeed, changing the font-family on all elements to serif does indeed result in the plain symbol being used in highcharts, even in Android 7. The trouble is, in actual use I cannot stick to a single "safe" font family... the font can be specified by the user, from any web font listed on Google fonts.
I've updated the jsfiddle to include loading and use of a web font:
// see https://github.com/typekit/webfontloader
WebFont.load({
google: {
families: ['Fresca:400']
}
});
And I use that font throughout, both inside and outside highcharts. The result on Windows Chrome is as before (plain text symbols all over), but now the result in Android 7 Chrome is:
So this now rather suggests that the issue isn't highcharts-specific after all, and more of a font issue as Kosh Very as indicated. Indeed in the original example, without any font stated explicitly, the font used in highcharts is different to that used outside... and probably hence the difference in symbol style.
But I've tried a couple of other completely different web fonts in the updated jsfiddle example, with the same result. In other words, the emoji sun symbol is not apparently coming from the font itself. Perhaps when a font is missing a particular character (these fonts probably don't have a character for every unicode value) then it reverts to using characters from the system font? From other discussions it seems that these coloured emojis might only show on Samsung devices, so maybe the system font on Samsung has these?
The solution (or workaround) seems to be use a "safe font" only where required (for the graphical characters), and your desired font elsewhere, as per this updated jsfiddle, which gives the following result on Android 7 Chrome:
BUT I've hit a snag with this solution... it works nicely for the sun symbol as above, but for the very next unicode character (moon symbol) it doesn't... so maybe that symbol is missing from the serif
font family and it reverts again to system emoji.
So the solution is probably still very patchy... maybe only limited to certain symbols.
Even for a font like Cardo that apparently supports the moon character \u263d
, this example doesn't work in Android Chrome... still get the coloured emoji version rather than the plain version.
Source: stackoverflow.com
Related Query
- Use non-emoji version of unicode character (highcharts and plain html)
- Use HTML class as Highcharts table data source
- how can I use rangeselector and navigation in highcharts in the given code
- Query regarding why and how to use highcharts license
- Using PhantomJS to create HighCharts grahps server side for use in PDF creation (PHP) - results in exit code 11 from PHPs exec();
- How can i force Highcharts to use same symbols in Legend and Series?
- Highcharts - Global configuration with common code and unique data & Headings
- How to use Highmaps and Highcharts with Meteor?
- Use of DotNet HighCharts dll to make charts in code behind
- How to use Highcharts in typescript and react
- how to use highcharts tooltip formatter in python code
- Highcharts display label for pie chart using html table as data source
- How to use jspdf to print and download the multiple highcharts contents in pdf format
- How to tell Highcharts to set date on the x axis, and use a range of time (like 1 day)
- Strange character in the Highstock source code
- What's the code in Highcharts such that the bars (columns) in the same group use the same color?
- How to use axios to fetch data from servlet and then crossfilter it and display via highcharts
- Highcharts use legend symbol and legend parms, not scatter marker symbols - in scatter plot
- HTML table as data source for highstock charts using highcharts
- Use HTML Textbox value as a HighCharts Percentage
- Basic Javascript: How can I link my HTML and Javascript on a Highcharts example?
- invalid character error with jquery and highcharts SCRIPT1014: Invalid character
- Force Highcharts to use my min and max
- Converted PHP code that built an array to JS and now highcharts doesn't work - what did I do wrong?
- Highcharts - Should Is use data labels or annotation or something else and how?
- Is it possible to use boost-canvas without enable WebGL in highcharts (current version 9.0.1)?
- Highcharts - How would I use HTML input boxes to input the data for a Pie Chart?
- Get Key names and Values names from JSON and use in Highcharts
- Add html buttons and selects to Highcharts
- Highcharts how to use column title as X axis and not as Legend
More Query from same tag
- Highcharts Spline lines not showing up
- I want to add a loading spinner or add some dialog until highcharts get loaded and should close after chart is loaded in react typescript?
- Highcharts with Angular
- JS HighCharts.js Pie data in different format
- Highcharts Datetime axis
- Black image bug when exporting highcharts in Firefox
- Half node in sankey Highchart
- I can't return my json object
- Getting "Highcharts error #17" when creating histogram (using Highcharts with Angular 6)
- Highcharts : Change color of series when hovering other series
- Highcharts while collecting JSON and changing the date by modifying the pointstart
- Highcharts loading image
- Highcharts tickAmount off by 1
- Highcharts not displaying anything just blank html page
- change datalabels color in a HighCharts chart when hovering without updating the series
- Passing an array from jsp to java script
- error with navigate for undefined router in angular2
- High Charts Breaking jQuery Across Rails App
- How to hide a highchars when there is no data to show?
- highcharts lang.resetZoom doesn't appear to work
- How do I enlarge the pie chart and shift to the center
- HighCharts - Y-Axis padding in a bar chart
- How can I add a <path> element in a <g> element in Highcharts
- Unknown Text Shadow (Highcharts)
- HighCharts PieChart with just one segment doesn't show a label
- Dynamically creating mutiple Highcharts charts in Angular directive
- HighStock x-axis displays numbers when category length is less than max value
- Highcharts Variable Pie
- how to calculate the minimum and maximum of treemap
- Multiple Axes on a Highcharts Heatmap