当前位置: 首页 > 知识库问答 >
问题:

MathML标记在JavaFX WebView中不能正确呈现

叶富
2023-03-14

MathML标记在JavaFX WebView中不能正确呈现

JDK版本:1.8.0_192

例如,

<math xmlns="http://www.w3.org/1998/Math/MathML"> 
   <msub> 
    <mi>
      S 
    </mi> 
    <mi>
      n 
    </mi> 
   </msub> 
   <mo>
     &lt; 
   </mo> 
   <mstyle displaystyle="true" scriptlevel="0"> 
    <mfrac> 
     <mi>
       π 
     </mi> 
     <mrow> 
      <mn>
        3 
      </mn>     
      <msqrt> 
       <mn>
         3 
       </mn> 
      </msqrt> 
     </mrow> 
    </mfrac> 
   </mstyle> 
 </math>

共有1个答案

周伟泽
2023-03-14

你发布的代码在我电脑上的结果??

首先,确保您至少使用了Java/JavaFX 8 192 build 04或JavaFX 11(在Java/JavaFX 9和10中,MathML支持被打破,并且不会在这些版本中得到修复)。

其次,验证您的字体列表。可能是计算机上的字体配置问题?

Stix Two Math

tex回旋Termes math

tex Gyre Bonum Math

寒武纪数学

Minion Math

时代新罗马

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.web.WebView;
import javafx.stage.Stage;

public class NavigateurTest extends Application {

    final StackPane root = new StackPane();
    final WebView webView =  new WebView();
    String ContentStackOverFlow = ""
            + "<math xmlns=\"http://www.w3.org/1998/Math/MathML\">"
            + "   <msub>"
            + "      <mi>S</mi>"
            + "      <mi>n</mi>"
            + "   </msub>"
            + "   <mo>&lt;</mo>"
            + "   <mstyle displaystyle=\"true\" scriptlevel=\"0\">"
            + "      <mfrac>"
            + "         <mi>π</mi>"
            + "         <mrow>"
            + "            <mn>3</mn>"
            + "            <msqrt>"
            + "               <mn>3</mn>"
            + "            </msqrt>"
            + "         </mrow>"
            + "      </mfrac>"
            + "   </mstyle>"
            + "</math>";

    public void init() {    
        root.getChildren().add(webView);
    }

    @Override
    public void start(Stage primaryStage) {

        //webView.getEngine().load("https://www.qwant.com");
        webView.getEngine().loadContent(ContentStackOverFlow);

        primaryStage.setTitle("OpenJFX MathML Rendering WebBrowser Test");
        primaryStage.setScene(new Scene(root));
        primaryStage.show();

    }

}
 类似资料:
  • 使用Android Studio中的rename函数将目录重命名为后,收到以下错误消息: Androidmanifest xml不存在或根标记不正确 有什么办法能让这个成功吗? 当我复制目录并将其重命名为时,错误就消失了,我可以构建应用程序了。

  • 我从头开始创建了一个AS项目,一切都很好。然后出现了一个弹出窗口,(如果我没记错的话)说的是:“”。我按了“是”,项目/模块发生了一些变化,然后我得到了上面的错误 在我的案例中,问题与无关。它与/配置有关,特别是一个文件。我意识到看了这篇信息丰富的帖子。

  • 关于测试XML标记的正确嵌套的一个问题: null 发现/lastname标记在其父标记之外的代码或方向是什么,父标记是to,/to pair? 干杯。

  • 我试图将MathML渲染到DOM中。但是它没有像编辑器中显示的那样正确显示。 我正在使用CKEditor4 让我在下面添加代码,这样你就可以理解我的尝试了 应用程序。js文件: index.html: 由于Chrome不支持MathML,我在标题部分添加了MathJax库 如果我将MathML直接粘贴到html中,MathJax库就可以正常工作。但是从CKEditor生成的MathML没有正确显示

  • 我相信这是与我的配置有关,但我不知道它是什么。 我正在macOS High Sierra上使用IntelliJ IDEA Ultimate 2018.1。 这是我的pom.xl 和XHTML页面: 正如我上面提到的,

  • 最近我们的用户升级到了最新版本的Microsoft Edge: null 新版本: Microsoft Edge 44.17763.771.0 Microsoft EdgeHTML 18.17763 我们正在使用MAT-TABLE粘滞页眉,在新的浏览器中,页眉(和粘滞页脚如果存在)如果错误地偏移量过高。 https://imgur.com/2WWO0A6 良好的渲染: https://imgur.