Visualizzare e scrivere le emoji con la tastiera in Linux

Le emoji sono le famose faccine nate originariamente in Giappone parecchi anni fa, e portate più recentemente al successo da applicazioni mobili come Whatsapp, Facebook Messenger e Google Hangouts.

Praticamente chiunque possieda uno smartphone avrà usato almeno una volta la faccina sorridente ☺,  il pollice in su 👍 o, perché no, anche la “cacchetta” 💩. 😛 Tutto ciò è reso possibile dal fatto che questi simboli fanno parte di un vero e proprio standard, ovvero sono contenute nella versione 6.0 dello standard Unicode.

Ciò ha una conseguenza positiva: è stato stabilito un linguaggio universale, esattamente come con le normali lettere dell’alfabeto, e ciò permette a tutti i software e sistemi operativi di poter riconoscere tali simboli.

Ovviamente Linux non è da meno, tuttavia nell’installazione predefinita di Ubuntu e altre distribuzioni non è presente un metodo semplice per scrivere questi simboli. Inoltre, a volte manca anche il font per visualizzarle. Vediamo come porre rimedio a tutto ciò. 🙂

Partiamo dalla visualizzazione. Esiste un carattere chiamato Symbola che contiene tutte le icone. Su Ubuntu si può installare tramite il pacchetto ttf-ancient-fonts, se usate altre distribuzioni verificate voi il nome del pacchetto. 🙂

Fatto ciò, dovreste essere in grado di visualizzare le emoji sulla pagina di Wikipedia (potrebbe richiedere un riavvio del browser). Ora è il momento di abilitare l’inserimento semplificato delle icone, vale a dire la possibilità di digitarle senza copiarle dalla tabella caratteri. Ciò che otterrete alla fine sarà un menu di questo tipo:

Menu di inserimento assistito per le emoji
Menu di inserimento assistito per le emoji

Come vedete nella figura, digitando un pezzettino della descrizione dell’emoji desiderata (in questo caso l’inizio della parola sunglasses), appare un menu che consente di scegliere la faccina voluta: 😎

In molte distribuzioni, avrete notato che sulla taskbar avete un menu a tendina che consente di cambiare la tastiera (per esempio da Italiana a Americana), questo è reso possibile grazie al software IBus. Di seguito vi spiegherò come aggiungere un’altra “lingua” tra quelle disponibili, ovvero UniEmoji.

Innanzitutto bisogna scaricare il codice, magari in una cartella temporanea, e poi scompattarlo. I comandi da dare nel terminale sono i seguenti:

cd /tmp
wget https://github.com/lalomartins/ibus-uniemoji/archive/master.zip
unzip master.zip
cd ibus-uniemoji-master

L’ultimo comando vi fa spostare nella directory corretta.

A questo punto dovete installare il pacchetto checkinstall, che vi consiglio perché permette una eventuale disinstallazione in modo assai pulito. Su Ubuntu basta fare:

sudo apt-get install checkinstall

Ora potete procedere alla compilazione del pacchetto:

sudo checkinstall

Appariranno delle domande. La prima recita Should I create a default set of package docs? [y] e voi dovrete premere semplicemente Invio. La seconda vi invita a inserire una descrizione al cursore >>, premete sempre Invio. La terza vi mostrerà un riepilogo dei dati del pacchetto, tra cui:

