Fonte "Wire" (unidimensional)

17

Todas as fontes que eu já ouvi falar são bidimensionais : cada glifo é basicamente uma região bidimensional (um contorno fechado ou alguns contornos fechados), que o software ou a impressora de alguma forma acaricia ou preenche, dependendo das instruções fornecidas pelo usuário. Gostaria de saber se existem fontes unidimensionais , em que os glifos são descritos apenas como coleções de segmentos (que o software pode traçar, mas não necessariamente preencher), não de regiões.

Em outras palavras (ou melhor, nas imagens), o que eu gostaria de ter é a coisa esquerda, em vez da direita na figura abaixo. Isso existe?

De uma letra bidimensional a uma dimensional

(desculpe pela foto, eu sei que é muito ruim; eu fiz isso rapidamente)

Giovanni Mascellani
fonte
Talvez seja necessário responder a graphicdesign.stackexchange.com/questions/64626/… antes de podermos realmente responder à sua pergunta
Ryan
Qual é o seu aplicativo desejado para a fonte? Não consigo ver nenhum uso em uma fonte de traçado único para o design, portanto, suponho que você queira isso para uma planta ou gravação. Em qual programa você pretende usar a fonte?
DavidC
5
Ainda existem duas dimensões, não há apenas dentro: P
Zach Saucier
8
A coisa mais próxima de uma fonte unidimensional seria um código de barras.
Gerald Schneider
Apenas como uma idéia de um aplicativo, escrevi uma demonstração do Raspberry Pi para traçar os caminhos de um SVG em um osciloscópio XY - isso seria perfeito para isso. É certo que este é um meio incomum (como é o plotter de caneta que pretendo usá-lo mais tarde).
Chris H

Respostas:

23

Nas plotadoras, isso é chamado de "fonte de traçado", " fonte de linha única ", "fonte de gravação", "fonte de letras técnicas" ou apenas "fonte de plotadora".

Uma plotadora traça imagens no papel usando uma caneta. Ele não pode preencher imagens, exceto por repetidamente separá-las com menos de uma largura de caneta. Portanto, as fontes projetadas para uso com plotadoras conterão glifos com um toque ("simplex"), dois traços mais ou menos paralelos ("duplex") ou três traços ("triplex"). As fontes com mais traços demoram mais para desenhar, mas permitem mais variação na largura do traçado em um glifo. Usar uma caneta muito estreita para um glifo em um determinado tamanho causará lacunas visíveis entre os traços.

Um exemplo de uma fonte principalmente simplex é a Hershey Vector Font . Seu sinal de arroba @, colchetes [], chaves {}e til ~são duplex.

Glifos em fonte de vetor Hershey

Se você viu " quadro-negro em negrito ", é uma fonte 𝕕𝕦𝕡𝕝𝕖𝕩 com a largura da caneta menor que a distância entre os traços.

Negrito em uma fonte serif duplex

As bibliotecas de imagens antigas suportam fontes de traçado da mesma maneira que uma plotadora. Ao renderizar texto, um aplicativo definiria a largura e a cor do traço antes de desenhar o texto, assim como antes de desenhar uma linha. Isso é análogo a selecionar uma caneta em uma plotadora.

Porém, as modernas bibliotecas de imagens rasterizadas usam fontes OpenType, que contêm contornos TrueType ou CFF (PostScript Type 2). As fontes OpenType que simulam fontes de traçado contêm o contorno de um traçado em alguma largura de linha. Essa operação de traçado pode ser revertida inserindo o contorno do glifo a uma distância de meia largura de traço, uma espécie do inverso do negrito algorítmico.

