Ну, в конечном итоге у вас есть только два реальных варианта: либо вы встраиваете шрифт в SWF, гарантируете, как будут выглядеть ваши шрифты, либо нет, и используете шрифты устройства. (Или их сочетание с использованием встроенных шрифтов или шрифтов устройства в зависимости от региона.)
Если вы не встраиваете какие-либо шрифты, то любой шрифт, который вы определяете для своего текста, в конечном итоге является всего лишь предложением - то, что пользователь увидит, это шрифты устройства, отображаемые на их собственной машине (с использованием шрифтов на этой машине). Таким образом, вы можете «предложить» Tahoma, но то, что увидит пользователь, будет зависеть от того, есть ли у него этот шрифт (и он может отличаться, скажем, для версий шрифта для Mac и версий для ПК). Естественно, это также зависит от поддержки; если у них нет азиатских шрифтов, то они не увидят, например, китайский. (Примечание: вы также можете выбрать шрифт типа «_sans», который просто говорит клиенту использовать его стандартный шрифт без засечек. Я предполагаю, что на практике это будет тот же шрифт, который был бы выбран, если вы d определил "Tahoma", но YMMV.)
Если вы встраиваете свои шрифты, то пользователь увидит именно то, что вы ожидаете, потому что шрифт отображается Flash, а не ОС. Но если вы встраиваете полностью для всех регионов, включая глифы, необходимые для китайского языка, то, я думаю, вы обнаружите, что он добавляет значительно больше, чем 500K ... больше, чем 2-5MB в моем опыте. Но, может быть, есть некоторые детали, которые мне не хватает. В любом случае, для доставки контента через Интернет я обычно предполагаю, что как минимум азиатские шрифты должны быть шрифтами устройства.
Чтобы добавить слово о смешанном решении, я сделал это, и это выполнимо. То есть, предполагая, что вы можете добавить логику в свой SWF-файл, вы можете (например) создать два из каждого текстового поля, одно с использованием встроенного «Lucida what», а другое с помощью не встроенных «_sans», а затем во время выполнения создайте одно из них невидимы и помещают текст в другой, в зависимости от того, какой регион вы показываете. (Я сделал это, сделав один компонент LocalizedTextfield и сделав так, чтобы он считывал языковой стандарт из статического свойства при его инициализации.) Затем для каждого языкового стандарта вам просто нужно решить, стоит ли размер файла отображать для этого конкретного набора глифов.
И последнее слово: вы не обязательно должны предполагать, что размер файла, полученный вашими шрифтами, будет загружен только один раз. Если вы делаете свой контент простым способом и встраиваете шрифты в текстовые поля, тогда информация о шрифте будет частью вашего SWF-файла и, следовательно, будет загружаться каждый раз, несмотря ни на что. Для его вывода вы можете сделать компонент Label отдельным файлом, а затем принять решение, загружать его или нет, зависит от настроек кэширования браузера. Вы также можете извлекать сам ресурс шрифта и использовать его в качестве общего ресурса, но в AS2 это несколько проблематично. Я слышал, что в AS3 проще, но сам этого не делал.