// this version will block until all character are downloaded...
    public IEnumerable SyncGetOutlineForLetter(string fontid, string characters)
    {
        TTFTextOutline [] res = new TTFTextOutline[characters.Length];
        // for each character

        TTFTextFontStoreFont f = GetFont(fontid);

        if (f == null)
        {
            IEnumerable r = null;
            do
            {
                r = DoSyncDownloadOutline(fontid, f.additionalChar);
                if (r.GetType() == typeof(WaitForSeconds))
                {
                    yield return(r);
                }
            } while (r.GetType() == typeof(WaitForSeconds));
        }

        foreach (char c in characters)
        {
            if (!f.HasCharacter(c))
            {
                f.AddRequiredCharacters(characters);
                IEnumerable r = null;
                do
                {
                    r = DoSyncDownloadOutline(fontid, f.additionalChar);
                    if (r.GetType() == typeof(WaitForSeconds))
                    {
                        yield return(r);
                    }
                } while (r.GetType() == typeof(WaitForSeconds));
            }
        }

        yield return(res);
    }