当前位置: 首页 > news >正文

Quill富文本编辑器支持自定义字体(包括新旧两个版本,支持Windings 2字体)

文章目录

      • 1 新版(Quill@2 以上版本)
      • 2 旧版(Quill@1版本)

1 新版(Quill@2 以上版本)

注意:新版设置 style="font-family: Wingdings 2" 这种带空格的字体样式会被过滤掉,故需特殊处理去掉空格

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Quill Wingdings 2 Font</title><!-- 引入 Quill 的 CSS 文件 --><linkhref="https://cdn.jsdelivr.net/npm/quill@2/dist/quill.snow.css"rel="stylesheet"/><style>/* 使用 @font-face 引入 Wingdings 2 字体文件 */@font-face {font-family: 'Wingdings2';src: url('Wingdings2.ttf'); /* 替换为实际的字体文件路径 */}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value='false']::before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value='false']::before {content: '字体';}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value='FangSong']::before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value='FangSong']::before {content: '仿宋';}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value='Wingdings2']::before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value='Wingdings2']::before {content: 'Wingdings 2';}</style></head><body><!-- Quill 编辑器的容器 --><div id="editor" style="height: 300px"></div><!-- 引入 Quill 的 JavaScript 文件 --><script src="https://cdn.jsdelivr.net/npm/quill@2/dist/quill.js"></script><script>const Font = Quill.import('attributors/style/font')const fonts = ['false', 'FangSong', 'Wingdings2']Font.whitelist = fontsQuill.register(Font, true)// 创建 Quill 实例const quill = new Quill('#editor', {theme: 'snow',modules: {toolbar: [[{ font: fonts }],['bold', 'italic', 'underline'],['color', 'background'],],},})const html ='<span style="color: red; font-family: FangSong;">这是一段红色的文字<span style="font-family: Wingdings2;">R</span></span>'const delta = quill.clipboard.convert({ html })quill.setContents(delta)</script></body>
</html>

2 旧版(Quill@1版本)

注意:旧版同时设置 style="font-family: Wingdings2"class="ql-font-Wingdings2" 时字体样式会被过滤掉,故需特殊处理去掉style

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Quill Set Font Size</title><!-- 引入 Quill 的 CSS 文件 --><linkhref="https://cdn.quilljs.com/1.3.7/quill.snow.css"rel="stylesheet"/><style>.ql-font-Wingdings2 {font-family: 'Wingdings 2';}</style></head><body><!-- Quill 编辑器的容器 --><div id="editor" style="height: 300px"></div><!-- 引入 Quill 的 JavaScript 文件 --><script src="https://cdn.quilljs.com/1.3.7/quill.js"></script><script>const Font = Quill.import('formats/font')Font.whitelist = ['Wingdings2'] //将字体加入到白名单Quill.register(Font, true)// 创建 Quill 实例const quill = new Quill('#editor', {theme: 'snow',modules: {toolbar: false,},})const html ='<p><span style="color: red" class="ql-font-Wingdings2">这是一段红色加粗文R本。</span></p>'// 将 HTML 转换为 Deltaconst delta = quill.clipboard.convert(html)quill.setContents(delta)</script></body>
</html>

http://www.mrgr.cn/news/97760.html

相关文章:

  • 柑橘病虫害图像分类数据集OrangeFruitDaatset-8600
  • vue3中watch的使用示例
  • NO.84十六届蓝桥杯备战|动态规划-路径类DP|矩阵的最小路径和|迷雾森林|过河卒|方格取数(C++)
  • Stable Diffusion + Contronet,调参实现LPIPS最优(带生成效果+指标对比)——项目学习记录
  • 网络协议学习
  • macos下 ragflow二次开发环境搭建
  • ABAP小白开发操作手册+(十)验证和替代——下
  • js异步机制
  • OSPF基础入门篇②:OSPF邻居建立篇-网络设备的“社交礼仪“
  • 程序代码篇---时间复杂度空间复杂度
  • 如何在Dify中安装运行pandas、numpy库(离线、在线均支持,可提供远程指导)
  • OminiAdapt:学习跨任务不变性,实现稳健且环境-觉察的机器人操作
  • MCP协议介绍
  • Spring Security 的核心配置项详解,涵盖认证、授权、过滤器链、HTTP安全设置等关键配置,结合 Spring Boot 3.x 版本最佳实践
  • ruby超高级语法
  • DDoS防御与流量优化
  • Java 开发中主流安全框架的详细对比,涵盖 认证、授权、加密、安全策略 等核心功能,帮助开发者根据需求选择合适的方案
  • [C++面试] 初始化相关面试点深究
  • 【C++】 —— 笔试刷题day_13
  • 解锁ChatGPT-4o文生图潜力:精选提示词收集整理更新中