关于InDesign对英文段落做强制双齐时字母间距变大
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于InDesign对英文段落做强制双齐时字母间距变大相关的知识,希望对你有一定的参考价值。
在图中,对一行英文做强制双齐的时候,1处的空格还有2处的字母间距都会增大,有什么办法能让在对英文做强制双齐的时候,只有1处的空格间距变大,而2处单词中字母的间距不变呢?
(好久没来知道了,财富不多了,就给50吧,别嫌少,知道的就告诉我一下……)
不知道这样是何用。
强制对齐,相对于整个文本框来,间隔肯定会均匀变大。
如果只有1间距变大,只能加空格了,而1后面,统看为2,会均匀变大。
参考技术A 在1处按TAB键 然后按Cart+T键 会出现一个制表符,在制表符上进行调整。追问按tab后会换行……ctrl+t 出来的是字符,制表符快捷键不是那个,咱们是不是用的不是一个软件啊……
追答把上下fgjk英文的字间距 弄的一样试试。
按tab键 不会换行啊。制表符在菜单栏 “文字”的下拉菜单中。
如何对 QComboBox 中的文本执行字母间距?
【中文标题】如何对 QComboBox 中的文本执行字母间距?【英文标题】:How to perform letter-spacing on text in a QComboBox? 【发布时间】:2020-11-12 22:32:57 【问题描述】:QWidget 样式表允许在字符之间执行spacing
而不是letter-spacing
。在我在 GUI 中设置的组合框中,其currentText
具有或多或少的可读文本,但字体 [MS Shell Dlg 2,8] 的字母间距很糟糕。更改框的最小尺寸不会改变可读性。通过设置样式表来更改 'spacing : 1' 会将文本移动到 cbo 的左侧一点并且不会提高可读性。
是否有执行“字母间距”的选项,使字母之间的距离仅多几个像素?
组合框详细信息是:所有设置默认。几何:
width = 110
height = 22
测试代码:
#!/usr/bin/python
import sys
from PyQt5.QtWidgets import (QWidget, QLabel, QHBoxLayout,
QComboBox, QApplication)
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
hbox = QHBoxLayout()
self.lbl = QLabel('Ubuntu', self)
combo = QComboBox(self)
combo.setFixedSize(100, 22)
combo.addItem('Species', userData='100') # text readable here but not when construcuted.
combo.addItem('Xubuntu', userData=200)
combo.addItem('Gentoo' , userData=300)
combo.activated[str].connect(self.onActivated)
hbox.addWidget(combo)
hbox.setSpacing(20)
hbox.addWidget(self.lbl)
# self.setContentsMargins(20, 20, 20, 20)
self.setLayout(hbox)
self.move(300, 300)
self.setGeometry(300, 300, 250, 180)
self.setWindowTitle('QComboBox')
self.show()
def onActivated(self, text):
self.lbl.setText(text)
self.lbl.adjustSize()
print(self.sender().currentText())
print(self.sender().currentData())
sys.stdout.flush()
def main():
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
原始组合框代码可以在这里找到http://zetcode.com/pyqt/qcombobox/。
【问题讨论】:
【参考方案1】:其实是有的。这些更改不是在 QComboBox 样式表中进行的,而是在字体部分 (Qt.Gui.QFont) 中进行的。所以下面的代码展示了如何改变它。请记住,当框尺寸固定且文本大于其最大尺寸时,将导致不显示完整的文本;而是您必须在组合框中向右滚动。
最后不要忘记“设置”新值,否则不会使用新值。
font = combo.font() # getting font metrics
value1 = font.letterSpacing() # getting line spacing value
font.setLetterSpacing(QFont.PercentageSpacing, 200)
value2 = font.letterSpacing()
combo.setFont(font) # sets the font for the object
print(f'old value1 | new : value2')
sys.stdout.flush()
【讨论】:
考虑到通常不建议使用固定大小,尤其是对于基于文本的小部件:即使您绝对确定用户会使用您的字体'重新选择时,如果 DPI 与您在 your 屏幕上使用的不同,可能会出现一些问题。在任何情况下,请记住 QComboBox 具有sizeAdjustPolicy()
属性,它允许更多地控制组合如何根据其内容调整大小。以上是关于关于InDesign对英文段落做强制双齐时字母间距变大的主要内容,如果未能解决你的问题,请参考以下文章