[...]
2 - Name: [ ibus-uniemoji ]
3 - Version: [ master ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
[...]

Voi dovete premere 3 per modificare la versione. Quando vi chiede di inserirne una nuova, scrivete semplicemente 1 e premete Invio. Premete nuovamente Invio al successivo riepilogo, e attendete. Presto vedrete un messaggio che inizia per:

Done. The new package has been installed and saved to [...]

Ora è quasi fatta! 🙂 L’icona predefinita di UniEmoji è bruttina, pertanto vi consiglio di rimpiazzarla con un bello smile sorridente. Per fare questo, andremo a modificare un file del programma, col seguente comando:

sudo sed -si "s/\/usr.*svg/\/usr\/share\/icons\/Humanity\/emblems\/48\/emblem-cool.svg/g" /usr/share/ibus/component/uniemoji.xml

A questo punto dovete terminare la sessione, e poi entrare di nuovo col vostro account utente. Cliccate sull’icona della taskbar dove normalmente scegliete la lingua della tastiera e andate su Impostazioni inserimento testo. Quest’ultima è la voce che si trova su Ubuntu, ma immagino che altre distribuzioni abbiano nomi simili, eventualmente guardate nelle preferenze di sistema. 😉

Premete il tastino + per aggiungere un nuovo metodo, e cercate UniEmoji. Cliccate su Aggiungi e verrà inserito nella lista. Vi consiglio di metterlo appena sotto al metodo che usate di solito, poi spiego perché.

Aggiunta di UniEmoji come secondo metodo di input
Aggiunta di UniEmoji come secondo metodo di input

A questo punto avete terminato i passi necessari! 😉

Selezione del metodo di input
Selezione del metodo di input

Quando volete inserire una emoji, vi basta cliccare sul menu a tendina e selezionare UniEmoji. Dopidiché, iniziate a digitare una parola chiave che descrive l’emoji (in inglese) e il menu suggerirà quelle corrispondenti. Potete trovare le descrizioni di tutte le faccine su Emojipedia.

Poche righe sopra vi ho consigliato di inserire UniEmoji al secondo posto. Il motivo è presto detto: IBus permette di cambiare metodo di inserimento tramite la combinazione Windows + Spazio, passando alla successiva. Shift + Windows + Spazio invece permette di tornare alla precedente.

Ciò significa che quando volete inserire una emoji, potete digitare la prima combinazione ed attivare subito UniEmoji. Alla fine, potete premere la seconda combinazione e tornare alla lingua che usate di solito. 🙂

Installare ed utilizzare i font Latin Modern su LyX

LyX è una applicazione con interfaccia grafica per la redazione di documenti. Utilizza un proprio formato di file, ma è essenzialmente basato sul motore \LaTeX e dipende da esso per funzionare.

Tale tecnologia, oltre ad essere software libero, è anche lo standard utilizzato per le pubblicazioni matematiche e più in generale scientifiche. In occasione del Linux Day 2013, noi del GrappaLUG abbiamo anche realizzato un intervento per imparare ad usarlo. Potete vedere il video del talk cliccando qui.

Il successo e la versatilità di questo vero e proprio linguaggio di programmazione per documenti non deriva solo dal fatto che sia facile scrivere cose come \sum_{i=0}^\infty \frac{1}{2^i} = 2, bensì dalle numerose funzioni avanzate come la gestione automatica delle figure e della bibliografia, la sillabazione e in generale perché la resa grafica è semplicemente stupenda.

LyX “nasconde” la difficoltà di imparare il linguaggio vero e proprio, e consente di scrivere documenti \LaTeX con un editor visuale, il documento finale può essere prodotto con un click. Ecco una pagina di esempio che ho scritto usando LyX, con la classe documento article (AMS):

Aspetto del PDF prodotto da LyX
Aspetto del PDF prodotto da LyX

Come potete vedere la qualità del risultato è già apprezzabile. Lasciate perdere che nel testo io abbia commesso un paio di errori di ortografia e abbia scritto “carattere senza grazie” invece di “carattere con grazie”, lo scopo era riempire la pagina. 😀

Dalla figura potete notare che di default il font utilizzato somiglia un po’ ad alcuni caratteri famosi, come ad esempio il Times o il Georgia. In realtà il font che vedete si chiama Computer Modern ed è lo standard predefinito. Di per sé questo carattere è leggibile, tuttavia si presenta un problema con i documenti prodotti da LyX (e spesso anche usando direttamente \LaTeX): i font utilizzati sono bitmap.

Che significa? In sostanza i caratteri non sono vere e proprie forme geometriche come capita di solito, bensì immagini molto grandi. Cosa succede quando il documento viene zoomato esageratamente? La figura seguente illustra l’effetto sui font bitmap e su quelli vettoriali (vale a dire geometrici).

Differenza tra i font bitmap e quelli vettoriali
Differenza tra i font bitmap e quelli vettoriali

L’aspetto “brutto” in realtà non si presenta soltanto zoomando intensamente, bensì anche nella chiarezza del testo nei visualizzatori PDF. Se si usano font bitmap il carattere sembra un po’ spigoloso anche dove dovrebbe essere liscio.

In linea teorica sarebbe possibile installare una versione “migliorata” di Computer Modern, su Ubuntu e distribuzioni simili il pacchetto si chiama cm-super. Tuttavia, questa soluzione è sconsigliata, e viene suggerito invece di usare il nuovo carattere Latin Modern, che è un Computer Modern completamente ridisegnato in vettoriale e arricchito di nuovi simboli. Su Ubuntu si può installare con il comando:

sudo apt-get install lmodern

Occupano anche meno spazio su disco rispetto ai cm-super. 😉 Vi consiglio di impostarli come caratteri dell’anteprima di LyX, andando su Strumenti » Preferenze » Caratteri schermo e attivando rispettivamente Latin Modern Roman, Latin Modern Sans e Latin Modern Mono.

Una volta fatto ciò, è necessario indicare a LyX di usare questo carattere anche nel documento finale. Per farlo, dovrete andare su Documento » Impostazioni » Preambolo di LaTeX. Io vi consiglio di inserire il seguente contenuto:

\usepackage{lmodern}
\usepackage{microtype}
\frenchspacing

Il primo comando importa il pacchetto del carattere Latin Modern, sistemando il problema dei font. Il secondo invece usa un altro modulo, chiamato microtype. Su Ubuntu si trova nel pacchetto texlive-latex-recommended. Esso non è legato ai caratteri vettoriali, tuttavia lo trovo veramente ottimo in quanto realizza delle micro-ottimizzazioni per migliorare l’aspetto della pagina ancora di più, per esempio uniformando il livello di “nero” sul foglio.

Lo fa riducendo le parole che devono essere spezzate andando a capo e facendo “sforare” di poco le virgole e gli altri segni di punteggiatura dal margine della pagina. Questo paradossalmente lo fa sembrare più dritto. 🙂

L’ultima riga infine attiva la cosiddetta “spaziatura francese”, cioè quella normale se scrivete in italiano. Normalmente in America è consuetudine scrivere uno spazio più lungo al termine di ogni frase. Per avere uno spazio uguale a quello tra le singole parole, dovete attivare la spaziatura francese. Ho usato questo parametro anche nella prima immagine.

Nella finestra di LyX potete applicare le modifiche al singolo documento attivo, oppure anche impostare tale preambolo come predefinito per tutti i documenti futuri. Io la trovo una funzione molto comoda. Ecco lo stesso documento di prima, con il nuovo preambolo:

Aspetto del PDF con le nuove impostazioni
Aspetto del PDF con le nuove impostazioni

Potete vedere che il lettore PDF visualizza molto meglio le lettere, in quanto sono vettoriali. La nitidezza si apprezza anche zoomando la pagina. Oltre ai caratteri migliori, si notano anche le piccole ottimizzazioni messe in atto da microtype, che si evidenziano ancor meglio nella seguente rappresentazione:

Differenza tra i due PDF, in azzurro la versione originale
Differenza tra i due PDF, in azzurro la versione originale

Per concludere, l’utilizzo di Latin Modern e di microtype migliora ancora di più la già alta qualità dell’output prodotto da LyX. Non solo, l’ultimo importante vantaggio è che il testo del PDF risulterà correttamente copiabile e ricercabile, al contrario di quanto accade con i font bitmap! 😉

Come avere i font con antialiasing in Wine e integrarne meglio l’aspetto grafico

A dire il vero non mi capita spesso di utilizzare Wine, per il semplice fatto che in genere trovo per Linux tutto ciò di cui ho bisogno. Tuttavia in questo periodo sto facendo un lavoro di gruppo per un esame e ho deciso di installare il client Windows di Evernote per sfruttare le funzioni che l’interfaccia web non offre. Avevo provato Nevernote/Nixnote ma a volte scombina il layout di alcune note, e comunque si tratta solo di una situazione temporanea.

Se c’è una cosa che non apprezzo particolarmente di Wine, comunque, è la perseveranza con cui rimane non integrato con tutto il resto del sistema. Ovviamente non si può pretendere di avere un look perfettamente analogo a GNOME o KDE, però non capisco proprio come la loro implementazione del font Tahoma (basata in realtà sul Bitstream Vera Sans) sia stata realizzata di proposito con i caratteri senza antialiasing a determinate dimensioni, per imitare il comportamento discutibile di alcune versioni di Windows.

Per chi non lo sapesse, l’antialiasing (o più precisamente l’hinting, nel caso dei font) è una sfumatura dei pixel per migliorare la leggibilità. Sapete già che sono abbastanza esigente dal punto di vista dell’integrazione grafica dei software, però in questo caso costituisce anche un problema serio di leggibilità delle finestre.

Ho scoperto recentemente che si può installare il Tahoma semplicemente usando winetricks e questo risolve parzialmente il problema. Tuttavia personalmente ho notato che Evernote continuava a non metterlo in alcune schermate (e presumibilmente anche altri programmi per Windows). Per questo motivo ho deciso di trovare una soluzione alternativa e già che c’ero anche di applicare un tema trovato in rete tempo fa. Il procedimento non è lungo ma il risultato è molto soddisfacente.

Elaborazione grafica delle preferenze di Wine prima e dopo il "trattamento"

Partiamo dal tema: si tratta di uno stile per Windows XP chiamato Wooden e lo potete scaricare da questo sito russo (cliccate dove vedete scritto “wooden.zip [7.74 Mb]“). Una volta scompattato, andate nelle preferenze di Wine alla scheda Integrazione della Scrivania e premete Installa un tema: Vi verrà chiesto di scegliere il file con estensione .msstyles. Tenete presente che in alcune finestre i bottoni rimarranno senza angoli arrotondati, però in genere avrà tutto un’aspetto migliore e i colori somiglieranno al tema di Ubuntu.

Riguardo ai font, la mia idea è stata quella di usare la famiglia Droid Sans (quella dei primi dispositivi Android, per intenderci) e inserire nella cartella di sistema di Wine una copia dei file appositamente rinominati. Per farlo, dovrete assicurarvi tramite il Software Center (o gestore di pacchetti della vostra distribuzione) di avere installati questi font e anche il pacchetto fonttools, necessario per quello che andremo a fare tra poco. Per installarli su Ubuntu si può fare così:

sudo apt-get install ttf-droid fonttools

A questo punto è il momento di copiare i font nell’apposita directory:

cd ~/.wine/drive_c/windows/Fonts/
cp /usr/share/fonts/truetype/ttf-droid/DroidSans.ttf tahoma.ttf
cp /usr/share/fonts/truetype/ttf-droid/DroidSans-Bold.ttf tahomabd.ttf

Come anticipato prima, ai font dev’essere attribuito un nuovo nome. Non è sufficiente rinominare i file perché all’interno contengono salvato il nome originale. Andiamo quindi a convertire i file in formato XML per poi sostituire il nome con Tahoma:

ttx tahoma*.ttf
rm tahoma*.ttf
sed -si "s/Droid\ Sans/Tahoma/g" tahoma*.ttx
sed -si "s/DroidSans/Tahoma/g" tahoma*.ttx
ttx tahoma*.ttx
rm tahoma*.ttx

In sostanza dopo la prima conversione sostituiamo con sed tutte le occorrenze necessarie e poi procediamo alla riconversione, mentre i comandi rm fanno pulizia quando serve. A questo punto il gioco è fatto, basta avviare un programma che gira con Wine per notare la differenza. Ho provato anche con altri font, compreso quello di Ubuntu, ma i risultati erano meno soddisfacenti. Voi che ne dite? 🙂

OpenOffice e i font sbagliati in modalità presentazione

Mi sono accorto di questo inconveniente qualche giorno prima del Linux Day, e vi garantisco che non è stato divertente: mancava pochissimo all’evento e la mia presentazione fatta con Impress si vedeva malissimo quando veniva proiettata. In realtà la grafica era perfetta, il problema erano i caratteri.

Mentre il font che avevo scelto si mostrava in tutto il suo splendore quando modificavo le slide, in modalità presentazione alcuni numeri nelle tabelle venivano mostrati in un carattere Sans, e per di più con le cifre “appiccicate” tra loro. Questa è una slide in cui si nota il problema.

Come potete notare i costi sono tutti scritti male. Fortunatamente sono riuscito a scovare una segnalazione di questo bug (#585910) e il commento numero 16 mi ha salvato: dopo aver seguito il suggerimento proposto, ecco che la slide si è visualizzata correttamente, come tutte le altre.

Il trucco è davvero molto semplice, infatti basta disattivare l’accelerazione hardware dalle opzioni di OpenOffice.

L’opzione da disattivare

Per quello che ho potuto constatare, ciò non ha alcun effetto collaterale. Vi consiglio quindi di togliere l’opzione, non si sa mai!

Come installare i font di Microsoft Office 2007 in Linux

Sapete bene che non sono per nulla entusiasta di gran parte di ciò che riguardi Microsoft. Il suo monopolio purtroppo crea un problema abbastanza irritante che è anche legato ai documenti. Se una persona che usa Office 2007 mi invia un documento di testo, probabilmente lo farà in docx. È un formato un po’ antipatico, ma fortunatamente OpenOffice lo può leggere. Bene, fin qui ci siamo.

Ora che l’ho aperto è tutto sballato. Wow, favoloso. Cos’è successo? È relativamente semplice da capire, non sono in possesso dei font che l’incauto utente ha ben pensato di ritenere universali e di includere in ogni parte del documento. In passato i font più diffusi erano Arial, Times New Roman, e simili. Non sono font liberi, ma comunque reperibili dal sito del progetto Core Fonts. Tempo fa Microsoft aveva deciso di farli diventare lo standard per il web e quindi li aveva distribuiti, anche se in forma di exe inalterabile.

Fermo restando che chi progetta un sito web dovrebbe sempre usare criterio e predisporre un layout visualizzabile con font più banali possibile (Sans e Serif) e eventualmente poi aggiungerne altri, rimangono i problemi relativi ai documenti.

Ora che sta prendendo piede la brutta moda di Office 2007 e Windows Vista, il rischio di non poter almeno vedere i documenti correttamente aumenta in modo considerevole. Casualmente mi è capitato di leggere sul blog di OpenOffice Ninja un post che descriveva come installare alcuni di questi font ricavati dal PowerPoint Viewer.

Dopo aver provato il suo procedimento, ho verificato che la versione demo gratuitamente scaricabile dal sito di Microsoft di Office 2007 contiene svariati font in più. Giusto per essere chiari, oltre a dire che il download del file contente i font è reso disponibile dalla stessa Microsoft, è bene citare la licenza riportata dal prodotto:

c. Componenti dei Tipi di Carattere. Mentre il software è in esecuzione, il licenziatario potrà utilizzare i relativi tipi di carattere per visualizzare e stampare il contenuto. Il licenziatario potrà solo

  • incorporare i tipi di carattere nel contenuto nella modalità consentita dalle restrizioni relative all’incorporamento dei tipi di carattere e
  • scaricarli temporaneamente in una stampante o altro dispositivo di output per consentire la stampa del contenuto.

La classicissima frase che dice tutto e non dice niente. Quando il software è in esecuzione? Quindi se volessi scrivere in Arial con Paint devo assicurarmi di avere aperto e ridotto a icona Excel? Mi spiegate come mai quando si disinstalla Office, i font rimangono? Curioso come fatto.

Detto questo, chi trova coerente proseguire (come il sottoscritto) per sopravvivere all’inondazione di documenti dalle fonti più disparate, lo può fare. Innanzitutto bisogna controllare di avere installato cabextract, ed in caso negativo rimediare. Ora si può procedere al download della demo di Office. Io ho provato con la versione Enterprise, per cui non so se ci siano variazioni per le altre. I link sono tutti qui.

A questo punto, è necessario estrarre dall’installer un file cabinet. Con il terminale, usando cabextract, si deve fare:

cabextract -F EnterrWW.cab Enterprise.exe

Ci metterà un poco. Ora si passa alla creazione di una directory per convertire i font, e poi all’estrazione di questi ultimi. Si esegue pertanto:

sudo mkdir /usr/share/fonts/msoffice2007
sudo cabextract -F *.TT? -d /usr/share/fonts/msoffice2007 EnterrWW.cab

Infine va aggiornata la cache dei font:

fc-cache -fv

Chiudendo e riaprendo i software di videoscrittura si vedranno i nuovi caratteri installati. Il file di installazione ed il cabinet estratto si possono ora eliminare.

Ci sarebbero molte parole da dire su questioni filosofiche per quanto riguarda i font e altre cose del genere. Non mi ci voglio soffermare troppo, perché il post diventerebbe lungo dieci volte tanto. Mi limiterò a dire che questi font dovrebbero essere usati per rimanere compatibili con materiale creato da altri. Distribuire documenti OpenOffice con caratteri strani è molto fastidioso per chi li riceve, per cui evitate.

Se andate pazzi come me per i font e vi piace trovare ogni volta dei font diversi per i vostri documenti, ricordatevi di creare un pdf del risultato. In questo modo potete distribuire tranquillamente ciò che scrivete e non ci saranno problemi a visualizzarlo.

Aggiornamento 20/03/2009: proprio poco tempo dopo che avevo scritto l’articolo, il gestore del blog che avevo linkato ha spostato i suoi post ed alcuni sono inaccessibili. Ho cambiato il link con uno dai contenuti analoghi.

Aggiornamento 08/07/2009: se per caso la visualizzazione dei font Cambria e Candara in Firefox è pessima a causa della mancanza dell’antialiasing, potete sostituirli con quelli contenuti in questo pacchetto di Microsoft (contiene le versioni leggeremente precedenti).