Gán họ phông chữ đơn cách cho văn bản đã chọn bằng phím tắt trong mac os x


8

Tôi viết rất nhiều email kỹ thuật và muốn sử dụng phông chữ đơn cách cho các bit mã. Đánh dấu văn bản, nhấn apple-T, chọn phông chữ của tôi từ danh sách yêu thích, sau đó đóng cửa sổ phông chữ. Có cách nào để sử dụng phím tắt để áp dụng một phông chữ nhất định cho văn bản hiện được chọn không? Lý tưởng nhất là toàn hệ điều hành, nhưng nếu không thể, tôi có thể sử dụng nó cho chỉ một ứng dụng (Mail.app)


Phiên bản nào? ⌘-T hoạt động trong Thư 3.6.

@trashgod Tôi đang tìm kiếm một phím tắt duy nhất mà tôi có thể sử dụng để đặt phông chữ của lựa chọn hiện tại thành một phông chữ được chỉ định. Có lẽ là một số loại vĩ mô.

1
Điều này có vẻ khá tầm thường đối với AppleScript và sau đó chỉ cần gán một khóa cho tập lệnh đó. Nếu ai đó không đến vào tối nay tôi sẽ quất thứ gì đó vào ngày mai.
lemonginger

Câu trả lời:


2

Tôi đã tìm kiếm để làm điều này trong một thời gian rất dài.

Cuối cùng tôi cũng xoay sở được với thứ gì đó thực sự hiệu quả với tôi, với sự trợ giúp của công cụ Alfred và Highlight CLI.

Đây là phần kịch bản Alfred:

query="{query}"
if echo $query|grep -e "^__SHORTCUT__"
then
    echo "$query"|sed -E "s/^__SHORTCUT__//"|pbcopy
    syntax=txt
else
    osascript -e 'tell application "System Events" to keystroke "c" using {command down}'
    syntax=$query
fi

pbpaste|/usr/local/bin/highlight --syntax $syntax --font Menlo --font-size 12 --out-format=rtf|pbcopy
osascript -e 'tell application "System Events" to keystroke "v" using {command down}'

Đảm bảo rằng trình kích hoạt phím tắt thêm __SHORTCUT__để được nhận dạng và đối số là "Lựa chọn trong OSX":

nhập mô tả hình ảnh ở đây

Bản demo ngắn https://youtu.be/y8NJT52APRQ


1

Tôi không biết một cách toàn hệ thống để kịch bản bảng điều khiển Phông chữ nhưng đây là một số cách để truy cập nhanh vào các phông chữ đơn cách trong Mail.app

Cách 1: Lập kế hoạch tin nhắn văn bản

Chuyển đến tùy chọn của Mail.app> Phông chữ & Màu sắc và chọn hộp kiểm cho "Sử dụng phông chữ có chiều rộng cố định cho tin nhắn văn bản thuần túy"

nhập mô tả hình ảnh ở đây

Bây giờ khi bạn đang ở trong một tin nhắn mà bạn muốn sử dụng phông chữ đơn cách, bạn có thể chỉ cần nhấn: Command- Shift- Tvà bạn có thể chuyển đổi giữa phông chữ có chiều rộng cố định mà bạn chọn và phông chữ chuẩn (tin nhắn văn bản đơn giản và văn bản có định dạng).

Nhược điểm của phương pháp này là nếu người nhận chưa đặt phông chữ của họ thành phông chữ có chiều rộng cố định, họ có thể không thấy thông báo như dự định.

Cách 2: Đặt Phông chữ với Applescript

Cách thứ hai để làm điều này là tạo một thông điệp mới với phông chữ chính xác được chọn bằng Applescript. Bạn có thể làm điều đó như thế này:

tell application "Mail"
    set outgoingMessage to make new outgoing message
    set fontFace to "Times"
    tell outgoingMessage
        set the content to " "
        set font of content to fontFace
        set size of content to (14)
        set visible to true
    end tell
end tell

Bạn phải đặt nội dung thành một cái gì đó với kịch bản này. Có vẻ như Mail không cho phép bạn đặt phông chữ cho một tin nhắn trống.

Cách 3: Sử dụng TextExpander

