From mboxrd@z Thu Jan 1 00:00:00 1970 From: erik quanstrom Date: Wed, 4 Mar 2009 16:32:36 -0500 To: 9fans@9fans.net Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-yhqdyabmikrizjydvxsbmtwzxt" Subject: Re: [9fans] Porter-Duff alpha blending Topicbox-Message-UUID: b1f78094-ead4-11e9-9d60-3106f5b1d025 This is a multi-part message in MIME format. --upas-yhqdyabmikrizjydvxsbmtwzxt Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit it looks fine on a native plan 9 386 terminal. - erik --upas-yhqdyabmikrizjydvxsbmtwzxt Content-Type: image/png Content-Disposition: attachment; filename="α.png" Content-Transfer-Encoding: base64 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 Ix2N9jQAAAAASUVORK5CYII= --upas-yhqdyabmikrizjydvxsbmtwzxt--