Единственный способ заставить Font Awesome работать на странице UTF-16 - это преобразовать указанный CSS-файл Font Awesome из UTF-8 в UTF-16 .Для этого сначала загрузите пакет Font Awesome на свой компьютер, затем возьмите файл css / all.min.css и преобразуйте его в UTF-16.Этот фрагмент Java-кода хорошо выполняет свою работу:
import java.nio.file.*;
import java.io.*;
public class Convrtr {
public static void main(String[] args) {
Path source = FileSystems.getDefault().getPath("/home/absolute/path/to/fontawesome/css","all.min.css");
Path result = FileSystems.getDefault().getPath("/home/absolute/path/to/fontawesome/css","awesome.min.css");
try(Reader r = new InputStreamReader(new FileInputStream(source.toFile()), "UTF-8");
Writer w = new OutputStreamWriter(new FileOutputStream(result.toFile()), "UTF-16")) {
char buffer[] = new char[2048];
int length;
while ((length = r.read(buffer, 0, buffer.length)) != -1) {
w.write(buffer, 0, length);
}
} catch (IOException e) {
System.err.print("IO Error");
}
}
}
После запуска этого кода вы получите новый awesome.min.css файл, который является тем же старым all.min.css в кодировке UTF-16.И вам на самом деле не нужно менять его имя (я сделал это только из-за работы в той же папке).С этого момента эта страница будет правильно отображать Font Awesome Icons:
<!DOCTYPE html>
<head>
<meta charset="UTF-16">
<link rel="stylesheet" href="fontawesome/css/awesome.min.css"/>
<style>
.ololo::after {
content: "\f007";
font-family: 'Font Awesome\ 5 Free';
}
</style>
</head>
<body>
<h1><i class="fas fa-american-sign-language-interpreting"></i></h1>
<h1 class="ololo"></h1>
</body>
</html>