Результат на моем компьютере с кодом, который вы разместили?
Во-первых, убедитесь, что вы используете хотя бы Java / JavaFX 8 192 build 04 или JavaFX 11 (поддержка MathML не работает, в Java / JavaFX 9 и 10 и не будет исправлена в этих версиях).
Во-вторых, проверьте свой список шрифтов. Может быть проблема с настройкой шрифта на вашем компьютере?
Должен быть установлен хотя бы один из этих шрифтов (в порядке предпочтения):
Latin Modern Math
STIX Two Math
XITS Math
STIX Math
Libertinus Math
TeX Gyre Termes Math
TeX Gyre Bonum Math
TeX Gyre Schola
DejaVu Math TeX Gyre
TeX Gyre Pagella Math
Asana Math
Cambria Math
Lucida Bright Math
Minion Math
Times New Roman
Результат на моем компьютере тоже, но после установки Latin Modern 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><</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();
}
}