Damian Yerrick
fonte
Bingo! Eles existem, mas são bastante inúteis, a menos que sejam usados ​​para aplicativos BluePrints, gravação ou laser. Crie aplicativos como Adobe, Corel, etc. Tenha dificuldade em renderizá-los, para que eles não sejam muito úteis para projetar.
DavidC
@ DavidC: Em plataformas gráficas que podem aplicar transformações separadamente à caneta de desenho de forma independente e à fonte, as fontes stick podem funcionar muito bem se alguém usar uma caneta elíptica muito fina e aplicar uma transformação pura nela (produzindo uma aparência de caneta caligráfica). Fazer isso parece funcionar melhor com uma fonte quase aderente do que com uma fonte com largura de traçado normal.
Supercat 23/12
10

A maioria dos aplicativos de engenharia suporta fontes com apenas linhas e espessura dos suprimentos do usuário. Assim como muitas máquinas de gravação e fresagem. Algumas fontes existem, embora não funcionem muito bem em softwares modernos (se houver).

Esse é o problema: Os mecanismos de fonte regrediram desde que descontinuamos o PostScript. Desculpe, não há soluções fáceis. Portanto, é possível ter todos os tipos de guloseimas no dia em que não é mais possível na maioria dos computadores. Quase nenhum aplicativo suporta isso, mesmo que o presente nem funcione em svg, pois as definições de fonte svg foram preteridas nos navegadores.

O problema é que não existe um formato universal para essas fontes. E as próprias fontes apresentarão mau funcionamento em muitos casos. Aplicativos normais os tratarão estranhos. Vejo:

  • Outra pergunta sobre o tópico star-trek-interior-plaques, onde você pode encontrar uma fonte como esta que pode funcionar em alguns aplicativos.

A Jongware criou um script chamado desenho de texto monoline para ilustrador, por exemplo, você pode obtê-lo aqui:

É possível criar suas próprias fontes desse tipo no PostScript, embora usando fontes do tipo 3 (mas o suporte não é mais amplo *, embora o illustrator possa usá-las em algumas circunstâncias). O suporte em aplicativos de design é escasso. Mas eu realmente uso isso o dia todo ao fazer o ostScript. Aqui está um exemplo (fonte para uso especial   editada apenas para esta demonstração):

%!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

Para usar isso, basta colocá-lo em um arquivo de texto com um final EPS e arraste e solte-o no ilustrador ou no word. verifique se não há linhas vazias antes do início. Você pode editar o texto alterando o que está dentro dos parênteses no final do formulário de 3 linhas. A ressalva aqui é que eu apenas defini os caracteres 'L' 'a' e 'b'.

Pré-visualização

Imagem 1 : Visualização do programa de fontes.

* Portanto, isso foi facilmente possível no final dos anos 80 e meados dos anos 90, mas não hoje. O suporte foi removido principalmente, alguns softwares de adobe ainda o possuem.

joojaa
fonte
1
No entanto, mesmo o meu script não pode fazê-lo funcionar sem qualquer espessura: você ainda tem que definir 'a' espessura para as linhas desenhadas. Mas, concedido, você pode configurá-lo para qualquer valor que desejar, ao contrário das fontes de contorno que têm uma espessura "predefinida".
usr2564301
2
Uma observação lateral, no entanto, os cortadores a laser, as máquinas cnc e os aplicativos cad funcionarão sem espessura da linha, pois a espessura para eles é apenas um artefato do pós-processamento.
Joojaa
2
Isso é bom e elegante, mas não é uma fonte. Eu verifiquei várias definições de fonte e ainda não encontrei nenhuma que não inclua espessura / largura como parte da definição. Em Design Gráfico, isso não é fonte de nada que eu encontrei. Até o @Jongware e você reconhece que deve haver alguma espessura para que ele funcione. Eu diria (e todas as definições que encontrei concordam) que não é uma fonte até que isso ocorra. No entanto, na prática, isso pode muito bem ser o que o OP está buscando se eles estão apenas tentando marcar pontos :) Pode querer olhar para o Corel Draw, sei que os criadores de sinais costumam usá-lo.
Ryan
1
Também ainda não é unidimensional, conforme solicitado na pergunta. Mas então eu diria que uma fonte unidimensional real é impossível, porque uma dimensão o limitará a uma linha reta em, bem, uma dimensão. Você pode fazer eu e eu sem duas dimensões, mas não muito mais.
Janus Bahs Jacquet
3
@Ryan: pode ser bom e elegante, mas a linha inferior é que as fontes somente de traçado podem existir, mas não são suportadas pelas tecnologias de fonte atuais.
usr2564301
8

