本文作者原创,首发在本博客;CSDN 上的同名文章已标注为转载并回链到本页:https://blog.csdn.net/qq_30220519/article/details/140275837
1 |
|
示例
1 |
|
创作不易,小小的支持一下吧!


本文作者原创,首发在本博客;CSDN 上的同名文章已标注为转载并回链到本页:https://blog.csdn.net/qq_30220519/article/details/140275837
1 |
|
示例
1 |
|


本文作者原创,首发在本博客;CSDN 上的同名文章已标注为转载并回链到本页:https://blog.csdn.net/qq_30220519/article/details/140275747



本文作者原创,首发在本博客;CSDN 上的同名文章已标注为转载并回链到本页:https://blog.csdn.net/qq_30220519/article/details/140245763
1 | import QtQuick 2.5 |



本文作者原创,首发在本博客;CSDN 上的同名文章已标注为转载并回链到本页:https://blog.csdn.net/qq_30220519/article/details/140245688
1 |
|


本文作者原创,首发在本博客;CSDN 上的同名文章已标注为转载并回链到本页:https://blog.csdn.net/qq_30220519/article/details/140237535
1 | import QtQuick 2.0 |



本文作者原创,首发在本博客;CSDN 上的同名文章已标注为转载并回链到本页:https://blog.csdn.net/qq_30220519/article/details/140236684
WinSCP :: Official Site :: Free SFTP and FTP client for Windows
WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端。同时支持SCP协议。它的主要功能就是在本地与远程计算机间安全的复制文件。
直接在cmd下输入winscp进入winscp操作介面,查看帮助直接在下面输入help就可以看到所以可用到的命令。
连接到远程机器:
1 | open root@192.168.2.19 |
输入密码就成功登录了
输入help:
winscp> help
call 执行任意远程Shell命令
cd 改变远程工作目录
chmod 改变远程文件权限
close 关闭会话
exit 关闭所有会话并结束程序
get 从远程目录下载文件到本地目录
help 显示帮助
keepuptodate 在一个远程目录连续反映本地目录的改变
lcd 改变本地工作目录
lls 列出本地目录的内容
ln 新建远程符号链接
lpwd 显示本地工作目录
ls 列出远程目录的内容
mkdir 新建远程目录
mv 移动或者重命名远程文件
open 连接到服务器
option 设置或显示脚本选项的值
put 从本地目录上传文件到远程目录
pwd 显示远程工作目录
rm 删除远程文件
rmdir 删除远程目录
session 列出连接的会话或者选择活动会话
synchronize 用一个本地目录同步远程目录如果要查看某个命令的具体使用方法用:
help command
例,现在不记得synchroize的具体命令方法了,现在我可以使用:
help synchronize
winscp> help synchronize
synchronize local|remote|both [
当第一个参数是’local’时,用远程与本地同步。
当第一个参数是’remote’时用本地目录同步远程目录。
当第一个参数是’both’用一个同步另一个。
当目录没有指定时,同步当前工作目录。
如果’synchdelete’设置为’on’,旧文件会被删除。
注意:对这个命令,覆盖确认永远是关闭的。
影响的选项:
transfer, synchdelete, exclude, include
范例:
1 | synchronize remote |


本文作者原创,首发在本博客;CSDN 上的同名文章已标注为转载并回链到本页:https://blog.csdn.net/qq_30220519/article/details/140217179
// 实现原理
// 每个signal映射到bitset位,全集
// 每个slot做为signal的bitset子集
// signal全集触发,标志位有效
// flip将触发事件队列前置
// slot检测智能指针全集触发的标志位,主动运行子集绑定的函数
// 下一帧对bitset全集进行触发清空,防止slot一直检测到signal触发
1 | #include <any> |
输出
1 | value: 1 |
参考


本文作者原创,首发在本博客;CSDN 上的同名文章已标注为转载并回链到本页:https://blog.csdn.net/qq_30220519/article/details/140217117
icu 编解码数据:
extern const UConverterSharedData
_MBCSData, _Latin1Data,
_UTF8Data, _UTF16BEData, _UTF16LEData, _UTF32BEData, _UTF32LEData,
_ISO2022Data,
_LMBCSData1,_LMBCSData2, _LMBCSData3, _LMBCSData4, _LMBCSData5, _LMBCSData6,
_LMBCSData8,_LMBCSData11,_LMBCSData16,_LMBCSData17,_LMBCSData18,_LMBCSData19,
_HZData,_ISCIIData, _SCSUData, _ASCIIData,
_UTF7Data, _Bocu1Data, _UTF16Data, _UTF32Data, _CESU8Data, _IMAPData, _CompoundTextData;
U_CDECL_END
Code point 代码点 Byte 1 Byte 2 Byte 3 Byte 4
U+ 0000 .. 007F 0xxxxxxx
U+ 0080 .. 07FF 110xxxxx 10xxxxxx
U+ 0800 .. FFFF 1110xxxx 10xxxxxx 10xxxxxx
U+ 10000 .. 10FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
可变长度编码
🚵🏻♀️ is U+1F6B5 + U+1F3FB + U+200D + U+2640 + U+FE0F
🤦🏼♂️ 由 5 个代码点 ( U+1F926 U+1F3FB U+200D U+2642 U+FE0F )
组成的事实仅仅是实现细节。它不应该被拆开,它不应该被计为多个字符,文本光标不应该位于其中,它不应该被部分选择
关键代码
1 | std::size_t sequence_length(char8_t lead_byte) |
C++ 标准库
1 | #include <locale> |
参考
utfcpp-3.2.1.tar.gz · src-openEuler/utf8cpp - Gitee.com
GitHub - nemtrif/utfcpp: UTF-8 with C++ in a Portable Way
GitHub - nemtrif/utfcpp20: Unicode encodings with C++20


本文作者原创,首发在本博客;CSDN 上的同名文章已标注为转载并回链到本页:https://blog.csdn.net/qq_30220519/article/details/140189778
代码片段
class FontCoverage
{
public:
using SP = std::shared_ptr
virtual ~FontCoverage() = default;
virtual void set(int index, FontTypes::CoverageLevel level) = 0;
virtual FontTypes::CoverageLevel get(int index) = 0;
virtual FontCoverage::SP clone() = 0;
};
freetype:
FTCoverage::SP coverage = std::make_shared
FT_CharMap *charMap = (*m_face)->charmaps;
for (int i = 0; i < (*m_face)->num_charmaps; i++) {
FT_Select_Charmap((*m_face), charMap[i]->encoding);
FT_UInt gIndex;
for (auto charCode = FT_Get_First_Char((*m_face), &gIndex); gIndex != 0;
charCode = FT_Get_Next_Char((*m_face), charCode, &gIndex)) {
coverage->set(charCode, FontTypes::CoverageLevel::COVERAGE_EXACT);
}
}
harfbuzz:
FontCoverage::SP coverage = std::make_shared
hb_set_t *chars = hb_set_create();
hb_codepoint_t ch = HB_SET_VALUE_INVALID;
hb_face_collect_unicodes(m_face, chars);
while (hb_set_next(chars, &ch))
coverage->set(ch, FontTypes::CoverageLevel::COVERAGE_EXACT);
hb_set_destroy(chars);
关键点
1.字体解析需包含完整的unicode范围
2.根据unicode,字体名,大小等最优匹配得到回退列表


本文作者原创,首发在本博客;CSDN 上的同名文章已标注为转载并回链到本页:https://blog.csdn.net/qq_30220519/article/details/140189597
1 | #include <iostream> |
参考


tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent:
meta: false
pages: false
posts:
title: true
date: true
path: true
text: false
raw: false
content: false
slug: false
updated: false
comments: false
link: false
permalink: false
excerpt: false
categories: false
tags: true