根据定义,这些字符应该填充整个字符单元格.如果不是,则您使用的字体可能存在问题.(例如,您的默认字体可能没有该字符,因此终端必须使用具有不同指标的替代字体.)
您可以通过输入反向视频模式("\x1b[7m")并输出空格字符,然后"\x1b[0m"在完成后切换回()来"伪造"块字符来解决此问题.
U + 2588应该在终端中占据一条线的全高,但由于字体问题,它并不总是这样做.
块元素字符在第15.8节"Unicode字符中的几何符号"中描述:"传统块元素旨在填充每个显示单元格的某些已定义部分,或者使用某些定义的着色程度填充每个显示单元格.[...]在模拟终端应用程序时,应该设计实现块元素字符的字体,以便U + 2588完整块等字符的相邻字形创建实心图案,它们之间没有间隙."
但是,支持U + 2588的字体并不总能正确实现.因此,您应该检查是否可以将字体设置为具有U + 2588正确字形的字体,例如DejaVu Sans.
如果您在比简单终端更复杂的环境中使用U + 2588和朋友,例如模拟简单终端的软件,或者在文字处理器中,您可能还有另一个问题.尽管U + 2588,在字体正确实施,采取的整个高度的字体,它通常不会采取的全高线.通常行高大于字体高度(字体大小),您需要采取额外的措施使它们相同(使文本"设置为实体").