Phông chữ dây (một chiều)


17

Tất cả các phông chữ tôi từng nghe nói là hai chiều : mỗi glyph về cơ bản là một vùng hai chiều (một đường viền kín hoặc một số đường viền kín), phần mềm hoặc máy in bằng cách nào đó vuốt hoặc lấp đầy tùy theo hướng dẫn của người dùng. Tôi muốn biết liệu có các phông chữ một chiều hay không , trong đó các glyph được mô tả giống như các bộ sưu tập các phân đoạn (mà phần mềm có thể vuốt nhưng không nhất thiết phải điền vào), không phải của các vùng.

Nói cách khác (hoặc tốt hơn, bằng hình ảnh), những gì tôi muốn có là thứ bên trái thay vì bên phải trong hình dưới đây. Điều này có tồn tại?

Từ một chiều hai chiều đến một chữ cái một chiều

(xin lỗi vì bức ảnh, tôi biết nó rất tệ; tôi đã làm điều đó nhanh chóng)


Có lẽ chúng ta cần phải trả lời graphicdesign.stackexchange.com/questions/64626/... trước khi chúng tôi thực sự có thể trả lời câu hỏi của bạn
Ryan

Ứng dụng mong muốn của bạn cho phông chữ là gì? Tôi không thể thấy bất kỳ việc sử dụng nào trong một phông chữ đột quỵ để thiết kế vì vậy tôi cho rằng bạn đang muốn điều này cho một bản thiết kế hoặc khắc. Chương trình nào bạn dự định sử dụng phông chữ trên?
DavidC

5
Vẫn còn hai chiều, không có bên trong: P
Zach Saucier

8
Thứ gần nhất với phông chữ một chiều sẽ là mã vạch.
Gerald Schneider

Giống như một ý tưởng của một ứng dụng, tôi đã viết một bản demo Raspberry Pi để vẽ đường dẫn của một SVG trên máy hiện sóng XY - điều này sẽ hoàn hảo cho điều đó. Phải thừa nhận rằng đây là một phương tiện khác thường (như là máy vẽ bút mà tôi dự định sẽ sử dụng nó sau này).
Chris H

Câu trả lời:


23

Trong máy vẽ, nó được gọi là "phông chữ đột quỵ", " phông chữ đơn ", "phông chữ khắc", "phông chữ kỹ thuật" hoặc chỉ là "phông chữ máy vẽ".

Một máy vẽ vẽ hình ảnh lên giấy bằng bút. Nó không thể điền vào hình ảnh trừ khi liên tục vuốt chúng cách nhau dưới một chiều rộng bút. Vì vậy, các phông chữ được thiết kế để sử dụng với máy vẽ sẽ chứa glyphs với một nét ("đơn giản"), hai hoặc nhiều nét song song ("duplex") hoặc ba nét ("triplex"). Các phông chữ có nhiều nét hơn sẽ mất nhiều thời gian hơn để vẽ nhưng cho phép thay đổi nhiều hơn về chiều rộng nét trong glyph. Sử dụng bút quá hẹp cho glyph ở một kích thước nhất định sẽ gây ra những khoảng trống có thể nhìn thấy giữa các nét.

Một ví dụ về phông chữ chủ yếu là phông chữ Hershey Vector . Tại dấu hiệu @, dấu ngoặc [], dấu ngoặc {}và dấu ngã ~là song công.

Glyphs trong Phông chữ Hershey

Nếu bạn đã thấy " bảng đen in đậm ", đó là phông chữ with với chiều rộng bút nhỏ hơn khoảng cách giữa các nét.

ĐÓNG trong một phông chữ song công

Các thư viện hình ảnh trường học cũ hỗ trợ phông chữ đột quỵ theo cách tương tự như máy vẽ. Khi kết xuất văn bản, một ứng dụng sẽ đặt chiều rộng và màu của nét vẽ trước khi vẽ văn bản, giống như trước khi vẽ một dòng. Điều này tương tự với việc chọn một cây bút trên máy vẽ.

Nhưng các thư viện hình ảnh raster hiện đại sử dụng phông chữ OpenType, chứa các phác thảo TrueType hoặc CFF (PostScript Type 2). Thay vào đó, phông chữ OpenType mô phỏng phông chữ đột quỵ chứa đường viền của nét ở một số độ rộng đường. Hoạt động vuốt ve này có thể được đảo ngược bằng cách chèn đường viền của glyph bằng khoảng cách nửa chiều rộng nét, loại nghịch đảo của đậm thuật toán.


