Recursive: Powerline Glyph untuk Git Branch

Dibuat pada 13 Jun 2020  ·  17Komentar  ·  Sumber: arrowtype/recursive

Hai,
Bisakah Anda mempertimbangkan untuk menambahkan mesin terbang powerline untuk cabang git jika memungkinkan?

OS: Windows 10
Terminal: Terminal terintegrasi Kode VS
Versi Rekursif: v1.051

Kode Cascadia:
image

Mono rekursif:
image

Terima kasih

enhancement – planned

Komentar yang paling membantu

@otherjoel saya setuju, tapi itu mungkin harus menjadi masalah baru. Gambar kotak glpyhs berada dalam kategori yang berbeda dengan Powerline.

Semua 17 komentar

Ini ide yang bagus, terima kasih!

Sepertinya Terminal Windows belum mendukung font fallback, tetapi mungkin akan membantu untuk meningkatkan/menambahkan reaksi di https://github.com/microsoft/terminal/issues/1790 untuk mendorong upaya itu. :)

Catatan untuk nanti: sepertinya https://github.com/ryanoasis/nerd-fonts mungkin cara untuk melakukan ini

Catatan:

Ada lebih sedikit mesin terbang powerline yang saya sadari – saya pikir mereka mungkin menyertakan banyak mesin terbang menggambar kotak, tetapi pada dasarnya adalah 8 mesin terbang yang berguna, lalu sekelompok mesin terbang yang tampaknya murni untuk ... gaya?

Dari nerd fonts powerline fonts , berikut adalah set dasarnya:

image

...dan "ekstra":

image

Tangkapan layar dari situs web powerline menunjukkan beberapa di antaranya dalam konteks, sebagai elemen yang tampaknya hanya untuk hiasan (bukan status sistem, dll):

image

Dari Kode Cascadia, berikut adalah set mesin terbang, yang disesuaikan agar sesuai dengan unit lebar tunggal:

image

Jika/ketika saya menambahkan ini ke Rekursif, saya akan memiliki beberapa tujuan:

  • Tambahkan mereka hanya dengan berat Reguler
  • Mungkin menyesuaikan gaya mesin terbang inti sedikit agar sesuai dengan Rekursif, dan mungkin bahkan memberi mereka sumbu Kasual
  • Cocokkan ukuran keseluruhannya agar berfungsi dengan baik dengan Rekursif
  • Mungkin, minta mereka ditambahkan dalam proses pasca ke font Rec Mono Code, daripada dimasukkan ke dalam font utama

Mungkin berguna untuk menggunakan pendekatan penggabungan Kode Cascadia:

def step_merge_glyphs_from_ufo(path):
    def _merge(instance):
        ufo = ufoLib2.Font.open(path)
        print(f"[{instance.info.familyName} {instance.info.styleName}] Merging {path}")
        for glyph in ufo.glyphOrder:
            if glyph not in instance.glyphOrder:
                instance.addGlyph(ufo[glyph])

    return _merge

...meskipun, saya juga ingin melihat penggabungan TTF dengan FontTools. Yang, sebenarnya mungkin sangat mudah dengan alat penggabungan FontTools!

Langkah-langkah desain: Buat cabang powerline , lalu...

  1. Mulailah dengan mesin terbang Powerline Kode Cascadia
  2. Sesuaikan ini ke 1000 UPM, dan glyph hingga lebar 600 unit
  3. Gunakan transformasi penskalaan untuk membawa mesin terbang ke ketinggian yang benar (mungkin, hitung transformasi persentase yang diperlukan, lalu ubah semua mesin terbang). Berapa ketinggian yang benar? Sulit untuk diketahui ... mungkin, itu akan membantu untuk meminta Aaron Bell, dan mungkin, itu hanya akan membutuhkan penggabungan ke Rec Mono & pengujian. Tapi, ini mungkin melampaui "langkah-langkah desain."
  4. Bagi menjadi tiga font: powerline-extras.ufo , powerline-base-casual.ufo , dan powerline-base-linear.ufo . Tempatkan ini ke folder baru di src/ufo/powerline
  5. Sesuaikan versi "Santai" dan "Linear" dari mesin terbang utama:

    • Buat mesin terbang "cabang" memiliki panah Rekursif, tetapi tetap terhubung karena terlalu kecil untuk banyak detail

    • Glyph LN dan CN bisa mendapatkan batasan Rekursif yang disesuaikan. Mungkin, "C" harus lebih seperti bentuk huruf kecil, untuk menjaga bentuk terbuka (tetapi tidak menjadi hal persegi panjang biasanya di mesin terbang PL)

    • Jadikan mesin terbang "kunci" tidak jelek, jika mungkin (sulit untuk mengatakan apa yang harus diubah, meskipun ... mungkin, itu seharusnya hanya mendapatkan sudut dan garis gaya Rekursif)

  6. Dalam powerline-extras , buat ruang yang merata di garis kontur – misalnya lego harus memiliki ketebalan yang rata di ruang negatifnya, daripada terlihat terjepit (saat ini terlihat terjepit di Cascadia, seperti yang ditunjukkan di bawah)

