getting quartz fonts & Java 6 sound effects
Alexander Zuev
alexander.zuev at oracle.com
Wed Oct 10 09:21:03 PDT 2012
Jeff,
On 10/9/12 20:33, Jeff Palmer wrote:
> Alexander,
> Thanks. On the chance that something might be done to MIDI or
> instruments, would this also be noticed in other operating systems?
> I always thought the Windows instruments did not sound as good as
> Apples, but thought it could be attributed to different OS or specific
> hardware. With these 2 on the same machine & OS, it is a definite
> apples to apples comparison.
I did consulted with our media specialist, here's his resume: the
problem is that in java 7 we have changed the MIDI synthesizer.
The old one worked with the proprietary instrument bank format. The new
synthesizer works with any DLS or SF2 sound bank formats but the bank
that comes with it by default is a generated one and is simpler than the
one came with java 6. However you may use any existing sound bank - just
put it into the {jre.home}/lib/audio folder and java will recognize it
on the next start and will
use it instead of the generated one. As i said any SF2 or DLS bank will
work on any operating system.
> As far as fonts go, most apps will be hard pressed to notice the
> difference. I am doing some very custom things which exaggerates the
> difference. The sub pixel rendering off comment gave me a few idea,
> thanks. Do not think text rendering hints are going to work with
> controls like JLabel, though. Wouldn't you have to :
>
> * wrapper it
> * override paintComponent()
> * cast to Graphics2D, and change text rendering hints
> * call super.paintComponent()
>
I'm afraid that's the only approach as of now - currently there is no
way in jdk7 to change font rendering hints for the
components hierarchy.
With best regards,
Alexander Zuev
>
> On Oct 9, 2012, at 7:42 AM, Alexander Zuev wrote:
>
>> Paul,
>>
>> On 10/9/12 14:04, Paul Taylor wrote:
>>> On 09/10/2012 10:43, Alexander Zuev wrote:
>>>> Jeff,
>>>>
>>>> unfortunately we don't support quartz for the on-screen rendering
>>>> in Java 7 so UseQuartz=true does not
>>>> do any difference. As for the sound - using the JavaSoundDemo from
>>>> the Apple Developer Extras i
>>>> definitely noticed a difference in the sound of the Synth Strings 2
>>>> instrument - Apple version has much
>>>> more complexity. I will raise that concern with our media expert.
>>>>
>>>> With best regards,
>>>> Alexander Zuev
>>>>
>>> Is the lack of Quatrz support a temporary decision or permanent,
>>> could you give us the reasoning behind this ?
>> I'm afraid it's permanent. The reason is the different architecture
>> of the AWT components in Java 6 and Java 7. On Java 6
>> AWT components were backed by the native controls who had options to
>> be rendered differently whereas on Java 7
>> they are backed by software rendered controls (basically Swing
>> components with Aqua LaF) and turning the UseQuartz
>> option on and off does not change rendering process.
>>
>> BTW, as far as i can see the main difference between quartz and cocoa
>> renderings are that in quartz mode fonts are rendered with LCD
>> subpixel rendering off. The similar results might be achieved by
>> changing text rendering hints in Java 7 - see included with Java 7
>> demo Font2DTest for the different hints and the results they take on
>> the the rendering of various fonts.
>>
>> With best regards,
>> Alexander Zuev
>>>
>>> Paul
>>>> On 10/9/12 24:44, Jeff Palmer wrote:
>>>>> I might be getting a little picky, but has anyone reported that
>>>>> fonts and sounds are inferior to Java 6? Using JWS, I specify
>>>>> apple.awt.graphics.UseQuartz=true for 1.6. I am using the default
>>>>> font:
>>>>>
>>>>> com.apple.laf.AquaFonts$DerivedUIResourceFont[family=Lucida
>>>>> Grande,name=Lucida Grande,style=plain,size=13]
>>>>>
>>>>> I guess I could pull out the UseQuartz and make them look the
>>>>> same, but thought I should at least send this note.
>>>>>
>>>>> Sound wise, I put in some sound effects to correspond to some
>>>>> events. The Java 6 versions are just so much better, especially
>>>>> for the SYNTH_STRINGS_2 instrument, index 51.
>>>>>
>>>>> This is not going to stop implementation, but I was just wondering.
>>>>>
>>>>> Jeff Palmer
>>>>>
>>>>
>>>>
>>>
>>
>
More information about the macosx-port-dev
mailing list