【问题标题】:Flex Embedding Hindi Fonts ProblemFlex 嵌入印地语字体问题
【发布时间】:2010-11-08 01:56:19
【问题描述】:

对于附加的代码,我收到以下编译时错误: 转码期间出现异常:别名“myFontFamily”的字体 没有找到粗体和斜体样式的 姓氏'Kundli Hindi Normal'

我安装了其他印地语字体,但我也遇到了同样的错误。

虽然我没有收到任何标准字体的错误,例如 Arial、Helvetica 甚至是“微软喜马拉雅”

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
        <mx:Button x="96" y="102" label="Button"/>
        <mx:Style>
     @font-face {
    src:local("Kundli Hindi Normal");
    fontFamily: myFontFamily;
    advancedAntiAliasing: false;
    font-weight:bold;
    font-style:italic;
}

     Button {
        fontFamily: myFontFamily; 
        fontSize: 18pt;
     }
     HBox {
        fontFamily: Times; 
        fontSize: 18pt;
     }

  </mx:Style>


</mx:Application>

【问题讨论】:

    标签: apache-flex flash actionscript-3


    【解决方案1】:

    字体文件本身的粗体和斜体版本可能具有“无效”名称。我不记得确切的细节,但我们遇到了类似的问题,字体有一个自定义名称,因为它的粗体版本导致了这个错误。我们必须修改字体才能编译应用程序。任何体面的字体管理程序都应该能够为您提供字体的详细信息,以帮助您发现错误。

    【讨论】:

    • 确实如此。通过字体管理程序查看,给定的名称是 NormalA。
    【解决方案2】:

    我刚刚下载了 Kundli Hindi 字体,我得到的只是一个“正常”的字体——没有粗体或斜体。显然,我们可能从不同的地方获得了字体,并且您可能有额外的字体,但是您必须拥有单独的粗体和斜体字体,以便嵌入具有粗体和斜体属性的字体。

    另外,我下载的字体被命名为“Kundli Hindi NormalA”......不知道为什么它被命名为“NormalA”,而不仅仅是“Normal”或“Regular”。如果你还没有的话,你可以仔细检查以确保你的名字实际上被命名为“Kundli Hindi Normal”。这似乎不是问题,但重新检查这类东西永远不会有坏处。至少对我来说:)。

    如果您无法获得该字体的粗体字体 - 根据我自己在 Google 上的搜索,它似乎不可用 - 您可以使用 ActionScript 的高级字体功能来创建粗体和半粗体版本字体。不过,对于伪装斜体,我没有任何有用的建议。

    以下是使用嵌入字体(Myriad Pro)并通过subpixel 样式修改其粗细的示例:

    .roomViewTitleRoomType
    {
        color: "0x8AA1A8"; 
        font-size: 20;
        fontFamily: "Myriad Pro";
        fontAntiAliasType: "advanced";
        fontThickness: 200;
        fontGridFitType: "subpixel";
    }
    

    您可能希望在其中声明具有高级字体操作(fontAntiAliasType、fontThickness、fontGridFitType)的字体,如下所示,但附加信息将被忽略。

    @font-face
    {
        src: url("/assets/fonts/kundli.ttf");
        fontFamily: "Kundli Hindi Heavy";
        fontWeight: "normal";
        fontAntiAliasType: "advanced";
        fontThickness: 800;
        fontGridFitType: "subpixel";
    }
    

    希望对您有所帮助。

    【讨论】:

    • 当我列出 Windows 字体文件夹中的字体时,它的名称为:“Kundli Hindi Normal”。当我通过字体管理程序查看此字体时,此字体显示的子系列为:“NormalA”。尽管如此,您的解决方案仍然可以完美运行。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多