Cách này tốn tiền nhưng nó có thể cung cấp cho bạn những gì bạn đang theo đuổi. Bạn có thể thiết lập một vài phím tắt TextExpander ($ 34,99 USD trên cửa hàng ứng dụng) cho chiều rộng cố định và loại thông thường để bạn có thể chuyển đổi qua lại bằng cách nhập một vài ký tự.

TextExpander

TextExpander sẽ cho phép bạn chèn văn bản có định dạng (văn bản có phông chữ, màu sắc, kiểu, v.v.). Chỉ cần tạo một đoạn văn bản có Định dạng Văn bản, Ảnh và đặt phông chữ cho văn bản bạn sẽ chèn. Bạn sẽ cần bao gồm ít nhất một nhân vật không gian để chiến lược này hoạt động.

Bạn sẽ cần đoạn trích của mình để bao gồm ít nhất một ký tự khoảng trắng để đảm bảo rằng phông chữ sẽ có.


1
Samuel, tôi đang tìm cách để làm cho văn bản được tô sáng đơn cách, không phải toàn bộ tin nhắn. Tôi ổn với việc sử dụng Applescript chỉ ảnh hưởng đến việc lựa chọn ứng dụng hiện tại. Bạn có thể giới thiệu một cách để kích hoạt applescript bằng phím tắt tùy chỉnh không?
Sam Barnum

1
Sam, rắc rối là Mail.app không có đối tượng cho văn bản đã chọn. Tôi đã dành một chút thời gian để cố gắng tìm ra một cách và tôi có thể nói rằng không có cách nào trong sạch để thực hiện điều này.
Samuel Mikel Bowles

2
Với TextExpander, bạn có thể yêu cầu nó chèn nội dung của bảng tạm vào đoạn mã được định dạng đơn cách. Vì vậy, khi bạn tô sáng, bạn chỉ cần gõ ⌘X và sau đó viết tắt đoạn trích của bạn để dán lại dưới dạng đơn cách. Thêm một khoảng trắng với định dạng thông thường vào cuối đoạn trích và bạn vẫn tốt để tiếp tục nhập. TextExpander nếu không thì rất hữu ích; mọi người sử dụng máy Mac để hoàn thành công việc dù sao cũng nên sở hữu nó.
Trombone thứ 75

1

Những gì tôi đã kết thúc bằng cách chỉ định thủ công không gian trong một số văn bản, sau đó Định dạng -> Sao chép Kiểu (Tùy chọn + Cmd + C) sao chép định dạng nhưng không phải văn bản. Sau đó chọn một số văn bản đơn giản khác và Định dạng-> Dán Kiểu (Tùy chọn + Cmd + V) sẽ gán định dạng này cho lựa chọn. Sau khi khởi động lại, bạn cần làm lại, và nó chỉ hoạt động cho một kiểu, nhưng điều này đáp ứng nhu cầu của tôi.


0

Sao chép một ký tự với một kiểu cụ thể:

echo "<span style=\"font:14px 'Monaco'\">&nbsp;</span>" | textutil -format html -convert rtf -stdin -stdout | pbcopy -Prefer rtf

pbcopy -Prefer rtf không bao gồm dữ liệu văn bản thuần túy, vì vậy dán sẽ chỉ hoạt động ở chế độ xem văn bản phong phú.


Chèn một ký tự với một kiểu cụ thể:

try
    try
        set old to the clipboard
    end try
    set html to quoted form of "<span style=\"font:14px 'Monaco'\">&nbsp;</span>"
    do shell script "echo " & html & " | textutil -format html -convert rtf -stdin -stdout | pbcopy -Prefer rtf"
    tell application "System Events" to keystroke "v" using command down
    delay 0.03
    set the clipboard to old
end try

Dán kiểu:

try
    try
        set old to the clipboard
    end try
    tell application "System Events" to keystroke "c" using command down
    delay 0.03
    set input to Unicode text of (the clipboard as record)
    set txt to quoted form of ("<span style=\"font:14px 'Monaco'\">" & input & "</span>")
    do shell script "echo " & txt & " | textutil -format html -convert rtf -stdin -stdout | pbcopy -Prefer rtf"
    tell application "System Events" to keystroke "v" using command down
    delay 0.03
    set the clipboard to old
end try
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.