Chơi lô tô! Chúng tồn tại nhưng khá vô dụng trừ khi được sử dụng cho các ứng dụng BluePrints, khắc hoặc Laser. Các ứng dụng thiết kế như Adobe, Corel, v.v ... Có một thời gian khó khăn thậm chí hiển thị chúng, vì vậy chúng không được sử dụng nhiều để thực sự thiết kế.
DavidC

@DavidC: Trên các nền tảng đồ họa có thể áp dụng biến đổi riêng cho bút vẽ và phông chữ, phông chữ dính có thể hoạt động độc đáo nếu người ta sử dụng bút hình elip rất mỏng và áp dụng biến đổi tuyệt đối cho nó (mang lại dáng vẻ giống như bút mực). Làm điều đó dường như hoạt động tốt hơn với một phông chữ gần giống như một phông chữ có chiều rộng nét bình thường.
supercat

10

Hầu hết các ứng dụng kỹ thuật đều hỗ trợ phông chữ chỉ với các dòng và độ dày của người dùng. Cũng như khá nhiều máy khắc và phay. Một số phông chữ tồn tại mặc dù chúng không hoạt động rất tốt trong phần mềm hiện đại (nếu có).

Đây là vấn đề: Các công cụ phông chữ đã thoái lui kể từ khi chúng tôi không dùng PostScript. Xin lỗi không có giải pháp dễ dàng. Vì vậy, người ta có thể có tất cả các loại quà tặng trong ngày không còn có thể có trên hầu hết các máy tính. Gần như không có ứng dụng nào hỗ trợ điều này ngay cả khi hiện tại thậm chí không hoạt động trong svg vì định nghĩa phông chữ của Svg không được chấp nhận từ các trình duyệt.

Vấn đề là không có định dạng phổ quát cho các phông chữ như vậy. Và chính các phông chữ sẽ gặp trục trặc trong nhiều trường hợp. Các ứng dụng thông thường sẽ đối xử với chúng kỳ lạ. Xem:

  • Một câu hỏi khác về chủ đề star-trek-nội thất-mảng , nơi bạn có thể tìm thấy một phông chữ như thế này có thể hoạt động trên một số ứng dụng.

Jongware đã tạo ra một kịch bản gọi là vẽ văn bản monoline cho họa sĩ minh họa, ví dụ bạn có thể lấy nó ở đây:

Có thể tạo phông chữ của riêng bạn loại này trong PostScript mặc dù sử dụng phông chữ loại 3 (nhưng hỗ trợ không còn rộng *, mặc dù người vẽ minh họa có thể sử dụng những phông chữ này trong một số trường hợp). Sự hỗ trợ trong các ứng dụng thiết kế là khan hiếm mặc dù. Nhưng tôi thực sự sử dụng điều này cả ngày khi làm OstScript. Dưới đây là một ví dụ (phông chữ cho mục đích sử dụng đặc biệt chỉ được   chỉnh sửa cho bản demo này):

%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 0 0 200 40
%%Title: Demo type 3 font
%%Creator: Janne Ojala
%%CreationDate:  2015-12-23
%%EndComments

% set stroking characteristics
5 setlinewidth 
1 setlinecap
1 setlinejoin

% lets define the font
10 dict dup begin
  /FontType 3 def
  /FontMatrix [.01 0 0 .01 0 0] def
  /FontBBox [-2 0 52 102] def

  /Encoding 256 array def
  0 1 255 {Encoding exch /.notdef put} for 

  Encoding
    dup (L) 0 get /L put
    dup (a) 0 get /a put
        (b) 0 get /b put

  /Metrics 4 dict def
  Metrics begin
    /.notdef 30 def
    /L 65 def
    /a 65 def
    /b 55 def
  end

  /BBox 4 dict def
  BBox begin
    /.notdef [0 0 0 0] def
    /L [0 0 75 100] def
    /a [25 0 75 100] def
    /b [25 0 65 100]  def
  end

  /CharacterDefs 4 dict def
  CharacterDefs begin
    /.notdef { } def

    /L
      { newpath
        0 100 moveto
        0 0 lineto
        50 0 lineto
        stroke
      } def 
    /a
      { newpath
        25 25 25 0 360 arc 
        50 45 moveto 
        50 0 lineto
        stroke
      } def
    /b
      { newpath
        0 100  moveto
        0 0 lineto
        40 0 40 50 17.5 arct
        40 50 0 50 17.5 arct
        0 50  lineto
        stroke
      } def
    end

  /BuildChar
    { 0 begin

        /char exch def
        /fontdict exch def

        /charname fontdict /Encoding get char get def
        fontdict begin
          Metrics charname get 0
          BBox charname get aload pop
              setcachedevice

          CharacterDefs charname get exec
        end
      end
    } def
  /BuildChar load 0 3 dict put
  /UniqueID 1 def
