2016-03-10 28 views
7

Non riesco a ottenere Chrome su OSX per stampare emoji, c'è qualche trucco di css o altro?Regola CSS per rendere OSX Chrome Print Emoji

Qui ci sono 2 emoji: Quando provo a stampare questa pagina, lo spazio delle emoji è conservato, ma è bianco. Nella stampa di Safari, l'emoji funziona perfettamente.

Ecco uno screenshot di l'anteprima di stampa di questa pagina su Chrome: chrome print preview

+0

Vedo _three_ simboli: ['' è U + 1f44d] (http://www.fileformat.info/info/unicode/char/1f44d "THUMBS UP SIGN"), ['' è U + 1f1e6] (http://www.fileformat.info/info/unicode/char/1f1e6 "INDICATORE REGIONALE SIMBOLO LETTERA A"), e ['' è U + 1f1f9] (http://www.fileformat.info/info/unicode/ char/1f1f9 "INDICATORE REGIONALE SIMBOLO LETTERA T"). Puoi fornire i codici dei caratteri, un'immagine di ciò che ti aspetti e un'immagine di ciò che ottieni? Dovresti essere in grado di scattare screenshot dell'anteprima di stampa. (Sono su Firefox su Linux.) –

+0

Ah, quelli sono [simboli indicatori regionali] (https://en.wikipedia.org/wiki/Regional_Indicator_Symbol), quindi '' indica [Austria] (https: // en. wikipedia.org/wiki/Austria) di [codice del paese] (https://en.wikipedia.org/wiki/Country_code) e le relative emoji sarebbero (generalmente) la bandiera austriaca. Non sono ancora sicuro di cosa intendi per "lo spazio delle emoji". Si prega di fornire il codice HTML/CSS. –

+0

Intendo la larghezza fisica e l'altezza sulla carta. – fabb

risposta

2

Dopo un sacco di dialogo nei commenti della questione, sembra di avere un problema di rendering dei caratteri (forse un bug Chrome). Non penso che questo possa essere risolto con qualsiasi combinazione di HTML, CSS o Javascript.

Vi è, tuttavia, la possibilità di aggirare il problema non utilizzando un font.

è possibile utilizzare un vector image come SVG di avere lo stesso tipo di capacità di scala come un tipo di carattere:

Basta collegarsi all'SVG come immagine e specificare le sue dimensioni in HTML o in CSS secondo necessità.

 

Con un po 'di lavoro, si potrebbe automatizzare la conversione di emoji generati dagli utenti alle immagini utilizzando un dizionario di immagini note e integrare che esce con il sia lo SVG o PNG emoji a FileFormat.Info. Hanno un list of emojis che si potrebbe racimolare (supponendo che non si tratti di una violazione di their terms of service) per PNG e di un SVG per ogni carattere (emoji o altro) che può essere ottenuto dal solo codice carattere. Ad esempio, ecco U + 1f44d ():

http://www.fileformat.info/info/unicode/char/1f44d 

Sarà l'unico collegamento SVG sulla pagina, così si potrebbe fare questo in JS:

var svg_src = fileformat_info.querySelector('a[href$=".svg"]').href; 

Ciò detto,' Sarebbe molto preferibile avere questo ready-made piuttosto che creare da zero. @pandawan's answer suggerendo twemoji sembra promettente.

 

Forse ci è una soluzione CSS-only: Ho anche letto altrove che è possibile stampare correttamente questi caratteri avoiding bold (e forse ogni manipolazione caratteri e sul testo forse solo rendere la dimensione del carattere? più grande?). Questo può dipendere dai font installati sul sistema client.

+0

Grazie per la persistenza nel rispondere alla domanda, ti sei guadagnato la taglia. Sfortunatamente le emoji sono generate dall'utente, quindi avrei bisogno di convertire le emoji in modo automatico. Quindi sto esaminando twemoji descritto nella risposta di @Pandawan – fabb

2

Ciò è dovuto a un rendering difference between Chrome and Safari, non lo chiamerei un bug dal momento che non credo che il comportamento previsto sia definito ovunque (Firefox ha problemi a rendere anche i tuoi emoji).

Se si desidera un supporto emoji completo e semplice su tutte le piattaforme, è possibile utilizzare twemoji, una piccola libreria sviluppata da Twitter per questa specifica esigenza.

+0

Grazie per il link. La cosa strana è che Chrome mostra le emoji bene durante la navigazione, ma non le mostra solo quando stampa. – fabb

+0

twemoji sembra interessante. – fabb