

<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>macOS &#8211; Max的每一天</title>
	<atom:link href="https://max-everyday.com/tag/macos/feed/" rel="self" type="application/rss+xml" />
	<link>https://max-everyday.com</link>
	<description>認真過每一天、快樂過每一天</description>
	<lastBuildDate>Fri, 17 Apr 2026 10:32:57 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://max-everyday.com/wp-content/uploads/2020/02/ic_launcher_round_2020-003.png</url>
	<title>macOS &#8211; Max的每一天</title>
	<link>https://max-everyday.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Camera001 專業版限時免費</title>
		<link>https://max-everyday.com/2024/11/camera001-pro/</link>
					<comments>https://max-everyday.com/2024/11/camera001-pro/#respond</comments>
		
		<dc:creator><![CDATA[Max]]></dc:creator>
		<pubDate>Wed, 20 Nov 2024 03:34:34 +0000</pubDate>
				<category><![CDATA[生活小事]]></category>
		<category><![CDATA[macOS]]></category>
		<guid isPermaLink="false">https://max-everyday.com/?p=21129</guid>

					<description><![CDATA[Camera001 是 iOS 上的拍照 App. 在 Facebook 上看到瘋先生分享Camera001 專業版限時免費，經測試在 macOS 的電腦上也可以取得專業 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Camera001 是 iOS 上的拍照 App.</p>



<p>在 Facebook 上看到瘋先生分享Camera001 專業版限時免費，經測試在 macOS 的電腦上也可以取得專業版的限時免費了。</p>



<p>攻略如下：</p>



<h2 class="wp-block-heading">Camera001 App主畫面右上角「Pro」</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img fetchpriority="high" decoding="async" width="400" height="653" src="https://max-everyday.com/wp-content/uploads/2024/11/Screenshot-2024-11-20-at-11.08.33 AM.jpg?v=1732073119" alt="" class="wp-image-21130" srcset="https://max-everyday.com/wp-content/uploads/2024/11/Screenshot-2024-11-20-at-11.08.33 AM.jpg?v=1732073119 400w, https://max-everyday.com/wp-content/uploads/2024/11/Screenshot-2024-11-20-at-11.08.33 AM-306x500.jpg?v=1732073119 306w" sizes="(max-width: 400px) 100vw, 400px" /></figure>
</div>


<p></p>



<h2 class="wp-block-heading">捲動設定項目到最下面，點「Other」（其他設定）</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="400" height="653" src="https://max-everyday.com/wp-content/uploads/2024/11/Screenshot-2024-11-20-at-11.24.31 AM.jpg?v=1732073161" alt="" class="wp-image-21131" srcset="https://max-everyday.com/wp-content/uploads/2024/11/Screenshot-2024-11-20-at-11.24.31 AM.jpg?v=1732073161 400w, https://max-everyday.com/wp-content/uploads/2024/11/Screenshot-2024-11-20-at-11.24.31 AM-306x500.jpg?v=1732073161 306w" sizes="(max-width: 400px) 100vw, 400px" /></figure>
</div>


<p></p>



<h2 class="wp-block-heading">點「Volumn Buttons: Enable」(使用音量鍵：開啟)</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="400" height="653" src="https://max-everyday.com/wp-content/uploads/2024/11/Screenshot-2024-11-20-at-11.07.27 AM.jpg?v=1732073283" alt="" class="wp-image-21132" srcset="https://max-everyday.com/wp-content/uploads/2024/11/Screenshot-2024-11-20-at-11.07.27 AM.jpg?v=1732073283 400w, https://max-everyday.com/wp-content/uploads/2024/11/Screenshot-2024-11-20-at-11.07.27 AM-306x500.jpg?v=1732073283 306w" sizes="(max-width: 400px) 100vw, 400px" /></figure>
</div>


<p></p>



<h2 class="wp-block-heading">點「Free / One-Time Purchase」(免費／全部永久購買)</h2>



<p>經過 Apple ID 認證就能以0元來取得 Camera001 永久專業版功能。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="564" height="808" src="https://max-everyday.com/wp-content/uploads/2024/11/Screenshot-2024-11-20-at-11.06.45 AM.jpg?v=1732073362" alt="" class="wp-image-21133" srcset="https://max-everyday.com/wp-content/uploads/2024/11/Screenshot-2024-11-20-at-11.06.45 AM.jpg?v=1732073362 564w, https://max-everyday.com/wp-content/uploads/2024/11/Screenshot-2024-11-20-at-11.06.45 AM-349x500.jpg?v=1732073362 349w" sizes="auto, (max-width: 564px) 100vw, 564px" /></figure>
</div>


<p></p>



<p><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">【重要提醒】限時免費活動可能隨時都會結束，如果你的畫面與我不同，請不要隨意亂點Free Trail (免費試用)或年度訂閱，避免造成免費變成要收費。</mark></p>



<p></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">資料來源</h2>



<p>瘋先生<br><a href="https://mrmad.com.tw/camera001-professional-camera">https://mrmad.com.tw/camera001-professional-camera</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://max-everyday.com/2024/11/camera001-pro/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>超好聽的卡農和弦15634125和4536251</title>
		<link>https://max-everyday.com/2022/12/chord-15634125-4536251/</link>
					<comments>https://max-everyday.com/2022/12/chord-15634125-4536251/#respond</comments>
		
		<dc:creator><![CDATA[Max]]></dc:creator>
		<pubDate>Mon, 05 Dec 2022 13:40:06 +0000</pubDate>
				<category><![CDATA[生活小事]]></category>
		<category><![CDATA[macOS]]></category>
		<category><![CDATA[Podcast]]></category>
		<guid isPermaLink="false">https://max-everyday.com/?p=16892</guid>

					<description><![CDATA[Max聽了某一個Podcast的片頭之後，腦洞大開想製作一段Max的Podcast的開場片頭，製作方式是一邊播別人的音樂的時同，另一邊在音樂編輯軟體 GarageBand [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Max聽了某一個Podcast的片頭之後，腦洞大開想製作一段Max的Podcast的開場片頭，製作方式是一邊播別人的音樂的時同，另一邊在音樂編輯軟體 GarageBand 裡憑著聽覺，隨意用電腦鍵盤亂彈，播放著完成後的作品，聽起來像是噪音慘不忍睹，會讓人心煩意亂，微調了半天，結果還是一樣像噪音，反正一開始就就是想營造不專業的形象，所以想說還是繼續使用這個噪音的版本。</p>



<p>但是，不小心在Youtube上聽別人彈和弦，覺得好好聽！於是把自己亂彈的噪音換成了和弦，感覺整體有悅耳一點點&#8230;，但還是感覺怪怪的，整體上有著很不搭的衝突感。</p>



<p>在自己動作做音樂之後，覺得那些會彈琴、懂樂理、有音感、抓的到Key或節拍的人，都好厲害哦，我就完全無法駕馭這方面的能力。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="530" src="https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-05-at-5.42.25-PM-1024x530.png?v=1670234609" alt="" class="wp-image-16894" srcset="https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-05-at-5.42.25-PM-1024x530.png?v=1670234609 1024w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-05-at-5.42.25-PM-500x259.png?v=1670234609 500w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-05-at-5.42.25-PM-615x318.png?v=1670234609 615w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-05-at-5.42.25-PM.png?v=1670234609 1212w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>上圖裡，Hard Rock (第2)軌就是Max純手工亂彈的噪音，Classic Electric Piano (第3)軌是在GarageBand 用滑鼠指標去點擊出來的和弦，有試過使用 Teddy 的 GarageBand 教學影片的 #12 Groove Track節拍修正, 讓亂彈有整齊一點，聽完像是較和諧的噪音，呵呵。</p>



<p>一開始在 GarageBand 挑戰用電腦鍵盤即時去輸入，發現手指完全跟不上預期的節拍，後來改 用滑鼠慢慢畫上去，反而比較有效率，而且還可以調整到正確的節拍上。</p>



<p>慢慢畫音符的好處還滿多的，可以做出比較多的變化，按出比較不生硬(固定間距)的和弦。用滑鼠的缺點是：和弦的按法還要避開按到黑鍵，不同音的黑鍵按法又不同，因為黑鍵的間隔和白鍵一樣都是一格，如果是用鍵盤的話，固定是按到白鍵，但另一個問題是鍵盤不夠長，切換8度很麻煩。</p>



<p>要在 GarageBand 選取多個音符，請先用Shift鍵多選，再按住Option(Alt)鍵就可以複製出新的一組音符，很方便，一陣copy/paste 和移動之後，就做出一組可以重覆循中播放的和弦了。</p>



<p>Max在這個網頁裡參考用別人的片頭曲：<br><a href="https://www.artists-co.com/" target="_blank" rel="noreferrer noopener">https://www.artists-co.com/</a></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="707" height="852" src="https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-05-at-6.19.15-PM.png" alt="" class="wp-image-16895" srcset="https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-05-at-6.19.15-PM.png?v=1670235583 707w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-05-at-6.19.15-PM-415x500.png?v=1670235583 415w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-05-at-6.19.15-PM-615x741.png?v=1670235583 615w" sizes="auto, (max-width: 707px) 100vw, 707px" /></figure>
</div>


<p>研究了一下別人Podcast的片頭，例如：</p>



<p><strong>「科技如何」的片頭：</strong><br>每周跟你一起關心科技如何改變我們的未來，科技如何影響我們的生活。</p>



<p><strong>「那些學校沒教的事」的片頭：</strong><br>hello hello 我是 janet, 你的人生還沒有下課，因為我將在這跟你分享「那些學校沒教的事」</p>



<p><strong>「全新一週」的片頭：</strong><br>來到「全新一週」、全新的視界和全新的視野，我是戴季全</p>



<p>也有些Podcast 節目的進場片頭是一段舒服的輕音樂，例如「超直白心理學」。聽完別人的片頭，決定「Max的每一天」的片頭為：<br>hello 我是立志要當豬頭的 max, 我將在這跟你分享Max怎麼認真過每一天、快樂過每一天</p>



<p>2022-12-05 用GarageBand做出來的片頭：<br><a rel="noreferrer noopener" href="https://drive.google.com/file/d/16avxHC8o7mjKOAMD_4IT8JiGAFotyaVH/view" target="_blank">https://drive.google.com/file/d/16avxHC8o7mjKOAMD_4IT8JiGAFotyaVH/view</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>什麼是和弦？</p>



<p>和弦（chord）源自希臘文χορδή，原意是指弦線。在音樂理論裏，是指組合在一起的兩個以上不同音高的音。在歐洲古典音樂及受其影響的音樂風格裏，更多時候是指三個或以上的音高組合，而兩個音高的組合則以音程來描述。</p>



<p>參考的Youtube 影片：</p>



<p>你的歌单绝对有一首15634125<br><a href="https://www.youtube.com/watch?v=FkhFqVPS3iY">https://www.youtube.com/watch?v=FkhFqVPS3iY</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="你的歌单绝对有一首15634125！！！爷青回~" width="885" height="498" src="https://www.youtube.com/embed/FkhFqVPS3iY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<p>承包华语乐坛的另一组万能和弦15634125<br><a href="https://www.youtube.com/watch?v=PeKGQyTsmIs">https://www.youtube.com/watch?v=PeKGQyTsmIs</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="【钢琴】承包华语乐坛的另一组万能和弦15634125！" width="885" height="498" src="https://www.youtube.com/embed/PeKGQyTsmIs?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<p>4536251歌曲串烧<br><a href="https://youtu.be/aqmvF-GmYng">https://youtu.be/aqmvF-GmYng</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="4536251歌曲串烧，好听到哭！" width="885" height="498" src="https://www.youtube.com/embed/aqmvF-GmYng?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<p>6415万能和弦<br><a href="https://www.youtube.com/watch?v=tOohMgZoQfA">https://www.youtube.com/watch?v=tOohMgZoQfA</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="6415万能和弦歌曲大串烧！瞬间让多少人变成了音痴？" width="885" height="498" src="https://www.youtube.com/embed/tOohMgZoQfA?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<p>4536251，我直接开始乱唱<br><a href="https://www.youtube.com/watch?v=RJPyAsty1fc">https://www.youtube.com/watch?v=RJPyAsty1fc</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="4536251，我直接开始乱唱" width="885" height="498" src="https://www.youtube.com/embed/RJPyAsty1fc?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">相關文章</h2>



<p>學習 Mac 的 GarageBand<br><a href="https://max-everyday.com/2022/12/learn-mac-garageband/">https://max-everyday.com/2022/12/learn-mac-garageband/</a></p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://max-everyday.com/2022/12/chord-15634125-4536251/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>學習 Mac 的 GarageBand</title>
		<link>https://max-everyday.com/2022/12/learn-mac-garageband/</link>
					<comments>https://max-everyday.com/2022/12/learn-mac-garageband/#respond</comments>
		
		<dc:creator><![CDATA[Max]]></dc:creator>
		<pubDate>Sun, 04 Dec 2022 16:30:20 +0000</pubDate>
				<category><![CDATA[生活小事]]></category>
		<category><![CDATA[macOS]]></category>
		<category><![CDATA[Podcast]]></category>
		<category><![CDATA[免費]]></category>
		<guid isPermaLink="false">https://max-everyday.com/?p=16877</guid>

					<description><![CDATA[心血來潮想來做看看 Podcast, Goggle 了一下很多網友建議可以用 GarageBand 來剪接聲音，剛好有一台mac電腦，也下載了 GarageBand, 看 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>心血來潮想來做看看 Podcast, Goggle 了一下很多網友建議可以用 GarageBand 來剪接聲音，剛好有一台mac電腦，也下載了 GarageBand, 看完 Teddy 的GarageBand系列教學影片，覺得聲音與音樂的世界真是太有趣了。</p>



<p>GarageBand是一款支援macOS、iOS與iPadOS的數位音樂創作軟體，由蘋果電腦開發，是應用程式套裝iLife的一部分，允許使用者藉由此軟體創作音樂。 這個應用軟體並不是以專業作曲為目標，它是為了使業餘愛好者更容易製作音樂。</p>



<h2 class="wp-block-heading">GarageBand下載</h2>



<p>從Apple 官網:<br><a href="https://www.apple.com/mac/garageband/">https://www.apple.com/mac/garageband/</a></p>



<p>Max家裡的蘋果電腦的macOS版本太老舊，已無法Apple store裡下載GarageBand最新版本，還好網路上有網友分享舊版的安裝檔。</p>



<p>Try this: (v10.3.4 garageband) , my garageband worded (os 10.15.7) !!<br><a href="https://www.malavida.com/en/soft/garageband/mac/download">https://www.malavida.com/en/soft/garageband/mac/download</a></p>



<p>在下載完後，關閉再重新開啟 GarageBand 會提示詢問要不要下載額外的素材，建議下載。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>透過觀看Teddy的影片，覺得他製作影片過程中有些macOS 的操作方式很酷，所有去google 一下，就學到一些新技能，在Teddy的教學影片內容「之外」學到的是：</p>



<h2 class="wp-block-heading">1：縮放 macOS 的畫面</h2>



<p>使用方式除了使用鍵盤熱鍵之外，也可以使用Control鍵加上2指的捲動，感覺使用純鍵盤去縮放卡卡的，使用鍵盤＋手勢順手一點，一開始以為手勢是要左右放大或是二指合併來縮放，結果是向上捲放大目前指標的位置，向下捲拉遠，可以一口氣拉多一點，直接回到原始大小。</p>



<p>有三種的縮放風格(Zoom style), 第二種分割畫面最奇怪，母子畫面效果滿好的，感覺最多人用應該還是全螢幕(Full screen)縮放。</p>



<p>設定畫面：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="772" src="https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-12.08.43-AM-1024x772.jpg?v=1669915009" alt="" class="wp-image-16879" srcset="https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-12.08.43-AM-1024x772.jpg?v=1669915009 1024w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-12.08.43-AM-500x377.jpg?v=1669915009 500w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-12.08.43-AM-1536x1158.jpg?v=1669915009 1536w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-12.08.43-AM-615x464.jpg?v=1669915009 615w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-12.08.43-AM.jpg?v=1669915009 1560w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">2：三指拖拉</h2>



<p>在macOS 是可以按住觸控板的情況下，去拖拉物物，但每支手指施力方式不太一樣，操作起來卡卡的，單純在3指觸控時就切換為拖曳物件，操作起來很順手，也很有效率。</p>



<p>設定畫面如下，先點擊 Pointer Control, Trackpad Options&#8230;, Enable dragging , select to &#8220;three finger frag&#8221;.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="772" src="https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-12.09.09-AM-1024x772.jpg?v=1669916382" alt="" class="wp-image-16880" srcset="https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-12.09.09-AM-1024x772.jpg?v=1669916382 1024w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-12.09.09-AM-500x377.jpg?v=1669916382 500w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-12.09.09-AM-1536x1158.jpg?v=1669916382 1536w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-12.09.09-AM-615x464.jpg?v=1669916382 615w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-12.09.09-AM.jpg?v=1669916382 1560w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">3：聲音專案的結束點</h2>



<p>預設新計畫案的長度為 32 小節。你可以移動計畫案結束點來在計畫案結尾移除未使用的小節。<br><a href="https://support.apple.com/zh-tw/guide/garageband/gbndee0e1ff2/mac">https://support.apple.com/zh-tw/guide/garageband/gbndee0e1ff2/mac</a></p>



<p>那個奇怪的結束點的小圖（在右上角）太小，所以很容易被乎略，每次存檔都被變很久。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="468" src="https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-07-at-10.01.55-PM-1024x468.png?v=1670421780" alt="" class="wp-image-16957" srcset="https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-07-at-10.01.55-PM-1024x468.png?v=1670421780 1024w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-07-at-10.01.55-PM-500x228.png?v=1670421780 500w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-07-at-10.01.55-PM-1536x701.png?v=1670421780 1536w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-07-at-10.01.55-PM-615x281.png?v=1670421780 615w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-07-at-10.01.55-PM.png?v=1670421780 1546w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p></p>



<h2 class="wp-block-heading">4：音量大小正規化</h2>



<p>預設輸出專案時會對音量大小做正規化（Normalize），意思是太小聲會變大聲，太大聲會變小一點。</p>



<p>如果你一開始錄音時，錄的太小聲，這個正規化就滿有幫助的，但有些細節會怪怪的，長大後的波形很多鋸齒狀。</p>



<p>下圖的軌道1是用麥克風錄出來的，在匯出為mp3 後，發現原來軌道1這樣的波形算是太小聲，軌道2是被正規化過的，把匯出的 mp3 再拉回來專案裡，就可以得到較大聲的版本。</p>



<p>為什麼要這樣做？因為GarageBand 裡可以調整音量功能大小，並沒辦法增加很多，把原本軌道1較小聲的，跟另一個片頭音樂組合起來，就怪怪的，而且聽眾也會去聽其他頻道裡的節目，如果自己錄的較小聲，那聽眾去聽別節目時還要去調整音量就會造成聽眾的困擾。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="439" src="https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-07-at-10.04.12-PM-1024x439.png?v=1670421917" alt="" class="wp-image-16958" srcset="https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-07-at-10.04.12-PM-1024x439.png?v=1670421917 1024w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-07-at-10.04.12-PM-500x214.png?v=1670421917 500w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-07-at-10.04.12-PM-1536x659.png?v=1670421917 1536w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-07-at-10.04.12-PM-615x264.png?v=1670421917 615w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-07-at-10.04.12-PM.png?v=1670421917 1726w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>看完 Teddy 的影片心得：</p>



<h2 class="wp-block-heading">使用 Cmd+K 叫出音樂鍵盤(Musical  Typing)</h2>



<p>GarageBand可與MIDI樂器配合使用，一般人家裡應該不會有MIDI鍵盤 ，一般的電腦鍵盤在GarageBand也可以變成虛擬鍵盤，使用方式是先增加一個 midi 軌之後，按下 Command+K 就可以叫出虛擬鍵盤，執行畫面如下：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="640" src="https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-2.01.31-AM-1024x640.jpg?v=1669918452" alt="" class="wp-image-16881" srcset="https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-2.01.31-AM-1024x640.jpg?v=1669918452 1024w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-2.01.31-AM-500x313.jpg?v=1669918452 500w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-2.01.31-AM-1536x960.jpg?v=1669918452 1536w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-2.01.31-AM-2048x1280.jpg?v=1669918452 2048w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-2.01.31-AM-615x384.jpg?v=1669918452 615w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>音樂鍵盤鍵盤在任何時候都會顯示一個八度半，電腦鍵盤上的asdf行鍵總共有10個音可以發出來。 可以使用x鍵向上移動一個八度，或使用z鍵向下移動一個八度。</p>



<p>爵士鼓是由一組不同音色的鼓與其他打擊樂器組成，並由單人演奏。以雙手握鼓棒、鼓刷或束棒，雙腳踩踏板控制hi-hat與大鼓鼓搥。</p>



<p>使用虛擬鍵盤也可以即時的打出爵士鼓，在GarageBand彈鋼琴，覺得很有趣，雖然Max完全不會彈，把自己的噪音組合在一起，覺得很有趣。</p>



<h2 class="wp-block-heading">左右聲道的互換與淡入淡出的混音自動化(Automation)</h2>



<p>調音量是在Teddy的GarageBand教學系列的EP#16, 使用的熱鍵是A, 也可以在上面選單的Mix 裡切換 Show/Hide Automation. 這個功能跟剪接 Podcast 好像沒什麼直接的關係，但覺得很好玩，應該（也許、可能）有一天會用的到。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="430" src="https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-2.29.31-AM-1024x430.jpg?v=1669919515" alt="" class="wp-image-16882" srcset="https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-2.29.31-AM-1024x430.jpg?v=1669919515 1024w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-2.29.31-AM-500x210.jpg?v=1669919515 500w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-2.29.31-AM-1536x646.jpg?v=1669919515 1536w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-2.29.31-AM-615x258.jpg?v=1669919515 615w, https://max-everyday.com/wp-content/uploads/2022/12/Screen-Shot-2022-12-02-at-2.29.31-AM.jpg?v=1669919515 1556w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>EQ等化器的教學是在EP#15, 實際測試在人聲的處理上，對較高及較低音頻的過濾後，感覺上聲音較有質感，可能是使用了高級功能後的錯覺，呵呵。</p>



<p>在GarageBand輸出專案為mp3後，要找一個網路空間來放聲音檔，Max有去註冊SoundCloud, 免費帳號最多只能存放 180分鐘的資料，除了SoundCloud, 也有人建議搬家去 SoundOn, Anchor, Firstory. 目前我聽到的大多數的 Podcast 的聲音滿多是住在 SoundOn 上。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Teddy 的GarageBand教學影片：</h2>



<p>範例下載</p>



<ul class="wp-block-list">
<li>#01：<br><a href="https://drive.google.com/file/d/1db0l7fi5lVhRVVGt4QjNDQ79e5PyEuu0/view">https://drive.google.com/file/d/1db0l7fi5lVhRVVGt4QjNDQ79e5PyEuu0/view</a></li>



<li>#16：<br><a href="https://drive.google.com/file/d/1QxfsiVYEnL9z209nwoRpY42UCi1xM_Ub/view">https://drive.google.com/file/d/1QxfsiVYEnL9z209nwoRpY42UCi1xM_Ub/view</a></li>
</ul>



<p>【Apple GarageBand 教學#01】安裝與基礎操作<br><a href="https://www.youtube.com/watch?v=6_XJJFVm8oc">https://www.youtube.com/watch?v=6_XJJFVm8oc</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="【Apple GarageBand 教學#01】安裝與基礎操作" width="885" height="498" src="https://www.youtube.com/embed/6_XJJFVm8oc?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>【Apple GarageBand 教學#02】Audio與MIDI軌道<br><a href="https://www.youtube.com/watch?v=CoUAyaEDMks">https://www.youtube.com/watch?v=CoUAyaEDMks</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="【Apple GarageBand 教學#02】Audio與MIDI軌道" width="885" height="664" src="https://www.youtube.com/embed/CoUAyaEDMks?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>【Apple GarageBand 教學#03】使用Apple Loops<br><a href="https://www.youtube.com/watch?v=EHFvzm_vkYU">https://www.youtube.com/watch?v=EHFvzm_vkYU</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="【Apple GarageBand 教學#03】使用Apple Loops" width="885" height="664" src="https://www.youtube.com/embed/EHFvzm_vkYU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>【Apple GarageBand 教學#04】使用資源庫<br><a href="https://www.youtube.com/watch?v=ze6QhUdMAXk">https://www.youtube.com/watch?v=ze6QhUdMAXk</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="【Apple GarageBand 教學#04】使用資源庫" width="885" height="664" src="https://www.youtube.com/embed/ze6QhUdMAXk?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>【Apple GarageBand 教學#05】Smart Control<br><a href="https://www.youtube.com/watch?v=r3ISczPKg9U">https://www.youtube.com/watch?v=r3ISczPKg9U</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="【Apple GarageBand 教學#05】Smart Control" width="885" height="664" src="https://www.youtube.com/embed/r3ISczPKg9U?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>【Apple GarageBand 教學#06】Editor 編輯器<br><a href="https://www.youtube.com/watch?v=HeDkJOdkw_A">https://www.youtube.com/watch?v=HeDkJOdkw_A</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="【Apple GarageBand 教學#06】Editor 編輯器" width="885" height="664" src="https://www.youtube.com/embed/HeDkJOdkw_A?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>【Apple GarageBand 教學#07】使用Apple Loops拼湊歌曲<br><a href="https://www.youtube.com/watch?v=xi2w-1-m0_s">https://www.youtube.com/watch?v=xi2w-1-m0_s</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="【Apple GarageBand 教學#07】使用Apple Loops拼湊歌曲" width="885" height="664" src="https://www.youtube.com/embed/xi2w-1-m0_s?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>【Apple GarageBand 教學#08】超好玩的Drummer<br><a href="https://www.youtube.com/watch?v=hWf7WJHtls8">https://www.youtube.com/watch?v=hWf7WJHtls8</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="【Apple GarageBand 教學#08】超好玩的Drummer" width="885" height="664" src="https://www.youtube.com/embed/hWf7WJHtls8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>【Apple GarageBand 教學#09】Audio軌道錄音與編輯<br><a href="https://www.youtube.com/watch?v=k20pNeN5bnU">https://www.youtube.com/watch?v=k20pNeN5bnU</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="【Apple GarageBand 教學#09】Audio軌道錄音與編輯" width="885" height="664" src="https://www.youtube.com/embed/k20pNeN5bnU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>【Apple GarageBand 教學#10】MIDI軌道錄音與編輯<br><a href="https://www.youtube.com/watch?v=0BBAIgHBhbM">https://www.youtube.com/watch?v=0BBAIgHBhbM</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="【Apple GarageBand 教學#10】MIDI軌道錄音與編輯" width="885" height="664" src="https://www.youtube.com/embed/0BBAIgHBhbM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>【Apple GarageBand 教學#11】Flex節拍修正<br><a href="https://www.youtube.com/watch?v=431UbFw82h8">https://www.youtube.com/watch?v=431UbFw82h8</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="【Apple GarageBand 教學#11】Flex節拍修正" width="885" height="664" src="https://www.youtube.com/embed/431UbFw82h8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>【Apple GarageBand 教學#12】Groove Track節拍修正<br><a href="https://www.youtube.com/watch?v=y5czjs4lUdI">https://www.youtube.com/watch?v=y5czjs4lUdI</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="【Apple GarageBand 教學#12】Groove Track節拍修正" width="885" height="664" src="https://www.youtube.com/embed/y5czjs4lUdI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>【Apple GarageBand 教學#13】Arpeggiator琶音器<br><a href="https://www.youtube.com/watch?v=tUDRrl3Q6Aw">https://www.youtube.com/watch?v=tUDRrl3Q6Aw</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="【Apple GarageBand 教學#13】Arpeggiator琶音器" width="885" height="664" src="https://www.youtube.com/embed/tUDRrl3Q6Aw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>【Apple GarageBand 教學#14】Global Tracks<br><a href="https://www.youtube.com/watch?v=ShsjjskO45Q">https://www.youtube.com/watch?v=ShsjjskO45Q</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="【Apple GarageBand 教學#14】Global Tracks" width="885" height="664" src="https://www.youtube.com/embed/ShsjjskO45Q?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>【Apple GarageBand 教學#15】使用EQ等化器<br><a href="https://www.youtube.com/watch?v=lHBxvXZSlfI">https://www.youtube.com/watch?v=lHBxvXZSlfI</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="【Apple GarageBand 教學#15】使用EQ等化器" width="885" height="664" src="https://www.youtube.com/embed/lHBxvXZSlfI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>【Apple GarageBand 教學#16】使用Automation<br><a href="https://www.youtube.com/watch?v=-uDSBOyFlwA">https://www.youtube.com/watch?v=-uDSBOyFlwA</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="【Apple GarageBand 教學#16】使用Automation" width="885" height="664" src="https://www.youtube.com/embed/-uDSBOyFlwA?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>【Apple GarageBand 教學#17】輸出專案<br><a href="https://www.youtube.com/watch?v=jO4ZfnYBCsc">https://www.youtube.com/watch?v=jO4ZfnYBCsc</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="【Apple GarageBand 教學#17】輸出專案" width="885" height="664" src="https://www.youtube.com/embed/jO4ZfnYBCsc?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://max-everyday.com/2022/12/learn-mac-garageband/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Mac讀不到外接硬碟的解決方法</title>
		<link>https://max-everyday.com/2020/11/mac-external-hard-drive-not-mounting/</link>
					<comments>https://max-everyday.com/2020/11/mac-external-hard-drive-not-mounting/#respond</comments>
		
		<dc:creator><![CDATA[Max]]></dc:creator>
		<pubDate>Thu, 26 Nov 2020 02:25:31 +0000</pubDate>
				<category><![CDATA[生活小事]]></category>
		<category><![CDATA[macOS]]></category>
		<guid isPermaLink="false">https://max-everyday.com/?p=13121</guid>

					<description><![CDATA[分享在Mac電腦不正確退出USB後就再也抓不到的解決方法。https://youtu.be/7WleqqELU2M 首先是把外接式硬碟拿到別台電腦讀讀看，能不能正常存取， [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>分享在Mac電腦不正確退出USB後就再也抓不到的解決方法。<br><a href="https://youtu.be/7WleqqELU2M">https://youtu.be/7WleqqELU2M</a></p>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="Mac讀不到外接硬碟的解決方法" width="885" height="498" src="https://www.youtube.com/embed/7WleqqELU2M?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<p>首先是把外接式硬碟拿到別台電腦讀讀看，能不能正常存取，如果別台電腦OK，理論上插回Mac過一陣子，以400GB來說，大約20～30分鐘可以在背景自動修復完成。</p>



<p>要知道Mac有沒有在自動修復，可以執行「Activity Monitor」看看有沒有 fsck_ 開頭的 process 在執行中。</p>



<p>除了可以在「Activity Monitor」，可以中斷正在背景自動修復程式，也可以在Ternimal 裡透過下面的指令來完成：</p>



<pre class="wp-block-preformatted">ps aux | grep fsck</pre>



<p>說明：這個指令用來列出有關鍵字 fsck 的執行中的程式。</p>



<pre class="wp-block-preformatted">sudo kill -9 {pid}</pre>



<p>pid 的部份是變動的，需要置換為在ps 指令看到的第二欄的數字。</p>



<p>當沒有程式在存取外接式USB時，就可以正常的在 Disk Utility 裡「退出」該disk, 在退出後就可以再使用 First Aid 的功能去修復 USB 外接式硬碟。</p>



<p>要透過指令退出硬碟，需要先使用指令：</p>



<pre class="wp-block-preformatted">diskutil list</pre>



<p>列出所有的儲存裝置，找到要退出的硬碟後，再使用指令：</p>



<pre class="wp-block-preformatted">diskutil eject {disk_id}</pre>



<p>退出該裝置。disk_id 需要從 diskutil list 指令裡找。</p>



<hr class="wp-block-separator"/>



<h2 class="wp-block-heading">執行畫面</h2>



<p>執行Disk Utility 後，MAX500G 的外接式硬碟顯示為「無法存取」（灰色）:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="673" src="https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-04.51.09-1024x673.png" alt="" class="wp-image-13126" srcset="https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-04.51.09-1024x673.png?v=1606355780 1024w, https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-04.51.09-500x329.png?v=1606355780 500w, https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-04.51.09-615x404.png?v=1606355780 615w, https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-04.51.09.png?v=1606355780 1037w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>MAX500G 的外接式硬碟，執行 First Aid 顯示錯誤訊息：</p>



<p>repair failed. (修復失敗)</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="673" src="https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-04.35.34-1024x673.png?v=1606355863" alt="" class="wp-image-13127" srcset="https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-04.35.34-1024x673.png?v=1606355863 1024w, https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-04.35.34-500x329.png?v=1606355863 500w, https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-04.35.34-615x404.png?v=1606355863 615w, https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-04.35.34.png?v=1606355863 1037w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>主要原因是背景有另一個 fsck_exfat -y /dev/rdisk2s1 正在自動執行中，透過First Aid 執行的 fsck_exfat 會多一個 -x 的參數。</p>



<p>對一個Mac電腦正在背景執行 fsck_exfat 的裝置來執行 diskutil list 和 diskutil eject 會顯示錯誤訊息：Volume timeout while waiting to eject</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="762" height="548" src="https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-04.58.00.png" alt="" class="wp-image-13129" srcset="https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-04.58.00.png?v=1606356086 762w, https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-04.58.00-500x360.png?v=1606356086 500w, https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-04.58.00-615x442.png?v=1606356086 615w" sizes="auto, (max-width: 762px) 100vw, 762px" /></figure>



<p>使用 ps aux | grep fsck 指令，可以看到有二列的結果，第一列是 root 753 第二列是一般使用者帳號 812, 可以過透 sudo kill -9 753 來結束Mac在背景自動執行的修復程式。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="762" height="548" src="https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-05.01.21.png" alt="" class="wp-image-13130" srcset="https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-05.01.21.png?v=1606356145 762w, https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-05.01.21-500x360.png?v=1606356145 500w, https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-05.01.21-615x442.png?v=1606356145 615w" sizes="auto, (max-width: 762px) 100vw, 762px" /></figure>



<p>在停掉 root 執行的 fsck_ 系列的修復程式（除了是 exfat 也可能是其他的，例如 hfs）之後，再執行 diskutil eject 就可以正確的退出外接裝置：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="762" height="548" src="https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-05.01.14.png" alt="" class="wp-image-13131" srcset="https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-05.01.14.png?v=1606356416 762w, https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-05.01.14-500x360.png?v=1606356416 500w, https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-05.01.14-615x442.png?v=1606356416 615w" sizes="auto, (max-width: 762px) 100vw, 762px" /></figure>



<p>再重新執行一次 First Aid：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="895" height="601" src="https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-05.18.45.png" alt="" class="wp-image-13132" srcset="https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-05.18.45.png?v=1606356465 895w, https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-05.18.45-500x336.png?v=1606356465 500w, https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-05.18.45-615x413.png?v=1606356465 615w" sizes="auto, (max-width: 895px) 100vw, 895px" /></figure>



<p>使用者自行觸發的修復程序，檢查中&#8230;：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="895" height="601" src="https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-05.19.12.png" alt="" class="wp-image-13133" srcset="https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-05.19.12.png?v=1606356545 895w, https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-05.19.12-500x336.png?v=1606356545 500w, https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-21-at-05.19.12-615x413.png?v=1606356545 615w" sizes="auto, (max-width: 895px) 100vw, 895px" /></figure>



<p>過一段時間後，就可以修復成功：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="644" src="https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-26-at-10.09.44-1024x644.png?v=1606356668" alt="" class="wp-image-13134" srcset="https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-26-at-10.09.44-1024x644.png?v=1606356668 1024w, https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-26-at-10.09.44-500x314.png?v=1606356668 500w, https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-26-at-10.09.44-615x387.png?v=1606356668 615w, https://max-everyday.com/wp-content/uploads/2020/11/Screen-Shot-2020-11-26-at-10.09.44.png?v=1606356668 1196w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>這時候，再退出外接式硬碟，重新插入USB 就可以和以往一樣，正常的使用。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://max-everyday.com/2020/11/mac-external-hard-drive-not-mounting/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>在MacOS建立可以開機的Ubuntu USB隨身碟</title>
		<link>https://max-everyday.com/2020/10/create-a-bootable-usb-stick/</link>
					<comments>https://max-everyday.com/2020/10/create-a-bootable-usb-stick/#respond</comments>
		
		<dc:creator><![CDATA[Max]]></dc:creator>
		<pubDate>Wed, 21 Oct 2020 15:42:55 +0000</pubDate>
				<category><![CDATA[電腦相關應用]]></category>
		<category><![CDATA[macOS]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://max-everyday.com/?p=12761</guid>

					<description><![CDATA[Max鄰居家裡的電腦壞了，硬碟有壞軌，去幫他看錯誤訊息是讀取某一個磁區（sector）裡的資料失敗，鄰居其實只有在上網，之前他電腦就壞掉過一次，很神奇第一次遇到有在用電腦 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Max鄰居家裡的電腦壞了，硬碟有壞軌，去幫他看錯誤訊息是讀取某一個磁區（sector）裡的資料失敗，鄰居其實只有在上網，之前他電腦就壞掉過一次，很神奇第一次遇到有在用電腦，但是硬碟幾乎是空的，800GB的硬碟，只使用了 12GB，鄰居問我，是不是該買台電腦，我建議他先試看看，完全沒有硬碟，使用可以開機的USB隨身碟當作業系統用一陣子看看，覺得太慢或不適應的話，再買新新電腦。</p>



<p>要建立可以開機的USB，首先是到ubuntu 下載安裝影像檔（ISO Image），目前最新的穩定版本是 20.04.1 雖然有 2.7G，現在的 4G網路滿快的，一下子就下載好了。</p>



<p>現在有些檔案從網路上下載所需的時間，比自己去外接式硬碟找還快，以前是網路下載的速度很慢，所以如果下載了這種很大的檔案，就會想存一份到外接式硬碟裡，現在進步為直接從網路下載就行了，而且還會是較新的版本，網路快而且穩定省下很多的麻煩，進化後的網路，讓照片和影片的觀看和備份都直接丟到雲端上，追劇、視聽娛樂也方便很多。</p>



<p>隨著網路速度愈來愈快和穩定，有些需要在雲端上儲存檔案而且花錢買過 iCloud,Google Drive,Dropbox 的人，可能會覺得這類服務很方便，而且收費也滿合理，一試成主顧。</p>



<hr class="wp-block-separator has-css-opacity"/>



<p>目前 ubuntu 建議的工具是 <a href="https://www.balena.io/etcher/">balenaEtcher</a>:<br><a href="https://etcher.balena.io/">https://etcher.balena.io/</a></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>For most users we recommend&nbsp;<a href="https://www.balena.io/etcher/">balenaEtcher</a>&nbsp;instead of Rufus which is simpler to use and also available on MacOS and Ubuntu. Instructions are now included in the primary&nbsp;<a href="https://ubuntu.com/tutorials/install-ubuntu-desktop#1-overview">Install Ubuntu Desktop</a>&nbsp;tutorial.</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">下載 iso 檔</h2>



<p>Ubuntu下載網址：<br><a href="https://releases.ubuntu.com/">https://releases.ubuntu.com/</a></p>



<p>安裝影像檔(.ISO)，台灣的下載點：<a href="http://tw.archive.ubuntu.com/ubuntu-cd/">http://tw.archive.ubuntu.com/ubuntu-cd/</a></p>



<p>其他台灣的下載點可以使用 google 來查詢:</p>



<pre class="wp-block-code"><code>ubuntu-24.04.3-desktop-arm64.iso /site:.tw</code></pre>



<p>上面的版本號碼, 請修改成ubuntu 上官方網站 desktop 版本最後的下載版本。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="525" src="https://max-everyday.com/wp-content/uploads/2020/10/2025-11-09_13-42_e4-1024x525.jpg?v=1762666985" alt="" class="wp-image-22259" srcset="https://max-everyday.com/wp-content/uploads/2020/10/2025-11-09_13-42_e4-1024x525.jpg?v=1762666985 1024w, https://max-everyday.com/wp-content/uploads/2020/10/2025-11-09_13-42_e4-500x256.jpg?v=1762666985 500w, https://max-everyday.com/wp-content/uploads/2020/10/2025-11-09_13-42_e4-615x315.jpg?v=1762666985 615w, https://max-everyday.com/wp-content/uploads/2020/10/2025-11-09_13-42_e4.jpg?v=1762666985 1425w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">下載失敗的問題</h3>



<p>由於 iso 檔案都太大, 如你的的網路常下載失敗, 建議使用支援續傳的用戶端來下載檔案. 如果找的到 ftp 的載點的話, 也可以使用 FileZille 來下載.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="824" src="https://max-everyday.com/wp-content/uploads/2020/10/2025-11-09_13-44_e5-1024x824.jpg?v=1762667072" alt="" class="wp-image-22260" srcset="https://max-everyday.com/wp-content/uploads/2020/10/2025-11-09_13-44_e5-1024x824.jpg?v=1762667072 1024w, https://max-everyday.com/wp-content/uploads/2020/10/2025-11-09_13-44_e5-500x402.jpg?v=1762667072 500w, https://max-everyday.com/wp-content/uploads/2020/10/2025-11-09_13-44_e5-615x495.jpg?v=1762667072 615w, https://max-everyday.com/wp-content/uploads/2020/10/2025-11-09_13-44_e5.jpg?v=1762667072 1186w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>在 google 有查到 ftp.tku.edu.tw 可以下載, 所以直接在 filezilla 裡輸入 ftp.tku.edu.tw 就看到下載點了. </p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">建立可以開機的Ubuntu USB隨身碟</h2>



<p>之前都是使用手動的指令，雖然也有試ubuntu 建議的圖形介面的軟體 Etcher，但都失敗，今天終於成功了，原來是之前少了一個卸載(Unmount)的步驟，今天也是失敗了幾次，最後終於試成功。（開心）</p>



<p>Etcher教學：<br><a href="https://ubuntu.com/tutorials/create-a-usb-stick-on-macos#1-overview">https://ubuntu.com/tutorials/create-a-usb-stick-on-macos#1-overview</a></p>



<p>Etcher下載：<br><a href="https://www.balena.io/etcher/">https://www.balena.io/etcher/</a></p>



<p>Etcher github專案：<br><a href="https://github.com/balena-io/etcher">https://github.com/balena-io/etcher</a></p>



<hr class="wp-block-separator has-css-opacity"/>



<p>其實滿簡單的，3個步驟：</p>



<ul class="wp-block-list">
<li>1：選擇下載的Ubuntu ISO 檔案。</li>



<li>2：選擇目的USB隨身碟。</li>



<li>3：按下Flash。</li>
</ul>



<p>要注意的是：</p>



<ul class="wp-block-list">
<li>在第2步時，似乎沒有先去退出(unmount)會顯示錯誤，建議可以先在 Disk Utility 裡退出 External 的USB隨身碟。</li>



<li>完成時會顯示無法讀取的訊息，是正常的。</li>
</ul>



<p>按下Flash 後的畫面：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="665" src="https://max-everyday.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-21-at-22.47.21-1024x665.png?v=1603293094" alt="" class="wp-image-12762" srcset="https://max-everyday.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-21-at-22.47.21-1024x665.png?v=1603293094 1024w, https://max-everyday.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-21-at-22.47.21-500x325.png?v=1603293094 500w, https://max-everyday.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-21-at-22.47.21-1536x997.png?v=1603293094 1536w, https://max-everyday.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-21-at-22.47.21-615x399.png?v=1603293094 615w, https://max-everyday.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-21-at-22.47.21.png?v=1603293094 1824w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>製作完成時，會顯示的訊息：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="497" src="https://max-everyday.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-21-at-22.56.36-1024x497.png?v=1603293108" alt="" class="wp-image-12763" srcset="https://max-everyday.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-21-at-22.56.36-1024x497.png?v=1603293108 1024w, https://max-everyday.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-21-at-22.56.36-500x243.png?v=1603293108 500w, https://max-everyday.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-21-at-22.56.36-615x299.png?v=1603293108 615w, https://max-everyday.com/wp-content/uploads/2020/10/Screen-Shot-2020-10-21-at-22.56.36.png?v=1603293108 1104w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>附註：好神奇的程式，居然也可以在 Linux 的世界裡，直接透過 apt 指令安裝。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://max-everyday.com/2020/10/create-a-bootable-usb-stick/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>macOS 無法修改分區圖（partition map）</title>
		<link>https://max-everyday.com/2020/03/couldnt-modify-partition-map-on-macos/</link>
					<comments>https://max-everyday.com/2020/03/couldnt-modify-partition-map-on-macos/#respond</comments>
		
		<dc:creator><![CDATA[Max]]></dc:creator>
		<pubDate>Thu, 05 Mar 2020 10:56:37 +0000</pubDate>
				<category><![CDATA[電腦相關應用]]></category>
		<category><![CDATA[macOS]]></category>
		<guid isPermaLink="false">https://max-everyday.com/?p=10719</guid>

					<description><![CDATA[有一天拿著USB安裝了Ubuntu去幫鄰居安裝電腦，安裝完後拿回家想在macOS 裡重新格式化成 FAT 分割區格式，卻出現錯誤訊息： 解法，開啟一個Terminal 指 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>有一天拿著USB安裝了Ubuntu去幫鄰居安裝電腦，安裝完後拿回家想在macOS 裡重新格式化成 FAT 分割區格式，卻出現錯誤訊息：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="654" src="https://max-everyday.com/wp-content/uploads/2020/03/Screen-Shot-2020-03-05-at-18.39.55.jpg" alt="" class="wp-image-10720" srcset="https://max-everyday.com/wp-content/uploads/2020/03/Screen-Shot-2020-03-05-at-18.39.55.jpg?v=1583405426 1024w, https://max-everyday.com/wp-content/uploads/2020/03/Screen-Shot-2020-03-05-at-18.39.55-500x319.jpg?v=1583405426 500w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption>Couldn&#8217;t modify partition map on macOS</figcaption></figure>



<p>解法，開啟一個Terminal 指令輸入視窗，先執行一次：</p>



<pre class="wp-block-preformatted">diskutil</pre>



<p>這時候會列出你系統裡偵測到的裝置：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="914" height="634" src="https://max-everyday.com/wp-content/uploads/2020/03/Screen-Shot-2020-03-05-at-18.52.58.jpg" alt="" class="wp-image-10721" srcset="https://max-everyday.com/wp-content/uploads/2020/03/Screen-Shot-2020-03-05-at-18.52.58.jpg?v=1583405676 914w, https://max-everyday.com/wp-content/uploads/2020/03/Screen-Shot-2020-03-05-at-18.52.58-500x347.jpg?v=1583405676 500w" sizes="auto, (max-width: 914px) 100vw, 914px" /></figure>



<p>可以看到是 /dev/disk2 ，容量是 32GB</p>



<p>再執行下面的指令，就可以格式化為 exFAT 了：</p>



<pre class="wp-block-preformatted">diskutil eraseDisk ExFAT TIMMY /dev/disk2</pre>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="914" height="634" src="https://max-everyday.com/wp-content/uploads/2020/03/Screen-Shot-2020-03-05-at-18.40.13.jpg" alt="" class="wp-image-10722" srcset="https://max-everyday.com/wp-content/uploads/2020/03/Screen-Shot-2020-03-05-at-18.40.13.jpg?v=1583405754 914w, https://max-everyday.com/wp-content/uploads/2020/03/Screen-Shot-2020-03-05-at-18.40.13-500x347.jpg?v=1583405754 500w" sizes="auto, (max-width: 914px) 100vw, 914px" /></figure>



<hr class="wp-block-separator"/>



<h2 class="wp-block-heading">相關文章：</h2>



<p>如何透過USB安裝Ubuntu<br><a href="https://max-everyday.com/2016/06/install-ubuntu-from-usb/">https://max-everyday.com/2016/06/install-ubuntu-from-usb/</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://max-everyday.com/2020/03/couldnt-modify-partition-map-on-macos/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>幫字型加字重</title>
		<link>https://max-everyday.com/2020/02/change-weight-for-font/</link>
					<comments>https://max-everyday.com/2020/02/change-weight-for-font/#respond</comments>
		
		<dc:creator><![CDATA[Max]]></dc:creator>
		<pubDate>Mon, 24 Feb 2020 10:43:17 +0000</pubDate>
				<category><![CDATA[電腦相關應用]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[macOS]]></category>
		<category><![CDATA[MaxCodeReview]]></category>
		<guid isPermaLink="false">https://max-everyday.com/?p=10434</guid>

					<description><![CDATA[文字和字型，一直是門藝術，是很美的東西，很高興Max可以替「中華民國美學」盡分心力。 有一天遇到好心人（游清松）在分享他製作的免費授權字型，真的是大好人一枚，花這麼多時間 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>文字和字型，一直是門藝術，是很美的東西，很高興Max可以替「中華民國美學」盡分心力。</p>



<hr class="wp-block-separator"/>



<p>有一天遇到好心人（游清松）在分享他製作的免費授權字型，真的是大好人一枚，花這麼多時間，在做照福大眾的事情，Max在用過字型後，發現還滿好看的，於是想幫他做一個網站來推廣：<br><a href="https://jasonfonts.max-everyday.com/">https://jasonfonts.max-everyday.com/</a></p>



<p>網站隨手點一點就完成了，大約花了一個晚上的時間就完成了上列的網站，但創作字型的作者目前沒打算使用，暫時算是做白工。</p>



<hr class="wp-block-separator"/>



<p>在使用某些字型時發現字太細，長像太斯文，希望可以有粗一點的版本，Max示範如何幫字型加字重。參考實際操用影片：<br><a href="https://youtu.be/rQ56_CHcBs0">https://youtu.be/rQ56_CHcBs0</a></p>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="[MaxCodeReview] 幫字型加字重" width="885" height="498" src="https://www.youtube.com/embed/rQ56_CHcBs0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator"/>



<h2 class="wp-block-heading">Step 1：先取得要處理的字型</h2>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="828" src="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-10.00.15-1024x828.jpg?v=1582539470" alt="" class="wp-image-10526" srcset="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-10.00.15-1024x828.jpg?v=1582539470 1024w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-10.00.15-500x404.jpg?v=1582539470 500w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-10.00.15.jpg?v=1582539470 1098w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Step 2：使用FontForge 開啟並另存新檔</h2>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="406" src="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-18.19.40.jpg" alt="" class="wp-image-10527" srcset="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-18.19.40.jpg?v=1582540207 1024w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-18.19.40-500x198.jpg?v=1582540207 500w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Step 3：執行調整字重的script</h2>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="732" src="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-18.39.15.jpg" alt="" class="wp-image-10530" srcset="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-18.39.15.jpg?v=1582541240 1024w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-18.39.15-500x357.jpg?v=1582541240 500w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>當然，也可以不要使用script（腳本）而是用滑鼠去點，用滑鼠很花時間，而且操作的步驟又很多，使用script（腳本）來操作重覆性高的事情，相對輕鬆一點。</p>



<p>如果是手動點，不是透過script 請先「全選」所有字型後，按右鍵選「Expand Stroke&#8230;」即可取得調整字重後的字型。 </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="491" src="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-25-at-11.37.41.jpg" alt="" class="wp-image-10561" srcset="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-25-at-11.37.41.jpg?v=1582602015 1024w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-25-at-11.37.41-500x240.jpg?v=1582602015 500w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<hr class="wp-block-separator"/>



<p>FontForge script 官方的教學網址：</p>



<ul class="wp-block-list"><li>Scripting FontForge</li><li><a href="https://fontforge.org/docs/scripting/scripting-alpha.html">https://fontforge.org/docs/scripting/scripting-alpha.html</a></li></ul>



<p>附上完整script：</p>



<pre class="wp-block-preformatted">!/usr/local/bin/fontforge
 Print("===================================")
 Open("JasonHandwriting2-Regular.sfdir")
 SetFontNames("JasonHandwriting2-Regular","JasonHandwriting2","JasonHandwriting2-Regular","Regular")
 Generate("JasonHandwriting2-Regular.ttf")
 Save("JasonHandwriting2-Light.sfdir")
 Save("JasonHandwriting2-SemiBold.sfdir")
 Save("JasonHandwriting2-Bold.sfdir")
 Save("JasonHandwriting2-Heavy.sfdir")
 Close()
 Print("===================================")
 Print("Open JasonHandwriting2 Light")
 Open("JasonHandwriting2-Light.sfdir")
 SetFontNames("JasonHandwriting2-Light","JasonHandwriting2","JasonHandwriting2-Light","Light")
 SelectAll()
 Print("ExpandStroke…")
 ExpandStroke(15,45,15,15,0,2)
 Save("JasonHandwriting2-Light.sfdir")
 Print("Generate ttf…")
 Generate("JasonHandwriting2-Light.ttf")
 Close()
 Print("Close JasonHandwriting2 Light")
 Print("===================================")
 Print("Open JasonHandwriting2 Medium")
 Open("JasonHandwriting2-Medium.sfdir")
 SetFontNames("JasonHandwriting2-Medium","JasonHandwriting2","JasonHandwriting2-Medium","Medium")
 SetMacStyle(-1)
 SetMacStyle(0x01)
 Print("ExpandStroke…")
 SelectAll()
 ExpandStroke(12,45,12,12,0,1)
 Save("JasonHandwriting2-Medium.sfdir")
 Print("Generate ttf…")
 Generate("JasonHandwriting2-Medium.ttf")
 Close()
 Print("Close JasonHandwriting2 Medium")
 Print("===================================")
 Print("Open JasonHandwriting2 SemiBold")
 Open("JasonHandwriting2-SemiBold.sfdir")
 SetFontNames("JasonHandwriting2-SemiBold","JasonHandwriting2","JasonHandwriting2-SemiBold","SemiBold")
 SetMacStyle(-1)
 SetMacStyle(0x01)
 Print("ExpandStroke…")
 SelectAll()
 ExpandStroke(24,45,24,24,0,1)
 Save("JasonHandwriting2-SemiBold.sfdir")
 Print("Generate ttf…")
 Generate("JasonHandwriting2-SemiBold.ttf")
 Close()
 Print("Close JasonHandwriting2 SemiBold")
 Print("===================================")
 Print("Open JasonHandwriting2 Bold")
 Open("JasonHandwriting2-Bold.sfdir")
 SetFontNames("JasonHandwriting2-Bold","JasonHandwriting2","JasonHandwriting2-Bold","Bold")
 SetMacStyle(-1)
 SetMacStyle(0x01)
 Print("ExpandStroke…")
 SelectAll()
 ExpandStroke(34,45,34,34,0,1)
 Save("JasonHandwriting2-Bold.sfdir")
 Print("Generate ttf…")
 Generate("JasonHandwriting2-Bold.ttf")
 Close()
 Print("Close JasonHandwriting2 Bold")</pre>



<hr class="wp-block-separator"/>



<h2 class="wp-block-heading">FontForge 的說明：</h2>



<p><a href="https://fontforge.org/elementmenu.html#Expand">ExpandStroke</a>(width)<br>ExpandStroke(width,line cap, line join)<br>ExpandStroke(width,line cap, line join,0,removeinternal /external flag)<br>ExpandStroke(width,calligraphic-angle,height-numerator,height-denom)<br><strong>ExpandStroke(width,calligraphic-angle,height-numerator,height-denom, 0, remove internal/external flag)</strong></p>



<p>In the first format a line cap of &#8220;butt&#8221; and line join of &#8220;round&#8221; are implied.<br>A value of 1 for remove internal/external will remove the internal contour, a value of 2 will remove the external contour.<br>The first three calls simulate the PostScript &#8220;stroke&#8221; command, the two final simulate a caligraphic pen.</p>



<ul class="wp-block-list"><li><strong>Width</strong><br>In the PostScript &#8220;stroke&#8221; command the width is the distance between the two generated curves. To be more precise, at ever point on the original curve, a point will be added to each of the new curves at width/2 units as measured on a vector normal to the direction of the original curve at that point.<br>In a caligraphic pen, the width is the width of the pen used to draw the curve.</li><li><strong>Line-cap</strong><br>Can have one of three values: <br>0=&gt; butt, <br>1=&gt;round, <br>2=&gt;square</li><li><strong>Line-join</strong><br>Can have one of three values: <br>0=&gt;miter, <br>1=&gt;round, <br>2=&gt;bevel</li><li><strong>caligraphic-angle</strong><br>the (fixed) angle at which the pen is held.</li><li><strong>height-numerator/denominator</strong><br>These two values specify a ratio between the height and the width<br>height = numerator * width / denominator<br>(the scripting language only deals in integers, so when fractions are needed this kludge is used)</li><li><strong>remove internal/external contour flags</strong><br>1 =&gt; remove internal contour<br>2=&gt; remove external contour<br>(you may not remove both contours)<br>4 =&gt; run remove overlap on result (buggy)</li></ul>



<hr class="wp-block-separator"/>



<p>實際測試，使用參數愈少的，問題愈多！建議使用最後一組，參數很多的，我幫大家把參數加粗。</p>



<p>使用最後一組的缺點是，Line Join 會使用 Bevel <strong>很醜！</strong>不能接受 Bevel 請改用<br>ExpandStroke(width,line cap, line join,0,removeinternal /external flag)</p>



<p>範例：</p>



<pre class="wp-block-preformatted">ExpandStroke(15,1,0,0,1)</pre>



<p>大多的情況都是很難二全其美，在使用 line join=0 可以讓文字在變細時，比較銳利，問題是也可能變成這樣子，「微」字就開叉了：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="216" height="209" src="https://max-everyday.com/wp-content/uploads/2020/03/76655072-77ad2080-65a7-11ea-9210-720631d3faf8.jpeg" alt="" class="wp-image-10850"/></figure>



<p>折衷的方案是使用 join join=1 ，讓筆畫間有渲染的感覺，會略醜，但問題較少 T_T。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="830" height="273" src="https://max-everyday.com/wp-content/uploads/2020/03/Screen-Shot-2020-03-15-at-07.11.03-down.jpg" alt="" class="wp-image-10856" srcset="https://max-everyday.com/wp-content/uploads/2020/03/Screen-Shot-2020-03-15-at-07.11.03-down.jpg?v=1584229324 830w, https://max-everyday.com/wp-content/uploads/2020/03/Screen-Shot-2020-03-15-at-07.11.03-down-500x164.jpg?v=1584229324 500w" sizes="auto, (max-width: 830px) 100vw, 830px" /></figure>



<p>最佳解法是使用 Join Limit as Legnth</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="641" src="https://max-everyday.com/wp-content/uploads/2020/03/Screen-Shot-2020-03-17-at-08.59.09.jpg" alt="" class="wp-image-10892" srcset="https://max-everyday.com/wp-content/uploads/2020/03/Screen-Shot-2020-03-17-at-08.59.09.jpg?v=1584407090 1024w, https://max-everyday.com/wp-content/uploads/2020/03/Screen-Shot-2020-03-17-at-08.59.09-500x313.jpg?v=1584407090 500w, https://max-everyday.com/wp-content/uploads/2020/03/Screen-Shot-2020-03-17-at-08.59.09-200x125.jpg?v=1584407090 200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>更多的 stroke() 範例：<br><a href="https://github.com/fontforge/fontforge/blob/1cd85a0e621352f81aca07bf9eb42467ee078f38/tests/test1003.py">https://github.com/fontforge/fontforge/blob/1cd85a0e621352f81aca07bf9eb42467ee078f38/tests/test1003.py</a></p>



<p>附註：上面的範例，要使用新的版本才能使用。Max 用的 stroke 是：</p>



<pre class="wp-block-preformatted">glyph.stroke("circular",54,cap="round",join="miter",angle=math.radians(45),removeexternal=True,simplify=True,joinlimit=6)</pre>



<hr class="wp-block-separator"/>



<p>針對使用上面會掛掉的字，改用下面這組就 OK 了：</p>



<pre class="wp-block-preformatted">glyph.stroke("circular",54,cap="round",join="miter",removeexternal=True,simplify=True)</pre>



<p>主要差在，angle=math.radians(45)，有些字可以使用，有些字不行。</p>



<p>完整的程式碼，放在這一個網頁裡：<br>FontForge script debug<br><a href="http://stackoverflow.max-everyday.com/2020/03/fontforge-script-debug/">http://stackoverflow.max-everyday.com/2020/03/fontforge-script-debug/</a></p>



<hr class="wp-block-separator"/>



<p>建議使用「較新」版本的FontForge 執行檔來處理，可能錯誤會較少。如果是使用macOS 可以試看看在 .pe 檔案裡，最上面使用這一行：</p>



<pre class="wp-block-preformatted">#!/Applications/FontForge.app/Contents/Resources/opt/local/bin/fontforge</pre>



<p>開發者的版本(<a href="https://fontforge.org/en-US/downloads/mac-dl/#collapseDev">Development builds</a>)：<br><a href="http://dl.bintray.com/fontforge/fontforge/">http://dl.bintray.com/fontforge/fontforge/</a></p>



<p>開發者的版本，不是萬能的，雖然解決掉一些字在 expand stroke 時會亂掉的問題，但相對不太隱定，有較高的機率程式會卡住，卡住有可能是(1)程式完全沒回應，也可能是(2)顯示有錯就關閉掉程式（閃退）。</p>



<p class="has-text-color has-vivid-red-color">「<strong>Correct Direction</strong>」 有可能會造成字型檔被改壞掉，使用「全選」來做這一個功能，可能會有不具名的字會改壞掉。<br><br>但是！有些字型裡，還沒有去使用「Correct Direction」功能，產生出來的方向就已經出問題了，又不可能一個一個字去檢查，到底修改字重後，會放大還是縮小。結論：用與不用，都很難選。</p>



<p class="has-text-color has-vivid-red-color">最後Max還是決定都使用，因為這樣比較方便用來做其他字體樣式的處理，透過使用Correct Direction，大多的「點」會被重新排序，方便做處理。</p>



<p>如果遇到在 Expand stroke 時，方向錯誤的區塊，就是預期應該變細，但是卻變粗了的情況，請使用一下 Correct Direction，如果還是無法解決，最佳解法是使用匯出(export)功能匯出該字為 svg 格式，再把 fontforge 裡的線條都清空，透過匯入(import)功能匯入該字的 svg 檔案，通常就不會有問題。</p>



<hr class="wp-block-separator"/>



<p>為什麼會講到開發者版本，參考看看：</p>



<p>莫大毛筆字體的調整 ver 1.30<br><a href="https://max-everyday.com/2020/03/bakudaifont-ver-1-30/">https://max-everyday.com/2020/03/bakudaifont-ver-1-30/</a></p>



<hr class="wp-block-separator"/>



<p>除了透過 FontForge script 來改字重，也可以透過 python script , 可以操控的變數更多，功能也更多。<br><a href="https://fontforge.org/docs/scripting/python/fontforge.html#module-functions">https://fontforge.org/docs/scripting/python/fontforge.html#module-functions</a></p>



<p><code>glyph.</code><code>stroke</code>(<em>&#8220;circular&#8221;</em>,&nbsp;<em>width</em>[,&nbsp;<em>CAP</em>,&nbsp;<em>JOIN</em>,&nbsp;<em>FLAGS</em>])<code>glyph.</code><code>stroke</code>(<em>&#8220;elliptical&#8221;</em>,&nbsp;<em>width</em>,&nbsp;<em>minor_width</em>,&nbsp;<em>ANGLE</em>[,&nbsp;<em>CAP</em>,&nbsp;<em>JOIN</em>,&nbsp;<em>FLAGS</em>])<code>glyph.</code><code>stroke</code>(<em>&#8220;calligraphic&#8221;</em>,&nbsp;<em>width</em>,&nbsp;<em>height</em>,&nbsp;<em>angle</em>[,&nbsp;<em>FLAGS</em>])<code>glyph.</code><code>stroke</code>(<em>&#8220;polygon&#8221;</em>,&nbsp;<em>contour</em>[,&nbsp;<em>FLAGS</em>])<code>(Legacy interface)</code><code>glyph.</code><code>stroke</code>(<em>&#8220;circular&#8221;</em>,&nbsp;<em>width</em>[,&nbsp;<em>CAP</em>,&nbsp;<em>JOIN</em>,&nbsp;<em>ANGLE</em>,&nbsp;<em>KEYWORD</em>])<code>glyph.</code><code>stroke</code>(<em>&#8220;elliptical&#8221;</em>,&nbsp;<em>width</em>,&nbsp;<em>minor_width</em>[,&nbsp;<em>ANGLE</em>,&nbsp;<em>CAP</em>,&nbsp;<em>JOIN</em>,&nbsp;<em>KEYWORD</em>])<code>glyph.</code><code>stroke</code>(<em>&#8220;calligraphic&#8221;</em>,&nbsp;<em>width</em>,&nbsp;<em>height</em>[,&nbsp;<em>ANGLE</em>,&nbsp;<em>CAP</em>,&nbsp;<em>JOIN</em>,&nbsp;<em>KEYWORD</em>])<code>glyph.</code><code>stroke</code>(<em>&#8220;convex&#8221;</em>,&nbsp;<em>contour</em>[,&nbsp;<em>ANGLE</em>,&nbsp;<em>CAP</em>,&nbsp;<em>JOIN</em>,&nbsp;<em>KEYWORD</em>])<code>(Current interface)</code></p>



<p>Strokes the contours of the glyph according to the supplied parameters. See the&nbsp;<a href="https://fontforge.org/docs/techref/stroke.html">stroke</a>&nbsp;documentation for a more complete description of the facility and its parameters.</p>



<p>A&nbsp;<code>"circular"</code>&nbsp;nib just has a&nbsp;<code>width</code>&nbsp;(the diameter), while an&nbsp;<code>"elliptical"</code>&nbsp;nib has a&nbsp;<code>width</code>&nbsp;(major axis) and a&nbsp;<code>minor_width</code>&nbsp;(minor axis). A&nbsp;<code>"calligraphic"</code>&nbsp;or&nbsp;<code>"rectangular"</code>&nbsp;nib is similar in that it has a&nbsp;<code>width</code>&nbsp;and a&nbsp;<code>height</code>. Finally a&nbsp;<code>"convex"</code>&nbsp;nib is one supplied by the user as a&nbsp;<a href="https://fontforge.org/docs/scripting/python/fontforge.html#fontforge.contour"><code>fontforge.contour</code></a>&nbsp;or&nbsp;<a href="https://fontforge.org/docs/scripting/python/fontforge.html#fontforge.layer"><code>fontforge.layer</code></a>. It must be&nbsp;<em>convex</em>&nbsp;as defined in the main stroke facility documentation.</p>



<p><code>ANGLE</code>&nbsp;is optional. It can be specified either positionally or with&nbsp;<code>angle=float</code>. It must be a floating point number in units of radians and defaults to zero. The nib is rotated by this angle before stroking the path.</p>



<p><code>CAP</code>&nbsp;is optional. It can be specified either positionally or with&nbsp;<code>cap=string</code>. It must be one of the strings “nib” (the default), “butt”, “round”, and “bevel”.</p>



<p><code>JOIN</code>&nbsp;is optional. It can be specified either positionally or with&nbsp;<code>join=string</code>. It must be one of the strings “nib” (the default), “bevel”, “miter”, and “miterclip”, “round”, and “arcs”.</p>



<p><code>KEYWORD</code>&nbsp;Parameters:<code>removeinternal (boolean, default=False)</code></p>



<p>When a contour is closed and clockwise, only the smaller “inside” contour is retained. When a contour is closed and counter-clockwise only the larger “outside” contour is retained.<code>removeexternal (boolean, default=False)</code></p>



<p>When a contour is closed and clockwise, only the larger “outside” contour is retained. When a contour is closed and counter-clockwise only the smaller “inside” contour is retained.<code>extrema (boolean, default=True)</code></p>



<p>When true, any missing extrema on the stroked paths are added.<code>simplify (boolean, default=True)</code></p>



<p>When true, simplify is called on the path before it is returned. The&nbsp;<code>error-bound</code>&nbsp;is set to the&nbsp;<code>accuracy</code>&nbsp;value.<code>removeoverlap (string, default="layer")</code></p>



<p>Specifies whether, and on what basis, remove-overlap should be run. “layer” corresponds to running remove-overlap on the&nbsp;<a href="https://fontforge.org/docs/scripting/python/fontforge.html#fontforge.layer"><code>layer</code></a>&nbsp;as a whole. “contour” corresponds to running remove-overlap on individual contours. “none” corresponds to not running remove-overlap. Note that because the stroke facility relies on remove-overlap to eliminate cusps and other artifacts, “none” is an unusual choice and available primarily for debugging purposes.<code>accuracy (float, default=0.25)</code></p>



<p>This is a target (but not a guarantee) for the allowed error, in em-units, of the output relative to the input path and nib geometries. Higher values allow more error will typically yield contours with fewer points.<code>jlrelative (boolean, default=True)</code></p>



<p>See below.<code>joinlimit (float, default=20)</code></p>



<p>Specifies the maximum length of a “miter”, “miterclip”, or “arcs” join. For “miter” joins that would be longer will fall back to “bevel”. With “miterclip” and “arcs” a longer join will be trimmed to the specified length. Note, however, that no join is trimmed past the “bevel line” and therefore lower values do not guarantee a given length.</p>



<p>When&nbsp;<code>jlrelative</code>&nbsp;is false the value is interpreted as a length in em-units. Otherwise the value is interpreted as a multiple of “stroke-widths”: the average of the spans of the nib at the incoming and outgoing join angles.<code>ecrelative (boolean, default=True)</code></p>



<p>See below.<code>extendcap (float, default=0)</code></p>



<p>When the contour being stroked is open and the&nbsp;<code>cap</code>&nbsp;style is “butt” or “round”, this parameter adds area between the end of that contour and the cap. The length of that area will never be less than the specified value but may be more, depending on the geometry of the nib and the join. (However, it will always be exact for circular nibs.)</p>



<p>When&nbsp;<code>ecrelative</code>&nbsp;is false the value is interpreted as a length in em-units. Otherwise the value is interpreted as a multiple of “stroke-widths”: the span of the stroked path at the angle at the cap.<code>arcsclip (string, default="auto")</code></p>



<p>When using the “arcs” join style this parameter influences the algorithm used to clip joins that exceed the&nbsp;<code>joinlimit</code>. The value “svg2” specifies the standard SVG algorithm while the value “ratio” specifies an alternative algorithm that works better for longer and thinner nibs at shorter limits. The default value “auto” chooses the “ratio” algorithm for oblong elliptical and calligraphic nibs and&nbsp;<code>jlrelative&nbsp;joinlimit</code>&nbsp;&lt; 4 and the “svg2” algorithm otherwise.</p>



<p>In the legacy interface,&nbsp;<code>FLAGS</code>&nbsp;is an optional tuple containing zero or more of the strings “removeinternal”, “removeexternal”, and “cleanup”. The last is interpreted as&nbsp;<code>simplify=True</code>, with a default of&nbsp;<code>False</code>&nbsp;when a FLAGS tuple is present.</p>



<hr class="wp-block-separator"/>



<p></p>



<hr class="wp-block-separator"/>



<h2 class="wp-block-heading">補充說明：</h2>



<ul class="wp-block-list"><li>上面的例子，可以在Windows/macOS/Linux平台上使用。</li><li>非開源的字型檔，自行編修沒有辦法被得知，但公開發佈也許會有法律上的問題。</li><li>不是所有的字型都可以使用。</li><li>透過程式調整筆劃可能會失敗，字可能會被改壞掉。</li><li>有些字型需要先使用Select All，再用 Correct Direction 調整方向，才不會造成調整的結論是：有些字變粗，有些字變細。</li><li>透過程式調整筆劃，只能調整粗細無法調整間距，所以有些字會因為調粗而變的太擠，或跟下一個字會相連在一起。</li><li>沒有任何一個字型編輯軟體能確保重新儲存的字型檔跟原始檔一模一樣。編修後的字型檔，很有可能會有kerning數值跑掉、直排字符異常或各種問題。</li><li>有空多看些英文的網站也滿好的，練習一下英文。</li></ul>



<hr class="wp-block-separator"/>



<h2 class="wp-block-heading">相關文章：</h2>



<p>幫字型檔補缺字<br><a href="https://max-everyday.com/2020/02/how-to-add-new-glyph-to-font/">https://max-everyday.com/2020/02/how-to-add-new-glyph-to-font/</a></p>



<p>免費商用字體整理<br><a href="https://max-everyday.com/2020/02/free-commercial-fonts/">https://max-everyday.com/2020/02/free-commercial-fonts/</a></p>



<p>比較不同字形檔之間的缺字差異：<br><a href="https://max-everyday.com/2020/02/font-glyph-set-compare/">https://max-everyday.com/2020/02/font-glyph-set-compare/</a></p>



<p>FontForge 調整字型在 Windows 的安裝顯示名稱<br><a href="https://stackoverflow.max-everyday.com/2020/02/fontforge-chinese/">https://stackoverflow.max-everyday.com/2020/02/fontforge-chinese/</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://max-everyday.com/2020/02/change-weight-for-font/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>免費商用字體整理</title>
		<link>https://max-everyday.com/2020/02/free-commercial-fonts/</link>
					<comments>https://max-everyday.com/2020/02/free-commercial-fonts/#comments</comments>
		
		<dc:creator><![CDATA[Max]]></dc:creator>
		<pubDate>Tue, 18 Feb 2020 01:18:03 +0000</pubDate>
				<category><![CDATA[電腦相關應用]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[macOS]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[免費]]></category>
		<guid isPermaLink="false">https://max-everyday.com/?p=10460</guid>

					<description><![CDATA[Max這幾天都在研究免費並且可以商用的字體，收集到的網站如下： 上面第一個github網站，雖然都是第二手整理過的字型檔案，但很多字型檔案都很多年沒在更新，所以直接下載在 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Max這幾天都在研究免費並且可以商用的字體，收集到的網站如下：</p>



<ul class="wp-block-list">
<li>Free commercial fonts(Most are Chinese fonts)! 免费可商用字体。<br><a href="https://github.com/Tamshen/Freecommercialfont">https://github.com/Tamshen/Freecommercialfont</a></li>



<li>100font.com | 免费商用字体下载<br><a href="https://www.100font.com/">https://www.100font.com/</a></li>



<li>貓啃<br><a href="https://www.maoken.com/">https://www.maoken.com/</a></li>



<li>字体天下<br><a href="http://www.fonts.net.cn/">http://www.fonts.net.cn/</a></li>



<li>免费可商用字体库<br><a href="http://www.freeziti.com/">http://www.freeziti.com/</a></li>



<li>超過20種+免費商用中文開源字體下載，讓你放心創作！(內附官方下載點)<br><a href="https://hubermovie.com/cn_free_w/">https://hubermovie.com/cn_free_w/</a></li>



<li>字客网<br><a href="https://www.fontke.com/font/list/1913,2142/?sort=download">https://www.fontke.com/font/list/1913,2142/?sort=download</a></li>



<li>Google Fonts<br><a href="https://fonts.google.com/">https://fonts.google.com/</a></li>



<li>【分享】合法免費高品質字體 (附載點)<br><a href="https://forum.gamer.com.tw/Co.php?bsn=60076&amp;sn=43125382">https://forum.gamer.com.tw/Co.php?bsn=60076&amp;sn=43125382</a></li>



<li>免費中文字體總整理，可用於商業使用<br><a href="https://mrmad.com.tw/free-chinese-font">https://mrmad.com.tw/free-chinese-font</a></li>



<li>日本語のフリーフォント418種類のまとめ -商用サイトだけでなく紙や同人誌などの利用も明記<br><a href="https://coliss.com/articles/freebies/japanese-free-fonts.html">https://coliss.com/articles/freebies/japanese-free-fonts.html</a></li>



<li>フォントフリー &#8211; 無料の日本語フリーフォント投稿サイト<br><a href="http://fontfree.me/">http://fontfree.me/</a><br></li>
</ul>



<p>上面第一個github網站，雖然都是第二手整理過的字型檔案，但很多字型檔案都很多年沒在更新，所以直接下載在 github 上人家整理好的會輕鬆和方便很多。</p>



<p>github 網站截圖：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="692" src="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-15-at-01.20.43.jpg" alt="" class="wp-image-10462" srcset="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-15-at-01.20.43.jpg?v=1581701082 1024w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-15-at-01.20.43-500x338.jpg?v=1581701082 500w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<hr class="wp-block-separator has-css-opacity"/>



<p>上面是整理過的二手資料，下列是會比較可能有新版本的地方：</p>



<ul class="wp-block-list">
<li>衡山毛筆フォント (KouzanBrushFont)<br><a href="https://opentype.jp/kouzanmouhitufont.htm">https://opentype.jp/kouzanmouhitufont.htm</a></li>



<li>Mamelon (マメロン) Regular<br><a href="https://moji-waku.com/mamelon/">https://moji-waku.com/mamelon/</a></li>



<li>花園明朝：<br><a href="http://osdn.jp/projects/hanazono-font/releases/">http://osdn.jp/projects/hanazono-font/releases/</a><br>日本花園明朝體(HanaMin)是一款非常漂亮的藝術字體，包含近十萬字，所以不必擔心缺字，有分割成HanaMinA、HanaMinB兩個字體檔，安裝A就好了，在macOS 裡 HanaMinB 會有問題，會跳回去PingFang 並變粗體字。</li>



<li>IPAフォント<br><a href="https://ja.osdn.net/projects/ipafonts/">https://ja.osdn.net/projects/ipafonts/</a></li>



<li>王漢宗自由字型：(193MB)<br><a href="https://drive.google.com/file/d/1eM7bpKCdcZc1i7QGIhXiUquS2TFCbXUf/view">https://drive.google.com/file/d/1eM7bpKCdcZc1i7QGIhXiUquS2TFCbXUf/view</a></li>



<li>M PLUS Rounded 1c<br><a href="https://fonts.google.com/specimen/M+PLUS+Rounded+1c">https://fonts.google.com/specimen/M+PLUS+Rounded+1c</a></li>



<li>M+ FONTS PROJECT<br><a href="http://mplus-fonts.osdn.jp/about.html">http://mplus-fonts.osdn.jp/about.html</a></li>



<li>瀨戶字體<br><a href="https://zh-tw.osdn.net/projects/setofont/">https://zh-tw.osdn.net/projects/setofont/</a><br>瀨戶字體是一個由日本人開發的線上免費字體，支援繁體中文、簡體中文、日文、英文和其他特殊符號，總共支援3萬多個漢字。</li>



<li>楊任東竹石體<br><a href="https://www.fonts.net.cn/font-35850420097.html">https://www.fonts.net.cn/font-35850420097.html</a><br>“杨任东字体”微信公众号<br><a href="https://www.weibo.com/p/1005053026020863/info?mod=pedit_more">https://www.weibo.com/p/1005053026020863/info?mod=pedit_more</a><br>好年輕的人哦，生日：1993年12月30日。</li>



<li>TanukiMagic 麥克筆手繪 POP 日文字型：<br><a href="http://tanukifont.com/tanuki-permanent-marker/">http://tanukifont.com/tanuki-permanent-marker/</a></li>



<li>日系851原子筆手寫風格字型，可商用免費下載<br><a href="https://pm85122.onamae.jp/851fontpage.html">https://pm85122.onamae.jp/851fontpage.html</a></li>



<li>清松手寫體<br><a href="https://www.facebook.com/groups/549661292148791/">https://www.facebook.com/groups/549661292148791/</a></li>



<li>Kin-iro SansSerif<br><a href="http://getsuren.com/kiniro_series.html">http://getsuren.com/kiniro_series.html</a></li>



<li>免費／可商用中文字體資源大全​<br><a href="https://wumanzoo.com/chinese-fonts-guide/">https://wumanzoo.com/chinese-fonts-guide/</a></li>
</ul>



<hr class="wp-block-separator has-css-opacity"/>



<h2 class="wp-block-heading">相關文章：</h2>



<p>幫字型加字重<br><a href="https://max-everyday.com/2020/02/change-weight-for-font/">https://max-everyday.com/2020/02/change-weight-for-font/</a></p>



<p>幫字型檔補缺字<br><a href="https://max-everyday.com/2020/02/how-to-add-new-glyph-to-font/">https://max-everyday.com/2020/02/how-to-add-new-glyph-to-font/</a></p>



<p>比較不同字形檔之間的缺字差異<br><a href="https://max-everyday.com/2020/02/font-glyph-set-compare/">https://max-everyday.com/2020/02/font-glyph-set-compare/</a></p>



<p>FontForge 調整字型在 Windows 的安裝顯示名稱<br><a href="https://stackoverflow.max-everyday.com/2020/02/fontforge-chinese/">https://stackoverflow.max-everyday.com/2020/02/fontforge-chinese/</a></p>



<p>免費中文字體 NotoSans 思源黑體<br><a href="https://max-everyday.com/2018/03/noto-font/">https://max-everyday.com/2018/03/noto-font/</a></p>



<p>「粉圓字型 」<br><a href="https://github.com/max32002/open-huninn-font">https://github.com/max32002/open-huninn-font</a></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>真的是很漂亮的圓體，也有被「找腳」的是這一個圓體：「源泉圓體」：<br><a href="https://github.com/ButTaiwan/gensen-font">https://github.com/ButTaiwan/gensen-font</a><br>把印刷字的怪角給拔掉，好神奇，但也聽到很多「災情」，像是「關」這個字的中間下面的腳被誤判為多出來的角而被拔掉，也不是所有字重都有問題，反而是較重的字才有被拔的情況。</p>
</blockquote>



<p>內海字體 (NaikaiFont)<br><a href="https://max-everyday.com/2020/03/naikaifont/">https://max-everyday.com/2020/03/naikaifont/</a></p>



<p>莫大毛筆字體 (BakudaiFont)<br><a href="https://max-everyday.com/2020/03/bakudaifont/">https://max-everyday.com/2020/03/bakudaifont/</a></p>



<p>正風毛筆字體 (MasaFont)&nbsp;<br><a href="https://max-everyday.com/2020/05/masafont/">https://max-everyday.com/2020/05/masafont/</a></p>



<p>獅尾圓體 Swei Gothic&nbsp;<br><a href="https://max-everyday.com/2020/04/swei-gothic/">https://max-everyday.com/2020/04/swei-gothic/</a></p>



<p>獅尾四季春字體 Swei Spring&nbsp;<br><a href="https://max-everyday.com/2020/04/swei-spring/">https://max-everyday.com/2020/04/swei-spring/</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://max-everyday.com/2020/02/free-commercial-fonts/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>幫字型檔補缺字</title>
		<link>https://max-everyday.com/2020/02/how-to-add-new-glyph-to-font/</link>
					<comments>https://max-everyday.com/2020/02/how-to-add-new-glyph-to-font/#comments</comments>
		
		<dc:creator><![CDATA[Max]]></dc:creator>
		<pubDate>Tue, 11 Feb 2020 01:36:35 +0000</pubDate>
				<category><![CDATA[電腦相關應用]]></category>
		<category><![CDATA[krita]]></category>
		<category><![CDATA[macOS]]></category>
		<category><![CDATA[MaxCodeReview]]></category>
		<guid isPermaLink="false">https://max-everyday.com/?p=10392</guid>

					<description><![CDATA[這篇文章在解決字型的缺字問題。Max示範如何透過 FontForge 幫有漏字的字型補缺字，如果你的電腦是Windows / macOS 或 Linux 也都可以使用，因 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>這篇文章在解決字型的缺字問題。Max示範如何透過 FontForge 幫有漏字的字型補缺字，如果你的電腦是Windows / macOS 或 Linux 也都可以使用，因為用到的工具都跨平台。</p>



<p>Max影片教學：<br><a href="https://youtu.be/LPAshVmfF6s">https://youtu.be/LPAshVmfF6s</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="[MaxCodeReview] 如何幫字型檔補缺字" width="885" height="498" src="https://www.youtube.com/embed/LPAshVmfF6s?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator has-css-opacity"/>



<p>[MaxCodeReview] FontForge 補缺字：㧳<br><a href="https://youtu.be/ugrR1Oh0LSw">https://youtu.be/ugrR1Oh0LSw</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="[MaxCodeReview] FontForge 補缺字：㧳 (內海字體)" width="885" height="498" src="https://www.youtube.com/embed/ugrR1Oh0LSw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator has-css-opacity"/>



<p>[MaxCodeReview] FontForge 補缺字：霉<br><a href="https://youtu.be/QjZNT8uBwMg">https://youtu.be/QjZNT8uBwMg</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="[MaxCodeReview] FontForge 補缺字：霉 (內海字體)" width="885" height="498" src="https://www.youtube.com/embed/QjZNT8uBwMg?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator has-css-opacity"/>



<p>[MaxCodeReview] FontForge 補缺字：齜<br><a href="https://youtu.be/X4X-m-vthw8">https://youtu.be/X4X-m-vthw8</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="[MaxCodeReview] FontForge 補缺字：齜 (內海字體)" width="885" height="498" src="https://www.youtube.com/embed/X4X-m-vthw8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator has-css-opacity"/>



<p>[MaxCodeReview] FontForge 補缺字：鼴<br><a href="https://youtu.be/N4hCLq-Db9A">https://youtu.be/N4hCLq-Db9A</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="[MaxCodeReview] FontForge 補缺字：鼴 (內海字體)" width="885" height="498" src="https://www.youtube.com/embed/N4hCLq-Db9A?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator has-css-opacity"/>



<p>前置準備，下載和安裝：</p>



<ul class="wp-block-list"><li>FontForge<br><a href="https://github.com/fontforge/fontforge/releases">https://github.com/fontforge/fontforge/releases</a></li><li>(選用，非必要) ImageMagick<br><a href="https://imagemagick.org/script/download.php">https://imagemagick.org/script/download.php</a></li><li>(選用，非必要) potrace<br><a href="http://potrace.sourceforge.net/#downloading">http://potrace.sourceforge.net/#downloading</a></li></ul>



<hr class="wp-block-separator has-css-opacity"/>



<p>FontForge 的執行在 Windows 和 Linux 因為檔案的安全性設計，執行上比較沒問題，在 macOS 雖然在「安全性」裡設定了「Full Disk Access」但還是會出現「Unauthorized Operation not permitted」的Error。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="899" src="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-09-at-17.26.02.jpg" alt="" class="wp-image-10394" srcset="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-09-at-17.26.02.jpg?v=1581380379 1024w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-09-at-17.26.02-500x439.jpg?v=1581380379 500w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>解法很簡單，在App 按右鍵選「Show Package Contents」，再進去 Contents/MacOS 目錄下點2下 FontForge 執行檔。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="548" src="https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h17m13s869-1024x548.jpg?v=1581384378" alt="" class="wp-image-10400" srcset="https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h17m13s869-1024x548.jpg?v=1581384378 1024w, https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h17m13s869-500x267.jpg?v=1581384378 500w, https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h17m13s869.jpg?v=1581384378 1221w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>或是透過 Terminal 執行：</p>



<pre class="wp-block-preformatted">/Applications/FontForge.app/Contents/MacOS/FontForge</pre>



<hr class="wp-block-separator has-css-opacity"/>



<p>在 macOS 裡要安裝 imageMagicK 可以執行：</p>



<pre class="wp-block-preformatted">brew install imagemagick</pre>



<hr class="wp-block-separator has-css-opacity"/>



<p>在 macOS 裡要安裝 potrace ，把檔案解壓縮後，把將：</p>



<ul class="wp-block-list"><li>potrace</li><li>potrace.1</li><li>mkbitmap</li><li>mkbitmap.1</li></ul>



<p>這4個檔案複製到目錄 /usr/local/bin 即可。</p>



<hr class="wp-block-separator has-css-opacity"/>



<p>執行 FontForge 後 &#8220;File&#8221; &#8211; &#8220;Open&#8221; 開啟我們有缺字的字型檔。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="347" src="https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h17m36s821-1024x347.jpg?v=1581384429" alt="" class="wp-image-10401" srcset="https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h17m36s821-1024x347.jpg?v=1581384429 1024w, https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h17m36s821-500x170.jpg?v=1581384429 500w, https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h17m36s821-1536x521.jpg?v=1581384429 1536w, https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h17m36s821.jpg?v=1581384429 1662w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<hr class="wp-block-separator has-css-opacity"/>



<p>使用熱鍵 <strong>Command + Shift + &gt;</strong> 這3個鍵，出發到編輯畫面，也可以點選單 &#8220;View&#8221; &#8211; &#8220;Goto&#8221;</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="349" src="https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h18m06s897-1024x349.jpg?v=1581384475" alt="" class="wp-image-10402" srcset="https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h18m06s897-1024x349.jpg?v=1581384475 1024w, https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h18m06s897-500x170.jpg?v=1581384475 500w, https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h18m06s897-1536x523.jpg?v=1581384475 1536w, https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h18m06s897.jpg?v=1581384475 1663w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>因為在FontForge 裡無法使用輸入法，所以請在其他文字編輯器裡copy 缺字，到 FontForge 裡 paste 貼上：</p>



<hr class="wp-block-separator has-css-opacity"/>



<p>透過繪圖軟體製作我們的字型圖片，大小設定 1024 x 1024 px：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="880" src="https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h18m33s978-1024x880.jpg?v=1581384539" alt="" class="wp-image-10403" srcset="https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h18m33s978-1024x880.jpg?v=1581384539 1024w, https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h18m33s978-500x430.jpg?v=1581384539 500w, https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h18m33s978.jpg?v=1581384539 1030w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<hr class="wp-block-separator has-css-opacity"/>



<p>把畫好的影像檔，透過 magick 指令轉成 svg 格式：</p>



<pre class="wp-block-preformatted">magick image.png image.svg</pre>



<p>附說：除了potrace 可以轉換為 svg 格式之外，還有很多程式也支援，但對曲線的判斷，potrace 效果好一點點。但 potrace 1.8 版會在直線中間多插入一個多的點，覺得占空間。</p>



<ul class="wp-block-list"><li>說明1：除了在 krita 裡匯出 png 格式，也可以使用 bmp 格式，最後都可以使用 magick 指令轉換成 SVG 格式。如果是匯出成 bmp 就不需要安裝 imagemagicK，只需要 potrace，執行範例：</li></ul>



<pre class="wp-block-preformatted">potrace -s inputfile.bmp</pre>



<p>上面的指令會把bmp 檔轉成 svg 檔案。</p>



<ul class="wp-block-list"><li>說明2：請連白色的背景一起放進匯出的PNG或BMP格式檔案裡，不然magick 匯出會失敗。</li></ul>



<hr class="wp-block-separator has-css-opacity"/>



<p>在 FontForge 裡 import svg ：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h19m49s150-1024x576.jpg?v=1581384670" alt="" class="wp-image-10404" srcset="https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h19m49s150-1024x576.jpg?v=1581384670 1024w, https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h19m49s150-500x281.jpg?v=1581384670 500w, https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h19m49s150-1536x864.jpg?v=1581384670 1536w, https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h19m49s150.jpg?v=1581384670 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>除了在繪圖軟體裡畫字，也可以透過 FontForge 的編輯界面來設計字型，但相對對畫筆的筆觸的控制就沒有那麼方便。</p>



<p>在 FontForget 裡編輯的好處是，有些新字路徑可以從其他已建立的字裡只複製部份，併裝組合成新字。</p>



<hr class="wp-block-separator has-css-opacity"/>



<p>最後在 &#8220;File&#8221; &#8211; &#8220;Generate Fonts&#8221;，就可以取得修改後的字型：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="807" src="https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h20m27s127-1024x807.jpg?v=1581384750" alt="" class="wp-image-10405" srcset="https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h20m27s127-1024x807.jpg?v=1581384750 1024w, https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h20m27s127-500x394.jpg?v=1581384750 500w, https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-09h20m27s127.jpg?v=1581384750 1027w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<hr class="wp-block-separator has-css-opacity"/>



<h2 class="wp-block-heading">如何在FontForge 裡組合出需要的缺字：</h2>



<p>如果我們要組合出「洩 」(6D29)。</p>



<p class="has-luminous-vivid-amber-background-color has-background"><strong>Step 1：</strong><br><strong>先分別使用Pointer(箭頭)的選取工具，選取出需要組合的字，例如：曳</strong></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="643" src="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-19.01.55.jpg" alt="" class="wp-image-10536" srcset="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-19.01.55.jpg?v=1582550441 1024w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-19.01.55-500x314.jpg?v=1582550441 500w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-19.01.55-200x125.jpg?v=1582550441 200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="has-luminous-vivid-amber-background-color has-background"><strong>Step 2：</strong><br><strong>找到組合字的另一邊，例如：「洪」的三點水，選取好後複制到其他缺字的格子裡，暫時借放，之後記得按Clear 把做一半的字清掉。</strong></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="556" src="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-19.15.35.jpg" alt="" class="wp-image-10537" srcset="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-19.15.35.jpg?v=1582550455 1024w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-19.15.35-500x271.jpg?v=1582550455 500w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="has-luminous-vivid-amber-background-color has-background"><strong>Step 3：</strong><br><strong>透過Transform (Command + \ ) 工具，可以進行X,Y軸的移動（Move）或縮放（Scale）。<br>（其他的做法是：使用其他的圖片編輯軟體來編修改，再存成SVG格式，最後在FontForge裡匯入）</strong></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="563" src="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-19.23.21.jpg" alt="" class="wp-image-10538" srcset="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-19.23.21.jpg?v=1582550470 1024w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-19.23.21-500x275.jpg?v=1582550470 500w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="has-luminous-vivid-amber-background-color has-background"><strong>Step 4：</strong><br><strong>把要被組合的字，複製並貼回我們的目的地，我們的字就完成了。</strong></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="561" src="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-19.23.58.jpg" alt="" class="wp-image-10539" srcset="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-19.23.58.jpg?v=1582550483 1024w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-24-at-19.23.58-500x274.jpg?v=1582550483 500w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>自己組合的字，有點不協調感，但總比缺字好看多了。要讓字的協調感較佳，可以試看看下面這篇文章的作法：</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>AI造字經驗分享<br><a href="https://max-everyday.com/2021/07/zi2zi-ai-font/">https://max-everyday.com/2021/07/zi2zi-ai-font/</a></p></blockquote>



<p>也可以把組合好的字的ttf 檔，再分享回來給原作者，如果原作者有空也許會調整一下，再發佈到新的版本裡。</p>



<p>要匯出某一個字，可以先進入編輯該字，再點「Export」，匯出的格式，建議使用 ttf 或 otf格式會比較少問題。</p>



<hr class="wp-block-separator has-css-opacity"/>



<h2 class="wp-block-heading">透過繪圖軟體 Krtia 補缺字</h2>



<p>以補 setofont （瀨戶字體）的缺字「鄉」(9109)為例：</p>



<p class="has-luminous-vivid-amber-background-color has-background"><strong>Step 1：</strong><br><strong>在FontForge 先把缺字需要的原料匯出。</strong></p>



<p>例如：匯出相似的2個字unicode 9115 和 unicode 90F7 ，匯出為SVG , bmp 或 png 格式可以。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="500" src="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-26-at-23.57.40.jpg" alt="" class="wp-image-10604" srcset="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-26-at-23.57.40.jpg?v=1582801531 1024w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-26-at-23.57.40-500x244.jpg?v=1582801531 500w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="has-luminous-vivid-amber-background-color has-background"><strong>Step 2：</strong><br><strong>在Krtia 分別開啟匯出的SVG檔，並把 9115 上方的點，複製起來，到90F7 貼上，並移動到想要的位置。</strong></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="827" height="1024" src="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-27-at-00.02.39-down-827x1024.jpg?v=1582793163" alt="" class="wp-image-10590" srcset="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-27-at-00.02.39-down-827x1024.jpg?v=1582793163 827w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-27-at-00.02.39-down-404x500.jpg?v=1582793163 404w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-27-at-00.02.39-down-1241x1536.jpg?v=1582793163 1241w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-27-at-00.02.39-down.jpg?v=1582793163 1290w" sizes="auto, (max-width: 827px) 100vw, 827px" /></figure>



<p class="has-luminous-vivid-amber-background-color has-background"><strong>Step 3：</strong><br><strong>影像處理完成後，匯出為bmp格式。</strong></p>



<p>附註：背景白色，請一起匯出。</p>



<p class="has-luminous-vivid-amber-background-color has-background"><strong>Step 4：</strong><br><strong>在指令模式裡，轉換BMP格式為SVG格式：</strong></p>



<p>使用 potrace 指令：</p>



<pre class="wp-block-preformatted">potrace -b svg -u 50 90F7.bmp -o 9109.svg</pre>



<p>附註：如果你的繪圖工具高級一點，也許可以直接匯出為 SVG 格式，如果不想安裝 potrace 也可以使用很多免費的網上網站，有提線上轉檔的服務。</p>



<p class="has-luminous-vivid-amber-background-color has-background"><strong>Step 5：</strong><br><strong>在FontForge裡匯入完成的 SVG：</strong></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="565" src="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-27-at-02.29.32-1024x565.jpg?v=1582793635" alt="" class="wp-image-10591" srcset="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-27-at-02.29.32-1024x565.jpg?v=1582793635 1024w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-27-at-02.29.32-500x276.jpg?v=1582793635 500w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-27-at-02.29.32.jpg?v=1582793635 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>如果沒有要調整字重，補缺字到這裡就可以結束了。如果希望生出來的新字，可以有其他的字重，需要再有一些微調。</p>



<p>FontForge 匯出的SVG 只有 1.3KB，但potrace 轉檔出來的預設是 3.9KB，長大了 3倍，potrace 預設 -u 是 10px ，在使用FontForge 的  Expand Stroke&#8230; 時，會造成像腫瘤般的奇怪小圈圈，如圖所示：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="476" src="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-27-at-16.05.38-1024x476.jpg?v=1582795756" alt="" class="wp-image-10592" srcset="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-27-at-16.05.38-1024x476.jpg?v=1582795756 1024w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-27-at-16.05.38-500x232.jpg?v=1582795756 500w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-27-at-16.05.38.jpg?v=1582795756 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>解法：是 potrace 指令，設定 quantize（量化）參數 -u 為 50px，這時候匯出的檔案會再略大一點，長大到 4.5KB，即可是解決在FontForge 裡 Expand Stroke 造成的筆畫的誤判。上面的範例已修改為 -u 50.</p>



<p>做到這裡，其實就沒有問題了，只是字型檔比較胖一點，如果你想讓新長出來的字型檔更完美一點，就看接下來優化的部份。</p>



<p>附註：如果你也是使用 potrace 1.8 版，上面的 -u 50 參數應該是不用加了，因為效果差不多。</p>



<p>匯入的SVG檔裡有很多的「點」，是因為點陣圖（BMP）轉換到到向量圖（SVG）時多出來的，請在 FontForge 裡使用左上角第一個選取工具（Pointer，熱鍵V）去點擊多餘的點，使用Merge(Command + M）進行點的合併。</p>



<p>有時候合併的結果會讓直線變成曲線，這時候請先使用還原（Command＋Z）功能，再使用 Merge to Line （Command + Shift + M）讓消失的點，變成一直線，或是放棄合併這一個點。</p>



<p>有時候會需要拉進（Zoom in）請使用熱鍵 Z ；拉遠（Zoom out）熱鍵 X 來調整。</p>



<p>重要：由於是囫圇吞棗，在完全不懂的情況下亂改字型檔，所以最後存檔（Save）前，請執行一次選單裡 Element 裡的 Correct Direction（Command + Shift + D）來修正方向錯誤。</p>



<p>為確定Expand Stroke 不會出錯，請用熱鍵 Command＋Shift＋E 先試看看無誤。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="970" src="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-27-at-17.20.41-1024x970.jpg?v=1582796372" alt="" class="wp-image-10593" srcset="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-27-at-17.20.41-1024x970.jpg?v=1582796372 1024w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-27-at-17.20.41-500x474.jpg?v=1582796372 500w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-27-at-17.20.41.jpg?v=1582796372 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>良裡有二個口，上面的口有經過 merge 功能來消除多餘的點，下面的口還未經處理，Merge 過簡化的字型，在檔案大小會略小一點，在Expand Stroke 時，可能比較不會誤判。</p>



<ul class="wp-block-list"><li>結論1：字體的開發，是非常的花時間！</li><li>結論2：幫字型檔補上差強人意的缺字還滿簡單的。</li><li>結論3：FontForge用一陣子後，發現還滿簡單的，補字不需要使到其他的影像編輯軟體。大多數的情況下，使用預設的選取工具（Pointer），就可以完成編輯和移動，如果情況需要縮放的話，使用 Transform(Command+\) 。</li></ul>



<hr class="wp-block-separator has-css-opacity"/>



<h2 class="wp-block-heading">附註：</h2>



<ul class="wp-block-list"><li>上面的例子，可以在Windows/macOS/Linux平台上使用。</li><li>非開源的字型檔，自行編修沒有辦法被得知，但公開發佈也許會有法律上的問題。</li><li>沒有任何一個字型編輯軟體能確保重新儲存的字型檔跟原始檔一模一樣。編修後的字型檔，很有可能會有kerning數值跑掉、直排字符異常或各種問題。</li></ul>



<p>針對 Warning 的處理：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="843" height="199" src="https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-21h49m51s983.jpg" alt="" class="wp-image-10424" srcset="https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-21h49m51s983.jpg?v=1581429771 843w, https://max-everyday.com/wp-content/uploads/2020/02/vlcsnap-2020-02-11-21h49m51s983-500x118.jpg?v=1581429771 500w" sizes="auto, (max-width: 843px) 100vw, 843px" /></figure>



<p>建議開啟ttf檔案後，請存成資料夾格式的FontForge&#8217;s SFD 格式，每個字都會變成獨立的檔案，可以透過其他文字編輯器去調整或置換掉glyph檔案。</p>



<hr class="wp-block-separator has-css-opacity"/>



<p>最後，強力推薦一個網站，對於補字的工作很有幫助：</p>



<p>中國哲學書電子化計劃 &#8211; 字典<br><a href="https://ctext.org/dictionary.pl?if=gb">https://ctext.org/dictionary.pl?if=gb</a></p>



<p>這個網站很神奇，比如我想補「唬」，想知道字的組成元件有「虎」的字有那些，可以在這個網站看到有「虓」，有些字型還真的有這一個字可以拿來組合。</p>



<p>也可以使用「漢文博士」<br><a href="https://www.cnblogs.com/hanbox/">https://www.cnblogs.com/hanbox/</a></p>



<p>査詢漢字的構字資料，快速尋找有沒有可以借用的字元。</p>



<hr class="wp-block-separator has-css-opacity"/>



<h2 class="wp-block-heading">相關文章：</h2>



<p>Python 字型相關工具<br><a href="https://stackoverflow.max-everyday.com/2020/02/python-font/">https://stackoverflow.max-everyday.com/2020/02/python-font/</a></p>



<p>Font­Tools 安裝與使用簡明指南<br><a href="https://stackoverflow.max-everyday.com/2020/02/fonttools/">https://stackoverflow.max-everyday.com/2020/02/fonttools/</a></p>



<p>幫字型加字重<br><a href="https://max-everyday.com/2020/02/change-weight-for-font/">https://max-everyday.com/2020/02/change-weight-for-font/</a></p>



<p>比較不同字形檔之間的缺字差異：<br><a href="https://max-everyday.com/2020/02/font-glyph-set-compare/">https://max-everyday.com/2020/02/font-glyph-set-compare/</a></p>



<p>FontForge 調整字型在 Windows 的安裝顯示名稱<br><a href="https://stackoverflow.max-everyday.com/2020/02/fontforge-chinese/">https://stackoverflow.max-everyday.com/2020/02/fontforge-chinese/</a></p>



<p>免費中文字體 NotoSans 思源黑體<br><a href="https://max-everyday.com/2018/03/noto-font/">https://max-everyday.com/2018/03/noto-font/</a></p>



<p>免費商用字體整理<br><a href="https://max-everyday.com/2020/02/free-commercial-fonts/">https://max-everyday.com/2020/02/free-commercial-fonts/</a></p>



<p>「粉圓字型 」<br><a href="https://blog.justfont.com/2020/02/huninn-preview/">https://blog.justfont.com/2020/02/huninn-preview/</a></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>真的是很漂亮的圓體，也有被「找腳」的是這一個圓體：「源泉圓體」：<br><a href="https://github.com/ButTaiwan/gensen-font">https://github.com/ButTaiwan/gensen-font</a><br>把印刷字的怪角給拔掉，好神奇，但也聽到很多「災情」，像是「關」這個字的中間下面的腳被誤判為多出來的角而被拔掉，也不是所有字重都有問題，反而是較重的字才有被拔的情況。</p></blockquote>



<hr class="wp-block-separator has-css-opacity"/>



<h2 class="wp-block-heading">相關影片：</h2>



<p>【央視走基層】中華美學無所不在 街訪國人同胞對「美」的忍受度｜眼球中央電視台<br><a href="https://www.youtube.com/watch?v=1jQnbXKF_jY">https://www.youtube.com/watch?v=1jQnbXKF_jY</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="【央視走基層】中華美學無所不在 街訪國人同胞對「美」的忍受度｜眼球中央電視台" width="885" height="498" src="https://www.youtube.com/embed/1jQnbXKF_jY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<p>可以看到 justfont 公司裡面的情況，及字型設計師如何去設計字型。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://max-everyday.com/2020/02/how-to-add-new-glyph-to-font/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>比較不同字形檔之間的缺字差異</title>
		<link>https://max-everyday.com/2020/02/font-glyph-set-compare/</link>
					<comments>https://max-everyday.com/2020/02/font-glyph-set-compare/#respond</comments>
		
		<dc:creator><![CDATA[Max]]></dc:creator>
		<pubDate>Mon, 10 Feb 2020 22:29:30 +0000</pubDate>
				<category><![CDATA[電腦相關應用]]></category>
		<category><![CDATA[macOS]]></category>
		<category><![CDATA[MaxCodeReview]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">https://max-everyday.com/?p=10375</guid>

					<description><![CDATA[看完這篇文章（或影片）你會學到： 增加電腦字形一點點知識 如何轉換ttf 為 ufo / ufo 轉為 ttf 如何比對2個字型檔的缺字情況 顯示文字對應到的unicod [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>看完這篇文章（或影片）你會學到：</p>



<ul class="wp-block-list"><li>增加電腦字形一點點知識</li><li>如何轉換ttf 為 ufo / ufo 轉為 ttf</li><li>如何比對2個字型檔的缺字情況</li><li>顯示文字對應到的unicode字碼</li></ul>



<p>MaxCodeReview：<br><a href="https://youtu.be/HSxRJ7_MyJQ">https://youtu.be/HSxRJ7_MyJQ</a></p>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio wp-embed-aspect-16-9"><div class="wp-block-embed__wrapper">
<div class="gutenbee-responsive-embed"><iframe loading="lazy" title="[MaxCodeReview] 比較不同字形檔之間的缺字差異" width="885" height="498" src="https://www.youtube.com/embed/HSxRJ7_MyJQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div>
</div></figure>



<hr class="wp-block-separator"/>



<p>Max發現有一個好心人（游清松），花了很多時間去寫手寫字，並把字變成字型檔開放免費下載，我在過年期間隨手幫他弄了一個網頁：<br><a href="https://jasonfonts.max-everyday.com/">https://jasonfonts.max-everyday.com/</a></p>



<p>原作者說，暫時他還沒有打算架網頁，如果未來有需要再找來請教我。</p>



<p>我發現有人在社團裡提出增字的要求：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="828" src="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-10-at-03.33.05.jpg" alt="" class="wp-image-10383" srcset="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-10-at-03.33.05.jpg?v=1581373172 1024w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-10-at-03.33.05-500x404.jpg?v=1581373172 500w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<hr class="wp-block-separator"/>



<p>Max 使用的Python程式碼轉換 ttf 為 ufo：</p>



<pre class="wp-block-preformatted"> import extractor
 import defcon
 ufo = defcon.Font()
 extractor.extractUFO("JasonFonts1.ttf", ufo)
 ufo.save("JasonFonts1.ufo", removeUnreferencedImages=True)
 ufo = defcon.Font()
 extractor.extractUFO("JasonFonts2.ttf", ufo)
 ufo.save("JasonFonts2.ufo", removeUnreferencedImages=True)
 ufo = defcon.Font()</pre>



<hr class="wp-block-separator"/>



<p>Max 使用的Python程式碼比對缺字，並輸出比較結果到文字檔：</p>



<pre class="wp-block-preformatted"> def output_to_file(myfile, myfont_set):
     for item in myfont_set:
         output_string = "%s(%s)" % (chr(item),str(hex(item))[2:])
         myfile.write(output_string)
 import defcon
 ufo_font1 = defcon.Font(path="JasonFonts1.ufo")
 set_font1 = set()
 for glyph in ufo_font1:
     set_font1.add(glyph.unicode)
 ufo_font2 = defcon.Font(path="JasonFonts2.ufo")
 set_font2 = set()
 for glyph in ufo_font2:
     set_font2.add(glyph.unicode)
 print("start to compare…")
 print("1 have 2 without")
 filename_output = "diff_1_sub_2.txt"
 outfile = open(filename_output, 'w')
 diff_1_sub_2 = set_font1 - set_font2
 sorted_set=sorted(diff_1_sub_2)
 output_to_file(outfile,sorted_set)
 outfile.close()</pre>



<hr class="wp-block-separator"/>



<p>最後貼上比較的結果：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="665" src="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-11-at-06.24.18.jpg" alt="" class="wp-image-10384" srcset="https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-11-at-06.24.18.jpg?v=1581373502 1024w, https://max-everyday.com/wp-content/uploads/2020/02/Screen-Shot-2020-02-11-at-06.24.18-500x325.jpg?v=1581373502 500w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<hr class="wp-block-separator"/>



<p>轉成 ufo 格式有點麻煩，Max 後來是直接使用 FontForge 的資料夾格式去進行缺字的比對，使用的程式碼如下：</p>



<pre class="wp-block-preformatted">from os import listdir, remove
from os.path import join, exists

import shutil

def output_to_file(myfile, myfont_set):
    for item in myfont_set:
        try:
            output_string = "%s(%s)" % (chr(item),str(hex(item))[2:])
        except Exception as exc:
            print("error item:%d" %(item))
            print("error item(hex):%s" %(str(hex(item))))
            raise
        myfile.write(output_string)

def load_unicode_from_file(filename_input):
    mycode = 0
    myfile = open(filename_input, 'r')
    left_part = 'Encoding: '
    left_part_length = len(left_part)
    for x_line in myfile:
        #print(x_line)
        if left_part == x_line[:left_part_length]:
            right_part = x_line[left_part_length:]
            if ' ' in right_part:
                mychar_array = right_part.split(' ')
                if len(mychar_array) &gt; 0:
                    mycode = int(mychar_array[0])
                    #print("bingo")
                    break
        
    myfile.close()
    return mycode

def load_files_to_set_dict(ff_folder):
    my_set = set()
    my_dict = {}

    files = listdir(ff_folder)

    for f in files:
        if '.glyph' in f:
            unicode_info = load_unicode_from_file(join(ff_folder,f))
            if unicode_info &gt; 0 and unicode_info &lt; 0x110000:
                #print('code:', unicode_info)
                my_set.add(unicode_info)
                my_dict[unicode_info] = f
                #break
    return my_set, my_dict

source_ff = 'JasonHandwriting1-Regular.sfdir'
target_ff = 'JasonHandwriting2-Regular.sfdir'

source_unicode_set, source_dict = load_files_to_set_dict(source_ff)
target_unicode_set, target_dict = load_files_to_set_dict(target_ff)

print("length source:", len(source_unicode_set))
print("length target:", len(target_unicode_set))
diff_set_more =  target_unicode_set - source_unicode_set
diff_set_lost =  source_unicode_set - target_unicode_set
diff_set_common =  source_unicode_set &amp; target_unicode_set
print("length more:", len(diff_set_more))
print("length lost:", len(diff_set_lost))
print("length common:", len(diff_set_common))

print("output compare result to file...")

filename_output = "diff_base_sub_%s.txt" % (target_ff)
outfile = open(filename_output, 'w')
sorted_set=sorted(diff_set_more)
output_to_file(outfile,sorted_set)
outfile.close()</pre>



<hr class="wp-block-separator"/>



<p>如果是想合併 2個字型檔，也可以服用下面的 code:</p>



<pre class="wp-block-preformatted"> conflic_count = 0
 copy_count = 0
 for item in diff_set_more:
     target_path = join(target_ff,target_dict[item])
     source_path = join(source_ff,target_dict[item])
     if exists(source_path):
         print("conflic:", source_path)
         conflic_count += 1
     else:
         shutil.copy(target_path, source_path)
         copy_count += 1</pre>



<hr class="wp-block-separator"/>



<p>如果是想刪除2個字型檔裡，共用的部分，只留下差異的文字，請服用下面的code：</p>



<pre class="wp-block-preformatted"> remove_count = 0
 for item in diff_set_common:
     target_path = join(target_ff,target_dict[item])
     remove(target_path)
     remove_count += 1</pre>



<p>與其使用 ufo 格式，不用直接使用 FontForge 的檔案，方便很多，也更容易產生成新的字型檔案，在編輯字型上也很方便。</p>



<p>要刪字或增字，只要直接去存取FontForge資料夾下的 .glyph 的檔案就完成了。</p>



<p>上面的Python程式碼，可以在Windows/macOS/Linux平台上使用。</p>



<hr class="wp-block-separator"/>



<p>如果是想比對特定文章裡的字串，在字型檔裡有沒有缺字，可以使用下面文章裡的程式：</p>



<p>常見的「台灣方言字」整理<br><a href="https://max-everyday.com/2020/03/taiwanese-common-word-700/">https://max-everyday.com/2020/03/taiwanese-common-word-700/</a></p>



<hr class="wp-block-separator"/>



<h2 class="wp-block-heading">附註（非商用）：</h2>



<ul class="wp-block-list"><li>「教育部 4808 個常用字」係指民國 71 年 9 月 1 日教育部公告的「常用國字標準字體表」所收錄之常用字。</li><li>教育部標準楷書字形檔(Version 4.00)，目前收錄國字數為 13,076 字。<br><a href="https://language.moe.gov.tw/001/Upload/Files/site_content/M0001/edukai-4.0.zip">https://language.moe.gov.tw/001/Upload/Files/site_content/M0001/edukai-4.0.zip</a></li><li>教育部隸書字形檔(Version 3.00)，目前收錄國字數為4,808字。<br><a href="https://language.moe.gov.tw/001/Upload/Files/site_content/M0001/MoeLI-3.0.zip">https://language.moe.gov.tw/001/Upload/Files/site_content/M0001/MoeLI-3.0.zip</a></li><li>教育部標準宋體字形檔 ：<br><a href="https://language.moe.gov.tw/001/Upload/Files/site_content/M0001/eduSong_Unicode.zip">https://language.moe.gov.tw/001/Upload/Files/site_content/M0001/eduSong_Unicode.zip</a></li></ul>



<hr class="wp-block-separator"/>



<h2 class="wp-block-heading">附註（可商用）：</h2>



<ul class="wp-block-list"><li>マメロン Regular<br><a href="https://moji-waku.com/mamelon/">https://moji-waku.com/mamelon/</a></li><li>花園明朝：<br><a href="http://osdn.jp/projects/hanazono-font/releases/">http://osdn.jp/projects/hanazono-font/releases/</a><br>日本花園明朝體(HanaMin)是一款非常漂亮的藝術字體，包含近十萬字，所以不必擔心缺字，有分割成HanaMinA、HanaMinB兩個字體檔，安裝A就好了，在macOS 裡 HanaMinB 會有問題，會跳回去PingFang 並變粗體字。</li><li>王漢宗自由字型：(193MB)<br><a href="https://drive.google.com/file/d/1eM7bpKCdcZc1i7QGIhXiUquS2TFCbXUf/view">https://drive.google.com/file/d/1eM7bpKCdcZc1i7QGIhXiUquS2TFCbXUf/view</a></li><li>M+ FONTS PROJECT<br><a href="http://mplus-fonts.osdn.jp/about.html">http://mplus-fonts.osdn.jp/about.html</a></li><li>Fandol字体（4款）仿宋 黑体 楷体 宋体<br><a href="https://ctan.org/pkg/fandol">https://ctan.org/pkg/fandol</a><br>Fandol系列字体来自一家已经破产的字体公司，现在已经开源了。</li><li>瀨戶字體<br><a href="https://zh-tw.osdn.net/projects/setofont/">https://zh-tw.osdn.net/projects/setofont/</a><br>瀨戶字體是一個由日本人開發的線上免費字體，支援繁體中文、簡體中文、日文、英文和其他特殊符號，總共支援3萬多個漢字。</li><li>楊任東竹石體<br><a href="http://www.fonts.net.cn/author-6289251609-1.html">http://www.fonts.net.cn/author-6289251609-1.html</a><br>上面的這個版本，字型檔案好像有點問題，有些字會出錯。改下載這個版本即可解決：<br><a href="https://m.fontke.com/font/28225026/">https://m.fontke.com/font/28225026/</a><br>出錯的原因是在版本號，第一個連結是 1.2 版，後面的是 1.5版，1.5版才有支援繁體字，可是 1.5 版的字重被調重了，相當於1.2版的 Medium。<br><br>“杨任东字体”微信公众号<br><a href="https://www.weibo.com/p/1005053026020863/info?mod=pedit_more">https://www.weibo.com/p/1005053026020863/info?mod=pedit_more</a><br>好年輕的人哦，生日：1993年12月30日。</li><li>TanukiMagic 麥克筆手繪 POP 日文字型：<br><a href="http://tanukifont.com/tanuki-permanent-marker/">http://tanukifont.com/tanuki-permanent-marker/</a></li><li>日系851原子筆手寫風格字型，可商用免費下載<br><a href="https://pm85122.onamae.jp/851fontpage.html">https://pm85122.onamae.jp/851fontpage.html</a></li></ul>



<hr class="wp-block-separator"/>



<h2 class="wp-block-heading">相關文章：</h2>



<p>Python 字型相關工具<br><a href="https://stackoverflow.max-everyday.com/2020/02/python-font/">https://stackoverflow.max-everyday.com/2020/02/python-font/</a></p>



<p>Font­Tools 安裝與使用簡明指南<br><a href="https://stackoverflow.max-everyday.com/2020/02/fonttools/">https://stackoverflow.max-everyday.com/2020/02/fonttools/</a></p>



<p>FontForge<br><a href="https://github.com/fontforge/fontforge/releases">https://github.com/fontforge/fontforge/releases</a></p>



<p>Awesome Typography<br><a href="https://github.com/Jolg42/awesome-typography">https://github.com/Jolg42/awesome-typography</a></p>



<p>免費中文字體 NotoSans 思源黑體<br><a href="https://max-everyday.com/2018/03/noto-font/">https://max-everyday.com/2018/03/noto-font/</a></p>



<p>free and carefree: 可以免費商用的中文或漢字字型<br><a href="https://tips.justfont.com/post/113397509827/freeandcarefreefonts">https://tips.justfont.com/post/113397509827/freeandcarefreefonts</a></p>



<p>免費商用字體整理<br><a href="https://max-everyday.com/2020/02/free-commercial-fonts/">https://max-everyday.com/2020/02/free-commercial-fonts/</a></p>



<p>FontForge 調整字型在 Windows 的安裝顯示名稱<br><a href="https://stackoverflow.max-everyday.com/2020/02/fontforge-chinese/">https://stackoverflow.max-everyday.com/2020/02/fontforge-chinese/</a></p>



<p>內海字體 (NaikaiFont)<br><a href="https://max-everyday.com/2020/03/naikaifont/">https://max-everyday.com/2020/03/naikaifont/</a></p>



<p>幫字型檔補缺字<br><a href="https://max-everyday.com/2020/02/how-to-add-new-glyph-to-font/">https://max-everyday.com/2020/02/how-to-add-new-glyph-to-font/</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://max-everyday.com/2020/02/font-glyph-set-compare/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
