Domanda

Sto cercando di realizzare l'antialiasing su campi di testo dinamici in Flash su un sito giapponese. Il contenuto di questi campi di testo non è fisso dati.

Non ho la possibilità di incorporare i font, dal momento che tutti i caratteri embeddeding si tradurrà in un file SWF molto pesante (3000kb + solo per i tipi di carattere). Ciò è dovuto al fatto che c'è un gran numero di personaggi unici in giapponese (letteralmente migliaia).

In sostanza, qualsiasi sito flash utilizzando campi di testo dinamici di fronte alla stessa scelta:

  1. mantenere la dimensione del file verso il basso e l'uso solo caratteri dispositivo (senza antialiasing)
  2. forzare un font scaricare 3MB + per l'utente per visualizzare i font lisci con antialias.

Ho chiesto in giro ad alcuni amici giapponesi, e hanno detto "Shoganai!" (Traduzione: "non può essere aiutato"). Qualcuno ha idee?

ps: purtroppo, Silverlight non è una scelta possibile

.
È stato utile?

Soluzione

veramente stupido 'soluzione', e sono sicuro che otterrà downvoted, ma dal momento che flash.text.TextField eredita flash.display.DisplayObject, è possibile utilizzare i filtri incorporati, come flash.filters.Blur a sfocatura testo da mezzo pixel in orizzontale e in verticale.

Questo consumerà un po 'più CPU.

Modifica Dopo aver lavorato un po 'con CS4, ho trovato ther modo perfetto per farlo senza il sovraccarico della CPU in più! Il risultato sarà 1: 1 esattamente come 'testo statico' di rendering. Credo che lo stesso lavorerà sotto CS3 come ricordo un'opzione simile.

Mentre si seleziona il testo, in Proprietà, selezionare 'Anti-alias' e selezionare 'Antialiasing personalizzato'. Impostare lo spessore a 100 e la nitidezza a 0. Che ha fatto il trucco per me!

Altri suggerimenti

Ci sono una serie di cose fattibili, ma nessuno possono essere di vostro gradimento.

  • Aggiorna Flash 10. Il problema di font non essere anti-aliasing è solo per Windows: Linux e MacOS entrambi i caratteri dispositivo anti-alias correttamente comunque. Ora, da Flash 10, funziona anche su Windows, ma è necessario compilare per Flash 10 per farlo funzionare. Questo è probabilmente il modo migliore se si può permettere di indirizzare Flash 10.
  • Limitare il numero di caratteri che è possibile utilizzare, e incorporare solo i caratteri necessari. Questo funziona su qualsiasi versione di Flash, ma potrebbe non essere pratico in molti casi.
  • Rinunciare e utilizzare i caratteri dispositivo:. Se entrambi i modi di cui sopra non sono possibili nel tuo caso, credo che questo sia davvero un caso Shouganai

Che ne dite di carattere runtime incorporamento.

Si può iniziare con i caratteri del dispositivo durante il caricamento del tipo di carattere giapponese in background. Quando il tipo di carattere giapponese ha caricato si effettua una chiamata che aggiorna il tipo di carattere per il tipo di carattere caricato e fa l'incorporamento.

Scopri quadro GAIA per una facile incorporamento dei caratteri runtime come è costruito in.

per la parte di aggiornamento, scrivo una matrice che registra il tipo di carattere ed è formato di testo. Poi, quando un tipo di carattere viene caricato fa riferimento la matrice che loop e aggiorna tutti i campi di testo che sono registrati ad esso.

sembra funzionare.

Shoganai è un Kop fuori ...... Ganbatte tutta la strada! @

in cima dell'idea di LiraNuna ....

Ho visto un articolo lungo un percorso simile, ma miravano a fare mascheramento così ... hanno suggerito il disegno del movieclip in bitmap. questo potrebbe anche liberare CPU come i filtri sarebbero stati utilizzati solo per il rendering iniziale, e quindi si potrebbe sbarazzarsi di loro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top