如何从Linux上的TrueType或嵌入式OpenType字体中提取受支持的Unicode字符列表?
是否有工具或库可用于处理.ttf或.eot文件并构建字体提供的代码点列表(如U + 0123,U + 1234等)?
我想在Qt中创建一个SQLite数据库.这是我的代码:
QDir databasePath;
QString path = databasePath.currentPath()+"myDb.db";
QSqlDatabase dbConnection = QSqlDatabase:addDatabase("QSQLITE");
db.setDatabaseName(path);
db.open();
Run Code Online (Sandbox Code Playgroud)
运行代码时没有错误,但我找不到我在我定义的路径中创建的数据库.这实际上是创建数据库还是仅进行一些初始化?
如果它不创建数据库,那么如何在应用程序本身中创建数据库?(我不是在谈论插入.)
我使用iconv库来连接从使用UTF-8的现代输入源到使用Latin1的遗留系统,即CP1252(ISO-8859-1的超集).
界面最近未能转换法语字符串"Éducation",其中"É"编码为十六进制45 CC 81
.请注意,目标编码的确具有"É"字符,编码为C9
.
为什么iconv无法转换为"É"?我检查过MacOS X 10.7.3提供的iconv命令行工具说它无法转换,并且PERL iconv模块也失败了.
令人费解的是,"É"字符(编码为C3 89
)的预组合形式转换得很好.
这是iconv的错误还是我错过了什么?
请注意,如果我尝试从UTF-16转换(其中"É"编码为00 C9
组合或00 45 03 01
分解),我也会遇到同样的问题.
这显示了我想做的事情的精神,它几乎可以工作(只是不在我当前的 nix 设置内):
echo :: IO ()
echo = getLine >>= putStrLn
testEcho :: IO ()
testEcho = do
(Just stdin_hdl, Just stdout_hdl, m_stderr_hdl, p_hdl)
<- createProcess $
(shell ("nix run .#echo"))
{ std_in = CreatePipe
, std_out = CreatePipe
}
hPutStrLn stdin_hdl "Hello, echo!"
hClose stdin_hdl
!response <- hGetContents stdout_hdl
cleanupProcess (Just stdin_hdl, Just stdout_hdl, m_stderr_hdl, p_hdl)
if response == "Hello, echo!" then
putStrLn "Success!"
else error "Failure"
Run Code Online (Sandbox Code Playgroud)
基本上我想要类似的东西createProcess
,但有一种类型createProcess :: IO () -> -> IO (Maybe …