精华内容
下载资源
问答
  • 2020-01-05 09:44:18

    当我们从word中复制一段文字到onenote中,onenote会自动带上原有字体的格式,非常不方便,下面是只复制文字的方法。

     

    1.随便按 ctrl+c 复制一段文字

     

    2. 到onenote里按下 ctrl+v 粘贴,选择右下角的框 

     

    3. 在弹出的框里选择最右侧只复制文字,然后点下方的“设置为默认粘贴”

     

     

    4. 接下来在外界复制的所有文字都会只以文字的方式复制,在粘贴到onenote里面的时候会变为默认字体大小

    更多相关内容
  • 这个问题通常是因为文档中设置了网格,段落中设置了按照网格对齐。笔者建议直接取消网格布局,因此记录网格相关调整和设置如下。

    这个问题通常是因为文档中设置了网格,段落中设置了按照网格对齐

    下面记录网格的相关设置。

    打开设置界面

    布局-页边距-自定义页边距
    在这里插入图片描述

    影响网格布局的所有因素

    如果想将两篇文档的网格调整一致,常规做法是对照两篇文档的文档网格,一项一项地调整成相同的。

    下面记录需要调整的地方。

    1. 页边距。确保页边距设置相同,是调整网格相同的第一步,它们影响着文档网格中行和字符数的限制。
      在这里插入图片描述
    2. 纸张、版式通常不会发生改变,对照相同即可。
    3. 绘图网格和字体设置。这两项常常被忽略,它们影响着文档网格中行和字符数的限制(如下图行数1-48),因此也必须调整至相同。
      在这里插入图片描述
    4. 如果需要复制粘贴的是一节的内容,也就是一块完整的内容,最好用布局-分隔符-下一页插入一个分节符,然后只修改这一节的网格。
      在这里插入图片描述
      修改,使网格只应用于一节,如下图所示。
      在这里插入图片描述

    尾声

    笔者不建议取消右键-段落-对齐到网格,失去网格对齐的文档的排版会有些崩坏失调难以把控,不如直接修改网格。
    在这里插入图片描述

    展开全文
  • 通过阅读相关的插件和 Vue 的源码可以知道为什么(两段包含 Vue 源码分析,熟悉的同学可以跳过)。在 Vite 中对 Vue2 的支持是由 vite-plugin-vue2 插件提供的,在它的源码中有这么一段: // Expose filename. ...

    组件复用的困境

    在平时的搬砖过程中,当我们拿到新需求的设计稿时,为了加快开发的速度,通常会看看是否有曾经写过的组件可以复用。如果能找到类似的组件,有很大概率可以在原有的基础上修修补补就能直接用了。

    对于自己最常开发的工程,当看到设计稿往往可以立马想起来,某个可以复用的组件位于工程的哪个位置。但是随着工程的壮大,从 10+个路由配置,增长到 100+甚至 200+的时候,就有些力不从心了。

    另外一个问题是,团队中其他同学很可能已经开发过和设计稿的非常相像的组件,但由于你不熟悉别人的工程,无法快速地找到哪个组件是可以拿来使用的。即使知道是哪个组件,这个组件可能会有一堆工具代码的依赖,想要完整地将组件搬到目标工程中,需要将组件依赖的文 件一并复制。有可能同事还在忙着上线,没法及时给你回应,这样一来沟通成本就高了。

    转转是一个二手电商平台,如果仔细观察每条业务线的页面 UI,可以发现它们大部分遵循统一的 UI 风格。实际上很多电商平台都有类似的UI结构。下图是转转三条业务线的首页,仔细观察就可以发现,它们有非常多相似的地方:顶部的搜索框、金刚位、轮播图、运营卡片、商品卡片。虽然它们非常相似,却在一些细节上有微小的差异,并且这些页面由不同的前端同学负责,就导致了相似的功能被不同的成员多次重复实现。

    f9338581a28f4a2e793e231f586be0c3.png

    那么是否可以就这个问题添加一些自动化的流程,来提升代码的复用率,增强搬砖的幸福感呢?

    方案设计

    首先明确目的:在新需求出现后,让前端同学知道是否存在已有的相似组件,并迅速得到相应的代码文件。

    那么问题就转化为,如何将设计稿与已有组件进行对比,找出相似的组件。想要比较,就必须有量化的标准。转转内部的设计师主要使用 sketch 作为设计工具,而 sketch 内部使用 json 格式存储数据。如果将 .sketch 文件后缀改为 .zip,然后使用压缩工具解压,就会发现里面实际上存储了大量的 json 格式数据,描述了节点之间的嵌套关系以及节点的样式。那么就可以采取某种算法,根据 sketch 文件中的数据,产出一份可以用于比较的量化标准,这样就完成了设计稿的处理。

    那么该如何处理各个工程中已存在的组件呢?事实上对于这些组件,只要拿到它们实际渲染出来的 dom 结构,就可以根据 dom 结构来提取出一份特征数据。有了设计稿和已有组件的数据,后续只要比较这两份数据,计算出相似度,就可以快速找到前端开发需要的组件代码了。对于上面的说明,可以类比哈希算法来帮助理解。JS 中常使用对象,以 key-value 的形式来存储数据。哈希算法会根据一个 key 值,产生一个唯一的结果,并根据这个结果将数据存储对应的地址上。这个根据 key 产生结果的过程,就类似于上文根据设计稿的节点/dom 结构,产出可用于比较的特征数据。

    假设已经根据一份设计稿,找到了 5 个相似组件后,怎么让前端同学知道这些组件中,哪一个组件是 ta 最需要的那个呢?如果让 ta 看一遍每个组件的代码再决定,那效率就太慢了。所以需要对每个组件进行截图,当看到 5 个组件的截图,哪个与设计稿长得最像,基本上就是 ta 需要的组件了。

    总结一下方案,就是「根据设计稿和已有组件的 dom,产出一份用于比较的数据,初步筛选出几个相似组件,然后让业务开发根据截图与代码,在初筛组件中挑选合适的组件,导入到自己的工程。」

    架构设计

    整体涉及到四个部分:

    • 浏览器运行时  分析组件 dom 特征、截图,将结果传递给 Vite 插件。

    • Vite 插件

      • 提取组件的所有依赖,发布为 npm 包。

      • 整合 dom 特征和截图,上传数据到服务端。

    • npm 服务器

    • 服务端(马良后台):将数据存储到 MySQL。

      详细的数据流见下图,图中的“组件哈希”和上文的“组件特征数据”是同一含义。3f50c3b33a7793d6c8d2e5d5e5c6eeba.png

    下面解释一下这张图可能产生的几个疑问:

    Q: 浏览器中是如何递归 Vue 组件的?

    A:Vue 在 mount 过程中,会将组件的实例放在 dom 的 __vue__ 属性上。由于 Vue 应用的惯例是将根组件挂载到 #app 上,所以可以通过 const root = document.getElementById('app').__vue__ 获取 Vue 应用的根组件。然后通过 root.$children 递归访问所有的 Vue 组件。

    Q:如何对组件进行截图?

    A:截图方案考虑过 puppeteerhtml2canvas,在这个场景中,html2canvas 更符合需求。因为 html2canvas 虽然在性能可能比不上 puppeteer,但它的优点是可以生成指定 dom 的截图。假设页面中有一个全屏弹窗,将所有的 dom 元素覆盖了,html2canvas 依然可以排除弹窗的影响,生成任意出现在 html 中的 dom 元素的截图。

    Q: 为什么会有 Vite 插件这个环节?

    A: 一个组件有很多的依赖,在收集组件代码时,必须连同其依赖一起收集,所以需要构建一个依赖树。构建依赖树有两种办法,一个是通过 ast 分析所有的导入语句,另一个是通过构建工具已有的依赖树。由于通过 ast 分析的实现有较多的困难,比如导入语句中存在别名,文件类型众多(less、scss、vue、js)。如果希望有较高的准确率,需要解析构建工具的别名配置,并使用每种文件类型对应的 ast 转换库。其实现难度远大于借助构建工具能力的实现方案。那么剩下的就是 Vite 插件和 Webpack 插件的抉择。由于之前给团队主体项目接入过 Vite,熟悉程度大于 Webpack,故选择 Vite 插件作为依赖收集的手段。

    Q:浏览器运行时代码如何与 Vite 插件进行通信?

    A:Vite2.0 使用了 connect 框架作为 http server,该框架的用法与 express 非常类似,支持相同的中间件语法。在为 connect 引入 body-parser 等必要的中间件后,就可以像写服务端代码一样,为其添加接口。

    遍历组件

    这一步的目的是得到三个数据:

    • 组件的截图

    • 组件的特征

    • 组件在工程中的路径 截图和特征好理解,但是为什么需要组件在工程中的路径呢?这就需要注意此时代码运行的环境。由于需要访问 dom 数据,这段代码必须要在浏览器中运行。但是在浏览器中获取的组件实例,如何与工程中的 .vue 文件对应起来呢?答案就是在开发环境中,Vue 实例上 vm.$options.__file 属性就是 vue 文件在工程中的相对路径(如下图)。d6df82587a62b298ad3bf4b32749a61d.png但是这个属性是哪来的呢?通过阅读相关的插件和 Vue 的源码可以知道为什么(后两段包含 Vue 源码分析,不熟悉的同学可以跳过)。在 Vite 中对 Vue2 的支持是由 vite-plugin-vue2 插件提供的,在它的源码中有这么一段:

    // Expose filename. This is used by the devtools and Vue runtime warnings.
    if (!options.isProduction) {
      // Expose the file's full path in development, so that it can be opened
      // from the devtools.
      result += `\n__component__.options.__file = ${JSON.stringify(
      path.relative(options.root, filePath).replace(/\\/g, '/')
      )}`
    }

    可以看出,该插件在非生产模式下,会将组件相对于根目录的路径,暴露在 __component__.options.__file 中。这里的 __component__ 就是 Vue 组件的构造函数。熟悉 Vue2 源码的同学应该知道,Vue2 中通过 Vue.extend 实现了类似于 es6 extends 关键字的功能。在 Vue 子组件构造函数中有这么一段逻辑:

    function initInternalComponent (vm: Component, options: InternalComponentOptions) {
      // vm.construct 就是 Vue.extend 的返回值。
      // vm.$options 的原型就是构造函数的 options 对象。
      const opts = vm.$options = Object.create(vm.constructor.options)
      // 省略后面的代码
    }

    梳理一下流程,就是:

    • vite-plugin-vue2 向构造函数的 options 属性注入文件在工程中的相对路径。

    • vm.$options 对象的原型是构造函数的 options 对象。

    • vm.$options 本身没有 __file 属性,但是通过原型访问到了构造函数的 options 对象中的 __file 属性。所以在浏览器环境中,可以通过 vm.$options.__file,来访问到 vite-plugin-vue2 注入的文件相对路径。

    下面展示遍历 Vue 组件实例的伪代码:

    // Vue 根组件实例
    const appInstance = document.querySelector('#app').__vue__
    /** @type {import('vue-router').default} */
    // 获取 Vue router 实例
    const router = appInstance.$router
    // 当前路由匹配的Vue组件实例
    const pageVM = router.currentRoute.matched[0]?.instances?.default
    if (pageVM) {
      traverseAppInstance(pageVM)
    }
    
    function traverseAppInstance(vm) {
      // 截图伪代码
      const image = html2canvas(vm.$el)
      // 组件特征分析伪代码,具体算法见后文。
      const characteristic = analyzeComponent(vm.$el)
      const filePath = vm.$otpions.__file
    
      // 将数据传递给 Vite 插件
      sendToVitePlugin({
        image,
        characteristic,
        filePath
      })
    }

    特征提取与比较算法

    在实际的实现过程中,为了快速实现效果,借助了转转内部名为马良的 d2c (design to code) 平台(一个可以将 sketch 文件转化为组织良好的代码的平台)但这并不决定性地影响本文想法的整体实现。

    想要知道设计稿中的一个模块和组件库里面的哪些模块是相似的,我们就需要一个对比算法,其实最简单的方案是相似图像对比。

    方案一:相似图像对比

    使用图像相似对比相关的算法,我们虽然可以比较容易的找出相似组件,但这种方案在实际场景中会有明显的缺陷:我们是在真实页面中提取组件,而这时组件里面的数据已经使用了真实的业务数据,会跟设计稿的内容存在很大差异,这就导致相似图像对比的方案几乎无法发挥作用,所以方案一不可取。

    方案二:组件特征对比

    我们可以用设计稿生成代码的结构样式特征与组件来对比,这里我们看一个例子。72ad6b503e94975a47efbf41dddb8d0d.png

    上图左侧是设计稿中的模块,右侧是项目中真实的组件,我们人脑会根据自然思维认定这两个模块是相似的模块,而这个思维过程是什么样的呢,我们可以将上图内的信息进行抽象和提取,以骨架屏的形式绘制成下图:9450e3ad26656235eea752885dfe8167.png这样是不是就更确信他们是相似了呢?

    基于这个简单的抽象过程,我们来实现特征对比算法。

    步骤一:特征提取

    任何一个模块的实际开发,工程师可能会有多种层级嵌套方式来实现,而不同人可能会有不同的嵌套设计,因此我们需要过滤掉层级这个维度,我们要首先通过遍历到达一个 DOM 结构的所有叶子节点,也就是 DOM 节点的最底层,而我们通常情况下,叶子节点可能是以下几种类型:

    1. 文字

    2. 图片

    3. 背景图

    4. 有视觉占位的样式节点,例如:按钮、图形、表单等

    类型 4 稍复杂,我们先以类型 1、2、3 为例,我们需要计算提取以下特征:

    1. 节点类型:可能会有 text、img、bgimg

    2. 节点关键样式:

    • 字体相关样式

    • 图片相关样式

    • 背景图相关样式

    1. 每个叶子节点「相对于组件中心点」的坐标 第 3 点,为什么我们要提取节点相对于中心点的坐标呢,这就要涉及到对比算法:

    步骤二:对比算法

    特征对比算法的整体思路是:

    1. 对比两个组件中相似类型的叶子节点比例

    2. 对比每个叶子节点在另一个组件中有类型相同且位置相同的叶子节点的比例

    3. 对比在类型和位置都相同的情况下,关键样式也相似的叶子节点的比例

    4. 通过一个打分算法计算出两个组件的相似分数

    5. 最后通过一个权衡算法挑选超过一定得分的组件认定为相似组件

    其中思路 2 中的关键点就是位置相同,而实际对比中我们会发现,即使是同一个组件在不同页面可能会有不同的尺寸和相对位置,我们先将上面的骨架屏右侧图放大一下:

    5560660ec888f11f6d3bdf1eceb75455.png

    这样可以很清晰的看到,虽然他们大体相似,但位置几乎不一样,因此我们就不能用绝对位置来作为衡量标准,那么我们可以用相对于中心的的坐标来衡量:

    b04f8f160eb5edce77130a4b7daa35ef.png
    image-20220309155514143

    我们计算出每个叶子节点相对于中心的的坐标(offsetX,offsetY),然后把两个组件缩放到宽度一致的尺寸:

    c2dc405273edaa972c934f970001ab4a.png
    image-20220309155945056

    这时我们再去比较相对位置是不是就更容易一些?当然实际算法会远比这个复杂。细心的同学会发现,两个组件其实并不完全一致,右侧组件多了一个 HOT 图标:368d0cddcdfbf13af34a0a9643d4b70b.png

    这一定程度上会影响相似评分,在上面的算法思路中我们都会提到,我们计算的是各项条件相似的比例,也就是我们可以知道任何一个条件下每个节点和另一个节点相似和不相似的比例分别是多少,那就依赖最终的打分和权衡算法来判定对比结果了,在上面这个 case 中,实际上的分数并不影响我们对相似的判断。

    Vite 插件

    Vite 插件在获取到浏览器发送的数据后,通过 filePath(文件的相对路径)定位到具体的 .vue 文件,并分析其依赖。

    在 Vite 插件中,可以获取到 Vite 内部的模块依赖表,里面是几个 map,可以通过文件路径获取到对应的模块。33501fdc10025709fefc75284e4a2d97.png以图中的 src/main.ts 模块为例,importedModules 就是 main.ts 文件引入的所有依赖。通过浏览器发送的 filePath 属性,获取对应的 vue 文件模块。vue 文件会引入其他文件,其他文件又会引入另外的文件,所以模块其实是一棵 n 叉树。遍历这棵 n 叉树,就可以 vue 文件的所有依赖文件。拿到所有的文件内容后,通过 npm publish 命令,可以将其作为 npm 包发布。后续想要使用这个组件的话,下载这个 npm 包即可。

    这个过程会有很多细节,比如一个页面有很多组件,如果每个组件都遍历一次,就会有很多组件被重复遍历到,存在不必要的性能损耗。采用二叉树的后序遍历可以达成一次遍历,就收集完所有 vue 组件各自的依赖。再比如,每个 vue 组件的依赖文件不同,npm publish 通常被用于某个固定工程的发布,发布文件的范围是不变的。但当前的场景是需要动态地决定需要发布的文h还有许许多多的其他细节问题。

    Nodejs 服务端 & MySQL

    服务端是用于最终存储数据的地方,包括截图 url、组件特征、npm 包名等全过程中收集的所有数据。因为只是简单的 CRUD,这里不再赘述。

    效果展示

    在做完上述的一切后,当前端同学拿到一个新的设计稿,上传到马良系统上,就会和已提取的所有组件特征做一个相似度的匹配,推荐给前端同学使用。在马良系统上的最终形式是:

    e3786b8723010257fa4c25f26e18b9a0.png

    总结

    在整个过程中,通过运行时代码提取了组件的特征和截图,通过 Vite 插件获取了 Vue 组件代码以及所有的依赖,并整合数据上传至 Nodejs 服务端,存储到数据库中。最终在马良系统中,用户上传一份 sketch 设计稿,通过对比已有组件与设计稿的相似度,向用户推荐相似的组件。

    对用户而言,在一份已经写好模板和 css 的文件上修改,比从零开始的速度要快得多。并且这打破了各种不同的工程之间的代码分享壁垒,让业务页面的开发更加顺畅。

    致谢

    本文提及的方案由@张所勇 (组件特征提取与比较) @强敏 (浏览器端代码) @陈亦涛 (Vite 插件)共同完成。

    想了解更多转转公司的业务实践,点击关注下方的公众号吧!

    展开全文
  • 为了愉快地合作,我需要统一格式,我要么舍弃Visio,要么要想办法让Visio中的图与Word做出的图效果一样。打心底我觉得Visio要方便很多,于是便有了此文。问题解决前后的效果比对见下图:(两者的字体都是一样的:5号...

    领导说需要画流程图,同事们都是使用word中的画图工具,我喜欢用Visio,我们的文档需要整合到一个文档里去。但是,使用Visio画的图与用Word画的图显示出来效果相差甚远。为了愉快地合作,我需要统一格式,我要么舍弃Visio,要么要想办法让Visio中的图与Word做出的图效果一样。打心底我觉得Visio要方便很多,于是便有了此文。

    问题解决前后的效果比对见下图:(两者的字体都是一样的:5号(10.5px)宋体)

    修改前Visio图复制到Word中的显示

    修改后Visio图复制到Word中的显示

    解决方法:(共需做两种处理)

    第一步:将Visio中“文本质量”设置修改为“ClearType

    文本显示(抗失真、LCD显示)”--------------------此步的处理可使Visio中字体显示与使用Word画图显示一致。

    Visio工具栏---“工具”---“选项”---“视图”中设置,如图所示:

    第二步:将Visio图复制到Word中进行粘贴时,选择“选择性粘贴”---“图片(Windows

    图元文件)”,如图所示:-----此步的处理,可使Word以矢量图的方式存储图片,不会进行其他的可能造成图片失真的处理。

    此方法是通过网上查找资料再自行进行验证、整理而得出的。Word版本:2007,Visio版本:2007。(转发自网络,如有侵权,请联系博主删除)

    展开全文
  • 我们经常从网上或者其他的文章中复制一些文字到我们的word文档编辑一篇文章,但有时我们会发现,由于...1、当我们复制编辑文档时有时会遇到这样的情况,文档的字体和大小都一样,但知道为什么,一行文字没有整行文...
  • 参考文献经过自动编号每个文献的编号的格式都一致,请问我该怎么操作才可以让编号的格式都一样呢?
  • RichTextBox默认情况下会根据用户输入的字符来自动设置字体样式,要想让输入保持制定的格式需要设置它的LanguageOption属性。 设置代码为: this.RichTextBox1.LanguageOption = RichTextBoxLanguageOptions....
  • Visio一般采用的是磅值(pt),Word一般采用的字号,对应关系如下图,其中...A4纸大小:210mm×297mm,因此可根据绘制流程图左下角的尺寸,把握复制到word的大小。 直接复制过去,右键Visio图修改其比例和大小。 ...
  • 现在的问题就是,能修改,原因就是背景中提到的,这里复制粘贴一下那里复制粘贴一下,字体不统一,解决步骤如下图。 选中某一个丝印,右键"Find Similar Objects",在字体种类那一栏,选中"Same". 在左侧"PCB ...
  • 这种情况,可能你也遇到过: 做报表时需要一些外部数据,通常上网找。 比如,你要做一份手机产品调研,需要导入各品牌手机的参数,做对比分析。... 表格原来的文本颜色,字体大小也被复制了下来,搞得你要重做一
  • 先说解决办法,应该也是唯一的高效解决办法,就是使用QQ识图,在登陆QQ的情况下ctrl+alt+o,框选文本,然后复制识图结果,再复制到word就可以正常编辑。 下面讲一下本人经历和研究成果 最近忙着论文的事情,本着...
  • 首先在Excel表格中调整列宽,或调整居中/靠左格式,使表格看起来整齐...接着,将线导入另一个图层,并冻结锁定,文字依然在9图层,而框线被移至0图层冻结显示。 这时全选整个字体,再次按快捷键X,把文字炸开。...
  • 一般情况下,在rem布局中 rem的相对大小只受到html 标签的fontSize 影响,但是在微信中 设置字体的大小也会影响到 rem 的比例,所以在微信应用页面中通过rem 适配的页面就会发生一些可预料的错乱。 为了解决上述...
  • 1:所选中的内容字体无法设置到统一,或者出现格式刷无效的情况,这种情况是由于复制来的内容中有原来的格式,要把原来的格式清除掉,然后使用格式刷 2:第二种情况时由于在复制过来的内容中会有一些空格,明显...
  • python怎么粘贴代码

    千次阅读 2021-01-12 13:22:56
    知乎上python代码怎么复制可以使用浏览器拖动方式,先选中代码 然后打开WORD或者高级一些的文本编辑器 然后按住选中的文字拖动,拖到编辑器中。最近刚好写了一个python的折叠功能。 能简单。 是基于emacs自带的...
  • windows如何更改字体

    2022-03-02 18:41:35
    电脑本身要拥有想要改的字体,没有可以下载,然后安装在指定的目录里. 然后对注册表种的内容进行修改,就可以使用自己想用的字体了 一 注册表法 步骤一 添加字体 ...复制进去即可 找到Microsoft JhengHei
  • Word字体种类这说明sample.text是一个unicode格式文档。WORD在打开时,是让你选择一个正确的字符集,否则有可能乱码! 你看提示窗口默认已经是unicode(UTF-8)格式了,直接确即可。你可以随便用记事本写点东西,然后...
  •  一小心,删错了,还把回收站清空了,咋办啊?  只要三步,你就能找回你删掉并清空回收站的东西  步骤:  1、单击“开始——运行,然后输入regedit (打开注册表)  2、依次展开:HEKEY——LOCAL——MACHIME/...
  • 如果我们使用文本工具,我们会在画布上拉出一个文本框,将我们自己的文本复制到文本框中,然后调整单词的大小。如图所示,我们用鼠标点击画布右上角的“段落”。下拉式段落面板的第一行是段落对齐设置。默认是第一个...
  • 正常尺寸下,布局看看上去一切OK,但的将页面进行放大显示,我却发现我的icon变得模糊清,但是基于文本的标题依然清晰可见。在具有Retina显屏的iPad上,这些图标看上去都清晰,即使在没有进行任何放大的情况之下...
  • 试了多种办法,发现这个办法可行。 Visio完成画图,导出为png图片,点击另存为,然后跳转到第二个... 选择保存, 在下图中,分辨率可自己调高一些,输出的图片会比较清晰。 导出,去word里插入图片就好啦~ end ...
  • 下文 摘自:... 1、安装VIM  $sudo apt-get install vim-full 2、安装中文帮助文档(因为默认只安装了英文帮助文档) ...下载以后是一个zip归档文件,解压执行 ./vimcdoc.sh -i
  • 者最大的问题在于阅读器糟糕的OCR识别问题,常常会出现错别字以及匹配的字体,当然排版问题同样存在。 这篇文章主要是针对以上问题进行对解决方法的总结。 1 PDF格式常见问题 删除换行符 下图是直接从期刊论文中...
  • 本公众号文章分类索引,点击可打开分类文章列表:安装文件异常、退出复制粘贴基本操作快捷键设置界面捕捉视图坐标定位选择、组图层颜色表格线型二维绘图多段线填充图块标注文字和字体图形修改三维建模外部参照光栅...
  • 问题可能存在这几种原因:1、已经参照,只是看到。这时候双击滚轮是对的2、图中已经有跟外部参照图纸名字相同的图块。这时候要么将外部参照的图纸改名,要么将图纸中的图块改名REN。外部参照的...
  • @[TOC]在线手动制做字体子集(小量字的字体裁剪、抽取、提取) 最近需要制作某古典小说的的电子书,其中有二十几个古体的异体字,需要系统或电子书中自带相应的字体或其子集,否则显示都是方框。原因在于这些字属于...
  • 1、在终端窗口,使用ctrl+shift+=可以放大字体,ctrl+-可以缩小字体2、常用基本命令: ls:对应list,查看当前文件夹下的内容 pwd:对应print work directory,查看当前所在文件路径 cd+目录名:对应change directory...
  • >>点进去主要看‘终究方法’关于上下标问题: 先对其中一个进行修改,如SO2,将2进行下标,然后复制,替换的时候,查找内容输入,SO2,替换内容输入^c,代表替换为粘贴板的内容。 >>具体如何操作看这儿不行的话升级...
  • 最近需要制作某古典小说的的电子书,其中有二十几个古体的异体字,需要系统或电子书中自带相应的字体或其子集,否则显示都是方框。原因在于这些字属于EXT-B的拓展集字库,一般字体文件都没有相应的字体。但是如果把...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,582
精华内容 2,632
关键字:

复制粘贴后字体不统一