Buckler's (shield) -1 attack penalty is applied to all bonuses, not just to ones using two hands
"You can also use your shield arm to wield a weapon (whether you are using an off-hand weapon or using your off hand to help wield a two-handed weapon), but you take a 1 penalty on attack rolls while doing so.You can also use your shield arm to wield a weapon (whether you are using an off-hand weapon or using your off hand to help wield a two-handed weapon), but you take a -1 penalty on attack rolls while doing so." (http://www.d20pfsrd.com/equipment--final/armor/buckler)
This implies that the penalty should only apply to 1H-O, 2H and all of the 2W-(various) options, not to 1H-P; currently the penalty is applied to all To-Hit fields.
Completed: At revision: 25440
Bypassing altering the statblock. Buckler now does not have any penalty, instead it states what it does. "You take a -1 penalty on attack rolls while using your shield arm to wield a weapon."
In 6.0.3, the problem is almost fixed.
If the weapon is equipped in one hand, the −1 is not taken into account, but if 2handed, it is.
But in the Player’s Sheet (in the software or exported), the numbers only take into account the malus according to how the weapon is handled, and not what it should be (in the 1H, 2H below the weapon).
For a test of this, I created a 1st level Fighter with a buckler and a bastard sword. When using the sword in one hand, he should have a +7 to hit and a +6 to hit when using it with both hands. It is not correctly indicated in the player sheet tab (with Standard.htm) or when exporting.
This can go two ways - OS with Data Work, or Code. Code is probably the safer route as the OS is more convoluted.
That was why I dropped it into Code as minor - I suspected that it was very much a special case, and I'm not familiar enough with the data files to know whether it could be added there as a tag for what was affected.
Wups, sorry, I guess I only thought I'd put it into code. Perhaps I was thinking that someone more knowledgeable would move it as appropriate.
The code assumes the equipped items are the standard and penalizes accordingly. We don't have a method to isolate the tag used.