end

/SpecialUseOnly exch definefont pop
/special /SpecialUseOnly findfont 20 scalefont def

special setfont 

10 10 moveto

%write some text
(Lab baa baa abL) show

%%EOF

Để sử dụng, chỉ cần đặt nó vào tệp văn bản có kết thúc EPS và kéo và thả nó vào hình minh họa hoặc từ. đảm bảo không có dòng trống trước khi bắt đầu. Bạn có thể chỉnh sửa văn bản bằng cách thay đổi những gì bên trong parens ở cuối dòng 3 mẫu. Thông báo trước ở đây là tôi chỉ định nghĩa các ký tự 'L' 'a' và 'b'.

Xem trước

Hình 1 : Xem trước chương trình phông chữ.

* Vì vậy, điều này có thể dễ dàng trở lại vào cuối những năm 1980 và giữa những năm 1990, nhưng không phải hôm nay. Hỗ trợ đã được loại bỏ chủ yếu là một số phần mềm adobe vẫn có điều này.


1
Tuy nhiên, ngay cả tập lệnh của tôi cũng không thể làm cho nó hoạt động mà không độ dày: bạn vẫn phải đặt độ dày 'a' cho các đường bạn vẽ. Nhưng, được cho phép, bạn có thể đặt nó thành bất kỳ giá trị nào bạn thích, không giống như các phông chữ phác thảo có độ dày "được xác định trước".
usr2564301

2
Mặc dù vậy, một lưu ý phụ, máy cắt Laser và máy cnc và ứng dụng cad sẽ hoạt động mà không có độ dày đường vì độ dày đối với chúng chỉ là một vật phẩm của xử lý bài.
joojaa

2
Điều đó tốt và bảnh bao, nhưng nó không phải là một phông chữ. Tôi đã kiểm tra nhiều định nghĩa về phông chữ và vẫn chưa tìm thấy bất kỳ định nghĩa nào không bao gồm độ dày / chiều rộng như một phần của định nghĩa. Trong Thiết kế đồ họa, đây không phải là Phông chữ từ bất cứ thứ gì tôi tìm thấy. Ngay cả @Jongware và bạn thừa nhận phải có một số độ dày để nó hoạt động. Tôi tranh luận (và mọi định nghĩa tôi đã tìm thấy đồng ý) rằng đó không phải là một phông chữ cho đến khi điều đó xảy ra. Tuy nhiên, trong thực tế, điều này rất có thể là những gì OP sẽ làm sau nếu họ chỉ cố gắng vẽ các điểm :) Có thể muốn xem Corel Draw, tôi biết các nhà đăng ký thường sử dụng nó.
Ryan

1
Nó vẫn không phải là một chiều, như được hỏi trong câu hỏi. Nhưng sau đó tôi muốn nói một phông chữ một chiều thực tế không thể, bởi vì một chiều sẽ giới hạn bạn trong một đường thẳng, tốt, một chiều. Bạn có thể làm l và i mà không có hai chiều, nhưng không nhiều thứ khác.
Janus Bahs Jacquet

3
@Ryan: có thể tốt và bảnh bao, nhưng điểm mấu chốt là phông chữ chỉ đột quỵ có thể tồn tại nhưng không được hỗ trợ bởi các công nghệ phông chữ chính hiện tại.
usr2564301

8

Metafont là một ngôn ngữ mô tả được sử dụng để xác định phông chữ vector.