Metafont é uma linguagem de descrição usada para definir fontes vetoriais.

Diferentemente dos formatos de fonte de contorno mais comuns (como TrueType ou PostScript Tipo 1), uma fonte Metafont é composta principalmente de traçados com "canetas" de largura finita, além de regiões preenchidas. Portanto, em vez de descrever diretamente o contorno do glifo, um arquivo Metafont descreve os caminhos da caneta.

O que você descreve pode ser implementado como uma fonte Metafont com uma largura constante da caneta.

Locoluis
fonte
6

Outro termo para o que você está procurando é uma "fonte de bastão" - há um conjunto gratuito de 9 deles que eu usei para gravação a laser e CNC em http://www.mrrace.com/CamBam_Fonts/

Observe que essas fontes tendem a parecer ruins na tela, com áreas fechadas geralmente parecendo sólidas. Isso ocorre porque elas são fontes de contorno tecnicamente inválidas: cada caractere consiste necessariamente em um ou mais loops fechados (já que os sistemas operacionais modernos não suportam nenhum outro tipo de fonte), mas cada loop tem uma área zero. Portanto, eles podem ser inadequados para você se o objetivo for algo diferente de gravar.

jasonharper
fonte
Funciona bem com o Inkscape, desde que você o acaricie em vez de preenchê-lo. Obrigado!
Giovanni Mascellani 22/02
3

Na arquitetura, um iniciante pode desenhar paredes como linhas únicas. Isso é impreciso e não pode existir - paredes até finas têm espessura.

Da mesma forma, seu A à esquerda, mesmo um fino, tem uma espessura. Quão grossa? É 1pt? É 0.025pt? Como a impressora sabe? Temos que contar.

Para responder sua pergunta, não pode existir uma fonte unidimensional como você a descreve. Todas as linhas devem ter alguma espessura para existir.

Ryan
fonte
2
Não concordo completamente: o objetivo de uma fonte é descrever geometrias relacionadas à renderização de texto. Como essas geometrias devem ser renderizadas é uma questão diferente, que não é descrita pela própria fonte. Mesmo com as fontes comuns descritas em TrueType, OpenType ou o que você deseja, você ainda precisa decidir qual cor, padrão e o que usar para preenchimento ou toque de contorno. Portanto, você pode ter uma fonte como a que eu digo: é dever do usuário especificar a espessura da linha e as outras propriedades.
Giovanni Mascellani
2
Além disso, existem aplicações nas quais você tem o conceito de uma linha independentemente de sua espessura. Por exemplo, a aplicação que tenho em mente é a gravação a laser vetorial. A espessura do que gravo é um subproduto da velocidade do laser, potência e propriedades físicas do material que estou usando. Ele não precisa ser conhecido pelo software que conduz o gravador.
Giovanni Mascellani
2
@ Ryan isso estritamente não é verdade. É apenas verdade em um mundo centrado em adobe. E somente se você quiser ser feliz consigo mesmo. Caso contrário, mesmo assim, é uma mentira.
joojaa
1
@immibis que certamente é considerado impresso ao escolher um material, tinta e cor, mas não tem nada a ver com a fonte. Uma fonte pode existir na sua tela sem profundidade, mas não pode existir na sua tela sem algum tipo de largura.
Ryan
3
Todo o texto deve ter largura de linha quando desenhado, mas essa largura não precisa ser armazenada na fonte. Em vez disso, ele pode ser armazenado no documento usando a fonte, da mesma forma que tamanho e cor.
Damian Yerrick