image

  1. Buat Permintaan Tarik dengan cabang itu ke main

Kami telah membuat beberapa kemajuan yang baik di sini dengan PR https://github.com/arrowtype/recursive/pull/407.

Selanjutnya, saya akan mencari cara untuk menambahkan ini ke dalam sistem build untuk font Rec Mono (mis. https://github.com/arrowtype/recursive-code-config).

Pendekatan yang akan saya coba di sini:

  • ekspor dari UFO khusus powerline ke TTF dasar
  • gunakan Penggabungan FontTools untuk menggabungkannya dengan kode TTF

Ini sebagian berhasil! Saya memiliki skrip starter di sini: https://github.com/arrowtype/recursive-code-config/blob/5260e83be9669e6e6cce4ea1e89510af6d11462f/scripts/merge-powerline-ttfs.py

Namun, ada kesalahan lucu (sedikit bodoh di pihak saya) yang mencegah mesin terbang "cabang" ditampilkan dengan Rekursif: mesin terbang sudah ada di font, tetapi hanya sebagai mesin terbang kosong (pada dasarnya seperti ruang kata). Ini mungkin karena saya menambahkan mesin terbang sebelumnya, dengan maksud untuk mengisinya dengan gambar cabang khusus Rekursif.

Namun, ini menghasilkan ikon yang muncul sebagai ruang kosong, jika Rekursif digunakan dengan tema PowerLine. 💀

image

Perbaikannya sederhana tetapi akan membutuhkan sedikit waktu untuk memungkinkan pembuatan & rilis baru. Saya akan:

  • [x] hapus uniE0A0 kosong di sumber Rekursif, lalu buat versi baru dari font variabel.
  • [x] menghasilkan font Kode RecMono baru
  • [ ] cocok dengan metrik font UFO powerline & bangun
  • [ ] kemudian perbaiki skrip penggabungan dalam konfigurasi kode-rekursif untuk menggabungkan mesin terbang powerline dengan semua gaya font, memisahkan linear vs kasual. _pindah ke bawah_

Saya pikir ini mungkin semua yang diperlukan! Atau, mungkin perlu penyelidikan lebih lanjut.

Berhasil bekerja pada tingkat yang sederhana!

image

Saya masih perlu:

  • [ ] sesuaikan mesin terbang cabang menjadi sedikit lebih tebal/besar. Saya mungkin akan selalu memiliki ruang kata di kedua sisi, sehingga dapat sedikit melampaui batasnya
  • [ ] coba berikan panah/segitiga mesin terbang bagian datar kecil di atas & bawah ditambah sedikit luapan ke kiri, untuk melihat apakah itu menghindari sedikit ketidaksejajaran di sini (yang mungkin merupakan akibat dari "petunjuk"/antialiasing hal-hal dari sistem )
  • [ ] cocok dengan metrik font UFO saluran listrik & bangun kembali TTF
  • [ ] kemudian perbaiki skrip penggabungan dalam konfigurasi kode-rekursif untuk menggabungkan mesin terbang powerline dengan semua gaya font, memisahkan linear vs kasual.

Perbaikan desain masih diperlukan:

  • [ ] sesuaikan sisi kiri mesin terbang "cabang" untuk menyeimbangkan dengan bobot visual sisi kanan

image

  • [x] perbaiki baris interior blok ini uniE0CC uniE0CD :

image

Catatan teknis tentang sufiks .stypo dalam Kode Cascadia: https://twitter.com/ArrowType/status/1313594838462484481

TLDR: Dalam , glyph .stypo cocok dengan metrik salah ketik, dan mereka diaktifkan dengan fitur OpenType rclt .

Aku:

Saya melihat bahwa Cascadia Code PowerLine UFO memiliki versi normal & "stypo" dari mesin terbang PL.

  1. Versi stypo mungkin untuk pengaturan seperti terminal VScode dengan ketinggian garis yang lebih pendek, ya?

  2. Bagaimana Anda membuatnya bekerja?

Terima kasih atas wawasan apa pun!

Aaron Bell:

Terminal Windows (dan lainnya) mengimplementasikan flag useTypoMetrics dengan benar, jadi ide dari versi sTypo adalah untuk menyesuaikan ketinggian sehingga sejajar dengan metrik sTypo.

Untuk sistem lain yang tidak menghormati bendera itu, mereka akan melihat versi normal.

Sayangnya, saya tidak sepenuhnya yakin apakah itu benar-benar berfungsi sebagaimana dimaksud (https://github.com/microsoft/cascadia-code/issues/310). Ini diperumit oleh fakta bahwa editor pengkodean memainkan malapetaka dengan ukuran mesin terbang untuk memasukkan semuanya ke dalam kotak standar.

(Saya mendalilkan bahwa sistem yang cukup maju untuk memahami/menghormati flag useTypoMetrics juga cukup canggih untuk memahami/mengimplementasikan fitur rclt (yang harus diaktifkan secara default). Dan yang tidak cukup pintar untuk mengimplementasikan sTypo tidak akan menerapkan rclt.)

Jika Anda memiliki ide tentang cara mengimplementasikan yang lebih baik, saya pasti akan tertarik! Mendapatkan karakter PL untuk secara konsisten berbaris ketika Anda memiliki dua set metrik yang berbeda adalah hal yang menyebalkan.

Ada lebih sedikit mesin terbang powerline yang saya sadari – saya pikir mereka mungkin menyertakan banyak mesin terbang menggambar kotak, tetapi pada dasarnya adalah 8 mesin terbang yang berguna, lalu sekelompok mesin terbang yang tampaknya murni untuk ... gaya?

Akan sangat menyenangkan memiliki mesin terbang gambar kotak, mungkin ini bisa berguna? https://github.com/adobe-type-tools/box-drawing

@otherjoel saya setuju, tapi itu mungkin harus menjadi masalah baru. Gambar kotak glpyhs berada dalam kategori yang berbeda dengan Powerline.

Halo @arrowtype , terima kasih telah menerapkan permintaan ini,

Apakah Anda ingin masalah ini tetap terbuka atau menurut Anda saya dapat menutup masalah ini berdasarkan rilis 1.066?

image

Terima kasih, @krish-r! Saya akan membiarkan ini terbuka untuk saat ini, karena saya masih ingin menerapkan ukuran yang berbeda dari mesin terbang saluran listrik yang mungkin muncul di terminal tertentu seperti terminal terintegrasi dalam Kode VS.

Menggali lebih jauh, sepertinya ini adalah masalah VS Code , yang juga memengaruhi font seperti Cascadia Code & Fira Code (dan banyak lainnya). Pada gilirannya, ini tampaknya menjadi masalah rendering teks Chrome.

Penyelarasan sangat baik di Terminal macOS dan di iTerm2, jadi saya akan menutup masalah ini, dan membuat masalah baru untuk menyelidiki apakah ada perbaikan yang masuk akal yang dapat saya lakukan untuk penyelarasan Kode VS.

Terminal macOS:

image

iTerm2:

image

BTW, menurut beberapa penyelidikan saya, tampaknya Terminal Windows tidak mengaktifkan fitur rclt di baris perintah, tetapi tidak dalam konten apa pun yang dicetak di terminal:
https://github.com/microsoft/cascadia-code/issues/310#issuecomment -738209291

(Anda juga menginspirasi saya untuk kembali dan memperbaiki beberapa mesin terbang jelek itu :))

Apakah halaman ini membantu?
0 / 5 - 0 peringkat