Hỗ Trợ Mẹo Vặt Làm Ebook

Thảo luận trong 'Ebook truyện dịch' bắt đầu bởi Big Bang, 29/1/15.

  1. Big Bang

    Big Bang Thành viên kích hoạt

    Được thích:
    130
    Hỗ Trợ Tiếng Việt Có Dấu Với EmEditor


    EmEditor cài đặt mặc định không hỗ trợ tiếng Việt có dấu. Ví dụ trong text của bạn có từ Mứt và bạn tìm kiếm với option Whole Word nó sẽ tìm thấy luôn chữ trong Mứt ! "Thiếu sót" này khiến cho EmEditor trở nên không thích hợp để sửa lỗi chính tả hoặc tạo macro sửa lỗi chính tả hàng loạt. Mẹo nhỏ sau đây sẽ khắc phục "thiếu sót" này.

    Trong EmEditor bạn chọn menu Tools --> Customize... để mở hộp thoại Customize, sau đó chọn tab Edit như hình 1.

    [​IMG]
    Hình 1​

    Trong ô Treat the following characters as alphanumeric bạn thêm các chữ cái tiếng việt có dấu vào đằng sau những ký tự có sẵn trong ô đó (thường thì trong đó chỉ có một dấu gạch dưới - underscrore)
    Mã:
    đàáảãạăằắẳẵặâầấẩẫậèéẻẽẹêềếểễệìíỉĩịòóỏõọôồốổỗộơờớởỡợùúủũụưừứửữựỳýỷỹỵ
    
    Bạn nhấn OK để hoàn tất.
     
    Chỉnh sửa cuối: 10/3/15
  2. Big Bang

    Big Bang Thành viên kích hoạt

    Được thích:
    130
    Sửa Lỗi Tự Động Với EmEditor

    Macro AutoCorrect chạy trên EmEditor dùng để sửa lỗi hàng loạt dựa theo một danh sách có sẵn.

    1. Download và cài đặt:
    Download Autocorrect từ Mediafire
    Cài đặt: add script vào EmEditor, coi chi tiết ở Bộ Script Nhỏ Gọn Làm Ebook Với EmEditor, Options Của EmEditor, 4. Add - Remove Macro

    2. Hướng dẫn
    File chứa danh sách sửa lỗi là một file text, được gọi là file mẫu sửa lỗi.
    Các dòng trong file mẫu sửa lỗi chia làm 3 loại: dòng trống, dòng comment, dòng sửa lỗi

    Các dòng trống dùng để tách các dòng hoặc các khối cho dễ đọc. Chú ý dòng trống không được chứa bất kỳ ký tự nào, kể cả khoảng trắng.

    Các dòng comment bắt đầu bằng _COMMENT_ , chúng chỉ dùng để giải thích các dòng sửa lỗi. Ví dụ:

    _COMMENT_: các dòng dưới đây sửa các lỗi đánh máy thường gặp.

    Các dòng sửa lỗi mô tả cách AutoCorrect sửa lỗi. Chúng có dạng:

    <lỗi>=<sửa>=<opt1>=<opt2>

    Trong đó opt1 chỉ lấy các giá trị 0, 1, 2:
    0 = bình thường
    1 = extended
    2 = regex

    opt2 chỉ lấy các giá trị 0, 1, 2, 3:
    0 = bình thường
    1 = match case
    2 = whole word
    3 = match case + whole word

    Ghi chú: nếu opt1 là regex (opt1=2) thì opt2 không được lấy các giá trị 2 và 3

    Ví dụ: sửa lỗi đánh máy alf --> , replace bình thường, match case + whole word

    alf=là=0=3

    Bạn có thể tham khảo một file mẫu sửa lỗi đơn giản dưới đây:
    Mã:
    
    _COMMENT_: lỗi đánh máy
    alf=là=0=3
    
    _COMMENT_: lỗi mất dấu khi scan ảnh
    uợ=ượ=0=1
    
    _COMMENT_: xóa text rác
    ^Tác giả:[^\r\n]+\r\n==2=0
    
    
    
    3. Chạy script:
    1. Đóng tất cả các file đang mở
    2. Mở file mẫu sửa lỗi và file text cần sửa lỗi, file mẫu sửa lỗi ở trước file text cần sửa lỗi.
    3. Chọn file mẫu sửa lỗi là Active Document
    4. Chạy macro AutoCorrect.jsee

    Ghi chú:
    - Phải chỉnh EmEditor hỗ trợ chữ tiếng Việt có dấu, xem post #6 topic này
    - Trong thời gian chạy máy macro AutoCorrect tắt Undo để tăng tốc. Chức năng tắt Undo chỉ có ở những version EmEditor tương đối mới (14.6 trở lên).
    - Hạn chế dùng regex để tăng tốc.
     
    Last edited by a moderator: 17/7/18
  3. Big Bang

    Big Bang Thành viên kích hoạt

    Được thích:
    130
    Kindle for Android: Publisher Font


    Kindle for Android là một chương trình coi ebook rất mượt. Nó cũng là chương trình coi ebook phổ biến nhất trên Android. Kindle for Android có một số font chữ khá đẹp như Caecilia, Droid Serif, Baskerville... Nếu bạn không yêu cầu nhiều lắm về mặt hình thức thì các font chữ đó đủ cho hầu hết các loại sách. Nhưng nếu bạn muốn trang trí các tiêu đề, dropcap, khổ thơ... theo ý mình hoặc bạn thích đọc các font chữ Windows quen thuộc thì bạn phải xài Publisher Fonts khi làm ebook.

    1. Dùng font nhúng (embedded fonts)
    Nói một cách ngắn gọi, file ebook của bạn có chứa các font chữ cần thiết để hiển thị tất cả những kiểu chữ bạn muốn ở tiêu đề, dropcap... Người đọc không cần phải làm thêm bất kỳ điều gì.

    Ví dụ file truyện của bạn là ebook.html và file font là my_font.ttf, 2 file này ở trong cùng một folder. Trong file CSS hoặc ở thẻ style của file ebook.html bạn có thể nhúng font như sau:

    Mã:
    @font-face {
    	font-family: "My Font";
    	src: url("my_font.ttf");
    }
    
    Giả sử tựa chương của bạn dùng thẻ h2, bạn có thể dùng font nhúng của mình như sau:

    Mã:
    h2 { font-family: "My Font"; }
    Trong mẫu để nhúng font dưới đây, phần chữ màu xanh là cố định, phần chữ màu đỏ thay đổi tùy theo font bạn muốn nhúng:

    Mã:
    [b]
    [color="blue"]@font-face {
    	font-family: "[/color][color="red"]<Tên font của bạn>[/color][color="blue"]";
    	src: url("[/color][color="red"]<Đường dẫn tới file font của bạn>[/color][color="blue"]");
    	font-style: [/color][color="red"]<normal hoặc italic>[/color][color="blue"];
    	font-weight: [/color][color="red"]<normal hoặc bold>[/color][color="blue"];
    }[/color]
    [/b]
    Thí dụ, bạn muốn nhúng bộ font Times New Roman của Windows. Bộ font Times New Roman có 4 file cho các kiểu chữ thường, nghiêng, đậm và nghiêng đậm lần lượt là times.ttf, timesi.ttf, timesbd.ttf, timesbi.ttf. Bạn để các file font trong 1 folder riêng là emb_fonts. File truyện ebook.html và folder font emb_fonts ở trong cùng một folder.
    Mã:
    @font-face {
    	font-family: "Times New Roman";
    	src: url("emb_fonts/times.ttf");
    	font-style: normal;
    	font-weight: normal;
    }
    
    @font-face {
    	font-family: "Times New Roman";
    	src: url("emb_fonts/timesi.ttf");
    	font-style: italic;
    	font-weight: normal;
    }
    
    @font-face {
    	font-family: "Times New Roman";
    	src: url("emb_fonts/timesbd.ttf");
    	font-style: normal;
    	font-weight: bold;
    }
    
    @font-face {
    	font-family: "Times New Roman";
    	src: url("emb_fonts/timesbi.ttf");
    	font-style: italic;
    	font-weight: bold;
    }
    
    Sau khi nhúng, nếu bạn muốn tiêu đề h2 của mình dùng font Times New Roman in đậm thì có thể làm như sau:
    Mã:
    h2 { font-family: "Times New Roman"; font-weight: bold; }
    Nếu bạn muốn xài font Times New Roman cho cả truyện thì làm như sau:
    - Nếu version Kindle for Android của bạn là 4.7 hoặc mới hơn, bạn sửa thẻ <body> trong file truyện (ở đây là ebook.html) thành:
    Mã:
    <body style="font-family: 'Times New Roman' !important;">
    - Nếu version Kindle for Android của bạn là 4.6, bạn sửa style cho thẻ <body> trong file CSS như sau:
    Mã:
    body { font-family: "Times New Roman"; }
    2. Copy trực tiếp fonts vào Phone/Tablet
    Bạn cài một chương trình File Manager cho Android nào đó, ví dụ ASTRO File Manager hay ES File Explorer. Bình thường khi bạn bật file manager lên thì nó vào ngay folder /sdcard của bạn. Bạn chuyển đến folder /sdcard/Android/data/com.amazon.kindle/files. Nếu trong folder đó chưa có folder con fonts thì bạn tạo ra nó. Chú ý Android phân biệt chữ thường chữ hoa, nếu bạn đặt tên folder thành Fonts hay FONTS thì kindle sẽ không tìm thấy font bạn copy. Bạn copy tất cả các font bạn thích vào folder fonts. Vậy là xong rồi! Khi làm ebook bạn không cần phải nhúng font nữa.

    Ghi chú: Nếu bạn cắm phone/tablet vào PC hay Laptop qua cổng USB, bạn có thể tạo folder và copy file mà không cần cài file manager cho Android.

    3. So sánh 2 cách làm
    Font nhúng bảo đảm font chữ hiển thị đúng như người làm ebook muốn cho dù phone/tablet người đọc có cài font đó hay không, tuy nhiên người làm ebook phải chịu khó một chút và không được nhầm lẫn các file font chữ! Mỗi lần làm ebook là một lần phải nhúng font, vì vậy cấm chỉ định đối với dân làm biếng!

    Dùng cách thứ 2 chỉ hiển thị đúng nếu người đọc copy font vào phone/tablet của họ. Nếu người đọc không copy, Kindle sẽ thay bằng font mặc định (nếu tôi nhớ không nhầm đó là Droid Serif). Cách làm này khỏe cho người làm ebook, người đọc phải chịu khó copy font một lần duy nhất.

    Nếu bạn làm ebook cho riêng mình, copy font vào phone/tablet là lựa chọn hiển nhiên. Nếu bạn làm ebook cho người khác, bạn phải khuyến cáo họ copy những font bạn hay dùng để làm ebook. Ebook của bạn sẽ gọn hơn vì không phải nhúng font nhưng người đọc phải tốn thêm một ít bộ nhớ để chứa font. Theo kinh nghiệm của tôi, các font Windows đẹp để đọc sách chỉ chiếm 15-20MB, bằng với 1 ebook trung bình. Với phone không quá cũ thì chừng đó bộ nhớ không đáng kể.

    Ngoài ra nhúng font vào ebook còn gặp vấn đề về bản quyền. Kèm font vào ebook và gửi cho người khác tương đương với chia sẻ font, một số font bản quyền không cho phép. Nếu dùng cách 2 thì không có vấn đề gì, người đọc làm sao để có font chữ đó để coi là chuyện của họ, nếu không có thì coi font mặc định của Kindle vẫn đọc được nội dung truyện.

    Một số bộ font đẹp của Windows như Times New Roman, Tahoma, Arial, Verdana, Calibri, Georgia Ref, Corbel, Calisto MT, Constantia, Candara chiếm tổng cộng chưa tới 13MB.
     
    Chỉnh sửa cuối: 17/5/15
    Duy Minh thích bài này.
  4. Big Bang

    Big Bang Thành viên kích hoạt

    Được thích:
    130
    Xóa Chương Trùng

    Thỉnh thoảng do mạng bị lag, poster post một chương 2 lần (nhấn một cái không thấy xi-nhê gì bèn nhấn thêm lần nữa, rốt cuộc bị trùng chương không xóa được). Làm sao tìm nhanh & xóa các chương này?
    Để phát hiện chương trùng, bạn có thể dùng các script kiểm tra số chương trong một số bộ script đang được dùng ở forum, ví dụ eBookWorm. Nếu số chương bị trùng tương đối ít, bạn nên xóa bằng tay cho nhanh. Nếu số chương trùng nhiều quá, bạn có thể dùng RegEx để xóa hàng loạt bằng EmEditor.

    RegEx dưới đây sẽ xóa chương trùng có nội dung không quá 200 dòng. Chương đầu tiên sẽ bị xóa, chương thứ hai được giữ lại.

    Replace All (RegEx - EmEditor)

    Find What: ^(Chương [0-9]+[^\r\n]+)\r\n(?:[^\r\n]+\r\n){0,200}\1
    Replace With: \1

    Chú ý: nếu text của bạn nhiều quá bạn nên chia nhỏ ra chạy nhiều lần cho nhanh. Kết quả dưới đây của bạn derishi là khoảng 1 phút cho 200c. Tuy RegEx này về nguyên tắc vẫn chạy được trên Notepad++ nhưng Bạn nên cân nhắc trước khi dùng.

     
  5. Big Bang

    Big Bang Thành viên kích hoạt

    Được thích:
    130
    Mẹo Vặt Làm eBook

    Xóa Text Hán Việt Trong Truyện Convert

    Mô Tả:
    Text convert lấy bằng các tool như GetText thường dính cả phần Hán-Việt, làm sao để loại bỏ hàng loạt?

    Cách Làm:
    Nếu text của bạn thỏa 3 yêu cầu dưới đây thì có thể làm được:
    - Mỗi chương của truyện có 3 (hoặc 2 phần), trong đó phần vietphrase đầu tiên rồi đến hán-việt (có thể có thêm phần tiếng Hoa)
    - Phần hán-việt bắt đầu bằng một kiểu cố định khác với vietphrase, ví dụ Đệ 120 chương
    - Cuối chương (hoặc đầu chương) có một dòng đánh dấu, ví dụ _END_OF_CHAPTER_

    Các bước tiến hành:
    1. Làm sạch text, loại bỏ hết dòng trống, khoảng trắng thừa (ở đầu, cuối dòng, nhiều khoảng trắng liên tiếp,...)
    2. Đánh dấu phần hán-việt bằng một dòng đặc biệt (không bao giờ xuất hiện trong truyện, ví dụ _BAT_DAU_SPOILER_HAN_VIET_):
    Lấy theo thí dụ trên, bạn có thể làm thế này:
    Replace All (regex)

    find what: ^(Đệ [0-9]+ chương)
    replace with: _BAT_DAU_SPOILER_HAN_VIET_\r\n\1

    Sau khi replace xong các chương sẽ trông như thế này:

    Chương 120 XXX YYY ZZZ
    .....
    _BAT_DAU_SPOILER_HAN_VIET_
    Đệ 120 chương XXX YYY ZZZ
    .....
    _END_OF_CHAPTER_


    3. Xóa tất cả text ở giữa 2 dòng _BAT_DAU_SPOILER_HAN_VIET__END_OF_CHAPTER_ . Bạn có thể chọn giữ lại _END_OF_CHAPTER_ để tiếp tục dọn rác hoặc xóa nó đi. Bạn chọn số dòng tối đa có thể xóa (trong ví dụ này là 300). Chú ý số dòng càng lớn chạy càng chậm, nhưng nếu số dòng quá nhỏ thì có thể có chương bị lọt sổ. Bạn tự điều chỉnh.

    3.1 Xóa hán việt, kể cả dòng cuối chương:
    find what: _BAT_DAU_SPOILER_HAN_VIET_\r\n(?:[^\r\n]*\r\n){0,300}?_END_OF_CHAPTER_\r\n
    replace with: (để trống)

    3.2 Xóa hán việt, giữ lại dòng cuối chương:
    find what: _BAT_DAU_SPOILER_HAN_VIET_\r\n(?:[^\r\n]*\r\n){0,300}?_END_OF_CHAPTER_
    replace with: _END_OF_CHAPTER_

    Ghi chú:
    - Nếu vietphrase và hán-việt đánh số chương như nhau thì không dùng được
    - Có người ghi nhận là khi số dòng cần xóa là lớn thì Notepad++ chạy không ổn định. Bạn nên dùng EmEditor.

     
    Chỉnh sửa cuối: 5/11/15

Thành viên đang xem bài viết (Users: 0, Guests: 0)