Không giống như các định dạng phông chữ phác thảo phổ biến hơn (như TrueType hoặc PostScript Type 1), phông chữ Metafont chủ yếu được tạo thành từ các nét với "bút" có chiều rộng hữu hạn, cùng với các vùng được điền. Do đó, thay vì mô tả trực tiếp phác thảo của glyph, một tệp Metafont mô tả các đường dẫn bút.

Những gì bạn mô tả có thể được thực hiện dưới dạng phông chữ Metafont với chiều rộng bút không đổi.


6

Một thuật ngữ khác cho những gì bạn đang tìm kiếm là "phông chữ dính" - có một bộ 9 trong số đó miễn phí mà tôi đã sử dụng để khắc CNC và laser tại http://www.mrrace.com/CamBam_Fonts/

Lưu ý rằng các phông chữ này có xu hướng trông xấu trên màn hình, với các khu vực kèm theo thường xuất hiện rắn. Điều này là do chúng là các phông chữ phác thảo không hợp lệ về mặt kỹ thuật: mỗi ký tự nhất thiết phải bao gồm một hoặc nhiều vòng khép kín (vì các hệ điều hành hiện đại không hỗ trợ bất kỳ loại phông chữ nào khác), nhưng mỗi vòng lặp có diện tích bằng không. Do đó, chúng có thể không phù hợp với bạn nếu mục tiêu là một cái gì đó khác hơn là khắc.


Nó hoạt động tốt với Inkscape miễn là bạn vuốt nó thay vì điền nó. Cảm ơn!
Giovanni Mascellani

3

Trong kiến ​​trúc, người mới bắt đầu có thể vẽ các bức tường thành các đường đơn. Điều này là không chính xác mặc dù và không thể tồn tại - các bức tường ngay cả những người mỏng có độ dày.

Tương tự như vậy, chữ A của bạn ở bên trái, thậm chí một cái mỏng có độ dày. Dày như thế nào? Có phải là 1pt không? Có phải là 0,025pt? Làm thế nào để máy in biết? Chúng ta phải nói với nó.

Để trả lời câu hỏi của bạn, không có không thể tồn tại một phông chữ một chiều như bạn mô tả nó. Tất cả các dòng phải có một số độ dày để tồn tại.


2
Tôi không hoàn toàn đồng ý: mục đích của một phông chữ là để mô tả hình học liên quan đến kết xuất văn bản. Làm thế nào những hình học này phải được hiển thị là một vấn đề khác nhau, mà không được mô tả bằng chính phông chữ. Ngay cả với các phông chữ thông thường được mô tả trong TrueType, OpenType hoặc những gì bạn muốn, bạn vẫn phải quyết định màu sắc, hoa văn và bất cứ thứ gì được sử dụng để điền hoặc vuốt đường viền. Vì vậy, bạn có thể có một phông chữ giống như tôi nói: nhiệm vụ của người dùng là chỉ định độ dày của dòng và các thuộc tính khác.
Giovanni Mascellani

2
Hơn nữa, có những ứng dụng mà bạn khái niệm về một dòng độc lập với độ dày của nó. Ví dụ, ứng dụng tôi có trong tâm trí là khắc laser vector. Độ dày của những gì tôi khắc là sản phẩm phụ của tốc độ laser, công suất và tính chất vật lý của vật liệu tôi đang sử dụng. Nó không cần phải được biết bởi phần mềm điều khiển máy khắc.
Giovanni Mascellani

2
@Ryan điều này hoàn toàn không đúng. Nó chỉ đúng trong một thế giới trung tâm của Adobe. Và chỉ khi bạn muốn hạnh phúc với chính mình. Nếu không thì ngay cả đó là một lời nói dối.
joojaa

1
@immibis chắc chắn sẽ được xem xét trong in ấn khi chọn một vật liệu, mực và màu sắc nhưng không liên quan gì đến phông chữ. Một phông chữ có thể tồn tại trên màn hình của bạn miễn phí từ độ sâu, nhưng nó không thể tồn tại trên màn hình của bạn mà không có một số chiều rộng.
Ryan

3
Tất cả văn bản phải có chiều rộng dòng khi được vẽ, nhưng chiều rộng này không cần phải được lưu trong phông chữ. Thay vào đó, nó có thể được lưu trữ trong tài liệu bằng phông chữ, nhiều như kích thước và màu sắc.
Damian Yerrick
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.